|
1 | 1 | {# Human-readable labels for feature categories #} |
2 | 2 | {% macro category_label(category_name) %} |
3 | | -{% if category_name == "1stable" %} |
| 3 | +{%- if category_name == "1stable" -%} |
4 | 4 | Stable Features |
5 | | -{% elif category_name == "2experimental" %} |
| 5 | +{%- elif category_name == "2experimental" -%} |
6 | 6 | Experimental Features |
7 | | -{% else %} |
| 7 | +{%- else -%} |
8 | 8 | {{category_name | replace(from="_", to=" ") | title }} |
9 | | -{% endif %} |
| 9 | +{%- endif -%} |
10 | 10 | {% endmacro %} |
11 | 11 |
|
12 | | -{# Client macros for the matrix.org website Features Schema (all boolean values): |
13 | | -- e2ee: End-to-end encryption support, including media and calls if supported |
14 | | -- spaces: Matrix Spaces support |
15 | | -- voip_1to1: 1-to-1 voice/video calls, see https://spec.matrix.org/v1.17/client-server-api/#voice-over-ip |
16 | | -- voip_jitsi: Jitsi-based group calls |
17 | | -- threads: Threading support |
18 | | -- sso: Legacy Single Sign-On (m.login.sso) |
19 | | -- oauth: Native OIDC/OAuth 2.0 authentication (added in spec 1.15) |
20 | | -- invisible_crypto: Implements https://github.com/matrix-org/matrix-spec-proposals/pull/4153 |
21 | | -- sliding_sync: Uses the new sync API https://github.com/matrix-org/matrix-spec-proposals/pull/4186 |
22 | | -- multi_account: Supports multiple accounts in a single client instance |
23 | | -- multi_language: Internationalization/localization support |
24 | | -#} |
25 | | - |
26 | | -{# List of valid feature names for validation #} |
27 | | -{% set VALID_FEATURES = [ |
28 | | -"e2ee", |
29 | | -"spaces", |
30 | | -"voip_1to1", |
31 | | -"voip_jitsi", |
32 | | -"voip_matrixrtc", |
33 | | -"threads", |
34 | | -"sso", |
35 | | -"oauth", |
36 | | -"invisible_crypto", |
37 | | -"sliding_sync", |
38 | | -"multi_account", |
39 | | -"multi_language" |
40 | | -] %} |
41 | | - |
42 | 12 | {# Human-readable labels for features #} |
43 | 13 | {% macro feature_label(feature_name) %} |
44 | 14 | {%- if feature_name == "e2ee" -%} |
45 | | -E2EE |
46 | | -{%- elif feature_name == "sso" -%} |
47 | | -Legacy SSO |
48 | | -{%- elif feature_name == "oauth" -%} |
49 | | -OAuth 2.0 |
| 15 | +End-to-end encryption |
50 | 16 | {%- elif feature_name == "voip_1to1" -%} |
51 | 17 | VoIP (1:1) |
52 | 18 | {%- elif feature_name == "voip_jitsi" -%} |
53 | 19 | VoIP (Jitsi) |
54 | 20 | {%- elif feature_name == "voip_matrixrtc" -%} |
55 | 21 | VoIP (MatrixRTC) |
| 22 | +{%- elif feature_name == "sso" -%} |
| 23 | +Legacy SSO |
| 24 | +{%- elif feature_name == "oauth" -%} |
| 25 | +OAuth 2.0 |
| 26 | +{%- elif feature_name == "invisible_crypto" -%} |
| 27 | +Invisible Cryptography |
| 28 | +{%- elif feature_name == "sliding_sync" -%} |
| 29 | +Simplified Sliding Sync |
| 30 | +{%- elif feature_name == "multi_account" -%} |
| 31 | +Multi-Account |
| 32 | +{%- elif feature_name == "multi_language" -%} |
| 33 | +Multi-Language |
56 | 34 | {%- else -%} |
57 | | - {{ feature_name | replace(from="_", to=" ") | title }} |
| 35 | + {{feature_name | replace(from="_", to=" ") | title }} |
58 | 36 | {%- endif -%} |
59 | 37 | {% endmacro %} |
60 | 38 |
|
|
79 | 57 | {% endif %} |
80 | 58 | {% endmacro %} |
81 | 59 |
|
| 60 | +{# Definitions for each of the features #} |
| 61 | +{% macro feature_description(feature_name) %} |
| 62 | +{%- if feature_name == "e2ee" -%} |
| 63 | +End-to-end encryption, including media and calls if supported |
| 64 | +{%- elif feature_name == "spaces" -%} |
| 65 | +Browse, join and manage Matrix spaces |
| 66 | +{%- elif feature_name == "voip_1to1" -%} |
| 67 | +1-to-1 voice/video calls |
| 68 | +{%- elif feature_name == "voip_jitsi" -%} |
| 69 | +Jitsi-based group calls |
| 70 | +{%- elif feature_name == "voip_matrixrtc" -%} |
| 71 | +Matrix-native voice/video calls based on MSC4143 MatrixRTC |
| 72 | +{%- elif feature_name == "threads" -%} |
| 73 | +Read, start and participate in threads |
| 74 | +{%- elif feature_name == "sso" -%} |
| 75 | +Log in with Single Sign-On using the legacy API |
| 76 | +{%- elif feature_name == "oauth" -%} |
| 77 | +Log in using the new API based on the OAuth 2.0/OIDC standard |
| 78 | +{%- elif feature_name == "invisible_crypto" -%} |
| 79 | +Simplified client user experience and improved security by enforcing device verification per MSC4153 |
| 80 | +{%- elif feature_name == "sliding_sync" -%} |
| 81 | +Swift and efficient connection to the server using the next generation API from MSC4186 |
| 82 | +{%- elif feature_name == "multi_account" -%} |
| 83 | +Log into multiple accounts at the same time using a single client instance |
| 84 | +{%- elif feature_name == "multi_language" -%} |
| 85 | +Client user interface supports multiple languages |
| 86 | +{%- else -%} |
| 87 | +{{ throw(message="Feature is missing a description!") }} |
| 88 | +{%- endif -%} |
| 89 | +{% endmacro %} |
| 90 | + |
82 | 91 | {% macro classes(client) %} |
83 | 92 | {% if client.packages.apple_app_store.app_id and client.packages.apple_app_store.org %} |
84 | 93 | platform-ios |
|
0 commit comments