Skip to content

Sync main into dev#300

Merged
IonesioJunior merged 6 commits intodevfrom
main
Mar 4, 2026
Merged

Sync main into dev#300
IonesioJunior merged 6 commits intodevfrom
main

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 3, 2026

Automated Sync

This sync includes workflow file changes which require manual merge:

$WORKFLOW_CHANGES

GITHUB_TOKEN cannot modify workflow files due to security restrictions.
Please merge this PR manually to keep dev up to date with main.

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.
@IonesioJunior IonesioJunior merged commit 1ef4733 into dev Mar 4, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant