Merged
Conversation
Clarity's two-stage loading injects a script from www.clarity.ms (tag loader) which then dynamically fetches the actual library from scripts.clarity.ms. Only the former was allowed in the CSP, causing the Clarity script to be blocked in production. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…res (#301) - Introduce lazyWithRetry utility to reload the page on lazy chunk load failure and apply to page routes in app.tsx. - Update RouteErrorBoundary to detect chunk load errors, show a “New version available” message, and reload on user action. - Add no-cache Cache-Control header for SPA index routing in frontend and prod Nginx configs to ensure fresh chunks after deployments. - Implement new lib/lazy-with-retry.ts with reload-on-failure logic and loop protection. - Refactor frontend to use lazyWithRetry for all pages.
- Add showChevron prop to StatusIndicator to pass through and show chevron when isRetrievalWithSources is active - Extend ChainOfThoughtTrigger with showChevron (default false) and render ChevronDown when enabled
* feat(users): add tunnel credentials endpoint
- implement GET /me/tunnel-credentials to fetch ngrok authtoken scoped to user domain
- derive domain as {username}.{ngrok_base_domain}, not persisted
- integrate with ngrok REST API via httpx AsyncClient
- add 503 when ngrok API key not configured
- map ngrok errors to 502 with descriptive messages
- add progress logging via logger
- introduce new settings: ngrok_api_key and ngrok_base_domain
- add TunnelCredentialsResponse schema (auth_token, domain)
- add tests in tests/test_tunnel_credentials.py covering success and failure paths
* feat(ngrok): add ngrok API key support and persistence
- add NGROK_API_KEY to .env.deploy.example with optional value
- pass NGROK_API_KEY from secrets in CI workflows and export for docker-compose
- persist NGROK_API_KEY into .env during CI runs
- update docker-compose.deploy.yml to propagate NGROK_API_KEY as an env var
- document NGROK_API_KEY usage and default behavior in config samples
- Add Alembic migration 006_json_to_jsonb to convert endpoints JSON columns (tags, contributors, policies, connect) from json to jsonb on PostgreSQL - Update EndpointModel to use a JSONType that selects JSONB for PostgreSQL and plain JSON for SQLite (tests) - Update EndpointRepository to use jsonb_array_length for the guest-accessible empty-policies check - Include downgrade path to revert jsonb back to json
…ion (#307) 006_json_to_jsonb referenced non-existent revision 005_otp_requester_ip, causing Alembic to crash with a KeyError during deploy. The actual chain head is 003_encryption_key.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Sync
This sync includes workflow file changes which require manual merge:
GITHUB_TOKEN cannot modify workflow files due to security restrictions.
Please merge this PR manually to keep
devup to date withmain.