diff --git a/README.md b/README.md index 3758703..4d7a068 100644 --- a/README.md +++ b/README.md @@ -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: `(?:(?[a-zA-Z]+):\/\/)?(?:(?(?\S.+)\:(?.+))\@)?(?(?:(?[-a-zA-Z0-9\.]+)\.)?(?[-a-zA-Z0-9]+?\.(?[-a-zA-Z0-9]{2,64}))(?:\:(?[0-9]{1,6}))?)\b(?[-a-zA-Z0-9@:%_{}\[\]<>\(\)\+.~&\/="]*)(?:\?(?[a-zA-Z0-9!$%&<>()*+,-\.\/\:\;\=\?\@_~"]+))?(?:#(?[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 diff --git a/public/tabs/talk/talk.js b/public/tabs/talk/talk.js index df28bce..efdd07f 100644 --- a/public/tabs/talk/talk.js +++ b/public/tabs/talk/talk.js @@ -1,8 +1,7 @@ const URL_MATCHING_REGEX = /(?:(?[a-zA-Z]+):\/\/)?(?:(?(?\S.+)\:(?.+))\@)?(?(?:(?[-a-zA-Z0-9\.]+)\.)?(?[-a-zA-Z0-9]+?\.(?[-a-zA-Z0-9]{2,64}))(?:\:(?[0-9]{1,6}))?)\b(?[-a-zA-Z0-9@:%_{}\[\]<>\(\)\+.~&\/="]*)(?:\?(?[a-zA-Z0-9!$%&<>()*+,-\.\/\:\;\=\?\@_~"]+))?(?:#(?[a-zA-Z0-9!$&'()*+,-\.\/\:\;\=\?\@_~"]*?))?/gm; -const VIDEO_ID_EXTRACTOR = - /(?https?)?(?::\/\/)?(?(?:(?.*?)\.)?(?vimeo\.com|youtu(?:be\.com|\.be|be\.googleapis\.com)))\/(?video|embed|watch|v)?\/?.*?\??(?:(?:v=)?(?[A-Za-z0-9._%-]*))\S*/gi; +const VIDEO_ID_EXTRACTOR = /ggit/gi; const SPOTIFY_EXTRACTOR = /(?(?:spotify:.*|https?))?(?:\:(?:\/\/)?)?(?(?:(?.+)\.)?(?spotify\.com))?.*?\/?(?(?:album|artist|episode|playlist|tracks?))?\/?(?[a-zA-Z0-9]{22})/gi; const TIDAL_EXTRACTOR = @@ -119,7 +118,7 @@ const URL_MATCH_HANDLERS = [ } return ` -
+