Repository navigation
Simpler first work order, Home, GitHub repo import, clearer list and detail pages - #86
Conversation
…etail pages Work order creation - Prefill the builder's GitHub login and email from their profile or the Agency's last work order (new builderDefaults route, Agency-scoped) - Create a project or builder inline from the form; project slugs avoid collisions - Keep an unsent work order as a local draft per user, network and Agency; representative details are never stored and drafts clear on sign-out - Import repositories from GitHub (NEARBuilders and MultiAgency by default, or any organization); public repositories only, cached for 10 minutes, each chosen repo shown as a link - Explain why "Send for signature" is disabled Home and lists - New Home page with the work orders waiting on you; Home added to the menu - Work orders list: one row of tabs, full titles, builder account, "$X of $Y" budget - list() loads requests, documents, signatures and builders in batches Work order page - Overview, payouts and documents tabs (old tab links still work), key facts strip, Edit and More menu, Terminate for offered orders - "Withdraw and delete" checks Documenso first: it refuses when the builder already signed, when Documenso can't be checked, or when the envelope can't be cancelled - Payout account shows "Confirmed when they sign" only for Documenso signing; no duplicate payout-account warning on accepted orders - Shows how the order was signed (Documenso, Google Docs or MultiAgency) Fixes - Store created/updated times in UTC (PGlite and pg sessions) - Renewals keep the project title and slug; "Unknown project" instead of raw ids, and documents refuse to generate without a project title - Editing an order never auto-fills terms from builder defaults - Shorter setup and status copy across admin pages
Multi Review ·
|
|
I pushed fixes (da7e840) from a review of this PR. Tests and typecheck pass locally.
Terminate, Delete, the missing project, restored drafts and the cache have new tests. The UI changes (form retry, "not available" screen, sign-out, restored drafts) were checked by hand in a local run. |
What changes
Creating a work order
workOrders.builderDefaults, scoped to the Agency).-2,-3).workOrders.githubRepos).Home and lists
list()loads requests, documents, signatures and builders in batches. Output is unchanged.Work order page
?tab=evidence/?tab=activitylinks still work.Fixes
created_at/updated_atare written explicitly, and both PGlite and pg sessions use UTC. This fixes "since" times that were hours off.Review
A deep review covered coding standards, the agreed plan, and security and logic. It found no critical or high issues. The review's fixes are in this PR:
Testing
bun run typecheck: cleanno-restyleerrors are already on staging.listOrgReposwas checked against live GitHub (NEARBuilders: 124 repos, MultiAgency: 32, unknown org → 404).Not in this PR
bos.config.json,.env.exampleand the generatedplugins/builders/types/contract.d.ts(local dev changes).