
- Complete NestJS TypeScript implementation with WebSocket support - Direct messaging (DM) and group chat functionality - End-to-end encryption with AES encryption and key pairs - Media file support (images, videos, audio, documents) up to 100MB - Push notifications with Firebase Cloud Messaging integration - Mention alerts and real-time typing indicators - User authentication with JWT and Passport - SQLite database with TypeORM entities and relationships - Comprehensive API documentation with Swagger/OpenAPI - File upload handling with secure access control - Online/offline status tracking and presence management - Message editing, deletion, and reply functionality - Notification management with automatic cleanup - Health check endpoint for monitoring - CORS configuration for cross-origin requests - Environment-based configuration management - Structured for Flutter SDK integration Features implemented: ✅ Real-time messaging with Socket.IO ✅ User registration and authentication ✅ Direct messages and group chats ✅ Media file uploads and management ✅ End-to-end encryption ✅ Push notifications ✅ Mention alerts ✅ Typing indicators ✅ Message read receipts ✅ Online status tracking ✅ File access control ✅ Comprehensive API documentation Ready for Flutter SDK development and production deployment.
13 KiB
13 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v2.2.2 - 2024-12-16
Commits
- Only apps should have lockfiles
47ef756
- [Dev Deps] add eslint, safe-publish-latest, evalmd
57ae197
- [Tests] migrate from travis to GHA
7ff7938
- [meta] use
auto-changelog
9881b78
- [Robustness] use
call-bound
,es-errors
,safe-regex-test
481fb1a
- [meta] make LICENSE text match what some things expect for MIT
e55a84c
- [actions] split out node 10-20, and 20+
353c9bb
- [Refactor] avoid recreating default specials object; cache punycode methods
b34a99f
- [Dev Deps] update
tape
89a220a
- [readme] fix badges
aabaa1f
- [meta] update URLs
770d069
- [Fix] use
punycode
package instead of the deprecated node core module68a5239
- [meta] use
npmignore
444eb43
- [Dev Deps] update
auto-changelog
,tape
2eea295
- [Tests] replace
aud
withnpm audit
9d1775b
- [Tests] add coverage
f2570f0
- [meta] add missing
engines.node
54881fb
- [readme] use conventional filename
3a6fce4
- [meta] add
sideEffects
flag0f15cde
- [Dev Deps] add missing peer dep
1d51d22
- Merge tag 'v0.0.8'
a57fc5d
v2.2.1 - 2024-06-20
Fixed
- Give credits to whatwg, instead of HTML::Entities
#23
Commits
- [Dev Deps] add eslint, safe-publish-latest, evalmd
a54380e
- Only apps should have lockfiles
5369429
- [Tests] migrate from travis to GHA
0ce07a1
- [Dev Deps] update
tape
da07969
- [meta] use
npmignore
153e114
- [meta] update URLs
758c132
- [meta] use
auto-changelog
c1b7129
- [Fix] use
punycode
package instead of the deprecated node core module67568c3
- [meta] add missing
engines.node
0f25e78
- [Dev Deps] update
tape
2d900f7
v2.2.0 - 2015-01-16
Commits
v2.1.1 - 2015-01-14
Fixed
- test: more named entity and ambiguous ampersands tests
#11
Commits
- decode: use correct & symbol and return match without semicolon when appropriate
fc894e4
v2.1.0 - 2015-01-14
Fixed
Commits
- separate out into
encoder.js
anddecoder.js
files945479a
- decode: tweak spacing
a71309e
- index: remove trailing whitespace
3247899
- test: add encode() equals tests for "nested escapes"
373d1dd
- document /encode, /decode
de61f6e
- test: add encode() equals tests for "astral num"
db534b7
- encode: remove dead code
73bae6e
- encode: use test() instead of match()
24447ff
- decode: fix case where named entity is not defined
d008a48
- decode: fix breaking regexp typo
934fdb4
v2.0.0 - 2014-04-10
Commits
v1.0.0 - 2014-04-09
Commits
- split slow tests out into hex.js
e5fb3b5
- opts.numeric
65c5edf
- update the browser list
d034676
- less aggressive encoding for ascii values < 127
0db13cc
- document opts.numeric
07d02a9
- upgrade tape
c7ebae7
- opts
884f737
v0.1.0 - 2013-07-29
Fixed
- Add all the missing entities [closes #8]
#8
Commits
- Only include named entities with semicolons in reverse
3d1ad32
- Add test for a more obscure entity [see #8]
e7dc91b
- Just call the method escape (apparently it's not utf8)
91c3587
v0.0.8 - 2024-06-21
Commits
- Only apps should have lockfiles
47ef756
- [Dev Deps] add eslint, safe-publish-latest, evalmd
57ae197
- [Tests] migrate from travis to GHA
7ff7938
- [meta] use
auto-changelog
9881b78
- [Dev Deps] update
tape
89a220a
- [meta] update URLs
770d069
- [Fix] use
punycode
package instead of the deprecated node core module68a5239
- [meta] use
npmignore
444eb43
- [meta] add missing
engines.node
54881fb
v0.0.7 - 2013-07-29
Fixed
- Fix astral symbols [closes #7]
#7
Commits
- Add test for astral symbols [see #7]
4e59dc3
v0.0.6 - 2013-07-17
Commits
- some untested files
5738d0e
- updated readme, using travis
f344c41
- using tape
6adfdd7
- buffers are annoying for this
4713317
- encode for buffers
dee1d4b
- some passing tests
e8c3f94
- updated readme with actual docs
eceb380
- passing test and implementation for &#xnn hex codes
4a5213f
- re-licensing to MIT as per Feist v Rural (https://en.wikipedia.org/wiki/Feist_Publications_v._Rural_Telephone_Service)
3732bd4
- using testling-ci
e364dd4
- failing test for hexes
92fe444
- bump for global replace
1ca7329
- failing tests to pick up global searches
dff7f43
- test uppercase and beyond ascii bytes
4764390
- avoid es5-isms
69dd5d3
- require() the json file
8193c7d
- moar consistent formatting
fd5e5ec
- and an example even
79c140f
- relative require
0515f17
- actually perl license
2d6a7d2
- pix
da35e9a
- bump for silly package.json fix
db1b34e
- Fixed npm package.json issue.
88288bc
- perl license since the db was ripped out of HTML::Entities
1f00a89