sagit
3044bf3d3c
fix: add missing ip_preference column to PostgreSQL tunnel table
2.1.4-alpha4
2026-02-15 16:25:51 +00:00
sagit
1b4500202a
feat: update agents.md and add a feat ( #128 )
...
* docs(agents): update knowledge base with encryption, API envelope, and build conventions
Add comprehensive documentation of project conventions including:
- Encryption patterns (AES with node secret PSK)
- API envelope structure (code, msg, data, ts)
- Build peculiarities (minify: false, rolldown-vite, UPX compression)
- Unique styles (flat monorepo, asymmetric Go layout, hybrid frontend mode)
- Module boundaries and anti-patterns
- Large file hotspots and code map references
Updated 7 AGENTS.md files across root and submodules.
* test(backend): add comprehensive dual-stack IP preference test suite
Added 43 tests covering:
- Core IP selection logic (selectTunnelDialHost)
- Node capability detection (nodeSupportsV4/V6)
- Address picker functions
- API contract tests for create/update/list
- Database compatibility (SQLite + PostgreSQL)
Fixed pre-existing broken test in federation_runtime_test.go
2026-02-15 15:17:15 +00:00
sagit
9a9e83dda0
docs(agents): update knowledge base with encryption, API envelope, and build conventions ( #127 )
...
Add comprehensive documentation of project conventions including:
- Encryption patterns (AES with node secret PSK)
- API envelope structure (code, msg, data, ts)
- Build peculiarities (minify: false, rolldown-vite, UPX compression)
- Unique styles (flat monorepo, asymmetric Go layout, hybrid frontend mode)
- Module boundaries and anti-patterns
- Large file hotspots and code map references
Updated 7 AGENTS.md files across root and submodules.
2026-02-15 14:33:00 +00:00
sagit
e5e22baf43
fix(federation): cleanup tunnels when unsharing federation node ( #126 )
...
When unsharing a federation node, tunnels created via federationTunnelCreate
were not cleaned up, allowing clients to continue using them. Added
cleanupFederationTunnels() to delete these tunnels and reload the node agent.
2.1.4-alpha2
2026-02-15 11:04:53 +00:00
sagit
961c06655a
fix(backend): enforce port range restrictions in federation mode ( #125 )
...
Added dual-layer port range enforcement for federation sharing:
Server-side (Provider):
- federationRuntimeApplyRole: validate runtime.Port against share range
- validateFederationCommandPorts: hardened against malformed JSON bypass
- New helpers: validateRemoteNodePort, remoteNodePortRange
Client-side (Consumer):
- prepareTunnelCreateState: pre-check ports for remote nodes
- tunnelCreate type=1: validate targetPort for remote entry
- forwardCreate/Update/BatchChangeTunnel: port range validation
Prevents consumers from using arbitrary ports outside provider's allowed range.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2.1.4-alpha1
2026-02-15 10:42:39 +00:00
sagit
8dc31383e0
fix(backend): correct federation port forwarding tunnel type handling ( #123 )
...
- Fix Type 1 (port forwarding) tunnels to call applyFederationRuntime
Previously only Type 2 tunnels applied federation runtime, causing
port forwarding tunnels to not be properly configured in federation mode
- Remove incorrect UDP tunnel type override in federationTunnelCreate
UDP tunnels were being incorrectly set to Type 2, which conflicted with
the federation runtime logic that expects Type 1 for port forwarding
These fixes ensure all tunnel types are properly handled in federation mode
with correct runtime configuration applied.
2.1.3-rc5
2.1.3
2026-02-15 12:12:54 +08:00
sagit
184ac3c3e5
Merge pull request #122 from Sagit-chu/claude/stupefied-jemison
...
fix(backend): enforce port range in federation runtime commands
2.1.3-rc4
2026-02-15 11:26:44 +08:00
sagitchu
77dbd719ed
fix(backend): enforce port range in federation runtime commands
...
The federationRuntimeCommand handler forwarded AddService/UpdateService
commands from consumers to provider nodes without validating that the
port in the service payload falls within the share's allowed port range.
This allowed consumers to use any port on shared nodes, bypassing the
provider's port_range_start/port_range_end restrictions.
Add port extraction and validation in federationRuntimeCommand for
service commands, rejecting requests with ports outside the allowed
range with a 403 error.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 11:22:50 +08:00
sagit
04ce125416
Merge pull request #121 from Sagit-chu/fix/backup-forward-ports
...
fix(backend): include forward_port in backup export/import
2026-02-15 10:02:18 +08:00
sagit
fd5cfc2a40
fix(backend): include forward_port in backup export/import
2.1.3-rc3
2026-02-15 01:44:57 +00:00
sagit
4e4193e0b0
Merge pull request #120 from Sagit-chu/opencode/pg-id-repair-ci-2-1-3-rc2
...
fix(backend): harden postgres id default repair and CI coverage
2.1.3-rc2
2026-02-14 19:04:30 +08:00
sagit
3f80278dd4
fix(backend): harden postgres id default repair and CI coverage
...
Run Postgres id-sequence repair on every startup migration and add contract coverage plus a GitHub Actions Postgres job to catch schema-drift regressions before release.
2026-02-14 11:02:46 +00:00
sagit
6abe3e7713
Merge pull request #117 from Sagit-chu/opencode/happy-island
...
fix(backend): restore user tunnel visibility on PostgreSQL
2.1.3-rc1
2026-02-14 12:33:59 +08:00
sagit
47c05c3d02
Merge remote-tracking branch 'origin/main' into opencode/happy-island
2026-02-14 04:32:50 +00:00
sagit
d05c8a2ea4
fix(backend): restore user tunnel visibility on PostgreSQL
2026-02-14 04:31:52 +00:00
sagit
e00e41bb64
fix(frontend): remove focus styles from Select trigger and Textarea ( #116 )
2.1.3-beta9
2026-02-14 03:40:14 +00:00
sagit
5271efec1e
fix(frontend): aggressive removal of input focus styles ( #115 )
2.1.3-beta8
2026-02-14 03:22:15 +00:00
sagit
2d39cb3005
fix(frontend): force remove input focus border and ring ( #114 )
...
* fix(frontend): remove blue outline on input focus
* fix(frontend): force remove input focus border and ring
* fix: resolve conflict markers in globals.css
2.1.3-beta7
2026-02-14 03:15:34 +00:00
sagit
3e52c8eace
fix(frontend): remove blue outline on input focus ( #113 )
2.1.3-beta6
2026-02-14 02:37:59 +00:00
sagit
7808d57a79
Merge pull request #112 from Sagit-chu/opencode/proud-planet
...
fix(frontend): remove deep blue focus border
2.1.3-beta5
2026-02-14 10:16:33 +08:00
sagit
46bc4ca6e4
fix(frontend): remove deep blue focus border
2026-02-14 02:14:50 +00:00
sagit
28e66ab172
Merge pull request #111 from Sagit-chu/opencode/proud-planet
...
fix: apply remote entry runtime updates and input focus styling
2.1.3-beta4
2026-02-14 09:26:40 +08:00
sagit
f19bccec4c
Merge remote-tracking branch 'origin/main' into opencode/proud-planet
2026-02-14 01:25:21 +00:00
sagit
e37d6cf666
fix(frontend): remove input inner shadow and improve focus visibility
2026-02-14 01:16:08 +00:00
sagit
177c2bc35f
Merge pull request #110 from Sagit-chu/opencode/proud-planet
...
fix(backend): stabilize tls forwarding and udp ttl defaults
2.1.3-beta2
2026-02-13 22:42:27 +08:00
sagit
76c0978763
Merge branch 'main' into opencode/proud-planet
2026-02-13 22:40:19 +08:00
sagit
fd1168d855
fix(backend): set udp ttl default for tls tunnel protocol
2026-02-13 14:22:13 +00:00
sagit
92c9590c1a
fix(backend): apply entry chains for remote federation nodes
...
Ensure remote entry nodes receive AddChains during tunnel runtime apply while tolerating offline/timeout cases. Add focused contract coverage for online and offline remote entry behavior.
2026-02-13 13:59:17 +00:00
sagit
2afb1d275a
Merge pull request #109 from Sagit-chu/opencode/playful-circuit
...
fix(backup): handle nullable tunnel export fields safely
2.1.3-beta1
2026-02-13 18:38:02 +08:00
sagit
880cd4cac5
fix(backup): handle nullable tunnel export fields safely
2026-02-13 10:34:58 +00:00
sagit
a69a0f040b
Merge branch 'main' into opencode/kind-planet
2.1.3-alpha10
2026-02-13 17:48:27 +08:00
sagit
cf6294a77d
fix(backend): normalize strategy data and proxy ip parsing
2026-02-13 09:42:38 +00:00
sagit
524ee4cd95
Merge pull request #107 from Sagit-chu/opencode/curious-harbor
...
fix(backup): restore backup export/import APIs and route compatibility
2.1.3-alpha9
2026-02-13 16:36:34 +08:00
sagit
c049ceaacf
fix(backend): resolve backup handler build conflict after main merge
2026-02-13 08:32:00 +00:00
sagit
3424221176
Merge branch 'main' into opencode/curious-harbor
2026-02-13 16:21:56 +08:00
sagit
5a9715eb26
fix(backup): restore backup export/import APIs and route compatibility
2026-02-13 08:17:34 +00:00
sagit
1b79213aed
Merge pull request #106 from Sagit-chu/opencode/init-deep-agents
...
docs: update AGENTS.md hierarchy with new subdirectory docs
2026-02-13 16:11:51 +08:00
sagit
c0d71125f4
Merge branch 'main' into opencode/init-deep-agents
2026-02-13 15:53:38 +08:00
sagit
f01c0481cd
docs: update AGENTS.md hierarchy with new subdirectory docs
...
- Update root AGENTS.md with expanded anti-patterns and notes
- Add handler/AGENTS.md for high-complexity backend handlers
- Add connector/AGENTS.md for GOST connector protocols
- Add socket/AGENTS.md for GOST socket utilities
2026-02-13 07:52:17 +00:00
sagit
f227ffddc3
Merge pull request #105 from Sagit-chu/opencode/neon-rocket
...
fix: 修复备份
2.1.3-alpha8
2026-02-13 15:33:25 +08:00
sagit
c4f14f985e
Merge remote-tracking branch 'origin/main' into opencode/neon-rocket
2026-02-13 07:30:53 +00:00
sagit
3b294c6b9e
chore(frontend): fix HeroUI deps and apply lint cleanup
2026-02-13 07:25:27 +00:00
sagit
641aa66afc
feat(backup): restore backup export/import flow
2026-02-13 07:25:13 +00:00
sagit
fea1bf52f3
Merge pull request #102 from Sagit-chu/opencode/quick-comet
...
feat: 导入导出备份
2.1.3-alpha7
2026-02-13 14:39:25 +08:00
sagit
a72d84fa76
Merge branch 'main' into opencode/quick-comet
2026-02-13 14:21:00 +08:00
sagit
146821ebba
Merge pull request #104 from Sagit-chu/opencode/tidy-cactus
...
fix: 修复共享节点作为入口的问题和调整docker 网络
2.1.3-alpha6
2026-02-13 14:16:56 +08:00
sagit
0191f29cf1
chore(docker): update network subnet in compose files
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-13 06:02:09 +00:00
sagit
149a841a49
test(federation): add tests for remote node command and offline status
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-13 06:02:01 +00:00
sagit
229ae9e454
feat(backend): route node commands to remote panels
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-13 06:01:52 +00:00
sagit
ae8a3db3df
feat(federation): add remote node command support
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-13 06:01:42 +00:00