Files
meshstream/.gitignore
Daniel Pupius 8130158c1e feat(cache): priority-based eviction with age protection and Bélády approximation
Replace the flat circular buffer with NodeAwareCache, a smarter eviction
strategy for historical mesh packet data:

- Packets younger than 1 hour are never evicted (recent traffic preserved)
- Under pressure, evict from the lowest-priority type first (neighbor-info
  outlasts node-info; chat messages outlast everything)
- Within a priority tier, evict from the most recently active source node —
  that node will resend soonest, so its old packet is cheapest to lose
  (Bélády approximation; protects flaky/distant node history)
- Node retention window still applies: silent nodes' packets are excluded
  from GetAll and pruned proactively before priority eviction runs

Also:
- Add --cache-retention flag (default 3h) and raise --cache-size default to 5000
- Fix decoder error strings (replace verbose Go errors with short codes)
- Add HTTP security headers middleware to server
- Fix broker dispatchLoop deadlock on source channel close
- Fix make gen-proto scanning web/node_modules for .proto files
- Fix tools target always reinstalling protoc-gen-go (handles stale arch binary)
- Move server port from 8080 to 5446; update Dockerfile, docker-compose, moat.yaml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 20:23:50 +00:00

82 lines
834 B
Plaintext

# Binaries and build artifacts
/dist/
/web/dist/
/bin/
# Go specific
*.exe
*.exe~
*.dll
*.so
*.dylib
*.test
*.out
go.work
# Protocol buffer generated files
proto/tmp/
# IDE specific files
.idea/
.vscode/
*.swp
*.swo
*~
# OS specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# Dependency directories
vendor/
# Log files
*.log
# Testing
/coverage.txt
/profile.out
# Environment files
.env
.envrc
.env.local
.env.development.local
.env.test.local
.env.production.local
# direnv
.direnv
# Local development files
*.local
.air.toml
*.local.sh
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Debug files
debug
debug.test
# Temporary files
tmp/
temp/
# Binary output type
#meshstream
# AI Agent files
**/.claude/settings.local.json
.private-journal/*.pnpm-store/