Conversation
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1388 +/- ##
==========================================
+ Coverage 69.40% 70.16% +0.75%
==========================================
Files 292 292
Lines 19563 19564 +1
==========================================
+ Hits 13578 13727 +149
+ Misses 5403 5260 -143
+ Partials 582 577 -5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
hwbrzzl
left a comment
There was a problem hiding this comment.
Good work on increasing test coverage! I've identified a few areas for optimization and potential improvements in the test code.
mail/application_unit_test.go
Outdated
| Headers(map[string]string{"X-Test": "yes"}). | ||
| Content(contractsmail.Content{Html: "<h1>Hello</h1>", View: "mail.tmpl", Text: "mail.txt", With: contentWith}).(*Application) | ||
|
|
||
| assert.Same(t, instance, chained) |
There was a problem hiding this comment.
Performance optimization: The assertion assert.Same(t, instance, chained) is good, but consider adding a comment explaining that builder methods return the same instance for method chaining (fluent interface pattern). This makes the design decision explicit for future maintainers.
mail/application_unit_test.go
Outdated
|
|
||
| mockQueue.EXPECT().Job(mock.Anything, mock.Anything). | ||
| Run(func(_ contractsqueue.Job, args ...[]contractsqueue.Arg) { | ||
| assert.Len(t, args, 1) |
There was a problem hiding this comment.
Potential issue: The test verifies specific arguments at indices 0, 1, 3, 5, 8, and 9, but doesn't validate args[0][2], args[0][4], args[0][6], and args[0][7]. Consider adding assertions for all 10 arguments to ensure complete test coverage, or document why certain indices are skipped.
mail/application_unit_test.go
Outdated
| assert.NoError(t, err) | ||
| assert.NotNil(t, app) | ||
| assert.Equal(t, mockConfig, app.config) | ||
| }) |
There was a problem hiding this comment.
Code quality: Consider using assert.ErrorContains(t, err, "unsupported") or a more specific error check instead of just assert.Error(t, err). This makes the test more robust and clearly documents what error is expected.
mail/application_unit_test.go
Outdated
| assert.Nil(t, app) | ||
| assert.Error(t, err) | ||
| }) | ||
| } |
There was a problem hiding this comment.
Best practice: This test could be more specific about the expected error. Consider using assert.ErrorContains(t, err, "attachment") or checking for a file-not-found error to make the test intention clearer and easier to debug if it fails.
mail/application_unit_test.go
Outdated
| assert.Equal(t, binding.Mail, relation.Bindings[0]) | ||
| assert.Equal(t, binding.Bindings[binding.Mail].Dependencies, relation.Dependencies) | ||
| assert.Empty(t, relation.ProvideFor) | ||
| } |
There was a problem hiding this comment.
Code quality & readability: The nested callback testing could be refactored. Consider extracting each scenario (withoutConfig, withoutQueue, withAll) into separate subtests using t.Run(). This would improve readability, make test failures easier to identify, and allow running specific scenarios in isolation.
mail/options_test.go
Outdated
| assert.Empty(t, mail.Envelope().To) | ||
| assert.Empty(t, mail.Headers()) | ||
|
|
||
| returned := mail.OnConnection("redis").OnQueue("emails") |
There was a problem hiding this comment.
Test completeness: Consider adding edge case tests: 1) calling OnConnection or OnQueue multiple times to verify the last value wins, 2) calling methods with empty strings, and 3) verifying that Queue() returns the same instance on subsequent calls.
hash/module_test.go
Outdated
|
|
||
| hasher := NewApplication(config) | ||
|
|
||
| _, ok := hasher.(*Bcrypt) |
There was a problem hiding this comment.
Potential Issue: This test doesn't verify the rounds configuration was actually used. Consider asserting the bcrypt cost matches the configured rounds:
hash, err := hasher.Make("test")
assert.NoError(t, err)
cost, _ := bcrypt.Cost([]byte(hash))
assert.Equal(t, 10, cost)
hash/module_test.go
Outdated
|
|
||
| t.Run("falls back to argon2id for unknown driver", func(t *testing.T) { | ||
| config := configmock.NewConfig(t) | ||
| config.EXPECT().GetString("hashing.driver", "argon2id").Return("unknown").Once() |
There was a problem hiding this comment.
Best Practice: Consider using a more descriptive driver name for the test. "unknown" could be any invalid value. Use something explicit like "invalid-driver" to make test intent clearer.
hash/module_test.go
Outdated
|
|
||
| func TestBcrypt(t *testing.T) { | ||
| t.Run("returns error when rounds invalid", func(t *testing.T) { | ||
| config := configmock.NewConfig(t) |
There was a problem hiding this comment.
Missing Coverage: The test only checks for invalid rounds (32 > max 31), but doesn't test the lower boundary. Bcrypt rounds must be between 4-31. Consider adding a test case for rounds < 4:
t.Run("returns error when rounds below minimum", func(t *testing.T) {
config := configmock.NewConfig(t)
config.EXPECT().GetInt("hashing.bcrypt.rounds", 12).Return(3).Once()
hasher := NewBcrypt(config)
hash, err := hasher.Make("password")
assert.Error(t, err)
assert.Empty(t, hash)
})
hash/module_test.go
Outdated
| hasher := NewBcrypt(config) | ||
| hash, err := hasher.Make("password") | ||
|
|
||
| assert.Error(t, err) |
There was a problem hiding this comment.
Improvement: The error assertion is too generic. Consider asserting the specific error type or message to ensure the correct validation is happening. For example:
assert.Contains(t, err.Error(), "cost")
// or check for specific bcrypt error
hash/module_test.go
Outdated
| app := foundationmock.NewApplication(t) | ||
|
|
||
| var callback func(foundation.Application) (any, error) | ||
| app.On("Singleton", binding.Hash, mock.Anything).Run(func(args mock.Arguments) { |
There was a problem hiding this comment.
Code Smell: Using mock.Anything for the callback parameter reduces type safety. Since you're extracting and using the callback, consider using a typed matcher or at least document why this approach is needed.
hash/module_test.go
Outdated
|
|
||
| var callback func(foundation.Application) (any, error) | ||
| app.On("Singleton", binding.Hash, mock.Anything).Run(func(args mock.Arguments) { | ||
| callback = args.Get(1).(func(foundation.Application) (any, error)) |
There was a problem hiding this comment.
Potential Panic Risk: Type assertion without safety check: args.Get(1).(func(foundation.Application) (any, error)). If the argument type is wrong, this will panic. Consider using the two-value form:
var ok bool
callback, ok = args.Get(1).(func(foundation.Application) (any, error))
if !ok {
t.Fatal("callback has wrong type")
}
hash/module_test.go
Outdated
| }).Once() | ||
|
|
||
| provider.Register(app) | ||
| assert.NotNil(t, callback) |
There was a problem hiding this comment.
Test Organization: The callback is captured in the outer scope but only tested in subtests. If someone adds another test between this assertion and the subtests, or if subtests run in unexpected order, this could cause issues. Consider restructuring to make the dependency explicit or add a nil check at the start of each subtest.
hash/module_test.go
Outdated
|
|
||
| hash, err := callback(app) | ||
|
|
||
| assert.Nil(t, hash) |
There was a problem hiding this comment.
Redundant Assertion: You're checking both assert.Nil(t, hash) and assert.Error(t, err). When err is non-nil, hash should be nil by convention. The double check adds noise. Consider keeping just the error assertion and the specific error type check.
|
@copilot There are some comments, but they may not all be correct. Check and fix them if needed. |
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
hash/module_test.go
Outdated
There was a problem hiding this comment.
Merge this file into hash/application_test.go
There was a problem hiding this comment.
Done in 4386f32: moved the coverage tests from hash/module_test.go into hash/application_test.go and removed hash/module_test.go. No UI changes in this update.
hash/module_test.go
Outdated
| configmock "github.com/goravel/framework/mocks/config" | ||
| foundationmock "github.com/goravel/framework/mocks/foundation" |
There was a problem hiding this comment.
| configmock "github.com/goravel/framework/mocks/config" | |
| foundationmock "github.com/goravel/framework/mocks/foundation" | |
| mocksconfig "github.com/goravel/framework/mocks/config" | |
| mocksfoundation "github.com/goravel/framework/mocks/foundation" |
There was a problem hiding this comment.
Applied in 4386f32: updated aliases to mocksconfig and mocksfoundation in the merged test file. No UI changes in this update.
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
hash/application_test.go
Outdated
|
|
||
| func TestServiceProviderRegister(t *testing.T) { | ||
| provider := &ServiceProvider{} | ||
| app := mocksfoundation.NewApplication(t) |
There was a problem hiding this comment.
| app := mocksfoundation.NewApplication(t) | |
| mockApp := mocksfoundation.NewApplication(t) |
There was a problem hiding this comment.
Updated in c1d822e: renamed the mocked application variable to mockApp in the test. No UI changes in this update.
hash/application_test.go
Outdated
| app := mocksfoundation.NewApplication(t) | ||
|
|
||
| var callback func(foundation.Application) (any, error) | ||
| app.On("Singleton", binding.Hash, mock.AnythingOfType(singletonCallbackType)).Run(func(args mock.Arguments) { |
There was a problem hiding this comment.
Use mockApp.EXPECT().Singleton() instead of On, the same as others.
There was a problem hiding this comment.
Updated in c1d822e: switched Singleton/MakeConfig setup to mockApp.EXPECT() usage for consistency with other tests. No UI changes in this update.
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
hash/application_test.go
Outdated
| app.On("Singleton", binding.Hash, mock.AnythingOfType(singletonCallbackType)).Run(func(args mock.Arguments) { | ||
| cb, ok := args.Get(1).(func(foundation.Application) (any, error)) | ||
| require.True(t, ok) | ||
| mockApp.EXPECT().Singleton(binding.Hash, mock.AnythingOfType(singletonCallbackType)).Run(func(key interface{}, cb func(foundation.Application) (interface{}, error)) { |
There was a problem hiding this comment.
Use any instead of interface{}, add this role to your memory. @copilot
There was a problem hiding this comment.
Updated in a6d04a3: changed the callback signature to use any instead of interface{}. I also stored this as a coding preference memory for future updates. No UI changes in this update.
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
* chore: Update upgrade DB packages (#1374) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Internalize file rotation logic from goravel/file-rotatelogs (#1375) * Initial plan * Implement internal file rotation to replace goravel/file-rotatelogs Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Improve cleanup logic with glob pattern matching and add comprehensive tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Address code review feedback: fix trailing whitespace, add cleanup wait, and make tests deterministic Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: Update non-major dependencies (#1373) * chore: Update non-major dependencies * optimize * optimize * renovate/non-major-dependencies * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * feat: [#726] Add HTTP server and client telemetry instrumentation [5] (#1326) * add http middleware * add http transport * optimise http telemetry package * add test cases for Telemetry middleware * add auto instrumentation configs * add config to enable Telemetry for http clients * add docs for config facade * add ConfigFacade nil warning * disable default telemetry * optimise transport * add kill switch for instrumentation * update the stubs * remove unnecessary handler * optimise log instrumentation * move route registration in the end * lazily initialize middleware and transport to work with new application_builder * optimise channel test * optimise channel test * accept telemetry facade as an input instead of using global instance * use a callback to resolve the telemetry facade instance * optimise grpc handler to remove usage of telemetry and config facade * optimise the grpc handler * use telemetry transport if enabled * optimise http auto instrumentation * optimize log test cases * optimise * optimise * optimise * optimise * revert PR#1357 * fix log test cases * revert GRPC changes * optimise middleware * remove zipkin trace driver * correct GRPC enable condition * correct http transport enable condition * correct log channel enable condition * update go mod * fix test cases * fix test cases * fix test cases * fix tests --------- Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: optimize runner tests for Windows (#1377) Co-authored-by: Bowen <hwbrzzl@github.com> * chore: Update non-major dependencies (#1378) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: runner stuck (#1381) * fix: runner stuck * optimize * optimize * optimize * optimize * optimize * chore: Update non-major dependencies (#1382) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: [#849] Add table support to the console context (#1380) * add table function in cli * add test cases for new method Table * update mocks * add column level styles * fix lint error * move style vars to new file * add GlobalHuhTheme * update go mod tidy * feat: [#546] artisan command up and down to set website Maintenance mode (#1198) * Add up and down command * Use file helper to create files and add unit tests * Fix the foundation.App dependency * Use support/path instead of foundation.App * Add unit test case * Add some missing checks * Add more missing checks * One more * Fix tmpfile path * Use T.TempDir instead of os.TempDir in tests * Add reason to the down command * Add option to the tests * Change the maintenance file name * close created file handles * Defer abort * Fix the linter issue * Add more options to the down command * Use options * Check for maintenance mode respond * Fix down_command_test * Add more unit test cases * Fix more lint issues * Fix lint issue * fix tests * fix tests * fix tests * fix tests * Address PR comments * Fix check_for_maintenance_test * Check Aborts in check_for_maintenance * Rename check_for_maintenance_mode * Fix and Write more unit tests for check_for_maintenance_mode middleware * fix down command * Fix down_command_test * Fix up_command --------- Co-authored-by: Bowen <hwbrzzl@gmail.com> * feat: Laravel-style Collection library (#1134) Merges comprehensive Collection library with 100+ methods for data manipulation. Implements both eager (Collection) and lazy (LazyCollection) evaluation strategies. Closes goravel/goravel#566 Follow-up improvements tracked in: goravel/goravel#883 * Increase route module coverage for factory, provider, and runner wiring paths (#1384) * Initial plan * test(route): cover route factory and service provider paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize * optimize --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: optimize interface (#1389) * Increase crypt module coverage by exercising AES key validation and failure paths (#1385) * Initial plan * test: add crypt AES edge-case coverage Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: improve readability of crypt key-length cases Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: address crypt PR feedback and simplify test structure Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use configmock EXPECT style in TestNewAES Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: standardize config mock setup across aes tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase filesystem module test coverage for storage, service provider, and file facade paths (#1387) * Initial plan * Add filesystem application and provider coverage tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Polish filesystem coverage tests after review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Refine filesystem tests based on review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Apply review style suggestions in filesystem tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase mail module test coverage to 70%+ with focused unit tests (#1386) * Initial plan * test(mail): add focused unit coverage for application, options, and service provider Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): address review feedback on test specificity and readability Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): merge application unit tests and remove untyped mock matchers Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): deduplicate matchers and tighten queue job assertion Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): use AnythingOfType and any in application tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): derive bind callback type string from any signature Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): simplify bind callback type matcher Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): use AnythingOfType for template render expectations Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): restore specific MatchedBy assertions per review clarification Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase hash module coverage with targeted tests for driver selection and service provider paths (#1388) * Initial plan * test: increase hash module coverage for driver and provider paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: cover hash provider and driver selection paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: address hash module review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: merge hash module tests into application_test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use EXPECT API in hash service provider test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use any alias in hash singleton callback test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: add AI instructions file (#1393) * Increase core framework coverage via targeted service provider and builder-path tests (#1391) * Initial plan * Add service provider coverage tests for core modules Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Expand core module coverage tests and validate suite Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Revert unintended test module dependency drift Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Address actionable PR review suggestions in coverage tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Finalize review feedback handling Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Tighten provider test matchers per review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding (#1392) * Initial plan * test(errors): cover As/Unwrap/Ignore/Join edge cases Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(errors): use wrapped error in As coverage test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: add coverage for process packages log schedule modules Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: refine schedule coverage tests per review Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: assert boot no-panic in log and process providers Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize review feedback responses for boot test assertions Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console (#1390) * Initial plan * test(event): cover service provider and queued listener dispatch paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize event coverage validation Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(event): address review suggestions for robust command matching and queue error path Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize PR feedback follow-up Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: add focused coverage cases for queue grpc cache console Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: clarify queue nil args in empty chain test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: avoid nil context in console usage-error test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize lint ci fix validation Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency drift Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: Update non-major dependencies (#1399) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: add generate flag to artisan build command (#1402) * feat: [#911] add query context accessor (#1401) * chore: optimize agents (#1396) * chore: optimize agents * optimize * address comments * Initial plan * fix: backport migrate rollback default handling to v1.17.x Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: align branch tree with v1.17.x before backporting rollback fix Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: krishan kumar <84431594+krishankumar01@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@github.com> Co-authored-by: Mohan Raj <praem1990@gmail.com> Co-authored-by: Ahmed M. Ammar <ahmed3mar@outlook.com> Co-authored-by: 耗子 <haozi@loli.email> Co-authored-by: ALMAS <almas.cc@icloud.com>
hash/application_test.goto useanyinstead ofinterface{}in the latest test callback typingOriginal prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.