-
Notifications
You must be signed in to change notification settings - Fork 121
[Local catalog] Add database search query for local catalog products #16373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
joshheald
merged 56 commits into
trunk
from
woomob-1112-woo-poslocal-catalog-implement-product-search
Nov 24, 2025
Merged
Changes from 2 commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
a088d3e
Add database search query for local catalog products
joshheald 0a479b6
Add local search fetch strategy for POS items
joshheald ffb0fcc
[Local catalog] Implement local variation fetching from GRDB
joshheald a3af88b
Wire local search strategy to factory and UI
joshheald 3e82715
[Local catalog] Add explicit local catalog flag to factory
joshheald 9afae0b
[Local catalog] Add analytics tracking for local search
joshheald 9d13321
Add SearchDebounceStrategy enum for configurable search debouncing
joshheald 3637ba0
Add debounceStrategy property to fetch strategy protocols
joshheald 6acb890
Implement strategy-based debouncing in search UI
joshheald 5dae392
Apply simple debouncing strategy to local product search
joshheald 753ca24
Add tests for SearchDebounceStrategy
joshheald a81e1c7
Fix line length lint violations in SearchDebounceStrategyTests
joshheald b78f674
Fix SearchDebounceStrategyTests to use existing mocks
joshheald 82a73a0
Fix SQL LIKE escaping to handle special characters (% and _)
joshheald 7cada54
Merge PR1 fix: SQL LIKE escaping for special characters
joshheald 5548479
Merge PR2: includes SQL LIKE escaping fix
joshheald fe4b43c
Merge PR3: includes SQL LIKE escaping fix
joshheald ebe7eaa
Merge PR4: includes SQL LIKE escaping fix
joshheald b528346
Fix GRDBManager access when feature flag is disabled
joshheald 976fff5
Merge PR3: GRDBManager access fix
joshheald f112338
Merge PR4: GRDBManager access fix
joshheald 60f51e1
Add currentDebounceStrategy to mock controllers
joshheald d37005d
Fix lint
joshheald 300cd55
Revert marketing version from 23.8 to 23.7
joshheald adf6e1f
Merge factory-integration branch with version fix
joshheald 3aa198b
Merge analytics branch with version fix
joshheald 0a668f1
Add loadingDelayThreshold to smart debounce strategy
joshheald 9656089
Fix loading indicators not showing on first remote search
joshheald de5a625
Remove unnecessary comment
joshheald 42335af
Fix test build
joshheald 5e4e396
Fix periphery issues
joshheald 2dc3ff6
Rename debounceStrategy to currentDebounceStrategy for clarity
joshheald 63c3b71
Fix Swift6 warning
joshheald 5e690fb
Revert "Revert marketing version from 23.8 to 23.7"
joshheald 9045166
Revert changes to marketing version
joshheald 46b7571
Update test to have an excluded product
joshheald d6d0723
Merge branch 'trunk' into woomob-1112-woo-poslocal-catalog-implement-…
joshheald 6e046d5
Fix test compilation after trunk merge
joshheald 182184a
Merge branch 'woomob-1112-woo-poslocal-catalog-implement-product-sear…
joshheald bc2a8ca
Merge branch 'woomob-1112-woo-poslocal-catalog-local-search-strategy'…
joshheald 61837ab
Merge branch 'woomob-1112-woo-poslocal-catalog-factory-integration' i…
joshheald 59f976f
Merge branch 'woomob-1112-woo-poslocal-catalog-analytics' into woomob…
joshheald eb8be6e
Fix test compilation after trunk merge - add statusKey parameter
joshheald 3945526
Merge branch 'woomob-1112-woo-poslocal-catalog-local-search-strategy'…
joshheald d1bf02e
Merge branch 'woomob-1112-woo-poslocal-catalog-factory-integration' i…
joshheald bf2d785
Merge branch 'woomob-1112-woo-poslocal-catalog-analytics' into woomob…
joshheald 992afaf
Escape the escape!
joshheald 37b4e98
Don’t show intermittent cancellation errors in search
joshheald 6d45ae6
Remove unnecessary `await` call
joshheald 094c919
Use a default duration for smart debounce
joshheald 6efe96f
Split up debounce logic
joshheald 851119c
[Local catalog] Add configurable search debounce strategies (#16377)
joshheald 5b71a8e
[Local catalog] Add analytics tracking for local search (#16376)
joshheald 9d31a95
[Local catalog] Wire local search strategy to factory and UI (#16375)
joshheald 769a65e
[Local catalog] Implement local search strategy with GRDB (#16374)
joshheald a153e87
Merge branch 'trunk' into woomob-1112-woo-poslocal-catalog-implement-…
joshheald File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Take it with a grain of salt since I'm not versed in this. The LLM shares that for completeness we can also escape
\, but since GRDB passes the escape character explicitly and most product searches won’t include backslashes, the current implementation adequate.If so, the suggestion would be to add
.replacingOccurrences(of: "\\", with: "\\\\")as well.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, interesting. I'll check this one, and see what the behaviour is if you search with slashes...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, you're right,
\in the search term was treated as an escape character. Fixed in 992afaf