Releases: tinode/chat
Root user can send messages on behalf of other users.
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.
S3 support, c# chatbot, webpush notifications
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
Bug fixes, notification sound on new messages
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
WebApp Performance Improvements
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)
Bug fixes and performance improvements
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/webapp@2f8e5c4
Large files support
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
Minor changes
- 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.
Improved search
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.
- Two types of queries: transient
- Structured
private
field in topics and users. Theprivate
used to contain a string. Now it holds an object withprivate.comment
holding what was the content ofprivate
. 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
Hash navigation and auto-login
- 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
Reworked Docker and release process
Mostly focused on simplifying Docker builds, creating binary distros and fixing release-related bugs.