1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
Commit Graph

756 Commits

Author SHA1 Message Date
Gastón Fournier
70499dc1d4
feat: allow api token middleware to fetch from db (#6344)
## About the changes
When edge is configured to automatically generate tokens, it requires
the token to be present in all unleash instances.
It's behind a flag which enables us to turn it on on a case by case
scenario.

The risk of this implementation is that we'd be adding load to the
database in the middleware that evaluates tokens (which are present in
mostly all our API calls. We only query when the token is missing but
because the /client and /frontend endpoints which will be the affected
ones are high throughput, we want to be extra careful to avoid DDoSing
ourselves

## Alternatives:
One alternative would be that we merge the two endpoints into one.
Currently, Edge does the following:
If the token is not valid, it tries to create a token using a service
account token and /api/admin/create-token endpoint. Then it uses the
token generated (which is returned from the prior endpoint) to query
/api/frontend. What if we could call /api/frontend with the same service
account we use to create the token? It may sound risky but if the same
application holding the service account token with permission to create
a token, can call /api/frontend via the generated token, shouldn't it be
able to call the endpoint directly?

The purpose of the token is authentication and authorization. With the
two tokens we are authenticating the same app with 2 different
authorization scopes, but because it's the same app we are
authenticating, can't we just use one token and assume that the app has
both scopes?

If the service account already has permissions to create a token and
then use that token for further actions, allowing it to directly call
/api/frontend does not necessarily introduce new security risks. The
only risk is allowing the app to generate new tokens. Which leads to the
third alternative: should we just remove this option from edge?
2024-02-27 16:08:44 +01:00
Nnenna Ndukwe
7cc968fdc4
docs: Java Tutorial v1 (#6299)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

A v1 Java tutorial for docs! I used Java SDK to log flag statuses when
the Java app is running and connected to Unleash.

## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

It's fairly simple and open to feedback for a new iteration to improve
the intro tutorial. I do weekly documentation improvement PRs!
2024-02-22 09:18:17 -05:00
Christopher Kolstad
7f5d3df59c
docs: add ADR for logging with error object (#6249)
I've held an internal knowledge sharing session on this already. If
someone can think of a better phrasing for the background, I'm all ears.
I think it's just nice to have this documented, so people remember that
our logging framework already has a good way to format errors when you
use the API `logger.error("<message>", e)`
2024-02-20 13:41:33 +00:00
Ivar Conradi Østhus
851b3db39a
docs: tutorial on node-sdk with aws lambda (#6258)
This is a docs tutorial on how to use the Unleash Node SDK in an AWS
Lambda.

(Peer reviewed outside of Git.)
2024-02-19 17:29:10 +01:00
Ivar Conradi Østhus
4a81f0932f
fix: Allow AuthType None to use valid API tokens (#6247)
Fixes ##5799 and #5785

When you do not provide a token we should resolve to the "default"
environment to maintain backward compatibility. If you actually provide
a token we should prefer that and even block the request if it is not
valid.

An interesting fact is that "default" environment is not available on a
fresh installation of Unleash. This means that you need to provide a
token to actually get access to toggle configurations.


---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-02-16 08:24:56 +00:00
Mateusz Kwasniewski
2c5cd13160
docs: troubleshooting unleash over https (#6250) 2024-02-15 15:49:21 +01:00
Nuno Góis
6a9f80c554
fix: misc UI/UX fixes (#6241)
https://linear.app/unleash/issue/UNL-338/adjustments-incoming-webhooks-actions

Includes misc UI/UX fixes, including a typo, the vertical alignment of
the Enterprise badge in project settings and the way incoming webhooks
are displayed in non-Enterprise plans.
2024-02-15 08:17:11 +00:00
Thomas Heartman
6a8f903bcf
docs: add missing full stop
This adds a missing full stop to the quickstart docs.
2024-02-14 11:45:00 +09:00
Thomas Heartman
fd977c57e8
docs: mention that environment-level variants also suspend CRs now (#6211)
Small update to extend an existing description.
2024-02-14 10:12:39 +09:00
Mark Fulton
29d27b73ad
docs: Update license-keys.mdx (#6012)
Added statement to contact customer success for help
2024-02-13 14:01:45 +01:00
Mateusz Kwasniewski
aea4fc9dc9
docs: troubleshooting returning disabeled flags (#6200) 2024-02-12 11:36:51 +01:00
Gastón Fournier
ca761584c6
docs: Delete old preferred-styles-import-placement (#6185)
Having old ADRs makes it harder for newcomers, that have to navigate
through many ADRs and spot the ones that were superseded by others. We
can save the mental burden by just moving the old ones to a deprecated
folder
2024-02-09 17:50:08 +01:00
Thomas Heartman
ba2cde7c50
docs: update change request doc to mention strategy/segment suspension (#6163)
This change updates the change request scheduling docs to include
information about what happens when a strategy or segment is updated
in the background, as well as updated information about the emails
that it sends out.
2024-02-09 14:50:18 +09:00
Thomas Heartman
1deae078fc
docs: update images in feature flags best practices to work on dark backgrounds (#6168)
This PR updates the images in the feature flags best practices guide to
work on dark backgrounds by giving them white backgrounds (making them
non-transparent).

In doing so, it replaces the links to GitHub with docusaurus assets
(which also yields faster loading) and uses captions to describe the
images.
2024-02-09 09:39:40 +09:00
Nuno Góis
5d4c75091d
docs: unexpected results in abn test troubleshooting guide (#6153)
https://linear.app/unleash/issue/SR-374/troubleshooting-guide-my-feature-flag-is-returning-unexpected-results

Adds a quick troubleshooting guide that covers some common pitfalls when
running A/B tests.
2024-02-08 17:04:25 +00:00
Thomas Heartman
b123acfd00
docs: update availability notice to say patterns were released in 5.7 (#6160)
We forgot to update this after the release, so just cleaning it up now.
2024-02-08 09:05:57 +09:00
Ivar Conradi Østhus
d1efff1173
docs: Developer guide improvements (#6015)
## About the changes

I played with the OpenAI APIs to get some help with spelling and grammars.
2024-02-07 16:40:20 +00:00
Christopher Kolstad
c83c43718c
docs: Add troubleshooting note about missing Edge metrics (#6103)
So we have a place in the docs to refer users struggling with getting
metrics from Edge after upgrade to Unleash v5.9.0, this PR adds a small
troubleshooting note about two fixes.
1. Upgrade Edge
2. Use environmental flag to re-enable old endpoint
2024-02-05 11:34:24 +01:00
Nnenna Ndukwe
f09d184eb2
docs: Python Examples page (#6094)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

A new Python Examples doc:

- underneath Python tutorials
- explores more use cases for Python with feature flags in Unleash,
building on top of our existing Python tutorial.
- This was edited and reviewed by team members via [Google
Docs](https://docs.google.com/document/d/1gO5KSShCKObbdjP-TobIjaOLqTP5_V1YcTLXAp5DA2g/edit#heading=h.oblpm3ljyzs8)
before adding to our docs site.
- Python Tutorial links to this doc as a continuation

<img width="1502" alt="Screenshot 2024-01-31 at 11 44 28 AM"
src="https://github.com/Unleash/unleash/assets/22972707/86aec6a5-9483-41a8-bd65-ae0fcf7d7c7f">


<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->

`website/docs/feature-flag-tutorials/python/examples.md`

## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2024-02-01 17:08:49 -05:00
Nnenna Ndukwe
542acd30a9
docs: simplify Python tutorial (#6073)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

- Reducing the amount of steps to implement the Python app feature flag
- fixed spaces & indentations in Python code snippets (mentioned in past
PR review)
- `git clone` my forked repo so we can customize that code in the future
as we improve it, without being blocked.


<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

More improvements to be made to the HTTP calls in `routes.py` as I
continue working on resolving some issues I'm running into in the app.

---------

Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
2024-01-31 08:34:46 -05:00
Jaanus Sellin
884bc86745
chore: add documentation to search filters/operators (#6088)
![image](https://github.com/Unleash/unleash/assets/964450/d8920542-78b6-48e1-96a9-6d8d60082849)

![image](https://github.com/Unleash/unleash/assets/964450/406d7f21-01e2-4b75-9b1e-b48f319669dd)
2024-01-31 13:28:15 +02:00
Thomas Heartman
67f8a3cccd
docs: change "time burden" to "time investment" (#6079)
This PR changes the wording for the courses from "estimated time burden"
to "estimated time".
2024-01-31 10:48:28 +00:00
Thomas Heartman
bc95ed654f
docs: add academy links and banners (#6083)
This PR adds academy links and banners. Supersedes #6077
2024-01-31 18:18:21 +09:00
Jaanus Sellin
febd01a575
chore: update database migration ADR (#6036)
## Key Updates in the ADR

- **Separation of Migrations in PRs**: Migrations are now required to be
carried out in separate pull requests. This change is intended to
improve the monitoring and management of database schema changes during
deployment.

- **Primary Key Requirement for New Tables**: A new paragraph mandates
the inclusion of primary keys in all new tables, emphasizing the
importance of data integrity, efficient data retrieval, and supporting
table relationships. Additionally, by adding primary keys, we resolve
the issue of migrations failing during upgrades in replicated database
setups, as we are not using PostgreSQL replica identities. Exceptions to
this rule require a compelling justification.


Also added better structuring and styling to ADR for better readability.
2024-01-30 11:07:32 +02:00
Nnenna Ndukwe
1d5d7ee57d
fix: updating links across the React docs (#6054)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

- Simplified wording
- More descriptive ALT text for images
- Included YouTube tutorial link
- Improve code indentation in some code blocks

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

YouTube link at the top of a tutorial or near the bottom?

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-01-29 12:33:41 -05:00
Nnenna Ndukwe
936fa44ec5
Shorter nav names for tutorials while maintaining SEO titles (#6028)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

Let's update our tutorial titles in the left navigation menu so it's
shorter and simpler.
This will _not_ change the metadata and doc titles when you click on
them. Only the label in the nav.

BEFORE
![Screenshot 2024-01-24 at 9 52
17 AM](https://github.com/Unleash/unleash/assets/22972707/283b22c5-c317-4140-8478-67965d004ef1)

AFTER
![Screenshot 2024-01-24 at 9 47
37 AM](https://github.com/Unleash/unleash/assets/22972707/04c58f24-1e1f-4f83-b1ff-1eeba670a092)


<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->
2024-01-24 10:14:50 -05:00
Nnenna Ndukwe
1f7c7940b4
Feature Flags with Python Tutorial (#6016)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

A new tutorial to get developers to implement feature flags into a
Python Flask app.
We have steps that guide them through the process using a simple
full-stack survey app.

Based off of a reviewed [Google Doc
here](https://docs.google.com/document/d/1YlG-TyQcMEyUrMjiWlYrd-J5DXog5ErbvSKAyuzKAnU/edit#heading=h.ryvmv14764i3)

The tutorial can go live in the docs nav in a new Python section, where
the Python examples will follow.


### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


`website/docs/feature-flag-tutorials/python/implementing-feature-flags.md`


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

---------

Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
2024-01-24 08:00:33 -05:00
Maximilian Edison
e087f4226f
Docs: Getting Started Self-Hosting unleash (#6019)
## About the changes

put UNLEASH_DEFAULT_ADMIN_PASSWORD inside ``
2024-01-24 13:06:01 +04:00
Ivar Conradi Østhus
3957abf0f6
docs: Minor typos (#6014)
Some minor typos in our docs.
2024-01-23 20:19:06 +01:00
Nicholas Haley
ab24264df9
docs: spelling and grammar (#6007)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->
This is a demo that uses [Floe](https://www.floe.dev/) to review the
`how-to` directory using the `spelling-and-grammar` rule.

You can read more about the tool here: https://www.floe.dev/docs
2024-01-23 19:52:10 +01:00
Mark Fulton
e9d49d68fd
Docs/license keys (#5959)
New docs page for the beta license keys feature introduced in Unleash
5.8 for self-hosted enterprise users.

---------

Co-authored-by: Ivar Conradi Østhus <ivar@getunleash.io>
2024-01-23 12:17:10 -05:00
Christopher Kolstad
0515b424cd
docs: Added the new more fine-grained project permissions to the docs (#6000)
This adds documentation for the 8 new permissions added last week, in
preparation for including them in the 5.9.0 release.
Related
* https://github.com/Unleash/unleash/pull/5932
* https://github.com/Unleash/unleash/pull/5974
* https://github.com/ivarconr/unleash-enterprise/pull/1000

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-01-23 14:13:03 +01:00
Simon Prickett
8458619d82
Small typo fix. (#5993)
## About the changes

Fixed a small typo "Learnings Paths" -> "Learning Paths".
2024-01-23 11:21:45 +04:00
Nnenna Ndukwe
b64f8ad800
React examples doc with images and relative links (#5921)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

This is a large PR with all of the React examples building on top of the
original tutorial.

Based off of this Google Doc:
https://docs.google.com/document/d/1m3ujgyrkJTCGLsEsBr1_eq4HQKqsf-lfvGFDJobns44/edit

I also included updates to the React tutorial links so they are relative
paths, not full URL paths.

I propose we make fast-follow updates to this piece of documentation for
changes we need to make in order to release and iterate on minor
updates.

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->

website/docs/feature-flag-tutorials/react/examples.md

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-01-18 11:39:25 -05:00
Christopher Kolstad
043beca616
docs: add deprecation notice to Admin tokens (#5909)
We want to deprecate and eventually remove the option for admin tokens.
This PR updates the docs to inform readers about the deprecation as well
as recommending what they can use instead.
2024-01-18 09:58:40 +01:00
Thomas Heartman
b1d7c27124
docs: add a note about suspended change request schedules (#5874)
This PR describes in closer detail what happens when the user who
scheduled a change request is deleted. It mentions the new suspended
state and what the user can do to get out of it.
2024-01-12 13:18:30 +05:30
Thomas Heartman
cb5ed951eb
docs: describe frontend API tokens (#5784)
This change adds a mention of frontend API tokens to the docs. We've
had this functionality for a while, but it appears not to have been
documented.

Realized this as part of triaging #3005.
2024-01-09 19:09:02 +01:00
Nnenna Ndukwe
2590b4eaea
React v3 updates from offsite (#5787)
## About the changes

Adding in all adjustments from the offsite feedback ahead of the
advanced react examples docs.

https://docs.google.com/document/d/1CftjvAo-us23Dub_Z9cDxEVm9GroQf9CtMdbIEUO39E/edit
2024-01-09 08:59:10 -06:00
Jaanus Sellin
d779faf56d
feat: add private collaboration mode docs (#5750) 2024-01-04 10:48:02 +02:00
Antonio Ruiz
ea0f2fa7ce
doc: C++ client supports now feature toggle variants. (#5733) 2023-12-28 10:22:36 +01:00
Thomas Heartman
b5f89d357b
docs: schedule change request docs, take 1 (#5358)
This commit updates the change request docs to talk about how the new
scheduled state works.

The subsection is marked as "in development", saying that it can
change at any moment until the feature is released.
2023-12-22 15:43:47 +01:00
Nnenna Ndukwe
c44601b33c
React Tutorial Improvements (#5657)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

We've made some first round updates to the React tutorial:

- making it more SEO-friendly with ordered lists, sequential language,
description of the JS library
- Switched over the demo app to point to an open source project:
[Cypress Real World
App](https://github.com/cypress-io/cypress-realworld-app)
- included best practice considerations for client-side development
- updated URL path to point to `/feature-flag-tutorials/react` for
simplification


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Would love feedback on if there's a need for more screenshots? Don't
want to be too screenshot-heavy though I imagine.
And need feedback on the descriptions of "Considerations for using
feature flags in react"
https://github.com/Unleash/unleash/compare/react-improvements?expand=1#diff-96d4956f49f80cd76489a72d4d88c2956ce9dcc695f66fe014ad1185e37cb589R21

Want to make sure that what I described makes sense or if it could use
some tweaking to convey the right message clearly.
2023-12-21 10:15:22 -06:00
Pedro Papadopolis
24c2a70138
feat: Make compression middleware optional (#5306)
## Why
Currently AWS API Gateway doesn't have compression enabled by default,
this PR will make it easier to for example deploy Unleash over to AWS
Lambda without further configuration in API Gateway, frameworks like
Serverless requires a bit more work to set up compression and some times
one might not need compression at all.

## How
Create a new config flag called `disableCompression` which will not
include `compression` middleware in express' instance when set as true.
2023-12-16 08:06:26 +01:00
Gard Rimestad
d886c910da
docs: Compare front-end api to edge, not proxy (#5617)
Proxy is superseeded by edge, lets compare to edge instead of the old
proxy.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-14 09:04:44 +01:00
Mateusz Kwasniewski
e32fa396fc
docs: ADR with handling tables (#5561) 2023-12-13 11:09:55 +01:00
Gard Rimestad
d6afe80bab
feat: datadog integration - link to valid source type names (#5608)
Datadog only supports know source_type_names, lets make that easy to
figure out for the user.
2023-12-12 14:37:41 +01:00
Gard Rimestad
685489b9ad
docs: Clarify edge proximity to users (#5601)
A benefit of hosting your own edge instance is that it will be as close
to end users as you are.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-12 12:35:57 +01:00
Gard Rimestad
b9748e0ad6
docs: proxy-hosting link to what frontend api is (#5602)
Adding links to definition of what frontend api is. Can be confusing for
new users to read without seing what it is.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-12 12:35:09 +01:00
Nnenna Ndukwe
7d40ded3c3
Intro React Tutorial (#5579)
## About the changes
Adding in an initial React tutorial with Unleash! This includes
installing Unleash, creating a React application with Vite, then
integrating Unleash to use with a CSS-focused feature toggle.


### Important files

- New File:
`website/docs/feature-flag-tutorials/react/implementing-feature-flags.md`
- Added new tutorial to navigation in `sidebars.js` and
`docusaurus.config.js`



There is a lot of room to make more advanced use case additions to this
React tutorial. For example, addressing SSR.
I think that'd be good for a future iteration to be helpful to the
community.
2023-12-11 12:07:50 -06:00
Thomas Heartman
0060697c01
docs: document how segment conflicts are handled (#5577)
As discovered in the recent segments breakathon, the docs aren't very
clear about how conflicts are handled. This PR better documents when
they can't be deleted or moved. It also mentions the edge case where a
segment is used in an archived flag (it still can't be deleted, so you
must either delete the flag, or revive it and remove the segment)
2023-12-11 11:47:23 +01:00