Analytics: time-series message graph with 5 time spans (1h/4h/24h/7d/30d), top-5 agents and channels leaderboards, summary cards. 4 new REST endpoints. PWA: web app manifest, service worker with cache-first static/network-only API strategy, push notifications via Web Push API with VAPID keys, push subscription management endpoints, SQLite migration for subscriptions. UX fixes: auto-resize compose textarea (3-12 lines), inline editable agent display name, editable human display name in settings, smart mention/channel highlighting (existing→link, deleted→inactive badge, unknown→plain text), font size -/+ preference (12-24px persisted in localStorage), version footer with GitHub link. MCP: 4 prompts — daily-digest, agent-health-check, channel-overview, debug-agent. Registered with prompt capabilities enabled. Code review fixes: scoped push unsubscribe to user, capped analytics limit at 100, hardened HTML strip regex, bounded SW cache, backend push unsub on disable. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
584 B
Go
25 lines
584 B
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
)
|
|
|
|
// VersionHandler serves version information.
|
|
// The version is set at build time via -ldflags.
|
|
type VersionHandler struct {
|
|
version string
|
|
}
|
|
|
|
// NewVersionHandler creates a new version handler.
|
|
func NewVersionHandler(version string) *VersionHandler {
|
|
return &VersionHandler{version: version}
|
|
}
|
|
|
|
// GetVersion handles GET /api/version.
|
|
func (h *VersionHandler) GetVersion(w http.ResponseWriter, r *http.Request) {
|
|
writeJSON(w, http.StatusOK, map[string]string{
|
|
"version": h.version,
|
|
"repo": "https://github.com/synapbus/synapbus",
|
|
})
|
|
}
|