chat

Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots

GPL-3.0 License

Downloads
1.4K
Stars
12K
Committers
61

Bot releases are hidden (Show)

chat - REST auth, deleting users, gRPC SSL (large release)

Published by or-else almost 6 years ago

The main changes are REST auth, an ability to delete/disable users, support for SSL in gRPC endpoints.

Server

7d60b09 3167baf 6851f42 dd621b0 705ea9e 3ce3a4a doc updates
65a6b72 permit shorter logins in docker
8f90ff9 update default value for --env SMTP_DOMAINS
1b35bfe fix for #198
f7ff560 always report fnd.subs.private for {get subs}
a659235 update authentication section
2862658 better error reporting of invalid search query
6e87c0d make login/password limits configurable; update tags on auth update
52e87f4 correctly update tag on credential validation
7cfcac6 refactoring tags processing
0249cf9 initialize authenticators under logical names, if so configured
7c57f8a bug fix: don't overwrite tags
406b7a4 allow the same auth under different logical names
a5441af correctly inform online sharers on topic membership changes
ae26f44 clarify config options
5613cb3 allow for namespace restrictions even if the validator is disabled
635e944 check if validator is enabled and restictive before restricting the tag namespace
3218b50 don't deserialize empty proto objects, report NotModified on empty {set what=sub}
4e66a31 correct parsing of tags
5692c3e clarify gRPC ssl-host option
7f60abc certs are already installed in python:slim
d0e0564 SSL fixes to optionally bypass SNI
78b25f8 add ssl option to python clients, update chatbot docker for ssl, #197
fdd0126 further separation of TLS config parsing and use, #197
ad7c225 a bit of refactoring around TLS configuration due to #197
f3c895d use "private" value from {sub} if one is provided
5eb8802 update comments and docs with respect to setting "private"
6edc594 convert spaces to tabs
81bfe8a (github/docker) docker: correctly handle client firebase init with external config
10bcb4e add docker option to use an external config file
70705d9 python grpc: require specific version of dependency
247ffee add question "How to create a root user?"
9acbb2b prevent topic owner from banning himself
108033f don't return public for p2p subscriptions
c2d3788 add support for email domain whitelisting
7b7dbce link to rest-auth from API.md
ec64e03 rest authenticator works now
249c28b merge with devel
1bb9e68 another query corrected
b3792fe fix for an incorrect field name
1701d32 notify p2p peers of user deletion
cb90de3 send notifications to other subscribers of deleted topics
4b0b566 send notifications when deleting topics
ff1f9c2 merge devel
f267ee6 mention used fields of vCard
8191868 make types.Topic.Owner a string
426b694 assign topic owner at creation time
f357c62 sync schema description with the actual schema
3cdd0ce add sample data
747be23 more comments
bf8238e lint warnings
4162473 rest auth server is functional
c3a9353 json rpc vs rest, more config options
f75d97f rename service and update readme
0829c65 mention Flask dependency
bcdba9f add python service
d8f4585 more README editing
0192565 more README editing
d0ae551 xpanded README
181a740 add README for reast auth
b1d8452 first pass at REST authenticator
d1ce55e cluster: check for network partition
7167f05 don't wipe deleted user's messages
7f18f88 a few more corrections with respect to deleting users
c13bb5e update API.md for the new {del} functionality
8e9aca7 wipe content of the messages instead of deleting
d90b15f rethinkdb seems to be working too
ec7916c deleting a user with mysql seems to work without issues
65c7593 both hard- and soft-deleting does not throw errors anymore
0399c17 fix delTopic parsing
7b16a81 more bug fixes in deleting users

Tindroid

See release notes: https://github.com/tinode/tindroid/releases/tag/v0.15.11

Tinode Web

See release notes: https://github.com/tinode/webapp/releases/tag/v0.15.11

JS SDK

See release notes: https://github.com/tinode/tinode-js/releases/tag/v0.15.11

chat - Bug fix release

Published by or-else almost 6 years ago

Server

8798dd1 fix for missing tags conversion in grpc
9e9bdb1 b096d09 fix for incorrect handling of python dict in tn-cli
84e3874 6f4e8c0 allow disabling Android notifications in FCM push messages (#192 from @tiagoalves)
f5d59ad fix for #189 (mistake in doc)
575037f add network probe handling #186
ad20795 print message headers in tn-cli
8d37418 fix for #187

Javascript SDK

tinode/tinode-js@ede6f57 expose onAutoreconnectIteration callback through Tinode object
tinode/tinode-js@a06d33e expose reconnect through Tinode class
tinode/tinode-js@8c0fd1e changes for tinode/tinode-js#19
tinode/tinode-js@1fb3b2e slightly better handling of failed messages
tinode/tinode-js@02384dc add onNetworkProbe callback
tinode/tinode-js@3751d34 tinode/tinode-js@8f98445 add facility to send and receive network probes

Tinode Web

tinode/webapp@00eeb25 css fix
tinode/webapp@4f70de3 make topic title required
tinode/webapp@21841c0 add missing import
tinode/webapp@d1f7f02 correctly display messages from missing users
tinode/webapp@fbbab3e fixes in settings view and message deletion
tinode/webapp@198bd9a tinode/webapp@7248b5c keep message view in the same scroll position on vertical resize

Tindroid

tinode/tindroid@49f126b fix for #25
tinode/tindroid@e25e8e5 bug fix: mode repeated instead of given
tinode/tindroid@7c4f618 correctly display messages from deleted users
tinode/tindroid@1b91d1e add networkProbe() and expand javadoc

chat - I18n and bot forms

Published by or-else almost 6 years ago

Server

Messages can now contain interactive forms:

Other changes:

49e53d3 reject empty auth scheme name
95a20a9 add utf8mb4 to mysql dsn
b663b9e add explicit platform id
d36163a 5fdf521 allow hiding authenticators
e79b1c2 Fix for a crash in pbconverter.go by @nimanozari
b57d44c 321eb9f 80995e9 add an option for Cache-Control header for static content
f3f99b9 fix invalid https redirect

TinodeWeb

Form support added. The app is split into components. Components are internationalized by react-init. Russian translation is provided. Build switched from browserify to webpack.

Also:
tinode/webapp@e7f3b42 add <noscript> message
tinode/webapp@0198f44 service worker fetch event for Add To Home Screen
tinode/webapp@e8dba6b tinode/webapp@c76a7dc externalized dependencies
tinode/webapp@5958dec move config params into a separate file
tinode/webapp@2e02f8a allow editing of user's default permissions
tinode/webapp@00e48b7 add "update is available" check

Tindroid

Drafty formatting refactored to be more like JS SDK version. Form support added. TinodeWeb and Tindroid are internationalized. Russian translation is included.

Other changes:
tinode/tindroid@47fb540 Russian translation added
tinode/tindroid@7dcd238 tinode/tindroid@e3c85c3 attempts to fix tinode/tindroid#18
tinode/tindroid@8580ff1 fix for incorrect redirect in uploads

chat - Bug fix release

Published by or-else almost 6 years ago

Server

0310c63 better error logging in session
b424b76 cleanup of remaining bugs due to on-behalf-of feature

Webapp

tinode/webapp@2e02f8a cosmetic changes, allow editing of user's default permissions
tinode/webapp@49c0fbf fix broken download link

Tinode SDK

tinode/tinode-js@fa26b0d reject pending promises on disconnect

Tindroid

tinode/tindroid@9bda675 fix crash on null private, logout when user is not found
tinode/tindroid@12dc071 handle the case of negative image size
tinode/tindroid@d7d7317 restore subscription to "me" on reconnect
tinode/tindroid@47fb540 tinode/tindroid@2ff1ed4 russian translation added
tinode/tindroid@e3c85c3 tinode/tindroid@7dcd238 update grame and fb messaging, move repos as suggested in tinode/tindroid#18

chat - Root user can send messages on behalf of other users.

Published by or-else about 6 years ago

Main Changes

  • Root user can send messages on behalf of other users.
  • Multiple improvements in push notification.
  • Try re-sending unsent messages after a reconnect.

Other changes

Server

e6fe492 b5e3d28 name logical:actual mapping for authenticators
32734c3 start reporting default access in fnd results
33ab495 FCM fixes to make it work with web
a617034 8e9d192 1ea4a3d e805ce1 823b5ca changes to init-db
3edab2c use grpc.Stop instead of grpc.GracefulStop (otherwise shutdown gets stuck forever when chatbot is connected)
46052f9 9512c58 remove inconsistency between keygen and tinode.conf

Webapp

  • Retry sending messages after a reconnect.
  • Password can be reset now.
  • Convert .prod.js to ES2015.
    tinode/webapp@dba9500 tinode/webapp@62cac29 tinode/webapp@76620cc logout fixes
    tinode/webapp@e43e3ff ensure correct sorting of contacts even in presence of undefined values
    tinode/webapp@b2ffb62 tinode/webapp@57ca428 push notification improvements

Tinode SDK

  • Node compatibility from @fstn
  • Support for message re-sending after a reconnect.
  • Support for resetting the password.
    tinode/tinode-js@ae7f86b wrap sendText error in a Promise, if one is available
    tinode/tinode-js@441a89a fix url regex: exclude emails, exclude terminating punctuation

Tindroid

  • Password reset screens added.
chat - S3 support, c# chatbot, webpush notifications

Published by or-else about 6 years ago

Server:

7021cc2 typo in Docker config template: credentialS_file
c7805de change the order of grpc shutdown
a486d39 fixes for tinode/webapp#20 and tinode/webapp#19
4551e30 updating docker config for fcm
f274cf3 make "," query return an error
9901c80 add async io to tn-cli
106de83 c72d1d9 push notifications updated
3e49f9a add back common README.md file
21f75bd making space for chatbots in other languages
7bf2a12 Merge branch 'master' of https://github.com/BenDerPan/chat into BenDerPan-master
473e66a FCM updated, basics work
01d56da add drafty processor
86c6759 switching fcm push to the official package
0290a16 accept {hi} with blank version
a82c249 log the name of the media handler
16fefb7 update build script for the new js project structure and mention devel version in readme
ea3a167 move reporting tmpname from {meta} to {ctrl}
6f27c5c fixing database generator #151
d71a0c0 correctly swap p2p public values
0251f0a s3 works now
dc043fe change how redirects work
a015dae remove unnecessary error reporting in pbx, check login for all packets
19fc9d1 Merge branch 'fea_cloud_aws' of https://github.com/vardef/chat into vardef-fea_cloud_aws
a395246 start returning touchedAt
c8b5ba9 bug fix: missing "public" in p2p.getDesc
9572cb4 refactor query parser

Webapp:

tinode/webapp@3064c0e tinode/webapp@242b30c tinode/webapp@c567a26 tinode/webapp@72aef53 tinode/webapp@c14a204 tinode/webapp@b9bdeea webpush notifications
tinode/webapp@6ac0ad6 add missing service worker to package
tinode/webapp@1539319 ignore click for the current topic in found contacts
tinode/webapp@c56c91a simplify SearchContacts component
tinode/webapp@2fc6beb incorrect type of "private" in new topics
tinode/webapp@bffa6eb add missing react-dom requirement
tinode/webapp@1e268b3 replace buggy tinify with uglify-es
tinode/webapp@7228053 remove demo login and password hints from the login screen
tinode/webapp@3c20bcf fixes for various UI bugs
tinode/webapp@03db847 last fix for the attachments, bump version
tinode/webapp@c768755 fix for tinode/webapp#17
tinode/webapp@ef3d799 merge chat list and found contacts
tinode/webapp@18c7a82 GroupManager methods fix tinode/webapp#18 from maksfreetimer/patch-1
tinode/webapp@7d01356 moving contact management to
tinode/webapp@b282f78 replacing global Tinode object with TindeWeb's state object

Android:

tinode/tindroid@c298151 better handling of dropped connection
tinode/tindroid@08f6493 use NotificationChannel
tinode/tindroid@8e08ed5 6d26946 updating push notifications
tinode/tindroid@7faecae add topic.allMessagesReceived

chat - Bug fixes, notification sound on new messages

Published by or-else about 6 years ago

dea0f0e update tn-cli.py
defedba install root certificates in docker for secure SMTP and fix error printing
8975e60 make sure the provided email is plain user@domain
d545074 add logging to validator
443b415 explicitly support RFC 5322 email format for verification sender
4ddcada b96d58b parametrize SMTP & TLS in docker
69d1160 possible fix for tinode/webapp#15
1f3912b fix for python 3.5.2
f900add better version checking, race in grpc, redundant "on" pres update
8779312 protobufs seem to be missing
ac62c25 f5d5a77 c1cdd11 packaging of python grpc seems to work now
f8c0335 trying to create a package from grpc files
e9a9572 when credential validation fails, report 300 info instead of 40x error
d6b27e7 add 2 seconds deadline for http server to terminate
3359802 change base image for chatbot (200mb instead of 700mb)
356edae Content-Type of error responses changed to application/json
68a3f5c resolve paths against path to executable instead of cwd
0736f7f fix error checking when file is not found
045b1aa annotate a race condition in long polling
9b0ca94 fix If-Modified-Since handling (resulting in file download) instead of webpage
6ac9752 crash on exit in garbage collector, finish subscription sooner
66db783 make online status consistenly off for partially deleted p2p topics
f62c741 simplify detection of pre-release builds
d69217b make online status a bit more predictable
dcb2d27 add missing support for {get what=tags}
c9362ec further refactoring of deleting-restoring p2p subscriptions
b9b7802 reworked p2p notifications as a part of fix for /issues/134

chat - WebApp Performance Improvements

Published by or-else about 6 years ago

The app feels snappier: messages appear immediately after pressing the send button. Particularly noticeable for large inline images. Multiple simultaneous uploads and downloads are now supported.
The app is babel-compiled and minified for production, packaged for NPM: https://www.npmjs.com/package/tinode-webapp

Other fixes and improvements in the server:
3dc31ec abb0107 fix for a crash in presence
25e01b2 more consistent logging in uploads/downloads

WebApp:
3975401 fix canonical url and application-url
45acee4 fix for a broken "send" button
fix for visual breakage (https://github.com/minimaxir/big-list-of-naughty-strings)

chat - Bug fixes and performance improvements

Published by or-else about 6 years ago

ffd03d7 b8610b5 updated logging
cb39818 bf5958a fixes for memory leaks
8500fb6 3560969 7b7ee6e a34f11f tsung load test added
d8872a1 don't panic on unknown message
c517b3b a benign race condition annotated
67d0380 guard session subscriptions map with a mutex (fix for #123)
137d3e8 fix for a potential crash in downloads
7bc4191 correct handling of ipv6 redirects
41596ae move expvar behind a flag, add pprof
885c0bd f67509d ff5866f b0125fa a60b861 documentation updates
bc4f44f 7e0b580 fixes for lint warnings from gocritic and stock lint
5830d64 corrected link in email template
875939b updated rethinkdb driver parameters

Webclient: updated to ReactJS 16.4
tinode/example-react-js@2f8e5c4

chat - Large files support

Published by or-else over 6 years ago

Support for uploading and downloading large object (files) out of band.

Also:

  • Allow serving static content from web root /
  • Chat bot fix: ensure correct conversion of strings in protobufs
  • Bug fixes in mysql adapter
chat - Minor changes

Published by or-else over 6 years ago

  • Option to configure MySQL DSN
  • Bug fix: don't send key press notifications from one user's session to the other sessions of the same user.
chat - Improved search

Published by or-else over 6 years ago

Main changes

  • Refactored searching for users and topics:
    • Two types of queries: transient fnd.public and long lived: fnd.private. Transient queries are not saved on the server and not shared between user's devices/clients. Long lived queries are persisted at the server and shared between devices.
    • Queries are strings now (as opposed as string arrays before). A formal query language is introduced.
    • An option added for designating some tags as restricted. It's needed for managing organizations within a server.
  • Structured private field in topics and users. The private used to contain a string. Now it holds an object with private.comment holding what was the content of private.
  • touched field is added to report last message time stamp. It's needed for sorting topics by the time of last activity.
  • Graphic assets updated with the new logo
  • Bug fixes
chat - Hash navigation and auto-login

Published by or-else over 6 years ago

  • Hash navigation, i.e. http://localhost:6060/x/#contacts/usrDCizWvmZb3c.
  • Automatic login by token. Token is saved in window.localStorage.
  • Support for MyISAM MySQL engine.
    • Shortened some indexed MySQL fields.
    • Enforced maximum length of tags (96 chars) and login (32 chars).
  • TouchedAt: last message timestamp reported in subscriptions.
  • Bug fixes
chat - Reworked Docker and release process

Published by or-else over 6 years ago

Mostly focused on simplifying Docker builds, creating binary distros and fixing release-related bugs.

chat - Bug fix release

Published by or-else over 6 years ago

Lots and lots of bug fixes

chat - MySQL option added

Published by or-else over 6 years ago

MySQL adapter added.

chat - Updated [delete] handling.

Published by or-else almost 7 years ago

Change in protocol version due to changes in handling message deletion.

chat - Chatbots

Published by or-else almost 7 years ago

This is 0.13 with gRPC client API and support for chatbots.