jami-docs/developer/feature-requests.md

140 lines
5.7 KiB
Markdown
Raw Normal View History

Feature requests
================
This page exists to classify feature requests per users' feedback, to
avoid leaving tickets open for years. Under construction, will sort
the tickets.
## SFL
+ {daemon-issue}`Implement pipewire <13> to support screen sharing on
Wayland` -> Contact #Jami (Adrien, Sébastien, etc.) / hard / In progress
+ Connectivity -> Contact #Jami (Sébastien) / medium:
+ TURN ipv6 support
+ connection ipv6 only<->ipv4 only
+ Be more robust if TURN is not reachable (eg 1.1.1.1 in the settings)
+ Fix calls if two network interfaces are connected on same network
+ SIP:
+ Fix IP to IP -> Contact #Jami (Adrien, Sébastien) / easy
+ Add unit-tests / probably easy
+ Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien)
/ hard
+ Search in system contacts ({client-gnome-issue}`1191`,
{client-gnome-issue}`829`, etc.) -> Contact #Jami (Adrien,
Sébastien, Andreas, etc.) / easy but long
+ Crypto: (Contact #Jami - Adrien)
+ Update media RTP ciphers for ffmpeg / probably easy
+ Support ECC (instead RSA) for Jami accounts / hard but short
+ Remove usages of SHA1 (ids + git) / hard
+ Media -> Contact #Jami (Adrien, Andreas, etc.)
+ Push to talk support (system wide) / easy
+ {daemon-issue}`POC for AV1 support <27>` / probably hard
+ Fix the video recorder / probably hard
+ Fix audio mixing (when sharing camera + a file) / probably hard / In progress
+ Investigate audio quality (contact #Jami, medium difficulty)
+ Plugins ideas: (Contact #Jami - Aline)
+ {client-qt-issue}`Live closed captions (multiple languages) <576>`
(Whisper OpenAI, Google Speech API or similar) / probably easy / In progress
+ Payment plug-in
+ Android:
+ Fix support for Bluetooth/headset / probably easy
+ Support OpenPush (Android + OpenDHT -
<https://bubu1.eu/openpush/>) / easy / In progress
+ Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a
dedicated library (can be shared with OpenDHT)
/ medium difficulty & long term project / In progress
+ Add new transports (e.g. QUIC?)
+ Add libtorrent support?
+ POC HTTP or SSH over this library
+ Public page/personal blog available through Jami (Contact #Jami
/ medium difficulty & long term project)
+ Qt:
+ Add support for location sharing (contact #Jami - medium difficulty) (In progress)
+ {client-qt-issue}`Add support for peer discovery<868>` (contact #Jami - easy)
+ {client-qt-issue}`Add support for searching messages in conversations<869>` (contact #Jami - easy)
+ Emoji as a native component to avoid depending on qt-webengine
for this (not available on macOS) (e.g. https://github.com/jnodev/QMLemoji)
+ Categorized conversations (like favorites, groups, etc) (to discuss with #Jami)
+ Swarm:
+ Add emoji reactions to messages (Contact #Jami - easy)
+ {daemon-issue}`File-transfer small improvements<788>` (contact #Jami - easy)
+ jami-web:
+ Design architecture to support calls between jami-web and desktop versions
-> Contact #Jami (Adrien, Sébastien) / hard
Some other ideas from tickets:
## Planned/In progress
+ Improve Jami on Yocto (some codecs problems/lag on i.MX 6) ->
Contact Rennes
+ [Qt/QML Improve client](https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues)
-> Contact #Jami (Andreas)
+ Redo emoji-picker with native component
+ Implement designs from Charlotte
+ Help for swarms (Sébastien)
+ {gerrit-project}`jami-web`; because installing an app can be boring.
Joining a conference via a link can be cool. For now, nobody is
working on it.
## Wanted but not planned
- ?
## Can be implemented, contributions welcome (or will take months/years to come)
+ {project-issue}`add possibility to show "reachable at the following
times" (contact details) <1261>`
+ {project-issue}`Preferences per contact (allow calls, file transfer,
custom ringtone) <1280>`
+ {project-issue}`Ability to create polls (ideally a plugin with
swarm) <1254>`
+ {project-issue}`Support for Panic buttons <623>`
+ Matrix bridge
+ Full TOR support or other alternatives such as lokinet
({project-issue}`922`, {project-issue}`622`, {project-issue}`495`),
{project-issue}`i2p <630>`
+ {project-issue}`Bluetooth support <774>`
+ {project-issue}`Secret-based turn server <886>`
+ {client-android-issue}`Ability to compress files before sending
<720>`
+ Ability to trim recorded clips before sending
+ {client-gnome-issue}`Spell checking support <1169>`
+ {project-issue}`Echo bot to test audio <392>`
+ {project-issue}`Handle click on jami:uri system wide <653>`
+ {project-issue}`Initial audio mode <1288>`
+ {project-issue}`Format text <1358>`
+ {project-issue}`Emoticon/emoji message reactions <1034>`
(need to wait for group chat)
## Depends on mass changes
- ?
## Packaging
+ {client-gnome-issue}`FreeBSD support <1272>`
## Others
+ {project-issue}`Collaborative editor <1010>`
+ {project-issue}`A thunderbird plugin <516>`
+ {project-issue}`OpenAlias <928>`
+ {project-issue}`CMIS integration <455>`
+ {project-issue}`Sound safety <441>`
+ {client-gnome-issue}`Ability to see multiple chats at the same time
<909>`
+ {client-gnome-issue}`Vocoder option <957>`
+ {project-issue}`SOCKS5 support <430>`
+ {project-issue}`Cardbook integration <383>`
+ {project-issue}`Multiple instances running <629>`
+ {daemon-issue}`Whiteboard <181>`
+ {client-android-issue}`Camera zoom <979#note_29386>`
+ {client-qt-issue}`Emoji reaction in calls <497>`
+ {client-android-issue}`Conversation's background <710>`
+ {project-issue}`[Desktop] Option to have a Window per Chat <633>`
+ {project-issue}`Multiple text selection <1096>`
+ {project-issue}`In-app sticker pack creation <1317>`
+ {project-issue}`Re-order messages <1357>`
+ {daemon-issue}`Remote control <349>`