79 lines
4.8 KiB
Markdown
79 lines
4.8 KiB
Markdown
- e2ee
|
|
- default omemo and no mam for 1to1 and private group chats
|
|
- default archiving and no e2ee for guilds and public group chats
|
|
- configurable between e2e and no archiving or no e2e and archiving at any point
|
|
- the default is omemo 2, but can also choose worse omemo for contacts who do not use the client
|
|
- intention to either implement mls or omemo post quantum for later
|
|
- moving of xmpp accounts, download of account data from server
|
|
- proper oauth
|
|
- guilds
|
|
- voice channels
|
|
- video streaming
|
|
- broadcast rooms
|
|
- theme parts
|
|
- main application style (component styles) done through setting variables to do with components
|
|
- may include assets for borders, backgrounds, etc.
|
|
- icon themes
|
|
- app icon
|
|
- emojis
|
|
- status icons
|
|
- general icons (e.g. call button, send message, etc)
|
|
- menu bar icons
|
|
- sound theme
|
|
- message style (through custom blitz render), html and css templates
|
|
- much later: main application layout, done through editing an xml file with a custom schema
|
|
- adium+-level themeability
|
|
- ichat theme
|
|
- window layout customisation as part of theme
|
|
- media chat features:
|
|
- investigate whether it is worth encrypting all media chats using dtls-srtp
|
|
- ichat photo booth video chat filters
|
|
- webcam settings on a per-camera basis
|
|
- crop, exposure, focus, white balance, etc. settings
|
|
- mirroring in preview
|
|
- ability for multiple cameras and streams per person, i.e. for video of desk and of face, stream desktop, desktop audio and mic audio all at same time + even more if needed
|
|
- display status of chat, if sfu, if p2p, etc.
|
|
- posting-like channels designed for proper broadcast, with commenting (like telegram)
|
|
- importing and management of chat history
|
|
- perhaps splitting chat history editing into a separate application?
|
|
- in-app sticker/emoji creator/publisher
|
|
- disappearing messages (with proper disclaimers, notify when contract is broken and somebody joins with a client that doesn't support them, etc., maybe when enabled, don't use message bodies, so clients that don't support them don't store them. or instead send like a 'this message was sent with the expectation it would be deleted, but your client doesn't support this', like omemo)
|
|
- spaces, for organising guilds and chats together (like folders)
|
|
- chat tabs/split views (select window, open chat. right click, open in new tab, new panel or new window, etc.). can enable or disable for advanced view. ability to maximize and fullscreen chat panels.
|
|
- broadcasting status as looking for game/chat
|
|
- broadcast/connect music streaming
|
|
- advanced transports to different networks like irc, discord, whatsapp and telegram (access to hosted versions of which would be premium feature potentially)
|
|
- broadcast your profile's theme: fonts, sounds, colors and padding etc
|
|
- profile badges (including supporter tag, but also allowing custom badges from guilds, friends, etc. some kind of system to add badges sent to you from others to your profile, or automatically through guild menus)
|
|
- as an extension, clans/clan tags?
|
|
- greylisting
|
|
- vouches as an anti-spam measure
|
|
- fallback/backup servers through friends
|
|
- composable moderation
|
|
- subscriptions to labelers (like bsky)
|
|
- advanced privacy settings
|
|
- allow certain profile information to only be seen by certain people, in certain contexts
|
|
- how open your inbox is
|
|
- profile styling/customization
|
|
- profile colors, fonts, background, profile border, effects
|
|
- message styling?
|
|
- per channel/guild styling and privacy settings
|
|
- guild/channel level styling
|
|
- pinned messages
|
|
- mam extension for non-e2e channels
|
|
- non-e2e channels rely on mam first and foremost to save client storage
|
|
- encrypted message history sync across devices
|
|
- polls
|
|
- server admin menu
|
|
- (this one is so stupid) caw button, akin to a poke feature, as a way to nudge if people are available to hang out, or to announce you are available to hang out (can configure who, in this case, would be notified)
|
|
- live encrypted location sharing (requires mobile app)
|
|
- (taler) payments
|
|
- consider research of encryption of private server-side user data such as roster, settings, etc. (would require changing how things such as presence work)
|
|
- media hashing
|
|
- possible guild formats:
|
|
- guild at guild.example.org, channels at example@guild.example.org, users at guild.example.org/user and example@guild.example.org/user
|
|
- guilds at guild@guilds.example.org, channels at guild#channel@guilds.example.org or channel#guild@guilds.example.org or #channel%guild@guilds.example.org
|
|
- guilds as a special type of mix channel, guild@mix.example.org, rest of channels at channel@mix.example.org
|
|
- guilds at guild@guilds.example.org, channels at channel@mix.example.org (probably won't work)
|
|
- proper rtl, ttb and bbt text rendering which switches depending on xml message language.
|