Commit graph

106 commits

Author SHA1 Message Date
NigeParis
0eba95a402 New look 2025-11-28 16:40:33 +01:00
NigeParis
ddead83583 added PingBuddies Bar to detect connected Chatters in real time 2025-11-28 14:03:00 +01:00
NigeParis
4ed588daa5 Added machine Name to display address of connect in logs 2025-11-27 18:20:19 +01:00
NigeParis
ef9f0af6fa rebase with master 2025-11-26 21:09:47 +01:00
NigeParis
7b61ffe527 minor stuff done like BG color of chat window 2025-11-26 21:07:10 +01:00
NigeParis
896d9084ef Added tab 'hidden' detection when chat is on, added css red text messages sent 2025-11-26 21:07:10 +01:00
NigeParis
422c0b26c4 added tab control to chat, When user leaves tab open on chat 2025-11-26 21:07:10 +01:00
NigeParis
40980bedeb Added Date.now ClientChat that stores user, socket id and date 2025-11-26 21:07:10 +01:00
NigeParis
3091d25774 Add Flashes to buttons 2025-11-25 16:13:43 +01:00
NigeParis
40b807efc8 Connected Button Added now working 2025-11-25 16:13:43 +01:00
Maieul BOYER
deaf58dfce update 2025-11-25 16:13:43 +01:00
Maieul BOYER
0358a6025b socket fix 2025-11-25 16:13:43 +01:00
NigeParis
b215904cfd Added Connected button to show how many connected to the chat 2025-11-25 16:13:43 +01:00
NigeParis
e530de6ce7 added protection for messages broadcast - stops unknown receiving broadcast messages 2025-11-25 16:13:43 +01:00
NigeParis
5031efa866 Add Arrived in Chat and Left in chat LoginName 2025-11-25 16:13:43 +01:00
Maieul BOYER
757a436fc6
chore(deps): updated deps and removed stray lockfile 2025-11-24 17:03:58 +01:00
NigeParis
b85d9b64c7 WIP progress chat broadcast 2025-11-21 14:17:37 +01:00
Maieul BOYER
eec27ce2e6 feat(chat): updated to work with socket.io
- 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`
2025-11-21 14:17:37 +01:00
NigeParis
6ff1745f16 pas connection :-( 2025-11-21 14:17:37 +01:00
NigeParis
ffa7c305f1 socket io RAW testing 2025-11-21 14:17:37 +01:00
NigeParis
b07040b61b eslint done __up to date pushing for review 2025-11-21 14:17:37 +01:00
NigeParis
d43e62dfc1 Chat basic works - with also console out pur to check data 2025-11-21 14:17:37 +01:00
NigeParis
486f0ff425 broadcast generally working 2025-11-21 14:17:37 +01:00
NigeParis
98631be918 WIP BroadCast working on console... needs more work 2025-11-21 14:17:37 +01:00
NigeParis
9889600708 separated socket from app for clear develoopement 2025-11-21 14:17:37 +01:00
Maieul BOYER
0a504a75ce socket io with fastify 2025-11-21 14:17:37 +01:00
NigeParis
34e9f8e3ca socket default acess refuse server 2025-11-21 14:17:37 +01:00
NigeParis
cf6f3145b6 socket.io first attempt 2025-11-21 14:17:37 +01:00
Maieul BOYER
5a905a1239 feat(oauth2/db): reworked oauth2 database footprint
- 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
2025-11-18 15:30:55 +01:00
Maieul BOYER
34249bf68d
chore(deps): removed vulnerable dependency (rimraf) 2025-11-18 15:18:07 +01:00
Maieul BOYER
a4bf71cc6a
feat(monitoring): wrote plugin for /monitoring endpoint and updated service to use them 2025-11-14 22:43:31 +01:00
Maieul BOYER
f1569b7120
chore(deps): updated pnpm-lock.yaml 2025-11-14 19:10:20 +01:00
Maieul BOYER
470007c9f8
feat(chat): removed unused depedencies 2025-11-14 19:08:27 +01:00
Maieul BOYER
6d630fee92 feat(frontend/auth): Added way to automatically fetch providers
This allows the frontend to list all available providers without
hardcoding them in.
2025-11-14 16:57:14 +01:00
NigeParis
9ce9fa44e4 feat(chat): added base for chat service
added front html

nigel in the mud

route function with openapi - gen

clean up the code a little

after pull request
2025-11-14 15:50:03 +01:00
Raphaël
73a4946d17
Monitoring tools (#32)
* feat(docker/monitoring): adding the first monitoring tools from the docker file

- The first tools is Grafana basicly the tool to supervise all the data

* feat(monitoring/blackbox): adding initial configuration

* feat(monitoring/grafana): adding the configuration to alerting on the discord channels

* feat(monitoring/grafana): adding the grafana dashboard (docker monitoring)

* feat(monitoring/grafana): adding the grafana dashboard (global monitoring)

* feat(monitoring/grafana): adding the global configuration for dashboards

* feat(monitoring/grafana): adding the prometheus configuration

* feat(monitoring/prometheus): adding the configuration of prometheus as the main grafana sources

* core(docker-compose): adding the monitoring part for the docker files

* feat(monitoring/grafana): removing the monitoring global

* feat(monitoring/prometheus): removing the blackbox

- The self certificate is ruinning everything

* core(docker-compose): removing the blackbox container

* core(env/example): adding a env example

* feat(monitoring/blackbox): adding initial configuration

* test(nginx/location): adding a test to test blackbox

* feat(monitoring/prometheus): adding blackbox to the prometheus configuration

* feat(monitoring/grafana): adding the start of the global dashboard

* feat(monitoring/blackbox): adding tls_configuration skip

- The ssl certificate have to be self-signed

* feat(monitoring/grafana): global is now checked and work w/ others services

* feat(monitoring/prometheus): checking other services run

* feat(nginx/conf): now http port will mirror the https

- Usefull for intern docker communication

* feat(auth/app): adding the /monitoring routes

* feat(icons/app): adding the /monitoring routes

* feat(user/app): adding the /monitoring routes

* refactor(auth/src): linting the app.ts

* refactor(icons/src): linting the app.ts

* refactor(user/src): linting the app.ts
2025-11-12 11:50:32 +01:00
Maieul BOYER
aba4c4498c feat(frontend/auth): fix cookie not working due to path being /app
Cookies being set to path=/app meant that the API didn't have those
cookies.
Also fixed the Schema injection for auth'ed routes
2025-11-11 00:20:26 +01:00
Maieul BOYER
e8b0b7e310 feat(frontend/openapi): Generated Openapi client for frontend
Generated The API client using the openapi.json file generated from the
services
2025-11-11 00:20:26 +01:00
Maieul BOYER
0db41a440d feat(frontend): scaffolding to build frontend
- Added `make fnginx` to have better dev experience
- Added app.conf to nginx configuration to handle frontend
2025-11-11 00:20:26 +01:00
Maieul BOYER
b7c2a3dff9 feat(openapi): Started working on Openapi generation
- 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)
2025-11-10 18:34:22 +01:00
Maieul BOYER
a66fad3360
chore(lockfile/icons): updated lockfile and fixed icons service shutdown
- Updated lockfile and packages version
- Updated icons service to stop on SIGTERM
2025-10-29 19:24:59 +01:00
Maieul BOYER
332086d5e2 feat(auth): split login_name and display_name for better oauth2/guest user handling 2025-10-28 13:47:20 +01:00
Maieul BOYER
e0689143c4 feat(oauth2): fixed small issues 2025-10-28 13:47:20 +01:00
Maieul BOYER
a67d29af3c feat(oauth2): commented a bit of stuff 2025-10-28 13:47:20 +01:00
Maieul BOYER
66537e2ccb feat(oauth2/user): Implementation of the whole oauth2 pipeline
Auth: user can now login with any oauth2 provider the config list
      account will be created on demands if not already created.
      any oauth2 account is unique (can't link an account to any other
      auth method)
2025-10-28 13:47:20 +01:00
Maieul BOYER
7557a7aa76 feat(oauth2): provider.toml config file with template 2025-10-28 13:47:20 +01:00
Maieul BOYER
bc7a615dcf feat(db/oauth2): Added oauth2 handling to database
- Database: edited dmbl/sql for oauth2 changes
- Database/oauth2: new oauth2 mixin
- Database/user: exported raw functions to be used in oauth2 mixin
2025-10-28 13:47:20 +01:00
Maieul BOYER
26627cd4d7 feat(infra/nginx): Fixed nginx redirection and fixed dockerfiles
- nginx now use "raw" proxy_pass, where it doesnt supply the $uri since
  if only the host is provided, nginx will handle lots of usecases
- pnpm now uses the lockfile correctly
- Docker: use lockfile in all steps
- Docker: install the necessary packages if building from source is
  needed (better-sqlite3 for example)
2025-10-28 13:47:20 +01:00
Maieul BOYER
2074f8d8f1 fix(shared/auth/icon): Fixed lots of small things
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
2025-10-11 14:29:00 +02:00
Maieul BOYER
5306ccfc60 fix(db/user): small issues in user database layer 2025-10-11 14:29:00 +02:00