5442 Commits

Author SHA1 Message Date
Mario
d4401faed5 remove redundant redirect and minor cleanup - fixes issue #1988 2026-06-17 07:48:42 +00:00
Mario
9daecfbb46 Merge branch 'default-homepage-template' into 'dev'
Move default home page to template

See merge request hubzilla/core!2294
2026-06-17 06:09:38 +00:00
Mario
2adb8ffbb5 Merge branch 'cleanup-hooks' into 'dev'
Some cleanup in Hook API's and tests

See merge request hubzilla/core!2293
2026-06-17 06:09:13 +00:00
Mario
2e1a04f6e3 remove unneeded browser plugin and add propfind_depth_infinity option 2026-06-16 11:45:29 +00:00
Harald Eilertsen
9f0fc77ac6 Move default home page to template 2026-06-15 18:59:24 +02:00
Harald Eilertsen
bb303ebc4c Some cleanup in Hook API's and tests
Clean up duplicated code in include/plugin.php and Zotlabs\Extend\Hook,
making the former just wrappers calling the latter. Also removed the
unnecessary serialization of arrays in Hook::insert, and cleaned up and
expaned the tests a bit.
2026-06-12 21:19:59 +02:00
Harald Eilertsen
4dbcbbb1af Add CSRF token to Authorize module
Issue........: https://framagit.org/hubzilla/core/-/work_items/1987
2026-06-10 20:57:56 +02:00
Harald Eilertsen
b5f7e55c2b Escape input params in Authorize module
Issue........: https://framagit.org/hubzilla/core/-/work_items/1987
2026-06-08 21:40:19 +02:00
Mario
15db8dd945 Merge branch 'photo-imagick-avif' into 'dev'
Add AVIF support for PhotoImagick

See merge request hubzilla/core!2289
2026-06-05 19:24:15 +00:00
Mario
92ca97ea6b Merge branch 'misc-phpstan-fixes' into 'dev'
Misc PHPStan fixes

See merge request hubzilla/core!2284
2026-06-05 19:20:36 +00:00
Harald Eilertsen
bf57bd34f9 Add AVIF support for PhotoImagick
It seems AVIF support was added to the GD photo driver, but not
ImageMagick. This patch adds it to ImageMagick as well, if supported by
the underlying library.

I also added pecl imagick extension to CI so that we can test it.
2026-05-28 19:42:01 +02:00
Mario
82b8ed2652 test variable before using it 2026-05-20 07:48:59 +02:00
Harald Eilertsen
47c902a5ea Misc PHPStan fixes
Mainly variables that could possibly be referenced without being
defined.
2026-05-09 23:25:02 +02:00
Harald Eilertsen
0c7731bb76 Improve detecting suspicious ActivityStreams keys
Using string comparison on the whole key does not work, as some keys
will be given prefixes during expansion. We need to check if the payload
has keys that _contain_ the suspicious keywords we're looking for.
2026-05-09 18:40:55 +02:00
Mario
67d73f74ac check for currently unsafe json-ld constructs 2026-05-05 10:44:17 +00:00
Mario
3d29c498e9 move unparse_url() to Url class, also move tests 2026-04-29 14:16:15 +00:00
Mario
acf683a7d3 no need to rebuild the initial url. also add spdx info 2026-04-29 14:59:21 +02:00
Mario
fa7c8e93f1 merge dev 2026-04-28 12:54:40 +02:00
Mario
fd6b252b36 refactor zid() and add tests 2026-04-28 12:50:38 +02:00
Mario
0376b5d442 actually there is no need to set App::$profile here because it will be set in profile_load() if applicable 2026-04-27 08:18:50 +00:00
Mario
b20ed4f455 do not set App::$profile for removed channels and minor cleanup 2026-04-27 07:55:17 +00:00
Mario
782765e377 move mention- and hashtag symbols inside the anchor tag 2026-04-15 07:37:15 +00:00
Mario
1680bac8b5 refactor get_files_activity() so that it can display latest touched files by filetype category (document, audio, video, uncategorized) 2026-03-30 19:06:10 +00:00
Mario Vavti
231384a58f messageFilter: make sure we do not choke if we expect a string but an array is given 2026-03-27 22:42:59 +01:00
Harald Eilertsen
81e79eec04 Zotlabs\Extend\Route: Add type annotations
Make the code safer by adding type annotations for parameters and return
values.
2026-03-25 15:34:24 +01:00
Harald Eilertsen
7d70f2f0f2 Zotlabs\Extend\Route: Set method visibility
Make `Route::set()` private. It is not referenced outside of the class
itself, and is also unsafe as it uncritically replaces the system routes
with whatever value it was passed.

The remaining functions are set to public visibility.
2026-03-25 12:45:44 +01:00
Harald Eilertsen
016a11ad27 Zotlabs\Extend\Route: Add API docs + licence info 2026-03-25 12:33:11 +01:00
Mario
1ec0e91405 fix issue in route and widget unregister: we should remove only if both arguments are different. Also only register routes and widgets if they are not yet registered 2026-03-25 10:16:49 +00:00
Mario
1774140307 Storage/Directory: fix issue where we returned a partial path instead of throwing exception if a directory of a path could not be found 2026-03-23 20:57:46 +00:00
Harald Eilertsen
9d33456c89 Daemon/Externals: Shorten endless loop
If the query towards the hubloc table don't return any entries, the loop
would continue without modifying any of the variables that could
possibly make the loop end.
2026-03-17 21:42:28 +01:00
Mario
955ee217e3 add sleep intervals when adding worker tasks in a loop in Activity::init_background_fetch() 2026-03-14 19:58:09 +00:00
Mario
6d8bfe58ef Convo: fetched collections can be huge - add a slight delay between storing items if we did not fetch them from the network to allow the DB to do its thing 2026-03-14 19:41:26 +00:00
Mario
eb5ea6536b fix php warning 2026-03-11 19:05:39 +00:00
Harald Eilertsen
cbd208eea3 Remove use of NULL_DATE constant in core
The NULL_DATE constant is defined conditionally in the DBA static class.
This causes issues with static analyzing tools like PHPStan, because
they can not really know if the constant is defined or not.

We could make PHPStan ignore this, but since there already is a
`get_null_date()` method on the `dba_driver` class, this patch
changes the code to use this method instead.

We could also use the public static attribute `$null_date` on the DBA
class directly, but using a method feels cleaner, and allows for making
the attribute private, or even removing it completely at some later
time.

I'm not removing the NULL_DATE constant for now, in case it is in use by
any extensions.
2026-03-07 11:15:46 +01:00
Mario
f71eeab5be fix php warning 2026-03-03 11:27:01 +00:00
Mario
e954d8c55e mod network: dismiss privacy filter for various filter options - fix issue #1973 2026-03-03 09:17:56 +00:00
Mario
70f82c3967 stop duplicating content in reactions - fix issue #1970 2026-03-03 07:57:39 +00:00
Mario
add26a5b5f fix Queue::count() return value 2026-03-01 19:12:01 +00:00
Mario
dc03263bef Merge branch 'system-status-activity-widget' into 'dev'
Add system status activity widget to HQ for admins

See merge request hubzilla/core!2266
2026-03-01 18:42:54 +00:00
Harald Eilertsen
52a2a0d89a Pass loadavg as array from Perfstats
There's no reason we should format the data into a string in the
Perfstats module. Let the recipient do what they want with it instead.

As an example, we reduce the precision of the loadavg stats in the
system status widget. 3 digits precision should be more than enough for
this type of status display.

Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-03-01 11:34:28 +01:00
Harald Eilertsen
91944da69e Report queries/sec in system status widget
The total number of queries is not that interesting for performance
measurements, so let's do queries pr/second instead. Adds a timestamp
column to the dataset, which could be useful for other purposes as well
(like making a graph over time etc.)

Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-03-01 11:16:05 +01:00
Harald Eilertsen
78e30a4d32 Simplify stats for getting size of output queue
Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-26 16:28:59 +01:00
Harald Eilertsen
ccd6d1a38c Move db stats to separate classes for each db type
Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-26 16:19:17 +01:00
Mario
f14c1be963 Some projects use double typing for its objects (bandwagon in this case) - we do not support this, hence go with the first entry and hope for the best. 2026-02-26 11:31:56 +00:00
Harald Eilertsen
db5e92b72d Remove unused/incomplete function
Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:34:04 +01:00
Harald Eilertsen
3d3580b23f Validate requests to perfstats
Make some stricter rules for accessing the perfstats module. We only
want to respond to GET request for json data made by a site admin.

This means we also need to pass along the credentials in the request.
Didn't immediately figure out how to do that using `z_fetch_url`, so we
just fall back to using the JavaScript to populate the widget. This
makes it idle for about 5 sec before it gets the first data sample.

I think that's probably OK.

Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:21:09 +01:00
Harald Eilertsen
04d44c9965 Remove link from system status widget title
At least for now, there's no sensible link target, so it's better to not
link anywhere.

Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:21:09 +01:00
Harald Eilertsen
82bd91d9d7 Log error if system status can't load
Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:21:09 +01:00
Harald Eilertsen
492533729d Human labels for system status widget
Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:21:09 +01:00
Harald Eilertsen
283b606c09 Update system status activity widget periodically
Adds a bit of javascript that requests the performance stats every 5
seconds.

Project......: Performance Profiling
Sponsored-by.: NLnet NGI0 Commons Fund
2026-02-23 21:21:09 +01:00