docs: update README

This commit is contained in:
Andy Burke 2025-07-25 17:26:59 -07:00
parent 94ed0b0b84
commit 609699e4b0
2 changed files with 16 additions and 14 deletions

View file

@ -13,6 +13,15 @@ feature discussions.
- [X] check for logged in user session
- [X] log in
- [X] refactor login/sessions/totp
- [ ] media uploads
- [ ] local upload support (keep it simple for small instances)
- [ ] S3 support (then self-host with your friends: https://garagehq.deuxfleurs.fr/)
- [X] user profile page
- [X] logout button
- [ ] profile editing
- [ ] avatar uploads
- [ ] local upload support (keep it simple for small instances)
- [ ] S3 support (then self-host with your friends: https://garagehq.deuxfleurs.fr/)
- [X] chat rooms
- [X] chat messages
- [ ] clean up after initial implementation
@ -22,13 +31,16 @@ feature discussions.
- [X] use this regex: `(?:(?<protocol>[a-zA-Z]+):\/\/)?(?:(?<auth>(?<username>\S.+)\:(?<password>.+))\@)?(?<host>(?:(?<hostname>[-a-zA-Z0-9\.]+)\.)?(?<domain>[-a-zA-Z0-9]+?\.(?<tld>[-a-zA-Z0-9]{2,64}))(?:\:(?<port>[0-9]{1,6}))?)\b(?<path>[-a-zA-Z0-9@:%_{}\[\]<>\(\)\+.~&\/="]*)(?:\?(?<query>[a-zA-Z0-9!$%&<>()*+,-\.\/\:\;\=\?\@_~"]+))?(?:#(?<hash>[a-zA-Z0-9!$&'()*+,-\.\/\:\;\=\?\@_~"]*?))?`
- [ ] :emoji: replacements
- [ ] preview cards for links
- [ ] add a button to allow for loading a preview
- we want to do this loading client-side, and so should only do it if they ask us to
- [ ] parse head meta, eg: https://github.com/AndrejGajdos/link-preview-generator/blob/master/index.js
- [ ] embedded video for
- [X] youtube
- [ ] vimeo
- [X] vimeo
- [ ] tiktok
- [ ] embedded audio or audio cards for:
- [X] tidal
- [ ] spotify
- [X] spotify
- [ ] youtube (any way to differentiate for yt music?)
- [ ] add action buttons to embeds
- [ ] copy original link (hopefully just a button with some onclick we can slap next to the iframe and style?)
@ -42,12 +54,6 @@ feature discussions.
- [ ] custom emoji support
- [ ] upload custom gif emoji
- [X] try to select immediate sibling messages from the same user and hide mulitple avatars
- [X] user profile page
- [X] logout button
- [ ] profile editing
- [ ] avatar uploads
- [ ] local upload support (keep it simple for small instances)
- [ ] S3 support (then self-host with your friends: https://garagehq.deuxfleurs.fr/)
- [ ] admin panel
- [ ] add invite code generation
- [ ] AC_REQUIRE_INVITE_CODE: boolean env var/setting
@ -65,9 +71,6 @@ feature discussions.
- [X] support multiple methods
- [X] add `on_parsed` to allow injecting additional data
- [X] refine `on_response`/`on_reply`
- [ ] media uploads
- [ ] local upload support (keep it simple for small instances)
- [ ] S3 support (then self-host with your friends: https://garagehq.deuxfleurs.fr/)
## Getting Started Developing

View file

@ -1,8 +1,7 @@
const URL_MATCHING_REGEX =
/(?:(?<protocol>[a-zA-Z]+):\/\/)?(?:(?<auth>(?<username>\S.+)\:(?<password>.+))\@)?(?<host>(?:(?<hostname>[-a-zA-Z0-9\.]+)\.)?(?<domain>[-a-zA-Z0-9]+?\.(?<tld>[-a-zA-Z0-9]{2,64}))(?:\:(?<port>[0-9]{1,6}))?)\b(?<path>[-a-zA-Z0-9@:%_{}\[\]<>\(\)\+.~&\/="]*)(?:\?(?<query>[a-zA-Z0-9!$%&<>()*+,-\.\/\:\;\=\?\@_~"]+))?(?:#(?<hash>[a-zA-Z0-9!$&'()*+,-\.\/\:\;\=\?\@_~"]*?))?/gm;
const VIDEO_ID_EXTRACTOR =
/(?<protocol>https?)?(?::\/\/)?(?<host>(?:(?<subdomain>.*?)\.)?(?<domain>vimeo\.com|youtu(?:be\.com|\.be|be\.googleapis\.com)))\/(?<item_type>video|embed|watch|v)?\/?.*?\??(?:(?:v=)?(?<video_id>[A-Za-z0-9._%-]*))\S*/gi;
const VIDEO_ID_EXTRACTOR = /ggit/gi;
const SPOTIFY_EXTRACTOR =
/(?<protocol>(?:spotify:.*|https?))?(?:\:(?:\/\/)?)?(?<host>(?:(?<subdomain>.+)\.)?(?<domain>spotify\.com))?.*?\/?(?<item_type>(?:album|artist|episode|playlist|tracks?))?\/?(?<item_id>[a-zA-Z0-9]{22})/gi;
const TIDAL_EXTRACTOR =
@ -119,7 +118,7 @@ const URL_MATCH_HANDLERS = [
}
return `
<div class="embed-container letterbox youtube">
<div class="embed-container letterbox vimeo">
<div class="embed-actions-container">
<button class="icon plus" onclick="console.log(\"close\");"/>
<button class="icon talk" onclick="console.log(\"stop\");"/>