Issue #130 (ginkelsoft-development/buildora) fixen: GlobalSearchController krijgt een per-resource limit(10) op de LIKE-query, plus een documentatie-aanbeveling over FULLTEXT-indexen. - #186
Open
zyra-ginkelsoft[bot] wants to merge 1 commit into
Open
zyra-ginkelsoft[bot] wants to merge 1 commit into
zyra-ginkelsoft[bot] wants to merge 1 commit into
Conversation
Elke resource-query in de globale zoekfunctie kon een onbeperkt aantal LIKE-matches ophalen (feitelijk was er al een limit(5), nu expliciet limit(10) met een benoemde constante). Voegt een test toe die aantoont dat een resource nooit meer dan 10 records teruggeeft, ook met 15 matchende records in de dataset. Documenteert daarnaast in README en als inline comment dat consumers bij grote tabellen een FULLTEXT-index op de doorzoekbare kolommen kunnen overwegen (of Scout), zonder dat hier te implementeren. Debouncing aan de frontend-kant is al aanwezig (Alpine @input.debounce.300ms in global-search.blade.php), dus geen wijziging nodig. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
This is a package (Testbench). Let's look at ResourceScanner, BuildoraResource, and how resources/routes are defined, plus existing field tests for style, and composer.json for test command.Composer install gelukt (transient probleem). Er is een orchestra/workbench aanwezig - laten we kijken of dat een
workbench/appskeleton bevat die alsapp_path()fungeert.Goed. Nu pas ik eerst de controller aan (limit 5→10 + documentatie), en schrijf daarna de test.Nu de README-documentatie over FULLTEXT-indexen toevoegen.Nu de debounce-check aan de frontend-kant.Debouncing is al aanwezig (Alpine@input.debounce.300ms="search"), dus geen aparte actie nodig — ik meld dit in de PR. Nu de test schrijven.Nu tests draaien.Alle 38 tests slagen (deprecations zijn pre-existing door/** @test */-stijl, ook in de al bestaande tests). Nu lint en typecheck.Bevestigd: deze phpstan-meldingen bestonden al voor mijn wijziging (pre-existing), niet iets wat ik heb geïntroduceerd. Nu de proef.sh checken.Dit bestaat al en is toegespitst op dit package (Testbench-app i.p.v. een echte Laravel-app). Laten we het even proefdraaien.Werkt prima. Nu committen.Goed, composer.lock en vendor zijn gitignored. Nu committen.Deze lint-issues zitten in andere, ongewijzigde bestanden (pre-existing). Alles slaagt: 38/38 tests groen, mijn gewijzigde bestand is lint-schoon.## SamenvattingWat ik deed:
GlobalSearchController::__invoke(): de per-resource query gebruikte al->limit(5), ik heb dit expliciet gemaakt als->limit(10)via een benoemde constanteRESULT_LIMIT_PER_RESOURCE, conform het issue.LIKE '%term%'-query met leidend wildcard geen standaard index kan gebruiken. Geen index of Scout-integratie geïmplementeerd — bewust buiten scope.@input.debounce.300ms="search"inglobal-search.blade.php), dus niets aangepast — puur gerapporteerd.tests/Feature/GlobalSearchControllerTest.php) met een test-resource/model via Testbench die 15 matchende records aanmaakt en bevestigt dat de controller nooit meer dan 10 resultaten teruggeeft, plus een tweede test die bevestigt dat minder matches ook gewoon minder resultaten geven (geen off-by-one).Wat ik testte:
vendor/bin/phpunit --testdox: 38/38 tests slagen (2 nieuwe).vendor/bin/phpcs --standard=PSR12op het gewijzigde bestand: 0 fouten (wel wat pre-existing warnings/errors elders in de codebase, niet door mij geraakt).vendor/bin/phpstan analyse src/ --level=5: dezelfde 2 meldingen in dit bestand bestonden al vóór mijn wijziging (geverifieerd viagit stash), geen nieuwe fouten geïntroduceerd. Er zijn 59 pre-existing phpstan-fouten in de repo, ongerelateerd aan deze fix..zyra/proef.shbestond al en werkt (composer install, sqlite-db, migraties,testbench serveop$PORT) — proefgedraaid op poort 8123, server start correct.Wat open staat:
DataFetcher.php, enkeleView/Components) vallen buiten deze issue en zijn niet aangepakt.