Repository navigation
fix(resources): complete offline manifests beyond 100 search hits (#431) - #436
Closed
mattrace-gloo wants to merge 1 commit into
Closed
mattrace-gloo wants to merge 1 commit into
mattrace-gloo wants to merge 1 commit into
Conversation
Stop re-slicing bounded Aquifer search results at 100 and report truncated only when provider pagination metadata cannot prove enumeration finished. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 13 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TLDR
Prepare Offline manifests no longer re-slice a successfully enumerated Aquifer search back to 100 items per configuration. When bounded pagination collects every matching resource (including counts above 100), the response stays
truncated: falsewith full hydration and accurate sizes. When the 20-page search ceiling stops collection without provider proof of completeness,truncatedstays true so clients cannot treat a partial catalogue as complete.Details
Refs #431
Related mobile acceptance: fluent-mobile#736 (do not close until Android QA on a deployed revision)
origin/main@c8d4cb6getPrepareOfflineManifestsettruncatedandslice(0, 100)aftersearchAllResourceshad already paginated (100/page, ≤20 pages).{ items, complete }from bounded Aquifer enumeration; hydrate all collected items; settruncatedonly whencomplete === false.#432strict hydration failure). Large-manifest hydration still uses existing skip-on-failure online policy for non-manifest routes; offline strict-fail remains fix(resources): reject incomplete offline hydration (#432) #433.translation-resources(compared file list). #411 only adds Bible-text 404httpStatuson Aquifer errors — no intentional interaction.Type of change
Technical changes
src/lib/services/aquifer/aquifer.client.ts—searchAllResourcesreturns{ items, complete }; exportAQUIFER_MAX_SEARCH_PAGESsrc/lib/services/aquifer/aquifer.types.ts—AquiferResourceSearchEnumerationsrc/domains/translation-resources/translation-resources.service.ts— remove per-config 100 slice; hydrate full enumeration;truncatedfrom!completesrc/domains/translation-resources/translation-resources.types.ts— OpenAPItruncateddescription updatedTesting
--configLoader=runner): 61 passed across translation-resources + aquifer.client suites (includes +2 manifest / +2 pagination completeness cases)prettier --checkon touched files: passeslinton touched domain/aquifer paths: passtsc --noEmit: passnpm run deadcode/ knip: blocked locally —knip@5.88.1not installed in sharednode_modules; stock script invokes barenpx(not run; no install)test:db/test:live: skipped (no isolated DB / no live Aquifer credentials)scripts/check-docs-structure.sh: fails on pre-existingdocs/.DS_Store(unrelated; not modified here)How to verify
./node_modules/.bin/vitest run --configLoader=runner src/domains/translation-resources src/lib/services/aquifer/aquifer.client.test.ts— expect pass including#431>100 complete and page-ceiling incomplete cases.truncated_manifest(e.g. project 12) — expect non-truncated catalogue with accurate sizes; record runtime revision against mobile #736 before closing either issue.Follow-ups
npxacquisition.Made with Cursor