2025-12-19 - 2026-06-19
Overview
55 Pull requests merged by 1 user
Merged
#210 feat: add MergePull() method to Gitea client (#187)
Merged
#214 feat: redirect to /settings on expired Gitea API token (#192)
Merged
#213 feat: add structured request logging with request-id (#200)
Merged
#212 feat: render label badge pills with Gitea hex colors (#193)
Merged
#211 feat: implement graceful shutdown on SIGTERM/SIGINT (#201)
Merged
#208 feat: add GetChangedFiles() to Gitea client (#205)
Merged
#209 chore: add go.sum and fix Dockerfile build (#203, #180)
Merged
#207 fix: add pull_request trigger to CI workflow (#204)
Merged
#159 docs: fix SMOKE_TEST.md triage route (/triage -> /)
Merged
#156 chore: add go vet step to CI workflow
Merged
#152 chore: improve light mode CSS and document size rationale
Merged
#151 docs: add post-deployment smoke test runbook
Merged
#150 chore: add .air.toml for live reload dev workflow
Merged
#149 docs: add README.md with project overview and dev setup
Merged
#146 test: add 43 integration tests for all HTTP handlers
Merged
#147 test: add unit tests for GetTriageQueue aggregation
Merged
#145 feat: add rate-limit retry/backoff handling in Gitea API client
Merged
#144 feat: add HTTP 404 and 500 error pages with mobile-friendly styling
Merged
#130 test: unit tests for SubmitReview and ApplyLabel client methods
Merged
#129 chore: extract settings template to HTML file
Merged
#128 feat: wire GITEA_TOKEN env var as auth fallback
Merged
#123 test: unit tests for ListOrgsAndRepos, CreateIssue, ListAllIssues, ListAllPullRequests
Merged
#108 feat: tablet 2-column grid layout for issue and PR lists
Merged
#107 chore: add -race flag to CI test step
Merged
#102 feat: add review status and merge indicator to PR list
Merged
#101 feat: display assignee avatar in issue list rows
Merged
#92 feat: add close/reopen action to PR detail view
Merged
#90 fix: remove go.sum from Dockerfile COPY (no external deps)
Merged
#88 feat: make repo selector searchable on create issue form
Merged
#86 feat: add repo-level filter to issues and pulls list views
Merged
#85 feat: add label filter to issues and pulls list views
Merged
#84 feat: add comments thread to PR detail view
Merged
#75 feat: add open/closed state filter to PR list view
Merged
#71 feat: add Assign action to issue detail view
Merged
#70 feat: add label multi-select to Create Issue form
Merged
#69 feat: add org filter dropdown to Dashboard view
Merged
#66 feat: add backend pagination for infinite scroll in issues and pulls
Merged
#65 feat: add close/reopen and comment actions to issue detail view
Merged
#64 feat: add pull-to-refresh button for all list views
Merged
#49 feat: render issue/PR body as markdown via Gitea API
Merged
#47 fix: validate owner/repo split in create-issue form
Merged
#43 feat: add GET /issues/new handler for create-issue form
Merged
#45 refactor: wire Dashboard, ListIssues, ListPulls to templates
Merged
#42 feat: implement CloseIssue and PostComment client methods
Merged
#27 feat: implement issue and PR detail handlers
Merged
#26 fix: replace $GITHUB_OUTPUT with inline env vars in CI
Merged
#23 fix: replace github.sha with gitea.sha in CI workflow
Merged
#19 fix: vendor htmx.min.js locally instead of loading from CDN
Merged
#15 feat: implement mobile-first HTMX templates and CSS
Merged
#14 feat: add PWA manifest and service worker
Merged
#13 feat: add Dockerfile and CI workflow
Merged
#12 feat: add HTTP handlers and health endpoint
Merged
#11 feat: implement Gitea aggregation layer with concurrent fetching
Merged
#10 feat: add env-based configuration and token-in-cookie auth
Merged
#9 feat: scaffold Go project with flake.nix and directory structure
4 Pull requests proposed by 1 user
Proposed
#232 feat: embed templates and static assets with go:embed
Proposed
#233 feat: add POST /pulls assignees route
Proposed
#234 feat: implement POST /pulls merge handler
Proposed
#235 test: add HTMX fragment assertions for detail views
138 Issues closed from 1 user
Closed
#202 feat: implement org/repo enumeration endpoint and wire ListOrgsAndRepos() into filter dropdowns
Closed
#171 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in Gitea repo settings for CI image push
Closed
#220 fix: embed HTML templates at compile time with go:embed (Dockerfile path mismatch)
Closed
#221 fix: embed static assets with go:embed so they work with readOnlyRootFilesystem
Closed
#230 chore: migrate SESSION_SECRET from plaintext secret.yaml to Sealed Secrets
Closed
#224 chore: audit service worker cache manifest includes all app-shell assets
Closed
#225 chore: verify Apple-specific PWA meta tags are present in base layout template
Closed
#206 feat: implement POST /pulls/{owner}/{repo}/{index}/merge handler and wire merge button into PR detail template
Closed
#177 Add merge PR button to pull request detail view
Closed
#223 sprint-planning-test
Closed
#196 feat: return HTMX fragment from GET /issues/{owner}/{repo}/{index} and GET /pulls/{owner}/{repo}/{index} when HX-Request header is present
Closed
#179 Expand handler unit tests to cover all routes
Closed
#188 feat: implement POST /pulls/{owner}/{repo}/{index}/merge HTTP handler (part of #177)
Closed
#199 feat: implement Gitea Actions CI workflow (.gitea/workflows/build.yaml) for go test, Docker build, and registry push
Closed
#187 feat: add MergePull() method to Gitea client (prerequisite for #177)
Closed
#192 feat: redirect to /settings with error banner when Gitea API token is expired or revoked
Closed
#200 feat: add structured request logging middleware (method, path, status, duration, request-id)
Closed
#193 feat: render label badge pills using actual Gitea label hex colors
Closed
#201 feat: implement graceful shutdown on SIGTERM/SIGINT with in-flight request draining
Closed
#205 feat: add GetChangedFiles() method to Gitea client for PR detail view (prerequisite for #189)
Closed
#180 Fix CI: copy go.sum in Dockerfile build stage for reproducible builds
Closed
#203 chore: add go.sum to version control and verify reproducible module downloads in CI
Closed
#204 fix: add pull_request trigger to CI workflow so go test gates all PRs
Closed
#176 milestone: Phase 3 complete — gitea-mobile fully deployed and verified in production
Closed
#169 fix: investigate and resolve HTTP 404 on GET /health — IngressRoute responding but app not healthy
Closed
#197 test: add unit tests for POST /issues create issue handler covering success, validation errors, and HTMX redirect
Closed
#194 test issue creation
Closed
#74 feat: integrate Authentik SSO middleware on IngressRoute (Phase 1.3 v2 auth)
Closed
#191 test-issue-delete-me
Closed
#161 feat: deploy Gitea Actions act_runner as a Kubernetes workload in the cluster
Closed
#184 fix: ensure GET /health returns 200 without authentication (health probe exempt from auth middleware)
Closed
#160 chore: manually build and push Docker image to unblock deployment while CI runner is unavailable
Closed
#162 chore: verify local Docker build and smoke-test container before pushing to registry
Closed
#163 chore: end-to-end iPhone PWA verification after deployment
Closed
#76 chore: verify end-to-end CI pipeline after runner fix — build, push, and tag image
Closed
#16 feat: push image to registry and verify deployment on mobile device
Closed
#155 chore: manual QA checklist — verify all HTMX interactions work end-to-end in browser
Closed
#95 fix: update CI workflow runs-on label to match available Gitea Actions runner
Closed
#157 chore: fix SMOKE_TEST.md — /triage route should be / (dashboard) and add missing Step 7 triage link
Closed
#154 chore: run go vet and add vet step to CI workflow
Closed
#153 chore: run full test suite locally and confirm all tests pass after recent additions
Closed
#119 chore: validate dark mode (prefers-color-scheme) and mobile CSS completeness
Closed
#116 docs: write post-deployment smoke test runbook for gitea-mobile on Talos cluster
Closed
#109 chore: add .air.toml and verify flake.nix dev shell with air live reload end-to-end
Closed
#148 docs: add README.md with project overview, local dev setup, and deployment instructions
Closed
#110 test: add integration test for POST /issues/{owner}/{repo}/{index}/labels label assignment
Closed
#111 test: add integration test for POST /pulls/{owner}/{repo}/{index}/review handler
Closed
#113 test: add integration test for POST /issues create-issue handler
Closed
#118 test: add integration tests for CloseIssue and AddComment/PostComment handlers
Closed
#124 test: add integration tests for GET /settings and POST /settings handlers
Closed
#140 test: add integration tests for GET / dashboard handler
Closed
#139 test: add integration tests for GET /issues and GET /pulls list handlers
Closed
#138 test: add integration tests for GET /issues/new and GET /issues/new/labels handlers
Closed
#137 test: add integration tests for POST /issues/{owner}/{repo}/{index}/state and POST /pulls/{owner}/{repo}/{index}/state handlers
Closed
#136 test: add integration tests for org/repo/label/state filter query params in GET /issues and GET /pulls
Closed
#135 test: add integration tests for POST /issues/{owner}/{repo}/{index}/assignees AssignIssue handler
Closed
#134 test: add integration tests for GET /pulls/{owner}/{repo}/{index} PR detail handler
Closed
#133 test: add integration tests for GET /issues/{owner}/{repo}/{index} issue detail handler
Closed
#117 test: add unit tests for GetTriageQueue aggregation in gitea/client.go
Closed
#132 feat: add rate-limit retry/backoff handling in Gitea API client
Closed
#131 feat: add HTTP 404 and 500 error handler with mobile-friendly error page
Closed
#143 chore: migrate SESSION_SECRET to Sealed Secret in gitea-mobile deployment
Closed
#142 feat: add Flux ImagePolicy annotation to gitea-mobile deployment manifest
Closed
#141 feat: create Kubernetes manifests for gitea-mobile in Talos repo
Closed
#127 test: add unit tests for SubmitReview and ApplyLabel client methods with mock HTTP server
Closed
#126 chore: move inline settings template from settings.go into internal/templates/settings.html
Closed
#125 feat: wire GITEA_TOKEN env var as auth fallback for single-user / service-account deployments
Closed
#115 test: add unit tests for SubmitReview and ApplyLabel methods in gitea/client.go
Closed
#121 test: add unit tests for ListAllIssues and ListAllPullRequests concurrent fan-out in gitea/client.go
Closed
#122 test: add unit tests for ListOrgsAndRepos and CreateIssue methods in gitea/client.go
Closed
#114 test: add integration test for GET /health liveness and readiness probe endpoint
Closed
#120 test: add unit tests for in-memory cache TTL and invalidation in gitea/client.go
Closed
#106 chore: verify image tag format includes timestamp and commit SHA per Phase 3.2 spec
Closed
#104 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in Gitea repo for CI image push
Closed
#112 chore: verify errgroup semaphore cap (5-10) in aggregation layer concurrent API calls
Closed
#105 feat: implement tablet 2-column grid layout (>= 640px breakpoint)
Closed
#103 chore: add -race flag to CI test step to catch concurrency bugs in aggregation layer
Closed
#97 feat: add review status icon and merge status indicator to PR list rows
Closed
#98 feat: display assignee avatar in issue list rows
Closed
#100 chore: verify in-memory cache implementation — 30s TTL, RWMutex, write invalidation
Closed
#96 feat: implement POST /pulls/{owner}/{repo}/{index}/review — approve, request-changes, and comment actions
Closed
#99 feat: wire HTMX infinite scroll sentinel for issues and pulls list views
Closed
#73 chore: diagnose and fix CI runner availability — all builds stuck in queued/cancelled
Closed
#91 feat: add close/reopen action to PR detail view
Closed
#89 fix: Dockerfile COPY go.sum fails when project has no external dependencies
Closed
#87 feat: make repo selector searchable on create issue form
Closed
#83 feat: add repo-level filter to issues and pulls list views
Closed
#82 feat: add label filter to issues and pulls list views
Closed
#81 feat: add comments thread to PR detail view
Closed
#77 feat: add Flux imagepolicy annotations to deployment.yaml for automated image updates
Closed
#80 chore: migrate gitea-mobile SESSION_SECRET to SealedSecret for secure GitOps storage
Closed
#78 fix: implement open/closed state filter for PR list view
Closed
#72 feat: add open/closed state filter to PR list view
Closed
#40 feat: add Flux ImageRepository and ImagePolicy for automated image updates
Closed
#39 feat: create Kubernetes manifests for gitea-mobile in Talos repo
Closed
#33 feat: verify CI pipeline produces a passing build after workflow fixes
Closed
#50 feat: add Assign action to issue detail view
Closed
#67 feat: add label multi-select to Create Issue form
Closed
#68 feat: add org/repo filter bar to Dashboard view
Closed
#32 feat: add backend pagination support for infinite scroll in issues and pulls handlers
Closed
#29 feat: add Close Issue and Add Comment actions to issue detail view
Closed
#51 feat: add pull-to-refresh for dashboard, issues, and pulls views
Closed
#63 feat: create multi-stage Dockerfile for distroless production image
Closed
#62 feat: add PWA manifest, service worker, and app icons
Closed
#61 feat: implement mobile-first CSS with dark mode and iPhone safe area support
Closed
#60 feat: implement PR detail view with diff stats and review form
Closed
#59 feat: implement issue detail view with label, comment, and close actions
Closed
#58 feat: implement dashboard triage view and issues/pulls list views
Closed
#57 feat: implement base layout template and HTMX-aware page shell
Closed
#56 feat: implement HTTP handlers for all routes with HTMX fragment support
Closed
#54 feat: implement token-in-cookie authentication middleware and settings handler
Closed
#55 feat: implement Gitea SDK aggregation layer (client.go)
Closed
#52 feat: scaffold Go project structure and nix dev shell
Closed
#53 feat: implement environment-based configuration package
Closed
#35 feat: render issue and PR body as markdown using Gitea API markdown endpoint
Closed
#30 fix: validate owner/repo split in create_issue.html before form submission
Closed
#28 feat: add GET /issues/new handler to serve create-issue form
Closed
#34 refactor: wire Dashboard, ListIssues, and ListPulls handlers to use html/template files
Closed
#36 feat: implement CloseIssue and PostComment methods in gitea client
Closed
#41 chore: remove stale static/build.yaml CI workflow file
Closed
#38 feat: wire Dashboard, Issues, and Pulls handlers to use html/template files instead of inline HTML
Closed
#37 feat: add Close Issue and Add Comment forms to issue_detail.html template
Closed
#31 feat: add org/repo filter bar to issues and pulls list views
Closed
#22 feat: migrate SESSION_SECRET from plaintext secret.yaml to SealedSecret
Closed
#24 feat: implement GET /issues/{owner}/{repo}/{index} and GET /pulls/{owner}/{repo}/{index} detail handlers
Closed
#25 fix: replace $GITHUB_OUTPUT with GITEA_OUTPUT-compatible approach in CI workflow
Closed
#21 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in repo settings
Closed
#20 fix: replace github.sha with gitea.sha in CI workflow
Closed
#17 fix: vendor htmx.min.js locally instead of loading from CDN
Closed
#18 feat: add Flux ImageRepository and ImagePolicy resources to Talos repo
Closed
#8 feat: add Kubernetes manifests for Talos deployment
Closed
#5 feat: implement mobile-first HTMX templates and CSS
Closed
#6 feat: add PWA manifest and service worker
Closed
#7 feat: add Dockerfile and CI workflow
Closed
#4 feat: add HTTP handlers and health endpoint
Closed
#3 feat: implement Gitea aggregation layer with concurrent fetching
Closed
#2 feat: add env-based configuration and token-in-cookie auth
Closed
#1 feat: scaffold Go project with flake.nix and directory structure
180 Issues created by 1 user
Opened
#1 feat: scaffold Go project with flake.nix and directory structure
Opened
#2 feat: add env-based configuration and token-in-cookie auth
Opened
#3 feat: implement Gitea aggregation layer with concurrent fetching
Opened
#4 feat: add HTTP handlers and health endpoint
Opened
#5 feat: implement mobile-first HTMX templates and CSS
Opened
#6 feat: add PWA manifest and service worker
Opened
#7 feat: add Dockerfile and CI workflow
Opened
#8 feat: add Kubernetes manifests for Talos deployment
Opened
#16 feat: push image to registry and verify deployment on mobile device
Opened
#17 fix: vendor htmx.min.js locally instead of loading from CDN
Opened
#18 feat: add Flux ImageRepository and ImagePolicy resources to Talos repo
Opened
#20 fix: replace github.sha with gitea.sha in CI workflow
Opened
#21 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in repo settings
Opened
#22 feat: migrate SESSION_SECRET from plaintext secret.yaml to SealedSecret
Opened
#24 feat: implement GET /issues/{owner}/{repo}/{index} and GET /pulls/{owner}/{repo}/{index} detail handlers
Opened
#25 fix: replace $GITHUB_OUTPUT with GITEA_OUTPUT-compatible approach in CI workflow
Opened
#28 feat: add GET /issues/new handler to serve create-issue form
Opened
#29 feat: add Close Issue and Add Comment actions to issue detail view
Opened
#30 fix: validate owner/repo split in create_issue.html before form submission
Opened
#31 feat: add org/repo filter bar to issues and pulls list views
Opened
#32 feat: add backend pagination support for infinite scroll in issues and pulls handlers
Opened
#33 feat: verify CI pipeline produces a passing build after workflow fixes
Opened
#34 refactor: wire Dashboard, ListIssues, and ListPulls handlers to use html/template files
Opened
#35 feat: render issue and PR body as markdown using Gitea API markdown endpoint
Opened
#36 feat: implement CloseIssue and PostComment methods in gitea client
Opened
#37 feat: add Close Issue and Add Comment forms to issue_detail.html template
Opened
#38 feat: wire Dashboard, Issues, and Pulls handlers to use html/template files instead of inline HTML
Opened
#39 feat: create Kubernetes manifests for gitea-mobile in Talos repo
Opened
#40 feat: add Flux ImageRepository and ImagePolicy for automated image updates
Opened
#41 chore: remove stale static/build.yaml CI workflow file
Opened
#50 feat: add Assign action to issue detail view
Opened
#51 feat: add pull-to-refresh for dashboard, issues, and pulls views
Opened
#52 feat: scaffold Go project structure and nix dev shell
Opened
#53 feat: implement environment-based configuration package
Opened
#54 feat: implement token-in-cookie authentication middleware and settings handler
Opened
#55 feat: implement Gitea SDK aggregation layer (client.go)
Opened
#56 feat: implement HTTP handlers for all routes with HTMX fragment support
Opened
#57 feat: implement base layout template and HTMX-aware page shell
Opened
#58 feat: implement dashboard triage view and issues/pulls list views
Opened
#59 feat: implement issue detail view with label, comment, and close actions
Opened
#60 feat: implement PR detail view with diff stats and review form
Opened
#61 feat: implement mobile-first CSS with dark mode and iPhone safe area support
Opened
#62 feat: add PWA manifest, service worker, and app icons
Opened
#63 feat: create multi-stage Dockerfile for distroless production image
Opened
#67 feat: add label multi-select to Create Issue form
Opened
#68 feat: add org/repo filter bar to Dashboard view
Opened
#72 feat: add open/closed state filter to PR list view
Opened
#73 chore: diagnose and fix CI runner availability — all builds stuck in queued/cancelled
Opened
#74 feat: integrate Authentik SSO middleware on IngressRoute (Phase 1.3 v2 auth)
Opened
#76 chore: verify end-to-end CI pipeline after runner fix — build, push, and tag image
Opened
#77 feat: add Flux imagepolicy annotations to deployment.yaml for automated image updates
Opened
#78 fix: implement open/closed state filter for PR list view
Opened
#80 chore: migrate gitea-mobile SESSION_SECRET to SealedSecret for secure GitOps storage
Opened
#81 feat: add comments thread to PR detail view
Opened
#82 feat: add label filter to issues and pulls list views
Opened
#83 feat: add repo-level filter to issues and pulls list views
Opened
#87 feat: make repo selector searchable on create issue form
Opened
#89 fix: Dockerfile COPY go.sum fails when project has no external dependencies
Opened
#91 feat: add close/reopen action to PR detail view
Opened
#93 chore: validate PWA behavior on iPhone Safari (iOS safe areas, standalone mode, service worker)
Opened
#94 chore: verify Flux image automation loop — ImagePolicy picks up new tags and updates deployment manifest
Opened
#95 fix: update CI workflow runs-on label to match available Gitea Actions runner
Opened
#96 feat: implement POST /pulls/{owner}/{repo}/{index}/review — approve, request-changes, and comment actions
Opened
#97 feat: add review status icon and merge status indicator to PR list rows
Opened
#98 feat: display assignee avatar in issue list rows
Opened
#99 feat: wire HTMX infinite scroll sentinel for issues and pulls list views
Opened
#100 chore: verify in-memory cache implementation — 30s TTL, RWMutex, write invalidation
Opened
#103 chore: add -race flag to CI test step to catch concurrency bugs in aggregation layer
Opened
#104 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in Gitea repo for CI image push
Opened
#105 feat: implement tablet 2-column grid layout (>= 640px breakpoint)
Opened
#106 chore: verify image tag format includes timestamp and commit SHA per Phase 3.2 spec
Opened
#109 chore: add .air.toml and verify flake.nix dev shell with air live reload end-to-end
Opened
#110 test: add integration test for POST /issues/{owner}/{repo}/{index}/labels label assignment
Opened
#111 test: add integration test for POST /pulls/{owner}/{repo}/{index}/review handler
Opened
#112 chore: verify errgroup semaphore cap (5-10) in aggregation layer concurrent API calls
Opened
#113 test: add integration test for POST /issues create-issue handler
Opened
#114 test: add integration test for GET /health liveness and readiness probe endpoint
Opened
#115 test: add unit tests for SubmitReview and ApplyLabel methods in gitea/client.go
Opened
#116 docs: write post-deployment smoke test runbook for gitea-mobile on Talos cluster
Opened
#117 test: add unit tests for GetTriageQueue aggregation in gitea/client.go
Opened
#118 test: add integration tests for CloseIssue and AddComment/PostComment handlers
Opened
#119 chore: validate dark mode (prefers-color-scheme) and mobile CSS completeness
Opened
#120 test: add unit tests for in-memory cache TTL and invalidation in gitea/client.go
Opened
#121 test: add unit tests for ListAllIssues and ListAllPullRequests concurrent fan-out in gitea/client.go
Opened
#122 test: add unit tests for ListOrgsAndRepos and CreateIssue methods in gitea/client.go
Opened
#124 test: add integration tests for GET /settings and POST /settings handlers
Opened
#125 feat: wire GITEA_TOKEN env var as auth fallback for single-user / service-account deployments
Opened
#126 chore: move inline settings template from settings.go into internal/templates/settings.html
Opened
#127 test: add unit tests for SubmitReview and ApplyLabel client methods with mock HTTP server
Opened
#131 feat: add HTTP 404 and 500 error handler with mobile-friendly error page
Opened
#132 feat: add rate-limit retry/backoff handling in Gitea API client
Opened
#133 test: add integration tests for GET /issues/{owner}/{repo}/{index} issue detail handler
Opened
#134 test: add integration tests for GET /pulls/{owner}/{repo}/{index} PR detail handler
Opened
#135 test: add integration tests for POST /issues/{owner}/{repo}/{index}/assignees AssignIssue handler
Opened
#136 test: add integration tests for org/repo/label/state filter query params in GET /issues and GET /pulls
Opened
#137 test: add integration tests for POST /issues/{owner}/{repo}/{index}/state and POST /pulls/{owner}/{repo}/{index}/state handlers
Opened
#138 test: add integration tests for GET /issues/new and GET /issues/new/labels handlers
Opened
#139 test: add integration tests for GET /issues and GET /pulls list handlers
Opened
#140 test: add integration tests for GET / dashboard handler
Opened
#141 feat: create Kubernetes manifests for gitea-mobile in Talos repo
Opened
#142 feat: add Flux ImagePolicy annotation to gitea-mobile deployment manifest
Opened
#143 chore: migrate SESSION_SECRET to Sealed Secret in gitea-mobile deployment
Opened
#148 docs: add README.md with project overview, local dev setup, and deployment instructions
Opened
#153 chore: run full test suite locally and confirm all tests pass after recent additions
Opened
#154 chore: run go vet and add vet step to CI workflow
Opened
#155 chore: manual QA checklist — verify all HTMX interactions work end-to-end in browser
Opened
#157 chore: fix SMOKE_TEST.md — /triage route should be / (dashboard) and add missing Step 7 triage link
Opened
#158 chore: execute SMOKE_TEST.md runbook after first successful image push and Flux reconciliation
Opened
#160 chore: manually build and push Docker image to unblock deployment while CI runner is unavailable
Opened
#161 feat: deploy Gitea Actions act_runner as a Kubernetes workload in the cluster
Opened
#162 chore: verify local Docker build and smoke-test container before pushing to registry
Opened
#163 chore: end-to-end iPhone PWA verification after deployment
Opened
#164 chore: verify end-to-end CI pipeline after act_runner deployment
Opened
#165 chore: verify IngressRoute is accessible at gitea-mobile.testing.leeworks.dev after deployment
Opened
#166 chore: validate resource limits are appropriate after first live deployment
Opened
#167 chore: monitor Flux reconciliation and confirm gitea-mobile pod is Running after image push
Opened
#168 chore: verify NetworkPolicy allows gitea-mobile -> gitea.gitea traffic after deployment
Opened
#169 fix: investigate and resolve HTTP 404 on GET /health — IngressRoute responding but app not healthy
Opened
#170 chore: update CI workflow runs-on label to match act_runner registration after #161 deployment
Opened
#171 chore: configure REGISTRY_USERNAME and REGISTRY_PASSWORD secrets in Gitea repo settings for CI image push
Opened
#172 chore: verify structured request logs are visible via kubectl logs after deployment
Opened
#173 chore: verify HTMX infinite scroll and filter interactions work with real Gitea data in production
Opened
#174 chore: validate dark mode and mobile-first CSS layout on real devices
Opened
#175 chore: validate concurrent aggregation layer under real Gitea load — confirm semaphore, cache TTL, and fan-out behave correctly
Opened
#176 milestone: Phase 3 complete — gitea-mobile fully deployed and verified in production
Opened
#177 Add merge PR button to pull request detail view
Opened
#178 Implement Authentik SSO auth flow (v2 authentication)
Opened
#179 Expand handler unit tests to cover all routes
Opened
#180 Fix CI: copy go.sum in Dockerfile build stage for reproducible builds
Opened
#181 Implement pull-to-refresh gesture on mobile for issue and PR lists
Opened
#182 Audit and fix filter state persistence via URL params for shareable deep links
Opened
#183 Automate post-deployment smoke test as a Gitea Actions workflow
Opened
#184 fix: ensure GET /health returns 200 without authentication (health probe exempt from auth middleware)
Opened
#185 feat: add graceful error UI when Gitea API is unreachable or returns errors
Opened
#186 test: add unit and integration tests for POST /pulls merge handler (after #177)
Opened
#187 feat: add MergePull() method to Gitea client (prerequisite for #177)
Opened
#188 feat: implement POST /pulls/{owner}/{repo}/{index}/merge HTTP handler (part of #177)
Opened
#189 feat: add changed files list to PR detail view
Opened
#190 feat: implement inline HTMX detail expansion on dashboard triage cards
Opened
#191 test-issue-delete-me
Opened
#192 feat: redirect to /settings with error banner when Gitea API token is expired or revoked
Opened
#193 feat: render label badge pills using actual Gitea label hex colors
Opened
#194 test issue creation
Opened
#195 feat: add global org/repo filter dropdown to top bar for cross-view filtering
Opened
#196 feat: return HTMX fragment from GET /issues/{owner}/{repo}/{index} and GET /pulls/{owner}/{repo}/{index} when HX-Request header is present
Opened
#197 test: add unit tests for POST /issues create issue handler covering success, validation errors, and HTMX redirect
Opened
#198 fix: resolve deployment health check failure — GET /health returns 404 through IngressRoute
Opened
#199 feat: implement Gitea Actions CI workflow (.gitea/workflows/build.yaml) for go test, Docker build, and registry push
Opened
#200 feat: add structured request logging middleware (method, path, status, duration, request-id)
Opened
#201 feat: implement graceful shutdown on SIGTERM/SIGINT with in-flight request draining
Opened
#202 feat: implement org/repo enumeration endpoint and wire ListOrgsAndRepos() into filter dropdowns
Opened
#203 chore: add go.sum to version control and verify reproducible module downloads in CI
Opened
#204 fix: add pull_request trigger to CI workflow so go test gates all PRs
Opened
#205 feat: add GetChangedFiles() method to Gitea client for PR detail view (prerequisite for #189)
Opened
#206 feat: implement POST /pulls/{owner}/{repo}/{index}/merge handler and wire merge button into PR detail template
Opened
#215 feat: add standalone comment form to PR detail view
Opened
#216 feat: add assign and label action forms to PR detail view
Opened
#217 test: add HTMX fragment assertions to IssueDetail and PullDetail integration tests
Opened
#218 test: add integration tests for POST /pulls assign and label routes (after #216)
Opened
#219 test: add integration test for changed files display in PR detail (after #189)
Opened
#220 fix: embed HTML templates at compile time with go:embed (Dockerfile path mismatch)
Opened
#221 fix: embed static assets with go:embed so they work with readOnlyRootFilesystem
Opened
#222 test: update integration tests to work with embedded templates and static assets
Opened
#223 sprint-planning-test
Opened
#224 chore: audit service worker cache manifest includes all app-shell assets
Opened
#225 chore: verify Apple-specific PWA meta tags are present in base layout template
Opened
#226 test: add unit tests for ListAllIssues and ListAllPullRequests multi-org fan-out with errgroup
Opened
#227 chore: verify Authentik middleware is applied to gitea-mobile IngressRoute
Opened
#228 feat: add POST /pulls/{owner}/{repo}/{index}/assignees route to handler registration
Opened
#229 feat: implement POST /pulls/{owner}/{repo}/{index}/merge HTTP handler and register route
Opened
#230 chore: migrate SESSION_SECRET from plaintext secret.yaml to Sealed Secrets
Opened
#231 feat: implement go:embed for templates and static assets to fix distroless container paths
Opened
#236 feat: add POST /pulls/{owner}/{repo}/{index}/labels route to handler registration
Opened
#237 feat: add POST /pulls/{owner}/{repo}/{index}/comments route to handler registration
Opened
#238 feat: render comment bodies as markdown in issue and PR detail views
Opened
#239 test: add integration tests for POST /pulls comments route (after #237)
Opened
#240 chore: migrate SESSION_SECRET to SealedSecret in Talos repo
Opened
#241 feat: add PR label apply form to pull_detail.html template
Opened
#242 test: add integration tests for markdown comment rendering in issue and PR detail views (after #238)
Opened
#243 fix: replace gitea.sha and gitea.event_name with github.sha and github.event_name in CI workflow