40 Commits

Author SHA1 Message Date
Roardom
3e6702ba0a update: use torrent activity indicators on user torrent pages 2025-09-08 22:55:31 +00:00
Roardom
61c0c29e9f refactor: use php 8.4 property hooks for livewire computed properties
Less magic, and works well. Saw this trick in the Laracon US 2025 Livewire presentation.
2025-08-16 10:48:12 +00:00
Roardom
8122c6a5bc fix: phpstan pagination generics 2025-03-02 09:14:09 +00:00
Roardom
0e4bcb570d refactor: use ANSI-compatible syntax for raw database queries 2024-11-02 04:26:49 +00:00
HDVinnie
fd5ec29e6f Merge pull request #3983 from Roardom/peers-composite-primary-key
(Update) Use composite primary key for peers
2024-07-17 02:43:04 -04:00
Roardom
10fc1b2368 update: use composite primary key for peers
The same as was done in #2446 and reverted in ace8dcb but this time using workarounds for Eloquent when it tries to use the non-existing `id` column.
2024-07-16 09:45:03 +00:00
Roardom
bd9f820153 fix: phpstan livewire pagination types 2024-07-09 12:24:34 +00:00
Roardom
b86475a732 add: strict types to all files 2024-05-23 13:58:29 +00:00
Roardom
fa88cfff05 fix: connectable status on user actives page
The column needs to be selected when using the external tracker.
2024-05-08 10:27:58 +00:00
HDVinnie
71c5a3ebcb patch: livewire url attributes 2024-03-06 02:02:05 -05:00
HDVinnie
2fa847f6a8 remove: dead code 2024-03-04 16:21:58 -05:00
HDVinnie
bde593e48b update: livewire 2024-03-03 22:41:29 -05:00
Roardom
17208e9c72 fix: visible not selected in user actives page 2024-02-21 23:33:00 +00:00
Roardom
51cbb9105c update: update slot-limited peers but exclude from peer lists
Sometimes, for whatever reason, a user might have more peers than their slot limit. This occurs because we don't ensure every user completes every download they start. This means a user could stop a torrent, clear the slot, and start a new one, and then resume the first one using peers cached by the client. When a user did this, the peer that was stopped would no longer be shown by the tracker and stats weren't affected. When the user completed the torrent, they got a error saying they couldn't send a completed event without first sending a started event. This could only be resolved by restarting the client or pausing/resuming the torrent which would reset the stats for that torrent session. This PR accounts for this fact and will allow peers updates to continue, but the user will no longer be able to receive peers in the peer list, and other users won't receive their peer in the list.
2024-02-08 00:59:50 +00:00
Roardom
fe31076104 Reapply "Merge pull request #3380 from Roardom/livewire-types"
This reverts commit b4a9dfea8b.
2024-01-24 08:03:05 +00:00
HDVinnie
b4a9dfea8b Revert "Merge pull request #3380 from Roardom/livewire-types"
This reverts commit a4e1a1bc62, reversing
changes made to 10982c68bd.
2024-01-14 16:18:08 -05:00
Roardom
69cd4aa982 update: livewire sortBy to trait and add parameter type 2024-01-14 11:35:55 +00:00
Roardom
7037200377 fix: Livewire queryString type hint 2024-01-14 11:35:55 +00:00
Roardom
b6a3917575 fix: add type hints to Livewire computed properties 2024-01-14 11:35:55 +00:00
Roardom
0da9cef272 fix: specify primitive data types for Livewire properties 2024-01-14 11:35:55 +00:00
Roardom
3630be2d63 fix: some phpstan level 7 errors in Livewire 2024-01-07 17:21:12 +00:00
Roardom
6e6f551367 fix: various larastan livewire issues 2023-08-25 06:45:41 +00:00
Roardom
b281d0c168 update: allow viewing of user inactive peers
This wasn't intended to filter only active peers, but just be the default in the already available search filter.
2023-08-09 05:26:34 +00:00
Roardom
705abd8674 fix: ci 2023-07-29 05:48:35 +00:00
Roardom
c554e29abe update: keep peers that stopped announcing for longer
Now that we upsert history records without first selecting them, we can't rely on storing a peer's last uploaded/downloaded values in the history record to determine the user's uploaded/downloaded delta between the last announce. If a user has internet issues for a brief period of time but their client continues working, then their change of upload/download between the two announces needs to be kept track of. This is usually kept track of in the peer record, but if the peer is deleted after 2 hours of not announcing, then their last uploaded/downloaded data is deleted with it. We previously stored this data in the history table to handle such cases but this became erroneous if the user had multiple peers on a torrent. This new solution keeps the peers in the database for 2 days before concluding that the peer isn't coming back and deletes the peer permanently. After which point, a new peer will be created and an assumption is made that they uploaded/downloaded 0 data within their downtime.
2023-07-29 05:12:35 +00:00
Roardom
10c146d217 add: peer active status
Mark peers for deletion via this column so that they can be mass deleted later. This allows for combining peer inserts, updates and deletions into a single bulk peer upsert queue. Otherwise, when a user stops and starts a torrent before the bulk peer updates are collected in the queue, the peer may be deleted immediately after it gets inserted.
2023-07-23 00:42:45 +00:00
HDVinnie
2a3ee4a045 remove: dead livewire component function 2023-06-19 10:07:56 -04:00
HDVinnie
472c820f99 update: UNIT3D linting
- 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
2023-02-02 08:02:34 -05:00
Roardom
0bb0025087 fix: user peers ip filter 2023-01-31 19:33:57 -06:00
Roardom
22a8c7d29b update: peers table 2022-12-22 14:59:23 -06:00
HDVinnie
ace8dcb5b1 revert: peer batching 2022-11-14 20:10:26 -05:00
Roardom
cb62d9a872 update: batch peer updates 2022-10-30 19:56:43 -05:00
HDVinnie
f6bf6a326e PSR12 Linting 2022-09-11 23:54:18 +00:00
HDVinnie
2ca429c4ce Revert "PSR12 Linting"
This reverts commit 7e65e1d589.
2022-09-11 19:51:58 -04:00
HDVinnie
7e65e1d589 PSR12 Linting 2022-09-11 23:50:41 +00:00
Roardom
172a34fc54 fix: filtering active torrents by client 2022-08-27 03:03:20 -05:00
Roardom
89512ab712 fix: user active page connectable status 2022-05-15 22:55:45 -05:00
StyleCI Bot
68c37a96a3 Apply fixes from StyleCI 2022-05-15 22:38:51 +00:00
Roardom
2d12936faf fix: user torrents/actives page query generation 2022-05-15 02:07:19 -05:00
Roardom
0afe3a5691 refactor: user active torrents page to livewire 2022-05-14 20:19:12 -05:00