- Laravel 11 introduces a new default application structure with fewer default files. Namely, new Laravel applications contain fewer service providers, middleware, and configuration files.
However, it is not recommend that Laravel 10 applications upgrading to Laravel 11 attempt to migrate their application structure, as Laravel 11 has been carefully tuned to also support the Laravel 10 application structure.
- this resolves some larastan property issues but in return has revealed quite a few issues with our castings and such. baseline has been regenerated so we can work through them. The properties in docblocks are in order and match everything in DB schema wise.
laravel by default automatically serializes models in a custom way when inserted into a job queue and fetches the model from the database again when the job is ran. We would rather not have these extra queries, so we can't pass in models, or data that is already serialized (as laravel will try to deserailize our serialization too and fail), so we opted for arrays, and filling in the properties into a new model again once the job is handled.
Every time this function is called, we're already updating the `updated_at` timestamp to the current time, so it's a relatively insignificant change to add another field to the update clause at the same time.
- history still needs too be made to upsert
- connectable logic needs updating
- $peer->delete() in job needs to be reworked
The only solution would be to instead of deleting it on stopped event, make another column on the peers table for is_active and update is_active to 1 in every case except for stopped, in which case update it to 0 instead of deleting and then a cron job can delete it later.
Co-Authored-By: Roardom <78790963+Roardom@users.noreply.github.com>
- github action updated with new ruleset in pint.json
- codebase linted with new ruleset
- contributors can now run `./vendor/bin/pint`
- action workflow will auto correct any lint issues upon commit/opened pull request
Previously if Announce interval was more than Connectable interval, the key would expire not show accurate result. Now key will live for interval + 2 hours ensuring that there is always a result for an active client (Peers job runs at the two hour mark).