- Finally added documentation for the sockets transport worker extra config vars
- Single delta notifications with payload size greater than the gcm/apn limit will be stored on Amazon S3 and a link will be provided instead
- Android transport worker sends notifications in bulk when the payload is the same
- Replaced node-gcm-service with node-gcm
- Transport manager will group notifications by subscription now for improved performance
- Invalid devices should be removed now thanks to handling of the GCM response + the new APN HTTP/2 protocol response from Apple
- Using the Configuration Manager implemented in telepat lib
- BUGFIX: corrected logs file location using npm start
- BUGFIX: npm start
--max-old-space-size
node argument fixed - BUGFIX: fix sockets worker crash when token is missing
- BUGFIX: notifications with empty arrays should not be sent
- Fix user updates
- Implemented npm start/stop/restart commands
- Author validation checks in aggregation worker
- GCM api key is now retrieved from the application object
- Added support for SystemMessages
- Added support for SSL on sockets client transport worker
- Bugfix: missing subscriptions array on notification payload
- Big performance tweaks, the whole workers had been reworked
- update_friends worker removed
- New worker: transport_manager which is in charge of dispatching notifications to the right transport worker
- Write worker no longer takes all deltas, but instead initially fetches 1 delta then it doubles this limit everytime there are left in the redis Key
- Android and IOS transport workers now send messages in smaller chunks in order to avoid going over the payload limit
- iOS transport worker now fetches the certificates from the database
- iOS transport now supports sending classic push notifications when a certain app model has been created
- Sockets transport worker now only has 1 event: bind_device where the client must send a message in order to activate its subscriptions
- Device token for volatile transports are now being removed when the client disconnects and re-added after reconnecting
- Renamed some fields on the sockets transport:
- deviceId to device_id
- bind_device event on sockets transport is used to activate the device. After disconnecting the devices is deactivated.
- Socket workers now have their own queue
- Write workers send notifications to the socket worker which has the affected device client, instead of broadcasting
- Fixed a bug were items were created multiple times under high concurency
- Bugfix:
processMessage
Fixed write worker hang on end of main async function
- Fixed bug which caused the writer to not create items
- Fixed bug where writer would hang on context create/update operations
- Operations that have the instant flag in the delta will not be persisted to database
- Fixed bugs
- Notifications are sent to all application devices when contexts are created/updated/removed
- Sockets transport listens to an event from the client to bind its device to the socket ID.
- Workers use TelepatLogger instead of console.log
- All applications are loaded on boot up
- Socket transport should now all receive 1 message from the writer (broadcast)
- Fixed update_friends worker
- Refactored messaging client: moved it to telepat-models
- Fixed A LOT of bugs
- Integrated the new ElasticSearch db adapter
- Better error handling when env variables are missing and/or config file is missing
- Various bug and crash fixes
- Added context id to operations on application models
- Update patches are received one by one (no longer an array of patches)
- Created objects are returned in the "new" deltas message (with full properties)
- Added this CHANGELOG
- Added dockerfile
- Major reworking and refactoring of the code:
- Each type of worker has it's own class
- Each type inherits a base worker
- Easy to extend with new types of workers and new transport clients
- Can use a different messaging framework as long as it's implemented
- Sockets transport client can be configured to use a different listening port (default 80)
- Added LICENSE and README files
- Environment variables for redis database config
- Fixed bugs
- Each update uses timestamp to preserve the order in which the updates appear to be sent
- Fixed sockets transport client
- Initial pre-alpha release