☀️ Morning Briefing

Thursday, September 10, 2026

Nightly Build Review

MISSING — no nightly build-review artifacts were produced for September 10.

Changed apps: Buildr+ (direct Git evidence; not reviewed by the missing producer)

Idle apps: Closr+, Inspectr+, DailyReportr+

Buildr+

Closr+

Inspectr+

DailyReportr+

Issues / Anomalies

Today's App Ideas

Complete OAuth Account Deletion In-App Buildr+

The new deletion flow requires a current password and tells Apple/Google users to email support; the Worker also rejects accounts without an email-password credential. That leaves OAuth customers without the required in-app deletion path.

How: Expose the session’s auth method, request fresh Apple or Google reauthentication in Flutter, verify that provider token in the Cloudflare Worker, and exchange it for a short-lived owner-bound deletion challenge. Require the existing email confirmation, execute the same D1/R2 deletion graph, fail closed offline, and test password, Apple, Google, expired proof, wrong owner, R2 failure, and complete local-session cleanup.

Accessible Header State and Controls Closr+

The shared header presents sync state through tooltip-only icons and uses an unlabeled GestureDetector for theme switching. VoiceOver users cannot reliably identify the control or hear offline, syncing, saved, and error transitions.

How: Replace the theme gesture with a 44-point IconButton or Semantics button carrying the next action, add labeled profile-menu semantics, and wrap the Cloudflare sync status in an atomic live region while excluding duplicate icon semantics. Announce only real state transitions, respect reduced motion for the spinner, and add widget tests for focus order, labels, large text, and all sync states.

Project-Scoped Attachment Queue DailyReportr+

The attachment service already records project IDs and file sizes, but the queue page always renders every project together. Add a small active-project filter so a superintendent can isolate today’s evidence quickly without changing sync authority.

How: Add an All/Project selector backed by a provider family that uses the existing getItemsByProject seam, default to the project that opened the queue, and show scoped item and byte totals. Keep filtering entirely local and continue sending each mutation through the existing owner-scoped Cloudflare/R2 routes; test large queues, deleted projects, failed items, offline opening, and filter persistence.

Competitive Intelligence

Procore — Can I use Procore's mobile application in offline mode? (retrieved 2026-09-10)

Finding: Procore limits offline viewing to cached or recently viewed records, tells crews to prepare drawings, RFIs, punch items, and inspections before losing service, and holds offline actions until connectivity returns.

Implication: DailyReportr+ should make project-scoped pending evidence visible and usable before any server round trip.

Source: https://v2.support.procore.com/faq-can-i-use-procores-mobile-application-offline

Fieldwire — Field-first Construction Management Software | Fieldwire by Hilti (retrieved 2026-09-10)

Finding: Fieldwire frames mobile field work around speed, seconds-fast task/file/photo handling, and filters for projects with more than 1,200 tasks.

Implication: DailyReportr+ should filter a large attachment queue by active project instead of forcing crews through one global list.

Source: https://www.fieldwire.com/construction-management-software/

Bluebeam — Use Studio Projects on iOS | Bluebeam Technical Support (retrieved 2026-09-10)

Finding: Bluebeam lets users choose an entire project, folder, or file for offline use; offline changes remain pending and auto-sync on reconnection, while insufficient device storage blocks download explicitly.

Implication: DailyReportr+ should keep pending evidence scoped, quantified, and unmistakable without treating a local save as a completed Cloudflare upload.

Source: https://support.bluebeam.com/bluebeam-cloud/how-to/studio-projects-for-ios.html

Current Code Health