Skip to content

promote: Phase 2 (tavle→board rename) from master to stable#804

Merged
renemadsen merged 2 commits into
stablefrom
master
May 12, 2026
Merged

promote: Phase 2 (tavle→board rename) from master to stable#804
renemadsen merged 2 commits into
stablefrom
master

Conversation

@renemadsen
Copy link
Copy Markdown
Member

Summary

Promotion PR: Phase 2 (tavle → board rename) was merged to `master` in #803 but I missed setting the base branch — it should have gone directly to `stable` per the plugin repo convention (the cycle skill explicitly notes this: "open PR ... toward `stable` for the plugin repo"). Phase 1's PR #802 correctly targeted `stable`; Phase 2's recovery is this fast-forward promotion.

Diff is exactly the Phase 2 changes: 1 source commit (`01694e27`) + 1 merge commit (`b84b5761`). Fast-forward is clean — `stable` has zero commits not on `master`.

Verification (carried forward from #803)

  • `dotnet clean && dotnet build` from `eFormAPI.Web/` — 0 errors
  • All 14 Playwright shards green
  • `test-dotnet` + `backend-pn-build` green
  • On-device verified against local backend (Flutter customer 855): `GetBoards returned 2 boards` via the renamed `/backend_configuration.Events/ListBoards` RPC path
  • Dual-subagent gate green on feat(events): Phase 2 — rename gRPC tavle types to board #803

Coordinated rollout

  • Flutter side already merged via microting/flutter-eform#749 → `master`
  • Once this lands, `stable` has the matching gRPC surface so production deployment doesn't hit UNIMPLEMENTED on `/backend_configuration.Events/ListBoards`

🤖 Generated with Claude Code

renemadsen and others added 2 commits May 12, 2026 05:34
Mirror of the Phase 1 plugin pattern (PR #802) for the next noun in the
opgave→event migration: rename the gRPC message types and RPC method
names from Tavle to Board. Wire field names stay (`tavler`, `tavle_id`,
`tavle_ids`) so generated C# accessors don't churn — only the type
names and RPC method move.

Concrete proto changes:
- rpc ListTavler(ListTavlerRequest) returns (ListTavlerResponse)
  → rpc ListBoards(ListBoardsRequest) returns (ListBoardsResponse)
- message Tavle → message Board
- message ListTavlerRequest/Response → ListBoardsRequest/Response
- Top-of-file comment updated to document Phase 2 boundaries.

Concrete handler changes (EventsGrpcService.cs):
- public override Task<ListTavlerResponse> ListTavler(...)
  → Task<ListBoardsResponse> ListBoards(...)
- new Tavle { ... } → new Board { ... }
- response.Tavler.Add(...) kept (generated from carved wire field)
- All 15 generated accessors (request.TavleIds reads, event.TavleId
  setters) untouched — they're driven by carved wire fields.

Build: dotnet clean + build green from eFormAPI.Web (0 errors,
10 pre-existing warnings). Backend restarts cleanly on :5000+:5001.
Embedded copy at eform-angular-frontend/eFormAPI/Plugins/BackendConfiguration.Pn/
synced (diff -q silent).

Spec: docs/superpowers/specs/2026-05-11-opgave-to-event-migration.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(events): Phase 2 — rename gRPC tavle types to board
Copilot AI review requested due to automatic review settings May 12, 2026 04:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Promotes Phase 2 of the gRPC surface rename (tavle → board) from master to stable for the BackendConfiguration plugin, aligning the plugin’s gRPC API with the already-merged Flutter consumer changes and avoiding UNIMPLEMENTED calls in production.

Changes:

  • Renames the gRPC RPC from ListTavler to ListBoards and updates request/response message types accordingly.
  • Renames the Tavle proto message type to Board while keeping wire field names (tavler, tavle_id, etc.) stable.
  • Updates the C# gRPC service handler to implement the renamed ListBoards RPC and return Board messages.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/GrpcServices/EventsGrpcService.cs Updates the gRPC service implementation to expose ListBoards and emit Board messages.
eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Protos/events.proto Updates the gRPC schema to rename ListTavler*ListBoards* and TavleBoard, preserving wire field names.

Comment on lines 33 to 37
/// <summary>
/// gRPC adapter for the mobile "Opgaver" feature.
/// Read-only RPCs (ListEjendomme / ListTavler / ListOpgaver) reuse the existing
/// Read-only RPCs (ListEjendomme / ListBoards / ListOpgaver) reuse the existing
/// Properties + Calendar service paths and reshape the result into the
/// microting.opgaver wire contract. CompleteOpgave performs the SDK-case
Comment on lines +6 to +8
// `ejendom_id`) stay as-is so generated accessors don't churn; only
// message types and RPC method names move. Ejendom and rode renames
// land in follow-up phases.
@renemadsen renemadsen merged commit 8ef58ca into stable May 12, 2026
38 of 39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants