jami-docs/developer/feature-requests.md

5.7 KiB

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 -> 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>