Alejandro Celaya
|
8b75ad1e7f
|
Covered detached domains with redirects in domains list API test
|
2021-07-23 13:11:09 +02:00 |
|
Alejandro Celaya
|
8f3c740b57
|
Ensured domains not used in short URLs but with redirects configured are returned in domains list
|
2021-07-23 13:06:03 +02:00 |
|
Alejandro Celaya
|
24a6a0c23f
|
Added test for DomainRedirectCommand
|
2021-07-22 20:48:58 +02:00 |
|
Alejandro Celaya
|
267d72a76c
|
Improved unit tests covering new not found redirects for domains capability
|
2021-07-22 17:49:37 +02:00 |
|
Alejandro Celaya
|
021cecc216
|
Created command that allows configuring not found redirects for every domain
|
2021-07-21 21:09:33 +02:00 |
|
Alejandro Celaya
|
4d48482d1e
|
Added support to define differnet not-found redirects per domain
|
2021-07-21 09:28:21 +02:00 |
|
Alejandro Celaya
|
bc385744db
|
Temporarely ignored some phpstan errors until a custom rule is defined
|
2021-07-20 13:36:09 +02:00 |
|
Alejandro Celaya
|
02fd28edec
|
Installed phpstan-dcotrine and fixed more static analysis errors
|
2021-07-20 13:29:50 +02:00 |
|
Alejandro Celaya
|
95770ac104
|
Increased phpstan level to 8
|
2021-07-20 12:51:07 +02:00 |
|
Alejandro Celaya
|
de5666d262
|
Resolved all phpstan errors
|
2021-07-19 22:47:12 +02:00 |
|
Alejandro Celaya
|
b8fa234dbb
|
Fixed some phpstan errors
|
2021-07-19 18:35:42 +02:00 |
|
Alejandro Celaya
|
bceea090ed
|
Increaed phpstan level to 7
|
2021-07-17 20:58:24 +02:00 |
|
Alejandro Celaya
|
eabaa94e06
|
Created ExtraPathRedirectMiddleware test
|
2021-07-15 19:37:09 +02:00 |
|
Alejandro Celaya
|
0096a778ac
|
Created RequestTracker test
|
2021-07-15 17:43:29 +02:00 |
|
Alejandro Celaya
|
050f83e3bb
|
Wrapped logic to track requests to a new RequestTracker service
|
2021-07-15 17:23:09 +02:00 |
|
Alejandro Celaya
|
32f7b4fbf6
|
Created new middleware that redirects to short URLs with an extra path
|
2021-07-15 16:54:54 +02:00 |
|
Alejandro Celaya
|
265e8cdeaf
|
Refactored tracking actions
|
2021-07-15 13:28:31 +02:00 |
|
Alejandro Celaya
|
fe5460e0c5
|
Created ShortUrlRedirectBuilder test
|
2021-07-14 16:44:21 +02:00 |
|
Alejandro Celaya
|
d4cad337fc
|
Created component wrapping the logic to determine what's the URL to redirect to for a ShortUrl
|
2021-07-14 16:36:03 +02:00 |
|
Alejandro Celaya
|
67c7e503d9
|
Used lowercase values when trying to match the QR code error level
|
2021-07-13 13:55:00 +02:00 |
|
Alejandro Celaya
|
d6e155d874
|
Extracted logic to determine QR code params to its own data object
|
2021-07-13 13:46:01 +02:00 |
|
Alejandro Celaya
|
5a2350bac1
|
Added suport for error correction level to QR codes
|
2021-07-13 13:22:50 +02:00 |
|
Alejandro Celaya
|
6d78cd59e9
|
Fixed merge conflicts
|
2021-05-30 13:31:37 +02:00 |
|
Alejandro Celaya
|
bfcccd8c33
|
Added test to check for GeoLite db update disabling based on tracking options
|
2021-05-30 12:36:58 +02:00 |
|
Alejandro Celaya
|
f7d3c73c4a
|
Skip downloading GeoLite db if global tracking or IP tracking are disabled
|
2021-05-30 12:30:03 +02:00 |
|
Alejandro Celaya
|
9c6ba4bc61
|
More PHP 8 syntactic sugar
|
2021-05-23 12:37:53 +02:00 |
|
Alejandro Celaya
|
c01121d61a
|
Added nullsafe operator to simplify conditions
|
2021-05-23 12:31:10 +02:00 |
|
Alejandro Celaya
|
e0f0bb5523
|
Migrated all constructor props to property promotion when possible
|
2021-05-23 11:57:31 +02:00 |
|
Alejandro Celaya
|
5e6d2881bc
|
Used ShorturlIdentifier model whenever possible
|
2021-05-23 08:41:42 +02:00 |
|
Alejandro Celaya
|
cd19876419
|
Removed methods to create tags and domains with lock, as they do not really lock as expected
|
2021-05-23 08:21:40 +02:00 |
|
Alejandro Celaya
|
f82e103bc5
|
Added locks to tag and domain creation during short URL creation
|
2021-05-22 22:06:40 +02:00 |
|
Alejandro Celaya
|
3ff4ac84c4
|
Added locking to short URL creation when checking if URL exists
|
2021-05-22 22:06:40 +02:00 |
|
Alejandro Celaya
|
a12c9f54c4
|
Added API tests covering the excludion of bot visits
|
2021-05-22 21:05:54 +02:00 |
|
Alejandro Celaya
|
69d72e754f
|
Added logic to exclude bots from visits when requested
|
2021-05-22 20:49:24 +02:00 |
|
Alejandro Celaya
|
db3c5a3031
|
Added new models to pass to repositories when listing visits of any kind
|
2021-05-22 20:32:30 +02:00 |
|
Alejandro Celaya
|
6327ed814a
|
Added new models to pass to repositories when counting visits of any kind
|
2021-05-22 20:16:32 +02:00 |
|
Alejandro Celaya
|
9fa32b5b6b
|
Added detection of visits from potential bots
|
2021-05-22 15:09:14 +02:00 |
|
Alejandro Celaya
|
36e4a0dd32
|
Added tests for findCrawlableShortCodes
|
2021-05-22 09:41:12 +02:00 |
|
Alejandro Celaya
|
3ef02d46c0
|
Added logic to resolve crawlable short codes
|
2021-05-22 09:34:42 +02:00 |
|
Alejandro Celaya
|
348e34d52e
|
Added new crawlable flag to Short URLs
|
2021-05-22 07:35:47 +02:00 |
|
Alejandro Celaya
|
7280b48cdc
|
Created action to dynamically build the robots.txt
|
2021-05-22 07:15:34 +02:00 |
|
Alejandro Celaya
|
15c028e151
|
Ensured visitor is normalized before creating the visit
|
2021-05-16 10:08:05 +02:00 |
|
Alejandro Celaya
|
f0dc32b6e5
|
Added logic for new tracking options
|
2021-05-16 09:53:44 +02:00 |
|
Alejandro Celaya
|
d423d18249
|
Defined new structure for tracking config, together with new options
|
2021-05-16 09:30:15 +02:00 |
|
Alejandro Celaya
|
e9a5284dde
|
Encapsulated logic to get rid of nested ifs
|
2021-04-18 17:07:56 +02:00 |
|
Alejandro Celaya
|
b277f431c2
|
Added test covering imported short URLs with visits
|
2021-04-18 12:44:02 +02:00 |
|
Alejandro Celaya
|
c8b8947b1f
|
Allowed to import visits to existing already imported short URLs
|
2021-04-18 11:58:59 +02:00 |
|
Alejandro Celaya
|
9a78d1585d
|
Ensured only pending visits are imported when processing a short URL which already has imported visits
|
2021-04-11 20:00:08 +02:00 |
|
Alejandro Celaya
|
09414a8834
|
Allowed to optionally import visits from other shlink instance
|
2021-04-11 13:30:12 +02:00 |
|
Alejandro Celaya
|
1efa973507
|
Updated ImportedLinksProcessor to support importing visits if provided
|
2021-04-11 11:44:10 +02:00 |
|
Alejandro Celaya
|
743bb7a6ee
|
Updated ShortUrl importing to take metadata into account
|
2021-04-11 11:44:10 +02:00 |
|
Alejandro Celaya
|
086efe3c63
|
Merge pull request #1064 from KetchupBomb/develop
Feature/show API key info in short-url CLI
|
2021-04-11 11:42:51 +02:00 |
|
Alejandro Celaya
|
334d95c843
|
Improved test covering ListSHortUrlsCommand with optional tags
|
2021-04-11 11:29:42 +02:00 |
|
Alejandro Celaya
|
5ddac7866b
|
Ensured short URL transformation happens only once per short URL when listing from CLI
|
2021-04-11 11:06:29 +02:00 |
|
Alejandro Celaya
|
a896fbbb90
|
Fixed coding styles
|
2021-04-11 10:50:35 +02:00 |
|
Alejandro Celaya
|
28c06de685
|
Fixed issue when trying to persist several short URLs which include the same new tag/domain at once
|
2021-04-10 11:59:43 +02:00 |
|
Alejandro Celaya
|
823573cea7
|
Updated PersistenceShortUrlRelationResolver to prevent duplicated tags
|
2021-04-10 10:16:09 +02:00 |
|
KetchupBomb
|
5d0f306bcc
|
Feature/show API key info in short-url CLI
|
2021-04-10 07:10:22 +00:00 |
|
Alejandro Celaya
|
7b4456e73f
|
Ensured events triggered as a result of a new visit are never skipped
|
2021-04-08 14:09:26 +02:00 |
|
Alejandro Celaya
|
86230d9bf3
|
Removed duplicated code during CLI command tests
|
2021-04-08 13:44:24 +02:00 |
|
Alejandro Celaya
|
1f8994ca8b
|
Created DownloadGeoLiteDbCommandTest
|
2021-04-08 13:34:14 +02:00 |
|
Alejandro Celaya
|
f7b6f4ba19
|
Created new command containing the logic to download the GeoLite2 db file
|
2021-04-08 13:12:37 +02:00 |
|
Alejandro Celaya
|
74ea5969be
|
Created new listener to update the GeoLite db after a visit occurs
|
2021-04-07 16:29:29 +02:00 |
|
Alejandro Celaya
|
c4718e7523
|
Extended error handling on LocateVisit handler
|
2021-04-07 12:53:53 +02:00 |
|
Alejandro Celaya
|
5de706e0fe
|
Fixed LocateVisitTest
|
2021-04-07 11:52:50 +02:00 |
|
Alejandro Celaya
|
77d06b4b03
|
Renamed argument to have a more clear intention
|
2021-04-07 11:48:01 +02:00 |
|
Alejandro Celaya
|
b4d137375a
|
Flipped events triggered when locating a visit, so that geolocation is done synchronously
|
2021-04-07 11:35:02 +02:00 |
|
Alejandro Celaya
|
0621ae7735
|
Ensured visits tracking is run transactionally together with the event dispatched afterwards
|
2021-04-07 11:33:23 +02:00 |
|
Alejandro Celaya
|
d72b9cf646
|
Updated to symfony/mercure 0.5
|
2021-04-02 09:46:02 +02:00 |
|
Alejandro Celaya
|
4ce44034cb
|
Ensured API key name appears in the proper color in the console, for disabled or expired API keys
|
2021-03-14 10:20:05 +01:00 |
|
Alejandro Celaya
|
0a5c265b12
|
Extracted ApiKey metadata to the ApiKeyMeta object
|
2021-03-14 09:59:35 +01:00 |
|
Alejandro Celaya
|
9b55389538
|
First steps to create ApiKeyMeta
|
2021-03-14 09:15:52 +01:00 |
|
KetchupBomb
|
b93b14986e
|
Feature/name api keys
|
2021-03-07 21:30:37 +00:00 |
|
Alejandro Celaya
|
b244c56862
|
Updated to endroid/qr-code 4
|
2021-02-28 16:41:52 +01:00 |
|
Alejandro Celaya
|
0fc123b249
|
Fixed coding styles
|
2021-02-26 20:28:41 +01:00 |
|
Alejandro Celaya
|
c622804950
|
Fixed unit tests
|
2021-02-26 20:27:41 +01:00 |
|
Alejandro Celaya
|
e093480a5b
|
Fixed API tests
|
2021-02-26 20:24:57 +01:00 |
|
Alejandro Celaya
|
1498b72966
|
Updated to happyr/doctrine-specification 2, with some fixes
|
2021-02-26 20:01:16 +01:00 |
|
Alejandro Celaya
|
5ddb6a7f99
|
Added e2e tests covering shortening of twitter URLs with url validatio enabled
|
2021-02-18 21:33:30 +01:00 |
|
Alejandro Celaya
|
8ad34357d3
|
Added User-Agent to UrlValidator, so that remote servers don't consider Shlink a bot
|
2021-02-18 21:27:46 +01:00 |
|
Alejandro Celaya
|
3f2d38a86a
|
Removed all uses of the 'whitelist' term
|
2021-02-16 15:28:03 +01:00 |
|
Alejandro Celaya
|
4e00c950cc
|
Created ProcessRunnerTest
|
2021-02-12 23:23:34 +01:00 |
|
Alejandro Celaya
|
d932f0a204
|
Increased timeout on db commands to 10 minutes
|
2021-02-12 22:59:40 +01:00 |
|
Alejandro Celaya
|
7d6d8e3a68
|
Added support to publish orphan visits in mercure
|
2021-02-11 22:12:38 +01:00 |
|
Alejandro Celaya
|
2fc6fb0a9a
|
Added option to disable orphan visitstracking
|
2021-02-10 20:09:25 +01:00 |
|
Alejandro Celaya
|
a18486cc2e
|
Created OrphanVisits API test
|
2021-02-09 23:56:46 +01:00 |
|
Alejandro Celaya
|
82f4e22f69
|
Created OrphanVisitsActionTest
|
2021-02-09 23:41:51 +01:00 |
|
Alejandro Celaya
|
3497165ebd
|
Created OrphanVisitsPaginatorAdapterTest
|
2021-02-09 23:34:29 +01:00 |
|
Alejandro Celaya
|
d5794a3dcb
|
Created OrphanVisitDataTransformerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
bd9ec53e7b
|
Added test for VisitsStatsHelper::orphanVisits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5d98316c4e
|
Created new REST API action to list orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
85dd023c0e
|
Created methods to get orphan visits lists
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
1fbcb44136
|
Enhanced VisitsTrackerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
ab9042db24
|
Ensured orphan visits are located ASAP when using swoole
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
b01487ac91
|
Ensured IP address is resolved when tracking orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5278d7668c
|
Added orphan visits count to visits stats endpoint
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
d2e0413a48
|
Added NotFoundTrackerMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
0e165bc7e0
|
Created NotFoundTypeResolverMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
55e7f7ccb0
|
Improved VisitRepository tests
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
15061d3e0d
|
Created new middlewares to track not found visits
|
2021-02-09 23:09:42 +01:00 |
|