This website requires JavaScript.
Explore
Help
Sign In
vincent
/
gerbeur
Watch
1
Star
0
Fork
0
You've already forked gerbeur
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
b313f70d31390da3fd9652c799682e5532edb466
gerbeur
/
api
/
services
History
khannurien
b313f70d31
All checks were successful
Build and Publish Docker Image / build-and-push (push)
Successful in 46s
Details
v3: chat mentions stop going missing, and live events get a light sound — the server skips a mention notification for anyone with the chatbox open, on the grounds that they're reading it, but "open" also meant a chatbox left open in a background tab, and the same modal cleared the unread badge on every arrival, so a mention there left no bell, no badge and no trace. Reading the chat now means open and on screen: the focus flag is re-announced on every visibilitychange, and the unread count only clears while the tab is visible. A reconnect with the chatbox open refetches the latest page, since whatever was said while the socket was down never reached the live buffer. The server's mention regex excluded a backslash and the letter w rather than word characters (
\\w
inside a class), so an email address mentioned its domain; it now matches the autocomplete's rule. On top of that, sounds synthesised with Web Audio — a soft blip for chat you aren't looking at, throttled, and a two-note chime for notifications and for a mention you're reading live, which gets no notification of its own — claimed through localStorage so several tabs chime once, with an on/off toggle under a new Notifications section in settings. The tab title carries the unread count, composed with the page title in useDocumentTitle so navigation doesn't drop it.
...
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com
>
2026-09-22 19:25:19 +00:00
..
providers
v3: generated placeholder thumbnails for pages with no preview image, and a fix for hotlink-protected ones
2026-08-11 19:43:55 +00:00
attachment-service.ts
v3: added attachments to resources, allow users to paste images into TextEditor, strengthened WS reliability
2026-03-27 08:53:32 +00:00
backlink-service.ts
v3: consistent tabs url across app, maxy small fixes
2026-06-22 17:25:40 +00:00
bandcamp-stream-service.ts
v3: fix the queue and re-resolve edge cases in native bandcamp playback
2026-08-30 17:29:14 +00:00
bandcamp-tralbum.ts
v3: native bandcamp playback and a queue in the global player
2026-08-22 12:14:28 +00:00
category-service.ts
v3: added site-wide categories, added admin category management, various visual fixes
2026-06-28 16:23:44 +00:00
chat-service.ts
v3: fixed roles propagation bug, fixed inconsistent file drop zone, fixed chat attachments wrongfully pruned, some visual tweaks
2026-06-30 13:41:36 +02:00
comment-like-service.ts
v3: added a roles/permissions system, added user management tab on user profile
2026-06-28 06:21:23 +00:00
comment-service.ts
v3: added a roles/permissions system, added user management tab on user profile
2026-06-28 06:21:23 +00:00
dump-service.ts
v3: reworked posting — three panels, drafts, duplicate detection, upload progress
2026-09-08 14:40:37 +00:00
email-service.ts
v3: added onboarding email on account creation
2026-03-30 14:55:30 +00:00
follow-service.ts
v3: added site-wide categories, added admin category management, various visual fixes
2026-06-28 16:23:44 +00:00
invite-service.ts
v3: added index default tab selection setting, fixed notification pages not loading, reduced invite token length, global player state survives page reloads, many visual fixes
2026-06-27 19:44:35 +00:00
notification-service.ts
v3: chat mentions stop going missing, and live events get a light sound — the server skips a mention notification for anyone with the chatbox open, on the grounds that they're reading it, but "open" also meant a chatbox left open in a background tab, and the same modal cleared the unread badge on every arrival, so a mention there left no bell, no badge and no trace. Reading the chat now means open and on screen: the focus flag is re-announced on every visibilitychange, and the unread count only clears while the tab is visible. A reconnect with the chatbox open refetches the latest page, since whatever was said while the socket was down never reached the live buffer. The server's mention regex excluded a backslash and the letter w rather than word characters (
\\w
inside a class), so an email address mentioned its domain; it now matches the autocomplete's rule. On top of that, sounds synthesised with Web Audio — a soft blip for chat you aren't looking at, throttled, and a two-note chime for notifications and for a mention you're reading live, which gets no notification of its own — claimed through localStorage so several tabs chime once, with an on/off toggle under a new Notifications section in settings. The tab title carries the unread count, composed with the page title in useDocumentTitle so navigation doesn't drop it.
2026-09-22 19:25:19 +00:00
password-reset-service.ts
v3: added password change/reset feature
2026-04-06 16:30:00 +00:00
playlist-service.ts
v3: added an "in collections" section to dump pages, listing the collections a dump belongs to
2026-08-08 11:41:36 +00:00
rich-content-service.ts
v3: generated placeholder thumbnails for pages with no preview image, and a fix for hotlink-protected ones
2026-08-11 19:43:55 +00:00
user-service.ts
v3: added a roles/permissions system, added user management tab on user profile
2026-06-28 06:21:23 +00:00
vote-service.ts
v3: added a roles/permissions system, added user management tab on user profile
2026-06-28 06:21:23 +00:00
ws-service.ts
v3: chatbox improvements (typing indicators, answer to previous messages, backlog days separators, scroll to last message position, visual tweaks)
2026-06-30 12:27:03 +02:00
youtube-playlist-service.ts
v3: youtube playlists get a tracklist too — the embed keeps playing the list, so the rows come from two halves: /api/youtube/playlist scrapes titles and lengths off the playlist page (current lockup rows and the older renderer, cached 6h), while the IFrame API attached to the iframe reports the position and takes row clicks and ⏮/⏭; the header names the playing video with the dump's title below it, like a bandcamp track; either half can fail — no scrape leaves the bare embed, no API leaves the rows as a table of contents — and the pause an API-enabled embed gives itself when the tab goes to the background is undone within a short window, so a later pause still stands
2026-09-19 21:51:10 +00:00