Skip to content

docs: code review#3530

Closed
omartinma wants to merge 14 commits into
mainfrom
docs/repo-recommendations
Closed

docs: code review#3530
omartinma wants to merge 14 commits into
mainfrom
docs/repo-recommendations

Conversation

@omartinma
Copy link
Copy Markdown
Contributor

DO NOT MERGE YET

Description

Related Issue: Closes # or Relates to #

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

@github-actions github-actions Bot added the needs-issue PR needs a linked tracking issue label Apr 28, 2026
@github-actions
Copy link
Copy Markdown

🔗 Link this PR to an issue

This PR doesn't reference a tracking issue yet. These open issues look related:

To link: edit the PR description and add Closes #<number> (if this PR will close the issue) or Relates to #<number> (if the PR is related but doesn't close it).
If none of these match, add Closes #none and a new tracking issue will be created automatically.

This comment and the needs-issue label will be removed once an issue is linked.

Comment thread docs/code-review/CODE_REVIEW.md Outdated

**Reference commit:** [`4f2834ddb`](https://github.com/divinevideo/divine-mobile/commit/4f2834ddb529487020333feea8e269c6fa19bfbc): `feat(feed): move captions control into more info (#3105)` (2026-04-16)

> **Note:** All file paths, line numbers, and code snippets in the issue files below were captured at the reference commit. Since `main` continues to evolve, some references may be outdated — files may have moved, lines shifted, or code changed. When acting on an issue, verify against the current state of the codebase.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Worth calling out a couple of same-day merges here so readers don’t over-index on the April 16 snapshot. As of April 28, 2026, #3522 (feed-item BlocProvider repo-identity fix), #3533, and #3536 (new Riverpod→Bloc capture rules) have already landed, so some examples in the audit are now better read as "fixed incident / remaining class of risk" rather than "currently broken on main." A short note here would make the document age better.

Comment thread docs/code-review/issues-code-quality.md Outdated

---

### Inconsistent serialization approaches across models
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This one looks stale after #3514, which merged earlier today. VideoEvent no longer uses json_serializable; the generated video_event.g.dart was removed and toJson is now a hand-written allow-list. I’d either drop this issue or rewrite it as a smaller point about standardizing the remaining manual serialization patterns, because the specific "one model still uses codegen" claim is no longer true on main.


Issues related to layer violations, dependency direction, state management patterns, and project organization.

Note: The layered architecture (`UI → BLoC → Repository → Client`) is established in 42 BLoC directories and packages like `videos_repository` and `comments_repository`. These issues cover the structural gaps — primarily the 140-file `services/` directory that bypasses the BLoC layer, three concurrent state management patterns, and missing documentation for data source and caching strategy.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This "missing documentation" part is a bit narrower after today’s merges. #3533 and #3536 just added explicit docs for the Riverpod-captured-dependency → Bloc trap that caused #3503, so for that slice the gap is now more about adoption/enforcement than absence of guidance. I’d update this sentence or add a note so the architecture section doesn’t overstate the current-docs gap.

@rabble
Copy link
Copy Markdown
Member

rabble commented May 11, 2026

Draft review notes

This is docs-only and useful as an audit package, but the current draft framing is right: it should not merge as-is.

Findings

  • Draft state is explicit. The PR body says DO NOT MERGE YET, the template is not filled out, and the main doc says “Working document”.

  • High staleness risk. The audit is pinned to reference commit 4f2834ddb from 2026-04-16 and includes many line numbers/counts/file-path examples. If merged, it should be clearly framed as a historical audit snapshot, not evergreen source-of-truth guidance.

  • Inconsistent issue-tracker state. CODE_REVIEW.md says GitHub issues “will be created once the list is finalized,” but issue files already link tickets such as #3608, #3628, and #3658. Please reconcile that language.

  • Accessibility guidance uses deprecated/non-project-preferred API. docs/code-review/issues-ui-ux.md recommends SemanticsService.announce(). Project accessibility rules prefer SemanticsService.sendAnnouncement(...), and current repo precedents use the newer API.

  • Broad recommendations need proposal framing. Items like standardizing HTTP clients on Dio, moving Hive to Drift, and extracting packages may be valid, but should be framed as proposals needing owner/architecture validation, not settled conventions.

Readiness

Before marking ready: fill out the PR body, resolve the issue-link language, replace announce guidance with sendAnnouncement, and strengthen the “dated audit snapshot” framing.

@rabble rabble force-pushed the docs/repo-recommendations branch from 5fe79bf to 2a1b6ed Compare May 17, 2026 02:40
@github-actions
Copy link
Copy Markdown

Mobile PR Preview

Preview refreshed for 2a1b6ed

Last refresh: 2a1b6ed at 2026-05-17 02:44:37 UTC (preview run)

Property Value
Preview URL https://ab6222bd.openvine-app.pages.dev
Pages project openvine-app
Preview branch pr-3530
PR branch docs/repo-recommendations
Commit 2a1b6ed

realmeylisdev added a commit that referenced this pull request May 18, 2026
* docs(code-review): extract simplicity audit from #3530

Per the #4339 ratification thread, extracting the simplicity-audit
artifact into a small standalone PR so it can land against `main`
rather than waiting on the full #3530 docs draft. The other audit
docs in #3530 (architecture, performance, error-handling, testing,
etc.) belong under their respective epics (#4335 / #4336 / #4337)
and will be extracted by those owners.

Content copied verbatim from #3530 head `docs/repo-recommendations`
to preserve attribution and keep this PR a pure extraction (no
content edits). Numbers reflect the audit baseline at PR-open time;
follow-up PRs can update them as decomposition lands.

Co-authored-by: Oscar Martin <martinm.oscar@gmail.com>

* docs(code-review): reconcile simplicity audit per review

Addresses blocking review on #4505:

- Add April 2026 snapshot preamble pointing readers at epic #4339
  for live status, since the audit baseline is intentionally pinned.
- Annotate the four closed tickets (#3594, #3595, #3596, #3598) with
  their closure dates and successor references where applicable, so
  the doc does not present completed work as outstanding remediation.
- Reconcile main.dart count to 1,784 (matches the granular Evidence
  value) in both the intro paragraph and the section heading.
- Disambiguate the notification LOC numbers: ~1,500 is total dual-system
  scope, ~1,000 is net deletion after wiring updates.

---------

Co-authored-by: Oscar Martin <martinm.oscar@gmail.com>
@NotThatKindOfDrLiz
Copy link
Copy Markdown
Member

Closing (not because all of this work has been addressed) but just to keep the PR queue clean. The corresponding issues continue to be worked through as we build. Thank you, again, @omartinma for all of the effort, expertise, and care that went into this code review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Exactly what it says

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants