Hugo Sales
76440961ca
[CORE][DB] Add option to findOneBy to return null rather than throw
2021-12-27 20:37:16 +00:00
Hugo Sales
b84315c95b
[TOOLS] Fix errors reported by PHPStan at level 4
2021-12-27 17:35:33 +00:00
Diogo Peralta Cordeiro
c4dacd7626
[COMPONENT][Attachment] Vinculate note information with attachment controllers
...
Various minor bug fixes
2021-12-27 04:56:00 +00:00
Diogo Peralta Cordeiro
a1d9909379
[CORE][VisibilityScope] Use enum type instead of Bitmap
2021-12-26 19:16:56 +00:00
Hugo Sales
ec28f23025
[TOOLS] Run CS-fixer on all files
2021-12-26 19:16:15 +00:00
Diogo Peralta Cordeiro
5e42723624
[ENTITY][Note] Include reply_to's targets in child's
2021-12-26 19:16:14 +00:00
Diogo Peralta Cordeiro
3e13765f62
[CORE][SCOPE] Implement basic visibility in feeds
2021-12-26 16:48:34 +00:00
Hugo Sales
1e6bc5b6ab
[CORE][Form] Fix Form::handle and report back any errors
2021-12-24 02:46:42 +00:00
Diogo Peralta Cordeiro
7d8cce3b27
[COMPONENT][Feed] Correct queries and introduce new feeds
...
Refactor feeds and search to use a common query builder
2021-12-24 00:44:39 +00:00
Phablulo Joel
d04b68a3ce
[PLUGIN][MediaFeed] Add Media plugin which filters a feed by notes containing media
2021-12-22 11:13:06 +00:00
Phablulo Joel
dd5d46c556
[CORE] Add option to filter notes even when there's no actor
2021-12-21 14:33:19 -03:00
Diogo Peralta Cordeiro
8b5286c383
[COMPONENT][Notification] Do not re-render content just to grab attentions
...
Other minor improvements and bug fixes
2021-12-21 16:05:24 +00:00
Hugo Sales
027adc97b2
[CONTROLLER][ActorController] Make ActorController extend the FeedController, so notes get filtered
2021-12-21 12:45:15 +00:00
Hugo Sales
7f65b23074
[DB] Allow mentioning 'note' in a DQL query (in quotes), in order to be able to search in the activity table (previously would be replaced by the class name)
2021-12-21 12:44:34 +00:00
Hugo Sales
d6d5926b6e
[TOOLS][DOC] Add missing documentation, as flagged by doc-check
2021-12-21 12:24:23 +00:00
Hugo Sales
da8c41e094
[TOOLS] Fix errors found by PHPStan
2021-12-21 12:17:51 +00:00
Hugo Sales
87aa9360a3
[CORE][ActorController] Refactor actor related controllers (Actor, Subscribers, Subscriptions) to remove duplicated code
2021-12-21 12:10:08 +00:00
Eliseu Amaro
622057ba0d
[CONTROLLER][Feeds] Added should_format field on returned array
...
FeedController will only handle FormatNoteList if the should_format field is true.
This change was made to make the replies route feed possible, this route is added by the Conversation component. Since a reply isn't a conversation root, if the FeedController handled the FormatNoteList event, this feed wouldn't have any notes to display.
2021-12-20 15:39:23 +00:00
Diogo Peralta Cordeiro
23f94ac961
[CORE][Controller] Define html format as default
2021-12-20 13:32:49 +00:00
Hugo Sales
a81ac673ac
[CORE][ENTITY] Rename 'Entity::getWithPK' to 'Entity::getByPK'
2021-12-19 19:04:01 +00:00
Hugo Sales
5dca5568b7
[CORE][Cache] Fix wrong return type in Cache::delete
2021-12-16 11:01:23 +00:00
Hugo Sales
24291a268a
[CORE][Cache][DOCS] Add documentation to complex private function 'Cache::redisMaybeRecompute'
2021-12-16 10:47:01 +00:00
Hugo Sales
6d8679d86b
[CORE] Fix resetting the config to the default values
2021-12-13 15:49:52 +00:00
Hugo Sales
3ba7e1804b
[CORE][Cache] Add fast path for redis cache interactions
2021-12-13 15:49:52 +00:00
Hugo Sales
1be4b3d481
[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this
2021-12-09 21:39:00 +00:00
Eliseu Amaro
f547fd3bb9
[CONTROLLER][FeedController] Fix return value, from notes to notes_out
2021-12-09 19:06:18 +00:00
Hugo Sales
3b8a3e953d
[CONTROLLER][FeedController] Make post processing happen more automatically, reducing noise in individual controllers. Now it's enough to simply extends App\Core\Controller\FeedController, to implement a feed
2021-12-08 10:20:37 +00:00
Hugo Sales
4c0210fb00
[CORE][FeedController][CONTROLLER][Feeds] Refactor feed filtering into base class
2021-12-07 21:06:39 +00:00
Hugo Sales
9f445632b2
[PLUGIN][TagBasedFiltering] Expand to allow filtering by actor tags
2021-12-05 17:55:49 +00:00
Diogo Peralta Cordeiro
9512890264
[PLUGIN][ActivityPub] Implement Actor Update
...
Diverse minor bug fixes
2021-12-05 03:11:08 +00:00
Eliseu Amaro
4501b7e85e
[CONTROLLER][UserPanel] Re-organised all settings forms. Added email, password, language forms separated from account or personal account info
...
[CORE][Form] Better PHPDoc and used is_null() for checks
[ENTITY][LocalUser] Add setNicknameSanitisedAndCached
[UTIL][Exception] Better NicknameNotAllowedException default message
2021-12-03 03:32:43 +00:00
Diogo Peralta Cordeiro
b66873e289
[PLUGIN][StoreRemoteMedia] Do not save empty files
2021-12-03 01:16:57 +00:00
Diogo Peralta Cordeiro
eeaad19754
[Attachment] Move Controller and Entities to a Component
...
There's no problem in having the templates in the core
2021-12-02 15:14:07 +00:00
Diogo Peralta Cordeiro
d044039272
[FreeNetwork] Initial multi-protocol support
2021-12-02 14:23:21 +00:00
Hugo Sales
d4c77925d2
[CORE][DB][ENTITY][Actor] Make DB::dql return a chunked array if selecting multiple entities, remove partitioning from callsite
...
`DB::dql('select a, b, from a join b')` would previously return `[a,
b, a, b, ...]` (or even `[b, a, b, a, ...]`), and now will return
`[[a, a, ...], [b, b, ...]]`. The issue would be further compounded
when selecting even more entities, where the order would be
unpredictable
2021-12-01 19:47:42 +00:00
Hugo Sales
4f7e243bee
[CORE][DB] Don't do column renaming if a list of entities is specified
2021-12-01 19:47:41 +00:00
Diogo Peralta Cordeiro
424df54a1b
[ActivityPub] Add HTTP Signatures
2021-12-01 19:47:41 +00:00
Hugo Sales
3227018963
[CORE][DB] Allow specifying the entites to be retrieved, as when using renaming, tables in join would attempt to be selected
2021-11-29 22:42:50 +00:00
Hugo Sales
5c3d561a67
[COMPONENTS][Tag] Refactor Tag and add self tag stream
2021-11-29 22:42:50 +00:00
Hugo Sales
fc81f7301c
[CORE][DB][ENTITY][Actor] Add `DB::removeBy` and use it in `Actor->setSelfTags`
2021-11-29 22:42:50 +00:00
Hugo Sales
8f5b404941
[CACHE] Switch to 'empty' rather than 'is_null' is Cache::getHashMapKey, as it may return null or false
2021-11-29 22:42:49 +00:00
Eliseu Amaro
7145dba8af
[PLUGINS][Oomox] getEntity added.
...
[CORE][Cache] exists added.
2021-11-27 15:14:17 +00:00
Diogo Peralta Cordeiro
7b9d388a44
[NOTIFICATION] Implement Target Collector
2021-11-27 15:14:15 +00:00
Diogo Peralta Cordeiro
51994406da
[CORE][ENTITY] Properly port ProfileTag, ProfileTagSubscription and ProfileList as ActorTag, ActorTagSubscription and ActorCircle
2021-11-27 04:17:18 +00:00
Hugo Sales
cdc8886bb8
[CORE][DB] Rename parameters 'orderBy' to 'order_by'
2021-11-26 23:34:37 +00:00
Diogo Peralta Cordeiro
0ab8febab3
[CORE][DB] Document magic methods
2021-11-26 15:11:51 +00:00
Hugo Sales
edf1b30e89
[TOOLS][DOCS] Add missing doc blocks
2021-11-25 23:16:04 +00:00
Hugo Sales
b1262919da
[TOOLS] Fix (most) issues found by PHPStan
2021-11-25 23:08:30 +00:00
Hugo Sales
f837df5753
[CACHE] Add way of calculating hash map if key is not found
2021-11-25 20:37:53 +00:00
Eliseu Amaro
d8147cbd2d
[PLUGINS][AttachmentShowRelated] Fixed note template error. Fixed if statement.
...
[CORE][Controller] Commented CSP out.
2021-11-24 12:46:32 +00:00
Hugo Sales
3a5e52ee0d
[CORE][SECURITY] Move to the new authentication format, for Symfony 5.3
...
Keep using (deprecated) Guard
2021-11-24 12:46:26 +00:00
Hugo Sales
b4ce77320e
[TESTS] Fix remaining tests, back to 100% passed. Some minor semantic changes
2021-11-20 21:33:25 +00:00
Eliseu Amaro
8077bdb0b5
[CORE][Controller] CSP default-src changed to 'self' to allow internal redirects.
2021-11-17 01:29:36 +00:00
Eliseu Amaro
1d31bd651e
[CORE][Controller] Added Content-Security-Policy response header.
2021-11-17 00:49:23 +00:00
Hugo Sales
e6c0db9ee1
[CORE][Cache] Allow retrieving multiple keys from a hashmap
2021-11-15 19:25:52 +00:00
Hugo Sales
bf5ffe7d3d
[CACHE][TEST] Fix errors in cache implementation found by tests
2021-11-15 19:25:44 +00:00
Hugo Sales
dea9aa4dcf
[CORE][Router] Remove duplicate service for URL generation, as that is actually the same object
2021-11-11 12:38:09 +00:00
Hugo Sales
7d8819a3da
[DB][CONTROLLER][Network][ENTITY][Note] Fix Note::getAllNotes
2021-11-09 23:38:37 +00:00
Hugo Sales
1d84f1629e
[CORE][DB] Make DB::sql not error when selecting from tables with columns of the same name and remove the second enitites paramter, calculating it internally instead
2021-11-08 20:32:10 +00:00
Diogo Peralta Cordeiro
f98afd15ce
[ENTITY] Refactor Follow as Subscription
2021-11-08 16:14:23 +00:00
Hugo Sales
705bf815ab
[CACHE] Add partial implmentation for caching hashmaps (non-list arrays, i.e. array<string,string>). No non-redis-fallback yet
2021-11-08 16:08:03 +00:00
Hugo Sales
cd470cbf93
[CORE] Fix loading of settings from modules
2021-11-08 16:08:03 +00:00
Hugo Sales
1960f6944f
[CORE][DB] Fix error in regex that prevented selecting collumns that are named the same way a column is
2021-11-02 11:14:59 +00:00
Hugo Sales
e6c5312025
[CORE][GSFile] Add `check_is_supported_mimetype` option to `GSFile::storeFileAsAttachment`
2021-10-28 17:29:57 +01:00
Hugo Sales
c352e40518
[CORE][Controller] Allow plugins to override the Twig templates
2021-10-28 14:29:34 +01:00
Diogo Peralta Cordeiro
3cdaf6671a
[CORE][HTTPClient] Add some shortcut functions inspired by pre-v3
2021-10-27 04:22:18 +01:00
Diogo Peralta Cordeiro
3227e1f919
[CORE][Log] Document magic methods
2021-10-27 04:22:18 +01:00
Diogo Peralta Cordeiro
bccafd0d7b
[CORE][GSFile] Respect mimetype whitelist and extensions blacklist before saving files
2021-10-27 04:19:33 +01:00
Hugo Sales
299e893ca9
[TOOLS][PHPStan][DocCheck] Fix errors found by PHPStan and Doc Check
2021-10-27 04:19:31 +01:00
Hugo Sales
2694d83ae4
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types
2021-10-27 04:19:30 +01:00
Diogo Peralta Cordeiro
028ea79fff
[CORE][Router] Properly act on Accept headers
2021-10-27 04:19:30 +01:00
Eliseu Amaro
99fd2f725b
[Core][Util] Hotfix: In App\Core\DB\DB persistWithSameId, casting the id to an int. In App\Util\HTML html, tag is now evaluated beforehand, making sure it's a string.
2021-10-27 04:19:30 +01:00
Diogo Peralta Cordeiro
8fdc52636f
[ActivityPub] Port RSA
2021-10-27 04:19:29 +01:00
Hugo Sales
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types
2021-10-27 04:19:28 +01:00
Diogo Peralta Cordeiro
99ab24ec23
[CORE][Controller] Allow routes without text/html response
...
Improve GET getters
2021-10-27 04:19:23 +01:00
Hugo Sales
2d8b220e92
[CORE][Controller] Make Controller abstract, `handle` an optional non static method and use `static::class` rather than `get_called_class`
2021-09-27 19:50:56 +01:00
Hugo Sales
af3531f1c7
[CORE][GSFile] Add type annotation to the `$encoders` used in attachment handling
2021-09-23 14:54:21 +01:00
Diogo Peralta Cordeiro
7beb5c2995
[GSFile] Fix sanitize configuration
2021-09-22 15:13:46 +01:00
Hugo Sales
879f54c772
[CACHE] Filter notes by scope in `pagedStream`
...
This currently does not return a fixed number of notes per page. Fixing this is left as an exercise to the reader
2021-09-21 16:37:51 +01:00
Hugo Sales
14c173df7a
[CACHE][COMPONENT][Tag] Add generic Cache::pagedStream and use it for the tag stream. Note that it doesn't respect scope yet
2021-09-21 15:35:07 +01:00
Hugo Sales
6715a036e9
[CACHE] Add way to fetch limit,offset values from a list
2021-09-21 11:04:26 +01:00
Hugo Sales
ce80065775
[DB] Add mechanism for specifying limit and offset in dql query
2021-09-21 11:04:26 +01:00
Hugo Sales
91fd7d1cfa
[CONFIG][CORE] Fix bug in overriding default config
2021-09-21 11:04:14 +01:00
Diogo Peralta Cordeiro
67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars
2021-09-18 07:27:35 +01:00
Diogo Peralta Cordeiro
d6f31d102a
[CORE][ActivityStreamsTwo][ActivityPub] Set all routes
...
Allow global routes to act for every actor
Fix Favoured stream query
2021-09-18 05:12:15 +01:00
Hugo Sales
15a2a69274
[ROUTER] Add option `is_system_path`, to allow specifying that a route, such as `gsactor_view_nickname` should not be considered a system path, when checking for the collision of nicknames
2021-09-18 05:12:05 +01:00
Hugo Sales
e563c393f8
[ROUTER] Add mechanism for sorting the order in which core routes are loaded
2021-09-18 05:12:05 +01:00
Diogo Peralta Cordeiro
365edbaff0
[ActivityStreamsTwo] Initial Actor support
...
Various bug fixes
2021-09-15 10:26:53 +01:00
Hugo Sales
c69b28d894
[CORE] Fix `Undefined array key 0` in `DB::filterTableName`
2021-09-14 13:13:45 +01:00
Hugo Sales
b74d944ae3
[TOOLS][PHPStan] Raise PHPStan level to 3 and fix new errors
2021-09-14 13:13:45 +01:00
Hugo Sales
4e30e5aad9
[TOOLS] Fix all issues found by PHPStan level 2
2021-09-14 13:13:44 +01:00
Hugo Sales
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1
2021-09-14 13:13:42 +01:00
Hugo Sales
eb833b62e2
[TOOLS] Fix all level 0 errors found by PHPStan and move constant definition to bootstrap file
2021-09-14 13:13:42 +01:00
Hugo Sales
f65e2b90f2
[CORE] Fix use of `Exception` class without import
2021-09-14 13:13:41 +01:00
Hugo Sales
e8ae0b74e0
[CORE][Controller] Switch order for content negotiation: allow events to take precedence. Bring back default JSON response
2021-09-14 13:13:41 +01:00
Hugo Sales
0a7fd9c460
[CORE][MODULES][NoteHandlerPlugin] Add missing import for `Event`
2021-09-14 13:13:40 +01:00
Hugo Sales
1d5fd1aefa
[CORE][Controller] Fix `Controller::__invoke` so it actually passes on the route parameters to the controller method. Add `Controller->string`, which gets a query parameter as a string value, or null if not set
2021-09-14 13:13:40 +01:00
Hugo Sales
330143e549
[ROUTER][DOCUMENTATION] Add `Router::isAbsolute`, add documentation to `Router::url` and `s/setRouter/serServices/
2021-09-14 13:13:39 +01:00
Hugo Sales
be27a10244
[EVENTS] Rename event `RouteInFormat` to `ControllerResponseInFormat`
2021-09-14 13:13:39 +01:00
Hugo Sales
983e0303a5
[ROUTER] Sort routes so that the one with a smaller list of Accept types matches first
...
This requires a copy, but gets cached, so it's the ideal place to do it.
Note that only routes that match the incoming Accept match anyway, so the order between those with different accept types is not relevant
2021-09-14 13:13:39 +01:00