analytics-step3
analytics_cmd.go
+10 −1
analytics_cmd.goLoading diff…
analytics_cmd_test.go
+36 −0
analytics_cmd_test.goLoading diff…
apimode.go
+1 −0
apimode.goLoading diff…
docs/site/cli.md
+9 −2
docs/site/cli.mdLoading diff…
docs/superpowers/plans/2026-09-07-analytics-step3-browser-door.md
+1484 −0
docs/superpowers/plans/2026-09-07-analytics-step3-browser-door.mdLoading diff…
docs/superpowers/specs/2026-09-07-errors-and-analytics-design.md
+56 −7
docs/superpowers/specs/2026-09-07-errors-and-analytics-design.mdLoading diff…
internal/activator/activator_test.go
+106 −0
internal/activator/activator_test.goLoading diff…
internal/analytics/day.go
+9 −0
internal/analytics/day.goLoading diff…
internal/analytics/day_test.go
+16 −0
internal/analytics/day_test.goLoading diff…
internal/analytics/meter.go
+40 −0
internal/analytics/meter.goLoading diff…
internal/analytics/meter_test.go
+19 −0
internal/analytics/meter_test.goLoading diff…
internal/apperr/group.go
+15 −5
internal/apperr/group.goLoading diff…
internal/apperr/group_test.go
+29 −0
internal/apperr/group_test.goLoading diff…
internal/apperr/record.go
+4 −0
internal/apperr/record.goLoading diff…
internal/apperr/sink.go
+64 −27
internal/apperr/sink.goLoading diff…
internal/apperr/sink_test.go
+112 −0
internal/apperr/sink_test.goLoading diff…
internal/console/analyticsview.go
+25 −6
internal/console/analyticsview.goLoading diff…
internal/console/apianalytics.go
+5 −1
internal/console/apianalytics.goLoading diff…
internal/console/apianalytics_test.go
+103 −2
internal/console/apianalytics_test.goLoading diff…
internal/console/apierrors_test.go
+44 −2
internal/console/apierrors_test.goLoading diff…
internal/console/errorsview.go
+11 −2
internal/console/errorsview.goLoading diff…
internal/console/templates/account_settings.html
+7 −1
internal/console/templates/account_settings.htmlLoading diff…
internal/console/templates/app_analytics.html
+8 −1
internal/console/templates/app_analytics.htmlLoading diff…
internal/console/templates/app_errors.html
+7 −2
internal/console/templates/app_errors.htmlLoading diff…
internal/console/templates/app_settings.html
+7 −1
internal/console/templates/app_settings.htmlLoading diff…
internal/domains/claims.go
+6 −2
internal/domains/claims.goLoading diff…
internal/domains/claims_test.go
+20 −0
internal/domains/claims_test.goLoading diff…
internal/domains/paths_test.go
+1 −1
internal/domains/paths_test.goLoading diff…
internal/edge/analytics.go
+29 −17
internal/edge/analytics.goLoading diff…
internal/edge/analytics_test.go
+53 −6
internal/edge/analytics_test.goLoading diff…
internal/edge/browserdoor.go
+390 −0
internal/edge/browserdoor.goLoading diff…
internal/edge/browserdoor_test.go
+625 −0
internal/edge/browserdoor_test.goLoading diff…
internal/edge/carlosjs.go
+87 −0
internal/edge/carlosjs.goLoading diff…
internal/edge/carlosjs_test.go
+224 −0
internal/edge/carlosjs_test.goLoading diff…
internal/edge/doorlimit.go
+112 −0
internal/edge/doorlimit.goLoading diff…
internal/edge/doorlimit_test.go
+88 −0
internal/edge/doorlimit_test.goLoading diff…
internal/edge/edge.go
+68 −8
internal/edge/edge.goLoading diff…
internal/edge/edge_test.go
+14 −1
internal/edge/edge_test.goLoading diff…
internal/edge/fleet_route_test.go
+2 −2
internal/edge/fleet_route_test.goLoading diff…
internal/edge/gate_test.go
+70 −0
internal/edge/gate_test.goLoading diff…
internal/edge/reserved.go
+45 −0
internal/edge/reserved.goLoading diff…
internal/edge/reserved_test.go
+133 −0
internal/edge/reserved_test.goLoading diff…
internal/edge/tunnel_test.go
+2 −2
internal/edge/tunnel_test.goLoading diff…
internal/host/agent.go
+24 −1
internal/host/agent.goLoading diff…
internal/host/telemetry_pass.go
+18 −11
internal/host/telemetry_pass.goLoading diff…
internal/host/telemetry_pass_test.go
+52 −1
internal/host/telemetry_pass_test.goLoading diff…
internal/telemetry/telemetry.go
+22 −4
internal/telemetry/telemetry.goLoading diff…
internal/telemetry/telemetry_test.go
+11 −0
internal/telemetry/telemetry_test.goLoading diff…