Skip to content

Commit fa223b9

Browse files
authored
Merge pull request element-hq#13341 from vector-im/jryans/feature-flags-releases
Expand feature flag docs to cover additional release channels
2 parents 11dc8e3 + 527d18a commit fa223b9

File tree

1 file changed

+34
-11
lines changed

1 file changed

+34
-11
lines changed

docs/feature-flags.md

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ When starting work on a feature, we should create a matching feature flag:
4949
```js
5050
SettingsStore.isFeatureEnabled("feature_cats")
5151
```
52-
3. Add the feature to the [set of labs on develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json):
52+
3. Add the feature to the set of labs on
53+
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
54+
and [nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json):
5355
```json
5456
"features": {
5557
"feature_cats": "labs"
@@ -58,25 +60,40 @@ When starting work on a feature, we should create a matching feature flag:
5860
4. Document the feature in the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
5961

6062
With these steps completed, the feature is disabled by default, but can be
61-
enabled on develop by interested users for testing.
63+
enabled on develop and nightly by interested users for testing.
6264

6365
Different features may have different deployment plans for when to enable where.
6466
The following lists a few common options.
6567

66-
## Enabling by default on develop
68+
## Enabling by default on develop and nightly
6769

68-
Set the feature to `enable` in the [develop config](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json):
70+
Set the feature to `enable` in the
71+
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
72+
and
73+
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json)
74+
configs:
6975

7076
```json
7177
"features": {
7278
"feature_cats": "enable"
7379
},
7480
```
7581

76-
## Enabling by default on staging and app
82+
## Enabling by default on staging, app, and release
83+
84+
Set the feature to `enable` in the
85+
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
86+
and
87+
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
88+
configs.
7789

78-
Set the feature to `enable` in the [app
79-
config](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json).
90+
**Warning:** While this does mean the feature is enabled by default for
91+
https://riot.im and official Riot Desktop builds, it will not be enabled by
92+
default for self-hosted installs, custom desktop builds, etc. To cover those
93+
cases as well, the best options at the moment are converting to a regular
94+
setting defaulted on or to remove the flag. Simply enabling the existing flag by
95+
default in `Settings.js`
96+
[does not work currently](https://github.com/vector-im/riot-web/issues/10360).
8097

8198
## Feature deployed successfully
8299

@@ -86,8 +103,11 @@ Once we're confident that a feature is working well, we should remove the flag:
86103
2. Remove all `isFeatureEnabled` lines that test for the feature's setting
87104
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
88105
4. Remove feature state from
89-
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
90-
and [app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
106+
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json),
107+
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json),
108+
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json),
109+
and
110+
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
91111
configs
92112
5. Celebrate! 🥳
93113

@@ -107,6 +127,9 @@ regular setting:
107127
feature is always present but gated by a setting)
108128
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
109129
4. Remove feature state from
110-
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
111-
and [app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
130+
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json),
131+
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json),
132+
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json),
133+
and
134+
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
112135
configs

0 commit comments

Comments
 (0)