Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistency of the Initial State and Capabilities #8715

Open
Tracked by #5
ShGKme opened this issue Feb 7, 2023 · 1 comment
Open
Tracked by #5

Inconsistency of the Initial State and Capabilities #8715

ShGKme opened this issue Feb 7, 2023 · 1 comment
Assignees
Labels
2. developing enhancement feature: api 🛠️ OCS API for conversations, chats and participants feature: frontend 🖌️ "Web UI" client feature: integration 📦 Integration with 3rd party (chat) service medium
Milestone

Comments

@ShGKme
Copy link
Contributor

ShGKme commented Feb 7, 2023

How to use GitHub

  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Currently on the Talk frontend there is two sources of configs and features.

  • Initial State - Server-rendered to <input type="hidden" /> values, used by Talk Web only
  • Capabilities API - used by all clients (frontend, mobile clients, 3rd part clients) for features (depends on the version) and configs

While features are mostly relevant for clients only, config is widely used by Talk Web as well as other clients.

Some configs are available only from one source and not from another one.

Initial State (Server Render) Capabilities API (config) Useful for Notes
call_enabled call['enabled'] 📱 Any client 🗃️ Server config
call['breakout-rooms'] 📱 Any client 🗃️ Server config 🚧
call['recording'] 📱 Any client 🗃️ Server config 🚧
signaling_mode ❓Not sure if it is required ⚙️ Admin Settings 🗃️ Server config
sip_dialin_info ❗Required for Desktop 📱 Any client 🗃️ Server config
grid_videos_limit ❗Required for Desktop 💻 Web / Desktop 🗃️ Server config
grid_videos_limit_enforced ❗Required for Desktop 💻 Web / Desktop 🗃️ Server config
federation_enabled ❗Useful for any clients 📱 Any client 🗃️ Server config 🚧
default_permissions ❗Useful for any clients 📱 Any client 🗃️ Server config
start_conversations conversations['can-create'] 📱 Any client 👤 User permissions
circles_enabled ❓Not sure if it is useful 🌐 Web only 👤 User permissions
guests_accounts_enabled ❗Required for Desktop 💻 Web / Desktop 🗃️ Server config
chat['max-length'] Constant
read_status_privacy chat['read-privacy'] 📱 Any client 👤 User permissions
play_sounds ❌ Not needed 🌐 Web only 👤 User settings
attachments['allowed'] 📱 Any client 👤 True if not a guest
attachment_folder attachment['folder'] 📱 Any client 👤 User settings
attachment_folder_free_space ❗Useful for any clients 📱 Any client 👤 user.quota > 0
previews['max-gif-size'] 📱 Any client
enable_matterbridge ❓Not sure if it is useful ⚙️ Admin Settings 🗃️ Server config
signaling['hello-v2-token-key'] 📱 Any client 🗃️ Server config
signaling['session-ping-limit'] 📱 Any client 🗃️ Server config

Also, all the Capabilities are available from the Initial State initial-state-core-capabilities.

Proposals:

  1. Add all missing in Capabilities API configs from the Initial State
    • What about Web Only settings? Should they be a part of Capabilities?
  2. Use only one source of config in Talk Web frontend, do not mix.
    • As Capabilities are used in all clients and also available in Talk Web, it seems to be a better choice.

Notes:

  • attachment_folder_free_space could be replaced with User Metadata quota.free > 0

See also:

@ShGKme
Copy link
Contributor Author

ShGKme commented May 1, 2023

I updated the table, and added more info about what capabilities are required for the desktop and other clients and what are not. I'm not sure about some of them, feel free to edit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2. developing enhancement feature: api 🛠️ OCS API for conversations, chats and participants feature: frontend 🖌️ "Web UI" client feature: integration 📦 Integration with 3rd party (chat) service medium
Projects
None yet
Development

No branches or pull requests

2 participants