Skip to content

Commit 68c09cb

Browse files
committed
Merge branch 'main' into chore/componentise-feature-override-row
# Conflicts: # frontend/web/components/feature-summary/FeatureTags.tsx # frontend/web/components/pages/UserPage.tsx
2 parents 43e32ad + 1d07e86 commit 68c09cb

File tree

76 files changed

+2392
-785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2392
-785
lines changed

.github/workflows/.reusable-deploy-ecs.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,21 @@ jobs:
115115
- name: Cloning repo
116116
uses: actions/checkout@v5
117117

118+
# Temporarily install Firefox 143.0 to avoid test failures as superior versions cause frontend e2e tests to hang
119+
# To be removed once upstream issue correctly resolved
120+
- name: Install Firefox 143.0
121+
run: |
122+
sudo apt-get remove -y firefox || true
123+
sudo rm -rf /usr/bin/firefox /usr/lib/firefox*
124+
125+
ARCH=$(uname -m)
126+
wget -O /tmp/firefox.tar.xz "https://ftp.mozilla.org/pub/firefox/releases/143.0/linux-${ARCH}/en-US/firefox-143.0.tar.xz"
127+
sudo tar -xJf /tmp/firefox.tar.xz -C /opt
128+
sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
129+
rm /tmp/firefox.tar.xz
130+
131+
firefox --version
132+
118133
- name: Run E2E tests against ${{ inputs.environment }}
119134
uses: ./.github/actions/e2e-tests
120135
with:

.github/workflows/frontend-deploy-production.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,21 @@ jobs:
2020
steps:
2121
- name: Cloning repo
2222
uses: actions/checkout@v5
23+
24+
# Temporarily install Firefox 143.0 to avoid test failures as superior versions cause frontend e2e tests to hang
25+
# To be removed once upstream issue correctly resolved
26+
- name: Install Firefox 143.0
27+
run: |
28+
sudo apt-get remove -y firefox || true
29+
sudo rm -rf /usr/bin/firefox /usr/lib/firefox*
30+
31+
ARCH=$(uname -m)
32+
wget -O /tmp/firefox.tar.xz "https://ftp.mozilla.org/pub/firefox/releases/143.0/linux-${ARCH}/en-US/firefox-143.0.tar.xz"
33+
sudo tar -xJf /tmp/firefox.tar.xz -C /opt
34+
sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
35+
rm /tmp/firefox.tar.xz
36+
37+
firefox --version
2338
2439
- name: Run E2E tests against production
2540
uses: ./.github/actions/e2e-tests

.github/workflows/frontend-test-staging.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,22 @@ jobs:
1515
- name: Cloning repo
1616
uses: actions/checkout@v5
1717

18+
# Temporarily install Firefox 143.0 to avoid test failures as superior versions cause frontend e2e tests to hang
19+
# To be removed once upstream issue correctly resolved
20+
- name: Install Firefox 143.0
21+
run: |
22+
sudo apt-get remove -y firefox || true
23+
sudo rm -rf /usr/bin/firefox /usr/lib/firefox*
24+
25+
ARCH=$(uname -m)
26+
wget -O /tmp/firefox.tar.xz "https://ftp.mozilla.org/pub/firefox/releases/143.0/linux-${ARCH}/en-US/firefox-143.0.tar.xz"
27+
sudo tar -xJf /tmp/firefox.tar.xz -C /opt
28+
sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
29+
rm /tmp/firefox.tar.xz
30+
31+
firefox --version
32+
33+
1834
- name: Run E2E tests against staging
1935
uses: ./.github/actions/e2e-tests
2036
with:

.husky/pre-commit

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
1-
#!/bin/sh
1+
#!/usr/bin/env bash
22
. "$(dirname "$0")/_/husky.sh"
33

4-
cd ./frontend && npx lint-staged --allow-empty
4+
# Load nvm for GUI apps (supports both standard and Homebrew installations)
5+
export NVM_DIR="$HOME/.nvm"
6+
if [ -s "$NVM_DIR/nvm.sh" ]; then
7+
. "$NVM_DIR/nvm.sh"
8+
elif [ -s "/opt/homebrew/opt/nvm/nvm.sh" ]; then
9+
. "/opt/homebrew/opt/nvm/nvm.sh"
10+
fi
11+
12+
# Auto-load Node version from .nvmrc if NVM is available
13+
if command -v nvm &> /dev/null; then
14+
cd ./frontend
15+
# Try to use version from .nvmrc, fallback to default if not installed
16+
nvm use 2>/dev/null || nvm use default 2>/dev/null || nvm use node 2>/dev/null || true
17+
else
18+
cd ./frontend
19+
fi
20+
21+
npx lint-staged --allow-empty

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
33
# Ruff version.
4-
rev: v0.14.3
4+
rev: v0.14.4
55
hooks:
66
# Run the linter.
77
- id: ruff

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.199.0"
2+
".": "2.201.3"
33
}

CHANGELOG.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,87 @@
11
# Changelog
22

3+
## [2.201.3](https://github.com/Flagsmith/flagsmith/compare/v2.201.2...v2.201.3) (2025-11-13)
4+
5+
6+
### Bug Fixes
7+
8+
* remove AWS_SSE_LOGS_BUCKET_NAME from task processor definition ([#6289](https://github.com/Flagsmith/flagsmith/issues/6289)) ([2ddfe67](https://github.com/Flagsmith/flagsmith/commit/2ddfe672cd84344e5d494c4bac99bbcaf94c8c70))
9+
* Revert: chore(sales-dashboard): add multiselect to plan filter ([#6286](https://github.com/Flagsmith/flagsmith/issues/6286)) ([139af3e](https://github.com/Flagsmith/flagsmith/commit/139af3e502b90aed95b3ad959b94a7211bae9931))
10+
11+
## [2.201.2](https://github.com/Flagsmith/flagsmith/compare/v2.201.1...v2.201.2) (2025-11-13)
12+
13+
14+
### Bug Fixes
15+
16+
* move AWS_SSE_LOGS_BUCKET_NAME to task-processor definition ([#6284](https://github.com/Flagsmith/flagsmith/issues/6284)) ([58e0e79](https://github.com/Flagsmith/flagsmith/commit/58e0e792e48aab8c322dbf22f8b73c8b122917e7))
17+
18+
## [2.201.1](https://github.com/Flagsmith/flagsmith/compare/v2.201.0...v2.201.1) (2025-11-12)
19+
20+
21+
### Bug Fixes
22+
23+
* Ensure `PROMETHEUS_MULTIPROC_DIR` at buildtime ([#6281](https://github.com/Flagsmith/flagsmith/issues/6281)) ([ab1aaf3](https://github.com/Flagsmith/flagsmith/commit/ab1aaf30e070001dc6b9e0471e9ba129f1524e4c))
24+
25+
26+
### Dependency Updates
27+
28+
* Bump flagsmith-common from 2.2.4 to 2.2.7 ([ab1aaf3](https://github.com/Flagsmith/flagsmith/commit/ab1aaf30e070001dc6b9e0471e9ba129f1524e4c))
29+
30+
## [2.201.0](https://github.com/Flagsmith/flagsmith/compare/v2.200.0...v2.201.0) (2025-11-12)
31+
32+
33+
### Features
34+
35+
* Add a view mode selector for diffing features ([#6272](https://github.com/Flagsmith/flagsmith/issues/6272)) ([4895346](https://github.com/Flagsmith/flagsmith/commit/48953464e2ee7daa23d7e5d060525c67f5befde9))
36+
* Improve flag analytics ([#6150](https://github.com/Flagsmith/flagsmith/issues/6150)) ([37f6f92](https://github.com/Flagsmith/flagsmith/commit/37f6f9248fd0a08ade3976edce24d046130ac552))
37+
38+
39+
### Bug Fixes
40+
41+
* accessing-length-on-undefined-code-reference-count ([#6280](https://github.com/Flagsmith/flagsmith/issues/6280)) ([2521e15](https://github.com/Flagsmith/flagsmith/commit/2521e15863980fd16975c0956ef527dd4ae96a44))
42+
* Diff strings considering spaces ([#6271](https://github.com/Flagsmith/flagsmith/issues/6271)) ([8efb108](https://github.com/Flagsmith/flagsmith/commit/8efb10862ee2782bd79699abe1c332130be7bfa7))
43+
* re-enable sse usage tracking ([#6232](https://github.com/Flagsmith/flagsmith/issues/6232)) ([dd28ed5](https://github.com/Flagsmith/flagsmith/commit/dd28ed5b076b0d8a136f1d7877b00c85450a1534))
44+
45+
## [2.200.0](https://github.com/Flagsmith/flagsmith/compare/v2.199.0...v2.200.0) (2025-11-11)
46+
47+
48+
### Features
49+
50+
* add pylon chat ([#6214](https://github.com/Flagsmith/flagsmith/issues/6214)) ([7a5f64d](https://github.com/Flagsmith/flagsmith/commit/7a5f64dd4643012c0e9b691316de326c1478f89e))
51+
* added-query-param-to-get-segment-feature-states ([#6156](https://github.com/Flagsmith/flagsmith/issues/6156)) ([9ad82d5](https://github.com/Flagsmith/flagsmith/commit/9ad82d53818eecb6cda44de9cf61a9d5be3ae46e))
52+
* context values - implement multi-select dropdown on envs ([#6239](https://github.com/Flagsmith/flagsmith/issues/6239)) ([331cd9e](https://github.com/Flagsmith/flagsmith/commit/331cd9eadf74e62bb5809dd9f279b97df8f54589))
53+
* trigger FLAG_UPDATED webhooks for v2 versioning environments ([#6240](https://github.com/Flagsmith/flagsmith/issues/6240)) ([94afd46](https://github.com/Flagsmith/flagsmith/commit/94afd46a263172b11b9e212aa23cbe55bc644e20))
54+
55+
56+
### Bug Fixes
57+
58+
* added-tags-in-approval-has-permissions ([#6227](https://github.com/Flagsmith/flagsmith/issues/6227)) ([d4229a9](https://github.com/Flagsmith/flagsmith/commit/d4229a9f9a6aec01e201b5c43b13d0d738153b97))
59+
* metrics endpoint identity overrides ([#6159](https://github.com/Flagsmith/flagsmith/issues/6159)) ([b44cf42](https://github.com/Flagsmith/flagsmith/commit/b44cf4258f3e518e79448805dba08aab1a51e333))
60+
* Pin firefox version ([#6244](https://github.com/Flagsmith/flagsmith/issues/6244)) ([3f8b260](https://github.com/Flagsmith/flagsmith/commit/3f8b260832b9e964d2f4480394491bc83d35e34f))
61+
* properly deal with context values dropdown ([#6222](https://github.com/Flagsmith/flagsmith/issues/6222)) ([bca5744](https://github.com/Flagsmith/flagsmith/commit/bca5744614ccaca1b9eeec648748eca741eb8f0e))
62+
* resolve flaky test due to non-deterministic variation ordering ([#6269](https://github.com/Flagsmith/flagsmith/issues/6269)) ([f8a3381](https://github.com/Flagsmith/flagsmith/commit/f8a3381120649276440987dbe4bb7daf05fa6bc8))
63+
* Revert "infra: Remove PGP key from SaaS build" ([#6197](https://github.com/Flagsmith/flagsmith/issues/6197)) ([db16264](https://github.com/Flagsmith/flagsmith/commit/db162648b30105ae123bcb2b86be628a7f5535ea))
64+
* segment change request warning shows on all segments ([#6255](https://github.com/Flagsmith/flagsmith/issues/6255)) ([560a04d](https://github.com/Flagsmith/flagsmith/commit/560a04d0e8c40314e4bac4e0216d4b0360b324bf))
65+
* show whitespace warnings for IN operator comma-separated values ([#6203](https://github.com/Flagsmith/flagsmith/issues/6203)) ([1b75a10](https://github.com/Flagsmith/flagsmith/commit/1b75a10d0b951c8db30ce4a9322b9eb81ee11288))
66+
* **sse_stream_access_logs:** Add timeout ([#6198](https://github.com/Flagsmith/flagsmith/issues/6198)) ([4d15821](https://github.com/Flagsmith/flagsmith/commit/4d1582119cad72ea817c64bdfd22125d17c7a6a5))
67+
* switched-allow-context-values-to-disabled ([#6216](https://github.com/Flagsmith/flagsmith/issues/6216)) ([f95a4f6](https://github.com/Flagsmith/flagsmith/commit/f95a4f6f47b37b2b747a1fc58ff496e82aca3a64))
68+
69+
70+
### Infrastructure (Flagsmith SaaS Only)
71+
72+
* Remove PGP key from SaaS build ([#6194](https://github.com/Flagsmith/flagsmith/issues/6194)) ([9b43a37](https://github.com/Flagsmith/flagsmith/commit/9b43a379de18f0ddf18d7de470f94e9cb8531bf2))
73+
74+
75+
### Dependency Updates
76+
77+
* bump django from 4.2.25 to 4.2.26 in /api ([#6249](https://github.com/Flagsmith/flagsmith/issues/6249)) ([4e474f1](https://github.com/Flagsmith/flagsmith/commit/4e474f1e7615fa40691da102354e7e8498a579b9))
78+
* Bump flagsmith-common from 2.2.2 to 2.2.3 ([#6235](https://github.com/Flagsmith/flagsmith/issues/6235)) ([7474ba9](https://github.com/Flagsmith/flagsmith/commit/7474ba9961912be68cae6605179b3dc5a7b02605))
79+
* Bump flagsmith-common from 2.2.3 to 2.2.4 ([#6237](https://github.com/Flagsmith/flagsmith/issues/6237)) ([5926910](https://github.com/Flagsmith/flagsmith/commit/5926910729572f5ff6f330f9c309ae78f5f38f29))
80+
* bump flagsmith-common to 2.2.2 ([#6225](https://github.com/Flagsmith/flagsmith/issues/6225)) ([786cbd9](https://github.com/Flagsmith/flagsmith/commit/786cbd9d09605a35c3df5044b1fad099ed9eba91))
81+
* bump flagsmith-workflows to 3.1.0 ([#6140](https://github.com/Flagsmith/flagsmith/issues/6140)) ([33ad626](https://github.com/Flagsmith/flagsmith/commit/33ad6265af25e9887f2c158ccc381db449dabf06))
82+
* update flagsmith js client dependency ([#6257](https://github.com/Flagsmith/flagsmith/issues/6257)) ([c4b5a4a](https://github.com/Flagsmith/flagsmith/commit/c4b5a4a97bd1416bdd870a0fce5bceac731edb23))
83+
* update flagsmith-common 2.2.6 ([#6267](https://github.com/Flagsmith/flagsmith/issues/6267)) ([64aa842](https://github.com/Flagsmith/flagsmith/commit/64aa842e6ec7f5ac283ae3bb3171983bfcfe6f77))
84+
385
## [2.199.0](https://github.com/Flagsmith/flagsmith/compare/v2.198.1...v2.199.0) (2025-10-22)
486

587

Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,16 @@ WORKDIR /app
128128
COPY api /app/
129129
COPY .release-please-manifest.json /app/.versions.json
130130

131+
ARG PROMETHEUS_MULTIPROC_DIR="/tmp/prometheus"
131132
ARG ACCESS_LOG_LOCATION="/dev/null"
132-
ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} DJANGO_SETTINGS_MODULE=app.settings.production
133+
ENV ACCESS_LOG_LOCATION=${ACCESS_LOG_LOCATION} \
134+
PROMETHEUS_MULTIPROC_DIR=${PROMETHEUS_MULTIPROC_DIR} \
135+
DJANGO_SETTINGS_MODULE=app.settings.production
133136

134137
ARG CI_COMMIT_SHA
135-
RUN echo ${CI_COMMIT_SHA} > /app/CI_COMMIT_SHA
138+
RUN echo ${CI_COMMIT_SHA} > /app/CI_COMMIT_SHA && \
139+
mkdir -p ${PROMETHEUS_MULTIPROC_DIR} && \
140+
chown nobody ${PROMETHEUS_MULTIPROC_DIR}
136141

137142
EXPOSE 8000
138143

api/environments/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -635,9 +635,9 @@ def generate_webhook_feature_state_data(
635635
environment: Environment,
636636
enabled: bool,
637637
value: typing.Union[str, int, bool, type(None)], # type: ignore[valid-type]
638-
identity_id: typing.Union[int, str] = None, # type: ignore[assignment]
639-
identity_identifier: str = None, # type: ignore[assignment]
640-
feature_segment: FeatureSegment = None, # type: ignore[assignment]
638+
identity_id: int | str | None = None,
639+
identity_identifier: str | None = None,
640+
feature_segment: FeatureSegment | None = None,
641641
) -> dict: # type: ignore[type-arg]
642642
if (identity_id or identity_identifier) and not (
643643
identity_id and identity_identifier

api/features/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def _get_feature_state_webhook_data(feature_state, previous=False): # type: ign
9090
enabled=feature_state.enabled,
9191
value=feature_state_value,
9292
identity_id=feature_state.identity_id,
93-
identity_identifier=getattr(feature_state.identity, "identifier", None), # type: ignore[arg-type]
93+
identity_identifier=getattr(feature_state.identity, "identifier", None),
9494
feature_segment=feature_state.feature_segment,
9595
)
9696

0 commit comments

Comments
 (0)