* WIP block users
* Add test to check if the person for user X is blocked or not
* Added function isBlocked return true if user x is blocked by user y
* Added block ans un block messages
* Route / broadcast added ny Maix
* notification block and un block with icon now works, started clean up
* cleaning up the code
* cleaning up the code - WIP
* cleaning up the code - WIP
* clean up code - WIP
* clean up code - WIP
* WIP block users
* Add test to check if the person for user X is blocked or not
* Added function isBlocked return true if user x is blocked by user y
* Added block ans un block messages
* REBASE -trying
* REBASE trying
* REBASE problems
* REBASE problems
* REBASE problems
* MERGE problems
* REBASE problem
* REBASE problem
* clean up code - WIP
* MERGED master into nigel/blockUser
* linter OK
* TTT problem with package
* Deletes tic tac and icons
Added user profile page (/profile) with display name, password, and TOTP management
Implemented TOTP authentication flow in the login process
Added backend APIs for changing display name and password
Made user display names unique in the database
Removed the entire icons service (server, routes, and Docker configuration)
Added collision-avoidance logic for duplicate display names during user creation
- Chore: ran `make npm@update` to update deps and lockfile
- Chat: new plugin: Socket.ts that allow the use of socket.io with
fastify (fastify-socket.io is not updated)
- Chat: Put everything from `src/socket.ts` that needed to be saved into
`src/app.ts`
- Removed `auth` table and merged its information inside the `user`
table
- Changed around some field names in the database
- Changed Create*User functions to not be using overload but different
functions
- Updated to Typebox 1.0.0 to better support Openapi type generation
- Changed dockerfile to fetch depedencies only once
- Fixed Routes to properly handle openapi
- Fixed Routes to respond with multiples status code (no more only 200)
- Fixed Schemas so the auth-gated endpoint properly reflect that
- Added Makefile rule to generate openapi client (none working due to
missing files)
Icons: Fixed docker-compose to force JWT_SECRET for now
Auth: Fixed Guest Login to actually work
Auth: Added `Login as Guest` in the login_demo page
Shared: Fixed db/user + uuid modules
- Split userinfo APIs to their own service (`user`)
- Added user service to nginx and docker-compose
- Cleaned up package.json across the project to remove useless
depedencies
- Added word list for Guest username generation (source in file itself)
- Reworked internal of `user` DB to not have a difference between "raw"
id and normal ID (UUID)
- CodeWise: Changed everything to use undefined when not present
- CodeWise: checks for nonpresent value using `isNullish`
- enableOtp: enable Otp, return topt url. Does nothing when
already enabled
- disableOtp: disable 2FA Totp for the user
- statusOtp: get the 2FA status for the user. return the Totp Url if
enabled
- loginDemo: split into two files
- loginDemo: supports for 2FA
- loginDemo: better response box
- Add fastify to protect routes plugins (requireAuth: true)
- Simple Demo to show regular password auth (no 2FA/OTP nor remote auth)
- Currently supports: login, logout, signin
- OTP workflow should work, not tested
- Fixed convention for docker volumes (now all placed in /volumes/<name>)
Using Vite as a bundler to allow easier builds, with shared library
Moved to a single dockerfile that takes an argument to specify which
service to use
moved some file around to faciliate bundling with vite
cried a lot