docs: update links for local evaluation and edge proxy docs#7961
docs: update links for local evaluation and edge proxy docs#7961nattiechan wants to merge 7 commits into
Conversation
|
@nattiechan is attempting to deploy a commit to the Flagsmith Team on Vercel. A member of the Team first needs to authorize it. |
📝 WalkthroughWalkthroughThis pull request updates documentation link targets from an older integration-overview URL structure to SDK-specific anchors for Local Evaluation Mode and Environment Document references across several docs pages. It also adds new Edge Proxy Estimated code review effort: 2 (Simple) | ~15 minutes Changes
Sequence Diagram(s)Not applicable — this PR consists of documentation link/content updates and regenerated API reference schemas with no observable runtime interaction flow. Related issues: None specified. Related PRs: None specified. Suggested labels: documentation Suggested reviewers: None specified. Comment |
The current link does not link to relevant content, so this commit fixes the issue
- Add default info to `api_url` config - Add more info on identity override troubleshooting
Update the links to local evaluation mode to be more specific depending on the context
There is a more comprehensive link in SDK overview, so using that one instead
0a9a01e to
5dad1e3
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 9f45b787-8937-428e-85c2-af8abc9a2a9f
📒 Files selected for processing (15)
docs/docs/administration-and-security/billing-api-usage.mddocs/docs/administration-and-security/governance-and-compliance/api-usage.mddocs/docs/best-practices/defensive-coding.mddocs/docs/best-practices/efficient-api-usage.mddocs/docs/deployment-self-hosting/edge-proxy.mddocs/docs/getting-started/glossary.mddocs/docs/integrating-with-flagsmith/sdks/index.mddocs/docs/performance/edge-proxy.mddocs/docs/sdk-api/flagsmith-api.info.mdxdocs/docs/sdk-api/sdk-v-1-environment-document.api.mdxdocs/docs/sdk-api/sdk-v-1-flags.api.mdxdocs/docs/sdk-api/sdk-v-1-get-identities.api.mdxdocs/docs/sdk-api/sdk-v-1-post-identities.api.mdxdocs/docs/sdk-api/sdk.tag.mdxdocs/docs/sdk-api/sidebar.ts
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: d10c31f1-548e-46db-90cc-06ec405d61aa
📒 Files selected for processing (15)
docs/docs/administration-and-security/billing-api-usage.mddocs/docs/administration-and-security/governance-and-compliance/api-usage.mddocs/docs/best-practices/defensive-coding.mddocs/docs/best-practices/efficient-api-usage.mddocs/docs/deployment-self-hosting/edge-proxy.mddocs/docs/getting-started/glossary.mddocs/docs/integrating-with-flagsmith/sdks/index.mddocs/docs/performance/edge-proxy.mddocs/docs/sdk-api/flagsmith-api.info.mdxdocs/docs/sdk-api/sdk-v-1-environment-document.api.mdxdocs/docs/sdk-api/sdk-v-1-flags.api.mdxdocs/docs/sdk-api/sdk-v-1-get-identities.api.mdxdocs/docs/sdk-api/sdk-v-1-post-identities.api.mdxdocs/docs/sdk-api/sdk.tag.mdxdocs/docs/sdk-api/sidebar.ts
| hide_title: true | ||
| hide_table_of_contents: true | ||
| api: eJztWNtu2zgQ/RWC+5BdQLaT7kMBoVusm6SA0VsQp8UCTpDS4thiLZEsSTlRDf37YkjJlpy4cS8LFNi82dLM8MxwzhmKK6o0GOaEkiNOY2r54np5dK2VddeCg3TCCbA0ohxsYoRGQxrTkX81KwkjhQUTEQuOuBSEIc4w4WxEmOTEgDMCllC/mmVsbvs0ogY+F2DdC8VLGq/8X2GA09iZAiKaKOlAOnzFtM5E4vENPllce0VtkkLO8FcX1McB02KwPBpsgA8+knqt/qW8lO8tcOLUBpdHRGbKECZJ7VZ66NYpA0Q4WyeEsF2pgcZUTT9B4mhEtcHi+QLFKxrcZwIM/qttrTNCztFXuAw2lUOrKqIhtk9Ulu9mNJ6sqHCQ27vZnYM2YEE6SxhZQNlbsqwAollTc6KNWgoOnDBLhNSFIzcpSJIYYE7IOVGGFJqH3610H87Mh79eQPm1xC48hldQrvO69gi7ydXeU6UyYJJW0fqRLPKpL8r6iZAO5vWjnN2+Bjl3KY2fHB4eRlswOnGyjFZX28A+eCwBmrSiaa+9gN0NWEeoqqjVvJNWobol2EYzwt3xYMISzBhWPpyE/a/xt1q4Zf/haLQm1Hlgk/dsc/O2d3Nz05spk/cKk4FMFMeQj2R9JOsjWX8FsuZF5oRmxg08STlz7JGej/R8pOevQM/ga7WSNnTJk8PDu11Lf/rJOKzo6dyihEthw1/f8cDXDQ88IixTck5uhEs9qdfH+p/PaR+6ZR42N9qL11bIeRZkifw+A+YKA8Q65uAPFK3CSOBkWvp0X+I6OSY0Pnn1cCp1tAcAbILW9hHhMBO4LPMKg7FJBkvI9qleqwwNm9tlw3JJlsPXivsW36+psqIsy7otv/YAWeTYxeOL4duT4fkJjeib968vRh+G56PhxWmHhaWGk6dPT9Gj2np+DytoDbNG0XJ4WVe1wuXZNIN2yg0ZN+antQ22SfC89rv7Falsq+Buku+hgzVUMsYFGz3cSrVpkk029wPtqAP2jN+hZiFPgM50+w4qbI04Zq1KhKe1J/H/dYB958Rp708zS3aLfyNi6y3cOQ2CGvtxUEXUQlIY4UpfqVO5FEbJHKQjw7ORr2w8ufKZeYWc4M0Nhs7BpQpvcvAKBzePYZnoPQOA4hpmCcb6JQqT0ZimzmkbD9C8P2v0q5+o/M4V0EbdjvF0Nzwb+cJ3wwCfQ/9bYp3yeR3ralOCMY610H33FmLDCS1e+e0TGDUFxv0GBFmk//Ra3r1guIVDGRwABCTXSkhn++QZI6mB2V8HTUpcJbabziDJ8ARgBwas+00X00wkPaZFbx3m4PlLITlRhSO5MvBswJ73sYveMOvAfHMiw8KlyogvfvjfSeLbERuxZA72gzxlViQIoIUWF8Ju8tuEhEYbzxK1ALll/COpXWC83pThpwcrXIq9HI5AQcgaChJtYCZuyWXwuKSeoHhKOt/cPJ7eslxnsH00aYlZLbmTjuhtvW90Ldxctg6U+MDzc+sRJj5TviBtjffdj40fUaRkyHd5tJsqBzYQDz+wsGeHZyPbJ8cpJAu/a3u0wcHzzdJcJQXywlcz7HY4brLEHzchZwKZbQutlXF/dwldRTQTCaB8xatmL1+MT8jr+mnUrfGL8Unvz95xxgobdBjVKmey5W35giyPCL4gu2+iV5sj8Y9eStf96eDWDXTGBA6kIGerWkUn2Ly4QUfrfGpMqLwpCm48oasVNuh7k1UVPv5cgPFiHdElMwJPAl66o6b3sb9CZx2HVHr+5ITmvrP2uGdD4Q0hhkkC2u1w9p8JVXtInL0bX9CITuuL+Fxx9GlFjtp/Amx2h89hZNY/WoOdybKF5D75DaAX0Plg67qtVkExqmptv6y/P3d4rDUlWONGXlVV9S+yWqHx | ||
| api: eJztWFlv4zYQ/iuE+pC2sOykfVgg2C7qzQEYeyLHokCySGhpHHMjUSpJOXEN//fODCWLcpxN9ij2oXmTyLk53zeUFlFRgpFOFXqURruRTa8vZjsXZWHdhUpBO+UU2KgXpWATo0oSRLERb03mQorKgukJC064KSgjnJHK2Z6QOhUGnFEwg3prkskr20djBv6uwLqXRTqPdhf8qgygf2cq6EVJoR3apy1ZlplKOL7BJ0u+F5FNppBLeuoGdTmQpRrMdgZt4INLUfvqn+tzfWohFa5o4+KIxKQwGK6o1eYcunWFAYGZ1AlR2G5eAvopxp8gcfheGioeFwiD8eoTBYbealmLjvQV6SqXQVs5klriKtvmRPX83STaPUM7DnJ7N7sjKA1YVLZY9GuYxzOZVSBK2dRcYDgzDCIV0gqly8qJmylokRjA+ukrgVlWZeqfg3QfzozNX6DPzyV2wjG8QqEmrwuOsJtcra3wgK+4BKslXeXj7sq4KDKQOlyqvXbUsixaflyP4wO79pFoq5puWo9jg4tNBmsLy2Uv6NWzoC7djNejGdFhcDDehTRGzh9Owv7X8QcdG8h/2Bmt8HPkwcOaIRRv45ubmxhxk8eVyUAnRUomn7D5hM0nbP4AbOZV5lQpjRswJrGR5BMan9D4hMYfgEava8tCW98Uv21v323S6Ltfc71HRm+AALx5t3DlBse2b/obUrynZwV2+Y1yU8bw6o7+/SHMpgNxf7i9R8HYouHMs5D4eYJZVMg51mEKvxBHVUZjWuM5p3tIfnJK6Hj/1cOp1NYeCKA1Wsv3RAoTRW4lEwrZFhlSZfaY6gVlaBAelo3KpWUOnyvuW9pfQQV7KMvqlu+m8au4PD4Zvt0fHu1filg0z+caN96cvj4ZfRgejYYnB7QZvrdZrFwDUg/BobGBSx2NEEuouv/s2QFpLNfWN8ArqvOtfQYKh/XxLMm9HGcQ1q5BdSt+UMtQv3nNC26TL6PYryPUOlRxTA4bYl1Ltem2NpvNgXZohpqPj7pxxEjqTMWvwNTaaJTWFolifmA2+J8Mvq+cVOFxNDPo/qHRkN/qxO6dIp7FeYygOQtJZfAAuDAHeqZMoXMUFsP3Iy7k7tlHzoyZ9Yx+35DpHNy0oN859B+Hzkq6Kb5tGBwR+TAzMJZd4Mccyk2dK+3uYADpFfRRpz9pyK+fFPmdn0EtNR6gAoXG1W5iP6Y55rtkYwZt75bqFdddkdUpyJQr53kw+isOtGMvuBYHjjVkfAE6LQtsH9sXz6WYGpj8sdWklBaJ7aYzSDIa+XaAwHA/ldUYB3GMocQrM1svDhXecwu8JuZ41X0+kC/6dPxvpHVgvjiRYYWHY9Q/PO03JjFMc6XZ7jelYtQM0fy4XMbSqoQiC9IgR9QffH4ENpLhvi+uQa8Jf0vOJ2QvRvM0TFGSutNfhjwTNaDCMYsj91ace43ziCFH96Wj9ofiwa3MywzWLykBG9WcedZhrbX9hpi2O/dK+j3JcFtboqwnBVcjZGjGBMGhFxHCfLKznfsBtGXFHn1M0WcVdTLq4snvTSG55iN7RA/gAa9c425FaOFS+qP2t06Z8K0Tr5eK8G6rsiyM+7MLc8wKoQDERihbH+TL433xul7tdQuMW/Hv8V4mK+tplcgnlzrQRnoSsx1BG6IlofV6LNqb8bf+aK6b08GtG5SZVDQpPMktalI8o86lA9pZ5VPHREQ6Jf5EmcWCuvPUZMslLWOzGeZe1JNG0RxnJu41jU/N5dtqz6cS872HxLmtHvEzjQaYNzFMEijdPcr8tbAMOf/9u+MTFB7XP9dztIargeVe+OLDlnfA7Cdg/RCMZZzTQSSbSNkHfQ2d77au2mLh6QKr2cjP6s/QezRWhOKl6SA/4oT8F3jekSs= |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Locate the affected docs file and nearby source specs/definitions.
git ls-files | rg -n 'docs/docs/sdk-api/sdk-v-1-post-identities\.api\.mdx|sdk-v-1-post-identities|identities|trait_value|traits'Repository: Flagsmith/flagsmith
Length of output: 5927
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the OpenAPI/spec and serializer definitions for the trait value limit.
for f in \
api/environments/identities/traits/openapi.py \
api/environments/identities/traits/serializers.py \
api/environments/identities/traits/constants.py \
api/util/engine_models/identities/traits/types.py \
api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py \
docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx
do
echo "===== $f ====="
wc -l "$f"
done
echo "===== rg trait_value / maxLength ====="
rg -n "trait_value|maxLength|2000" \
api/environments/identities/traits/openapi.py \
api/environments/identities/traits/serializers.py \
api/environments/identities/traits/constants.py \
api/util/engine_models/identities/traits/types.py \
api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py \
docs/docs/sdk-api/sdk-v-1-post-identities.api.mdxRepository: Flagsmith/flagsmith
Length of output: 8186
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "===== api/environments/identities/traits/constants.py ====="
cat -n api/environments/identities/traits/constants.py
echo "===== api/environments/identities/traits/serializers.py ====="
cat -n api/environments/identities/traits/serializers.py
echo "===== api/environments/identities/traits/openapi.py ====="
cat -n api/environments/identities/traits/openapi.py
echo "===== api/util/engine_models/identities/traits/types.py ====="
cat -n api/util/engine_models/identities/traits/types.py
echo "===== api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py ====="
cat -n api/tests/unit/environments/identities/traits/test_unit_traits_serializers.pyRepository: Flagsmith/flagsmith
Length of output: 11146
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "===== usages of TRAIT_STRING_VALUE_MAX_LENGTH ====="
rg -n "TRAIT_STRING_VALUE_MAX_LENGTH|StringConstraints|max_length=2000|2000" api docs frontend
echo "===== TraitValueField definition ====="
fd -a 'fields.py' api/environments/identities/traits api/util/engine_models/identities/traits
cat -n api/environments/identities/traits/fields.py
echo "===== SDK serializer and view usage ====="
rg -n "SDKBulkCreateUpdateTraitSerializer|TraitValueField|TraitValueFieldExtension|traits" api/environments api/tests/unit/environments api/tests/integration/environmentsRepository: Flagsmith/flagsmith
Length of output: 50376
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "===== usages of TRAIT_STRING_VALUE_MAX_LENGTH ====="
rg -n "TRAIT_STRING_VALUE_MAX_LENGTH|StringConstraints|max_length=2000|2000" api docs frontend
echo "===== TraitValueField definition ====="
cat -n api/environments/identities/traits/fields.py
echo "===== SDK serializer and view usage ====="
rg -n "SDKBulkCreateUpdateTraitSerializer|TraitValueField|TraitValueFieldExtension|traits" api/environments api/tests/unit api/tests/integrationRepository: Flagsmith/flagsmith
Length of output: 50376
Restore the 2000-character limit for traits[].trait_value
docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx:57-65 now advertises arbitrary-length strings, but the API still caps string traits at 2000 characters. Update the schema to match the server-side limit, or widen the validator too.
🧰 Tools
🪛 Betterleaks (1.6.0)
[high] 8-8: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Based on my experience implementing Flagsmith Client SDK, and Server SDK via edge proxy, I decided to update some of the documentation around local evaluation and edge proxy to clear up some confusion I had during the implementation. The contribution stemmed from this discord message: https://discord.com/channels/517647859495993347/917719343930957846/1521555745798226093
I also updated the openAPI docs accordingly per
READMEin/docs, though unsure if I have done it correctly.How did you test this code?
Ran server locally via
make serveto visualize the changes locally.