Alejandro Celaya
|
af569ad7a5
|
Fix PHPStan rules
|
2024-11-03 11:37:16 +01:00 |
|
Alejandro Celaya
|
bf121c58ba
|
Fix API tests
|
2024-11-03 11:37:16 +01:00 |
|
Alejandro Celaya
|
d2403367b5
|
Fix PublishingUpdatesGeneratorTest
|
2024-11-03 11:37:16 +01:00 |
|
Alejandro Celaya
|
84a187a26f
|
Include left join with domains when listing short URLs to avoid N+1 SELECT problem
|
2024-11-03 11:37:15 +01:00 |
|
Alejandro Celaya
|
3149adebdb
|
Expose the fact that a short URL has redirect rules attached to it
|
2024-11-03 11:36:50 +01:00 |
|
Alejandro Celaya
|
a3ea8f56dd
|
Remove app_options config
|
2024-10-24 08:49:58 +02:00 |
|
Alejandro Celaya
|
f3244b35e3
|
Remove remaining local config files
|
2024-10-23 10:53:09 +02:00 |
|
Alejandro Celaya
|
46601443f5
|
Load specific env file when running API tests
|
2024-10-23 09:17:00 +02:00 |
|
Alejandro Celaya
|
c0200317dd
|
Load dev env vars via roadrunner instead of docker compose
|
2024-10-22 15:31:53 +02:00 |
|
Alejandro Celaya
|
c8e5196aab
|
Remove dependencies on url_shortener raw config
|
2024-10-22 15:15:41 +02:00 |
|
Alejandro Celaya
|
582033ceb3
|
Migrate dev-specific configuration to env vars via .env file
|
2024-10-22 15:15:41 +02:00 |
|
Alejandro Celaya
|
5fb6c8708c
|
Update to endroid/qr-code 6.0
|
2024-10-22 09:02:32 +02:00 |
|
Alejandro Celaya
|
4b7b530f49
|
Update to shlink-config 3.2.1, which fixes skipping config options with null value
|
2024-10-17 09:33:53 +02:00 |
|
Alejandro Celaya
|
e17556a7ae
|
Add ReadEnvVarCommand test
|
2024-10-14 09:41:22 +02:00 |
|
Alejandro Celaya
|
d79f11eeb8
|
Add missing default value for DEFAULT_QR_CODE_BG_COLOR env var
|
2024-10-14 09:41:22 +02:00 |
|
Alejandro Celaya
|
1ec950ee1e
|
Fix tests not properly unsetting env vars
|
2024-10-14 09:41:22 +02:00 |
|
Alejandro Celaya
|
14ba9fd6a4
|
Create command to return the value of an env var for current env
|
2024-10-14 09:41:22 +02:00 |
|
Alejandro Celaya
|
83e8801827
|
Move env var default values to EnvVars enum
|
2024-10-14 09:41:22 +02:00 |
|
Alejandro Celaya
|
1773e6ecae
|
Ensure query parameters are preserved verbatim when forwarded to long URL
|
2024-10-10 11:35:29 +02:00 |
|
Alejandro Celaya
|
187c17319a
|
Take all Postgres platform classes into consideration
|
2024-08-26 09:57:17 +02:00 |
|
Alejandro Celaya
|
d76c96ad41
|
Fix coding standard
|
2024-08-01 08:38:49 +02:00 |
|
Alejandro Celaya
|
133efff2cd
|
Improve PHPStan config
|
2024-07-31 19:53:05 +02:00 |
|
Alejandro Celaya
|
037cd8a389
|
Add missing generic tyoes annotations
|
2024-07-29 20:43:52 +02:00 |
|
Alejandro Celaya
|
1d24750f43
|
Fix phpstan checks
|
2024-07-29 19:59:46 +02:00 |
|
Alejandro Celaya
|
b52ceaff9a
|
Update to latest shlink-common and remove deprecation references
|
2024-07-29 19:41:40 +02:00 |
|
Alejandro Celaya
|
b9ba1246d4
|
Reduce hardcoded options in ShortUrlDataInput
|
2024-07-27 09:12:54 +02:00 |
|
Alejandro Celaya
|
df94c68e2e
|
Add unit test for EditShortUrlCommand
|
2024-07-26 19:54:39 +02:00 |
|
Alejandro Celaya
|
65ea1e00a6
|
Prevent resetting of non-providen params in EditShortUrlCommand
|
2024-07-26 19:26:48 +02:00 |
|
Alejandro Celaya
|
5bccdded8a
|
Create command to edit existing short URLs
|
2024-07-26 09:21:00 +02:00 |
|
Alejandro Celaya
|
8917ed5c2e
|
Create command to edit existing short URLs
|
2024-07-26 00:01:40 +02:00 |
|
Alejandro Celaya
|
fabc752398
|
Extract reading and parsing of arguments for short URLs data in commands
|
2024-07-25 23:44:46 +02:00 |
|
Alejandro Celaya
|
7e2f755dfd
|
Validate IP address patterns when creating ip-address redirect conditions
|
2024-07-18 21:23:48 +02:00 |
|
Alejandro Celaya
|
626caa4afa
|
Add API test for dynamic IP-based redirects
|
2024-07-17 20:13:46 +02:00 |
|
Alejandro Celaya
|
f4a7712ded
|
Add InvalidIpFormatExceptionTest
|
2024-07-17 19:59:13 +02:00 |
|
Alejandro Celaya
|
bab6a3951e
|
Add missing unit test
|
2024-07-17 19:56:53 +02:00 |
|
Alejandro Celaya
|
f49d98f2ea
|
Add logic for IP-based dynamic redirects
|
2024-07-17 19:51:13 +02:00 |
|
Alejandro Celaya
|
1312ea61f4
|
Add new IP address redirect condition
|
2024-07-06 10:35:33 +02:00 |
|
Alejandro Celaya
|
8d90661d0a
|
Extract logic to match IP address against list of groups
|
2024-07-06 10:12:05 +02:00 |
|
Alejandro Celaya
|
4b52c92e97
|
Add option to customize user agents in robots.txt
|
2024-07-05 08:54:54 +02:00 |
|
Alejandro Celaya
|
80e9c2452b
|
Convert encoding of resolved titles based on page encoding
|
2024-05-22 18:11:55 +02:00 |
|
Alejandro Celaya
|
89b73a9cfa
|
Update to latest phpstan
|
2024-05-21 18:09:45 +02:00 |
|
Marijn Vandevoorde
|
9b16d7acc0
|
Replaces short-id by nano-id
|
2024-05-16 14:00:39 +02:00 |
|
Alejandro Celaya
|
4084d301ca
|
Update to PHPUnit 11
|
2024-05-12 12:49:53 +02:00 |
|
Alejandro Celaya
|
8cd77391cc
|
Revert "Remove unneeded DISTINCT from list short URLs query"
|
2024-05-09 09:43:55 +02:00 |
|
Alejandro Celaya
|
cb3a690294
|
Remove unneeded DISTINCT from list short URLs query
|
2024-05-06 18:50:10 +02:00 |
|
Alejandro Celaya
|
163244f40f
|
Add option to allow all URLs to be crawlable via robots.txt
|
2024-04-22 09:16:44 +02:00 |
|
Alejandro Celaya
|
82e7094f3a
|
Fix VisitIterationRepositoryTest for MS SQL
|
2024-04-13 20:48:03 +02:00 |
|
Alejandro Celaya
|
f0e62004d5
|
Add unit test to MatomoSendVisitsCommand
|
2024-04-13 20:30:31 +02:00 |
|
Alejandro Celaya
|
bbdbafd8db
|
Test MatomoVisitSender::sendVisitsInDateRange
|
2024-04-13 19:27:03 +02:00 |
|
Alejandro Celaya
|
6121efec59
|
Create command to send visits to matomo
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
4fdbcc25a0
|
Pass visit date to matomo when tracking
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
ca42425b33
|
Make Visit::date field readonly
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
ce0f61b66d
|
Allow filtering by date in VisitIterationRepository
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
13ee71f351
|
Move allowed HTTP methods definition to RedirectStatus enum
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
c57494d7cd
|
Extract logic to send visits to Matomo to its own service
|
2024-04-13 18:59:09 +02:00 |
|
Alejandro Celaya
|
8a273e01e9
|
Allow memory_limit to be configurable
|
2024-04-09 08:47:01 +02:00 |
|
Alejandro Celaya
|
e1cf0c4ea7
|
Forward request ID from sync request process to async job processes
|
2024-04-07 11:26:17 +02:00 |
|
Alejandro Celaya
|
b7db676cba
|
Test non-interactivity on DeleteExpiredShortUrlsCommand
|
2024-04-03 19:24:08 +02:00 |
|
Alejandro Celaya
|
527d28ad81
|
Add DeleteExpiredShortUrlsCommand test
|
2024-04-03 19:18:56 +02:00 |
|
Alejandro Celaya
|
f2371e8a80
|
Add command to delete expired short URLs
|
2024-04-03 18:57:09 +02:00 |
|
Alejandro Celaya
|
fd882834d3
|
Create repository to handle expired short URLs deletion
|
2024-04-03 09:52:38 +02:00 |
|
Alejandro Celaya
|
f92a720d63
|
Use short_url_visits_counts table when excluding short URLs which reached max visits
|
2024-04-03 09:06:43 +02:00 |
|
Alejandro Celaya
|
d6f58698b7
|
Merge pull request #2082 from acelaya-forks/feature/orphan-visits-counts
Track orphan visits counts
|
2024-04-01 10:28:05 +02:00 |
|
Alejandro Celaya
|
d090260b17
|
Track orphan visits counts
|
2024-04-01 10:22:51 +02:00 |
|
Alejandro Celaya
|
284b28e8d9
|
Track short URL title as document title when sending visits to matomo
|
2024-03-31 13:51:03 +02:00 |
|
Alejandro Celaya
|
b50547d868
|
Create new orphan_visits_counts table
|
2024-03-31 13:18:44 +02:00 |
|
Alejandro Celaya
|
ab6fa490e5
|
Test ShortUrlVisitsCountRepository via VisitRepositoryTest
|
2024-03-31 12:37:22 +02:00 |
|
Alejandro Celaya
|
55e2780f50
|
Load non-orphan visits overview via short url visits counts
|
2024-03-31 12:27:20 +02:00 |
|
Alejandro Celaya
|
90514c603f
|
Ensure ordering by title is consistent between database engines
|
2024-03-29 09:35:54 +01:00 |
|
Alejandro Celaya
|
071cb9af2b
|
Improve tags stats performance by using the new short_url_visits_counts table
|
2024-03-28 19:17:37 +01:00 |
|
Alejandro Celaya
|
ab96297e58
|
Make sure VisitsTracker wraps as little operations as possible in the transaction
|
2024-03-28 17:06:18 +01:00 |
|
Alejandro Celaya
|
c4fd3a74c5
|
Fix type hint in migration
|
2024-03-28 16:10:56 +01:00 |
|
Alejandro Celaya
|
da922fb2a7
|
Add ShortUrlVisitsCountTrackerTest
|
2024-03-28 09:43:58 +01:00 |
|
Alejandro Celaya
|
4a05c4be40
|
Wrap visits tracking in transaction
|
2024-03-27 19:14:41 +01:00 |
|
Alejandro Celaya
|
cef30c8e2d
|
Fix type in Version20240318084804
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
8417498f08
|
Fixes on static check and unit tests
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
10e941cea6
|
Add missing COALESCE when summing visits counts
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
3d7b1ca799
|
Move from preFlush to onFlush + postFlush
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
b236354fc7
|
Fix order in which entities are flushed in ShortUrlListRepositoryTest
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
6fbb5a380d
|
Add missing default value for short url visits count
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
054eb42613
|
Remove no-longer used methods in OrderableField enum
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
6074f4475d
|
Add preFlush listener to track visits counts
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
7afd3fd6a2
|
Load visits and nonBotVisits via sub-queries in ShortUrlListRepository
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
7d415e40b2
|
Add unique index in short_url_visits_counts
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
3c89d252d2
|
Simplify logic to match order by for short URL lists
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
f678873e9f
|
Use pre-calculated visits counts when listing short URLs
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
17d37a062a
|
Add new table to track short URL visits counts
|
2024-03-27 19:08:25 +01:00 |
|
Alejandro Celaya
|
c599d8a0ed
|
Make sure tags fallback to empty array when null
|
2024-03-27 13:04:42 +01:00 |
|
Alejandro Celaya
|
6fe269193a
|
Expose visitedUrl when serializing any kind of visit, not only orphan visits
|
2024-03-24 17:20:41 +01:00 |
|
Alejandro Celaya
|
d948543d5c
|
Wrap JSON serialization for any kind of visit in Visit entity itself
|
2024-03-24 17:06:11 +01:00 |
|
Alejandro Celaya
|
a327e6c0a7
|
Make Visit::jsonSerialize() return different props for orphan visits
|
2024-03-24 16:54:49 +01:00 |
|
Alejandro Celaya
|
fbd35b7974
|
Add more named constructors to Ordering class
|
2024-03-20 09:15:45 +01:00 |
|
Alejandro Celaya
|
b94a22e6a7
|
Rename Ordering::emptyInstance to Ordering::none to make it more clear
|
2024-03-20 09:06:35 +01:00 |
|
Alejandro Celaya
|
e028d8ea31
|
Move logic to serialize ShortUrls to entity itself
|
2024-03-18 22:09:15 +01:00 |
|
Alejandro Celaya
|
5524476787
|
Modernize ShortUrl entity
|
2024-03-18 20:21:26 +01:00 |
|
Alejandro Celaya
|
78526fb405
|
Modernize Visit entity
|
2024-03-18 19:57:30 +01:00 |
|
Alejandro Celaya
|
b2dee43bb0
|
Modernize VisitLocation entity
|
2024-03-18 19:11:42 +01:00 |
|
Alejandro Celaya
|
60e9443b12
|
Modernize ApiKey entity
|
2024-03-18 18:33:56 +01:00 |
|
Alejandro Celaya
|
ab8fa52ca4
|
Modernize Domain entity
|
2024-03-18 18:15:05 +01:00 |
|
Alejandro Celaya
|
053e026982
|
Fix error when redirecting to a non-http URL
|
2024-03-15 23:00:40 +01:00 |
|