Feat default surface routing (#4)
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #4.
This commit is contained in:
30
CHANGELOG.md
30
CHANGELOG.md
@@ -2,7 +2,35 @@
|
||||
|
||||
All notable changes to Switchboard Core are documented here.
|
||||
|
||||
## [Unreleased] — v0.2.0
|
||||
## [Unreleased] — v0.2.1
|
||||
|
||||
### Added
|
||||
|
||||
- **Default surface routing**: `/` redirects to configurable default surface.
|
||||
Fallback chain: configured default → first enabled extension surface → `/admin`.
|
||||
First installed extension surface auto-becomes default. Admin can change via
|
||||
Settings > Default Surface dropdown.
|
||||
- `default_surface` global config key (JSON `{"id": "slug"}`)
|
||||
- Admin settings UI: Default Surface dropdown (extension surfaces only)
|
||||
|
||||
### Changed
|
||||
|
||||
- `disabledRedirect()` now redirects to `/admin` instead of `/` to prevent
|
||||
redirect loops when the default surface is disabled
|
||||
- Disabled extension surfaces (`/s/:slug`) redirect to `/admin` instead of `/`
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Gin route param conflict** causing backend startup hang: team-scoped
|
||||
package settings routes used `:pkgId` while sibling routes used `:id`.
|
||||
Gin's radix tree entered an infinite loop on the conflicting param names.
|
||||
Unified to `:id` across all `/teams/:teamId/packages/` routes.
|
||||
- Docker entrypoint: increased health check timeout (10s → 60s), added stale
|
||||
process cleanup and crash detection to prevent zombie backends on restart
|
||||
|
||||
---
|
||||
|
||||
## [v0.2.0] — 2026-03-26
|
||||
|
||||
### Added
|
||||
|
||||
|
||||
Reference in New Issue
Block a user