Compare commits

...

1555 Commits

Author SHA1 Message Date
Hypolite Petovan 6da09c3368
Merge pull request #14028 from nupplaphil/bug/empty_char
[Hotfix][CI] Wrong empty char at database.sql
2024-03-22 15:07:52 +00:00
Philipp 43c25b1f68
[Hotfix] Wrong empty char at database.sql 2024-03-22 16:02:19 +01:00
Tobias Diekershoff f13c5dcbaf bump version to 2024.03 2024-03-21 08:01:47 +01:00
Tobias Diekershoff 2fcd090b11 new expiration date for security.txt 2024-03-21 08:01:12 +01:00
Tobias Diekershoff 4aa53beaea Merge branch '2024.03-rc' into stable 2024-03-21 07:58:02 +01:00
Tobias Diekershoff 25a22ad3ae set release date in CHANGELOG 2024-03-21 07:56:18 +01:00
Tobias Diekershoff ae217ce27c
Merge pull request #13963 from tobiasd/2024.03-CHANGELOG
CHANGELOG for 2024.03
2024-03-21 07:54:54 +01:00
Hypolite Petovan 17dea0aa5a
Merge pull request #14013 from foss-/patch-13
Update FAQ.md
2024-03-21 00:20:14 +00:00
foss- bd142218c1
Update FAQ.md
fix Windows link for Whalebird
2024-03-21 00:12:42 +01:00
Michael Vogel ce8d0b3b57
Merge pull request #14011 from MrPetovan/task/composer
Update Composer dependencies ahead of release
2024-03-20 10:00:31 +01:00
Hypolite Petovan 8f7edcef22 Update Composer dependencies ahead of release
Main changes:
- Updating matriphe/iso-639 (1.2 => 1.3)
- Updating phpseclib/phpseclib (3.0.35 => 3.0.37)
- Updating smarty/smarty (v4.3.4 => v4.5.1)
- Updating composer/ca-bundle (1.4.0 => 1.5.0)

Dev changes:
- Updating mockery/mockery (1.6.7 => 1.6.10)
- Updating sebastian/resource-operations (3.0.3 => 3.0.4)
- Updating sebastian/global-state (5.0.6 => 5.0.7)
- Updating sebastian/exporter (4.0.5 => 4.0.6)
- Updating sebastian/diff (4.0.5 => 4.0.6)
- Updating sebastian/cli-parser (1.0.1 => 1.0.2)
- Updating theseer/tokenizer (1.2.2 => 1.2.3)
- Updating nikic/php-parser (v5.0.0 => v5.0.2)
- Updating phpunit/php-code-coverage (9.2.30 => 9.2.31)
- Updating phar-io/manifest (2.0.3 => 2.0.4)
- Updating phpunit/phpunit (9.6.15 => 9.6.17)
- Updating symfony/stopwatch (v5.4.21 => v5.4.35)
- Updating symfony/polyfill-php80 (v1.28.0 => v1.29.0)
- Updating symfony/process (v5.4.34 => v5.4.36)
- Updating symfony/polyfill-php81 (v1.28.0 => v1.29.0)
- Updating symfony/polyfill-mbstring (v1.28.0 => v1.29.0)
- Updating symfony/polyfill-php73 (v1.28.0 => v1.29.0)
- Updating symfony/finder (v5.4.27 => v5.4.35)
- Updating symfony/polyfill-ctype (v1.28.0 => v1.29.0)
- Updating symfony/filesystem (v5.4.25 => v5.4.35)
- Updating symfony/event-dispatcher (v5.4.34 => v5.4.35)
- Updating symfony/polyfill-intl-normalizer (v1.28.0 => v1.29.0)
- Updating symfony/polyfill-intl-grapheme (v1.28.0 => v1.29.0)
- Updating symfony/string (v5.4.34 => v5.4.36)
- Updating symfony/console (v5.4.34 => v5.4.36)
- Updating composer/pcre (3.1.1 => 3.1.3)
- Updating friendsofphp/php-cs-fixer (v3.46.0 => v3.52.1)
2024-03-19 23:19:43 -04:00
Hypolite Petovan 2f526f7a80
Merge pull request #14010 from friendica/2024.03-CREDITS
updated the credits
2024-03-18 16:40:11 +00:00
Tobias Diekershoff 2780b3e3a4 updated CHANGELOG 2024-03-18 17:21:18 +01:00
Tobias Diekershoff 2785b074f8 updated the credits 2024-03-18 17:08:46 +01:00
Hypolite Petovan 8a693fed37
Merge pull request #13991 from foss-/patch-13
Re-wrote themes.md
2024-03-18 12:35:11 +00:00
Hypolite Petovan 6f5585ffd7
Merge pull request #14009 from foss-/patch-15
Update FAQ.md
2024-03-18 04:26:59 +00:00
foss- c9f6590353
Update FAQ.md
- Pachli website instead of GitHub link
2024-03-18 04:32:09 +01:00
foss- 3f1cac2251
Update doc/FAQ.md
- link to tusky website

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-18 04:30:29 +01:00
Hypolite Petovan 3a8f1f6304
Merge pull request #14008 from foss-/patch-14
Update API-Mastodon.md
2024-03-18 02:25:58 +00:00
foss- a5c265b6aa
Update FAQ.md
- fix typo
- added Pachli
- fixed Subway Tooter F-Droid link and specified Izzy repo)
- removed Fedi (last update in 2021, https://fediapp.com/ dead)
- updated Husky repo link
- changed tusky link to repo instead of website
2024-03-18 00:53:24 +01:00
foss- ea79782a93
Update API-Mastodon.md Fixes #13914
- removed unsupported clients (information is no longer accurate) and simplified Clients section
- new API Endpoints were added in https://github.com/friendica/friendica/pull/14007
2024-03-18 00:24:06 +01:00
Hypolite Petovan 882673c260
Merge pull request #14007 from annando/api-documentation
Slightly updated API documentation
2024-03-17 15:02:22 +00:00
Michael 668bb3e6f4 Slightly updated API documentation 2024-03-17 14:40:35 +00:00
Hypolite Petovan 7331e44a1c
Merge pull request #14006 from annando/accounttype
Fix accounttype/nosharer url
2024-03-16 17:19:55 +00:00
Michael 1ffdb19c8e Fix accounttype/nosharer url 2024-03-16 16:44:25 +00:00
Hypolite Petovan 5c62d91960
Merge pull request #14005 from annando/issue-13984
Issue 13984: Fix preview picture
2024-03-16 15:07:54 +00:00
Hypolite Petovan 7615a3103f
Merge pull request #14002 from annando/relais-update
Fix handling of relay contact updates
2024-03-16 15:07:16 +00:00
Michael 2ecdd683ac Issue 13984: Fix preview picture 2024-03-16 10:30:43 +00:00
Michael a9b78d1974 Merge remote-tracking branch 'upstream/2024.03-rc' into relais-update 2024-03-16 08:35:56 +00:00
Michael Vogel e6c23e69cc
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-03-16 09:19:57 +01:00
Hypolite Petovan c81a47c764
Merge pull request #14004 from annando/warning
Fix "Undefined variable $success"
2024-03-16 08:15:42 +00:00
Hypolite Petovan 4bbc1d84ce
Merge pull request #14003 from annando/issue-14001
Issue 14001: Fix "Incorrect integer value"
2024-03-16 08:14:45 +00:00
Hypolite Petovan f7cb9ec504
Merge pull request #14000 from nupplaphil/feat/CI_php83
[CI] Add PHP 8.3 and upgrade CI images
2024-03-16 08:08:01 +00:00
Michael 28363a5416 Fix "Undefined variable $success" 2024-03-16 07:58:51 +00:00
Michael f1be6d5181 Issue 14001: Fix "Incorrect integer value" 2024-03-16 07:53:12 +00:00
Michael b75fdbbd32 Fix handling of relais contact updates 2024-03-16 05:30:21 +00:00
Philipp 9ce2142d99
Adhere deprecation notes
- Use `when:`
- Remove `group: lint`
2024-03-15 23:59:08 +01:00
Philipp 4f24247aa7
Use PHP 8.2 for other pipelines 2024-03-15 23:58:31 +01:00
Philipp 0eec20d203
Use PHP 8.2 for codecoverage 2024-03-15 23:58:31 +01:00
Philipp adeb9af502
Update PHP 8.1 and PHP 8.2 CI image 2024-03-15 23:03:44 +01:00
Philipp c577773e07
[CI] Add PHP 8.3 2024-03-15 22:55:48 +01:00
Tobias Diekershoff b8396daca2
Merge pull request #13998 from annando/probe-hide
Fix: "unsearchable" is now stored
2024-03-15 07:24:13 +01:00
Michael eaddf5318a Fix: "unsearchable" is now stored 2024-03-15 06:07:47 +00:00
Tobias Diekershoff aee9a61fb1 added missing closed issue 2024-03-14 08:42:42 +01:00
Tobias Diekershoff 81b5ed160b Updated CHANGELOG 2024-03-14 08:40:55 +01:00
Tobias Diekershoff 49b79d0457
Merge pull request #13993 from annando/statistics
Systems added to the federation statistics
2024-03-14 07:35:23 +01:00
Michael 8ce1797480 Systems added to the federation statistics 2024-03-14 04:33:19 +00:00
foss- 650aa089d9
Re-wrote themes.md
- rewrite to reflect new default theme frio and describe settings options
- old information was obsolete and replaced (please double check)
2024-03-13 12:17:27 +01:00
Michael Vogel 2c689f2b73
Merge pull request #13990 from friendica/bug/profile-rss-xss
Escape HTML characters in profile RSS titles
2024-03-12 21:52:14 +01:00
Hypolite Petovan aac5d41fd6
Escape HTML characters in profile RSS titles
Thanks to @r1pu5u for the tip left through the `security.txt` contact address!
2024-03-12 20:42:00 +00:00
Hypolite Petovan 57187f26ae
Merge pull request #13978 from annando/issue-13972
Default behaviour for adding media types
2024-03-12 20:06:24 +00:00
Hypolite Petovan 7446048d5d
Merge pull request #13987 from annando/api-issues
Fixes API-Issues #13985 and #13986
2024-03-12 19:33:42 +00:00
Hypolite Petovan d3ee4d589b
Merge pull request #13988 from annando/network-groups
"network/group" fragments are removed
2024-03-12 19:31:58 +00:00
Michael fda832cd83 "network/group" fragments are removed 2024-03-12 08:02:00 +00:00
Michael 30f31828ae Fixes API-Issues #13985 and #13986 2024-03-12 03:12:36 +00:00
Tobias Diekershoff cd7a663733
Merge pull request #13983 from annando/fix-notice
Fix notice when sending private messages
2024-03-10 20:09:25 +01:00
Michael 3b024450ff Fix notice when sending private messages 2024-03-10 18:55:58 +00:00
Tobias Diekershoff e22ef85386
Merge pull request #13982 from annando/no-unknown-media
Fix: Don't attach unknown media
2024-03-10 14:28:14 +01:00
Tobias Diekershoff e206175a50
Merge pull request #13980 from annando/mail-summary
Fix: Subject for private messages from Friendica systems
2024-03-10 13:55:09 +01:00
Michael 76d469675e Fix: Don't attach unknown media to posts 2024-03-10 10:14:54 +00:00
Michael 3496d3948a Fix: Subject for private messages from Friendica systems 2024-03-09 22:32:38 +00:00
Michael 00b325d521 Default behaviour for adding media types 2024-03-09 15:45:38 +00:00
Tobias Diekershoff 2077e00eae
Merge pull request #13977 from annando/dont-retry
Don't retry when fetching invalid content
2024-03-09 13:59:36 +01:00
Michael a1427a52b3 Don't offer the invalid content type 2024-03-09 10:46:53 +00:00
Michael 40a47b076d Don't retry when fetching invalid content 2024-03-09 10:37:43 +00:00
Hypolite Petovan f041701765
Merge pull request #13976 from annando/content-type-logging
Centralized logging for a wrong JSON content-type
2024-03-08 11:03:03 -05:00
Michael d9bedbb473 Centralized logging for a wrong JSON content-type 2024-03-08 13:48:21 +00:00
Hypolite Petovan 013bba50bc
Merge pull request #13975 from annando/check-content-type
Check for the content type before fetching the content
2024-03-07 21:58:43 -05:00
Michael 5f0657a30c Don't show the body in the log 2024-03-07 22:29:04 +00:00
Michael 435b30be11 Check for the content type before fetching the content 2024-03-07 22:16:52 +00:00
Hypolite Petovan 73863561d2
Merge pull request #13974 from annando/videoheight
Set default value for max video height
2024-03-07 09:33:11 -05:00
Michael 67696d08da Set default value for max video height 2024-03-07 14:22:40 +00:00
Hypolite Petovan 1b00b91767
Merge pull request #13973 from annando/parent-activity
Change the last activity for delegation parents and siblings as well
2024-03-07 09:02:46 -05:00
Michael 68c2bdb98e Change the last activity for delegation parents and siblings as well 2024-03-07 06:12:36 +00:00
Michael Vogel 54852ecb56
Merge pull request #13970 from MrPetovan/bug/warnings
Address a couple of warnings
2024-03-06 20:13:40 +01:00
Hypolite Petovan 8c4b2107b5 Include author-alias to the field list in mod/photos
- It's used to generate magic links of authors of comments on photos
- Address https://github.com/friendica/friendica/issues/13761#issuecomment-1980738080
2024-03-06 12:07:43 -05:00
Hypolite Petovan 111df607bc Don't call mb_strlen() on $body if it isn't set in Model\Post\Counts
- Address https://github.com/friendica/friendica/issues/13761#issuecomment-1978354153
2024-03-06 12:01:25 -05:00
Tobias Diekershoff b8b76e870d
Merge pull request #13967 from annando/diaspora-avatar
Issue 13939: Fix avatars for Diaspora
2024-03-06 06:55:39 +01:00
Michael 41c89abe68 Update routine added 2024-03-06 03:41:13 +00:00
Michael 24e7556f85 Transmit the user avatar path 2024-03-06 03:25:04 +00:00
Michael 8cc7bad1ea Issue 13939: Fix avatars for Diaspora 2024-03-06 03:00:09 +00:00
Hypolite Petovan 2357385162
Merge pull request #13966 from annando/max-video-height
Reduce the height of portrait videos
2024-03-05 19:01:48 -05:00
Michael 31b92b16ed Reduce the height of portrait videos 2024-03-05 21:25:00 +00:00
Hypolite Petovan 3ad4ab2940
Merge pull request #13965 from annando/last-activity
Improved assigning of "last-activity" and "login_date"
2024-03-05 10:38:41 -05:00
Michael Vogel 5ab81abaa6
Merge pull request #10 from MrPetovan/bug/last-activity-api-fixture-fix
Normalize API fixture data
2024-03-05 16:29:00 +01:00
Hypolite Petovan 1b651519a3 Normalize API fixture data
- Change public contact name to the related local user name
- Add location data to profile record that is used to update self and public contact during Auth
2024-03-05 10:10:15 -05:00
Michael ba07172a65 Compare with the utc value 2024-03-05 14:24:40 +00:00
Michael 72e045e744 Improved assigning of "last-activity" and "login_date" 2024-03-05 14:06:26 +00:00
Tobias Diekershoff 2cedbae206 ypots 2024-03-05 07:14:39 +01:00
Tobias Diekershoff a6b033c4f6 CHANGELOG for 2024.03 2024-03-04 17:38:32 +01:00
Michael Vogel dc96a72173
Merge pull request #13962 from tobiasd/20240304-lng
translation updates
2024-03-04 16:49:13 +01:00
Tobias Diekershoff 38141edbea translation updates 2024-03-04 16:40:13 +01:00
Tobias Diekershoff 9b0e243350
Merge pull request #13961 from annando/issue-13765
Issue 13765: Fixed creation of self user contact for approval
2024-03-04 11:44:55 +01:00
Michael 52cc8ab73b Issue 13765: Fixed creation of self user contact for approval 2024-03-04 07:30:04 +00:00
Hypolite Petovan ea4e66c74c
Merge pull request #13957 from annando/issue-13940
Issue 13940: handle posts that can't be found in contexts
2024-03-03 13:42:00 -05:00
Hypolite Petovan f4826bae52
Merge pull request #13960 from annando/oembed-full-cleanup
Oembed: Some more cleanup
2024-03-03 13:41:35 -05:00
Michael 7471513269 Issue 13940: handle posts that can't be found in contexts 2024-03-03 18:32:26 +00:00
Michael ae37c44cc0 Oembed: Some more cleanup 2024-03-03 18:06:25 +00:00
Hypolite Petovan 424e219c53
Merge pull request #13956 from annando/issue-13955
Issue 13955: Check for publish date upon receival
2024-03-03 12:23:13 -05:00
Michael bae7644d6f Issue 13955: Check for publish date upon receival 2024-03-02 19:21:14 +00:00
Michael Vogel f2ccce05b8
Merge pull request #13948 from MrPetovan/task/12420-frio-remove-legacy-scheme
[frio] Remove legacy schemes
2024-03-02 06:06:15 +01:00
Michael Vogel 89ffe6875f
Merge pull request #13942 from MrPetovan/bug/fix-api-fixture
Fix API fixture data
2024-03-02 05:48:19 +01:00
Hypolite Petovan 7284210bf7 Updated main translation file after changing some strings 2024-03-01 08:52:58 -05:00
Hypolite Petovan 4fcc92e532 [frio] Delete legacy scheme files 2024-03-01 08:48:41 -05:00
Hypolite Petovan 2c259c5c6f [frio] Remove legacy schemes
- [frio] Replace default scheme file by default scheme value
- [frio] Simplify frio theme settings
- [frio] Remove query string scheme setting
2024-03-01 08:48:38 -05:00
Hypolite Petovan 39d25b9699
Merge pull request #13954 from annando/issue-13953
Issue 13953: Fix warning during postupdate
2024-03-01 08:38:42 -05:00
Michael 5df1ead001 Issue 13953: Fix warning during postupdate 2024-03-01 08:41:12 +00:00
Hypolite Petovan 2d4f28dcde
Merge pull request #13951 from annando/issue-13949
Issue 13949: Block access via OAuth
2024-02-29 21:00:12 -05:00
Michael dd55ba2d77 Issue 13949: Block access via OAuth 2024-02-29 22:03:57 +00:00
Hypolite Petovan c9f7d9baff
Merge pull request #13946 from annando/issue-13819
Issue 13819: Ensure to not use OEmbed if not wanted
2024-02-29 07:54:43 -05:00
Hypolite Petovan 504a2e91e2
Merge pull request #13945 from annando/errors
Exceptions and warnings fixed
2024-02-29 07:53:13 -05:00
Michael 40e882004e Use the exact embed URLs 2024-02-29 07:40:36 +00:00
Michael e394a6b0fa Issue 13819: Ensure to not use OEmbed if not wanted 2024-02-29 07:37:58 +00:00
Michael 8cf82a8449 Exceptions and warnings fixed 2024-02-29 04:40:04 +00:00
Hypolite Petovan 0d922b75af Use public contact ids where they should be used in API fixture data 2024-02-27 08:41:51 -05:00
Hypolite Petovan ba0a8069c4 Normalize local node hostname across API fixtures
- This was causing the fixture data to be wrongly "repaired" in Model\User::getOwnerDataById because of a mismatch between the local base URL and the fixture-provided self contact URL
2024-02-27 08:41:51 -05:00
Hypolite Petovan d37699bc08 Throw Not Found exception when $uid doesn't exist in Factory\Api\Twitter\User->createFromUserId
- Contact::getPublicIdByUserId() wrongly returns 0 when $uid doesn't exist, which is an existing albeit invalid record.
2024-02-27 08:41:51 -05:00
Hypolite Petovan ac087749e3
Merge pull request #13938 from annando/output-type
Image handling: separate between output and input type, use Imagick on PNG
2024-02-25 10:01:34 -05:00
Michael ddc9f5f595 Image handling: separate between outout and input type, use Imagick on PNG 2024-02-25 08:52:52 +00:00
Tobias Diekershoff 35bba685fa
Merge pull request #13936 from annando/rounding
Round the load to two digits
2024-02-24 18:56:11 +01:00
Michael e52fa44d3f Round the load to two digits 2024-02-24 17:37:30 +00:00
Hypolite Petovan f74d6f9ebb
Merge pull request #13932 from annando/oembed-cleanup
Unused OEmbed functionality is removed
2024-02-24 11:03:48 -05:00
Michael ae358cae4c Updated messages.po 2024-02-24 15:29:33 +00:00
Michael b572b8989f Use media link instead of proxy for pictures 2024-02-24 15:11:27 +00:00
Michael 5800a973cb Fixed positive list 2024-02-24 13:56:12 +00:00
Michael Vogel 44ce5471b3
Onepoll: Prevent errors with invalid mails (#13934) 2024-02-24 13:18:44 +01:00
Michael e05b57cd5d messages.po updated 2024-02-24 11:56:55 +00:00
Michael ecdf8f2b47 Merge remote-tracking branch 'upstream/2024.03-rc' into oembed-cleanup 2024-02-24 11:54:35 +00:00
Michael Vogel 1c5681c199
Merge pull request #13933 from annando/fix2
Accidentally merged changes are reverted
2024-02-24 12:40:19 +01:00
Michael 20fd25258a Accidentally changes are reverted 2024-02-24 11:35:32 +00:00
Michael 00bb538fd0 Merge branch '2024.03-rc' of https://github.com/friendica/friendica into 2024.03-rc 2024-02-24 11:01:44 +00:00
Michael 12bdbaaba8 OEmbed: Complete cleanup 2024-02-24 11:01:34 +00:00
Michael 821a135033 Unused OEmbed functionality is removed 2024-02-24 10:58:18 +00:00
Michael Vogel 0ff37c0075
Merge pull request #13931 from MrPetovan/bug/13930-photo-preview-sizes
Increase API photo preview size for Mastodon API to 640
2024-02-24 09:39:31 +01:00
Hypolite Petovan 0a73050de1 Increase API photo preview size for Mastodon API to 640 2024-02-23 22:41:21 -05:00
Hypolite Petovan a25dbf839a Remove photo user id fallback from 2021
- Remove deprecated /photos/{nickname} fallback routes
- The contact id fallback is a lie, there's no replacement feature
2024-02-23 22:41:18 -05:00
Hypolite Petovan e16b6ee6e1
Check form security token in /settings/userexport module (#13929)
* Escape HTML in the location field of a calendar event post

- This allowed script tags to be interpreted in the post display of an event.

* Add form security token check to /admin/phpinfo module

- This prevents basic XSS attacks against /admin/phpinfo

* Add form security token check to /babel module

- This prevents basic XSS attacks against /babel

* Prevent pass-through for attachments

- This addresses a straightforward Reflected XSS vulnerability if a malicious HTML/Javascript file is attached to a post through upload

* Prevent overwriting cid on event edit

- This allowed to share an event as any other user after zeroing the cid field of an existing event

* Check form security token in /settings/userexport module

- Prevents basic XSS attacks against /settings/userexport/*
2024-02-22 21:08:32 +01:00
Hypolite Petovan 5c5d7eb04f
Fix several vulnerabilities (#13927)
* Escape HTML in the location field of a calendar event post

- This allowed script tags to be interpreted in the post display of an event.

* Add form security token check to /admin/phpinfo module

- This prevents basic XSS attacks against /admin/phpinfo

* Add form security token check to /babel module

- This prevents basic XSS attacks against /babel

* Prevent pass-through for attachments

- This addresses a straightforward Reflected XSS vulnerability if a malicious HTML/Javascript file is attached to a post through upload

* Prevent overwriting cid on event edit

- This allowed to share an event as any other user after zeroing the cid field of an existing event
2024-02-22 06:53:52 +01:00
Michael Vogel fc3898fe64
Updated Bluesky logo (#13926) 2024-02-21 18:23:36 +01:00
Michael Vogel 71384e6f39
Issue 13909: Filter channels by network (#13924) 2024-02-20 07:11:26 +01:00
Michael Vogel d95c9d28a8
Issue 13922: "voted" must not be null (#13923) 2024-02-20 07:09:55 +01:00
Hypolite Petovan bb7d25dfc9
Merge pull request #13921 from annando/content-type
Check for activity pub mime types
2024-02-19 05:57:47 -05:00
Michael Vogel d5c0f086bd
Disallow mail addresses for registration (#13920)
* Disallow mail addresses for registration

* Order for allow/disallow has been changed
2024-02-19 09:33:20 +01:00
Michael 892e0a5623 Check for activity pub mime types 2024-02-19 07:11:56 +00:00
Michael Vogel cb294cf411
Avoid problems with an empty domain in the blocklist (#13919)
* Avoid problems with an empty domain in the blocklist

* Test code removed
2024-02-19 07:22:19 +01:00
Michael Vogel 9ad452a19b
Merge pull request #13918 from MrPetovan/bug/fixup-13911
Move Api\Mastodon\Instance\Extended to ExtendedDescription
2024-02-19 04:05:42 +01:00
Hypolite Petovan 623a5be8a6 Clarify condition on offset in Mastodon\Search->searchStatuses 2024-02-18 18:48:37 -05:00
Hypolite Petovan d1cd9a016e Move Api\Mastodon\Instance\Extended to ExtendedDescription
- Add reference to Mastodon documentation
2024-02-18 18:47:59 -05:00
Michael Vogel 7d5d3b3c29
Issue 13293: Endpoint /api/v1/accounts/lookup implemented (#13917) 2024-02-18 20:17:06 +01:00
Michael Vogel bcec6c5ab2
Issue #13899: Fix error on postupdate (#13915) 2024-02-18 20:09:56 +01:00
Michael Vogel 6384265cbd
Issue #13823: Fix "Mutes" endpoint (#13916) 2024-02-18 20:07:51 +01:00
Michael Vogel f12276eff8
New channel "quiet sharers" for posts from lesser frequent posters (#13913) 2024-02-18 15:54:21 +01:00
Michael Vogel c6160a1c38
Fix API issues #13887, #13886, #13863, #13809, #13897 (#13911) 2024-02-18 15:52:30 +01:00
Michael Vogel 07c20da08f
Issue 13905: ostatus context added (#13912) 2024-02-18 15:46:41 +01:00
Michael Vogel 4eefd0a205
Merge pull request #13908 from MrPetovan/bug/warnings
Avoid passing null bytes in regular expression in Object\Image
2024-02-18 05:33:41 +01:00
Hypolite Petovan 78bc1359e0
Merge pull request #13907 from annando/fix-relations
Fix contact-relation follower calculation
2024-02-17 22:30:56 -05:00
Hypolite Petovan 1956c2ecfd Avoid passing null bytes in regular expression in Object\Image
- Remove capturing expression for A|B in favor of bracket syntax in regular expression since matches aren't used.
- Regular expressions have their own character escape notation including backslashes that need to be escaped in a PHP string.
- Actually address https://github.com/friendica/friendica/issues/13761#issuecomment-1949930922
2024-02-17 22:27:37 -05:00
Michael ade2369b5d Merge remote-tracking branch 'upstream/2024.03-rc' into fix-relations 2024-02-17 21:56:56 +00:00
Michael 0d2ea97eb1 Fix comtact-relation follower calculation 2024-02-17 21:32:17 +00:00
Michael Vogel 08fa51d0bb
Fix the handling of unhandled image types and of animations (#13904)
* Fix the handling of unhandled image types and of animations

* Avoid warnings
2024-02-17 15:46:48 +01:00
Michael 7d10518e94 Revert "Fix unhandled image detection"
This reverts commit 1069cfb570.
2024-02-17 10:50:09 +00:00
Michael 1069cfb570 Fix unhandled image detection 2024-02-17 10:46:48 +00:00
Michael Vogel 14e5b06029
Image handling reworked, new image formats added (#13900)
* Image handling reworked, new image formats added

* Updated messages.po

* The dot is now part of the file extension

* Added WebP in install documentation

* Handle unhandled mime types

* Fixed animated picture detected
2024-02-17 07:45:41 +01:00
Tobias Diekershoff 1ea8a4042d bump version to 2024.03-rc 2024-02-14 08:24:41 +01:00
Michael Vogel fad55e0948
Prevent users from following relay accounts (#13894) 2024-02-13 06:50:46 +01:00
Hypolite Petovan 262ca4131d
Merge pull request #13893 from annando/fix-relay-unsubscribe
Fixed relay detection on unsubscription
2024-02-12 23:55:01 -05:00
Michael c7e0500529 Fixed relay detection on unsubscription 2024-02-13 04:30:38 +00:00
Hypolite Petovan 686d0b6dbb
Merge pull request #13892 from annando/no-preview-on-sensitive
Don't display preview images for links, when the post is marked as sensitive
2024-02-12 22:30:31 -05:00
Hypolite Petovan 59c27a6cbb
Merge pull request #13889 from annando/issue-13884
Issue 13884: Sanitation of links in BBCode parser
2024-02-12 15:28:04 -05:00
Michael e2cbe0983a Don't display preview images for links, when the post is marked as sensitive 2024-02-12 06:01:07 +00:00
Michael 3b0cc45588 Link sanitation added to some more places 2024-02-12 05:40:09 +00:00
Michael 061f43788c Sanitize links before storing them 2024-02-12 05:21:13 +00:00
Michael fe00a3893d urlencode for tags / fix smiley replacement 2024-02-12 04:46:20 +00:00
Michael 5d4f72698d Function renamed 2024-02-12 04:44:13 +00:00
Michael 96ede22abb Issue 13884: Sanitation of links in BBCode parser 2024-02-11 12:05:31 +00:00
Michael Vogel 2cc8fcc4aa
Merge pull request #13880 from MrPetovan/bug/13878-deprecate-star-list
Deprecate use of [*] BBCode tag for list items in favor of [li]
2024-02-11 03:13:28 +01:00
Hypolite Petovan 98900c33d4
Merge pull request #13881 from annando/valid-object
Ckeck for host differences of fetched activities
2024-02-10 11:13:16 -05:00
Michael 7dc9a812f6 Updated messages.po 2024-02-10 11:46:42 +00:00
Michael 7a14d5f7e4 Merge branch 'develop' of https://github.com/annando/friendica into develop 2024-02-10 11:39:47 +00:00
Michael 909d516ed4 Merge remote-tracking branch 'upstream/develop' into valid-object 2024-02-10 11:34:17 +00:00
Michael Vogel 52825cb4c4
User setting to disable blurring of sensitive pictures (#13883) 2024-02-10 09:50:49 +01:00
Michael Vogel dbc72adaf9
Merge pull request #13882 from tobiasd/20240210-lng
update translations
2024-02-10 09:31:58 +01:00
Michael ba5a288b2d User setting to disable blurring of sensitive pictures 2024-02-10 08:27:54 +00:00
Tobias Diekershoff 84043abbda update translations 2024-02-10 08:57:19 +01:00
Michael Vogel f212888e90
Merge pull request #13879 from MrPetovan/bug/13877-fpostit-ssrf
Remove deprecated fpostit mod
2024-02-10 07:16:48 +01:00
Michael 50c0fd6738 Ckeck for host differences of fetched objects 2024-02-10 04:58:11 +00:00
Hypolite Petovan 5b5c9ddc74 Deprecate use of [*] BBCode tag for list items in favor of [li]
- It is conflicting with Markdown syntax
2024-02-09 20:33:42 -05:00
Hypolite Petovan cb992f693c Remove deprecated fpostit mod
- This feature allowed unauthenticated requests to arbitrary domains.
2024-02-09 20:17:35 -05:00
Hypolite Petovan ede41166ae
Merge pull request #13876 from annando/sensitive2
Sensitive previews are now blurred
2024-02-06 21:19:36 -05:00
Michael caa7b6f326 "sensitive" is added to the API 2024-02-06 16:30:46 +00:00
Michael 0a6dff0618 Sensitive previews are now blurred 2024-02-06 16:15:58 +00:00
Hypolite Petovan 9b4ade4542
Merge pull request #13872 from friendica/issue-13845
Issue 13845: Support "sensitive" attribute
2024-02-06 05:54:26 -05:00
Michael 0153c2a027 Merge remote-tracking branch 'upstream/develop' into issue-13845 2024-02-06 09:47:38 +00:00
Hypolite Petovan 1a0f7c15ad
Merge pull request #13874 from annando/media-card-post
Two new search options "media:card" and "media:post"
2024-02-06 03:27:59 -05:00
Michael d5bf306884 We now use xonstants 2024-02-06 06:34:16 +00:00
Michael 4cd2fde6f2 Two new search options "media:card" and "media:post" 2024-02-05 22:21:58 +00:00
Michael 259e7876ad Merge remote-tracking branch 'upstream/develop' into issue-13845 2024-02-05 22:17:43 +00:00
Hypolite Petovan 760c7deba3
Merge pull request #13873 from annando/libpng
Possible fixes "libpng warning: Interlace handling should be turned on when using png_read_image"
2024-02-05 15:20:23 -05:00
Michael 83306949ac Possible fixes "libpng warning: Interlace handling should be turned on when using png_read_image" 2024-02-05 18:16:47 +00:00
Michael c0cd0dc74d "sensitive" added to fierld list 2024-02-05 12:21:57 +00:00
Michael f7b0a0bef1 Merge remote-tracking branch 'upstream/develop' into issue-13845 2024-02-05 06:31:08 +00:00
Hypolite Petovan a9d668cc78
Merge pull request #13871 from annando/channel-network
Issue 13844: User defined channels based on the network
2024-02-04 23:29:38 -05:00
Michael 15df9990da Issue 13845: Support "sensitive" attribute 2024-02-04 21:45:30 +00:00
Michael 91ddb406ab Merge remote-tracking branch 'upstream/develop' into channel-network 2024-02-04 16:36:25 +00:00
Hypolite Petovan d9d42105d6
Merge pull request #13870 from annando/channel-languages
Fix: Saving of channel languages
2024-02-04 09:18:02 -05:00
Michael 7924085c94 Issue 13844: User defined channels based on the network 2024-02-04 07:14:57 +00:00
Michael 672186e549 Additional revert 2024-02-03 11:06:05 +00:00
Michael 053dfb3e2b Revert test changes / added saving of languages 2024-02-03 11:04:42 +00:00
Michael f1efb8d277 Fix: Saving of channel languages 2024-02-03 11:01:17 +00:00
Hypolite Petovan b6e958fdcf
Merge pull request #13869 from annando/engagement-searchindex
Unify searchindex table with engagement table
2024-02-02 12:18:11 -05:00
Michael 885b3a12b9 Search for tags and media in full text when doing full text searches 2024-02-02 16:05:24 +00:00
Michael fc05daefb5 "media" is added to the search text 2024-02-02 10:46:20 +00:00
Michael 7faa42882b language field renamed to "language" 2024-02-02 07:05:39 +00:00
Michael fc22a3e83f Unify searchindex table with engagement table 2024-02-01 23:08:53 +00:00
Hypolite Petovan 8ddc71188f
Merge pull request #13866 from annando/channel-reshare-privat
Channel relay reshares are now private follwers posts
2024-02-01 16:48:55 -05:00
Michael b77a5c3eb4 Merge remote-tracking branch 'upstream/develop' into channel-reshare-privat 2024-02-01 19:41:35 +00:00
Michael Vogel 6a6e2cd2a2
Avoid duplicated post button on the contact conversation page (#13867)
* Avoid duplicated post button on the contact conversation page

* Updated messages.po
2024-02-01 19:47:43 +01:00
Michael 01c04fe2c2 messages.po updated 2024-02-01 16:10:14 +00:00
Michael e60f3e1a99 Channel relay reshares are now private follwers posts 2024-02-01 15:59:04 +00:00
Michael Vogel 665316c14d
Issue 13859: Posts to a group in "Vier" is now possible (#13864) 2024-01-31 19:09:57 +01:00
Hypolite Petovan fef14d96c7
Merge pull request #13861 from annando/size
Filter user defined channels by size
2024-01-30 17:52:40 -05:00
Michael c8087a7827 Merge remote-tracking branch 'upstream/develop' into size 2024-01-30 15:24:38 +00:00
Michael Vogel 5a59dff817
Update doc/Channels.md
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-01-30 16:20:44 +01:00
Hypolite Petovan e9554c32c9
Merge pull request #13862 from Raroun/fix_for_issue_13837_External_profile_image_URL_wrongly_redirect_to_default_-avatar_URL_for_all-digits_usernames
fix for issue #13837 External profile image URL wrongly redirect to default avatar URL for all-digits usernames
2024-01-30 09:43:58 -05:00
Raroun d2f935df1d Updated messages.po 2024-01-30 15:32:27 +01:00
Raroun ed30d888fa
Update src/Module/Register.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-01-30 15:28:49 +01:00
Raroun 606bd0be60
Check if nickname contains only US-ASCII and do not start with a digit
Update Register.php
2024-01-30 15:18:11 +01:00
Michael d29d7c40cd Alternatives are added to the documentation 2024-01-30 11:55:36 +00:00
Michael 1e3cfca58d search term alternatives added 2024-01-30 11:14:41 +00:00
Michael d6632bb0ea Updated messages.po 2024-01-30 10:14:03 +00:00
Michael 3fe4991fcf Filter user defined channels by size 2024-01-30 10:05:05 +00:00
Hypolite Petovan 0c583574e1
Merge pull request #13860 from annando/baseurl
Account type relay / fix missing baseurl for own contacts
2024-01-29 18:17:31 -05:00
Michael 7432e47f7a Fix code standards 2024-01-29 18:07:53 +00:00
Michael Vogel 25f2ad1b97
Merge pull request #13838 from MrPetovan/task/refactor-throwaway-fulltext-search
Refactor user-defined channel match
2024-01-29 16:53:41 +01:00
Hypolite Petovan 391e41d6d6 Fix exists() condition in DisposableFullTextSearch 2024-01-29 07:37:40 -05:00
Michael cda1b91b77 Update searchindex on reshare 2024-01-29 12:32:21 +00:00
Hypolite Petovan 50cc2be3d1 Improve uniqueness loop by adding an exists() call in DisposableFullTextSearch 2024-01-29 06:56:30 -05:00
Michael 7c43b41f0b Searchtext functionality added 2024-01-29 11:02:13 +00:00
Michael 36313fe35b Relay data added to the search text as well 2024-01-29 11:00:39 +00:00
Michael 820674a7ad Use plural 2024-01-29 06:50:46 +00:00
Michael 9bd8d974b3 Account type relay / fix missing baseurl for own contacts 2024-01-29 06:28:43 +00:00
Hypolite Petovan 9af5abaf0b
Merge pull request #13858 from annando/tags
Use unified functions for tag string handling
2024-01-28 23:14:09 -05:00
Michael 25f45cf116 Logging improved 2024-01-28 12:22:58 +00:00
Michael b948b2c7cb Added tests 2024-01-28 06:56:25 +00:00
Michael d2702dfe9c Use centralized functions for tag string handling 2024-01-28 06:32:55 +00:00
Hypolite Petovan 7397b38763 Ensure identifier uniqueness in Disposable FullTextSearch 2024-01-27 11:33:28 -05:00
Hypolite Petovan 9e738253e7
Merge pull request #13856 from annando/spam2
Compare lengths of hashtags with the content length for improved spam detection
2024-01-26 18:59:38 -05:00
Michael Vogel 120044f3da
Update src/Protocol/Relay.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-01-27 00:13:14 +01:00
Hypolite Petovan 142a563a80
Merge pull request #13857 from annando/discover
New channel option "discover"
2024-01-26 17:39:44 -05:00
Hypolite Petovan abd5768044 Add documentation to DisposableFullTextSearch->idenfier field 2024-01-26 16:48:55 -05:00
Michael f1173853f3 Merge remote-tracking branch 'upstream/develop' into discover 2024-01-26 13:54:25 +00:00
Michael ef8461733b The "nosharer" widget is added to the network 2024-01-26 13:51:20 +00:00
Michael b8f80a8d25 Compare lengths of hashtags with the content length for improved spam detection 2024-01-26 11:22:01 +00:00
Hypolite Petovan c19af39d8a
Merge pull request #13853 from annando/error
Fixes "Counts::update(): Argument #3 ($vid) must be of type int, null given"
2024-01-25 18:12:59 -05:00
Michael Vogel e1381cfc5c
Update src/Model/Post/Counts.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2024-01-25 22:16:38 +01:00
Hypolite Petovan efe1ea5c3c
Merge pull request #13850 from annando/reaction
Fix "Data too long for column 'reaction' at row 1"
2024-01-25 15:12:50 -05:00
Michael Vogel 09edf251ee
Anti spam measures against hashtag spam (#13855) 2024-01-25 19:41:07 +01:00
Michael dcb6fa32a1 Fixes "Counts::update(): Argument #3 ($vid) must be of type int, null given" 2024-01-25 13:20:50 +00:00
Michael 08ee1e1f63 New channel option "discover" 2024-01-25 10:50:28 +00:00
Hypolite Petovan b3e4b9675a
Merge pull request #13851 from annando/account-overview
The account overview is now grouped by the account type
2024-01-24 14:49:14 -05:00
Hypolite Petovan 0ee87b8116 Refactor user-defined channel match
- Remove disposable full-text search feature from UserDefinedChannels repository
- Fix return value of Repository\UserDefinedChannel->match
2024-01-24 14:46:07 -05:00
Hypolite Petovan 1191024609 Add throwaway full-text search feature in a dedicated Database class
- Add explicit return type to UserDefinedChannels->current() to help IDE auto-completion
2024-01-24 14:42:45 -05:00
Michael 8f9de98c35 Updated messages.po 2024-01-23 22:11:34 +00:00
Michael dc8b87e008 The account overview is now grouped by the account type 2024-01-23 22:05:14 +00:00
Michael 03e831b607 Fix "Data too long for column 'reaction' at row 1" 2024-01-23 09:59:47 +00:00
Hypolite Petovan 2e5046f8c3
Merge pull request #13846 from annando/search
Improved search results and performance by adding a separate search index table
2024-01-22 22:31:20 -05:00
Michael 7b638617f1 Merge remote-tracking branch 'upstream/develop' into search 2024-01-22 14:09:29 +00:00
Hypolite Petovan ec6ff7380e
Merge pull request #13849 from annando/title
Import the image attribut "title"
2024-01-22 08:21:26 -05:00
Hypolite Petovan a0f7625c34
Merge pull request #13848 from annando/getbodystring
Changed leftover "getBody" to "getBodyString"
2024-01-22 08:20:37 -05:00
Michael 7e88b703d8 Import the image attribut "title" 2024-01-22 07:47:38 +00:00
Michael ad6976a407 Changed leftover "getBody" to "getBodyString" 2024-01-22 07:38:05 +00:00
Michael 39e1f2c0fc Code standards 2024-01-21 17:05:18 +00:00
Michael 5a33a494e8 Updated full text indexes 2024-01-21 16:39:28 +00:00
Michael 6389133575 Expiry post search index entries 2024-01-21 16:24:59 +00:00
Michael 919f97c9a0 Postupdate added 2024-01-17 21:10:33 +00:00
Michael e9f7ea0afa New search keyword "language" 2024-01-17 20:25:49 +00:00
Michael ee9a68e40c New table "post-searchindex" 2024-01-17 19:46:22 +00:00
Michael Vogel 75b37fe376
Merge pull request #13834 from MrPetovan/task/remove-delete-rotator
[frio] Move item deletion rotator to button
2024-01-17 18:00:31 +01:00
Hypolite Petovan 3a2461322d
Merge pull request #13836 from Quix0r/fixes/configurable-file-size
Make hard-coded max response configurable
2024-01-16 22:35:08 -05:00
Roland Häder 550b4ce420
Added note 2024-01-17 01:51:13 +01:00
Hypolite Petovan 28a7884ad9
Merge pull request #13806 from annando/channel-relay
New user account type "Channel Relay"
2024-01-16 19:49:59 -05:00
Roland Häder a7bdcc1216
Better description (@MrPetovan) 2024-01-17 01:11:59 +01:00
Roland Häder 7d3723592b
Renamed 'http_client' -> 'performance' 2024-01-16 20:32:53 +01:00
Roland Häder 075915e3b7
Continued:
- moved to new configuration category 'http_client' (thanks to @MrPetovan)
2024-01-16 20:13:53 +01:00
Roland Häder 931c73d3c1
Continued:
- added max_response_data_size to default configuration with hard-coded value
  from code
2024-01-16 20:04:23 +01:00
Roland Häder 3263a0b98e
Make hard-coded max response configurable:
- see discussion started by @schmaker@schmaker.eu at https://schmaker.eu/display/c83e3896-1265-a3d6-0ab5-a78119129626
- this allows servers with lower RAM amount to still run without OOMs (or much lesser)
2024-01-16 19:52:06 +01:00
Michael 586a221eb9 Merge branch 'channel-relay' of https://github.com/annando/friendica into channel-relay 2024-01-15 22:28:46 +00:00
Michael 63b958dcc6 Centralized functionality to store and delete the check-full-text-search table 2024-01-15 22:28:42 +00:00
Michael 976ec30417 Merge branch 'channel-relay' of https://github.com/annando/friendica into channel-relay 2024-01-15 19:53:07 +00:00
Michael 0c8c03153b Merge remote-tracking branch 'upstream/develop' into channel-relay 2024-01-15 19:51:20 +00:00
Michael 23b247d1c3 Merge remote-tracking branch 'upstream/develop' into channel-relay 2024-01-15 19:41:26 +00:00
Hypolite Petovan dd534919d7
Merge pull request #13831 from friendica/warning
Fix warning concerning a missing "created" field
2024-01-15 14:17:06 -05:00
Hypolite Petovan 8fc51cf63e
Merge pull request #13835 from annando/no-any-value
"ANY_VALUE" is removed
2024-01-15 14:16:12 -05:00
Michael f6335590c5 Improve query 2024-01-15 17:00:32 +00:00
Michael a60910be69 Updated messages.po 2024-01-15 16:53:24 +00:00
Michael f83f61f7ac "ANY_VALUE" is removed 2024-01-15 16:45:24 +00:00
Hypolite Petovan 0b93270d7b [frio] Move item deletion rotator to button 2024-01-15 10:22:37 -05:00
Hypolite Petovan 886e231091 Exclude Apple keyboard Meta key from the Pause shortcut 2024-01-15 09:55:46 -05:00
Hypolite Petovan 4c402f6af4
Merge pull request #13824 from toddy15/php-cs-fixer
Update and install PHP-CS-Fixer
2024-01-15 07:53:39 -05:00
Hypolite Petovan a0dec23f2d
Merge pull request #13832 from mexon/console-set-password
Update use of PasswordExposed API
2024-01-15 07:43:23 -05:00
Dr. Tobias Quathamer 591f54f64d Add license header to php-cs-fixer configuration file 2024-01-15 13:31:29 +01:00
Dr. Tobias Quathamer 5a89cecc5e Regenerate composer.lock 2024-01-15 13:24:46 +01:00
Dr. Tobias Quathamer 540b2b74cc Do not reformat addon directory 2024-01-15 13:24:46 +01:00
Dr. Tobias Quathamer d19181016f Update .gitignore for new php-cs-fixer filename 2024-01-15 13:24:46 +01:00
Dr. Tobias Quathamer 13d1576dad Remove unneeded requirement of autoload file 2024-01-15 12:05:51 +01:00
Dr. Tobias Quathamer 6cea1c3472 Copy php-cs-fixer configuration file to currently expected name 2024-01-15 12:05:38 +01:00
Dr. Tobias Quathamer 893c2e4fd3 Add new script commands for php-cs-fixer 2024-01-15 12:04:30 +01:00
Dr. Tobias Quathamer 9daf83ce9b Add friendsofphp/php-cs-fixer to development packages 2024-01-15 11:59:17 +01:00
Michael 9075d7f37d Constant for undeterminded language 2024-01-15 06:20:49 +00:00
Michael 7a13d8b8ac Merge remote-tracking branch 'upstream/develop' into channel-relay 2024-01-15 06:14:55 +00:00
Hypolite Petovan 60b81bb6ca
Merge pull request #13833 from mexon/create-user-photo
Allow setting user avatar in the console at creation
2024-01-15 01:09:01 -05:00
Hypolite Petovan faa1cbeaf6
Merge pull request #13827 from annando/ocr
Use OCR to fetch text in images
2024-01-15 01:06:50 -05:00
Michael a12fbf7ff3 Move to addon 2024-01-14 19:18:41 +00:00
Michael a2f4b4cd3d Composer 2024-01-14 18:40:32 +00:00
Michael 7150faa09c Composer 2024-01-14 18:38:22 +00:00
Michael 5acfff1152 Merge remote-tracking branch 'upstream/develop' into ocr 2024-01-14 18:33:02 +00:00
Matthew Exon 921bf15419 Update use of PasswordExposed API 2024-01-14 18:40:40 +01:00
Matthew Exon 36c37e0c62 Allow setting user avatar in the console at creation 2024-01-14 16:19:20 +01:00
Michael 3b1d636322 Merge remote-tracking branch 'upstream/develop' into warning 2024-01-14 12:13:10 +00:00
Michael d4c16b8704 Fix warning concerning a missing "created" field 2024-01-14 11:58:06 +00:00
Michael Vogel 02123bda98
Issue 13828: Use the alias as profile link if present (#13829)
* Issue 13828: Use the alias as profile link if present

* Updated messages.po
2024-01-14 10:08:00 +01:00
Michael Vogel 5dc49352e8
Merge pull request #13826 from MrPetovan/bug/deprecated
[Composer] Bump guzzlehttp/guzzle to version 7 to suppress deprecation notices
2024-01-13 21:38:22 +01:00
Michael 1fc1e478f8 Improved config description 2024-01-13 19:37:24 +00:00
Michael 3a60229e5c Use OCR to fetch text in images 2024-01-13 19:30:20 +00:00
Michael 98de6ad464 Fix regexp for search text generation 2024-01-13 19:20:45 +00:00
Michael 1eeef896fe Link preview text and description added to search text. 2024-01-13 15:46:37 +00:00
Hypolite Petovan e8c256bcff [Composer] Bump guzzlehttp/guzzle to version 7 to suppress deprecation notices
- Bump divineomega/password_exposed to version 3 to remove dependency on Guzzle version 6
- Add new ICanHandleHttpResponses->getBodyString method to solve inheritance mismatch with GuzzleHttp\Psr7\ResponseInterface->getBody return type
2024-01-12 08:42:46 -05:00
Michael a30b9e6927 Improved handling of empty default languages 2024-01-12 09:58:16 +00:00
Hypolite Petovan 728130908e
Merge pull request #13825 from toddy15/undefined-array-key
Fix Undefined array key.
2024-01-12 00:19:48 -05:00
Dr. Tobias Quathamer 5cd5fa8403 Fix Undefined array key.
- Address https://github.com/friendica/friendica/issues/13761#issuecomment-1878806230
2024-01-11 23:38:29 +01:00
Michael 62975b0ef2 Simplify SQL check 2024-01-11 20:40:24 +00:00
Michael cc0b16c0ae Fix a problem with MySQL 2024-01-11 07:01:48 +00:00
Michael 43d5409937 Property added 2024-01-11 06:49:15 +00:00
Michael ad15b7b256 Fix warning: E_WARNING: Undefined array key "publish" 2024-01-10 22:04:02 +00:00
Michael 61555657c3 Code clean up 2024-01-10 21:51:34 +00:00
Michael dfce85a09f Improved performance with full text search 2024-01-10 21:17:21 +00:00
Michael b48467c3f8 Validate full search text 2024-01-10 20:17:44 +00:00
Michael Vogel b515292b1c
Merge pull request #13820 from haheute/remove-01
remove a superfluous '01' that appeared next to checkboxes from templ…
2024-01-10 18:09:33 +01:00
Hannes Heute 60e1427ffe remove a superfluous '01' that appeared next to checkboxes from template file 2024-01-10 17:41:53 +01:00
Michael b2dd95affa Language check added 2024-01-10 10:55:18 +00:00
Michael a04dc06aab Handle reshares / improved code 2024-01-09 22:55:47 +00:00
Michael 0b84e0d056 Compare with lowered tags 2024-01-09 06:40:07 +00:00
Hypolite Petovan 83c187e3ac
Merge pull request #13807 from toddy15/develop
Clean up smarty templates.
2024-01-08 10:12:07 -05:00
Michael 7a680dd9b7 Take language from quoted post 2024-01-08 06:48:49 +00:00
Michael 5dedf5e500 Execute the language detection all the time 2024-01-08 06:23:28 +00:00
Michael 43fa22470c Fix warning, when the language is invalid 2024-01-07 23:10:28 +00:00
Dr. Tobias Quathamer 6fd057fd00 Use double quotes where possible 2024-01-07 21:48:22 +01:00
Dr. Tobias Quathamer e6036b8266 Clean up smarty templates.
This simplifies some logic in if-conditions, because
smarty just returns an empty string for undefined
variables.

Also, this commit removes unnecessary values from
HTML input attributes.
2024-01-07 21:40:01 +01:00
Michael 7e8aee61ba Updated messages.po 2024-01-07 19:57:53 +00:00
Michael d2a74d1936 New option to disallow 2024-01-07 19:22:56 +00:00
Michael c4b85ef25a New field "publish" for channels 2024-01-07 18:36:47 +00:00
Michael 08738e6551 Improved handling of undetected languages 2024-01-07 12:45:08 +00:00
Michael da02df20c3 Simplified language check 2024-01-07 12:09:13 +00:00
Michael 6e830f7774 Improved handling for undeterminded languages 2024-01-07 10:11:52 +00:00
Hypolite Petovan bbd3e75399
Merge pull request #13808 from mexon/allow-ipv6-failure
allow hosts to be validated even if ipv6 fails
2024-01-06 21:03:52 -05:00
Michael 6cd0e1e35f Use owner instead of author 2024-01-07 01:08:59 +00:00
Matthew Exon 1550ce2764 allow hosts to be validated even if ipv6 fails 2024-01-06 23:56:11 +01:00
Michael 4aedf7f650 Improved code / updated messages.po 2024-01-06 22:04:30 +00:00
Michael aba4a482f0 Limited settings for the relay account type 2024-01-06 21:52:28 +00:00
Michael 811a9f01bc New user account type "Channel Relay" 2024-01-06 17:27:42 +00:00
Hypolite Petovan 2b8126b780
Merge pull request #13805 from toddy15/develop
Enable HTML attributes in all form fields.
2024-01-06 11:13:54 -05:00
Dr. Tobias Quathamer 26f4532d47 Enable HTML attributes in all form fields.
Closes #13804
2024-01-06 16:28:48 +01:00
Hypolite Petovan 16b12e1545
Merge pull request #13800 from annando/channel-languages
User defined channels can now have got individual language definitions
2024-01-03 18:48:51 -05:00
Michael 4e1263c1f8 Fixed indentation 2024-01-03 19:22:53 +00:00
Michael 93dd1b5973 Updated messages.po / database.sql 2024-01-03 19:20:56 +00:00
Michael 31b88da9d5 Merge remote-tracking branch 'upstream/develop' into channel-languages 2024-01-03 19:17:58 +00:00
Michael da3d390187 User defined channels can now have got individual language definitions 2024-01-03 19:17:14 +00:00
Hypolite Petovan 67a9f6269e
Merge pull request #13799 from foss-/patch-12
Update README.md: fixing links for mobile screenshots
2024-01-03 10:13:05 -05:00
foss- bc67be2b91
Update README.md: fixing links for mobile screenshots 2024-01-03 16:08:18 +01:00
Hypolite Petovan 4132e7a468
Merge pull request #13798 from annando/unkmail2
The "unkmail" functionality is removed
2024-01-03 10:02:31 -05:00
Hypolite Petovan 25fecc1945
Merge pull request #13785 from foss-/patch-11
Update README.md
2024-01-03 09:59:01 -05:00
Hypolite Petovan a077418af0 Fix formatting and wording in README 2024-01-03 09:58:20 -05:00
Hypolite Petovan 2e81803a52 Fix absolute image paths in README 2024-01-03 09:56:11 -05:00
Hypolite Petovan fe39ead790 Update README screenshot 2024-01-03 09:55:51 -05:00
Michael Vogel d385296e0d
Merge pull request #13797 from tobiasd/20240103-lang
DE, FR, RO translation updates
2024-01-03 11:44:49 +01:00
Michael 7ecf143e4c The "unkmail" functionality is removed 2024-01-03 10:23:11 +00:00
Tobias Diekershoff ffad9c523b DE, FR, RO translation updates 2024-01-03 10:39:42 +01:00
Hypolite Petovan 21b16ef822
Merge pull request #13795 from annando/copyright
Friendica copyright changed from 2023 to 2034
2024-01-02 21:28:02 -05:00
Hypolite Petovan 80103bef38
Merge pull request #13794 from annando/simplified-group-display
There is now a single way to display group postings
2024-01-02 21:27:31 -05:00
Hypolite Petovan 6c023f832b
Merge pull request #13796 from annando/discoverable
Don't set a profile to "discoverable" for restricted hosts
2024-01-02 21:25:17 -05:00
Michael 73df36ca72 Don't set a profile to "discoverable" for restricted hosts 2024-01-03 00:55:21 +00:00
Michael 523247f0fe Updated messages.po 2024-01-02 20:59:23 +00:00
Michael 89e7420237 Friendica copyright changed from 2023 to 2034 2024-01-02 20:57:26 +00:00
Michael 16d0d17169 There is now a single way to display group postings 2024-01-02 20:45:02 +00:00
Michael Vogel 9592292dba
Improved server detection / new servers added to federation statistics (#13793)
* Improved server detection / new servers added to federation statistics

* Fix wrong color code
2024-01-02 20:12:37 +01:00
Michael Vogel bf80001c80
Fixed detection for empty server data in apcontact (#13791) 2024-01-02 14:56:08 +01:00
hoergen 4e7f0f9f04
added jit and preload explanation in comment
added information to identify which parameter causes which result
2024-01-01 18:01:22 +01:00
foss- 85eb09806f
Update README.md
- updated main screenshot (changed post action icons, text no longer shown)
- fixed path for mobile screenshots
- removed vier screenshot (it as not seen any development for ages, is not the default and thus not representative or needed for a first impression)
- tweaked humane tech mention text
2023-12-31 14:51:14 +01:00
Michael Vogel 8fc96477e7
Use the post-counts table to display content (#13781)
* Use the post-counts table to display content

* Use verb instead of vid

* Use verb

* Update counter on delete
2023-12-31 12:50:07 +01:00
Michael Vogel 0c68a53e1e
Remove 'blocklist' pconfig functionality (#13780)
* Cache blocklist

* Remove 'blocklist' pconfig functionality

* The blocklist variable isn't used anymore
2023-12-30 00:51:41 +01:00
Michael Vogel ad1389b20a
Transmitting events to Diaspora does work again (#13777) 2023-12-30 00:43:14 +01:00
Michael Vogel 1564c297bb
Cache blocklist (#13779) 2023-12-30 00:27:57 +01:00
Hypolite Petovan 5b516b1dbb
Merge pull request #13778 from annando/post-counts
New table "post-counts" to precalculate the counts
2023-12-28 13:13:44 -05:00
Michael e88cd16644 Code standards 2023-12-28 17:50:11 +00:00
Michael 40a1263066 New table "post-counts" to precalculate the counts 2023-12-28 17:42:39 +00:00
Hypolite Petovan 2588ac1a16
Merge pull request #13774 from annando/no-blubb
Unneeded logging removed
2023-12-28 12:06:09 -05:00
Hypolite Petovan 8d4a16a71c
Merge pull request #13773 from annando/user-self
"User::" is changed to "self::"
2023-12-28 12:05:31 -05:00
Michael ba760bb340 Unneeded logging removed 2023-12-28 10:25:22 +00:00
Michael 86a27b51ad "User::" is changed to "self::" 2023-12-28 10:23:01 +00:00
Hypolite Petovan ac1ebac112
Merge pull request #13771 from Raroun/fix_for_issue_#13710_frio]_Long_handles_prevent_a_clean_display_of_common_contacts
Fix for issue #13710 - [frio] long handles prevent a clean display of common contacts
2023-12-26 19:17:15 -05:00
Hypolite Petovan f4fddb2921
Merge pull request #13770 from annando/restrict-for-ignored
Restrict the access for servers that the user ignored
2023-12-26 19:11:34 -05:00
Raroun b26a5ce0fa
Update style.css
Added missing space
2023-12-26 19:41:37 +01:00
Raroun 6c1df6471a
Update style.css
Added missing spaces
2023-12-26 19:40:44 +01:00
Raroun 53c7da87a6
removed unnecessary empty line 2023-12-26 16:53:34 +01:00
Raroun a609e545b6
Update remote_friends_common.tpl
Addes collapsable remote friends in common for frio and vier
2023-12-26 16:43:23 +01:00
Raroun 4e3302ea0d
Update style.css
Addes remote friends in common wrapper
2023-12-26 16:42:07 +01:00
Raroun 4faa43766d
Added collapsable support for remote friends in common in vier theme 2023-12-26 16:39:08 +01:00
Raroun bfc11495f3
Update style.css
Adjusted the BGcolor as suggested by Annando
2023-12-26 14:13:02 +01:00
Raroun 46d34c53e6
Update style.css - removed unnecessary empty line 2023-12-26 10:04:24 +01:00
Raroun 2bb5785dfa
Update style.css
addes missing empty lines
2023-12-26 09:53:12 +01:00
Raroun cc5711b2df
Update remote_friends_common.tpl
moved rfic-desc to top, tested on vier, frio and both mobile views
2023-12-26 09:48:57 +01:00
Raroun 243bcba726
Update style.css to display remote friends in common in a css grid 2023-12-26 09:46:33 +01:00
Michael cb816bde66 Restrict the access for servers that the user ignored 2023-12-26 08:32:17 +00:00
Hypolite Petovan 04cdd3e8ec
Fix Smarty reference to version constant after it was moved to App class (#13769) 2023-12-25 19:26:19 +01:00
Michael Vogel f23ecaff6a
Posts per author/server on the community pages (#13764)
* Posts per author/server on the community pages

* Updated database.sql
2023-12-25 12:39:15 +01:00
Tobias Diekershoff f9c484c642 updated changelog 2023-12-24 18:05:59 +01:00
Tobias Diekershoff d2feade9cf new CHANGELOG for 2024.03 2023-12-24 16:15:01 +01:00
Tobias Diekershoff 9b62ba6dfe bump version 2024.03-dev 2023-12-24 15:57:10 +01:00
Tobias Diekershoff d4a5a8051a bump version 2023.12 2023-12-24 15:52:17 +01:00
Tobias Diekershoff b6e52849ca
CHANGELOG for 2023.12 (#13746)
* CHANGELOG for 2023.12

* move items to correct release

* removed note

* addedn changes in the addons

* updates to the CHANGELOG

* update closed issue listing

* updated CHANGELOG

* updated CHANGELOG
2023-12-24 15:42:16 +01:00
Tobias Diekershoff 6a9cea4e78
Merge pull request #13759 from tobiasd/2023.12-credits
updated the credits
2023-12-24 12:09:46 +01:00
Tobias Diekershoff 1d5eda8d25 updated the credits 2023-12-24 12:06:06 +01:00
Hypolite Petovan 1f9536694c
Merge pull request #13754 from xundeenergie/quote-button
Change reshare to quote icon for quote-button
2023-12-23 11:39:05 -05:00
Michael Vogel 6bad4754e2
Merge pull request #13758 from Raroun/frio_More_space_between_photo_permissions_and_send_button
[frio] More space between photo permissions and send button
2023-12-23 06:48:33 +01:00
Raroun 9d4a515571
Update style.css
Added 15 pixels of space between picture permissions and send button
2023-12-23 05:39:51 +01:00
Hypolite Petovan 82ab0c8504
Merge pull request #13757 from annando/warning
Fix warning
2023-12-22 20:30:36 -05:00
Michael 5b169c908b Fix warning 2023-12-22 23:51:30 +00:00
Hypolite Petovan 2d73a4bc58
Merge pull request #13756 from annando/limited-servers
Fix for profile limitation / configurable list of limited servers
2023-12-22 12:25:57 -05:00
Michael e38a699324 Fix for profile limitation / configurable list of limited servers 2023-12-22 17:16:10 +00:00
Jakobus Schürz 0426dacfad Change reshare to quote icon for quote-button
It is confusing that in desktop-view the quote-button has a forward-icon
and in smartphone-view the forward-icon opens a menu with reshare and
quote-option.

I always clicked wrong in desktop in case of this confusing solution.

So i changed the icon for the quote-share option to quotation-marks in
desktop- and smartphone-view.
The forward-icon for the menu is unchanged.
2023-12-22 08:39:42 +01:00
Hypolite Petovan a0f6f2e73e
Merge pull request #13752 from annando/capabilities
Store Pixelfed's capabilities
2023-12-21 11:20:36 -05:00
Hypolite Petovan bb2eda5c28
Merge pull request #13753 from Raroun/fix_for_Issue_#13748_frio]_Increase_spacing_between_icon_and_text_in_More_menu
[frio] fix for Issue #13748
2023-12-21 07:46:41 -05:00
Michael d1a28b4c20 Merge remote-tracking branch 'upstream/2023.09-rc' into capabilities 2023-12-21 10:41:58 +00:00
Michael b4a380e9de Handle "commentsEnabled" 2023-12-21 10:26:34 +00:00
Raroun d7c757d63e
Update wall_thread.tpl
Addes a bit more space between the icons and the text in the more menu on dektop and mobile
2023-12-21 08:06:59 +01:00
Michael 1b13c76d2e Simplyfied code 2023-12-21 05:01:24 +00:00
Hypolite Petovan 1cc76937d7
Merge pull request #13751 from annando/fix-capitalisation
Fix class name capitalisation
2023-12-20 19:48:06 -05:00
Michael da65f0bea7 Store Pixelfed's capabilities 2023-12-21 00:33:42 +00:00
Michael a86cd93fb8 Fix class name capitalisation 2023-12-20 19:55:34 +00:00
Michael Vogel e15e17732d
Merge pull request #13749 from MrPetovan/bug/fatal-errors
Also catch TypeError exceptions in Repository\PostMedia
2023-12-20 19:09:08 +01:00
Hypolite Petovan 9024fc1226 Also catch TypeError exceptions in Repository\PostMedia
- Address "Uncaught Exception TypeError: "Friendica\Content\Post\Entity\PostMedia::__construct(): Argument #2 ($url) must be of type Psr\Http\Message\UriInterface, null given"
2023-12-20 09:50:49 -05:00
Hypolite Petovan 8fbcdd371e
Merge pull request #13742 from annando/edit-tags
Fix lost local tags upon update
2023-12-20 08:38:08 -05:00
Michael fbcfa46beb Fix lost local tags upon update 2023-12-19 15:28:20 +00:00
Michael Vogel 6f1fcc9357
Merge pull request #13739 from MrPetovan/task/composer
Update Composer dependencies ahead of release
2023-12-19 07:57:41 +01:00
Hypolite Petovan 1f1cad322c Update Composer dependencies ahead of release
- Updating ezyang/htmlpurifier (v4.16.0 => v4.17.0)
- Updating mobiledetect/mobiledetectlib (2.8.41 => 3.74.3)
- Updating patrickschur/language-detection (v5.1.0 => v5.3.0)
- Updating phpseclib/phpseclib (3.0.19 => 3.0.34)
- Updating psr/container (1.1.1 => 2.0.2)
- Updating smarty/smarty (v4.3.1 => v4.3.4)
- Updating bower-asset/base64 (1.2.0 => 1.3.0)
- Updating mockery/mockery (1.5.1 => 1.6.7)
- Updating sebastian/global-state (5.0.5 => 5.0.6)
- Updating sebastian/diff (4.0.4 => 4.0.5)
- Updating theseer/tokenizer (1.2.1 => 1.2.2)
- Updating nikic/php-parser (v4.15.4 => v4.18.0)
- Updating phpunit/php-code-coverage (9.2.26 => 9.2.29)
- Updating phpunit/phpunit (9.6.7 => 9.6.15)
- Updating dasprid/enum (1.0.4 => 1.0.5)
- Updating guzzlehttp/promises (1.5.2 => 1.5.3)
- Updating symfony/polyfill-php72 (v1.27.0 => v1.28.0)
- Updating symfony/polyfill-intl-normalizer (v1.27.0 => v1.28.0)
- Updating symfony/polyfill-intl-idn (v1.27.0 => v1.28.0)
- Updating paragonie/sodium_compat (v1.19.0 => v1.20.0)
- Updating psr/http-client (1.0.2 => 1.0.3)
- Updating composer/ca-bundle (1.3.5 => 1.4.0)
2023-12-18 21:02:06 -05:00
Hypolite Petovan 769b73e8a3 Bump minimum version to run Friendica to PHP 7.4
- Update version filter of mobiledetect/mobiledetectlib and psr/container to PHP 7.4 versions
- Remove PHP 7.3 PHPUnit instance
- Remove PHP 7.2 specific PDO exception in tests
2023-12-18 21:02:02 -05:00
Hypolite Petovan 3cfe7d61fc
Merge pull request #13734 from Raroun/Fix-for-Issue-#13403
Fix for issue #13403 [Frio] Optical assignment of a contact to a circle not/hardly distinguishable
2023-12-17 21:17:50 -05:00
Hypolite Petovan 47b0302811
Merge pull request #13732 from annando/issue-13731
Issue 13731: Fix error concerning invalid user
2023-12-17 21:16:28 -05:00
Hypolite Petovan 02dded6caa
Merge pull request #13730 from Raroun/Fix_for_Issue_#13720
Fix for issue #13720 - [frio] Compose-box initially way too small by default
2023-12-17 21:14:04 -05:00
Hypolite Petovan 02a76cfcfd
Merge pull request #13729 from annando/frio-channel
Frio: Improved user defined channel page
2023-12-17 21:12:37 -05:00
Hypolite Petovan cbe6e1dbb3
Merge pull request #13728 from annando/issue-13560
Issue 13560: new indexes to improve circle loading time
2023-12-17 21:03:14 -05:00
Raroun c1b649af94
Update style.css
Reduced the icon size from 20 pixels to 15 pixels
i like that the button is on the same heigth as the username, but 20 pixels is just too much there.
2023-12-17 11:34:16 +01:00
Raroun 571339f530
Update entry.tpl
added missing "contact-circle-link" css class
2023-12-17 11:03:41 +01:00
Michael 7c7ebd9b86 Issue 13731: Fix error concerning invalid user 2023-12-17 09:56:00 +00:00
Raroun 7eb5a0775c
Update entry.tpl
Addes missing "contact-circle-actions" css class
2023-12-17 10:33:21 +01:00
Raroun d9c9ab6cee
Update jot.tpl
Increased rows from 2 to 8 which still fits mobile screens
2023-12-17 08:03:19 +01:00
Raroun 7c56cb3132
Update comment_item.tpl
Increased rows from 3 to 8 which still fits mobile screens
2023-12-17 08:02:33 +01:00
Michael 8de58aa39d open channel settings when empty 2023-12-17 06:41:19 +00:00
Michael 0a0d2c98e8 Channel definition now stays open after edit 2023-12-17 06:16:26 +00:00
Michael 62386e4c9e Frio: Improved user defined channel page 2023-12-16 21:43:01 +00:00
Michael b88c557c6b Issue 13560: new indexes to improve circle loading time 2023-12-16 18:28:33 +00:00
Hypolite Petovan 0ec7991a20
Merge pull request #13727 from annando/threads-logo
Use the Instagram logo for the Threads server
2023-12-16 09:18:34 -05:00
Michael 7e6cdaf025 Use the Instagram logo for the Threads server 2023-12-16 12:56:44 +00:00
Michael Vogel ed2f4fdcc2
Merge pull request #13726 from tobiasd/20231216-lng
translation updates
2023-12-16 12:01:46 +01:00
Tobias Diekershoff d47335ccad translation updates 2023-12-16 08:20:16 +01:00
Hypolite Petovan d275760596
Merge pull request #13724 from Raroun/Fix-for-Issue-#13637---Photo-caption-prevents-photo-selection-in-the-file-browser
Fix for Issue  #13637 - Photo caption prevents photo selection in the file browser
2023-12-15 11:46:18 -05:00
Hypolite Petovan 08eaedede1
Merge pull request #13723 from annando/threads2
Allow longer avatar URLs / the system outbox is now handled
2023-12-15 11:29:10 -05:00
Michael 303c9fb23f Added server detection for "threads" 2023-12-15 11:19:11 +00:00
Raroun fb362f91ac
Update style.css 2023-12-15 11:39:57 +01:00
Michael 0a4f0d616a Allow longer avatar URLs / the system outbox is now handled 2023-12-15 10:39:41 +00:00
Hypolite Petovan 33102a76da
Merge pull request #13721 from annando/issue-13719
Threads: Profiles can now be fetched
2023-12-14 21:35:21 -05:00
Michael 250ad8843d FThreads: Profiles can now be fetched 2023-12-14 22:59:55 +00:00
Hypolite Petovan c2e4c0e1fa
Merge pull request #13717 from annando/contacts-posts
Fix uddate issues and improve speed when displaying contact posts
2023-12-14 11:48:31 -05:00
Michael 1cd729531d Sorting changed to "created" 2023-12-14 06:18:17 +00:00
Michael eae1affb21 Index added 2023-12-14 05:36:31 +00:00
Michael f81192b4c3 Fix uddate issues and improve speed when displaying contact posts 2023-12-14 04:58:43 +00:00
Hypolite Petovan 747a15f0e0
Merge pull request #13712 from annando/tag-language
Only use posts with wanted languages for subscribed tags
2023-12-11 17:55:54 -05:00
Michael 14266a1ca4 Only use posts with wanted languages for subscribed tags 2023-12-11 22:07:01 +00:00
Hypolite Petovan 541208a6bd
Merge pull request #13711 from annando/update-item
Frio: perform item update after activity
2023-12-11 08:26:47 -05:00
Michael 113d72f59f Frio: perform item update after activity 2023-12-11 04:26:24 +00:00
Michael Vogel b561f6ffd3
Merge pull request #13708 from MrPetovan/bug/deprecated
Fix a couple deprecation notices
2023-12-10 20:17:53 +01:00
Michael Vogel 2643ca11e6
Merge pull request #13709 from friendica/MrPetovan-patch-1
Add support for string in $nodeinfo['protocols']
2023-12-10 19:59:38 +01:00
Hypolite Petovan 35e3e912df Add support for string in $nodeinfo['protocols']
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1848404671
2023-12-09 21:36:57 -05:00
Hypolite Petovan 0b95f39c22 Allow count to be a float in L10n->tt()
- Address part of https://github.com/friendica/friendica/issues/13699#issuecomment-1848363608
2023-12-09 07:42:15 -05:00
Hypolite Petovan 67f57a7f90 Avoid passing null value to number_format() in Module\Admin\Federation
- Address part of https://github.com/friendica/friendica/issues/13699#issuecomment-1848363608
2023-12-09 07:32:24 -05:00
Michael Vogel dc9658f532
Merge pull request #13704 from MrPetovan/bug/13693-infinite-indentation-level
[frio] Limit thread indentation level to 7 (at thread level 9)
2023-12-09 07:11:35 +01:00
Michael Vogel b1e6a53692
Merge pull request #13706 from MrPetovan/bug/fatal-errors
Don't assume $_SESSION is set in Session\Type\AbstractSession
2023-12-09 07:10:39 +01:00
Hypolite Petovan 9743d2f40c [frio] Limit thread indentation level to 7 (at thread level 9) 2023-12-08 20:55:19 -05:00
Hypolite Petovan 7d69d1b402 Don't assume $_SESSION is set in Session\Type\AbstractSession
- Address https://github.com/friendica/friendica/issues/13699#issuecomment-1845584812
2023-12-08 20:54:07 -05:00
Michael Vogel 708d3892a7
Merge pull request #13703 from MrPetovan/bug/deprecated
Add ReturnTypeWillChange attribute to methods in Session\Handler\Cache
2023-12-07 14:02:09 +01:00
Hypolite Petovan b16e8fdb58 Add ReturnTypeWillChange attribute to methods in Session\Handler\Cache
- Addess deprecated messages reported in https://github.com/friendica/friendica/issues/13699#issue-2028442214
2023-12-07 07:23:17 -05:00
Hypolite Petovan dc7cdc3252
Merge pull request #13702 from annando/null-in-polls
Fix for exception when there are "null" replies
2023-12-07 07:11:46 -05:00
Hypolite Petovan e22e58f5b8
Merge pull request #13701 from annando/diaspora-events
Fix transmission of events to Diaspora
2023-12-07 07:08:46 -05:00
Michael a120debac6 Fix for exception when there are "null" replies 2023-12-07 09:59:39 +00:00
Michael 1301730ed8 Remove comment 2023-12-07 06:52:03 +00:00
Michael 4f37f68bd7 Fix transmission of events to Diaspora 2023-12-07 06:45:23 +00:00
Hypolite Petovan 0d6974a6d2
Merge pull request #13700 from annando/cron-interval
The value of "cron interval" wasn't displayed correctly
2023-12-06 17:14:44 -05:00
Michael 5a844cd31e The value of "cron interval" wasn't displayed correctly 2023-12-06 21:19:38 +00:00
Hypolite Petovan e0686ac1d9
Merge pull request #13696 from annando/invalid-uri
Fix exception, when a provided URI is invalid
2023-12-06 12:46:12 -05:00
Michael 914d4506e2 Exception handling added 2023-12-05 22:33:45 +00:00
Michael 0df88fd5a0 Merge remote-tracking branch 'upstream/2023.09-rc' into invalid-uri 2023-12-05 22:30:04 +00:00
Hypolite Petovan 085fb95ce3
Merge pull request #13697 from annando/check-daemon
Check if the daemon pid file can be written
2023-12-05 16:57:42 -05:00
Michael Vogel f430e06f80
Update bin/daemon.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-12-05 22:45:16 +01:00
Michael 8827d4c142 Check if the daemon pid file can be written 2023-12-05 21:18:44 +00:00
Michael 9b73189e1d Renamed function name 2023-12-05 19:55:27 +00:00
Michael 0aa49510b2 Changed uri 2023-12-05 07:44:01 +00:00
Michael 691e0dd44a Added another test case 2023-12-05 07:36:13 +00:00
Michael 8e91db7fb1 Fix test again 2023-12-05 06:02:38 +00:00
Michael 2e0c550ee7 Fixed test 2023-12-05 05:57:38 +00:00
Michael be2e715eb1 Added test 2023-12-05 05:51:39 +00:00
Michael 7b1b3fe8cf Fix exception, when a provided URI is invalid 2023-12-05 05:24:33 +00:00
Hypolite Petovan 49819b64db
Merge pull request #13695 from annando/improved-site-descriptions
Some site configuration descriptions are improved
2023-12-04 17:27:10 -05:00
Michael 5e27b5790c Some site configuration descriptions are improved 2023-12-04 22:19:57 +00:00
Tobias Diekershoff be64528b4f
Merge pull request #13694 from annando/configs
Default values are now at their correct places
2023-12-04 08:17:47 +01:00
Michael 8db7343dda Default values are now at their correct places 2023-12-04 06:33:17 +00:00
Hypolite Petovan ce06f7d783
Merge pull request #13690 from annando/channel-settings
The channel settings are now available on the site settings
2023-12-03 19:11:35 -05:00
Michael cb91800088 "worker_fetch_limit" is moved as well 2023-12-03 22:49:35 +00:00
Michael 8386768708 Merge remote-tracking branch 'upstream/2023.09-rc' into channel-settings 2023-12-03 14:41:58 +00:00
Michael Vogel 3b96690d0c
Merge pull request #13689 from MrPetovan/bug/warnings
Fix a few warning messages
2023-12-03 15:37:40 +01:00
Michael c4c3976c8c Updated messages.po 2023-12-03 14:31:09 +00:00
Michael 5cd85d9bb7 "items per page" is now in the site settings as well 2023-12-03 14:30:40 +00:00
Hypolite Petovan f2e90e91e0
Merge pull request #13691 from annando/always-enable-no-sharer
The option "community_no_sharer" is now always enabled
2023-12-03 09:14:43 -05:00
Hypolite Petovan 5971334ec7 Check for $profile emptiness before calling getReceiverForActor() in ActivityPub->getReceivers
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1837127082
2023-12-03 09:13:34 -05:00
Hypolite Petovan 6c7dee4bcd Check media_attributes keys before using them in Mastodon\Statuses
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1832575517
2023-12-03 09:13:34 -05:00
Michael a3bfaf6336 Updated messages.po 2023-12-03 13:55:11 +00:00
Michael e99c916df1 Some more settings moved to the admin frontend 2023-12-03 13:43:48 +00:00
Michael c09d794ed8 Merge remote-tracking branch 'upstream/2023.09-rc' into channel-settings 2023-12-03 11:22:26 +00:00
Michael Vogel 05ffc8b0d7
Merge pull request #13692 from nupplaphil/phpunit
Add "memory_limit" parameter to phpunit
2023-12-03 12:21:17 +01:00
Michael 7bf7744efb The "cron_interval" is now reachable via the admin site settings 2023-12-03 11:20:37 +00:00
Michael e87c79780a "min_poll_interval" moved as well 2023-12-03 11:08:21 +00:00
Philipp cfff24518e
Add "memory_limit" parameter to phpunit 2023-12-03 11:45:55 +01:00
Michael 6e523beec3 The option "community_no_sharer" is now always enabled 2023-12-03 10:26:58 +00:00
Michael f93192bc28 The channel settings are now available on the site settings 2023-12-03 09:45:13 +00:00
Hypolite Petovan e0fb149466
Merge pull request #13687 from annando/followers
Distribute incoming posts according to the parent followers collection
2023-12-02 03:42:55 -05:00
Michael 46bd4d71d0 Don't insert non public comments on not existing thread parents 2023-12-02 06:19:30 +00:00
Michael 32651f7811 Legacy code removed 2023-12-01 20:20:00 +00:00
Michael c666cebe60 Distribute incoming posts according to the parent followers collection 2023-12-01 09:55:48 +00:00
Hypolite Petovan f3e47bd899
Merge pull request #13684 from annando/post-distribution
Improved distribution of non public messages
2023-11-30 13:36:08 -05:00
Michael 09d72ffb16 Parameter is now optional 2023-11-30 17:58:28 +00:00
Michael 120b60c5ee Function is changed to "private" 2023-11-30 17:26:29 +00:00
Michael f5337904e4 Improved distribution of non public messages 2023-11-30 05:51:38 +00:00
Hypolite Petovan 9fb493bf18
Merge pull request #13677 from annando/site-settings
Several settings can now be reached via the site settings
2023-11-28 12:01:58 -05:00
Michael c6221872e2 Changes after review 2023-11-28 16:11:02 +00:00
Michael 752172ab54 Merge remote-tracking branch 'upstream/2023.09-rc' into site-settings 2023-11-28 16:08:22 +00:00
Hypolite Petovan d52d6a9e41
Merge pull request #13680 from annando/relation-queries
Improve performance on the contact relation queries
2023-11-28 10:55:28 -05:00
Hypolite Petovan 61035d5007
Merge pull request #13681 from annando/no-events-on-raw
Don't display additional content when the output mode is "raw"
2023-11-28 10:46:30 -05:00
Michael 405db86750 Don't display additional content when the output mode is "raw" 2023-11-28 15:21:20 +00:00
Michael b8b1b7bb84 Revert interlace stuff 2023-11-28 14:57:11 +00:00
Michael c56b915dee Hopefully fix "Interlace handling should be turned on when using png_read_image" 2023-11-28 13:50:09 +00:00
Michael 43fa4b457d Updated messages.po 2023-11-28 12:55:20 +00:00
Michael 1ca7118027 Improve performance on the contact relation queries 2023-11-28 10:00:11 +00:00
Michael 364a5e99db messages.po is updated again 2023-11-28 07:00:34 +00:00
Michael a4c36afcc2 Updated nessages.po 2023-11-28 01:17:13 +00:00
Michael 62f3598c25 Merge remote-tracking branch 'upstream/2023.09-rc' into site-settings 2023-11-28 01:12:40 +00:00
Michael Vogel bb97539a28
Merge pull request #13676 from MrPetovan/bug/13673-markers-json-output
Change return value to stdClass of Module\Api\Mastodon\Markers->fetchTimelines
2023-11-28 02:10:49 +01:00
Michael 46b1b66dbf Several settings can now be reached via the site settings 2023-11-28 00:57:51 +00:00
Hypolite Petovan cbe4b60a90 Change return value to stdClass of Module\Api\Mastodon\Markers->fetchTimelines
- This ensures the JSON serialization of timeline markers is an object even when no markers are set
2023-11-27 16:10:15 -05:00
Hypolite Petovan de807e6378
Merge pull request #13674 from annando/server-discovery
Improved control about the contact/server updates
2023-11-27 15:20:07 -05:00
Michael 67f727e3b3 Merge remote-tracking branch 'upstream/2023.09-rc' into server-discovery 2023-11-27 19:28:13 +00:00
Michael Vogel 8ff54c2eba
Merge pull request #13672 from MrPetovan/bug/deprecated
Address several deprecation notices
2023-11-27 20:22:47 +01:00
Michael 74990093fd Updated messages.po 2023-11-27 19:07:24 +00:00
Michael 077c9ff0c9 Improved control about the contact/server updates 2023-11-27 19:00:12 +00:00
Hypolite Petovan 3b3d0231bc Replace last occurrences of in_array used as a Smarty modifier
- Address https://github.com/friendica/friendica/issues/13158#issuecomment-1826266366
2023-11-27 12:07:18 -05:00
Hypolite Petovan fb19176201 Remove DI dependency in Object\Api\Mastodon\Instance
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1826792949
2023-11-26 09:48:46 -05:00
Hypolite Petovan 838c73cbba Skip empty name tags in ActivityPub\Processor::acceptIncomingMessage
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1826792949
2023-11-26 09:35:15 -05:00
Hypolite Petovan 332ab6641c Pass actual string character to ctype_space in Content\Smilies::performForEachWordMatch
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1826792949
2023-11-26 09:27:59 -05:00
Hypolite Petovan 3c35dbcb5f
Merge pull request #13671 from annando/issue-12504
Issue 12504: Additional logging for mail notifications
2023-11-25 18:20:15 -05:00
Michael f514c2caf0 Test remark removed 2023-11-25 23:19:27 +00:00
Michael 281dd91e6a Issue 12504: Additional logging for mail notifications 2023-11-25 22:53:56 +00:00
Hypolite Petovan 045085c92c
Merge pull request #13669 from gudzpoz/non-pic-emoji-regression
Fix substituting smilies and smilies containing whitespaces
2023-11-25 17:12:42 -05:00
Hypolite Petovan 56cfc57641
Merge pull request #13670 from annando/exceptions
Fix exceptions in the channel check
2023-11-25 16:59:21 -05:00
Michael 3f971f6dec Fix exceptions in the channel check 2023-11-25 16:17:26 +00:00
gudzpoz 37188c76b8 Fix substituting smilies and smilies containing whitespaces 2023-11-25 23:29:39 +08:00
Hypolite Petovan c649230982
Merge pull request #13668 from annando/issue-8542
Issue 8542: User option to display the event list/birthday notification
2023-11-25 10:26:34 -05:00
Hypolite Petovan 5c6ac25945
Merge pull request #13667 from annando/issue-12743
Issue 12743: Allow editing of media in posts
2023-11-25 10:19:42 -05:00
Michael 4a5014eab5 Function is renamed 2023-11-25 15:14:06 +00:00
Michael 4d7c5f5672 Fix tests 2023-11-25 15:03:42 +00:00
Michael b3d7dfb9a5 Issue 8542: User option to display the event list/birthday notification 2023-11-25 14:57:24 +00:00
Michael ca366e5437 Issue 12743: Allow editing of media in posts 2023-11-25 12:22:25 +00:00
Hypolite Petovan 5c3227ac4c
Merge pull request #13663 from annando/issue-13607
Issue 13607: Use privacy setting for "remote self"
2023-11-24 21:19:52 -05:00
Hypolite Petovan a569068fb0
Merge pull request #13666 from HankG/mastodon-api-account-search-fixes
Mastodon api account search fixes
2023-11-24 21:18:51 -05:00
Michael 27c8990aea Merge remote-tracking branch 'upstream/2023.09-rc' into issue-13607 2023-11-24 23:18:55 +00:00
Hank Grabowski f3f0859e0b Fix if not allowed blocked servers then server-blocked condition is false not true 2023-11-24 17:19:04 -05:00
Hank Grabowski 379c84b7ab Fix call order of Mastodon Top level search on accounts 2023-11-24 17:06:41 -05:00
Hypolite Petovan ce5aa016e1
Merge pull request #13664 from annando/issue-12530
Issue 12530: Align the instance endpoint to the latest changes
2023-11-24 09:56:52 -05:00
Michael 199ac64202 Issue 12530: Align the instance endpoint to the latest changes 2023-11-24 13:25:39 +00:00
Michael 4277b0c3aa Issue 13607: Use privacy setting for "remote self" 2023-11-24 08:35:49 +00:00
Hypolite Petovan 02afde3eec
Merge pull request #13661 from annando/warning
Fix warning: Undefined array key "mime"
2023-11-22 22:00:56 -05:00
Michael 0279b3dee9 Fix warning: Undefined array key "mime" 2023-11-22 19:16:09 +00:00
Hypolite Petovan 6fa7b45294
Merge pull request #13660 from annando/issue-13627-a
Issue 13627: DMs now work bidirectional again
2023-11-22 09:36:27 -05:00
Michael c07ce083d1 Additional check for direct messages 2023-11-22 14:20:51 +00:00
Michael 08d06064ce Issue 13627: DMs now work bidirectional again 2023-11-22 11:07:18 +00:00
Hypolite Petovan 2b8a71231e
Merge pull request #13659 from annando/network-channel
Channels can now be based on the "network" feed as well
2023-11-21 20:16:00 -05:00
Michael ffbab95c20 Channels can now be based on the "network" feed as well 2023-11-21 23:13:26 +00:00
Hypolite Petovan 5479618f1c
Merge pull request #13658 from annando/issue-13627
Issue 13627: Direct messages work now again
2023-11-21 10:46:48 -05:00
Hypolite Petovan ced14a73d7
Merge pull request #13657 from annando/activity-counter
Display the total emoji activity
2023-11-21 10:45:28 -05:00
Michael 3f6760dc0d Issue 13627: Direct messages work now again 2023-11-21 09:21:37 +00:00
Michael e0d992f452 Display the total emoji activity 2023-11-20 21:45:02 +00:00
Hypolite Petovan 676ce83dab
Merge pull request #13655 from keithhacks/escape-notification-contact-names
(Security) HTML-escape notification contact names
2023-11-19 23:02:15 -05:00
Hypolite Petovan fc00bf13bf
Merge pull request #13654 from annando/gserver-non-native
Simplify gserver entry creation for non native networks
2023-11-19 18:45:55 -05:00
keithhacks 777d0d45c6
HTML-escape notification contact names 2023-11-19 23:23:29 +00:00
Michael ba3dacdbde Simplify gserver entry creation for non native networks 2023-11-19 19:11:45 +00:00
Hypolite Petovan 80796a87c7
Merge pull request #13652 from Raroun/Leftovers_from_Pull_Request_#13633
Leftovers from pull request #13633
2023-11-19 12:23:26 -05:00
Raroun 571f95546a
Update view/templates/shared_content.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-19 13:45:32 +01:00
Raroun bcb75d65a3
Update search_item.tpl
Fix indentation
2023-11-19 09:58:32 +01:00
Raroun 118d736aa9
Update search_item.tpl
Added new behavior here also
2023-11-19 09:52:40 +01:00
Raroun 98f99c536e
Update shared_content.tpl
Added new behavior here too
2023-11-19 09:50:30 +01:00
Hypolite Petovan dcd47c391c
Merge pull request #13651 from annando/picture-upload
Fix the preview mode setting
2023-11-18 11:26:29 -05:00
Michael c8a3fea091 "browser_update" is integer, not boolean 2023-11-18 11:24:29 +00:00
Michael 6adf76c689 Fix the preview mode setting 2023-11-17 23:30:28 +00:00
Hypolite Petovan 9901d82fea
Merge pull request #13648 from annando/picture-upload
Allow to upload pictures up to the allowed system upload size
2023-11-17 18:06:36 -05:00
Michael 170998da1a Allow to upload pictures up to the allowed system upload size 2023-11-17 12:19:01 +00:00
Hypolite Petovan 5cf71baf55
Merge pull request #13646 from annando/page-drop
New user option to hide the page drop checkbox
2023-11-16 07:42:43 -08:00
Michael 64e56fd97c Updated messages.po 2023-11-16 15:36:54 +00:00
Michael Vogel 2db2f280d5
Merge pull request #13647 from MrPetovan/bug/10369-rss-group-ns
Add expected xmlns attribute to group feed entries
2023-11-16 15:48:59 +01:00
Michael Vogel cad4b2f7b8
Update src/Module/Settings/Display.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-16 15:48:25 +01:00
Hypolite Petovan 518c463761 Add expected xmlns attribute to group feed entries 2023-11-16 06:58:15 -05:00
Hypolite Petovan 21227453e5
Merge pull request #13635 from gudzpoz/emojis-please
Improve emoji federation (ActivityPub) and Mastodon API compliance
2023-11-16 03:26:34 -08:00
gudzpoz d493946ba4 Allow using punctuation chars as smiley delimiters 2023-11-16 13:31:31 +08:00
Michael 581b96c32f New user option to hide the page drop checkbox 2023-11-15 21:55:54 +00:00
Hypolite Petovan 27f3f62082
Merge pull request #13643 from annando/pre-storage-match
Database table definition is renamed
2023-11-15 11:17:43 -08:00
Michael 500feedc43 Removed old database table description 2023-11-15 18:02:44 +00:00
Hypolite Petovan fc0703005d
Merge pull request #13642 from annando/pre-storage-match
Check for user defined channel matches before storing them
2023-11-15 09:57:40 -08:00
Michael 57020d406f Renamed file 2023-11-15 17:57:40 +00:00
Michael 1dfb0ce81c "test" is renamed to "check", documentation for platform added 2023-11-15 17:55:45 +00:00
gudzpoz d45e9d6af2 Require whitespace around smilies and normalize federating text 2023-11-16 00:25:11 +08:00
Michael 43f9be367f Check for user defined channel matches before storing them 2023-11-15 16:19:05 +00:00
Hypolite Petovan e2891a660a
Merge pull request #13641 from annando/issue-13640
Issue 13640: Transmit "about" to Diaspora servers
2023-11-15 07:07:44 -08:00
Michael 7345e3af69 Issue 13640: Transmit "about" to Diaspora servers 2023-11-15 12:18:18 +00:00
gudzpoz 2cb0027f56 Pass emojis in remote mastodon posts in mastodon api 2023-11-14 10:52:34 +08:00
Hypolite Petovan 64cdb6ee80
Merge pull request #13633 from Raroun/FR#13624_Frio_Combine_Link_to_Source_with_Platform_icon_in_post_view
[frio]: Combine Link to Source with Platform icon in post view
2023-11-13 10:08:24 -08:00
Raroun 98f26cb9d6
Update view/theme/frio/templates/wall_thread.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-13 19:04:13 +01:00
Raroun 72817daa3b
Update wall_thread.tpl - fix indentation 2023-11-13 18:47:34 +01:00
Raroun dbc9efd62b
Update wall_thread.tpl
Update for code review
2023-11-13 18:29:26 +01:00
gudzpoz e088bb722b Fix editor layout when smilies overflow or on mobile 2023-11-12 23:02:21 +08:00
gudzpoz 917b801eb6 Extract emojis into mastodon api only for local posts 2023-11-12 22:17:37 +08:00
Raroun 0dbb864d7d
Update wall_thread.tpl
Changes for code review
2023-11-12 14:43:48 +01:00
gudzpoz 9bf7529dda Improve emoji federation and mastodon api compliance 2023-11-12 20:59:49 +08:00
Raroun 3d97170ad0
Update wall_thread.tpl to match feature request 2023-11-12 11:03:33 +01:00
Hypolite Petovan dc69116572
Merge pull request #13629 from annando/transmitted-languages
The transmitted language is now stored
2023-11-10 07:29:10 -08:00
Michael 58a8ce0420 Store "null" when no language couldn't be detected 2023-11-10 08:30:37 +00:00
Michael dbda317c6d The transmitted language is now stored 2023-11-09 21:31:34 +00:00
Hypolite Petovan 2f1ec8e144
Merge pull request #13628 from annando/icons
Don't show dislike if unwanted / views use the correct icon now / colours adjusted
2023-11-09 12:13:07 -08:00
Michael 00395118f9 Don't show dislike if unwanted / views use the correct icon now / colours adjusted 2023-11-09 18:22:25 +00:00
Hypolite Petovan c261bf8759
Merge pull request #13623 from annando/relay-processing
Improved relay post processing
2023-11-09 06:07:32 -08:00
Michael 5afa4fa838 Improved relay post processing 2023-11-09 06:43:03 +00:00
Hypolite Petovan a1b5ec94fb
Merge pull request #13618 from annando/display
Frio: Improved display of disabled activities
2023-11-07 14:09:13 -08:00
Michael f5f18518da Frio: Improved display of disabled activities 2023-11-07 21:25:00 +00:00
Hypolite Petovan 9d93eaf810
Merge pull request #13614 from HankG/oauth-redirect-fix
Fix OAuth Redirect Url Scrubbing
2023-11-06 10:12:55 -08:00
Hank Grabowski 4ae78e7ed6 Remove extraneous 'exploded' variable that was used during debugging 2023-11-06 13:12:21 -05:00
Hank Grabowski 35a726a961 Use strtok to find QP's in Uri for OAuth redirect processing 2023-11-06 11:25:13 -05:00
Hypolite Petovan 89e105afbe
Merge pull request #13613 from annando/permissions
Ensure to always have stored the receivers
2023-11-06 04:13:18 -08:00
Hypolite Petovan 9692f0614d
Merge pull request #13612 from annando/rearrange-buttons
Frio: The action buttons are rearranged
2023-11-06 04:11:12 -08:00
Michael b58cabdc41 Ensure to always have stored the receivers 2023-11-06 09:57:23 +00:00
Michael Vogel 0ba3fe3b2a
Merge pull request #13609 from MrPetovan/bug/13603-profile-public-cid
Use public contact ID in Model\Profile::getVCardHtml instead of potentially self-contact ID
2023-11-06 09:01:06 +01:00
Michael 246acb8646 The action buttons are rearranged 2023-11-06 07:23:11 +00:00
Hypolite Petovan da9baf2be8 Use public contact ID in Model\Profile::getVCardHtml instead of potentially self-contact ID
- This prevented contact conversation link from working
2023-11-05 19:34:36 -05:00
Hypolite Petovan 35de254bd2 [frio] Fix indentation and wrong button tag usage in vcard templates 2023-11-05 19:34:35 -05:00
Hypolite Petovan 58e5f0d9c5
Merge pull request #13611 from annando/languages
Use the post language for the language detection / config for quality
2023-11-05 16:23:57 -08:00
Michael 5b2b73da92 Moved empty post detection 2023-11-05 23:05:33 +00:00
Michael f5091110c2 Use the "abandon days" for the user language detection 2023-11-05 21:04:29 +00:00
Michael 9e47cde90c Sort the user languages 2023-11-05 20:38:49 +00:00
Michael ec16e7c0e6 Configuration for the number of languages 2023-11-05 20:18:01 +00:00
Michael 5ae0331993 Use the post language for the language detection / config for quality 2023-11-05 19:18:10 +00:00
Michael Vogel 0f33c53d5c
Merge pull request #13610 from MrPetovan/bug/13334-calendar-public-event
Fix computation of the private flag for shared event items
2023-11-05 15:30:52 +01:00
Hypolite Petovan e75a87a581 Fix computation of the private flag for shared event items 2023-11-05 09:11:08 -05:00
Hypolite Petovan 44b53fd00b
Merge pull request #13604 from Raroun/More_menu_on_mobile_view_with_the_same_features_as_the_desktop_view
Frio: Making the more menu on mobile the same as on desktop
2023-11-05 05:53:15 -08:00
Raroun 99bab9881d
fix indentation in wall_thread.tpl 2023-11-05 14:15:22 +01:00
Raroun aa8b02caf8
Merge branch 'friendica:2023.09-rc' into More_menu_on_mobile_view_with_the_same_features_as_the_desktop_view 2023-11-05 08:50:02 +01:00
Hypolite Petovan 19c5667d9f
Merge pull request #13605 from annando/button-counter
Frio: The activity buttons now have got counters
2023-11-04 15:36:22 -07:00
Michael c88267f858 Improve the display of counters 2023-11-04 22:30:40 +00:00
Michael 6de1676337 Simplify code 2023-11-04 21:37:47 +00:00
Raroun d6c54badb8
Update view/theme/frio/templates/wall_thread.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-04 16:38:52 +01:00
Michael 21cb18fb4b Fixed spelling 2023-11-04 14:12:09 +00:00
Michael 1972762500 Quote share counter added 2023-11-04 14:08:12 +00:00
Michael 1dd48e4a8b Frio: The activity buttons now have got counters 2023-11-04 12:57:54 +00:00
Raroun 04cb1b130a Maing the more menu on mobile the same as on desktop 2023-11-04 13:35:35 +01:00
Hypolite Petovan c5306dcec8
Merge pull request #13600 from annando/user-language
Accept relay posts based on the selected user languages
2023-11-03 19:27:52 -07:00
Michael 7c0b5be70f Accept relay posts based on the selected user languages 2023-11-03 22:54:29 +00:00
Hypolite Petovan 8b02c28547
Merge pull request #13599 from Raroun/Fix_for_Pull_Request_#13596_missing_a_hidden-xs_attribute
Fix for pull request #13596 missing a hidden xs attribute
2023-11-03 11:09:31 -07:00
Hypolite Petovan c222775bdb
Merge pull request #13597 from annando/ISO-639-1
Use ISO-639-1 for the language detection
2023-11-03 11:07:01 -07:00
Michael 5a79111fab Merge branch 'ISO-639-1' of https://github.com/annando/friendica into ISO-639-1 2023-11-03 14:45:02 +00:00
Michael d77bebe843 Spelling 2023-11-03 14:44:53 +00:00
Michael Vogel 1208163ba0
Update src/Core/L10n.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-03 15:43:22 +01:00
Raroun acf8049327
Update view/theme/frio/templates/wall_thread.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-03 13:05:23 +01:00
Raroun 202e86199e
Update view/theme/frio/templates/wall_thread.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-03 13:04:49 +01:00
Raroun 746ffe1cef
Update view/theme/frio/templates/wall_thread.tpl
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-03 13:03:31 +01:00
Raroun cca29aab4a removed "more"-String 2023-11-03 12:45:00 +01:00
Raroun 8d3389aebd readded missing </span> 2023-11-03 11:08:26 +01:00
Raroun 38ff790bef Regrouped wall-items and readded hidden-xs attribute for mobile view 2023-11-03 11:02:35 +01:00
Michael eaff54c4e3 Moves supported languages to the general part 2023-11-03 06:54:15 +00:00
Michael 7ae59a53ed Updated messages.po 2023-11-03 05:36:02 +00:00
Michael a7ab14b3b3 Use "toISO6391" instead of "substr" 2023-11-03 05:32:57 +00:00
Michael 90e05fd835 Updated messages.po 2023-11-02 22:59:55 +00:00
Michael 4e6719c586 Merge remote-tracking branch 'upstream/2023.09-rc' into ISO-639-1 2023-11-02 22:58:08 +00:00
Michael 3f2b0b9422 Use ISO-639-1 for the language detection 2023-11-02 22:49:25 +00:00
Hypolite Petovan c98fcaeebb
Merge pull request #13596 from Raroun/Issue_#13577_Remove_button_descriptions
Fix Issue #13577 remove button descriptions
2023-11-02 07:19:31 -07:00
Raroun c05b7fe60f updatet wall_thread.tpl Remove button descriton text and foreced left align DIV 2023-11-02 14:02:03 +01:00
Raroun 7562ff0e64 Remove button descriton text and foreced left align DIV 2023-11-02 13:55:08 +01:00
Raroun b660e312b7 Remove button descriton text and foreced left align DIV 2023-11-02 13:42:55 +01:00
Hypolite Petovan 74b4eddcf7
Merge pull request #13582 from Raroun/Leftovers-from-PR-#13339
Leftovers from pr #13339
2023-11-01 07:10:15 -07:00
Raroun cb99227569 refreshed messages.po 2023-11-01 14:57:23 +01:00
Raroun 29cd461132
Merge branch 'friendica:2023.09-rc' into Leftovers-from-PR-#13339 2023-11-01 14:56:07 +01:00
Hypolite Petovan 2abae3d273
Merge pull request #13593 from tobiasd/20231101-lng
EN GB, EN US, RU translation updates
2023-11-01 06:46:57 -07:00
Tobias Diekershoff e584d3188c EN GB, EN US, RU translation updates 2023-11-01 08:36:37 +01:00
Raroun 1ede164450
Merge branch 'friendica:2023.09-rc' into Leftovers-from-PR-#13339 2023-11-01 08:21:50 +01:00
Raroun cb7643a74e
Update settings.config.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-01 07:30:44 +01:00
Raroun 67a6bc3ea9
Update Site.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-11-01 07:30:34 +01:00
Hypolite Petovan 094b219581
Merge pull request #13586 from annando/defer-limit
Individual defer limits per worker task
2023-10-31 20:46:35 -07:00
Tobias Diekershoff 58b119250a
Merge pull request #13589 from annando/community-presets
Block tags, not hide wall for community accounts
2023-10-31 19:18:57 +01:00
Tobias Diekershoff 994e9cf346
Merge pull request #13591 from annando/message-distribution
Improve distribution of non public messages
2023-10-31 15:42:33 +01:00
Michael 404e937872 Improve distribution of non public messages 2023-10-31 13:08:24 +00:00
Michael 20b095c7c5 Block tags, not hide wall for community accounts 2023-10-31 07:53:06 +00:00
Tobias Diekershoff 104ce7c64f
Merge pull request #13588 from annando/issue-13511
Issue 13511: Ensure static community user settings
2023-10-29 21:37:16 +01:00
Michael 7371070cde Issue 13511: Ensure stattic community user settings 2023-10-29 19:43:44 +00:00
Michael b0978d0e37 Merge remote-tracking branch 'upstream/2023.09-rc' into defer-limit 2023-10-29 16:44:18 +00:00
Tobias Diekershoff 77ccd7201b
Merge pull request #13587 from annando/followers
Issue 13566: Convert "followers" path when copying receivers
2023-10-29 17:39:00 +01:00
Michael 308401b9e5 Convert "followers" path when copying receivers 2023-10-29 16:17:16 +00:00
Michael 9faad72ec0 Individual defer limits per worker task 2023-10-29 12:51:26 +00:00
Michael Vogel 31c1928789
Merge pull request #13585 from tobiasd/20231029-lng
DE, RO, RU translation updates
2023-10-29 12:53:57 +01:00
Tobias Diekershoff a7c985a590
Merge pull request #13584 from annando/copy-permissions
Post permissions are now copied from the thread parent
2023-10-29 11:47:02 +01:00
Tobias Diekershoff dd3a61c725 RO translation update 2023-10-29 10:25:24 +01:00
Tobias Diekershoff d7d3dc679c DE, RU translation updates 2023-10-29 10:19:34 +01:00
Michael 8e05c282b1 Post permissions are now copied from the thread parent 2023-10-29 08:49:24 +00:00
Raroun 40eb9578e7 readded messages.po 2023-10-27 11:59:28 +02:00
Raroun 30d2d93494 added missing apostrophe 2023-10-27 11:54:11 +02:00
Raroun b4121cb6fd Update messages.po 2023-10-27 11:39:14 +02:00
Raroun 4d4f352ed9 Update settings.config.php 2023-10-27 11:35:02 +02:00
Raroun 4eea232581 Removed Full name from Notify.php 2023-10-27 11:26:54 +02:00
Raroun 5b8f307d4c Removed Full name from Register.php 2023-10-27 11:23:07 +02:00
Raroun 4e5041af13 Updated source string in Site.php 2023-10-27 11:18:09 +02:00
Raroun c664907dbf Updated User.php 2023-10-27 11:12:59 +02:00
Raroun bb69b916a8 Updated docs 2023-10-27 11:03:52 +02:00
Tobias Diekershoff 999c56a284
Merge pull request #13580 from annando/fetch-async
Follow requests are always processable
2023-10-26 14:08:59 +02:00
Michael 7e22b7090e Follow requests are always processable 2023-10-26 06:46:23 +00:00
Tobias Diekershoff f5837b77d6
Merge pull request #13579 from annando/fetch-async
Improved asynchronous message procession
2023-10-26 08:38:29 +02:00
Michael c7739ef9c4 Improved processing of leftover queued posts 2023-10-26 05:01:54 +00:00
Michael 35cf140cb2 Fix processing of featured collections 2023-10-26 04:49:41 +00:00
Michael 8ce516ae9f Duration added to logging 2023-10-26 03:41:35 +00:00
Michael a1947d2bb1 Improved asynchronous message procession 2023-10-25 20:16:36 +00:00
Tobias Diekershoff 2468a3736d
Merge pull request #13576 from foss-/patch-10
Update README.md: fix directory link
2023-10-25 13:49:55 +02:00
foss- d454aafe7e
Update README.md: fix directory link
- fix `Join Friendica` link
2023-10-25 09:12:34 +02:00
Tobias Diekershoff 9648d88fb1
Merge pull request #13575 from MrPetovan/bug/13573-twofactor
Fix redirections in two-factor authentication settings index page
2023-10-25 06:48:11 +02:00
Hypolite Petovan 7ebf4d51ca Fix redirections in two-factor authentication settings index page
- FoundException are used to redirect users
2023-10-24 20:26:34 -04:00
Hypolite Petovan 4a90394c38 Remove DI and superglobals dependency from two-factor settings modules 2023-10-24 19:44:53 -04:00
Hypolite Petovan 309844e6d8
Merge pull request #13569 from foss-/patch-9
Update README.md - re-order mobile screenshots
2023-10-23 08:51:24 -04:00
foss- d063bc3ed3
Update README.md
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-10-23 11:45:24 +02:00
foss- e0304d2999
missing " 2023-10-23 01:12:08 +02:00
foss- 7feeffb245
Update README.md - re-order mobile screenshots
- decrease size
- show both mobile screenshots in single row
2023-10-23 01:06:01 +02:00
Tobias Diekershoff f4dd54a808
Merge pull request #13568 from MrPetovan/task/update-readme-screenshots
Replace screenshots in README
2023-10-22 18:11:53 +02:00
Hypolite Petovan 3e8f977ef0 Fix mistake in theme name 2023-10-22 09:56:33 -04:00
Hypolite Petovan 4c9417ff70 Normalize screenshot file name date 2023-10-22 09:29:26 -04:00
Hypolite Petovan c6348a2e4a Replace screenshots in README
- Thanks to @foss- for providing the screenshots
2023-10-21 16:42:47 -04:00
Hypolite Petovan c88b1c0197
Merge pull request #13562 from annando/callstack2
Another unneeded callstack call is removed
2023-10-18 17:57:47 -04:00
Michael 004e87c986 Another unneeded callstack call is removed 2023-10-18 20:21:02 +00:00
Hypolite Petovan f56054ecc1
Merge pull request #13561 from annando/log-callstack
Individual callstacks are removed from the logger
2023-10-18 16:02:08 -04:00
Michael e4a37f344e Individual callstacks are removed from the logger 2023-10-18 19:55:15 +00:00
Hypolite Petovan d05fbe6e45
Merge pull request #13558 from foss-/patch-8
Update README.md: rewrote intro text
2023-10-18 11:51:27 -04:00
foss- 03839fc0fe
Update README.md
moved "Being part of..." further down
2023-10-18 17:50:19 +02:00
foss- a20cdbd5c7
Update README.md
typos and minor tweaks

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-10-18 17:37:50 +02:00
Hypolite Petovan 3dd34619ec
Merge pull request #13557 from annando/api-timeline
Improve the performance of API timeline calls
2023-10-18 10:33:58 -04:00
Hypolite Petovan df791c7e54
Merge pull request #13555 from foss-/patch-9
Update README.md: humane tech has a new home on codeberg
2023-10-18 10:31:03 -04:00
foss- 1cd4f705fd
Update README.md: rewrote intro text
removed twitter,  mentioning other fediverse platforms sorted by popularity, reduced number of paragraphs and simplified text overall.
2023-10-18 10:54:01 +02:00
Michael 1c67be8db0 Improve the performance of API timeline calls 2023-10-18 08:11:36 +00:00
foss- eee0a32d03
Update README.md: humane tech has a new home on codeberg
reflect new home of humane tech by updating links to codeberg
2023-10-18 09:18:16 +02:00
Hypolite Petovan 2cd18fd4bf
Merge pull request #13551 from tobiasd/20231017-lng
DE, FR, HU, RU translation updates
2023-10-17 13:57:26 -04:00
Tobias Diekershoff 45c63baa5c DE, FR, HU, RU translation updates 2023-10-17 19:46:31 +02:00
Wladimir Palant b85a2709e8 Allow CORS requests to nodeinfo endpoints 2023-10-16 20:10:36 -04:00
Hypolite Petovan bc4b036c76
Merge pull request #13533 from nupplaphil/feat/phpunit_upgrade
CI upgrade & Installer Check enabling
2023-10-15 17:39:58 -04:00
Hypolite Petovan d03506df51
Merge pull request #13547 from annando/exclude
Exclude classes from logging
2023-10-15 16:57:12 -04:00
Michael 4de03b0c11 Exclude classes from logging 2023-10-15 19:45:32 +00:00
Philipp 32c60bf2d0
Update messages.po 2023-10-15 21:29:53 +02:00
Philipp 32ac54d830
Fix SmiliesTest
Reduce noise because of wrong '<?php' test-data
2023-10-15 21:29:53 +02:00
Philipp 4bcf5e07c0
Adjust InstallerTest 2023-10-15 15:49:02 +02:00
Philipp 3ca277e2b2
Add intlChar Installer-Check 2023-10-15 15:49:00 +02:00
Philipp f3f148a0db
Upgrade PHP version in PHP-CI 2023-10-15 15:48:59 +02:00
Hypolite Petovan c711208237
Merge pull request #13543 from annando/issue-13535
Issue 13535: Handle Firefish chat messages
2023-10-15 09:12:10 -04:00
Michael 3a7fc22f51 Updated messages.po 2023-10-15 08:28:03 +00:00
Michael 54b9a0320b Merge remote-tracking branch 'upstream/2023.09-rc' into issue-13535 2023-10-15 08:13:32 +00:00
Michael Vogel a5fb1e53a9
Merge pull request #13544 from MrPetovan/bug/13542-frio-circle-search
[frio] Add search in contact address to filter circle member list
2023-10-15 08:03:50 +02:00
Hypolite Petovan a1fb0f848c [frio] Add search in contact address to filter circle member list 2023-10-15 00:48:44 -04:00
Michael 3f9783f288 Issue 13535: Handle Firefish chat messages 2023-10-15 03:34:37 +00:00
Michael Vogel e99fcfddb5
Merge pull request #13541 from MrPetovan/bug/13534-image-blurred
Drop using the proxy large size for image preview
2023-10-14 23:40:18 +02:00
Hypolite Petovan f19cd54195 Drop using the proxy large size for image preview
- It was causing blurry upscaling with portrait images that have a 640px size preview.
2023-10-14 16:05:01 -04:00
Hypolite Petovan 938b2bae23 Align proxy sizes to photo preview sizes
- PIXEL_SMALL goes from 300 to 320
- PIXEL_MEDIUM goes from 600 to 640
- Use Proxy pixel constants where we used hard-coded pixel values
2023-10-14 16:05:01 -04:00
Hypolite Petovan 4a67771bfa
Merge pull request #13539 from annando/channel-improvements
Channels: Larger fields, better error handling
2023-10-14 15:57:49 -04:00
Michael b1cf8ee4df Updated messages.po 2023-10-14 19:09:45 +00:00
Michael fce82deabc Merge remote-tracking branch 'upstream/2023.09-rc' into channel-improvements 2023-10-14 19:06:35 +00:00
Michael Vogel e0d4646c18
Merge pull request #13314 from MrPetovan/bug/13311-removeme-delegate
Add safeguards to user self-removal feature
2023-10-14 20:53:09 +02:00
Michael be394b573d Channels: Larger fields, better error handling 2023-10-14 18:39:35 +00:00
Hypolite Petovan 7ca25b7297 Updated main translation file after adding strings 2023-10-14 14:25:20 -04:00
Hypolite Petovan b29a68d467 Add exception when authentication returns different user id than logged in in Settings\RemoveMe 2023-10-14 14:15:42 -04:00
Hypolite Petovan 1f7b6a63bb Throw exception when user has delegates in User::remove 2023-10-14 14:15:41 -04:00
Hypolite Petovan 3a42849759 Add current user's hovercard to removeme page
- Extract Hovercard generation to Content\Widget
2023-10-14 14:15:41 -04:00
Hypolite Petovan e6855d3125 Refactor Delegation modules
- Remove dependency on DI
- Group translation labels in template variables
- Reformat tempate code
2023-10-14 14:15:40 -04:00
Michael Vogel c98a0a99a6
Merge pull request #13530 from MrPetovan/bug/json-error-factory-error
Move jsonError out of Factory\Api\Mastodon\Error
2023-10-14 19:35:49 +02:00
Hypolite Petovan a0da13cf6b
Merge pull request #13384 from annando/smilies
Posts without text or only with emojis are now always accepted in the language check
2023-10-14 12:46:49 -04:00
Michael Vogel 8bf4408e64
Merge pull request #13536 from tobiasd/20231014-ru
updated RU translations
2023-10-14 09:43:39 +02:00
Tobias Diekershoff bf5e2facb4 updated RU translations 2023-10-14 09:19:30 +02:00
Michael e558a83783 Improved Emoji detection 2023-10-13 21:55:15 +00:00
Michael d1eb1ec0f4 Use "IntlChar" for the emoji detection 2023-10-12 21:23:08 +00:00
Michael 19529e2aa1 Merge remote-tracking branch 'upstream/2023.09-rc' into smilies 2023-10-12 20:49:20 +00:00
Hypolite Petovan 71ec402adc
Merge pull request #13531 from annando/language-detection
The language detection is now done in blocks
2023-10-12 07:38:08 -04:00
Michael aeba70f2a6 Language description updated 2023-10-12 05:19:57 +00:00
Michael Vogel 47c15d330f
Update src/Core/Installer.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-10-11 22:58:14 +02:00
Michael 407f46c043 Exit when the class doen't exists 2023-10-11 20:41:40 +00:00
Michael 35991bc0e1 messager.po 2023-10-11 20:36:25 +00:00
Michael d658908abe Deactivate the check 2023-10-11 20:28:10 +00:00
Michael 12337be827 Updated messages.po 2023-10-11 20:21:55 +00:00
Michael 38c599d681 Merge remote-tracking branch 'upstream/2023.09-rc' into language-detection 2023-10-11 20:20:02 +00:00
Hypolite Petovan 2eb7de84df
Merge pull request #13527 from xundeenergie/flip-replyto-link
[frio] Flip replyto link
2023-10-11 16:03:17 -04:00
Michael 42919a2be3 Deactivated check 2023-10-11 19:43:42 +00:00
Michael 6459614f34 Updated messages.po - again 2023-10-11 19:30:02 +00:00
Michael 89adffe72e Merge remote-tracking branch 'upstream/2023.09-rc' into language-detection 2023-10-11 19:27:10 +00:00
Michael 9e11b0e317 Updated german install documentation 2023-10-11 19:25:58 +00:00
Michael e6f8f8520c Updated'messages.po 2023-10-11 19:22:18 +00:00
Michael a6bbbd738f Added check for IntlChar module 2023-10-11 19:20:51 +00:00
Jakobus Schürz 62012286a0 run gettext 2023-10-11 21:05:55 +02:00
Michael f4591b2cc7 The language detection is now done in blocks 2023-10-11 18:38:14 +00:00
xundeenergie c7f1c30f89
Update src/Object/Post.php
Rename from 'parent unknown' to 'Unkknown parent"

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-10-11 20:33:49 +02:00
Jakobus Schürz 1031bc1801 change last occurances isreplyto to inreplyto 2023-10-11 17:07:37 +02:00
Jakobus Schürz b864d87344 translations 2023-10-11 17:03:27 +02:00
Jakobus Schürz 9526daa5b7 change isreplyto to inreplyto 2023-10-11 17:02:24 +02:00
Hypolite Petovan 5d428ac8af Add newly required constructor parameter to BaseApi-related tests 2023-10-11 10:17:32 -04:00
xundeenergie 035c9dbfa7
Update src/Object/Post.php
Sugfestion accepted

Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-10-11 15:55:02 +02:00
Hypolite Petovan 1b9ec3a214 Rename BaseApi->logErrorAndJsonExit to logAndJsonError to better match the functionality
- Also it's shorter and we're paying by the character
2023-10-11 09:44:03 -04:00
Hypolite Petovan eb583330df Remove obsolete Factory\Api\Mastodon\Error->logError method and related dependencies 2023-10-11 09:44:03 -04:00
Hypolite Petovan 0a91484fa0 Move jsonError out of Factory\Api\Mastodon\Error->InternalError 2023-10-11 09:44:03 -04:00
Hypolite Petovan 696c56b6be Move jsonError out of Factory\Api\Mastodon\Error->Forbidden 2023-10-11 09:44:03 -04:00
Hypolite Petovan 6a2ca1a6b6 Move jsonError out of Factory\Api\Mastodon\Error->Unauthorized 2023-10-11 09:44:03 -04:00
Hypolite Petovan 7486ebdc10 Move jsonError out of Factory\Api\Mastodon\Error->UnprocessableEntity 2023-10-11 09:44:03 -04:00
Hypolite Petovan 7f846f153d Move jsonError out of Factory\Api\Mastodon\Error->RecordNotFound 2023-10-11 09:44:02 -04:00
Hypolite Petovan 9e71610711 Make BaseApi->checkAllowedScope into an object method
- It isn't called from static contexts anymore
2023-10-11 09:43:57 -04:00
Hypolite Petovan f70a64891c Add Factory\Api\Mastodon\Error dependency to BaseApi
- Copy Factory\Api\Mastodon\Error->logError functionality to BaseApi
2023-10-11 09:43:54 -04:00
Jakobus Schürz de28a375c8 Merge branch '2023.09-rc' into flip-replyto-link 2023-10-11 14:23:13 +02:00
Jakobus Schürz 4ce3b27e65 translation 2023-10-11 14:19:04 +02:00
Hypolite Petovan 48be5a534d
Merge pull request #13529 from xundeenergie/send-with-ctrlenter
[frio] fix commenting on 1st comment level
2023-10-11 07:42:50 -04:00
Jakobus Schürz dd851c8eeb fix commenting on 1st comment level 2023-10-11 08:38:05 +02:00
Tobias Diekershoff ee6061d3dd
Merge pull request #13528 from xundeenergie/send-with-ctrlenter
send on ctrl+enter - resolves #13039
2023-10-11 06:52:12 +02:00
Jakobus Schürz 67a6899ed7 send on ctrl+enter
in
* comments
* prv_messages
* composer
* jot
2023-10-11 04:09:44 +02:00
Jakobus Schürz 9898e5483a translations 2023-10-11 02:11:16 +02:00
Jakobus Schürz 08b45a32a5 Merge branch '2023.09-rc' into flip-replyto-link 2023-10-11 02:07:47 +02:00
Hypolite Petovan 1723aa0697
Merge pull request #13525 from annando/api-pictures
Fix images in the API
2023-10-10 09:16:31 -04:00
Jakobus Schürz 19e3e49fdc translations 2023-10-09 20:28:01 +02:00
Jakobus Schürz 1d49fdbd8d Merge branch '2023.09-rc' into flip-replyto-link 2023-10-09 20:24:14 +02:00
Hypolite Petovan 2673c667b5 Add a couple of missing fields in Content\Item->localize
- Address "Undefined array key "author-alias"" in Content\Item->localize:323
2023-10-09 20:21:01 +02:00
Hypolite Petovan b4afb5fa5b Add callstack to log messages to better troubleshoot warning messages 2023-10-09 20:21:01 +02:00
Hypolite Petovan 6736187be6 Normalize template variables in Widget\VCard
- Display new links in vier
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1751750581
2023-10-09 20:21:01 +02:00
Jakobus Schürz 4b2e920957 show "parent unknown" when parent not federated
in some cases (visibility is private of parent comment), there is no
parent federated to my instance, and then the comment "hangs around"
with no information, why there is no parent.

For normal users this can be confusing, why all exept "this" comment
have parents.

So i added a simple text instead of link to parent with a "title" field
with a small explanation, why parent is not viewable.

translations done
2023-10-09 20:10:02 +02:00
Jakobus Schürz 45efa4ec87 set font-size of reply-to and shared-by to class time 2023-10-09 09:23:10 +02:00
Michael Vogel 947ad55185
Merge pull request #13518 from MrPetovan/bug/warnings
Normalize template variables in Widget\VCard
2023-10-09 05:29:06 +02:00
Jakobus Schürz c5506577d0 make reply-to link depending on screen-width
* on small/smartphone-screens show "reply to" link above the posting and
  an eventual "shared by" link in a second line.
* on middle/tablet-screens show "reply-to" and "shared-by" link in one
  line above the posting, divided by a dot.
* on large screens show reply-to-link next to the time/date-link when
  posting was posted.

the first to positions are better for users with thick fingers on
smartphones. (like me)

Change "in reply to" to "is reply to". Sounds better.

translations done
2023-10-09 01:56:18 +02:00
Jakobus Schürz 622cdeaad6 make reply-to link depending on screen-width
* on small/smartphone-screens show "reply to" link above the posting and
  an eventual "shared by" link in a second line.
* on middle/tablet-screens show "reply-to" and "shared-by" link in one
  line above the posting, divided by a dot.
* on large screens show reply-to-link next to the time/date-link when
  posting was posted.

the first to positions are better for users with thick fingers on
smartphones. (like me)

Change "in reply to" to "is reply to". Sounds better.
2023-10-09 01:47:47 +02:00
Michael cd9fc0ddec Fix images in the API 2023-10-08 19:49:18 +00:00
Tobias Diekershoff bffbde4639
Merge pull request #13522 from MrPetovan/task/expose-image-description
Add caption display for described images in Fancybox gallery
2023-10-08 18:38:59 +02:00
Hypolite Petovan 36eced28b8 Add caption display for described images in Fancybox gallery 2023-10-08 10:29:09 -04:00
Hypolite Petovan 2eab25e7c1 Add caption to described images without a preview 2023-10-08 10:28:17 -04:00
Hypolite Petovan 298973a7e3 Add a couple of missing fields in Content\Item->localize
- Address "Undefined array key "author-alias"" in Content\Item->localize:323
2023-10-08 08:55:48 -04:00
Hypolite Petovan 1506068f7c Add callstack to log messages to better troubleshoot warning messages 2023-10-08 08:37:41 -04:00
Hypolite Petovan c31c264b0b Normalize template variables in Widget\VCard
- Display new links in vier
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1751750581
2023-10-08 08:37:40 -04:00
Tobias Diekershoff 2c297da755
Merge pull request #13519 from annando/language
Check more fields for the language
2023-10-08 11:38:48 +02:00
Michael f37dd2cbc6 Messages.po again 2023-10-08 07:42:39 +00:00
Michael 51ad2f522a Messages.po updated 2023-10-08 07:26:24 +00:00
Michael 0c82974986 Check more fields for the language 2023-10-08 06:44:37 +00:00
Michael Vogel 8968c63fcc
Merge pull request #13517 from MrPetovan/bug/13506-inline-image-width-allocation
Set allocated max width for inline images we have dimensions of
2023-10-08 08:35:57 +02:00
Hypolite Petovan e22df99abd Set allocated max width for inline images we have dimensions of 2023-10-07 17:13:36 -04:00
Hypolite Petovan 6ec6c6e317
Merge pull request #13508 from xundeenergie/move-mentionbutton-to-navbar
[frio] move mention-button to navbar
2023-10-07 13:28:43 -04:00
Jakobus Schürz c4870a16d4 Merge branch '2023.09-rc' into move-mentionbutton-to-navbar 2023-10-07 19:01:07 +02:00
Jakobus Schürz 302eed95f7 add margin top to separate buttons, move button to navbar 2023-10-07 18:50:06 +02:00
Hypolite Petovan 560e297274
Merge pull request #13516 from MrPetovan/2023.09-rc
Revert "Merge pull request #13512 from MrPetovan/bug/13506-allocated-width"
2023-10-07 12:48:13 -04:00
Hypolite Petovan 35e15a13fb Revert "Merge pull request #13512 from MrPetovan/bug/13506-allocated-width"
This reverts commit d1e6a16cde, reversing
changes made to 6c9d3d42d3.
2023-10-07 12:46:20 -04:00
Tobias Diekershoff d1e6a16cde
Merge pull request #13512 from MrPetovan/bug/13506-allocated-width
Fix wrong template variable name when using content/image/single_with_height_allocation.tpl
2023-10-07 14:26:43 +02:00
Hypolite Petovan b8ead0539f Limit width of height allocated image to parent width 2023-10-07 06:09:52 -04:00
Hypolite Petovan 182a3a4663 Fix wrong template variable name when using content/image/single_with_height_allocation.tpl 2023-10-07 06:07:07 -04:00
Michael Vogel 6c9d3d42d3
Merge pull request #13514 from MrPetovan/bug/channel-classes
User Repository\UserDefinedChannel->selectByUid instead of Factory\UserDefinedChannel->getForUser
2023-10-07 12:03:02 +02:00
Hypolite Petovan 710f9eecb2 User Repository\UserDefinedChannel->selectByUid instead of Factory\UserDefinedChannel->getForUser
- Rename Repository\Channel to Repository\UserDefinedChannel
- Add new Collection\UserDefinedChannels class
- Move Factory\Timeline->createFromTableRow to Factory\UserDefinedChannel
2023-10-07 05:48:23 -04:00
Jakobus Schürz df48ae8e00 translations 2023-10-07 11:28:29 +02:00
Hypolite Petovan 8ac6d0ef04
Merge pull request #13507 from xundeenergie/finalize-mention-buttons
Finalize mention buttons
2023-10-07 05:23:19 -04:00
Hypolite Petovan ee0f8cd3c9
Merge pull request #13510 from annando/fix-thread-parent
Fix for the display of the thread parent
2023-10-07 05:22:40 -04:00
Jakobus Schürz e63092c708 translations 2023-10-07 11:07:41 +02:00
Jakobus Schürz 2636b19171 add blanks, suggested from codereview 2023-10-07 11:06:51 +02:00
Michael 30587f09b5 Fix for the display of the thread parent 2023-10-07 08:51:47 +00:00
Michael Vogel dd504f522f
Merge pull request #13509 from MrPetovan/bug/in-reply-to
Fix typo in "in reply to" base translation string
2023-10-07 09:34:18 +02:00
Hypolite Petovan af3151d4db Fix typo in "in reply to" base translation string 2023-10-07 02:31:56 -04:00
Hypolite Petovan ec9345efa6
Merge pull request #13448 from annando/user-defined-channels
Channels can now be created by users
2023-10-07 02:09:19 -04:00
Hypolite Petovan 5bc466de55
Merge pull request #13499 from xundeenergie/reference-links
add link to parent of comment
2023-10-06 23:40:13 -04:00
Jakobus Schürz 695fc58187 move mention-button to navbar
translations
2023-10-07 01:33:45 +02:00
Jakobus Schürz c6af5266cd add mention-/showgroup button also to profile/vcard.tpl
update translations
2023-10-07 01:28:23 +02:00
Jakobus Schürz 02b26f5969 put group-logic for "widget" to php-file 2023-10-07 01:23:29 +02:00
Jakobus Schürz 4ab03594cb Merge commit 'b3097da6f' into reference-links 2023-10-07 00:40:02 +02:00
Jakobus Schürz fc3dad8cea fix missing blank; translations 2023-10-07 00:10:15 +02:00
Jakobus Schürz 099141e0e5 translations update 2023-10-07 00:09:58 +02:00
Jakobus Schürz f1f92ccc29 use scrollToItem instead of own function
rename isanswerto and "Is answer to" to isreplyto and "is reply to"
2023-10-07 00:09:38 +02:00
Jakobus Schürz 3c7725183e change logic in if clause in case of codereview 2023-10-07 00:09:38 +02:00
Jakobus Schürz f42861c58d better display of parent-link 2023-10-07 00:09:38 +02:00
Jakobus Schürz 5747518ada update translations 2023-10-07 00:09:36 +02:00
Jakobus Schürz 4796bafafe add link to parent of comment 2023-10-07 00:09:06 +02:00
Michael b5df3cb104 Unneeded constructors removed 2023-10-06 21:08:33 +00:00
Tobias Diekershoff b3097da6f9 update translations
DE, FR and HU translations
2023-10-06 16:13:53 +02:00
Philipp 31c8256bc6 Update messages.po 2023-10-06 16:13:52 +02:00
Michael 97fbf70fa6 Fix: The calculation of unseen circles can now be deactivated again 2023-10-06 16:13:19 +02:00
Michael 3f6480c127 Clean channel confusion 2023-10-06 11:38:29 +00:00
Michael 134cbacf31 Updates messages.po 2023-10-06 10:02:27 +00:00
Michael 36a83d13f8 Merge remote-tracking branch 'upstream/2023.09-rc' into user-defined-channels 2023-10-06 10:00:09 +00:00
Jakobus Schürz 428884c621 translations update 2023-10-06 10:28:09 +02:00
Michael 22e0bb58d9 Channel class confusion solved 2023-10-06 08:20:17 +00:00
Michael Vogel 7e0923d53f
Merge pull request #13504 from tobiasd/20231006-lng
update DE, FR, HU translations
2023-10-06 10:08:43 +02:00
Tobias Diekershoff 3e7c1f0bd7 update translations
DE, FR and HU translations
2023-10-06 07:50:12 +02:00
Philipp 5b6e29b70a
Merge pull request #13502 from nupplaphil/fix/messages.po
Update messages.po
2023-10-05 22:27:35 +02:00
Philipp 9003bcf981
Update messages.po 2023-10-05 22:03:31 +02:00
Michael ed24d06e0c Now there are user defined channels 2023-10-05 19:10:20 +00:00
Michael bc3bdf3cb0 Merge remote-tracking branch 'upstream/2023.09-rc' into user-defined-channels 2023-10-05 18:19:38 +00:00
Tobias Diekershoff b60bbca8e4
Merge pull request #13500 from annando/unseen-circles
Fix: The calculation of unseen circles can now be deactivated again
2023-10-05 19:42:55 +02:00
Michael 174fa49b23 Fix: The calculation of unseen circles can now be deactivated again 2023-10-05 17:06:21 +00:00
Jakobus Schürz a82127092b use scrollToItem instead of own function
rename isanswerto and "Is answer to" to isreplyto and "is reply to"
2023-10-05 17:19:16 +02:00
Jakobus Schürz 63df9ffe2f change logic in if clause in case of codereview 2023-10-05 17:02:33 +02:00
Jakobus Schürz eda9ea962d better display of parent-link 2023-10-05 15:36:01 +02:00
Michael fbded95f65 Merge remote-tracking branch 'upstream/2023.09-rc' into user-defined-channels 2023-10-05 13:15:45 +00:00
Jakobus Schürz 36f8162793 update translations 2023-10-05 12:46:24 +02:00
Jakobus Schürz 268d441c48 add link to parent of comment 2023-10-05 12:39:31 +02:00
Michael aae5f006f9 Remove unneeded functions 2023-10-05 09:25:23 +00:00
Michael 6a86eeda10 Timeline classes are split into multiple classes 2023-10-05 05:36:12 +00:00
Michael 5d6e02bef3 Some more changes after review 2023-10-05 03:17:55 +00:00
Michael 73e9190ce7 Changes after review 2023-10-05 03:16:44 +00:00
Tobias Diekershoff eb50618fe8 set version for 2023.09-rc 2023-10-04 20:40:08 +02:00
Hypolite Petovan ec61cdac83
Merge pull request #13495 from xundeenergie/load-contact-photos-lazy
Load contact photos lazy
2023-10-04 09:47:47 -04:00
Jakobus Schürz 6adbdfc107 add loading="lazy" also to vier templates 2023-10-04 12:01:20 +02:00
Jakobus Schürz 3596b5e165 add loagin="lazy" to avatar-images too
resolves #13486

The loading of avatar-images still blocked the loading of notifications.

mostyl in frio!
now it's a big time improvement on loading friendica
2023-10-04 11:56:46 +02:00
Michael b8208974a4 Merge remote-tracking branch 'upstream/develop' into user-defined-channels 2023-10-04 09:40:32 +00:00
Tobias Diekershoff 0a13d7625f
Merge pull request #13488 from MrPetovan/bug/frio-search-result-padding
[frio] Remove superfluous padding from search results in mobile view
2023-10-04 08:17:12 +02:00
Tobias Diekershoff 2911895cdb
Merge pull request #13476 from MrPetovan/bug/13467-image-reliable-dimensions
Redux horizontal masonry, height allocation feature with ensured dimensions
2023-10-04 08:16:09 +02:00
Michael Vogel e81d775791
Merge pull request #13493 from MrPetovan/bug/13353-instancev2-source_url
Add support for source_url in Mastodon\InstanceV2
2023-10-04 07:59:11 +02:00
Tobias Diekershoff e45dbc9f6d
Merge pull request #13492 from MrPetovan/bug/13359-mastodon-short-urls
Restore support for Mastodon profile short-form URLs
2023-10-04 07:47:21 +02:00
Hypolite Petovan 705b2d4c41 Add support for source_url in Mastodon\InstanceV2 2023-10-03 20:55:15 -04:00
Hypolite Petovan 1df5003643 Restore support for Mastodon profile short-form URLs
- Running these URLs through WebFinger first allows to retrieve the canonical ActivityPub profile URL
2023-10-03 20:46:17 -04:00
Hypolite Petovan 753702da0e [frio] Remove superfluous padding from search results in mobile view 2023-10-03 20:10:38 -04:00
Hypolite Petovan 163a85c78f Add new horizontal masonry and image height allocation
- Move image templates to content/image sub-folder
2023-10-03 19:58:52 -04:00
Hypolite Petovan e01040a2e8 Remove $_SERVER superglobal dependency from Profile::addVisitorCookieForHTTPSigner 2023-10-03 19:58:52 -04:00
Hypolite Petovan 6d009a3e0f Add chunk method to BaseCollection
- Add test for BaseCollection->chunk
2023-10-03 19:58:52 -04:00
Hypolite Petovan 3333d4af88 Change parameter to PostMedias in Item::makeImageGrid
- Add dimension rescaling when updating the preview URL
2023-10-03 19:58:51 -04:00
Hypolite Petovan 5004471770 Move size to pixels conversion in its own method in Util\Proxy 2023-10-03 19:58:51 -04:00
Hypolite Petovan 4462ad6bf0 Replace split attachment code with PostMedia objects 2023-10-03 19:58:51 -04:00
Hypolite Petovan 1052f6fde0 Add DDD classes for post media entities 2023-10-03 19:58:50 -04:00
Hypolite Petovan 86cba639fc Add implementation of the Content-Type header value from the MIME type RFC
- Add tests for the new classes
2023-10-03 19:58:50 -04:00
Hypolite Petovan 8640afc82e
Merge pull request #13484 from xundeenergie/better-navigation
[frio] Better navigation
2023-10-03 17:13:42 -04:00
Hypolite Petovan 4376eedb96
Merge pull request #13491 from annando/language2
More languages / use profile text as fallback
2023-10-03 09:03:32 -04:00
Jakobus Schürz b42373d834 improve button-icon for groups in hovercard 2023-10-03 09:00:11 +02:00
Jakobus Schürz f95f846ef8 Merge remote-tracking branch 'upstream' into better-navigation 2023-10-03 08:56:36 +02:00
Jakobus Schürz 9cbad559a1 add self for unfollowed contact 2023-10-03 06:03:32 +02:00
Michael 557ef9acc9 Improved documentation 2023-10-03 04:01:54 +00:00
Faris 3a90e0f7f2 add lazy loading for images 2023-10-03 06:01:19 +02:00
Raroun 93a3c6ee59 added missing quotation mark 2023-10-03 06:01:19 +02:00
Raroun 51905cee45 added new tab for wall-titles too 2023-10-03 06:01:19 +02:00
Raroun 409f27c058 Frio: open links to source in a new browser tab 2023-10-03 06:01:19 +02:00
Tobias Diekershoff eea07a8e6d Updated the translations 2023-10-03 06:01:19 +02:00
Hypolite Petovan cb7b92282c Allow macOS users to use Ctrl + Cmd + Space to bring up the emoji picker in Friendica text fields
- Remove Backspace guard against changing page
- Clarify keyboard shortcut to pause automatic updates
2023-10-03 06:01:18 +02:00
Hypolite Petovan cf5beafec0 Move self key to $profile tamplate variable in hovercard.tpl template
- Simplify network and mention menu items by checking for group in Model\Contact::photoMenu
2023-10-02 21:34:49 -04:00
Michael 008c8dbf36 More languages / use profile text as fallback 2023-10-02 20:37:16 +00:00
Hypolite Petovan 3c20ffc22b
Merge pull request #13490 from FarisKarim/fix_13486
add lazy loading for images
2023-10-02 12:55:26 -04:00
Faris cfe159235a add lazy loading for images 2023-10-02 12:23:02 -04:00
Hypolite Petovan 5704a433f0
Merge pull request #13480 from Raroun/fix_13457
Frio: open links to source in a new browser tab
2023-10-02 08:42:43 -04:00
Hypolite Petovan 0c83cbffe3
Merge pull request #13489 from tobiasd/20231002-lng
Updated the translations
2023-10-02 08:33:33 -04:00
Jakobus Schürz 05f2cf9202 fix code because of review 2023-10-02 12:00:23 +02:00
Raroun cc61f7b160
added missing quotation mark 2023-10-02 11:01:22 +02:00
Raroun 6197ae3fe0
added new tab for wall-titles too 2023-10-02 10:39:49 +02:00
Tobias Diekershoff 298cf77a57 Updated the translations 2023-10-02 08:22:48 +02:00
Michael Vogel 22e960d8f8
Merge pull request #13485 from MrPetovan/bug/macos-keyboard-shortcuts
Allow macOS users to use Ctrl + Cmd + Space to bring up the emoji picker in Friendica text fields
2023-10-02 05:29:58 +02:00
Jakobus Schürz 8378edc95f regenerate xgettext 2023-10-02 00:00:54 +02:00
Jakobus Schürz 58a8169189 remove specific translation 2023-10-01 23:59:09 +02:00
Hypolite Petovan 1b72a1e72d Allow macOS users to use Ctrl + Cmd + Space to bring up the emoji picker in Friendica text fields
- Remove Backspace guard against changing page
- Clarify keyboard shortcut to pause automatic updates
2023-10-01 17:18:07 -04:00
Jakobus Schürz 6422892efc regenerate translations 2023-10-01 23:08:11 +02:00
Jakobus Schürz 2ee28e2db2 fix Typo 2023-10-01 23:07:51 +02:00
Jakobus Schürz f8a1b7ea56 Merge branch 'showgroup-button' into better-navigation 2023-10-01 22:59:27 +02:00
Jakobus Schürz 0183d33261 Merge branch 'add-mention-button' into better-navigation 2023-10-01 22:55:20 +02:00
Jakobus Schürz (admin) 1abd9d2ee2 add translation de for showgroup button 2023-10-01 22:45:55 +02:00
Jakobus Schürz (admin) bb654d6e34 add translations for de for mention-buttons 2023-10-01 22:38:55 +02:00
Jakobus Schürz (admin) 4b161b0d65 set variables for correct mentioning 2023-10-01 22:37:34 +02:00
Jakobus Schürz (admin) a06e6c7f47 remove mention-button from own profile 2023-10-01 22:36:53 +02:00
Jakobus Schürz (admin) 17d7432f0e set ! and @ on mentioning in hover-card 2023-10-01 14:59:37 +02:00
Jakobus Schürz (admin) 405161998e changes to fit to showgroup-button branch 2023-10-01 14:33:08 +02:00
Jakobus Schürz (admin) 78e9ee651f show "view group" in hovercard
but only on group-contacts.
rename all *forum to *group in code
2023-10-01 14:25:23 +02:00
Jakobus Schürz (admin) 9dfe39b83d set label in hovercard for mentionings 2023-10-01 14:03:03 +02:00
Jakobus Schürz (admin) ed9d20b291 Change label of mention-button
* "Mention" on users profile
* "Post to group" on group/forums profile
2023-10-01 12:53:06 +02:00
Jakobus Schürz (admin) 9f2d2d4ac1 add mention-buttons 2023-10-01 12:38:57 +02:00
Jakobus Schürz (admin) e6a4467557 add "Show Forum" Button to Profile 2023-10-01 12:34:56 +02:00
Michael 34521c228b Merge remote-tracking branch 'upstream/develop' into user-defined-channels 2023-10-01 08:23:05 +00:00
Hypolite Petovan 6503016676
Merge pull request #13483 from annando/languages
Additional languages / new hook for additional language detection
2023-10-01 02:50:55 -04:00
Michael 0840086a0a Renamed hook 2023-10-01 04:10:24 +00:00
Michael afb6913a2f Timelines are now an object instead of an array 2023-09-30 18:51:35 +00:00
Michael e7d65f2d12 Merge remote-tracking branch 'upstream/develop' into user-defined-channels 2023-09-30 18:44:12 +00:00
Michael e84a7e8c2a Additional languages / new hook for additional language detection 2023-09-30 15:51:53 +00:00
Hypolite Petovan ad414f33c9
Merge pull request #13482 from foss-/patch-6
Update jot-header.tpl
2023-09-30 11:33:20 -04:00
foss- bb64d08eaf
Update jot-header.tpl
replace `contains` by `includes` in the "view/theme/frio/templates/jot-header.tpl" file on line 227 to fix this error message (only doing the leg-work here, hope this helps)
2023-09-30 17:26:27 +02:00
Hypolite Petovan 6057146a41
Merge pull request #13479 from haheute/robots-txt-google-extended
Add Google-Extended to default robots.txt
2023-09-29 10:50:36 -04:00
Raroun e9f2b828d8 Frio: open links to source in a new browser tab 2023-09-29 16:39:50 +02:00
Hannes Heute 9d86ef767a Add Google-Extended to default robots.txt 2023-09-29 16:27:31 +02:00
Hypolite Petovan 9a4f2a4492
Merge pull request #13477 from haheute/event-css
add styling to event reminder
2023-09-29 09:40:29 -04:00
Hannes Heute a3fa8ec29a add styling to event reminder 2023-09-29 14:55:29 +02:00
Hypolite Petovan 70aacc8a5e
Merge pull request #13473 from annando/timelimit
There is now a time limit when fetching AP endpoints
2023-09-29 03:30:39 -04:00
Michael b54005c540 Changed parameter name 2023-09-29 04:50:36 +00:00
Michael badf0dd57f There is now a time limit when fetching AP endpoints 2023-09-28 08:04:52 +00:00
Michael Vogel a2a1d852e9
Merge pull request #13456 from MrPetovan/bug/cors-headers-rawcontent
Remove DI dependency for httpExit, httpError, jsonExit, jsonError and xmlExit
2023-09-27 06:01:16 +02:00
Michael 5e1c292927 Configuration for the maximum number of post engagement entries 2023-09-26 16:00:06 +00:00
Michael ae33a6bce1 Removed unused function 2023-09-26 05:08:42 +00:00
Michael 82684cd6cd Changes after review 2023-09-26 05:05:51 +00:00
Michael 84b38beb9a Improved link removal 2023-09-25 22:05:53 +00:00
Michael b2758f2cdd Merge remote-tracking branch 'upstream/develop' into user-defined-channels 2023-09-25 19:39:53 +00:00
Hypolite Petovan e014729206
Merge pull request #13469 from MrPetovan/bug/13467-image-reliable-dimensions
Revert pull request #13463
2023-09-25 11:59:04 -04:00
Michael 6ba26e65b8 Improved channel documentation 2023-09-25 11:19:06 +00:00
Hypolite Petovan ea4c597ac4 [frio] Change "Ignore thread" icon to slashed bell
- The slashed eye is better used for ignoring content, not notifications
2023-09-24 16:25:08 -04:00
Hypolite Petovan 56fb9be0f7 Revert "Merge pull request #13463 from MrPetovan/task/imagegrid-improvement"
This reverts commit dd7bea4bd1, reversing
changes made to ce16cd12ec.
2023-09-24 16:24:28 -04:00
Hypolite Petovan 642baa1f2a Rename ApipResponse->exit* methods to better show their meaning 2023-09-24 07:08:16 -04:00
Hypolite Petovan 960171c4e0 Remove dependency on super-globals in Module\Api\ApiResponse
- Updated DI dependencies to reflect the new parameters
- Updated tests to reflect the new parameters
2023-09-24 07:08:16 -04:00
Hypolite Petovan d165a96220 Move System::xmlExit to DFRN\Notify->xmlExit
- This will ensure headers set in BaseModule->run will be carried in xmlExit scenarios
- Deprecate xmlExit() method in Core\System
2023-09-24 07:08:15 -04:00
Hypolite Petovan 46180d7d5b Move System::jsonError to BaseModule->jsonError
- This will ensure headers set in BaseModule->run will be carried in jsonError scenarios
- Make BaseApi->checkThrottleLimit an object method to use BaseModule->jsonError
- Deprecate jsonError() method in Core\System
2023-09-24 07:08:15 -04:00
Hypolite Petovan 81279dad9e Move System::jsonExit to BaseModule->jsonExit
- This will ensure headers set in BaseModule->run will be carried in jsonExit scenarios
- Deprecate jsonExit() method in Core\System
2023-09-24 07:08:15 -04:00
Hypolite Petovan e424b7bacb Move System::httpError to BaseModule->httpError
- This will ensure headers set in BaseModule->run will be carried in httpError scenarios
- Deprecate httpError() method in Core\System
2023-09-24 07:08:15 -04:00
Hypolite Petovan da1416c07f Move System::httpExit to BaseModule->httpExit
- This will ensure headers set in BaseModule->run will be carried in httpExit scenarios
- Deprecate httpExit() method in Core\System
2023-09-24 07:08:15 -04:00
Hypolite Petovan 94e3dde2e3 Move dependency-less Page->exit to Core\System::echoResponse
- The method doesn't actually exit
- Fix a bug with header handling in System::echoResponse with numerical key header strings
  - Adding a full-string header with ICanCreateResponses->setHeader was resulting in a wrong header named after the numerical key
2023-09-24 07:08:14 -04:00
Tobias Diekershoff dd7bea4bd1
Merge pull request #13463 from MrPetovan/task/imagegrid-improvement
Rework image grid to horizontal masonry, allocate space for images to load
2023-09-24 12:59:10 +02:00
Tobias Diekershoff ce16cd12ec
Merge pull request #13465 from annando/quote-myself
Avoid quoting the own post
2023-09-24 12:51:59 +02:00
Hypolite Petovan d081f8e80c Add height allocation support for vier 2023-09-24 06:48:59 -04:00
Hypolite Petovan 06818a96c3 Add height allocation support for single images smaller than the available width 2023-09-24 06:47:18 -04:00
Michael 1dbc9bd472 Avoid quoting the own post 2023-09-24 10:18:50 +00:00
Hypolite Petovan c4657c4661 Add support for allocated height for inline images 2023-09-23 22:43:31 -04:00
Hypolite Petovan 86141eb363 Add height allocation to single post attached images
- Force single images to expand to the total width of the post
2023-09-23 22:20:17 -04:00
Hypolite Petovan fad760f46a Add icon placeholder for images in image grid 2023-09-23 22:20:16 -04:00
Hypolite Petovan 3cc469c0b7 Rework image grid into a horizontal masonry
- The new server-based horizontal masonry enables tightly packed image grids even with images of varying aspect ratios
- Additionally, the space an image takes is now allocated before it's loaded, reducing content shifting
2023-09-23 22:20:16 -04:00
Hypolite Petovan fc5e60e97b [frio] Change "Ignore thread" icon to slashed bell
- The slashed eye is better used for ignoring content, not notifications
2023-09-23 22:20:16 -04:00
Michael Vogel 3e314d2fc6
Merge pull request #13464 from MrPetovan/bug/13462-event-image-attendance
Restore attendance icons in event posts
2023-09-24 02:53:31 +02:00
Michael 9f23bee6e4 User defined channels can now base on circles/channels 2023-09-24 00:45:07 +00:00
Hypolite Petovan c822baa9c6 Restore attendance icons in event posts
- Co-authored by @mexon
2023-09-23 17:51:03 -04:00
Michael 2164787499 Channel documentation added 2023-09-23 14:46:15 +00:00
Michael 7c6d872964 Only add images 2023-09-22 20:12:10 +00:00
Michael aa429be4d9 Remove links from search text 2023-09-22 19:09:23 +00:00
Hypolite Petovan 72dbc7377b
Merge pull request #13449 from AndyHee/develop
Fix missing closing tag + updated links.
2023-09-22 07:01:53 -04:00
Michael a8a9f93e09 Special search keywords added 2023-09-22 10:28:00 +00:00
Michael c66e841c38 Add author to the search content / fix sidebar link to channels 2023-09-22 05:16:46 +00:00
Andy H3 1f5b66838d
Closing tag 2023-09-22 10:31:09 +07:00
Andy H3 2db0913889
Merge branch 'friendica:develop' into develop 2023-09-22 08:57:38 +07:00
Andy H3 2f95ad77e6
Update FAQ-admin.md 2023-09-22 08:54:26 +07:00
Michael 508d84b2b7 Use full text search 2023-09-21 23:27:05 +00:00
Michael fac76a33df Improved timeline menu 2023-09-21 20:43:14 +00:00
Michael 073da9735d Channels are now added to the settings menu 2023-09-21 06:49:07 +00:00
Michael c9f74cc55f Code standards 2023-09-20 21:42:37 +00:00
Michael 42e22ed91b Channel frontend added 2023-09-20 21:39:05 +00:00
Michael 1ec8b62b58 Merge remote-tracking branch 'upstream/develop' into user-defined-channels 2023-09-20 14:14:35 +00:00
Hypolite Petovan e153787ac7
Merge pull request #13451 from annando/no-jump
Avoid jumps in the timeline after "received" has been selected
2023-09-20 09:08:14 -04:00
Michael a862c4255b Avoid jumps in the timeline after "received" has been selected 2023-09-20 06:36:47 +00:00
Andy H3 48c745fbbd
Update FAQ-admin.md 2023-09-20 11:59:07 +07:00
Michael 63921ccfca Changed class names 2023-09-19 14:23:02 +00:00
Michael 5056c95d60 Show network elements in the channel widget 2023-09-19 10:20:15 +00:00
Michael 00eb6b01ff Fix selected timelines 2023-09-19 09:23:27 +00:00
Michael a2f119e18e Fix code standards 2023-09-19 09:09:20 +00:00
Michael d68572ea44 Channels can now be created by users 2023-09-19 09:05:28 +00:00
Hypolite Petovan 9ed97caf7b
Merge pull request #13446 from annando/restricted
Use channels for non public content
2023-09-18 08:15:35 -04:00
Michael df69573fee Label variable removed 2023-09-18 05:34:41 +00:00
Michael Vogel 6d0a4da888
Update src/Model/Post/Engagement.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-09-18 03:00:42 +02:00
Michael 2b5b5eab4e Merge remote-tracking branch 'upstream/develop' into restricted 2023-09-17 19:33:44 +00:00
Michael b00c2070d7 Use channels for non public content 2023-09-17 19:28:38 +00:00
Hypolite Petovan 75ca10896c
Merge pull request #13442 from annando/channel-contac-visibility
Channel frequency rules can now be set for each contact
2023-09-17 13:55:36 -04:00
Michael a1f6e6e871 Fix "received" 2023-09-17 17:44:33 +00:00
Michael ae3925bba5 Visibility is frequency 2023-09-17 17:42:15 +00:00
Michael e96bb4c5e6 Use "received" as tab for circles or groups when currently in a channel 2023-09-17 11:01:04 +00:00
Michael 371309e775 Use unified sidebar elements 2023-09-17 10:09:07 +00:00
Michael f1fa1f0b62 Further improvements to the automatic update process 2023-09-17 08:17:31 +00:00
Michael e81c911b49 Use class variables 2023-09-17 05:57:44 +00:00
Michael 02084331e3 Only change order for updates for new posts 2023-09-17 05:43:36 +00:00
Michael bb4ec093ad Indention fixed 2023-09-16 08:03:50 +00:00
Michael 04e47660f4 Adapt the description to the behaviour of this option 2023-09-16 04:29:13 +00:00
Michael e731ea58d5 Remove unneeded indexes 2023-09-16 04:23:44 +00:00
Michael e038890bb7 Fix the erratic page update behaviour 2023-09-16 04:21:59 +00:00
Michael aa6eb7fcf1 Visiblity is now frequency 2023-09-16 04:20:38 +00:00
Michael 14ae901ba1 Updated messages.po 2023-09-15 19:07:27 +00:00
Michael a74212c3af Unused code removed 2023-09-15 19:01:01 +00:00
Michael Vogel a923a79b46
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-09-15 20:57:36 +02:00
Michael Vogel 20141026d1
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-09-15 20:57:03 +02:00
Michael Vogel 7b26c08dff
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-09-15 20:56:25 +02:00
Michael 54aea9dbee Changed to radio buttons 2023-09-15 17:40:14 +00:00
Michael 1530209266 Initialize array 2023-09-13 04:38:04 +00:00
Michael 229e7dcee5 Channel visibility rules can now be set for each contact 2023-09-12 10:55:33 +00:00
Hypolite Petovan c6c4d93b3b
Merge pull request #13441 from annando/logging
Added log entry to improve matching with the access log
2023-09-11 06:25:25 -04:00
Michael fe2e00f861 Added logging for the finished processing 2023-09-11 10:18:02 +00:00
Michael ebbe8f98b7 Added log entry to improve matching with the access log 2023-09-11 08:47:35 +00:00
Hypolite Petovan 6ce160ef0b
Merge pull request #13438 from annando/report
"cascade" for "post-engagement" / fixes for "report" definition
2023-09-11 02:22:51 -04:00
Michael 3452699750 Code standards againg 2023-09-10 08:16:06 +00:00
Michael 88235fbc6c Fix code standards 2023-09-10 08:12:28 +00:00
Michael c836b0ee8d Basic functionality for seeing reports 2023-09-10 08:00:44 +00:00
Michael 8c9e4c46a0 "cascade" for "post-engagement" / fixes for "report" definition 2023-09-10 03:47:06 +00:00
Hypolite Petovan 8452d3fdf2
Merge pull request #13417 from annando/timelines
Network, Channels and Community are children of timeline
2023-09-09 18:06:31 -04:00
Michael aa39f3f482 Updated messages.po 2023-09-09 20:43:14 +00:00
Michael 30a7f93685 Invert the condition 2023-09-09 19:41:40 +00:00
Michael 8050389d32 We now display the channel in the sidebar 2023-09-09 19:30:01 +00:00
Michael d395de3aa1 Setting to select your network tabs 2023-09-09 17:38:09 +00:00
Michael 113436afd5 DBA is mostly replaced 2023-09-09 14:31:12 +00:00
Michael f159c9938d Variables aren't static anymore 2023-09-09 14:24:24 +00:00
Michael f9740e180e Use centralized function to set items seen 2023-09-09 14:13:58 +00:00
Michael ab235e24ad Centralised function for the sort order 2023-09-09 13:48:41 +00:00
Michael 19dfdbc03f Simplify network update 2023-09-09 13:26:20 +00:00
Michael d1c00cf1f6 Standards and unify variables 2023-09-09 13:02:20 +00:00
Michael 52db2b3da1 Make variables non static 2023-09-09 12:48:51 +00:00
Michael b5f184388a Fix update after activity 2023-09-09 12:22:40 +00:00
Michael 72b68abe7f Align array assignment 2023-09-09 12:01:35 +00:00
Michael 9d6166d7d6 Simplify query merge, changed update behaviour 2023-09-09 12:00:22 +00:00
Michael e9e5bb12b9 Tests ... 2023-09-09 10:48:43 +00:00
Michael 2c308d300a Test tests again 2023-09-09 10:44:51 +00:00
Michael dbf863fbd2 Test test 2023-09-09 10:37:26 +00:00
Michael 5cc1f87511 Fix tests? 2023-09-09 09:59:30 +00:00
Michael 9f027df909 Code standards + messages.po 2023-09-09 09:30:55 +00:00
Michael 013aee01f5 Network, Channels and Community are children of timeline 2023-09-09 09:14:36 +00:00
Hypolite Petovan 41919bdaea
Merge pull request #13407 from annando/unify-user-conditions
The query condition for active users are unified
2023-09-08 12:53:21 -04:00
Michael 97e3ff1901 Fix test? 2023-09-08 16:45:59 +00:00
Michael 6288b5cc51 Fix tests 2023-09-08 16:32:36 +00:00
Michael 5d457f99e7 Inverse logic 2023-09-08 15:15:38 +00:00
Michael 7e73283949 The query condition for active users are unified 2023-09-08 15:01:51 +00:00
Hypolite Petovan 3f6901fd82
Merge pull request #13400 from annando/channel-model
"Channel" is split into three classes
2023-09-08 10:29:38 -04:00
Michael 692a633dc8 Remove references to the community page 2023-09-08 05:44:08 +00:00
Michael 9cbd0c34a7 Language specific median calculations / collection 2023-09-08 05:06:27 +00:00
Michael 97c519990b Updated messages.po 2023-09-07 17:41:46 +00:00
Michael 129f63cf11 Use a factory 2023-09-07 17:38:33 +00:00
Michael b4e332ccdc Changes after rebase 2023-09-07 17:35:17 +00:00
Michael 067d72ec85 Merge remote-tracking branch 'upstream/develop' into channel-model 2023-09-07 17:28:02 +00:00
Hypolite Petovan ed2e1de008
Merge pull request #13404 from annando/relation-cid
Fixes the score calculation concerning the relation-cid / cid interaction
2023-09-07 09:05:04 -04:00
Michael c1895e7f85 Fixes the score calculation concerning the relation-cid / cid interaction 2023-09-07 12:34:46 +00:00
Michael 6b131a3985 Model class moved to factory 2023-09-05 05:15:14 +00:00
Michael 8b4309f117 Classes and constants moved 2023-09-05 05:08:19 +00:00
Michael f7170343f7 Constants moved to model class 2023-09-04 22:31:06 +00:00
Michael 196219383e "Channel" is split into three classes 2023-09-04 22:22:25 +00:00
Hypolite Petovan 41f3cbf727
Merge pull request #13395 from annando/icons
Some more platform icons added
2023-09-04 07:02:12 -04:00
Hypolite Petovan bcfe5fee2d
Merge pull request #13394 from annando/language
New functions for the language library
2023-09-04 07:01:52 -04:00
Michael 98c4a22580 Reformatted code 2023-09-04 01:37:06 +00:00
Hypolite Petovan 5fee309797
Merge pull request #13396 from annando/context
Simplified context definitions
2023-09-03 17:11:32 -04:00
Michael 4df7faef6d Simplified conversion 2023-09-03 19:22:52 +00:00
Michael 6c42371d37 Simplified context definitions 2023-09-03 18:57:30 +00:00
Michael 21c7c28447 Some more platform icons added 2023-09-03 18:48:52 +00:00
Michael 595508a91f New functions for the language library 2023-09-03 17:44:44 +00:00
Michael 64c8c2afdf Merge remote-tracking branch 'upstream/develop' into language 2023-09-03 16:44:24 +00:00
Michael c5ef0cfe20 New function to change language codes for the library 2023-09-03 16:42:17 +00:00
Hypolite Petovan a275f0a719
Merge pull request #13390 from annando/channel
Channels are a new way to see different content
2023-09-03 11:08:47 -04:00
Michael 7220027332 Updated messages.po 2023-09-03 14:50:56 +00:00
Michael d3231c7a7d Use language filtering on all channels, rearranged channels 2023-09-03 14:01:46 +00:00
Michael e5978d74c7 Fix coding standards 2023-09-03 12:58:09 +00:00
Michael 8b26d488ad Language selector added, "channel" is now "channels" 2023-09-03 12:54:25 +00:00
Michael 140ac947b5 Fixed spelling 2023-09-03 08:53:44 +00:00
Michael 7fd1f1424a Improved language detection 2023-09-03 08:44:17 +00:00
Michael 508be7a742 Channels in your language 2023-09-03 05:23:49 +00:00
Michael e68f781f9d The language is now stored as well 2023-09-03 04:20:09 +00:00
Michael 573050c6ef Simplified call 2023-09-03 03:46:19 +00:00
Michael 52e925559e Acesskeys updated 2023-09-03 03:40:54 +00:00
Michael 3c84a22b32 Some more class changes 2023-09-03 03:35:10 +00:00
Michael 53bd34ed8d DBA is now replaced 2023-09-02 21:48:55 +00:00
Michael 5ddc9d2c09 DI is now removed 2023-09-02 21:37:02 +00:00
Michael 9e0090c068 Test code removed 2023-09-02 19:42:20 +00:00
Michael 5f0a3d392a Fix code standards 2023-09-02 19:37:20 +00:00
Michael ee8cf83722 More code simplification 2023-09-02 19:32:43 +00:00
Michael 68b9a9796c Simplified code 2023-09-02 19:28:54 +00:00
Michael 4ad3cc2cc1 Use $request / changed icon 2023-09-02 19:16:48 +00:00
Michael 990b65b859 Don't show contacts that we ignore or block 2023-09-02 16:16:56 +00:00
Michael cfc639ffe4 Code standards 2023-09-02 15:55:50 +00:00
Michael 30d10c60d2 Channels for audio, video and images 2023-09-02 15:52:53 +00:00
Michael fdaff43039 Use the owner, not the author 2023-09-02 14:19:52 +00:00
Michael ca32134830 Use activitites and remove unused config 2023-09-02 13:56:54 +00:00
Michael 63c8a90880 "For you" now respects the "notify new posts" setting 2023-09-02 13:14:54 +00:00
Michael 9ec7925ec5 Use a hopefully better "for you" algorithm 2023-09-02 12:47:48 +00:00
Michael 15fc205d04 Fix Code Standards 2023-09-02 10:21:23 +00:00
Michael 837c2dd24a Use group posts for channels 2023-09-02 06:38:05 +00:00
Michael 3d6dae7774 Updated messages.po 2023-09-02 05:36:32 +00:00
Michael e186395198 Update function / rearrange tab order 2023-09-02 05:22:44 +00:00
Michael 5144654067 Enable automatic updates 2023-09-02 05:07:50 +00:00
Michael f2d8650d36 Fix date time format calculation 2023-09-01 23:47:29 +00:00
Michael 705deadef8 Code standards 2023-09-01 22:36:47 +00:00
Michael b5a2fb5492 Changed defaults.config.php 2023-09-01 22:32:41 +00:00
Michael 59a822ee87 Configuration is now stored in the "channel" section 2023-09-01 22:28:25 +00:00
Michael 5c166be3fc Channels are a new way to see different content 2023-09-01 21:56:59 +00:00
Hypolite Petovan 5c26ba5f5d
Merge pull request #13387 from annando/relation-score
Calculate the interaction score
2023-08-30 16:04:05 -04:00
Michael 35995633ae Calculate the interaction score 2023-08-30 19:17:42 +00:00
Hypolite Petovan 64b5f93a6a Add FIXME
- Current implementation is failing tests with emojis including the zero-width-joiner character, encoded on 3 bytes only.
2023-08-29 22:17:48 -04:00
Hypolite Petovan 059a111282 Add unit tests for Smilies::isEmojiPost
- Current implementation is failing tests with emojis including the zero-width-joiner character, encoded on 3 bytes only.
2023-08-29 22:16:09 -04:00
Michael Vogel 6ed440718d
Update src/Content/Smilies.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-08-29 04:59:27 +02:00
Michael 7ee07535f5 Move "html_entity_decode" 2023-08-28 20:53:31 +00:00
Michael 9066a6133c New function to replace blank characters 2023-08-28 20:24:20 +00:00
Michael Vogel 350999fcca
Merge pull request #13385 from MrPetovan/bug/fatal-errors
Fix reference to Entity\LocalRelationship class after simplifying `use` statement in Contact\Profile
2023-08-28 21:55:45 +02:00
Hypolite Petovan 667f384bfc Fix reference to Entity\LocalRelationship class after simplifying use statement in Contact\Profile
- Address https://github.com/friendica/friendica/issues/13156#issuecomment-1696009068
2023-08-28 13:30:01 -04:00
Hypolite Petovan 75c4cc70c6
Merge pull request #13383 from annando/baseurl
Improve the fetching of the contact's baseurl
2023-08-28 12:31:23 -04:00
Michael 4dbb7dd3da Posts without text or only with emojis are now always accepted in the language check 2023-08-28 15:37:20 +00:00
Michael 24d2d0481a Merge remote-tracking branch 'upstream/develop' into baseurl 2023-08-28 15:24:20 +00:00
Hypolite Petovan 5f832cb75a
Merge pull request #13382 from annando/subscription
Store and display the subscribed tags per post
2023-08-28 10:42:09 -04:00
Michael 86b6be0668 Fix indentation 2023-08-28 14:14:07 +00:00
Michael Vogel 06a1db4f24
Merge pull request #13375 from MrPetovan/bug/empty-timeline
Fix user moderation conditions in network-thread-view and network-item-view
2023-08-28 06:44:20 +02:00
Michael 2bc0abbc50 Updated messages.po 2023-08-28 04:37:54 +00:00
Michael ff6d14a022 Merge remote-tracking branch 'upstream/develop' into subscription 2023-08-28 04:15:37 +00:00
Michael 38d09084a3 Improve the fetching of the contact's baseurl 2023-08-28 04:09:49 +00:00
Michael f842e7b813 Store and display the subscribed tags 2023-08-28 04:05:52 +00:00
Michael Vogel 70f2489710
Merge pull request #13376 from MrPetovan/task/13369-ignore-server-host
Replace author name by server host in Ignore Server labels
2023-08-26 00:10:08 +02:00
Michael Vogel ddc3c0db03
Merge pull request #13368 from MrPetovan/bug/13367-post-plink
Replace reference to post plink by author base URL
2023-08-26 00:03:45 +02:00
Hypolite Petovan ba98327463 Update main translation file after updating a string 2023-08-25 09:30:51 -04:00
Hypolite Petovan 15d24a77c7 Replace author name by server host in Ignore Server labels 2023-08-25 09:30:51 -04:00
Hypolite Petovan f2c1ecd19b Replace reference to post plink by author base URL
- This is more reliably used to show the Ignore Author Server link
2023-08-25 09:30:23 -04:00
Hypolite Petovan 6fa7c23bb9 [Database 1529] Add author baseurl to post-user-view
- Explicit the contact.baseurl and contact.gsid caveat
2023-08-25 09:30:23 -04:00
Hypolite Petovan b659aa5c0f Fix user moderation conditions in network-thread-view and network-item-view
- This was causing the network timeline to be empty if all the top-level authors were blocked or ignored
2023-08-25 09:30:05 -04:00
Hypolite Petovan f667d6dd25
Merge pull request #13377 from nupplaphil/fix/message
Update messages.po
2023-08-24 19:17:21 -04:00
Philipp 25f6f7a406
Update messages.po 2023-08-24 20:47:49 +02:00
Michael Vogel 9a50101bbd
Merge pull request #13371 from MrPetovan/bug/13370-empty-gsid
Skip server ignored check when contact gsid is empty in Module\Contact\Profile
2023-08-22 22:13:49 +02:00
Michael Vogel 4a348f8bca
Merge pull request #13372 from MrPetovan/bug/13365-repost-post-rules
Fix variable name in constructor in Repository\Report
2023-08-22 22:08:41 +02:00
Michael Vogel 57ab2a4294
Merge pull request #13374 from friendica/update-htaccess
Add .htaccess file to exclusion list in Update.md
2023-08-22 22:06:10 +02:00
Hypolite Petovan c55d70b6d4
Add .htaccess file to exclusion list in Update.md 2023-08-22 10:28:34 -04:00
Hypolite Petovan ac99ab55c5 Fix variable name in constructor in Repository\Report 2023-08-22 08:50:16 -04:00
Hypolite Petovan 3d13db1f2c Skip server ignored check when contact gsid is empty in Module\Contact\Profile 2023-08-22 08:38:12 -04:00
Michael Vogel 0219d200a5
Merge pull request #13364 from MrPetovan/bug/missing-user-gserver.gsid-key
[Database 1528] Add expected index for foreign key user-gserver.gsid
2023-08-21 14:41:49 +02:00
Hypolite Petovan 76cc8eaff8 [Database 1528] Add expected index for foreign key user-gserver.gsid 2023-08-21 08:07:10 -04:00
Hypolite Petovan e9861b11f3 Don't update user.username from an empty profile.name in 1525 update 2023-08-20 15:12:02 -04:00
Michael Vogel 1edb7b6464
Merge pull request #13288 from MrPetovan/task/user-server-block
Add Ignore Author Server button to post actions
2023-08-20 20:41:17 +02:00
Hypolite Petovan 3cf9edf7cc Updated main translation file after adding several strings 2023-08-20 14:32:54 -04:00
Hypolite Petovan 544ce206d7 [vier] Add mute author server link in photo menu 2023-08-20 14:27:43 -04:00
Hypolite Petovan 6ecc9c4cba Implement ignored server block in conversations
- Add server ignore status in contact profile page
- Add new reason in DisplayNotFound exception page
2023-08-20 14:27:43 -04:00
Hypolite Petovan 156e3fa101 [Database 1527] Add required gsid fields to post-user-view, post-thread-user-view, post-view and post-thread-view 2023-08-20 14:27:40 -04:00
Hypolite Petovan a670d478f8 Add user settings page to manage remote server settings 2023-08-20 14:27:09 -04:00
Hypolite Petovan 4c6334ea13 [frio] Add Mute Author Server button to post actions 2023-08-20 14:27:09 -04:00
Hypolite Petovan 9bbb55b2bb [Database 1526] Add new user-gserver table
- Add Entity, Collection, Factory and Repository classes for it
2023-08-20 14:27:03 -04:00
Hypolite Petovan 2ba3069b07 Create DDD classes for gserver class 2023-08-20 14:26:27 -04:00
Hypolite Petovan 63f5d94a02 Fix DisplayNotFound page
- Add another condition earlier in Module\Item\Display
- Separate reasons in individual translation strings
2023-08-20 14:26:27 -04:00
Hypolite Petovan 96d2cddb54 Remove DI dependency from Module\Contact\Profile 2023-08-20 14:26:27 -04:00
Michael Vogel fe48fcf9de
Merge pull request #13339 from MrPetovan/task/13332-deprecate-profile-name
Deprecate profile.name in favor of user.username
2023-08-20 20:18:47 +02:00
Hypolite Petovan b79c2e8d71 Updated main translation file after changing a couple strings 2023-08-20 14:00:05 -04:00
Hypolite Petovan 38f04616d2 [Database 1525] Deprecate profile.name in favor of user.username 2023-08-20 14:00:01 -04:00
Hypolite Petovan e31d90eadb Replace references to profile.name by user.username 2023-08-20 13:59:07 -04:00
Hypolite Petovan 7e971a2ec6 Remove DI dependency from Module\Settings\Profile\Index
- Replace obsolete base settings/profile/index template by vier version
- Group translation labels in settings/profile/index template variables
2023-08-20 13:59:06 -04:00
Hypolite Petovan ff7e31ab9d
Merge pull request #13361 from annando/gptbot
GPTBot added to the default robots.txt
2023-08-20 11:29:44 -04:00
Hypolite Petovan b218a7f218
Merge pull request #13360 from annando/issue-12815
Issue 12815: JsonLD parsing problems with data-integrity
2023-08-20 08:53:30 -04:00
Michael d3cc999866 GPTBot added to the default robots.txt 2023-08-20 12:41:42 +00:00
Michael 4097808b95 Resture previous state 2023-08-20 12:39:05 +00:00
Michael 12d6080a48 Added another context 2023-08-20 12:13:25 +00:00
Michael f59e11281c Issue 12815: JsonLD parsing problems with data-integrity 2023-08-20 05:57:39 +00:00
Michael Vogel 3c1a3b1091
Merge pull request #13356 from MrPetovan/bug/13355-mastodon_banner
Replace remaining references to default banner image by `api.mastodon_banner` configuration value
2023-08-19 08:06:30 +02:00
Hypolite Petovan dad3404ac5 Replace remaining references to default banner image by api.mastodon_banner configuration value
- Ensure leading slash is present at every place the configuration value is used
2023-08-17 21:58:53 -04:00
Hypolite Petovan 5d7985dcff Move default header image credits to static/defaults.config.php 2023-08-17 07:28:32 -04:00
Hypolite Petovan 18c078f8c2
Merge pull request #13175 from HankG/mastodon-api-reshare-fixes
Mastodon api reshare fixes
2023-08-16 14:55:33 -04:00
Hank Grabowski ba967386f4 Revert Post::selectOriginal to original logic 2023-08-16 14:37:24 -04:00
Hypolite Petovan cc5c3426fe
Merge pull request #13351 from annando/textarea
New parameter for textareas to make them readonly
2023-08-15 16:30:16 -04:00
Michael 2183c5e60c New parameter for textareas to make them readonly 2023-08-15 20:22:15 +00:00
Hank Grabowski 0985ddb3ff Add PR and Issue Numbers for TODO for createFromUriId hack in Mastodon API 2023-08-15 15:23:31 -04:00
Hank G f879b2c9bc
Merge branch 'friendica:develop' into mastodon-api-reshare-fixes 2023-08-15 11:57:28 -04:00
Michael Vogel 66b7253986
Merge pull request #13346 from MrPetovan/bug/13343-add-message-id
Add a Message-ID header if none is set in Util\Emailer
2023-08-15 14:08:29 +02:00
Hypolite Petovan b5f33124be
Merge pull request #13348 from annando/retrial
New function for the number of retrials / Daily reload of hooks
2023-08-15 12:37:58 +02:00
Michael 7faba0de5e New function for the number of retrials / Daily reload of hooks 2023-08-15 02:13:50 +00:00
Hypolite Petovan 735835193d Add a Message-ID header if none is set in Util\Emailer
- Address anti-spam detection rule
2023-08-14 17:17:25 -04:00
Hypolite Petovan 07cdc1fc97
Merge pull request #13345 from nupplaphil/fix/doc
Update db_user-contact.md
2023-08-14 19:47:16 +02:00
Philipp 32e6126552
Update db_user-contact.md 2023-08-14 19:30:29 +02:00
Hank G 09a612670a
Merge branch 'friendica:develop' into mastodon-api-reshare-fixes 2023-08-13 15:42:22 -04:00
Michael Vogel a87de6cdaf
Merge pull request #13342 from MrPetovan/bug/13333-exception-home-page
[frio] Add a <section> tag to the home page default template
2023-08-13 05:27:37 +02:00
Hypolite Petovan 9c23a4511d
Merge pull request #13291 from Quix0r/features/config-blocklist-published
Configuration key added to publish/hide blocklist
2023-08-12 11:31:42 +02:00
Hypolite Petovan a966993c54 [frio] Add a <section> tag to the home page default template
- This is required to make page wrapper display correctly
2023-08-12 10:18:53 +02:00
Hypolite Petovan 1b7075aebb
Merge pull request #13338 from annando/resize-to-size
New function to resize an image to not exceed a given file size
2023-08-10 23:20:11 +02:00
Hypolite Petovan a2fce0e89d
Merge pull request #13337 from annando/block-chatgpt
Add a ChatGPT role for the built in robots.txt
2023-08-10 23:18:46 +02:00
Hypolite Petovan 1d556b78c1
Merge pull request #13336 from annando/moderator
Preparations for a moderator role
2023-08-10 23:17:43 +02:00
Michael d8333af805 Updated messages.po 2023-08-10 21:16:43 +00:00
Hypolite Petovan 3cda8b65cd
Merge pull request #13335 from annando/no-twitter
The twitter addon is no import connector anymore
2023-08-10 23:16:07 +02:00
Michael 794378ed29 New function to resize an image to not exceed a given file size 2023-08-10 21:12:35 +00:00
Michael 241624027f Add a ChatGPT role for the built in robots.txt 2023-08-10 21:10:12 +00:00
Michael 0a45bdd3b7 Preparations for a moderator role 2023-08-10 21:06:08 +00:00
Michael 97aecc8fc1 The twitter addon is no import connector anymore 2023-08-09 20:29:45 +00:00
Michael Vogel a6449da557
Merge pull request #13310 from MrPetovan/bug/13217-mirroring-blocked
Prevent post mirroring by blocked users
2023-08-05 20:27:17 +02:00
Tobias Diekershoff 41bc148040
Merge pull request #13331 from annando/paging-search
Fix: Pagination in search result works again
2023-08-04 06:29:47 +02:00
Michael 858151807f Improved logging 2023-08-03 20:36:19 +00:00
Philipp 93fa957921
Merge pull request #13329 from MrPetovan/task/13318-redis-unix-socket
Add support for port = 0 in Redis driver
2023-08-03 14:53:01 +02:00
Michael 911ed3d6ba Fix: Pagination in search result works again 2023-08-03 05:46:08 +00:00
Tobias Diekershoff d9ab0bb60d
Merge pull request #13330 from annando/relay-tags
Fix the tag detection for relay posts
2023-08-03 06:27:49 +02:00
Michael 8fcdd87473 Fix the tag detection for relay posts 2023-08-02 21:48:31 +00:00
Hypolite Petovan eff605b1f3 Prevent post mirroring by blocked users 2023-08-02 21:53:10 +02:00
Hypolite Petovan a905cdfd09 Prevent polling contact of blocked users 2023-08-02 21:53:10 +02:00
Hypolite Petovan 33b8680dfd [Database 1524] Fix contact-user.remote_self field type from boolean to integer
- Move MIRROR_* constants to LocalRelationship entity
- Convert boolean LocalRelationship->isRemoteSelf field to integer LocalRelationship->remoteSelf
2023-08-02 21:53:10 +02:00
Hypolite Petovan d0a2357fbd Add constants for the Fetch Further Information field 2023-08-02 21:53:09 +02:00
Hypolite Petovan 762bd7a847 Add support for Unix domain sockets to Redis in setting defaults
- Add support for port = 0 in Redis driver
2023-08-02 20:43:28 +02:00
Hypolite Petovan 6478b5ba5f [Composer] Add suggested extensions 2023-08-02 20:43:28 +02:00
Tobias Diekershoff 3a98b958d3
Merge pull request #13327 from MrPetovan/bug/field-value-escape
Remove escaping exception for form field values
2023-08-02 20:14:50 +02:00
Tobias Diekershoff bf2c19b2e0
Merge pull request #13328 from MrPetovan/bug/escape-username
Escape HTML in system messages and in display names for inclusion in syndication link tags
2023-08-02 20:13:20 +02:00
Hypolite Petovan cc7fce3d36 Escape HTML in display names for inclusion in syndication link tags
- Thanks to Laura Pîrcălăboiu for the report
2023-08-02 16:59:46 +02:00
Hypolite Petovan f984e385c8 Escape HTML in system messages
- Thanks to Laura Pîrcălăboiu for the report
2023-08-02 16:59:08 +02:00
Hypolite Petovan ecfbf317ae Fix reference to username field in Contact::updateSelfFromUserID
- Profile isn't updated with the display name in the account settings
2023-08-02 16:58:14 +02:00
Hypolite Petovan 6f9e15ea57 Remove escaping exception for form field values
- This could allow code injection from a malicious query leading to a form page
- Thanks to Laura Pîrcălăboiu for the report
2023-08-02 16:30:48 +02:00
Hypolite Petovan 13cb8bb395
Merge pull request #13325 from annando/video
Improvements for Youtube posts via API
2023-08-01 23:54:23 +02:00
Michael 7ad8894871 Improvements for Youtube posta via API 2023-08-01 14:27:56 +00:00
Hypolite Petovan 737422330a
Merge pull request #13323 from annando/relay
Improvements for relays like relay.fedi.buzz
2023-07-30 20:53:14 +02:00
Michael 639d160c24 Improvements for relais like relay.fedi.buzz 2023-07-30 17:46:37 +00:00
Hypolite Petovan 91effb3576
Merge pull request #13321 from nupplaphil/bug/redis
Make InstanceManager strategy naming convention case insensitive.
2023-07-29 16:04:45 +02:00
Philipp 367d9149aa
test 2023-07-29 13:51:03 +02:00
Philipp 6bcf5cb823
Make InstanceManager strategy naming convention case insensitive. 2023-07-29 13:20:02 +02:00
Philipp 06df62a2b5
Fix Woodpecker 2023-07-28 20:12:25 +02:00
Hypolite Petovan 4073400bfb
Merge pull request #13298 from nupplaphil/feat/strategies
[Hook] Introduce some more strategies
2023-07-28 19:50:37 +02:00
Philipp e231907b3c
add opensocial as location for db-based execution 2023-07-28 19:07:29 +02:00
Philipp 8ee58aaf18
try making php-lint faster.. 2023-07-28 19:02:08 +02:00
Philipp bed13f71bd
use default_key 2023-07-28 18:55:06 +02:00
Philipp 5291401de0
rename woodpecker "pipeline" to "steps" 2023-07-28 17:45:31 +02:00
Philipp 0c6efe50c3
Remove unused parameter 2023-07-28 17:39:13 +02:00
Philipp acf52a9783
Added a lot of constants :-) 2023-07-28 17:39:13 +02:00
Philipp 9ff89a970a
Rename NAME to constant 2023-07-28 17:39:12 +02:00
Philipp bbfec06a3d
Add "getName()" test 2023-07-26 21:44:31 +02:00
Philipp 9f18222a06
Unify "Capability" 2023-07-26 21:44:31 +02:00
Hypolite Petovan 8835cd6c3b
Merge pull request #13313 from haheute/frio-alignment
fix frio alignment
2023-07-26 21:19:06 +02:00
Michael Vogel 5c8708f4c9
Merge pull request #13308 from MrPetovan/bug/13216-toggle-mobile-local
Rework Module\ToggleMobile to check for local links
2023-07-26 20:26:48 +02:00
Hannes Heute 8cc9471a7b added class in the mobile menu, too 2023-07-26 19:59:08 +02:00
Philipp 8ed94037d5
Move PConfig to strategies 2023-07-26 19:18:23 +02:00
Philipp 58f56c7d7d
Move KeyValuePairStorage to strategies 2023-07-26 19:18:09 +02:00
Philipp f2c02a79b9
Move Cache to strategies 2023-07-26 19:17:43 +02:00
Hank Grabowski b0fe1927d5 Fix Mastodon API bookmark, mute, pin, reblog EPs temporarily by checking if blog in post func 2023-07-26 19:12:24 +02:00
Hank Grabowski 7a556d1588 Fix Mastodon API fav/unfav temporarily by checking if blog in post func 2023-07-26 19:12:24 +02:00
Hank Grabowski 532a46d188 Change selectOriginal post to return earliest post from non-0 user
I believe the earliest entry not being uid=0 should be the original post of a reshared post
2023-07-26 19:12:23 +02:00
Hank Grabowski 8d9e0b4eae Fix Mastodon API Reshared statuses are a stub w/content in reblog field 2023-07-26 19:12:23 +02:00
Hypolite Petovan 8c06f96531 Rework Module\ToggleMobile to check for local links
- Remove dependency on DI class
- Remove dependency on request/session superglobals
- Remove dependency on App class
2023-07-26 19:11:39 +02:00
Hypolite Petovan 148c1c7e1a Add new BaseUrl->isLocalUri and BaseUrl->isLocalUrl methods
- Deprecate Util\Network->isLocalLink to reduce dependency on DI class
2023-07-26 19:11:39 +02:00
Hannes Heute e53b875e79 fix frio alignment 2023-07-26 19:09:31 +02:00
Roland Häder 3111c2fd5c
Renamed to 'public' after feedback 2023-07-26 10:20:14 +02:00
Michael Vogel f1da323b07
Merge pull request #13307 from MrPetovan/bug/13240-event-private
Fix item.private value in Model\Event::getItemArrayForId
2023-07-26 07:38:21 +02:00
Hypolite Petovan e73a94e7d6
Merge pull request #13309 from annando/api-upload
API: Description added at picture upload
2023-07-26 06:31:00 +02:00
Michael Vogel 0ecdb0252a
Merge pull request #13305 from MrPetovan/bug/13304-item-drop-args
Restore `item/drop/{item_id}` route in mod/item
2023-07-25 23:38:45 +02:00
Michael 9e434c15dc API: Description added at picture upload 2023-07-25 21:27:12 +00:00
Hypolite Petovan e468870e87 Fix item.private value in Model\Event::getItemArrayForId
- The $event array doesn't have a `private` key because the event table doesn't have a `private` field.
2023-07-25 22:48:37 +02:00
Hypolite Petovan 7e8a44c15b Remove duplicate fields in Model\Event::getItemArrayForId
- Fix formatting in Model\Event
2023-07-25 22:47:27 +02:00
Hypolite Petovan 592e829347 Fix wrong field name in Model\Mail 2023-07-25 22:44:03 +02:00
Hypolite Petovan e5b887b462
Merge pull request #13306 from annando/buffer
Fix v1/instance endpoint to make Buffer work
2023-07-25 22:20:36 +02:00
Michael 8d49ea29d2 Fix v1/instance endpoint to make Buffer work 2023-07-25 20:14:26 +00:00
Hypolite Petovan 00ddc9cfd7 Restore item/drop/{item_id} route in mod/item 2023-07-25 20:16:18 +02:00
Philipp 51b128c678
Merge pull request #13303 from MrPetovan/bug/warnings
Remove useless call to gethostbyname()
2023-07-25 20:13:16 +02:00
Hypolite Petovan bb98046846 Remove useless call to gethostbyname()
- This function doesn't return a falsy value even when no IP address was able to be retrieved for the given host name
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1638505285
2023-07-25 15:37:33 +02:00
Tobias Diekershoff 28d55c8c5d
Merge pull request #13302 from annando/gotosocial
Fix JsonLD parsing problems with GoToSocial
2023-07-25 07:08:39 +02:00
Michael 407e6389b3 Fix JsonLD parsing problems with GoToSocial 2023-07-25 04:33:55 +00:00
Tobias Diekershoff 98e50a49f0
Merge pull request #13299 from annando/issue-13020
Issue 13020: Fix OAuth connection with Buffer
2023-07-24 06:38:02 +02:00
Michael 6fd4839441 Reformatted code 2023-07-23 20:20:46 +00:00
Michael 61af2e8006 Issue 13020: Fix OAuth connection with Buffer 2023-07-23 20:05:10 +00:00
Hypolite Petovan 4a5abd1527
Merge pull request #13294 from annando/restricted-access
The access to the profile and the list of followers/followings can now be restricted
2023-07-23 21:00:22 +02:00
Michael db1dc143f1 Merge remote-tracking branch 'upstream/develop' into restricted-access 2023-07-23 14:30:43 +00:00
Michael 9e726eadee Coded reformatted 2023-07-23 14:27:08 +00:00
Michael 60c7bc90e6 Removed unneeded check 2023-07-23 13:59:01 +00:00
Hypolite Petovan aee420152f
Merge pull request #13246 from nupplaphil/feat/addons
Introduce dynamic hook loading
2023-07-23 06:58:46 -04:00
Michael f0563df991 Fix notice 2023-07-22 16:00:09 +00:00
Michael 15eb840792 Merge remote-tracking branch 'upstream/develop' into restricted-access 2023-07-22 12:38:03 +00:00
Tobias Diekershoff 8cfac0b02a
Merge pull request #13295 from annando/issue-13289
Issue 13289: Ignore unsupported networks
2023-07-22 13:38:18 +02:00
Michael 7538f6a346 Issue 13289: Ensure to not respect deactivated connector networks 2023-07-22 10:49:42 +00:00
Michael 579b7065bd full instead of limited 2023-07-22 01:40:21 +00:00
Philipp ede8896721
Make PHP-CS happy 2023-07-21 22:47:09 +02:00
Philipp cba656383e
Adhere feedback
- rename hooks.config.php to strategies.config.php
- change all corresponding classes and tests
2023-07-21 22:42:24 +02:00
Michael 26aa38341f The access to the profile and the list of followers/followings can now be restricted 2023-07-21 07:06:55 +00:00
Michael d84866cf8c Merge remote-tracking branch 'upstream/develop' into develop 2023-07-18 05:06:28 +00:00
Philipp e659a03140
Apply suggestions from code review
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-07-17 20:20:21 +02:00
Roland Häder bcd2b1c523
Fixed:
- allow administrator to choose whether the blocklist is published under
  `/about` or later any other API (e.g. common is
  `/api/v1/instance/domain_blocks`).
2023-07-17 15:01:47 +02:00
Hypolite Petovan 54033b5e5a
Merge pull request #13285 from annando/more-privacy
Unified BBCode conversion, improved proxy functionality
2023-07-17 08:00:53 -04:00
Philipp d440b9a63f
Restore LoggerInterface import 2023-07-17 01:56:13 +02:00
Philipp 3a0c18713e
Remove unused ProfilerLogger factory 2023-07-17 01:41:02 +02:00
Philipp 447f9daa9f
Fix PHP-CS 2023-07-17 01:19:37 +02:00
Philipp 8dbbf882a8
Fix SyslogLogger and tests 2023-07-17 01:16:29 +02:00
Philipp bca6abf4ab
Fix logger classes and tests 2023-07-17 01:06:11 +02:00
Philipp 903ecc2a76
Make PHP-CS happy 2023-07-17 00:15:16 +02:00
Philipp 5c57d8de20
Add license 2023-07-17 00:13:03 +02:00
Philipp 93af6f0564
Add tests for InstanceManager and remove Decorator hook logic (avoid complex Dice logic) 2023-07-17 00:10:15 +02:00
Philipp 527622df4a
Add tests for HookFileManager 2023-07-16 22:41:56 +02:00
Philipp a9178e6982
Add tests for AddonFiles 2023-07-16 22:05:59 +02:00
Philipp bd455e75c0
Update woodpecker PHP version 2023-07-16 20:50:04 +02:00
Michael 7e322c21b3 Removed unneeded parameter 2023-07-16 16:48:24 +00:00
Philipp c3075d3eba
add docker-translate command 2023-07-16 18:43:37 +02:00
Philipp 1b4eaa6a10
Update messages.po 2023-07-16 18:43:36 +02:00
Philipp ddeef9387f
improve hooks.config.php 2023-07-16 18:43:36 +02:00
Philipp 7bfc3c0ae0
Add doc 2023-07-16 18:43:36 +02:00
Philipp 0ac247550b
Doc 2023-07-16 18:43:36 +02:00
Philipp e92d25a258
Remove unnecessary trailing slashes 2023-07-16 18:43:36 +02:00
Philipp e9699b8e55
Some more PHP-CS 2023-07-16 18:43:35 +02:00
Philipp 82f3e4ad86
Make PHP-CS happy 2023-07-16 18:43:35 +02:00
Philipp 89a31e43b2
Fix license check 2023-07-16 18:43:35 +02:00
Philipp 14b76e48f0
Introduce dynamic hook loading
- Dynamically load addon files
- Dynamically load hooks
- Rewrite Logger-logic to use new hook logic (Monolog is working again)
2023-07-16 18:43:35 +02:00
Michael 7315048474 Revert change 2023-07-16 09:48:37 +00:00
Michael 0ea93bfba1 Merge remote-tracking branch 'upstream/develop' into more-privacy 2023-07-16 09:41:55 +00:00
Michael b4d2d0dd31 Merge remote-tracking branch 'upstream/develop' into develop 2023-07-16 09:33:57 +00:00
Michael fd055193ac Removed unused variable 2023-07-16 09:33:52 +00:00
Michael 01bbf40418 Simplify plaintext creation 2023-07-16 09:32:17 +00:00
Michael 08dafd6d70 Use plaintext for names and titles 2023-07-16 07:26:20 +00:00
Michael 8bb33dccd1 Unified BBCode conversion, improved proxy functionality 2023-07-15 20:12:08 +00:00
Hypolite Petovan ff092833ae
Merge pull request #13283 from AlfredSK/AlfredSK-fix-wsod-creating-report
Fix WSOD when creating a report using PHP8.x
2023-07-15 09:20:45 -04:00
Steffen K9 8b5a49fb5c
Fix WSOD when creating a report using PHP8.x
Fixes https://github.com/friendica/friendica/issues/13277
2023-07-15 14:41:29 +02:00
Tobias Diekershoff 4a645bec27
Merge pull request #13280 from MrPetovan/bug/warnings
Remove unused variable trheadids from Content\Conversation
2023-07-14 06:37:12 +02:00
Hypolite Petovan f87c105518 Remove unused variable trheadids from Content\Conversation
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1635208668
2023-07-13 23:51:03 -04:00
Hypolite Petovan 81d2d4b70e
Merge pull request #13278 from AlfredSK/AlfredSK-fix-column-name
Fix db error: missing column name 'line-text'
2023-07-11 16:57:39 -04:00
Steffen K9 3624792bd6
Fix db error: missing column name 'line-text'
See https://github.com/friendica/friendica/issues/13277#issuecomment-1631359293
2023-07-11 22:37:45 +02:00
Tobias Diekershoff b3f8c0e0c3
Merge pull request #13275 from MrPetovan/bug/warnings
Address a couple warnings
2023-07-11 15:27:21 +02:00
Hypolite Petovan 248148af99 Return early if no items are provided in Content\Conversation->getThreadList
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1628437859
2023-07-11 09:03:52 -04:00
Hypolite Petovan 91d63213ae Reintroduce is_string modifier in addons/connector templates
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1606003698
2023-07-11 09:00:41 -04:00
Hypolite Petovan 451ba407d7
Merge pull request #13274 from annando/report-gsid
Fix "Cannot add or update a child row: a foreign key constraint fails"
2023-07-11 07:54:54 -04:00
Michael 52c062adb6 Fix "Cannot add or update a child row: a foreign key constraint fails" 2023-07-11 07:43:53 +00:00
Hypolite Petovan f604185b10
Merge pull request #13272 from annando/last-editor-uid
Fix "Cannot drop index 'last-editor-uid': needed in a foreign key constraint"
2023-07-10 17:45:52 -04:00
Michael c822d5fa94 Fix "Cannot drop index 'last-editor-uid': needed in a foreign key constraint" 2023-07-10 20:50:16 +00:00
Tobias Diekershoff 1359b171af
Merge pull request #13268 from MrPetovan/task/normalize-item-action-label
Normalize item action label key name
2023-07-10 10:01:50 +02:00
Tobias Diekershoff 2f7789e397
Merge pull request #13269 from MrPetovan/bug/fix-exception-return-code
Fix exception module not setting the HTTP response code
2023-07-10 09:59:04 +02:00
Michael Vogel 6fd76829b0
Merge pull request #13245 from MrPetovan/task/moderation-reports
Create moderation reports
2023-07-10 07:50:11 +02:00
Hypolite Petovan 3748adf2fd Fix exception module not setting the HTTP response code
- Page->run now returns an updated response for use with Page->exit
- Remove now duplicated header setting in Page->run
- Remove now obsolete (and ineffective) HTTP return code setting from Module\Special\HTTPException->content
- Add HTTP response code and reason setting in BaseModule->run
2023-07-09 22:45:46 -04:00
Hypolite Petovan 37131a6785 Normalize item action label key name
- Remove unused $item.return reference in asynchronous item action URLs
2023-07-09 21:00:36 -04:00
Hypolite Petovan 969becfc15 Update main transation file after updating strings 2023-07-09 18:37:19 -04:00
Hypolite Petovan c312d11dab Add Report Create module
WIP
2023-07-09 18:32:43 -04:00
Hypolite Petovan 76de49a25c Add fields to Report entity
- Add clock dependency to Moderation\Factory\Report
- Change DateTime field to DateTimeImmutable to satisfy Clock return type
- Add category, status and resolution constants
2023-07-09 18:32:42 -04:00
Hypolite Petovan d29a84ae46 Add Posts and Rules sub-entities and collections for Moderation\Report 2023-07-09 18:32:42 -04:00
Michael Vogel a39029f953
Merge pull request #13267 from MrPetovan/task/13265-json-ld
[Composer] Bump friendica/json-ld to version 1.1.4
2023-07-09 23:11:44 +02:00
Hypolite Petovan 767629ed2c [Composer] Bump friendica/json-ld to version 1.1.4 2023-07-09 16:18:29 -04:00
Hypolite Petovan 55ff23c6c3
Merge pull request #13266 from annando/quoted
Improve display of quoted posts
2023-07-09 15:59:13 -04:00
Michael Vogel 66353e6117
Merge pull request #13264 from MrPetovan/task/hide-blocklist
Hide blocklist from anonymous users on closed registration nodes
2023-07-09 21:26:59 +02:00
Michael Vogel f991b553ce
Update src/Content/Item.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-07-09 21:18:36 +02:00
Michael Vogel 4f62ab6168
Update src/Content/Item.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-07-09 21:18:27 +02:00
Michael 300825dcac Updated messages.po 2023-07-09 17:42:32 +00:00
Michael b9bb525fe9 New parameter to create a share block for display reasons 2023-07-09 14:31:47 +00:00
Michael e95c678141 Improve display of quoted posts 2023-07-09 14:15:01 +00:00
Michael Vogel fba4a70dc2
Merge pull request #13262 from MrPetovan/task/decouple-conversations
Decouple conversation creation from rendering
2023-07-09 15:59:35 +02:00
Hypolite Petovan 9f943650a9 Hide blocklist from anonymous users on closed registration nodes 2023-07-09 08:23:35 -04:00
Hypolite Petovan f20caf4c3a Refactor DI out from Module\Friendica 2023-07-08 22:24:03 -04:00
Hypolite Petovan 31a3c7cf50 [frio] Add link to About page in user menu 2023-07-08 22:24:03 -04:00
Hypolite Petovan 6e2ab6c3af Centralize Vary header declaration in ActivityPub::isRequest
- Vary header should be set every time we vary the display based on an HTTP header value
2023-07-08 22:24:01 -04:00
Hypolite Petovan 9678618dd4
Merge pull request #13227 from BirdboyBolu/develop
Update Circles-and-Privacy.md
2023-07-08 22:20:57 -04:00
Hypolite Petovan 6ac734d39d
Apply suggestions from code review
- Remove superfluous plural
- Remove condescending language
2023-07-08 22:20:47 -04:00
Hypolite Petovan 706444bdb2 Decouple conversation creation from rendering
- This allows to separately obtain a list of threads for rendering without having to deal with an already-formed HTML output
2023-07-08 16:57:52 -04:00
Hypolite Petovan 31fbe70ec7
Merge pull request #13261 from annando/id-uri-id-chaos
Fix id/uri-id chaos in API calls
2023-07-08 09:15:23 -04:00
Michael ef309cbcd3 Fix id/uri-id chaos in API calls 2023-07-08 07:55:18 +00:00
Hypolite Petovan 755bbac496
Merge pull request #13254 from nupplaphil/bug/fix_tests
Fix php unit test with PHP 8.2
2023-07-05 19:10:55 -04:00
Philipp f68dd99518
Some more deprecation fixups 2023-07-05 23:16:01 +02:00
Philipp 00cd346255
Fix XML deprecation 2023-07-05 23:15:36 +02:00
Philipp f693032109
Fix dynamic properties in API\Twitter\User object 2023-07-05 23:15:23 +02:00
Philipp 5fbdcd4a26
Fix PHPUnit 10 deprecations 2023-07-05 23:15:23 +02:00
Philipp 037dac988e
Update json-ld dependency 2023-07-05 21:29:12 +02:00
Hypolite Petovan 508d1923f1
Merge pull request #13252 from toddy15/woodpecker
Update PHP versions and add PHP 8.2 for testing
2023-07-05 15:06:18 -04:00
Hypolite Petovan fc1a857045
Merge pull request #13253 from toddy15/develop
Fix comment
2023-07-05 11:41:18 -04:00
Dr. Tobias Quathamer d2efdbd7ab Fix comment 2023-07-05 16:48:03 +02:00
Hypolite Petovan 1407a2883c
Merge pull request #13249 from annando/incoming-groups
Incoming posts from Lemmy to groups are now working
2023-07-05 10:24:51 -04:00
Hypolite Petovan 3e1c280a3c
Merge pull request #13250 from Raroun/develop
fixes registration link in invitations
2023-07-05 10:08:42 -04:00
Dr. Tobias Quathamer a35f281123 Update PHP versions and add PHP 8.2 for testing 2023-07-05 14:06:28 +02:00
Raroun 58573fe329 fixes registration link in invitations 2023-07-05 10:12:10 +02:00
Michael dc28a65e21 Incoming posts from Lemmy to groups are now working 2023-07-04 21:23:03 +00:00
Hypolite Petovan 394a351784
Merge pull request #13248 from Quix0r/features/config-api-mastodon-banner
Configuration key api_mastodon_banner added
2023-07-03 16:30:58 -04:00
Roland Häder 9f1c93eb91
Changes:
- renamed 'api_mastodon_banner' to 'mastodon_banner' and moved it to 'api'
  configuration group
2023-07-03 19:55:47 +02:00
Roland Häder c5a52271df
Added:
- config key 'config', 'api_mastodon_banner', see discussion at https://b65.me.in/display/67fef576-1564-a27a-405e-c17705255720
- the administrator can now customize it for Mastodon contacts
- credits goes to @betamax65@b65.me.in
2023-07-03 14:59:26 +02:00
Hypolite Petovan 1f63fe96c5
Merge pull request #13244 from annando/kbin
"kbin" now has got an own section in the federation statistics
2023-06-29 09:26:04 -04:00
Michael 283a33715f "kbin" hos now got an own section in the federation statistics 2023-06-29 08:28:02 +00:00
Tobias Diekershoff 23992c31c6
Merge pull request #13237 from annando/group-circle
Added group detection for via exclusive mentions
2023-06-27 06:19:21 +02:00
Tobias Diekershoff 302619a5de
Merge pull request #13238 from annando/issue-13221
Issue 13221: Diaspora posts are now stored correctly
2023-06-27 06:17:44 +02:00
Michael cab469621d Issue 13221: Diaspora posts are now stored correctly 2023-06-26 19:44:14 +00:00
Michael f6b9f8d476 Added group detection for via exclusive mentions 2023-06-26 19:37:20 +00:00
Hypolite Petovan 582e05fcff
Merge pull request #13235 from annando/group-circle
Dedicated circle name for groups
2023-06-26 07:49:20 -04:00
Michael d2b02d07b4 Invert condition 2023-06-26 05:32:33 +00:00
Michael 8d5876d5f2 Set the group as owner for "group only" postings 2023-06-25 22:14:35 +00:00
Hypolite Petovan 7edaeb215d
Merge pull request #13233 from GidiKroon/feature/add-vary-header
Add Vary header in case of content negotiation
2023-06-25 17:56:19 -04:00
Michael 8c0a19755c Fix spacing 2023-06-25 21:02:14 +00:00
Michael e562dbd59c Dedicated circle name for groups 2023-06-25 20:37:11 +00:00
Gidi Kroon 40783db161 Make requested changes 2023-06-25 20:54:04 +02:00
Hypolite Petovan 9f9898d47a
Merge pull request #13234 from annando/unseen
Fix: Unseen marker wasn't set / Don't mark activities as unseen
2023-06-25 09:50:35 -04:00
Michael 420bd9bcf9 Fix: Unseen marker wasn't set / Don't mark activities as unseen 2023-06-25 13:33:01 +00:00
Gidi Kroon 6a5266c6b8 Add Vary header in case of content negotiation
Sometimes we return different content depending on whether JSON, XML or
HTML was requested in the Accept request header. The Vary response
header should list that header in these cases, to allow caching
frameworks to determine what to cache.
2023-06-25 03:22:41 +02:00
Philipp ff1409e626
Merge pull request #13231 from AlfredSK/AlfredSK-fix-typo-alias
Fiy typo in author-alias
2023-06-24 15:45:17 +02:00
Steffen K9 30ce6f1ed3
Fiy typo in author-alias
Added a missing `a` .
2023-06-24 12:38:14 +02:00
Hypolite Petovan f9f85e3865
Merge pull request #13230 from annando/warnings
Fix warnings because of missing field
2023-06-23 17:54:22 -04:00
Michael 201d5ac364 Fix warning "Undefined array key "alias"" 2023-06-23 21:50:35 +00:00
Michael 0da2391c49 Fix warnings because of missing field 2023-06-23 21:27:34 +00:00
Hypolite Petovan b731f8a0ad
Merge pull request #13226 from annando/lemmy
Better support for "audience" / simplified Lemmy processing
2023-06-23 17:12:38 -04:00
Michael 968c935bf7 Changes variable names / fetch the alias / improved group handling 2023-06-23 21:05:45 +00:00
Hypolite Petovan 2bdb492834
Merge pull request #13229 from HankG/fix-mastodon-status-context-returning-deleted-statuses
Fix Mastodon API Status->Context endpoint so doesn't return deleted statuses
2023-06-22 23:40:43 -04:00
Hank Grabowski 031ef6a05a Fix Mastodon API Status->Context endpoint so doesn't return deleted statuses 2023-06-22 21:56:38 -04:00
Boluwatife Victor 05a324fba4
Update Circles-and-Privacy.md
I corrected several typo errors in the doc to improve readability
2023-06-22 12:35:02 +01:00
Michael 8a50101eea Merge remote-tracking branch 'upstream/develop' into lemmy 2023-06-18 17:38:39 +00:00
Michael 8a6ff014d6 Updated database.sql / messages.po 2023-06-18 17:34:19 +00:00
Michael 75f8b3374e Improved basepath detection for Magic Auth 2023-06-18 17:18:40 +00:00
Michael 3951a77318 Set the owner for group posts 2023-06-18 16:52:49 +00:00
Michael 4f6c1ec556 Ensure to transmit the audience if the parent does so 2023-06-18 16:50:45 +00:00
Michael 4c3f2441f7 Display the contact alias if the URL is no HTTP link 2023-06-18 16:49:38 +00:00
Hypolite Petovan 721ffcfe06
Merge pull request #13223 from git-marijus/develop
fix issue #13174
2023-06-17 17:34:32 -04:00
git-marijus 0af73775be fix issue #13174 2023-06-17 22:31:25 +02:00
Michael 6d911a8f39 Better support for "audience" / simplified Lemmy processing 2023-06-15 22:04:28 +00:00
Hypolite Petovan 353be860b7
Merge pull request #13218 from anubis2814/develop
[frio] Added content warning button
2023-06-15 14:15:18 -04:00
anubis2814 db3604b479
Update Post.php
made code neater
2023-06-15 14:04:34 -04:00
anubis2814 ad225e4cff
Update Conversation.php
made code neater.
2023-06-15 14:02:54 -04:00
Anubis2814 1f06089e5e Added content warning button 2023-06-15 12:55:54 -04:00
Tobias Diekershoff 2468089d70
Merge pull request #13212 from jlamothe/cheshire
fixed spelling of Cheshire
2023-06-13 07:46:02 +02:00
Jonathan Lamothe 32755444ed fixed spelling of Cheshire 2023-06-12 23:45:46 -04:00
Hypolite Petovan d0b8d78cad
Merge pull request #13208 from Quix0r/fixes/type-hints-indenting
Added type-hints, reformatted arrays
2023-06-09 16:33:44 -04:00
Roland Häder 818a7fb451
Fixed some stuff from PR #13208 feedback:
- HTTPException is already imported
- same-value-assignment not needed
2023-06-09 22:21:59 +02:00
Hypolite Petovan 5386180c0b
Merge pull request #13207 from anubis2814/develop
Fix to "on this day"
2023-06-09 16:15:10 -04:00
anubis2814 2632875bab
Update src/Content/Widget.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-06-09 16:07:11 -04:00
Roland Häder 993d45d2f5
Continued:
- replace double-quotes with single
2023-06-09 21:50:00 +02:00
Roland Häder 80afe13a26
Changed:
- added missing type-hint
2023-06-09 21:46:44 +02:00
Roland Häder c5a4a07a55
Changed:
- added missing type-hints
- changed array initialization
2023-06-09 21:46:22 +02:00
Roland Häder 99a92db0aa
Changed:
- array initialization
2023-06-09 21:45:59 +02:00
Roland Häder d4b25cb3ff
Changes:
- rewrote:
````
$arr[];
$arr['foo'] = $foo;
$arr['bar'] = $bar;
````

To:
````
	$arr = [
		'foo' => $foo,
		'bar' => $bar,
	];
````
- "imported" class name instead of referencing it everywhere
- changed some double-quotes to single
2023-06-09 21:45:04 +02:00
Roland Häder e9a8882f84
Changes:
- reformatted array a bit
- double-quote to single
2023-06-09 21:44:14 +02:00
Roland Häder 241c221e4b
Changed:
- added missing type-hints
- added some missing `@return void`
2023-06-09 21:42:40 +02:00
Roland Häder 01632b11c7
Changed:
- added missing type-hints
2023-06-09 21:42:23 +02:00
anubis2814 14b83def60
Fix to on this day 2023-06-09 01:39:07 -04:00
anubis2814 24e7605c60
Fix to on this day
Thanks to my system messing up I thought it was working right.
2023-06-09 01:37:20 -04:00
Hypolite Petovan ed6a537dc5
Merge pull request #13204 from AlfredSK/AlfredSK-fix-nonexistent-css-file
Remove reference to nonexistent CSS file
2023-06-07 12:06:39 -04:00
Steffen K9 70540e59e1
Remove reference to nonexistent CSS file
This removes the only occasion I found for the nonexistent file `/view/js/button/frio.css`.

Fixes #13201
2023-06-07 17:52:15 +02:00
Hypolite Petovan 50988bf5f1
Merge pull request #13203 from annando/styled-url
Remove the "www." from the styled URL
2023-06-06 17:04:06 -04:00
Michael 09ce625d50 Remove the "www." from the styled URL 2023-06-06 20:41:54 +00:00
Hypolite Petovan ae45a177a5
Merge pull request #13198 from anubis2814/develop
On this date option in the archives
2023-06-06 08:54:26 -04:00
Hypolite Petovan 3e3f48e5ec [frio] On this date option in the archives 2023-06-06 08:42:34 -04:00
Hypolite Petovan 8ec3f17138
Merge pull request #13196 from anubis2814/develop
[frio] New Group button on group widget
2023-06-05 09:02:27 -04:00
Hypolite Petovan e8a2dd285b Updated main translation file after adding a string 2023-06-05 08:59:54 -04:00
anubis2814 e9b9058e16 Update view/templates/widget/group_list.tpl
Co-authored-by: Philipp <admin+Github@philipp.info>
2023-06-05 08:40:12 -04:00
anubis2814 60211fdd8d Update src/Content/GroupManager.php
Co-authored-by: Philipp <admin+Github@philipp.info>
2023-06-05 08:40:12 -04:00
anubis2814 f3ad2c4ad9 fix group sidebar ID missmatch 2023-06-05 08:40:11 -04:00
anubis2814 a7cce4013c New group button 2023-06-05 08:40:11 -04:00
Philipp 141c55fe7f
Merge pull request #13197 from tobiasd/20230605-lng
translation updates
2023-06-05 08:27:28 +02:00
Tobias Diekershoff 7b3e8767ec translation updates 2023-06-05 07:13:13 +02:00
Tobias Diekershoff ab29f91c2d
Merge pull request #13194 from annando/relay-language
Language check moved to a separate function
2023-06-05 07:07:15 +02:00
Michael dfaa4b89c7 Support for contact uri that aren't HTTP URLs 2023-06-05 04:34:06 +00:00
Michael b5a1f13d7c New BBCode constant for Bluesky 2023-06-05 04:31:19 +00:00
Michael fc600b2dbf Language check moved to a separate function 2023-06-04 17:18:43 +00:00
Hypolite Petovan ec7e295158
Merge pull request #13193 from annando/fix-notification-link
Notification link for direct comment fixed
2023-06-04 12:38:51 -04:00
Michael 94933daf14 Notification link for direct comment fixed 2023-06-04 16:26:58 +00:00
Michael Vogel 1906ed00ae
Merge pull request #13190 from MrPetovan/task/13114-rename-forum-to-group
Fix wrong CSS class name after renaming "forum" to "group"
2023-06-04 08:13:08 +02:00
Hypolite Petovan 5b9db55e81 Fix wrong CSS class name after renaming "forum" to "group" 2023-06-04 01:49:32 -04:00
Michael Vogel 483cc45712
Merge pull request #13183 from MrPetovan/task/13114-rename-forum-to-group
Replace "forum" by "group"
2023-06-04 00:19:59 +02:00
Hypolite Petovan 9278c79917
Merge pull request #13188 from annando/notification
Improved profile summary for notifications
2023-06-03 15:09:39 -04:00
Michael 921e070b22 Improved profile summary for notifications 2023-06-03 15:27:14 +00:00
Hypolite Petovan 3f80b7a7eb Update main translation file after updating several strings 2023-06-02 13:52:41 -04:00
Hypolite Petovan 3385147f25 Replace "forum" by "group" in the rest of the code 2023-06-02 13:52:41 -04:00
Hypolite Petovan 03bebf57c5 Replace "forum" by "group" in database comments 2023-06-02 13:52:41 -04:00
Hypolite Petovan 7d9d1ce65d Replace "forum" by "group" in documentation
- Replace "Forum" by "Gruppe" in German documentation
2023-06-02 13:52:40 -04:00
Hypolite Petovan bfefca0cb0
Merge pull request #13187 from Raroun/develop
resolves #13180, changed "Foren" to "Gruppen" in german translation
2023-06-02 13:43:27 -04:00
Raroun 7f5381165e
Update doc/de/Home.md
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2023-06-02 19:40:12 +02:00
Raroun bd7760a860 Readded Forums.md 2023-06-02 19:23:42 +02:00
Raroun d3e872b06b Merge branch 'develop' of https://github.com/Raroun/friendica into develop 2023-06-02 18:50:23 +02:00
Raroun 64027f9dbc removed missing space in Making-Friends.md 2023-06-02 18:49:03 +02:00
groen 14a6fb61a9 removed missing space in Making-Friends.md 2023-06-02 18:41:38 +02:00
groen 13b6a80d5b changed forums to groups in german translation 2023-06-02 18:39:25 +02:00
groen d46b8e69b3 resolves #13180 Normalize @-tag/@-mention in hosted documentation 2023-06-02 18:00:10 +02:00
Tobias Diekershoff 2fc7c9f064
Merge pull request #13178 from annando/no-relationship
Separate section for contacts without any relationship
2023-05-30 20:18:15 +02:00
Michael 649bbaa4c3 Separate section for contacts without any relationship 2023-05-30 09:00:29 +00:00
Philipp d971a2cc5c
Merge pull request #13177 from annando/follow-uid
Pass the "uid" when calling the "follow" hook
2023-05-30 08:36:58 +02:00
Michael f5433b25d8 Pass the "uid" when calling the "follow" hook 2023-05-30 06:06:49 +00:00
Michael Vogel 4246ffc892
Merge pull request #13176 from MrPetovan/bug/warnings
Restore is_string() as a Smarty modifier
2023-05-30 04:24:49 +02:00
Michael Vogel 9d69045a89
Merge pull request #13169 from MrPetovan/task/parent-uid-null
Remove support for user.parent-uid = 0
2023-05-30 04:20:49 +02:00
Hypolite Petovan 33da0c196a Restore is_string() as a Smarty modifier
- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1567336694
2023-05-29 19:19:41 -04:00
Hypolite Petovan 0a738c8ce3 [Database version 1520] Reset user.parent-uid to null if it is set to zero 2023-05-29 18:55:00 -04:00
Hypolite Petovan fc09017dd1 Remove support for user.parent-uid = 0
- uid = 0 is the system user which isn't supposed to be the parent-uid of all the non-delegate users
2023-05-29 18:32:21 -04:00
Hypolite Petovan 70674f2ecc
Merge pull request #13172 from annando/parent-view
Increased performance when fetching the parent / fix for displaying contact relations
2023-05-29 07:46:44 -04:00
Michael 1129e8f17d Merge remote-tracking branch 'upstream/develop' into parent-view 2023-05-29 06:53:02 +00:00
Michael b12e4f711f Updated database.sql 2023-05-29 06:48:15 +00:00
Michael a42ddafbbb Ensure to store user-contact / display contact relations 2023-05-29 06:41:07 +00:00
Michael 89b6c4c73f Increased performance when fetching the parent 2023-05-28 22:04:02 +00:00
Michael Vogel 50164b65ea
Merge pull request #13121 from MrPetovan/task/13114-rename-group-to-circle
Rename "group" to "circle"
2023-05-28 22:05:24 +02:00
Hypolite Petovan 34d3c51e93 Update main translation file after changing several strings 2023-05-27 22:01:50 -04:00
Hypolite Petovan 4f7740264e Replace "group" with "circle" in the rest of the code
- Remaining mentions already mean "forum"
2023-05-27 22:01:45 -04:00
Hypolite Petovan 4f6e02357a Replace "group" with "circle" in database comments
- Table names "group" and "group_member" are unchanged
2023-05-27 17:28:21 -04:00
Hypolite Petovan 18351a4439 Replace "Group" with "Circle" in hosted documentation
- Replace "Gruppe" with "Circle" in German version
2023-05-27 17:28:20 -04:00
Hypolite Petovan 68c0408af5
Merge pull request #13166 from annando/getstylesurl
"getStyledURL" is now public
2023-05-26 10:30:06 -04:00
Michael 5966f0cc62 Function moved to the "Strings" class 2023-05-26 14:26:55 +00:00
Michael 332b6f21ca Updated messages.po 2023-05-26 07:35:26 +00:00
Michael 7e03072082 "getStyledURL" is now public 2023-05-26 07:17:09 +00:00
Tobias Diekershoff f98cb3a5df
Merge pull request #13163 from MrPetovan/bug/13129-force-ssl-reverse-proxy
Add support for reverse proxy to system.force_ssl feature
2023-05-24 18:36:17 +02:00
Hypolite Petovan cee8dc2a3b Add support for reverse proxy to system.force_ssl feature 2023-05-24 08:04:34 -04:00
Tobias Diekershoff 7b02585b97
Merge pull request #13161 from annando/bluesky-activities
Support for Bluesky reshares in the core
2023-05-24 07:59:08 +02:00
Michael 5b23c1c67f Support for Bluesky reshares in the core 2023-05-24 05:55:36 +00:00
Hypolite Petovan ae99f82c28
Merge pull request #13160 from MrPetovan/bug/deprecated
Remove direct call to is_string() from templates
2023-05-23 22:10:49 -04:00
Hypolite Petovan ced6680c6a Remove direct call to is_string() from templates
- Address https://github.com/friendica/friendica/issues/12011#issuecomment-1523913027
2023-05-23 22:09:55 -04:00
Tobias Diekershoff fa37537762 start 2023.09-dev 2023-05-23 22:19:34 +02:00
1605 changed files with 132545 additions and 87331 deletions

View File

@ -1,7 +1,7 @@
name: my-friendica
type: php
docroot: ""
php_version: "7.3"
php_version: "7.4"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
@ -17,7 +17,7 @@ use_dns_when_possible: true
composer_version: "1"
web_environment: []
nodejs_version: "16"
webimage_extra_packages: [php7.3-gmp]
webimage_extra_packages: [php7.4-gmp]
# Key features of ddev's config.yaml:

7
.gitignore vendored
View File

@ -19,7 +19,7 @@ robots.txt
/doc/cache
#ignore reports, should be generated with every build
report/
/report/
#ignore config files from eclipse, we don't want IDE files in our repository
.project
@ -33,7 +33,7 @@ report/
#ignore NetBeans IDE's private files (at least)
/nbproject/private/
Ignore config files from VSCode
#Ignore config files from VSCode
/.vscode/
#ignore smarty cache
@ -83,8 +83,9 @@ venv/
#Ignore temporary installed phpunit
/bin/phpunit
#Ignore cache file
#Ignore cache files
.php_cs.cache
.php-cs-fixer.cache
#ignore avatar picture cache path
/avatar

93
.php-cs-fixer.dist.php Normal file
View File

@ -0,0 +1,93 @@
<?php
/**
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->notPath('addon')
->notPath('bin/dev')
->notPath('config')
->notPath('doc')
->notPath('images')
->notPath('mods')
->notPath('spec')
->notPath('vendor')
->notPath('view/asset')
->notPath('lang')
->notPath('view/smarty3/compiled');
$config = new PhpCsFixer\Config();
return $config
->setRules([
'@PSR1' => true,
'@PSR2' => true,
'@PSR12' => true,
'align_multiline_comment' => true,
'array_indentation' => true,
'array_syntax' => [
'syntax' => 'short',
],
'binary_operator_spaces' => [
'default' => 'single_space',
'operators' => [
'=>' => 'align_single_space_minimal',
'=' => 'align_single_space_minimal',
'??' => 'align_single_space_minimal',
],
],
'blank_line_after_namespace' => true,
'braces' => [
'position_after_anonymous_constructs' => 'same',
'position_after_control_structures' => 'same',
'position_after_functions_and_oop_constructs' => 'next',
],
'elseif' => true,
'encoding' => true,
'full_opening_tag' => true,
'function_declaration' => [
'closure_function_spacing' => 'one',
],
'indentation_type' => true,
'line_ending' => true,
'list_syntax' => [
'syntax' => 'long',
],
'lowercase_keywords' => true,
'method_argument_space' => [],
'no_closing_tag' => true,
'no_spaces_after_function_name' => true,
'no_spaces_inside_parenthesis' => true,
'no_trailing_whitespace' => true,
'no_trailing_whitespace_in_comment' => true,
'no_unused_imports' => true,
'single_blank_line_at_eof' => true,
'single_class_element_per_statement' => true,
'single_import_per_statement' => true,
'single_line_after_imports' => true,
'switch_case_space' => true,
'ternary_operator_spaces' => false,
'visibility_required' => [
'elements' => ['property', 'method']
],
'new_with_braces' => true,
])
->setFinder($finder)
->setIndent("\t");

View File

@ -6,6 +6,7 @@ require_once __DIR__ . '/bin/dev/php-cs-fixer/vendor/autoload.php';
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->notPath('addon')
->notPath('bin/dev')
->notPath('config')
->notPath('doc')

View File

@ -1,4 +1,4 @@
pipeline:
steps:
restore_cache:
image: meltwater/drone-cache:dev
settings:

View File

@ -11,11 +11,11 @@ labels:
skip_clone: true
pipeline:
steps:
clone:
image: alpine/git
commands:
- git clone $CI_REPO_LINK .
- git clone $CI_REPO_CLONE_URL .
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
@ -39,7 +39,7 @@ pipeline:
branch: [ develop, '*-rc' ]
event: push
composer_install:
image: friendicaci/php7.4:php7.4.33
image: friendicaci/php8.2:php8.2.16
commands:
- export COMPOSER_HOME=.composer
- composer validate

View File

@ -1,12 +1,17 @@
matrix:
include:
- PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.33
- PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
branches:
exclude: [ stable ]
when:
- branch:
exclude: [ stable ]
pipeline:
# This forces CI executions at the "opensocial" labeled location (because of much more power...)
labels:
location: opensocial
steps:
db_version_match:
image: friendicaci/transifex
commands:

View File

@ -1,4 +1,4 @@
pipeline:
steps:
check:
image: friendicaci/php-cs
commands:

View File

@ -1,4 +1,4 @@
pipeline:
steps:
build_xgettext:
image: friendicaci/transifex
commands:
@ -8,5 +8,6 @@ pipeline:
commands:
- /check-messages.sh
branches:
exclude: [ stable ]
when:
- branch:
exclude: [ stable ]

View File

@ -1,24 +1,25 @@
matrix:
include:
- PHP_MAJOR_VERSION: 7.3
PHP_VERSION: 7.3.33
- PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.33
- PHP_MAJOR_VERSION: 8.0
PHP_VERSION: 8.0.25
PHP_VERSION: 8.0.30
- PHP_MAJOR_VERSION: 8.1
PHP_VERSION: 8.1.12
PHP_VERSION: 8.1.27
- PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
- PHP_MAJOR_VERSION: 8.3
PHP_VERSION: 8.3.3
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
labels:
location: opensocial
pipeline:
steps:
php-lint:
image: php:${PHP_MAJOR_VERSION}
group: lint
commands:
- ./bin/composer.phar run lint
- find . -name \*.php -not -path './vendor/*' -not -path './view/asset/*' -print0 | xargs -0 -n1 php -l
restore_cache:
image: meltwater/drone-cache:dev
settings:
@ -64,19 +65,19 @@ pipeline:
- cp config/local-sample.config.php config/local.config.php
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
- if [ "${PHP_MAJOR_VERSION}" = "7.4" -a "${CI_REPO}" = "friendica/friendica" ]; then
- if [ "${PHP_MAJOR_VERSION}" = "8.2" -a "${CI_REPO}" = "friendica/friendica" ]; then
phpenmod xdebug;
export XDEBUG_MODE=coverage;
phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml;
phpunit --configuration tests/phpunit.xml -d memory_limit=-1 --coverage-clover clover.xml;
else
phpunit --configuration tests/phpunit.xml;
phpunit --configuration tests/phpunit.xml -d memory_limit=-1;
fi
codecov:
image: friendicaci/codecov
when:
matrix:
PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.33
PHP_MAJOR_VERSION: 8.2
PHP_VERSION: 8.2.16
repo:
- friendica/friendica
commands:

View File

@ -9,11 +9,11 @@ labels:
skip_clone: true
pipeline:
steps:
clone:
image: alpine/git
commands:
- git clone $CI_REPO_LINK .
- git clone $CI_REPO_CLONE_URL .
- git checkout $CI_COMMIT_BRANCH
- git fetch origin $CI_COMMIT_REF
- git merge $CI_COMMIT_SHA
@ -37,7 +37,7 @@ pipeline:
branch: stable
event: tag
composer_install:
image: friendicaci/php7.4:php7.4.33
image: friendicaci/php8.2:php8.2.16
commands:
- export COMPOSER_HOME=.composer
- composer validate

199
CHANGELOG
View File

@ -1,3 +1,184 @@
Version 2024.03 (2024-03-21)
Friendica Core
Updates to the translations AR, BG, CS, DE, EO, ES, FR, GD, HU, IS, IT, JA, PL, RO, RU, SV
Updates to the themes (frio, vier) [annando, foss-, haheute, MrPetovan, Raroun, toddy15]
Improved the channel feature [annando]
Improved the search performance [annando]
Improved spam detection [annando]
Improved the account overview on the moderation page [annando]
Improved account creation via CLI console [mexon]
Improved the Mastodon compatible API [annando, MrPetovan]
Improved logging of the system load value [annando]
Improved image handling [annando]
Improved detection of user activity [annando]
Improved display of embedded videos [annando]
Fixed an issue that could lead to empty URLs in the server block list [annando]
Fixed XSS attacks [leoOliver, MrPetovan, snajafov]
Fixed an issue when importing emails [annando]
Fixed an issue that blocked users could still use the API [annando]
Fixed an issue when fetching remote content [annando, arcanicanis]
Fixed an issue with unescaped HTML characters for RSS feeds [MrPetovan, r1pu5u]
Fixed an issue when showing the post preview [annando]
General code cleanup [annando, MrPetovan]
Updated the PasswordExposed usage [mexon]
Removed fpostit (Friendica post bookmarklet) [MrPetovan]
Removed the possibility for users to follow relays directly [annando]
Removed unused OEmbed functionality [annando]
Removed legacy schemes from frio theme [MrPetovan]
Added blur effect to sensitive images and user setting against it [annando]
Added account type Channel Relay [annando]
Added OCR generated image descriptions via tesseract addon [annando]
Added WebP and BMP support [annando]
Added blocked email addresses for registration [annando]
Friendica Addons
advancedcontentfilter
Updated dependency for PHP8.2 compatibility [MrPetovan]
blockbot
Fixed an issue preventing the creation of previews on remote systems [annando]
Updated block lists [annando]
bluesky
Overhaul of the Bluesky connector [annando]
Fixed problem with empty quoted shares [annando]
openstreetmap
Fix a config problem [haheute]
pnut:
Connector addon was added [spacenerdmo]
tesseract
Added the addon to generate image descriptions from images via OCR [annando]
tumblr
Improved handling of quoted shares [annando]
url_replace
Added addon to replace URLs from Twitter, Youtube and some others using 12ft.io [toddy15]
Fixed an issue with empty config vars [MrPetovan]
Closed Issues
903, 7732, 8768, 11142, 13220, 13293, 13765, 13768, 13809,
13814, 13814, 13818, 13819, 13822, 13823, 13828, 13837, 13839,
13844, 13845, 13859, 13863, 13873, 13877, 13886, 13887, 13897,
13899, 13905, 13909, 13922, 13925, 13930, 13939, 13940, 13946,
13947, 13949, 13950, 13953, 13955, 13959, 13968, 13969, 13972,
13984, 13985, 13986
Version 2023.12 (2023-12-24)
Friendica Core
Raised minimal PHP version to 7.4
Updates to the translations AR, BG, CA, CS, DE, EN GB, EN US, EO, ES, ET, FI, FR, GD, HU, IS, IT, JA, NL, PL, RO, RU, SV
Updates to the themes (frio, vier) [AlfredSK, annando, anubis2814, haheute, foss-, MrPetovan, Raroun, xundeenergie]
Updates to the documentation [AndyHee, BirdboyBolu, foss-, MrPetovan]
Fixed a bug in notification links [annando, keithhacks]
Fixed a bug in content negotiation [GidiKroon]
Fixed the link in invitations [Raroun]
Fixed 0Auth connection with Buffer and redirection problems [annando, HankG]
Fixed a visibility bug with Calendar entries [MrPetovan]
Fixed a JsonLD parsing issue [annando]
Fixed confusion about nickname and username [MrPetovan, Raroun]
Fixed a problem with viewing remote contact profiles [MrPetovan]
Fixed a bug with previewing linked postings [annando]
Fixed a problem parsing Mastodon WebFingers [MrPetovan]
Fixed a bug that could lead to deleting your own account unintended [MrPetovan]
Fixed redirection in 2FA settings page [MrPetovan]
Fixed a problem with distributing some comments [annando]
Fixed a bug that caused public groups not being able to hide members [annando]
Fixed RSS/Atom feed of group accounts [MrPetovan]
Fixed a bug that prevented bi-directional delivery of DMs [annando]
Fixed a bug in privacy settings for remote-self [annando]
Fixed a bug that prevented the selection of photos with captions [Raroun]
Fixed a bug in Magic Auth [git-marijus]
Fixed a bug convertig local tags to external on receiving updates to the post [annando]
Improved Bluesky connector core [annando]
Improved SSL handling of reverse http proxies [MrPetovan]
Improved performance [annando]
Improved language detection [annando]
Improved display of contact relationships [annando]
Improved display of notifications [annando, MrPetovan]
Improved Mastodon compatible API [annando, gudzpoz, HankG, MrPetovan, Quix0r]
Improved federation with Diaspora, Firefish, GoToSocial, Lemmy, Pixelfed, Threads [annando]
Improved display of quoted posts [annando]
Improved BBCode conversion [annando]
Improved addon hook loading [annando, nupplaphil]
Improved handling of relay servers [annando]
Improved blocked users feature [MrPetovan]
Improved robots.txt to include ChatGPT and Google Extended [annando, haheute]
Improved handling of resizing images [annando]
Improved the image grid at the end of postings [MrPetovan]
Improved raw content output [annando]
Improved handling of smileys [gudzpoz]
Improved the admin panel [annando]
Improved handling of the background worker [annando]
Improved the processing of relayed posts [annando]
Improved compatibility with Mastodon Clients [annando]
Improved nodeinfo [MrPetovan]
Improved the federation statistics in the admin panel [annando]
General code cleanup [AlfredSK, annando, jlamothe, mexon, MrPetovan, nupplaphil, Quix0r, toddy15]
Renamed "group" to "circle"
Renamed "forum" to "group"
Added possibility to hide the server block list [MrPetovan, Quix0r]
Added creation of moderation reports [AlfredSK, annando, MrPetovan]
Added user controlled ignore server functionality [MrPetovan]
Added support for Unix domain sockets to Redis [MrPetovan]
Added user controlled channels for the network stream [annando]
Added support of MacOS emoji picker in text fields [MrPetovan]
Added lazy loading for images [FarisKarim, xundeenergie]
Added image caption display in Fancybox gallery [MrPetovan]
Added shortcut (ctrl+enter) to send postings using Frio theme [xundeenergie]
Added support for CORS requests to nodeinfo [palant]
Added setting for servers that should only receive limited profile information [annando]
Friendica Addons
Updates to the translation AR, CS, DE, ES, ET, FR, HU, IT, JA, NL, PL, RU, SV, ZH CN
Advancedcontentfilter
General code cleanup [MrPetovan]
Audon
Added audon addon [loma-one]
Blockem
Deprecated the addon [AndyHee]
Bluesky
Added bidirectional communication to the Bluesky connector [annando]
Added support for pinned postings [annando]
Added support for transmitted language [annando]
Improved thread handling [annando]
Improved handling of hashtags [annando]
Improved image uploading [annando]
CLD
Added addon for detection of the language of postings using CLD2 library [annando]
invidious
Added addon [loma-one]
langfilter
Use two letter codes for detected languages [annando]
Mailstream
Improved error handling [mexon]
Monolog
General code cleanup [nupplaphil]
NSFW
General code cleanup [MrPetovan]
pageheader
Improved styling of message box [loma-one]
s3_storage
Bumped library version [MrPetovan]
Showmore Dyn
Improved styling on mobile devices [csolisr]
Smileybutton
Improved conversation from float to int [MrPetovan]
Tumblr
Improved the import of feeds [annando]
Twitter
Improved image uploading [annando]
Removed the import of postings from Twitter [annando]
Closed Issues
8542, 10369, 12530, 12743, 12815, 13020, 13039, 13114, 13129,
13173, 13174, 13180, 13182, 13184, 13195, 13201, 13209, 13216,
13217, 13221, 13228, 13240, 13288, 13232, 13240, 13265, 13277,
13286, 13287, 13289, 13304, 13311, 13312, 13316, 13318, 13332,
13333, 13334, 13343, 13352, 13353, 13355, 13359, 13363, 13365,
13367, 13369, 13370, 13378, 13389, 13398, 13403, 13439, 13440,
13455, 13457, 13462, 13467, 13471, 13478, 13486, 13506, 13511,
13515, 13520, 13524, 13534, 13535, 13542, 13554, 13556, 13560,
13566, 13573, 13577, 13588, 13603, 13607, 13615, 13617, 13621,
13624, 13625, 13627, 13637, 13639, 13649, 13662, 13665, 13673,
13693, 13699, 13719, 13720, 13731, 13748
Version 2023.05 (2023-05-23)
Friendica Core
Updates to the translations HU, PL
@ -379,7 +560,7 @@ Version 2022.02 (2022-02-06)
Added a media tab on profile pages [annando]
Removed video tab on profile pages [annando]
Bumped the minimal version of PHP to 7.3
Friendica Addons
Updates to the translations AR, DE, FR, HU, IT, PL, SV [translation teams]
Deprecated addons: blogger, buffer, jappixmini, notimeline, xmpp
@ -404,7 +585,7 @@ Version 2022.02 (2022-02-06)
Fixed API calls [MrPetovan]
Fixed a problem leading to duplicated links [annando]
Updated twitteroauth dependency [nupplaphil]
Closed Issues
9720, 10301, 10365, 10454, 10634, 10691, 10725, 10726, 10729, 10734,
10737, 10739, 10745, 10754, 10767, 10791, 10829, 10832, 10839, 10841,
@ -508,7 +689,7 @@ Version 2021.07 (2021-07-04)
The "authenticate" hook was moved deeper into the process [very-ape]
Added support for RTL languages [MrPetovan]
Added download link for the calendar entries [annando]
Friendica Addons
Updates to the translations DE, HU, IT, JA [translation teams]
nitter
@ -533,7 +714,7 @@ Version 2021.07 (2021-07-04)
adaptation of new addon functionalities and code improvements [mexon]
phpmailer
updated dependencies [nupplaphil]
Closed Issues
7967, 8262, 9715, 9064, 9993, 10055, 10147, 10184, 10198, 10205, 10210,
10219, 10232, 10254, 10287, 10293, 10306, 10312, 10314, 10342, 10364,
@ -927,7 +1108,7 @@ Version 2020.03 "Red Hot Poker" (2020-03-30)
Added fetching of contact relations [annando]
unicode emoticons:
Extended the list of supported emoticons [loma-one]
Closed Issues:
4599, 5562, 6205, 6418, 6757, 7558, 7560, 7771, 7808, 7817, 7892,
7964, 7968, 7978, 7984, 7991, 7992, 7994, 8002, 8008, 8014, 8058,
@ -1164,7 +1345,7 @@ Version 2019.06 (2019-06-23)
Version 2019.04 (2019-04-28)
Friendica Core:
Fixed a privacy problem with postings accessed by feed [MrPetovan]
Version 2019.03 (2019-03-22)
Friendica Core:
Update to the translation (CS, DE, EN-GB, EN-US, ES, FR, IT, PL, SV, ZH-CN) [translation teams]
@ -1339,7 +1520,7 @@ Version 2019.01 (2019-01-21)
6268, 6282, 6283, 6208, 6289, 6294, 6308, 6309, 6313, 6316, 6323,
6329, 6334, 6344, 6347, 6343, 6349, 6350, 6355, 6358, 6360, 6361,
6363, 6368, 6370, 6391, 6394, 6424, 6425, 6439, 6459
Version 2018.09 (2018-09-23)
Friendica Core:
Update to the translation (CS, DE, EN-US, FI, IT, NL, PL, ZH-CN) [translation teams]
@ -1374,13 +1555,13 @@ Version 2018.09 (2018-09-23)
Fixed a bug in the daemon mode of the background worker [annando]
Fixed a bug in the frio theme that contact filtering [rabuzarus]
Fixed a bug that mangled the display of some additional smileys [abanink]
Fixed a bug in generating registration mails [MrPetovan]
Fixed a bug in generating registration mails [MrPetovan]
Fixed a bug that caused blank re-share bodies [MrPetovon]
Fixed a bug in the API handling of private mails [fabrixxm]
Fixed a bug when calling the mail() function [miqrogroove]
Fixed a bug that caused deleted accounts being displayed in the local directory [miqrogroove]
Fixed a bug when checking the domain of an email address [VVelox]
Fixed a bug that prevented re-shares from Twitter to be shown as this [annando]
Fixed a bug that prevented re-shares from Twitter to be shown as this [annando]
Fixed a bug that caused broken profile links [miqrogroove]
Fixed a bug that caused content from unknown accounts appearing in the timeline [annando]
Fixed a bug with the ignoring and blocking of contacts [annando]

View File

@ -1,5 +1,5 @@
# How to Contribute
If you want to contribute to the project, you dont need to have coding experience. There are a number of tasks listed in the issue tracker with the label “[Junior Jobs](https://github.com/friendica/friendica/issues?q=is%3Aopen+is%3Aissue+label%3A%22Junior+Jobs%22)” we think are good for new contributors. But you are by no means limited to these if you find a solution to a problem (even a new one) please make a pull request at [github](https://github.com/friendica/friendica) or let us know in the [development forum](https://forum.friendi.ca/profile/developers).
If you want to contribute to the project, you dont need to have coding experience. There are a number of tasks listed in the issue tracker with the label “[Junior Jobs](https://github.com/friendica/friendica/issues?q=is%3Aopen+is%3Aissue+label%3A%22Junior+Jobs%22)” we think are good for new contributors. But you are by no means limited to these if you find a solution to a problem (even a new one) please make a pull request at [github](https://github.com/friendica/friendica) or let us know in the [development group](https://forum.friendi.ca/profile/developers).
Contribution to Friendica is also not limited to coding. Any contribution to the [documentation](https://github.com/friendica/friendica/tree/develop/doc), the [translation](https://app.transifex.com/Friendica/friendica/dashboard/) or advertisement materials is welcome or reporting a problem. You dont need to deal with Git(Hub) or Transifex if you dont like to. Just [get in touch](https://forum.friendi.ca/profile/helpers) with us and we will get the materials to the appropriate places.

View File

@ -31,6 +31,8 @@ Angristan
Anthronaut
Anton
Antron Samurai
Anubis2814
arcanicanis
Arian - Cazare Muncitori
Asher Pen
atjn
@ -51,6 +53,7 @@ BinkaDroid
Bjoessi
bkil
bob lebonche
Boluwatife Victor
Boris Daniel Martinez Millàn
bufalo1973
ButterflyOfFire
@ -69,8 +72,8 @@ Christian Wiwie
Cohan Robinson
Colby Sollars
Copiis
Copiis Praeesse
CrystalStiletto
csolisr
Cyboulette
Cyryl Sochacki
czarnystokrotek
@ -98,6 +101,7 @@ Eelco Maljaars
effex7
Elena
emilia.krawczyk
Entropy Engineer
Eric Côté
Erich
erik
@ -108,10 +112,12 @@ F1per 3y
Fabian Dost
Fabio Comuni
Farida Khalaf
Faris
felixgilles
Filip Bugaj
Filip H.F. "FiXato" Slagter
Finn Dean
Florent C.
FlxAlbroscheit
foss-
Francesco Apruzzese
@ -121,24 +127,29 @@ Gerhard Seeber
gerhard6380
Gert Cauwenberg
Gidi Kroon
git-marijus
GLComo
greeneyedred
Gregory Smith
Grischa Brockhaus
groen
gudzpoz
GunChleoc
guzzisti
Haakon Meland Eriksen
haheute
Hank Grabowski
Hannes Heute
Hans Meine
Hauke
Hauke Altmann
Henrik Härkönen
Herbert Thielen
hlad
hoergen
Hubert Kościański
Hypolite Petovan
ike
Ilmari
ImgBotApp
irhen
@ -156,6 +167,7 @@ Johannes Schwab
John Brazil
John Mortensen
Jonatan Nyberg
Jonathan Lamothe
Jonny Tischbein
Josef Moravek
Josh Soref
@ -168,11 +180,13 @@ Karolina
Kastal András
Keenan Pepper
Keith Fernie
keithhacks
Klaus Weidenbach
Koyu Berteon
kPherox
Kris
Kristoffer Grundström
ktlinux
KulikAlex
Lea1995polish
Leberwurscht
@ -211,6 +225,7 @@ Michal Šupler
Michalina
Mike Macgirvin
miqrogroove
Morgan McMillian
mpanhans
mytbk
nathilia-peirce
@ -244,8 +259,10 @@ Pierre Bernardeau
Pierre Rudloff
Piotr Blonkowski
Piotr Strębski
pixelroot
pokerazor
R C
r1pu5u
Rabuzarus
Radek
Rafael Garau
@ -254,6 +271,7 @@ Rain Hawk
Rainulf Pineda
Ralf Thees
ralph van der honing
Raroun
Ratten
rcmaniac
RealKinetix
@ -269,6 +287,7 @@ Roland Häder
Ruud Schilders
rwa
Ryan Voots
S. Brusch
S.Krumbholz
Sakałoŭ Alaksiej
Sam
@ -281,9 +300,11 @@ Senex Petrovic
Seth
SickShark X
Silke Meyer
Simon
Simon L'nu
Simon Rupf
Simó Albert i Beltran
snajafov
softmetz
soko1
Spencer Dub
@ -314,6 +335,7 @@ TiMESPLiNTER
Tino
Tobias Diekershoff
Tobias Hößl
Tobias Quathamer
Tom
Tom Aurlund
Tom Hu
@ -324,6 +346,7 @@ Torbjörn Andersson
TORminator
trebor
tschlotfeldt
tslmuun
Tubuntu
Tupambae.org
U-SOUND\mike
@ -345,6 +368,7 @@ Waldemar Stoczkowski
Walter Bulbazor
Wanting Chen
Wil Tur
Wladimir Palant
Wouter Broers
Xiaofei Xu
XMPPはいいぞ

View File

@ -1,46 +1,30 @@
Friendica Social Communications Server
======================================
Friendica - your open and free social network
=============================================
Welcome to the free social web.
Welcome to the free social web. Friendica is a platform for decentralised social communication linking to other independent social and corporate services.
Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.
Friendica connects you to a federated communications network of thousands of servers called the Fediverse.
Through various protocols you can interact with anyone on [Friendica]( https://friendi.ca), [Mastodon](https://joinmastodon.org), [Lemmy](https://join-lemmy.org/), [Diaspora](https://diasporafoundation.org), [Misskey](https://join.misskey.page), [Peertube](https://joinpeertube.org/), [Pixelfed](https://pixelfed.org/), [Pleroma](https://pleroma.social) and many more.
Receiving content from Tumblr, WordPress and RSS is also possible.
Friendica allows to import and mirror your content via add-ons such as ITTT and Buffer.
You can control the privacy scope of your content.
Our mission is to free friends, family and colleagues from data-harvesting corporations; we aim for social communication to be free and open, while flowing between any provider as easily as email does.
Being part of the Fediverse allows you to be free from data-harvesting corporations.
Enjoy open social communication, independent of any specific provider.
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on [Friendica]( https://friendi.ca), [Mastodon](https://joinmastodon.org/), [Diaspora](https://diasporafoundation.org/), [GnuSocial](https://gnu.io/social/), [Pleroma](https://pleroma.social/), or [Hubzilla](https://hubzilla.org/), regardless where each user profile is hosted.
[Join Friendica](https://dir.friendica.social/servers) today or set up [your own Friendica instance](doc/Install.md).
With Friendica, you can also fully interact with anyone on Twitter and receive any content from Tumblr, Wordpress or RSS. Friendica allows you to integrate most things on the web via a range of addons such as ITTT, Buffer; you will be able to easily control your own data as you decide.
### Friendica on desktop
Join today and [get your Friendica profile!](https://dir.friendica.social/servers 'Join Friendica today!')
![Frio theme in desktop browser](images/screenshots/friendica-2023-12-frio-desktop.png?raw=true "Frio theme in desktop browser")
Have a look at the [installation documentation](doc/Install.md) for further information about installing and using Friendica.
### Friendica on mobile
### Friendica Screenshots
| ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profile-1.png?raw=true "Frio theme in mobile browser") ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profile-2.png?raw=true "Frio theme in mobile browser")
|:--:|
|*Frio theme, mobile browser. Timeline and composer view.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profile-1.png?raw=true "Frio theme in desktop browser")
|*Frio theme, desktop browser. Timeline view, contact info popped up, control menu open.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profile-2.png?raw=true "Frio theme in desktop browser")
|*Frio theme, desktop browser. Menu open for controlling individual posts.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-3.png?raw=true "Frio theme in desktop browser")
|*Frio theme, desktop browser. Profile view, notification menu open.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-2.png?raw=true "Frio theme in desktop browser")
|*Number of new posts, in total and by group.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-1.png?raw=true "Frio theme in desktop browser")
|*Calender with popup of event.*|
|![Frio theme default colour in standard browser on tablet](images/screenshots/friendica-frio-default-profile-1.png?raw=true "Frio theme default colour in standard browser on tablet")
|*Notifications menu and private messages counter, standard browser on tablet.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-brown-profile-2.png?raw=true "Frio theme in desktop browser")
|*Number of visible contacts, standard browser.*|
|![Frio theme in desktop browser](images/screenshots/friendica-frio-brown-profile-1.png?raw=true "Frio theme in desktop browser")
|*Network posts chronologically ordered, standard browser.*|
|![Vier theme in desktop browser](images/screenshots/friendica-vier-profile.png?raw=true "Vier theme in desktop browser")
|*Vier theme, desktop browser. Public timeline view.*|
|![Vier theme in desktop browser](images/screenshots/friendica-vier-community.png?raw=true "Vier theme in desktop browser")
|*Vier theme, desktop browser. Community post displayed.*|
<p float="left">
<img src="images/screenshots/friendica-2023-10-frio-mobile-timeline-dark-blue.png" width="370" alt="frio on mobile, dark color scheme">
<img src="images/screenshots/friendica-2023-10-frio-mobile-options-light-blue.png" width="370" alt="frio on mobile, light color scheme">
</p>
## Endorsements
- [![Awesome Humane Tech](images/humane-tech-badge.svg)](https://github.com/humanetech-community/awesome-humane-tech) On August 12th 2020, Friendica was added to [the curated Awesome Humane Tech directory](https://github.com/humanetech-community/awesome-humane-tech) in [the "Fediverse" category](https://github.com/humanetech-community/awesome-humane-tech#fediverse).
- Friendica is listed on [![Awesome Humane Tech](images/humane-tech-badge.svg)](https://codeberg.org/teaserbot-labs/delightful-humane-design) in the [Fediverse category](https://codeberg.org/teaserbot-labs/delightful-humane-design#fediverse).

View File

@ -1 +1 @@
2023.05
2024.03

View File

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -58,6 +58,7 @@ if (php_sapi_name() !== 'cli') {
use Dice\Dice;
use Friendica\App\Mode;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\Security\ExAuth;
use Psr\Log\LoggerInterface;
@ -78,7 +79,10 @@ chdir($directory);
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['auth_ejabberd']]);
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => [LogChannel::AUTH_JABBERED]]);
\Friendica\DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));

View File

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -26,13 +26,17 @@ if (php_sapi_name() !== 'cli') {
}
use Dice\Dice;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\DI;
use Psr\Log\LoggerInterface;
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['console']]);
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::CONSOLE]]);
/// @fixme Necessary until Hooks inside the Logger can get loaded without the DI-class
DI::init($dice);

View File

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -60,7 +60,10 @@ if (!file_exists('index.php') && (sizeof($_SERVER['argv']) != 0)) {
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['daemon']]);
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [Logger\Capability\LogChannel::DAEMON]]);
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
@ -160,9 +163,14 @@ if (!$foreground) {
exit(1);
} elseif ($pid) {
// The parent process continues here
if (!file_put_contents($pidfile, $pid)) {
echo "Pid file wasn't written.\n";
Logger::warning('Could not store pid file');
posix_kill($pid, SIGTERM);
exit(1);
}
echo 'Child process started with pid ' . $pid . ".\n";
Logger::notice('Child process started', ['pid' => $pid]);
file_put_contents($pidfile, $pid);
exit(0);
}

View File

@ -1,6 +1,6 @@
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*

View File

@ -1,7 +1,7 @@
#!/usr/bin/php
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*

View File

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
* @copyright Copyright (C) 2010-2024, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -29,6 +29,7 @@ if (php_sapi_name() !== 'cli') {
use Dice\Dice;
use Friendica\App;
use Friendica\App\Mode;
use Friendica\Core\Logger\Capability\LogChannel;
use Friendica\Core\Update;
use Friendica\Core\Worker;
use Friendica\DI;
@ -54,7 +55,10 @@ if (!file_exists("index.php") && (sizeof($_SERVER["argv"]) != 0)) {
require dirname(__DIR__) . '/vendor/autoload.php';
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['worker']]);
/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::WORKER]]);
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));

View File

@ -13,7 +13,7 @@
"issues": "https://github.com/friendica/friendica/issues"
},
"require": {
"php": ">=7.3",
"php": ">=7.4",
"ext-ctype": "*",
"ext-curl": "*",
"ext-dom": "*",
@ -29,12 +29,12 @@
"ext-xml": "*",
"asika/simple-console": "^1.0",
"bacon/bacon-qr-code": "^2.0.0",
"divineomega/password_exposed": "^2.8",
"divineomega/password_exposed": "^3",
"enyo/dropzone": "^5.9",
"ezyang/htmlpurifier": "^4.7",
"friendica/json-ld": "^1.0",
"geekwright/po": "^2.0",
"guzzlehttp/guzzle": "^6.5",
"guzzlehttp/guzzle": "^7",
"guzzlehttp/oauth-subscriber": "^0.6",
"kornrunner/blurhash": "^1.2",
"league/html-to-markdown": "^4.8",
@ -44,7 +44,7 @@
"mattwright/urlresolver": "^2.0",
"michelf/php-markdown": "^1.7",
"minishlink/web-push": "^6.0",
"mobiledetect/mobiledetectlib": "^2.8",
"mobiledetect/mobiledetectlib": "^3.74",
"nikic/fast-route": "^1.3",
"paragonie/hidden-string": "^1.0",
"patrickschur/language-detection": "^5.0.0",
@ -53,7 +53,7 @@
"pragmarx/google2fa": "^5.0",
"pragmarx/recovery": "^0.2",
"psr/clock": "^1.0",
"psr/container": "^1.0",
"psr/container": "^2.0",
"psr/log": "^1.1",
"seld/cli-prompt": "^1.0",
"smarty/smarty": "^4",
@ -77,6 +77,12 @@
"npm-asset/textcomplete": "^0.18.2",
"npm-asset/typeahead.js": "^0.11.1"
},
"suggest": {
"ext-imagick": "For faster image processing",
"ext-redis": "To use Redis as a locking or caching provider",
"ext-pdo": "To use PDO as a database driver, has priority over mysqli unless database.disable_pdo is set",
"ext-mysqli": "To use mysqli as a databse driver"
},
"repositories": [
{
"type": "vcs",
@ -96,7 +102,7 @@
},
"config": {
"platform": {
"php": "7.3"
"php": "7.4"
},
"autoloader-suffix": "Friendica",
"optimize-autoloader": true,
@ -129,11 +135,13 @@
"mockery/mockery": "^1.3",
"mikey179/vfsstream": "^1.6",
"phpunit/phpunit": "^9",
"dms/phpunit-arraysubset-asserts": "^0.3.1"
"dms/phpunit-arraysubset-asserts": "^0.3.1",
"friendsofphp/php-cs-fixer": "^3.46"
},
"scripts": {
"test": "phpunit",
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './view/asset/*' -print0 | xargs -0 -n1 php -l",
"docker:translate": "docker run --rm -v $PWD:/data -w /data friendicaci/transifex bin/run_xgettext.sh",
"cs:install": "@composer install --working-dir=bin/dev/php-cs-fixer",
"cs:check": [
"@cs:install",
@ -142,6 +150,8 @@
"cs:fix": [
"@cs:install",
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix"
]
],
"cs:check-v3": "vendor/bin/php-cs-fixer check --diff",
"cs:fix-v3": "vendor/bin/php-cs-fixer fix"
}
}

2492
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 2023.05 (Giant Rhubarb)
-- DB_UPDATE_VERSION 1518
-- Friendica 2024.03 (Yellow Archangel)
-- DB_UPDATE_VERSION 1557
-- ------------------------------------------
@ -73,8 +73,6 @@ CREATE TABLE IF NOT EXISTS `user` (
`blockwall` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to post to the profile page of the user',
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT 'Hide profile details from unknown viewers',
`blocktags` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to tag the post of this user',
`unkmail` boolean NOT NULL DEFAULT '0' COMMENT 'Permit unknown people to send private mails to this user',
`cntunkmail` int unsigned NOT NULL DEFAULT 10 COMMENT '',
`notify-flags` smallint unsigned NOT NULL DEFAULT 65535 COMMENT 'email notification options',
`page-flags` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'page/profile type',
`account-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
@ -101,6 +99,19 @@ CREATE TABLE IF NOT EXISTS `user` (
FOREIGN KEY (`parent-uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='The local users';
--
-- TABLE user-gserver
--
CREATE TABLE IF NOT EXISTS `user-gserver` (
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
`gsid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Gserver id',
`ignored` boolean NOT NULL DEFAULT '0' COMMENT 'server accounts are ignored for the user',
PRIMARY KEY(`uid`,`gsid`),
INDEX `gsid` (`gsid`),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`gsid`) REFERENCES `gserver` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User settings about remote servers';
--
-- TABLE item-uri
--
@ -160,8 +171,8 @@ CREATE TABLE IF NOT EXISTS `contact` (
`archive` boolean NOT NULL DEFAULT '0' COMMENT '',
`unsearchable` boolean NOT NULL DEFAULT '0' COMMENT 'Contact prefers to not be searchable',
`sensitive` boolean NOT NULL DEFAULT '0' COMMENT 'Contact posts sensitive content',
`baseurl` varbinary(383) DEFAULT '' COMMENT 'baseurl of the contact',
`gsid` int unsigned COMMENT 'Global Server ID',
`baseurl` varbinary(383) DEFAULT '' COMMENT 'baseurl of the contact from the gserver record, can be missing',
`gsid` int unsigned COMMENT 'Global Server ID, can be missing',
`bd` date NOT NULL DEFAULT '0001-01-01' COMMENT '',
`reason` text COMMENT '',
`self` boolean NOT NULL DEFAULT '0' COMMENT '1 if the contact is the user him/her self',
@ -190,7 +201,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
`confirm` varbinary(383) COMMENT '',
`poco` varbinary(383) COMMENT '',
`writable` boolean NOT NULL DEFAULT '0' COMMENT '',
`forum` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a forum. Deprecated, use \'contact-type\' = \'community\' and \'manually-approve\' = false instead',
`forum` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a group. Deprecated, use \'contact-type\' = \'community\' and \'manually-approve\' = false instead',
`prv` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a private group. Deprecated, use \'contact-type\' = \'community\' and \'manually-approve\' = true instead',
`bdyear` varchar(4) NOT NULL DEFAULT '' COMMENT '',
`site-pubkey` text COMMENT 'Deprecated',
@ -252,9 +263,9 @@ CREATE TABLE IF NOT EXISTS `permissionset` (
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner id of this permission set',
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed circles',
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied circles',
PRIMARY KEY(`id`),
INDEX `uid_allow_cid_allow_gid_deny_cid_deny_gid` (`uid`,`allow_cid`(50),`allow_gid`(30),`deny_cid`(50),`deny_gid`(30)),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
@ -457,9 +468,9 @@ CREATE TABLE IF NOT EXISTS `attach` (
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation time',
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'last edit time',
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed circles',
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied circles',
`backend-class` tinytext COMMENT 'Storage backend class',
`backend-ref` text COMMENT 'Storage backend data reference',
PRIMARY KEY(`id`),
@ -479,6 +490,30 @@ CREATE TABLE IF NOT EXISTS `cache` (
INDEX `k_expires` (`k`,`expires`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Stores temporary data';
--
-- TABLE channel
--
CREATE TABLE IF NOT EXISTS `channel` (
`id` int unsigned NOT NULL auto_increment COMMENT '',
`uid` mediumint unsigned NOT NULL COMMENT 'User id',
`label` varchar(64) NOT NULL COMMENT 'Channel label',
`description` varchar(64) COMMENT 'Channel description',
`circle` int COMMENT 'Circle or channel that this channel is based on',
`access-key` varchar(1) COMMENT 'Access key',
`include-tags` varchar(1023) COMMENT 'Comma separated list of tags that will be included in the channel',
`exclude-tags` varchar(1023) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
`min-size` int unsigned COMMENT 'Minimum post size',
`max-size` int unsigned COMMENT 'Maximum post size',
`full-text-search` varchar(1023) COMMENT 'Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode',
`media-type` smallint unsigned COMMENT 'Filtered media types',
`languages` mediumtext COMMENT 'Desired languages',
`publish` boolean COMMENT 'publish channel content',
`valid` boolean COMMENT 'Set, when the full-text-search is valid',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User defined Channels';
--
-- TABLE config
--
@ -497,9 +532,14 @@ CREATE TABLE IF NOT EXISTS `config` (
CREATE TABLE IF NOT EXISTS `contact-relation` (
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact the related contact had interacted with',
`relation-cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'related contact who had interacted with the contact',
`last-interaction` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last interaction',
`last-interaction` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last interaction by relation-cid on cid',
`follow-updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last update of the contact relationship',
`follows` boolean NOT NULL DEFAULT '0' COMMENT '',
`follows` boolean NOT NULL DEFAULT '0' COMMENT 'if true, relation-cid follows cid',
`score` smallint unsigned COMMENT 'score for interactions of cid on relation-cid',
`relation-score` smallint unsigned COMMENT 'score for interactions of relation-cid on cid',
`thread-score` smallint unsigned COMMENT 'score for interactions of cid on threads of relation-cid',
`relation-thread-score` smallint unsigned COMMENT 'score for interactions of relation-cid on threads of cid',
`post-score` smallint unsigned COMMENT 'score for the amount of posts from cid that can be seen by relation-cid',
PRIMARY KEY(`cid`,`relation-cid`),
INDEX `relation-cid` (`relation-cid`),
FOREIGN KEY (`cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
@ -662,9 +702,9 @@ CREATE TABLE IF NOT EXISTS `event` (
`nofinish` boolean NOT NULL DEFAULT '0' COMMENT 'if event does have no end this is 1',
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '0 or 1',
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed circles',
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied circles',
PRIMARY KEY(`id`),
INDEX `uid_start` (`uid`,`start`),
INDEX `cid` (`cid`),
@ -716,29 +756,29 @@ CREATE TABLE IF NOT EXISTS `group` (
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
`visible` boolean NOT NULL DEFAULT '0' COMMENT '1 indicates the member list is not private',
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '1 indicates the group has been deleted',
`cid` int unsigned COMMENT 'Contact id of forum. When this field is filled then the members are synced automatically.',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'human readable name of group',
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '1 indicates the circle has been deleted',
`cid` int unsigned COMMENT 'Contact id of group. When this field is filled then the members are synced automatically.',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'human readable name of circle',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`),
INDEX `cid` (`cid`),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, group info';
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy circles, circle info';
--
-- TABLE group_member
--
CREATE TABLE IF NOT EXISTS `group_member` (
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
`gid` int unsigned NOT NULL DEFAULT 0 COMMENT 'groups.id of the associated group',
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id of the member assigned to the associated group',
`gid` int unsigned NOT NULL DEFAULT 0 COMMENT 'group.id of the associated circle',
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id of the member assigned to the associated circle',
PRIMARY KEY(`id`),
INDEX `contactid` (`contact-id`),
UNIQUE INDEX `gid_contactid` (`gid`,`contact-id`),
FOREIGN KEY (`gid`) REFERENCES `group` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`contact-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, member info';
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy circles, member info';
--
-- TABLE gserver-tag
@ -1114,9 +1154,9 @@ CREATE TABLE IF NOT EXISTS `photo` (
`scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
`profile` boolean NOT NULL DEFAULT '0' COMMENT '',
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed circles',
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
`deny_gid` mediumtext COMMENT 'Access Control - list of denied circles',
`accessible` boolean NOT NULL DEFAULT '0' COMMENT 'Make photo publicly accessible, ignoring permissions',
`backend-class` tinytext COMMENT 'Storage backend class',
`backend-ref` text COMMENT 'Storage backend data reference',
@ -1200,6 +1240,23 @@ CREATE TABLE IF NOT EXISTS `post-category` (
FOREIGN KEY (`tid`) REFERENCES `tag` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='post relation to categories';
--
-- TABLE post-counts
--
CREATE TABLE IF NOT EXISTS `post-counts` (
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
`vid` smallint unsigned NOT NULL COMMENT 'Id of the verb table entry that contains the activity verbs',
`reaction` varchar(4) NOT NULL COMMENT 'Emoji Reaction',
`parent-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the parent uri',
`count` int unsigned DEFAULT 0 COMMENT 'Number of activities',
PRIMARY KEY(`uri-id`,`vid`,`reaction`),
INDEX `vid` (`vid`),
INDEX `parent-uri-id` (`parent-uri-id`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`vid`) REFERENCES `verb` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
FOREIGN KEY (`parent-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Original remote activity';
--
-- TABLE post-collection
--
@ -1227,6 +1284,7 @@ CREATE TABLE IF NOT EXISTS `post-content` (
`location` varchar(255) NOT NULL DEFAULT '' COMMENT 'text location where this item originated',
`coord` varchar(255) NOT NULL DEFAULT '' COMMENT 'longitude/latitude pair representing location where this item originated',
`language` text COMMENT 'Language information about this post',
`sensitive` boolean COMMENT 'If true, this post contains sensitive content',
`app` varchar(255) NOT NULL DEFAULT '' COMMENT 'application which generated this item',
`rendered-hash` varchar(32) NOT NULL DEFAULT '' COMMENT '',
`rendered-html` mediumtext COMMENT 'item.body converted to html',
@ -1239,7 +1297,6 @@ CREATE TABLE IF NOT EXISTS `post-content` (
PRIMARY KEY(`uri-id`),
INDEX `plink` (`plink`(191)),
INDEX `resource-id` (`resource-id`),
FULLTEXT INDEX `title-content-warning-body` (`title`,`content-warning`,`body`),
INDEX `quote-uri-id` (`quote-uri-id`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`quote-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
@ -1283,6 +1340,30 @@ CREATE TABLE IF NOT EXISTS `post-delivery-data` (
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Delivery data for items';
--
-- TABLE post-engagement
--
CREATE TABLE IF NOT EXISTS `post-engagement` (
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Item owner',
`contact-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Person, organisation, news, community, relay',
`media-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Type of media in a bit array (1 = image, 2 = video, 4 = audio',
`language` char(2) COMMENT 'Language information about this post in the ISO 639-1 format',
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
`size` int unsigned COMMENT 'Body size',
`created` datetime COMMENT '',
`network` char(4) COMMENT '',
`restricted` boolean NOT NULL DEFAULT '0' COMMENT 'If true, this post is either unlisted or not from a federated network',
`comments` mediumint unsigned COMMENT 'Number of comments',
`activities` mediumint unsigned COMMENT 'Number of activities (like, dislike, ...)',
PRIMARY KEY(`uri-id`),
INDEX `owner-id` (`owner-id`),
INDEX `created` (`created`),
FULLTEXT INDEX `searchtext` (`searchtext`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Engagement data per post';
--
-- TABLE post-history
--
@ -1384,6 +1465,26 @@ CREATE TABLE IF NOT EXISTS `post-question-option` (
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Question option';
--
-- TABLE post-searchindex
--
CREATE TABLE IF NOT EXISTS `post-searchindex` (
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Item owner',
`media-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Type of media in a bit array (1 = image, 2 = video, 4 = audio',
`language` char(2) COMMENT 'Language information about this post in the ISO 639-1 format',
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
`size` int unsigned COMMENT 'Body size',
`created` datetime COMMENT '',
`restricted` boolean NOT NULL DEFAULT '0' COMMENT 'If true, this post is either unlisted or not from a federated network',
PRIMARY KEY(`uri-id`),
INDEX `owner-id` (`owner-id`),
INDEX `created` (`created`),
FULLTEXT INDEX `searchtext` (`searchtext`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Content for all posts';
--
-- TABLE post-tag
--
@ -1476,7 +1577,8 @@ CREATE TABLE IF NOT EXISTS `post-user` (
INDEX `event-id` (`event-id`),
INDEX `psid` (`psid`),
INDEX `author-id_uid` (`author-id`,`uid`),
INDEX `author-id_received` (`author-id`,`received`),
INDEX `author-id_created` (`author-id`,`created`),
INDEX `owner-id_created` (`owner-id`,`created`),
INDEX `parent-uri-id_uid` (`parent-uri-id`,`uid`),
INDEX `uid_wall_received` (`uid`,`wall`,`received`),
INDEX `uid_contactid` (`uid`,`contact-id`),
@ -1536,11 +1638,18 @@ CREATE TABLE IF NOT EXISTS `post-thread-user` (
INDEX `psid` (`psid`),
INDEX `post-user-id` (`post-user-id`),
INDEX `commented` (`commented`),
INDEX `received` (`received`),
INDEX `author-id_created` (`author-id`,`created`),
INDEX `owner-id_created` (`owner-id`,`created`),
INDEX `uid_received` (`uid`,`received`),
INDEX `uid_wall_received` (`uid`,`wall`,`received`),
INDEX `uid_commented` (`uid`,`commented`),
INDEX `uid_created` (`uid`,`created`),
INDEX `uid_starred` (`uid`,`starred`),
INDEX `uid_mention` (`uid`,`mention`),
INDEX `contact-id_commented` (`contact-id`,`commented`),
INDEX `contact-id_received` (`contact-id`,`received`),
INDEX `contact-id_created` (`contact-id`,`created`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`conversation-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
@ -1586,7 +1695,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
`profile-name` varchar(255) COMMENT 'Deprecated',
`is-default` boolean COMMENT 'Deprecated',
`hide-friends` boolean NOT NULL DEFAULT '0' COMMENT 'Hide friend list from viewers of this profile',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Unused in favor of user.username',
`pdesc` varchar(255) COMMENT 'Deprecated',
`dob` varchar(32) NOT NULL DEFAULT '0000-00-00' COMMENT 'Day of birth',
`address` varchar(255) NOT NULL DEFAULT '' COMMENT '',
@ -1627,7 +1736,6 @@ CREATE TABLE IF NOT EXISTS `profile` (
`net-publish` boolean NOT NULL DEFAULT '0' COMMENT 'publish profile in global directory',
PRIMARY KEY(`id`),
INDEX `uid_is-default` (`uid`,`is-default`),
FULLTEXT INDEX `pub_keywords` (`pub_keywords`),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='user profiles data';
@ -1695,19 +1803,34 @@ CREATE TABLE IF NOT EXISTS `report` (
`uid` mediumint unsigned COMMENT 'Reporting user',
`reporter-id` int unsigned COMMENT 'Reporting contact',
`cid` int unsigned NOT NULL COMMENT 'Reported contact',
`gsid` int unsigned COMMENT 'Reported contact server',
`comment` text COMMENT 'Report',
`category` varchar(20) COMMENT 'Category of the report (spam, violation, other)',
`rules` text COMMENT 'Violated rules',
`category-id` int unsigned NOT NULL DEFAULT 1 COMMENT 'Report category, one of Entity Report::CATEGORY_*',
`forward` boolean COMMENT 'Forward the report to the remote server',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
`status` tinyint unsigned COMMENT 'Status of the report',
`public-remarks` text COMMENT 'Remarks shared with the reporter',
`private-remarks` text COMMENT 'Remarks shared with the moderation team',
`last-editor-uid` mediumint unsigned COMMENT 'Last editor user',
`assigned-uid` mediumint unsigned COMMENT 'Assigned moderator user',
`status` tinyint unsigned NOT NULL COMMENT 'Status of the report, one of Entity Report::STATUS_*',
`resolution` tinyint unsigned COMMENT 'Resolution of the report, one of Entity Report::RESOLUTION_*',
`created` datetime(6) NOT NULL DEFAULT '0001-01-01 00:00:00.000000' COMMENT '',
`edited` datetime(6) COMMENT 'Last time the report has been edited',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`),
INDEX `cid` (`cid`),
INDEX `reporter-id` (`reporter-id`),
INDEX `gsid` (`gsid`),
INDEX `last-editor-uid` (`last-editor-uid`),
INDEX `assigned-uid` (`assigned-uid`),
INDEX `status-resolution` (`status`,`resolution`),
INDEX `created` (`created`),
INDEX `edited` (`edited`),
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`reporter-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
FOREIGN KEY (`cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`gsid`) REFERENCES `gserver` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`last-editor-uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`assigned-uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
@ -1721,7 +1844,18 @@ CREATE TABLE IF NOT EXISTS `report-post` (
INDEX `uri-id` (`uri-id`),
FOREIGN KEY (`rid`) REFERENCES `report` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Individual posts attached to a moderation report';
--
-- TABLE report-rule
--
CREATE TABLE IF NOT EXISTS `report-rule` (
`rid` int unsigned NOT NULL COMMENT 'Report id',
`line-id` int unsigned NOT NULL COMMENT 'Terms of service rule line number, may become invalid after a TOS change.',
`text` text NOT NULL COMMENT 'Terms of service rule text recorded at the time of the report',
PRIMARY KEY(`rid`,`line-id`),
FOREIGN KEY (`rid`) REFERENCES `report` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Terms of service rule lines relevant to a moderation report';
--
-- TABLE search
@ -1782,6 +1916,16 @@ CREATE TABLE IF NOT EXISTS `subscription` (
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Push Subscription for the API';
--
-- TABLE check-full-text-search
--
CREATE TABLE IF NOT EXISTS `check-full-text-search` (
`pid` int unsigned NOT NULL COMMENT 'The ID of the process',
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
PRIMARY KEY(`pid`),
FULLTEXT INDEX `searchtext` (`searchtext`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Check for a full text search match in user defined channels before storing the message in the system';
--
-- TABLE userd
--
@ -1804,12 +1948,13 @@ CREATE TABLE IF NOT EXISTS `user-contact` (
`collapsed` boolean COMMENT 'Posts from this contact are collapsed',
`hidden` boolean COMMENT 'This contact is hidden from the others',
`is-blocked` boolean COMMENT 'User is blocked by this contact',
`channel-frequency` tinyint unsigned COMMENT 'Controls the frequency of the appearance of this contact in channels',
`pending` boolean COMMENT '',
`rel` tinyint unsigned COMMENT 'The kind of the relation between the user and the contact',
`info` mediumtext COMMENT '',
`notify_new_posts` boolean COMMENT '',
`remote_self` boolean COMMENT '',
`fetch_further_information` tinyint unsigned COMMENT '',
`remote_self` tinyint unsigned COMMENT '0 => No mirroring, 1-2 => Mirror as own post, 3 => Mirror as reshare',
`fetch_further_information` tinyint unsigned COMMENT '0 => None, 1 => Fetch information, 3 => Fetch keywords, 2 => Fetch both',
`ffi_keyword_denylist` text COMMENT '',
`subhub` boolean COMMENT '',
`hub-verify` varbinary(383) COMMENT '',
@ -1872,7 +2017,130 @@ CREATE VIEW `application-view` AS SELECT
`application-token`.`follow` AS `follow`,
`application-token`.`push` AS `push`
FROM `application-token`
INNER JOIN `application` ON `application-token`.`application-id` = `application`.`id`;
INNER JOIN `application` ON `application-token`.`application-id` = `application`.`id`
INNER JOIN `user` ON `user`.`uid` = `application-token`.`uid` AND `user`.`verified` AND NOT `user`.`blocked` AND NOT `user`.`account_removed` AND NOT `user`.`account_expired`;
--
-- VIEW circle-member-view
--
DROP VIEW IF EXISTS `circle-member-view`;
CREATE VIEW `circle-member-view` AS SELECT
`group_member`.`id` AS `id`,
`group`.`uid` AS `uid`,
`group_member`.`contact-id` AS `contact-id`,
`contact`.`uri-id` AS `contact-uri-id`,
`contact`.`url` AS `contact-link`,
`contact`.`addr` AS `contact-addr`,
`contact`.`name` AS `contact-name`,
`contact`.`nick` AS `contact-nick`,
`contact`.`thumb` AS `contact-avatar`,
`contact`.`network` AS `contact-network`,
`contact`.`blocked` AS `contact-blocked`,
`contact`.`hidden` AS `contact-hidden`,
`contact`.`readonly` AS `contact-readonly`,
`contact`.`archive` AS `contact-archive`,
`contact`.`pending` AS `contact-pending`,
`contact`.`self` AS `contact-self`,
`contact`.`rel` AS `contact-rel`,
`contact`.`contact-type` AS `contact-contact-type`,
`group_member`.`gid` AS `circle-id`,
`group`.`visible` AS `circle-visible`,
`group`.`deleted` AS `circle-deleted`,
`group`.`name` AS `circle-name`
FROM `group_member`
INNER JOIN `contact` ON `group_member`.`contact-id` = `contact`.`id`
INNER JOIN `group` ON `group_member`.`gid` = `group`.`id`;
--
-- VIEW post-counts-view
--
DROP VIEW IF EXISTS `post-counts-view`;
CREATE VIEW `post-counts-view` AS SELECT
`post-counts`.`uri-id` AS `uri-id`,
`post-counts`.`vid` AS `vid`,
`verb`.`name` AS `verb`,
`post-counts`.`reaction` AS `reaction`,
`post-counts`.`parent-uri-id` AS `parent-uri-id`,
`post-counts`.`count` AS `count`
FROM `post-counts`
INNER JOIN `verb` ON `verb`.`id` = `post-counts`.`vid`;
--
-- VIEW post-timeline-view
--
DROP VIEW IF EXISTS `post-timeline-view`;
CREATE VIEW `post-timeline-view` AS SELECT
`post-user`.`uid` AS `uid`,
`post-user`.`uri-id` AS `uri-id`,
`post-user`.`gravity` AS `gravity`,
`post-user`.`created` AS `created`,
`post-user`.`edited` AS `edited`,
`post-thread-user`.`commented` AS `commented`,
`post-user`.`received` AS `received`,
`post-thread-user`.`changed` AS `changed`,
`post-user`.`private` AS `private`,
`post-user`.`visible` AS `visible`,
`post-user`.`deleted` AS `deleted`,
`post-user`.`origin` AS `origin`,
`post-user`.`global` AS `global`,
`post-user`.`network` AS `network`,
`post-user`.`protocol` AS `protocol`,
`post-user`.`vid` AS `vid`,
`post-user`.`contact-id` AS `contact-id`,
`contact`.`blocked` AS `contact-blocked`,
`contact`.`readonly` AS `contact-readonly`,
`contact`.`pending` AS `contact-pending`,
`contact`.`rel` AS `contact-rel`,
`contact`.`uid` AS `contact-uid`,
`contact`.`self` AS `self`,
`post-user`.`author-id` AS `author-id`,
`author`.`blocked` AS `author-blocked`,
`author`.`hidden` AS `author-hidden`,
`author`.`gsid` AS `author-gsid`,
`post-user`.`owner-id` AS `owner-id`,
`owner`.`blocked` AS `owner-blocked`,
`owner`.`gsid` AS `owner-gsid`,
`post-user`.`causer-id` AS `causer-id`,
`causer`.`blocked` AS `causer-blocked`,
`causer`.`gsid` AS `causer-gsid`
FROM `post-user`
LEFT JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`;
--
-- VIEW post-searchindex-user-view
--
DROP VIEW IF EXISTS `post-searchindex-user-view`;
CREATE VIEW `post-searchindex-user-view` AS SELECT
`post-thread-user`.`uid` AS `uid`,
`post-searchindex`.`uri-id` AS `uri-id`,
`post-searchindex`.`owner-id` AS `owner-id`,
`post-searchindex`.`media-type` AS `media-type`,
`post-searchindex`.`language` AS `language`,
`post-searchindex`.`searchtext` AS `searchtext`,
`post-searchindex`.`size` AS `size`,
`post-thread-user`.`commented` AS `commented`,
`post-thread-user`.`received` AS `received`,
`post-thread-user`.`created` AS `created`,
`post-thread-user`.`network` AS `network`,
`post-searchindex`.`language` AS `restricted`,
0 AS `comments`,
0 AS `activities`
FROM `post-thread-user`
INNER JOIN `post-searchindex` ON `post-searchindex`.`uri-id` = `post-thread-user`.`uri-id`
INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
AND (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`);
--
-- VIEW post-user-view
@ -1882,7 +2150,7 @@ CREATE VIEW `post-user-view` AS SELECT
`post-user`.`id` AS `id`,
`post-user`.`id` AS `post-user-id`,
`post-user`.`uid` AS `uid`,
`parent-post`.`id` AS `parent`,
`post-thread-user`.`post-user-id` AS `parent`,
`item-uri`.`uri` AS `uri`,
`post-user`.`uri-id` AS `uri-id`,
`parent-item-uri`.`uri` AS `parent-uri`,
@ -1931,6 +2199,7 @@ CREATE VIEW `post-user-view` AS SELECT
`post-content`.`plink` AS `plink`,
`post-content`.`location` AS `location`,
`post-content`.`coord` AS `coord`,
`post-content`.`sensitive` AS `sensitive`,
`post-content`.`app` AS `app`,
`post-content`.`object-type` AS `object-type`,
`post-content`.`object` AS `object`,
@ -1968,23 +2237,28 @@ CREATE VIEW `post-user-view` AS SELECT
`author`.`addr` AS `author-addr`,
IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`) AS `author-name`,
`author`.`nick` AS `author-nick`,
`author`.`alias` AS `author-alias`,
IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`) AS `author-avatar`,
`author`.`network` AS `author-network`,
`author`.`blocked` AS `author-blocked`,
`author`.`hidden` AS `author-hidden`,
`author`.`updated` AS `author-updated`,
`author`.`contact-type` AS `author-contact-type`,
`author`.`gsid` AS `author-gsid`,
`author`.`baseurl` AS `author-baseurl`,
`post-user`.`owner-id` AS `owner-id`,
`owner`.`uri-id` AS `owner-uri-id`,
`owner`.`url` AS `owner-link`,
`owner`.`addr` AS `owner-addr`,
IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`) AS `owner-name`,
`owner`.`nick` AS `owner-nick`,
`owner`.`alias` AS `owner-alias`,
IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`) AS `owner-avatar`,
`owner`.`network` AS `owner-network`,
`owner`.`blocked` AS `owner-blocked`,
`owner`.`hidden` AS `owner-hidden`,
`owner`.`updated` AS `owner-updated`,
`owner`.`gsid` AS `owner-gsid`,
`owner`.`contact-type` AS `owner-contact-type`,
`post-user`.`causer-id` AS `causer-id`,
`causer`.`uri-id` AS `causer-uri-id`,
@ -1992,10 +2266,12 @@ CREATE VIEW `post-user-view` AS SELECT
`causer`.`addr` AS `causer-addr`,
`causer`.`name` AS `causer-name`,
`causer`.`nick` AS `causer-nick`,
`causer`.`alias` AS `causer-alias`,
`causer`.`thumb` AS `causer-avatar`,
`causer`.`network` AS `causer-network`,
`causer`.`blocked` AS `causer-blocked`,
`causer`.`hidden` AS `causer-hidden`,
`causer`.`gsid` AS `causer-gsid`,
`causer`.`contact-type` AS `causer-contact-type`,
`post-delivery-data`.`postopts` AS `postopts`,
`post-delivery-data`.`inform` AS `inform`,
@ -2025,14 +2301,14 @@ CREATE VIEW `post-user-view` AS SELECT
EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-user`.`uri-id`) AS `has-media`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
`parent-post`.`network` AS `parent-network`,
`parent-post`.`author-id` AS `parent-author-id`,
`post-thread-user`.`network` AS `parent-network`,
`post-thread-user`.`author-id` AS `parent-author-id`,
`parent-post-author`.`url` AS `parent-author-link`,
`parent-post-author`.`name` AS `parent-author-name`,
`parent-post-author`.`nick` AS `parent-author-nick`,
`parent-post-author`.`network` AS `parent-author-network`
FROM `post-user`
STRAIGHT_JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
@ -2050,8 +2326,7 @@ CREATE VIEW `post-user-view` AS SELECT
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-user`.`uri-id` AND `post-user`.`origin`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-user`.`uri-id`
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-user`.`psid`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-user`.`uid`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `post-thread-user`.`author-id`;
--
-- VIEW post-thread-user-view
@ -2061,7 +2336,7 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`post-user`.`id` AS `id`,
`post-user`.`id` AS `post-user-id`,
`post-thread-user`.`uid` AS `uid`,
`parent-post`.`id` AS `parent`,
`post-thread-user`.`post-user-id` AS `parent`,
`item-uri`.`uri` AS `uri`,
`post-thread-user`.`uri-id` AS `uri-id`,
`parent-item-uri`.`uri` AS `parent-uri`,
@ -2109,6 +2384,7 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`post-content`.`plink` AS `plink`,
`post-content`.`location` AS `location`,
`post-content`.`coord` AS `coord`,
`post-content`.`sensitive` AS `sensitive`,
`post-content`.`app` AS `app`,
`post-content`.`object-type` AS `object-type`,
`post-content`.`object` AS `object`,
@ -2130,6 +2406,7 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`contact`.`pending` AS `contact-pending`,
`contact`.`rel` AS `contact-rel`,
`contact`.`uid` AS `contact-uid`,
`contact`.`gsid` AS `contact-gsid`,
`contact`.`contact-type` AS `contact-contact-type`,
IF (`post-user`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `contact`.`writable`) AS `writable`,
`contact`.`self` AS `self`,
@ -2146,11 +2423,13 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`author`.`addr` AS `author-addr`,
IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`) AS `author-name`,
`author`.`nick` AS `author-nick`,
`author`.`alias` AS `author-alias`,
IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`) AS `author-avatar`,
`author`.`network` AS `author-network`,
`author`.`blocked` AS `author-blocked`,
`author`.`hidden` AS `author-hidden`,
`author`.`updated` AS `author-updated`,
`author`.`contact-type` AS `author-contact-type`,
`author`.`gsid` AS `author-gsid`,
`post-thread-user`.`owner-id` AS `owner-id`,
`owner`.`uri-id` AS `owner-uri-id`,
@ -2158,11 +2437,13 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`owner`.`addr` AS `owner-addr`,
IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`) AS `owner-name`,
`owner`.`nick` AS `owner-nick`,
`owner`.`alias` AS `owner-alias`,
IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`) AS `owner-avatar`,
`owner`.`network` AS `owner-network`,
`owner`.`blocked` AS `owner-blocked`,
`owner`.`hidden` AS `owner-hidden`,
`owner`.`updated` AS `owner-updated`,
`owner`.`gsid` AS `owner-gsid`,
`owner`.`contact-type` AS `owner-contact-type`,
`post-thread-user`.`causer-id` AS `causer-id`,
`causer`.`uri-id` AS `causer-uri-id`,
@ -2170,10 +2451,12 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`causer`.`addr` AS `causer-addr`,
`causer`.`name` AS `causer-name`,
`causer`.`nick` AS `causer-nick`,
`causer`.`alias` AS `causer-alias`,
`causer`.`thumb` AS `causer-avatar`,
`causer`.`network` AS `causer-network`,
`causer`.`blocked` AS `causer-blocked`,
`causer`.`hidden` AS `causer-hidden`,
`causer`.`gsid` AS `causer-gsid`,
`causer`.`contact-type` AS `causer-contact-type`,
`post-delivery-data`.`postopts` AS `postopts`,
`post-delivery-data`.`inform` AS `inform`,
@ -2203,11 +2486,12 @@ CREATE VIEW `post-thread-user-view` AS SELECT
EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-thread-user`.`uri-id`) AS `has-media`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
`parent-post`.`network` AS `parent-network`,
`parent-post`.`author-id` AS `parent-author-id`,
`parent-post-author`.`url` AS `parent-author-link`,
`parent-post-author`.`name` AS `parent-author-name`,
`parent-post-author`.`network` AS `parent-author-network`
`post-thread-user`.`network` AS `parent-network`,
`post-thread-user`.`author-id` AS `parent-author-id`,
`author`.`url` AS `parent-author-link`,
`author`.`name` AS `parent-author-name`,
`author`.`nick` AS `parent-author-nick`,
`author`.`network` AS `parent-author-network`
FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
@ -2226,9 +2510,7 @@ CREATE VIEW `post-thread-user-view` AS SELECT
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-thread-user`.`uri-id` AND `post-thread-user`.`origin`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread-user`.`uri-id`
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-thread-user`.`psid`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-thread-user`.`uid`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-thread-user`.`psid`;
--
-- VIEW post-view
@ -2273,6 +2555,7 @@ CREATE VIEW `post-view` AS SELECT
`post-content`.`plink` AS `plink`,
`post-content`.`location` AS `location`,
`post-content`.`coord` AS `coord`,
`post-content`.`sensitive` AS `sensitive`,
`post-content`.`app` AS `app`,
`post-content`.`object-type` AS `object-type`,
`post-content`.`object` AS `object`,
@ -2310,11 +2593,13 @@ CREATE VIEW `post-view` AS SELECT
`author`.`addr` AS `author-addr`,
`author`.`name` AS `author-name`,
`author`.`nick` AS `author-nick`,
`author`.`alias` AS `author-alias`,
`author`.`thumb` AS `author-avatar`,
`author`.`network` AS `author-network`,
`author`.`blocked` AS `author-blocked`,
`author`.`hidden` AS `author-hidden`,
`author`.`updated` AS `author-updated`,
`author`.`contact-type` AS `author-contact-type`,
`author`.`gsid` AS `author-gsid`,
`post`.`owner-id` AS `owner-id`,
`owner`.`uri-id` AS `owner-uri-id`,
@ -2322,23 +2607,27 @@ CREATE VIEW `post-view` AS SELECT
`owner`.`addr` AS `owner-addr`,
`owner`.`name` AS `owner-name`,
`owner`.`nick` AS `owner-nick`,
`owner`.`alias` AS `owner-alias`,
`owner`.`thumb` AS `owner-avatar`,
`owner`.`network` AS `owner-network`,
`owner`.`blocked` AS `owner-blocked`,
`owner`.`hidden` AS `owner-hidden`,
`owner`.`updated` AS `owner-updated`,
`owner`.`contact-type` AS `owner-contact-type`,
`owner`.`gsid` AS `owner-gsid`,
`post`.`causer-id` AS `causer-id`,
`causer`.`uri-id` AS `causer-uri-id`,
`causer`.`url` AS `causer-link`,
`causer`.`addr` AS `causer-addr`,
`causer`.`name` AS `causer-name`,
`causer`.`nick` AS `causer-nick`,
`causer`.`alias` AS `causer-alias`,
`causer`.`thumb` AS `causer-avatar`,
`causer`.`network` AS `causer-network`,
`causer`.`blocked` AS `causer-blocked`,
`causer`.`hidden` AS `causer-hidden`,
`causer`.`contact-type` AS `causer-contact-type`,
`causer`.`gsid` AS `causer-gsid`,
`post-question`.`id` AS `question-id`,
`post-question`.`multiple` AS `question-multiple`,
`post-question`.`voters` AS `question-voters`,
@ -2347,10 +2636,11 @@ CREATE VIEW `post-view` AS SELECT
EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post`.`uri-id`) AS `has-media`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
`parent-post`.`network` AS `parent-network`,
`parent-post`.`author-id` AS `parent-author-id`,
`post-thread`.`network` AS `parent-network`,
`post-thread`.`author-id` AS `parent-author-id`,
`parent-post-author`.`url` AS `parent-author-link`,
`parent-post-author`.`name` AS `parent-author-name`,
`parent-post-author`.`nick` AS `parent-author-nick`,
`parent-post-author`.`network` AS `parent-author-network`
FROM `post`
STRAIGHT_JOIN `post-thread` ON `post-thread`.`uri-id` = `post`.`parent-uri-id`
@ -2367,8 +2657,7 @@ CREATE VIEW `post-view` AS SELECT
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post`.`uri-id`
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post`.`uri-id`
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `post-thread`.`author-id`;
--
-- VIEW post-thread-view
@ -2413,6 +2702,7 @@ CREATE VIEW `post-thread-view` AS SELECT
`post-content`.`plink` AS `plink`,
`post-content`.`location` AS `location`,
`post-content`.`coord` AS `coord`,
`post-content`.`sensitive` AS `sensitive`,
`post-content`.`app` AS `app`,
`post-content`.`object-type` AS `object-type`,
`post-content`.`object` AS `object`,
@ -2450,11 +2740,13 @@ CREATE VIEW `post-thread-view` AS SELECT
`author`.`addr` AS `author-addr`,
`author`.`name` AS `author-name`,
`author`.`nick` AS `author-nick`,
`author`.`alias` AS `author-alias`,
`author`.`thumb` AS `author-avatar`,
`author`.`network` AS `author-network`,
`author`.`blocked` AS `author-blocked`,
`author`.`hidden` AS `author-hidden`,
`author`.`updated` AS `author-updated`,
`author`.`contact-type` AS `author-contact-type`,
`author`.`gsid` AS `author-gsid`,
`post-thread`.`owner-id` AS `owner-id`,
`owner`.`uri-id` AS `owner-uri-id`,
@ -2462,11 +2754,13 @@ CREATE VIEW `post-thread-view` AS SELECT
`owner`.`addr` AS `owner-addr`,
`owner`.`name` AS `owner-name`,
`owner`.`nick` AS `owner-nick`,
`owner`.`alias` AS `owner-alias`,
`owner`.`thumb` AS `owner-avatar`,
`owner`.`network` AS `owner-network`,
`owner`.`blocked` AS `owner-blocked`,
`owner`.`hidden` AS `owner-hidden`,
`owner`.`updated` AS `owner-updated`,
`owner`.`gsid` AS `owner-gsid`,
`owner`.`contact-type` AS `owner-contact-type`,
`post-thread`.`causer-id` AS `causer-id`,
`causer`.`uri-id` AS `causer-uri-id`,
@ -2474,10 +2768,12 @@ CREATE VIEW `post-thread-view` AS SELECT
`causer`.`addr` AS `causer-addr`,
`causer`.`name` AS `causer-name`,
`causer`.`nick` AS `causer-nick`,
`causer`.`alias` AS `causer-alias`,
`causer`.`thumb` AS `causer-avatar`,
`causer`.`network` AS `causer-network`,
`causer`.`blocked` AS `causer-blocked`,
`causer`.`hidden` AS `causer-hidden`,
`causer`.`gsid` AS `causer-gsid`,
`causer`.`contact-type` AS `causer-contact-type`,
`post-question`.`id` AS `question-id`,
`post-question`.`multiple` AS `question-multiple`,
@ -2489,11 +2785,12 @@ CREATE VIEW `post-thread-view` AS SELECT
(SELECT COUNT(DISTINCT(`author-id`)) FROM `post` WHERE `parent-uri-id` = `post-thread`.`uri-id` AND `gravity` = 6) AS `total-actors`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
`parent-post`.`network` AS `parent-network`,
`parent-post`.`author-id` AS `parent-author-id`,
`parent-post-author`.`url` AS `parent-author-link`,
`parent-post-author`.`name` AS `parent-author-name`,
`parent-post-author`.`network` AS `parent-author-network`
`post-thread`.`network` AS `parent-network`,
`post-thread`.`author-id` AS `parent-author-id`,
`author`.`url` AS `parent-author-link`,
`author`.`name` AS `parent-author-name`,
`author`.`nick` AS `parent-author-nick`,
`author`.`network` AS `parent-author-network`
FROM `post-thread`
INNER JOIN `post` ON `post`.`uri-id` = `post-thread`.`uri-id`
STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-thread`.`author-id`
@ -2508,9 +2805,7 @@ CREATE VIEW `post-thread-view` AS SELECT
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread`.`uri-id`;
--
-- VIEW category-view
@ -2587,7 +2882,7 @@ CREATE VIEW `tag-view` AS SELECT
DROP VIEW IF EXISTS `network-item-view`;
CREATE VIEW `network-item-view` AS SELECT
`post-user`.`uri-id` AS `uri-id`,
`parent-post`.`id` AS `parent`,
`post-thread-user`.`post-user-id` AS `parent`,
`post-user`.`received` AS `received`,
`post-thread-user`.`commented` AS `commented`,
`post-user`.`created` AS `created`,
@ -2600,17 +2895,16 @@ CREATE VIEW `network-item-view` AS SELECT
`post-user`.`contact-id` AS `contact-id`,
`ownercontact`.`contact-type` AS `contact-type`
FROM `post-user`
STRAIGHT_JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
INNER JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `post-thread-user`.`uid` AND `author`.`cid` = `post-thread-user`.`author-id`
LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `post-thread-user`.`uid` AND `owner`.`cid` = `post-thread-user`.`owner-id`
INNER JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-user`.`uid`
INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
AND (`post-user`.`hidden` IS NULL OR NOT `post-user`.`hidden`)
AND (`author`.`blocked` IS NULL OR NOT `author`.`blocked`)
AND (`owner`.`blocked` IS NULL OR NOT `owner`.`blocked`);
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`);
--
-- VIEW network-thread-view
@ -2618,7 +2912,7 @@ CREATE VIEW `network-item-view` AS SELECT
DROP VIEW IF EXISTS `network-thread-view`;
CREATE VIEW `network-thread-view` AS SELECT
`post-thread-user`.`uri-id` AS `uri-id`,
`parent-post`.`id` AS `parent`,
`post-thread-user`.`post-user-id` AS `parent`,
`post-thread-user`.`received` AS `received`,
`post-thread-user`.`commented` AS `commented`,
`post-thread-user`.`created` AS `created`,
@ -2631,15 +2925,14 @@ CREATE VIEW `network-thread-view` AS SELECT
FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `post-thread-user`.`uid` AND `author`.`cid` = `post-thread-user`.`author-id`
LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `post-thread-user`.`uid` AND `owner`.`cid` = `post-thread-user`.`owner-id`
LEFT JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-user`.`uid`
STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
AND (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND (`author`.`blocked` IS NULL OR NOT `author`.`blocked`)
AND (`owner`.`blocked` IS NULL OR NOT `owner`.`blocked`);
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`);
--
-- VIEW owner-view
@ -2736,8 +3029,6 @@ CREATE VIEW `owner-view` AS SELECT
`user`.`blockwall` AS `blockwall`,
`user`.`hidewall` AS `hidewall`,
`user`.`blocktags` AS `blocktags`,
`user`.`unkmail` AS `unkmail`,
`user`.`cntunkmail` AS `cntunkmail`,
`user`.`notify-flags` AS `notify-flags`,
`user`.`page-flags` AS `page-flags`,
`user`.`account-type` AS `account-type`,

View File

@ -454,7 +454,7 @@ Ex: Wed May 23 06:01:13 +0000 2007
<tr>
<td><code>allow_gid</code></td>
<td>String (angle-brackets escaped integers)</td>
<td>Optional. List of allowed group ids</td>
<td>Optional. List of allowed circle ids</td>
</tr>
<tr>
@ -466,7 +466,7 @@ Ex: Wed May 23 06:01:13 +0000 2007
<tr>
<td><code>deny_gid</code></td>
<td>String (angle-brackets escaped integers)</td>
<td>Optional. List of disallowed group ids</td>
<td>Optional. List of disallowed circle ids</td>
</tr>
</tbody>
@ -583,7 +583,7 @@ Ex: Wed May 23 06:01:13 +0000 2007
<tr>
<td><code>friendica_owner</code></td>
<td>
<a href="help/API-Entities#Contact">Contact</a></td>
<td align="center">No</td>
</tr>
@ -984,7 +984,7 @@ Identical to [the Twitter Media Object](https://developer.twitter.com/en/docs/tw
<tr>
<td><code>allow_gid</code></td>
<td>String (ACL)</td>
<td>List of contact group ids wrapped in angle brackets allowed to access the photo.</td>
<td>List of contact circle ids wrapped in angle brackets allowed to access the photo.</td>
</tr>
<tr>
@ -996,7 +996,7 @@ Identical to [the Twitter Media Object](https://developer.twitter.com/en/docs/tw
<tr>
<td><code>deny_gid</code></td>
<td>String (ACL)</td>
<td>List of contact group ids wrapped in angle brackets forbidden to access the photo.</td>
<td>List of contact circle ids wrapped in angle brackets forbidden to access the photo.</td>
</tr>
<tr>
@ -1541,4 +1541,4 @@ Unused
## User Mention
Unused
Unused

View File

@ -39,8 +39,8 @@ Create a new event for the current logged in user.
- `publish` : (optional) create message for event
- `allow_cid` : (optional) ACL-formatted list of allowed contact ids if private event
- `allow_gid` : (optional) ACL-formatted list of disallowed contact ids if private event
- `deny_cid` : (optional) ACL-formatted list of allowed group ids if private event
- `deny_gid` : (optional) ACL-formatted list of disallowed group ids if private event
- `deny_cid` : (optional) ACL-formatted list of allowed circle ids if private event
- `deny_gid` : (optional) ACL-formatted list of disallowed circle ids if private event
### POST api/friendica/event_delete
@ -323,33 +323,37 @@ On error:
---
### GET api/friendica/group_show
### GET api/friendica/circle_show
Return all or a specified group of the user with the containing contacts as array.
Alternatively: GET api/friendica/group_show (Backward compatibility)
Return all or a specified circle of the user with the containing contacts as array.
#### Parameters
* `gid`: optional, if not given, API returns all groups of the user
* `gid`: optional, if not given, API returns all circles of the user
#### Return values
Array of:
* `name`: name of the group
* `gid`: id of the group
* `name`: name of the circle
* `gid`: id of the circle
* `user`: array of [Contacts](help/API-Entities#Contact)
### POST api/friendica/group_create
### POST api/friendica/circle_create
Create the group with the posted array of contacts as members.
Alternatively: POST api/friendica/group_create
Create the circle with the posted array of contacts as members.
#### Parameters
* `name`: name of the group to be created
* `name`: name of the circle to be created
#### POST data
JSON data as Array like the result of [GET api/friendica/group_show](#GET+api%2Ffriendica%2Fgroup_show):
JSON data as Array like the result of [GET api/friendica/circle_show](#GET+api%2Ffriendica%2Fcircle_show):
* `gid`
* `name`
@ -360,23 +364,25 @@ JSON data as Array like the result of [GET api/friendica/group_show](#GET+api%2F
Array of:
* `success`: true if successfully created or reactivated
* `gid`: gid of the created group
* `name`: name of the created group
* `gid`: gid of the created circle
* `name`: name of the created circle
* `status`: "missing user" | "reactivated" | "ok"
* `wrong users`: array of users, which were not available in the contact table
### POST api/friendica/group_update
### POST api/friendica/circle_update
Update the group with the posted array of contacts as members (post all members of the group to the call; function will remove members not posted).
Alternatively: POST api/friendica/group_update
Update the circle with the posted array of contacts as members (post all members of the circle to the call; function will remove members not posted).
#### Parameters
* `gid`: id of the group to be changed
* `name`: name of the group to be changed
* `gid`: id of the circle to be changed
* `name`: name of the circle to be changed
#### POST data
JSON data as array like the result of [GET api/friendica/group_show](#GET+api%2Ffriendica%2Fgroup_show):
JSON data as array like the result of [GET api/friendica/circle_show](#GET+api%2Ffriendica%2Fcircle_show):
* `gid`
* `name`
@ -387,27 +393,29 @@ JSON data as array like the result of [GET api/friendica/group_show](#GET+api%2F
Array of:
* `success`: true if successfully updated
* `gid`: gid of the changed group
* `name`: name of the changed group
* `gid`: gid of the changed circle
* `name`: name of the changed circle
* `status`: "missing user" | "ok"
* `wrong users`: array of users, which were not available in the contact table
### POST api/friendica/group_delete
### POST api/friendica/circle_delete
Delete the specified group of contacts; API call need to include the correct gid AND name of the group to be deleted.
Alternatively: POST api/friendica/group_delete
Delete the specified circle of contacts; API call need to include the correct gid AND name of the circle to be deleted.
#### Parameters
* `gid`: id of the group to be deleted
* `name`: name of the group to be deleted
* `gid`: id of the circle to be deleted
* `name`: name of the circle to be deleted
#### Return values
Array of:
* `success`: true if successfully deleted
* `gid`: gid of the deleted group
* `name`: name of the deleted group
* `gid`: gid of the deleted circle
* `name`: name of the deleted circle
* `status`: "deleted" if successfully deleted
* `wrong users`: empty array
@ -556,7 +564,7 @@ Alias of [`api/friendica/photo/update`](#POST+api%2Ffriendica%2Fphoto%2Fupdate)
Saves data for the scales 0-2 to database (see above for scale description).
Call adds non-public entries to items table to enable authenticated contacts to comment/like the photo.
Client should pay attention to the fact that updated access rights are not transferred to the contacts. i.e. public photos remain publicly visible if they have been commented/liked before setting visibility back to a limited group.
Client should pay attention to the fact that updated access rights are not transferred to the contacts. i.e. public photos remain publicly visible if they have been commented/liked before setting visibility back to a limited circle.
Currently it is best to inform user that updating rights is not the right way to do this, and offer a solution to add photo as a new photo with the new rights instead.
#### Parameters

View File

@ -11,21 +11,7 @@ Authentication is the same as described in [Using the APIs](help/api#Authenticat
## Clients
### Supported apps
For supported apps please have a look at the [FAQ](help/FAQ#clients)
### Unsupported apps
#### Android
- [Fedilab](https://framagit.org/tom79/fedilab) Automatically uses the legacy API, see issue: https://framagit.org/tom79/fedilab/-/issues/520
- [Mammut](https://github.com/jamiesanson/Mammut) There are problems with the token request, see issue https://github.com/jamiesanson/Mammut/issues/19
#### iOS
- [Mast](https://github.com/Beesitech/Mast) Doesn't accept the entered instance name. Claims that it is invalid (Message is: "Not a valid instance (may be closed or dead)")
- [Toot!](https://apps.apple.com/app/toot/id1229021451)
Please find a list of supported apps at [FAQ](help/FAQ#clients).
## Entities
@ -170,7 +156,8 @@ Example:
- [`GET /api/v1/followed_tags`](https://docs.joinmastodon.org/methods/followed_tags/)
- [`GET /api/v1/instance`](https://docs.joinmastodon.org/methods/instance/#v1)
- `GET /api/v1/instance/rules` Undocumented, returns Terms of Service
- [`GET /api/v1/instance/extended_description`](https://docs.joinmastodon.org/methods/instance/#extended_description)
- [`GET /api/v1/instance/rules`](https://docs.joinmastodon.org/methods/instance/#rules)
- [`GET /api/v1/instance/peers`](https://docs.joinmastodon.org/methods/instance#list-of-connected-domains)
- [`GET /api/v1/lists`](https://docs.joinmastodon.org/methods/timelines/lists/)
- [`POST /api/v1/lists`](https://docs.joinmastodon.org/methods/timelines/lists/)
@ -211,7 +198,7 @@ Example:
- `title`: Explicitly sets the title for a post status, ignored if used on a comment status. For post statuses the legacy behavior is to use any "spoiler text" as the title if it is provided. If both the title and spoiler text are provided for a post status then they will each be used for their respective roles. If no title is provided then the legacy behavior will persist. If you want to create a post with no title but spoiler text then explicitly set the title but set it to an empty string `""`.
- [`POST /api/v1/statuses`](https://docs.joinmastodon.org/methods/statuses/#create)
- Does not support `polls` argument as Friendica does not have polls
- Additionally to the static values `public`, `unlisted` and `private`, the `visibility` parameter can contain a numeric value with a group id.
- Additionally to the static values `public`, `unlisted` and `private`, the `visibility` parameter can contain a numeric value with a circle id.
- Additional field `quote_id` for the post that is being quote reshared
- Additional fields `friendica` for Friendica specific parameters:
- `title`: Explicitly sets the title for a post status, ignored if used on a comment status. For post statuses the legacy behavior is to use any "spoiler text" as the title if it is provided. If both the title and spoiler text are provided for a post status then they will each be used for their respective roles. If no title is provided then the legacy behavior will persist. If you want to create a post with no title but spoiler text then explicitly set the title but set it to an empty string `""`.
@ -314,7 +301,6 @@ They refer to features or data that don't exist in Friendica yet.
- [`PUT /api/v1/filters/:id`](https://docs.joinmastodon.org/methods/accounts/filters/)
- [`DELETE /api/v1/filters/:id`](https://docs.joinmastodon.org/methods/accounts/filters/)
- [`GET /api/v1/instance/activity`](https://docs.joinmastodon.org/methods/instance#weekly-activity)
- [`POST /api/v1/markers`](https://docs.joinmastodon.org/methods/timelines/markers/)
- [`PUT /api/v1/scheduled_statuses/:id`](https://docs.joinmastodon.org/methods/statuses/scheduled_statuses/)
- [`GET /api/v1/statuses/{id:\d+}/history`](https://github.com/mastodon/mastodon/pull/16697)
- [`GET /api/v1/streaming`](https://docs.joinmastodon.org/methods/timelines/streaming/)

View File

@ -16,6 +16,7 @@ General
-------
* p - Profile
* n - Network
* l - Channel
* c - Community
* s - Search
* a - Admin
@ -28,6 +29,19 @@ General
* l - Local community
* g - Global community
../channel
--------
* y - for you
* f - followers
* r - sharers of sharers
* q - quiet sharers
* h - what's hot
* i - Images
* v - Videos
* d - Audio
* g - Posts in your language
* o - Hot posts in your language
../profile
--------
* m - Status Messages and Posts
@ -48,7 +62,7 @@ General
* i - Only show ignored contacts
* y - Only show archived contacts
* h - Only show hidden contacts
* e - Edit contact groups
* e - Edit contact circles
../contact (single contact view)
-------------------------------

View File

@ -23,10 +23,10 @@ If you do not have an OpenID address or do not wish to use OpenID, leave this fi
If you have an OpenID account elsewhere and wish to use it, enter the address into this field and click 'Register'.
Friendica will attempt to extract as much information as possible from your OpenID provider and return to this page with those items already filled in.
### Your Full Name
### Your Display Name
Please provide your full name **as you would like it to be displayed on this system**.
Most people use their real name for this, but you're under no obligation to do so yourself.
Please provide your display name **as you would like it to be displayed on this system**.
Some people use their real name for this, but you're under no obligation to do so yourself.
### Email Address
@ -41,9 +41,9 @@ This is the only bit of personal information that has to be accurate.
### Nickname
A nickname is used to generate web addresses for many of your personal pages, and is also treated like an email address when establishing communications with others.
Due to the way that the nickname is used, it has some limitations.
Due to the way that the nickname is used, it has some limitations.
It must contain only US-ASCII text characters and numbers, and must also start with a text character.
It also must be unique on this system.
It also must be unique on this system.
This is used in many places to identify your account, and once set it cannot be changed.
@ -53,28 +53,28 @@ The registration form also allows you to choose whether or not to list your acco
This is like a "phone book" and you may choose to be unlisted.
We recommend that you select 'Yes' so that other people (friends, family, etc.) will be able to find you.
If you choose 'No', you will essentially be invisible and have few opportunities for interaction.
Whichever you choose, this can be changed any time from your Settings page after you login.
Whichever you choose, this can be changed any time from your Settings page after you login.
### Register
Once you have provided the necessary details, click the 'Register' button.
An email will be sent to you providing your account login details.
Please check your email (including spam folders) for your registration details and initial password.
Please check your email (including spam folders) for your registration details and initial password.
Login Page
---
On the 'Login' page, please enter your login information that was provided during registration.
You may use either your nickname or email address as a Login Name.
You may use either your nickname or email address as a Login Name.
If you use your account to manage other accounts and these all have the same email address, please enter the nickname for the account you wish to manage.
If your account has been OpenID enabled, you may use your OpenID address as a login name and leave the password blank.
You will be redirected to your OpenID provider to complete your authorisation.
You will be redirected to your OpenID provider to complete your authorisation.
Otherwise, enter your password.
This will have been initially provided in your registration email message.
Your password is case-sensitive, so please check your 'Caps Lock' key if you are having difficulty logging in.
Your password is case-sensitive, so please check your 'Caps Lock' key if you are having difficulty logging in.
Changing Your Password
---
@ -99,9 +99,9 @@ See Also
* [Profiles](help/Profiles)
* [Global Directory](help/Making-Friends#The+Directories)
* [Global Directory](help/Making-Friends#The+Directories)
* [Groups and Privacy](help/Groups-and-Privacy)
* [Circles and Privacy](help/Circles-and-Privacy)
* [Move Account](help/Move-Account)

View File

@ -221,6 +221,15 @@ Please note: body contents are bbcode - not HTML
Called when receiving a post from another source. This may also be used to post local activity or system generated messages.
`$b` is the item array of information to be stored in the database and the item body is bbcode.
### detect_languages
Called after the language detection. This can be used for alternative language detection methods.
`$data` is an array:
- **text**: The text that is analyzed.
- **detected**: (input/output) Array of language codes detected in the related text. The array key is the language code, the array value the probability.
- **uri-id**: The Uri-Id of the item.
- **author-id**: The id of the author contact.
### addon_settings
Called when generating the HTML for the addon settings page.
`$data` is an array containing:
@ -800,6 +809,7 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
### src/Model/Item.php
Hook::callAll('detect_languages', $item);
Hook::callAll('post_local', $item);
Hook::callAll('post_remote', $item);
Hook::callAll('post_local_end', $posted_item);

View File

@ -376,8 +376,8 @@ code</code></td>
&nbsp;&nbsp;[li] Second list element<br>
[/ul]<br>
[list]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listbullet" style="list-style-type: circle;">
@ -388,12 +388,12 @@ code</code></td>
</tr>
<tr>
<td>[ol]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/ol]<br>
[list=1]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listdecimal" style="list-style-type: decimal;">
@ -404,8 +404,8 @@ code</code></td>
</tr>
<tr>
<td>[list=]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listnone" style="list-style-type: none;">
@ -416,8 +416,8 @@ code</code></td>
</tr>
<tr>
<td>[list=i]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listlowerroman" style="list-style-type: lower-roman;">
@ -428,8 +428,8 @@ code</code></td>
</tr>
<tr>
<td>[list=I]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listupperroman" style="list-style-type: upper-roman;">
@ -440,8 +440,8 @@ code</code></td>
</tr>
<tr>
<td>[list=a]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listloweralpha" style="list-style-type: lower-alpha;">
@ -452,8 +452,8 @@ code</code></td>
</tr>
<tr>
<td>[list=A]<br>
&nbsp;&nbsp;[*] First list element<br>
&nbsp;&nbsp;[*] Second list element<br>
&nbsp;&nbsp;[li] First list element<br>
&nbsp;&nbsp;[li] Second list element<br>
[/list]</td>
<td>
<ul class="listupperalpha" style="list-style-type: upper-alpha;">

View File

@ -6,7 +6,7 @@ Bugs and Issues
If your server has a support page, you should report any bugs/issues you encounter there first.
Reporting to your support page before reporting to the developers makes their job easier, as they don't have to deal with bug reports that might not have anything to do with them.
Reducing the workload in this way helps us get new features faster.
You can also contact the [friendica support forum](https://forum.friendi.ca/profile/helpers) and report your problem there.
You can also contact the [friendica support group](https://forum.friendi.ca/profile/helpers) and report your problem there.
Bugs are rarely limited to one person, and the chances are somebody from another node has encountered the problem too, and will be able to help you.
If you're a technical user, or your site doesn't have a support page, you'll need to use the [Bug Tracker](https://github.com/friendica/friendica/issues).

99
doc/Channels.md Normal file
View File

@ -0,0 +1,99 @@
Channels
=====
* [Home](help)
Channels are a way to discover new content or to display content that you might have missed otherwise.
There are several predefined channels, additionally you can create your own channels, based on some rules.
Channels only display posts from the last 24 hours (this value can be changed by the admin).
In the display settings in the section "Timelines" you can define which channels and other timelines you want to see in the "Channels" widget on the network page and which channels should appear in the menu bar at the top of the page.
Also in the display settings in the section "Channels" you can define all the languages that you want to see in your channels. Here you can select more than one language.
On the contact page you can define the channel frequency for every contact. The options are:
* Default frequency: Posts by this contact are displayed in the "for you" channel if you interact often with this contact or if a post reached some level of interaction.
* Display all posts of this contact: All posts from this contact will appear on the "for you" channel.
* Display only few posts: When a contact creates a lot of posts in a short period, this setting reduces the number of displayed posts in every channel.
* Never display posts: Posts from this contact will never be displayed in any channel.
Predefined Channels
---
* For you: Posts from contacts you interact with and who interact with you. In detail, it consists of:
* Posts from people you interact with on a more than average level.
* Posts from the accounts that you follow with a more than average number of interactions-
* Posts from accounts where you activated "notify on new posts" or where you have set the channel frequency accordingly.
* Discover: Posts from contacts you don't follow, but that might be of interest for you to follow. In detail, it consists of:
* Posts from people you don't follow but you interact with on a more than average level.
* Posts from people you don't follow but that interact with you on a more than average level.
* Popular posts from people you don't follow but you interacted with or who interacted with you on any level.
* What's Hot: Posts with a more than average number of interactions.
* Language: Posts in your language.
* Followers: Posts from your followers that you don't follow.
* Sharers of sharers: Posts from accounts that are followed by accounts that you follow.
* Quiet sharers: Posts from accounts that you follow but who don't post very often.
* Images: Posts with images.
* Audio: Posts with audio.
* Videos: Posts with videos.
User defined Channels
---
In the "Channels" settings you can create your own channels.
Each channel is defined by these values:
* Label: This value is mandatory and is used for the menu label.
* Description: A short description of the content. This can help to keep the overview, when you have got a lot of channels.
* Access Key: When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.
* Circle: This defines the data source for this channel. By default it is set to the public timeline. There are some predefined values, like the accounts that you follow or the accounts that follow you. Also all of your circles can be selected.
* Include Tags: Comma separated list of tags. A post will be used when it contains any of the listed tags.
* Exclude Tags: Comma separated list of tags. If a post contain any of these tags, then it will not be part of nthis channel.
* Full Text Search: This can be used to include or exclude content, based on the content and some additional keywords. It uses the "boolean mode" operators from MariaDB: https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode
* Images, Videos, Audio: When selected, you will see content with the selected media type. This can be combined. If none of these fields are checked, you will see any content, with or without attacked media.
Additional keywords for the full text search
---
Additionally to the search for content, there are keywords that can be used in the full text search.
Alternatives are presented with "|".
* from - Use "from:nickname" or "from:nickname@domain.tld" to search for posts from a specific author.
* to - Use "from:nickname" or "from:nickname@domain.tld" to search for posts with the given contact as receiver.
* group - Use "group:nickname" or "group:nickname@domain.tld" to search for group post of the given group.
* application | relay - Use "application:nickname" or "application:nickname@domain.tld" to search for posts that had been reshared by the given relay application.
* server - Use "server:hostname" to search for posts from a specific server. In the case of group postings, the search text contains both the hostname of the group server and the author's hostname.
* source - The ActivityPub type of the post source. Use this for example to include or exclude group posts or posts from services (aka bots).
* source:person - The post is created by a regular user account.
* source:organization - The post is created by an organisation.
* source:group - The post is created by or distributed via a group.
* source:service | source:news - The posts originates from a service account. This source type is often used to mark bot accounts.
* source:application | source:relay - The post is created by an application. This is most likely unused in the fediverse for post creation.
* tag - Use "tag:tagname" to search for a specific tag.
* media - With this keyword you can search for attached media.
* media:image | media:photo | media:picture - The post contains an image
* media:video - The post contains a video
* media:audio - The post contains audio
* media:card - The post contains a link preview card
* media:post - The post links another post, means it is a quoted post
* network | net - Use this to include or exclude some networks from your channel.
* network:apub | network:activitypub - ActivityPub (Used by the systems in the Fediverse)
* network:dfrn | network:friendica - Legacy Friendica protocol. Nowayday Friendica mostly uses ActivityPub.
* network:dspr | network:diaspora - The Diaspora protocol is mainly used by Diaspora itself. Some other systems support the protocol as well like Hubzilla, Socialhome or Ganggo.
* network:feed - RSS/Atom feeds
* network:mail - Mails that had been imported via IMAP.
* network:stat | network:ostatus - The OStatus protocol is mainly used by old GNU Social installations.
* network:dscs | network:discourse - Posts that are received by the Discourse connector.
* network:tmbl | network:tumblr - Posts that are received by the Tumblr connector.
* network:bsky | network:bluesky - Posts that are received by the Bluesky connector.
* platform - Use this to include or exclude some platforms from your channel, e.g. "+platform:friendica". In the case of group postings, the search text contains both the platform of the group server and the author's platform.
* visibility - You have the choice between different visibilities. You can only see unlisted or private posts that you have the access for.
* visibility:public
* visibility:unlisted
* visibility:private
* language | lang - Use "language:code" to search for posts with the given language in the [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) format.
Remember that you can combine these kerywords.
So for example you can create a channel with all posts that talk about the Fediverse - that aren't posted in the Fediverse with the search terms: "fediverse -network:apub -network:dfrn"

View File

@ -1,78 +1,76 @@
Groups and Privacy
Circles and Privacy
==================
* [Home](help)
Groups are merely collections of friends.
Circles are merely collections of friends.
But Friendica uses these to unlock some very powerful features.
**Setting Up Groups**
**Setting Up Circles**
To create a group, visit your Friendica "Contacts" page and select "Create a new group".
Give the group a name.
To create a circle, visit your Friendica "Contacts" page and select "Create a new circle".
Give the circle a name.
This brings you to a page where you can select the group members.
This brings you to a page where you can select the circle members.
You will have two boxes on this page.
The top box is the roster of current group members.
Below that is another box containing all of your friends who are *not* members of the group.
The top box is the roster of current circle members.
Below that is another box containing all of your friends who are *not* members of the circle.
If you click on a photo of a person who isn't in the group, they will be put into the group.
If you click on a photo of a person who is in the group, they will be removed from it.
If you click on a photo of a person who isn't in the circle, they will be put into the circle.
If you click on a photo of a person who is in the circle, they will be removed from it.
**Access Control**
Once you have created a group, you may use it in any access control list.
Once you have created a circle, you may use it in any access control list.
This is the little lock icon beneath the status update box on your home page.
If you click this you can select who can see and who can *not* see the post you are about to make..
These can be individual people or groups.
If you click this, you can select who can see and who can *not* see the post you are about to make...
These can be individual people or circles.
On your "Network" page you will find posts and conversation from everybody in your network.
You may select an individual group on this page to show conversations pertaining only to members of that group.
On your "Network" page, you will find posts and conversations from everybody in your network.
You may select an individual circle on this page to show conversations pertaining only to members of that circle.
But wait, there's more...
If you look carefully when visiting a group from your Network page, the lock icon under the status update box has an exclamation mark next to it.
If you look carefully when visiting a circle from your Network page, the lock icon under the status update box has an exclamation mark next to it.
This is meant to draw attention to that lock.
Click the lock.
You will see that since you are only viewing a certain group of people, your status updates while on that screen default to only being seen by that same group of people.
You will see that since you are only viewing a certain circle of people, your status updates while on that screen default to only being seen by that same circle of people.
This is how you keep your future employers from seeing what you write to your drinking buddies.
You can over-ride this setting, but this makes it easy to separate your conversations into different friend circles.
You can override this setting, but this makes it easy to separate your conversations into different friend circles.
**Default Post Privacy**
By default, Friendica assumes that you want all of your posts to be private.
Therefore, when you sign up, Friendica creates a group for you that it will automatically add all of your contacts to.
All of your posts are restricted to that group by default.
Therefore, when you sign up, Friendica creates a circle for you that it will automatically add all of your contacts to.
All of your posts are restricted to that circle by default.
Note that this behaviour can be overridden by your site admin, in which case your posts will be "public" (i.e. visible to the entire Internet) by default.
Note that this behaviour can be overridden by your site admin, in which case your posts will be "public" (i.e., visible to the entire Internet) by default.
If you want your posts to be "public" by default, you can change your default post permissions on your Settings page.
You also have the option there to change which groups you post to by default, or to change which group your new contacts get placed into by default.
You also have the option to change which circles you post to by default or which circle your new contacts get placed into by default.
**Privacy Concerns To Be Aware Of**
These private conversations work best when your friends are Friendica members.
We know who else can see the conversations - nobody, *unless* your friends cut and paste the messages and send them to others.
We know who else can see the conversations - nobody, *unless* your friends cut and paste the messages and send them to others.
This is a trust issue you need to be aware of.
No software in the world can prevent your friends from leaking your confidential and trusted communications.
Only a wise choice of friends.
Only a wise choice of friends.
But it isn't as clear cut when dealing with GNU Social and other network providers.
But it isn't as clear-cut when dealing with GNU Social and other network providers.
If you look at the Contact Edit page for any person, we will tell you whether or not they are members of an insecure network where you should exercise caution.
Once you have created a post, you can not change the permissions assigned.
Within seconds it has been delivered to lots of people - and perhaps everybody it was addressed to.
If you mistakenly created a message and wish you could take it back, the best you can do is to delete it.
We will send out a delete notification to everybody who received the message - and this should wipe out the message with the same speed it was initially propagated.
In most cases it will be completely wiped from the Internet - in under a minute.
If you mistakenly created a message and wish to take it back, the best you can do is delete it.
We will send out a delete notification to everybody who received the message - and this should wipe out the message with the same speed as it was initially propagated.
In most cases, it will be completely wiped from the Internet - in under a minute.
Again, this applies to Friendica networks.
Once a message spreads to other networks, it may not be removed quickly and in some cases it may not be removed at all.
Once a message spreads to other networks, it may not be removed quickly, and in some cases, it may not be removed at all.
In case you haven't yet figured this out, we are encouraging you to encourage your friends to use Friendica - because all these privacy features work much better within a privacy-aware network.
Many of the other social networks Friendica can connect to have no privacy controls.
Profiles, Photos, and Privacy
@ -102,7 +100,7 @@ When Friendica sends a post to these networks which exceeds the service length l
The original is a link back to your Friendica profile.
As Friendica cannot prove who they are, it may not be possible for these people to view your post in full.
For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full.
For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full.
You can do so by including the BBCode tag *abstract* in your posting.
Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with GNU Social members.

View File

@ -13,14 +13,14 @@ Whether you feel like an expert or like a newbie - join us with your ideas!
## Contact us
The discussion of Friendica development takes place in the following Friendica forums:
The discussion of Friendica development takes place in the following Friendica groups:
* The main [forum for Friendica development](https://forum.friendi.ca/profile/developers)
* The main [group for Friendica development](https://forum.friendi.ca/profile/developers)
## Help other users
Remember the questions you had when you first tried Friendica?
A good place to start can be to help new people find their way around Friendica in the [general support forum](https://forum.friendi.ca/profile/helpers).
A good place to start can be to help new people find their way around Friendica in the [general support group](https://forum.friendi.ca/profile/helpers).
Welcome them, answer their questions, point them to documentation or ping other helpers directly if you can't help but think you know who can.
## Translation
@ -33,10 +33,10 @@ If you don't want to translate the UI, or it is already done to your satisfactio
Are you good at designing things?
If you have seen Friendica you probably have ideas to improve it, haven't you?
* If you would like to work with us on enhancing the user interface, please join the [forum for Friendica development](https://forum.friendi.ca/profile/developers).
* If you would like to work with us on enhancing the user interface, please join the [group for Friendica development](https://forum.friendi.ca/profile/developers).
* Make plans for a better Friendica interface design and share them with us.
* Tell us if you are able to realize your ideas or what kind of help you need.
We can't promise we have the right skills in the group but we'll try.
We can't promise we have the right skills in the group, but we'll try.
* Choose a thing to start with, e.g. work on the icon set of your favorite theme
## Programming
@ -72,7 +72,7 @@ just place it into `.git/hooks/post-merge` and make it executable.
### Coding standards
For the sake of consistency between contribution and general code readability, Friendica follows the widespread [PSR-2 coding standards](http://www.php-fig.org/psr/psr-2/) to the exception of a few rules.
For the sake of consistency between contribution and general code readability, Friendica follows the widespread [PSR-2 coding standards](http://www.php-fig.org/psr/psr-2/) excepted a few rules.
Here's a few primers if you are new to Friendica or to the PSR-2 coding standards:
* Indentation is tabs, period (not PSR-2).
@ -88,7 +88,7 @@ Here's a few primers if you are new to Friendica or to the PSR-2 coding standard
Don't worry, you don't have to know by heart the PSR-2 coding standards to start contributing to Friendica.
There are a few tools you can use to check or fix your files before you commit.
For documentation we use the standard of *one sentence per line* for the `md` files in the `/doc` and `/doc/$lng` subdirectories.
For documentation, we use the standard of *one sentence per line* for the `md` files in the `/doc` and `/doc/$lng` subdirectories.
#### Check with [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer)
@ -113,7 +113,7 @@ If the command-line tools `diff` and `patch` are unavailable for you, `phpcbf` c
### Code documentation
If you are interested in having the documentation of the Friendica code outside of the code files, you can use [Doxygen](http://doxygen.org) to generate it.
If you are interested in having the documentation of the Friendica code outside the code files, you can use [Doxygen](http://doxygen.org) to generate it.
The configuration file for Doxygen is located in the base directory of the project sources.
Run
@ -126,7 +126,7 @@ If you find missing documentation, don't hesitate to contact us and write it dow
### Issues
Have a look at our [issue tracker](https://github.com/friendica/friendica) on github!
Have a look at our [issue tracker](https://github.com/friendica/friendica) on GitHub!
* Try to reproduce a bug that needs more inquiries and write down what you find out.
* If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed.
@ -143,13 +143,13 @@ If you want to get involved here:
* Look at the first steps that were made (e.g. the clean theme).
Ask us to find out whom to talk to about their experiences.
* Talk to design people if you know any.
* Let us know about your plans [in the dev forum](https://forum.friendi.ca/profile/developers)
* Let us know about your plans [in the dev group](https://forum.friendi.ca/profile/developers)
Do not worry about cross-posting.
### Client software
As Friendica is using a [Twitter/GNU Social compatible API](help/api) any of the clients for those platforms should work with Friendica as well.
Furthermore there are several client projects, especially for use with Friendica.
Furthermore, there are several client projects, especially for use with Friendica.
If you are interested in improving those clients, please contact the developers of the clients directly.
* Android / LinageOS: **Friendiqa** [src](https://git.friendi.ca/lubuwest/Friendiqa)/[Google Play](https://play.google.com/store/apps/details?id=org.qtproject.friendiqa) developed by [Marco R](https://freunde.ma-nic.de/profile/marco)

View File

@ -42,7 +42,7 @@ The listed emails need to be separated by a comma like this:
'admin_email' => 'mail1@example.com,mail2@example.com',
```
<a name="dbupdate">
<a name="dbupdate"></a>
### The Database structure seems not to be updated. What can I do?
Please have a look at the Admin panel under [DB updates](/admin/dbsync/) and follow the link to *check database structure*.
@ -52,4 +52,4 @@ You can manually execute the structure update from the CLI in the base directory
bin/console dbstructure update
if there occur any errors, please contact the [support forum](https://forum.friendi.ca/profile/helpers).
if there occur any errors, please contact the [Friendica Support group](https://forum.friendi.ca/profile/helpers) or discuss in the [Friendica Admins group](https://forum.friendi.ca/profile/admins).

View File

@ -4,14 +4,14 @@ Frequently Asked Questions - FAQ
* [Home](help)
* **[Where I can find help?](help/FAQ#help)**
* **[Why do I getting warnings about certificates?](help/FAQ#ssl)**
* **[Why do I get warnings about certificates?](help/FAQ#ssl)**
* **[How can I upload images, files, links, videos and sound files to posts?](help/FAQ#upload)**
* **[Is it possible to have different avatars per profile?](help/FAQ#avatars)**
* **[How can I view Friendica in a certain language?](help/FAQ#language)**
* **[How do blocked, ignored, archived and hidden contacts behave?](help/FAQ#contacts)**
* **[What happens when an account is removed? Is it truly deleted?](help/FAQ#removed)**
* **[Can I subscribe to a hashtag?](help/FAQ#hashtag)**
* **[How to create a RSS feed of the stream?](help/FAQ#rss)**
* **[How to create an RSS feed of the stream?](help/FAQ#rss)**
* **[What friendica clients can I use?](help/FAQ#clients)**
@ -21,7 +21,7 @@ Frequently Asked Questions - FAQ
If this FAQ does not answer your question you can always reach out to the community via the following options:
* Friendica Support Forum: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Friendica Support Group: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Community chat rooms (the IRC, Matrix and XMPP rooms are bridged) these public chats are logged [from IRC](https://gnusociarg.nsupdate.info/2021/%23friendica/) and [Matrix](https://view.matrix.org/alias/%23friendi.ca:matrix.org/)
* XMPP: support(at)forum.friendi.ca
* IRC: #friendica at [libera.chat](https://web.libera.chat/?channels=#friendica)
@ -66,7 +66,7 @@ If this doesn't work, try to add the link by typing: [url=http://example.com]*se
You can also add video and audio files to posts.
However, instead of a direct upload you have to use one of the following methods:
1. Add the video or audio link of a hoster (Youtube, Vimeo, Soundcloud and anyone else with oembed/opengraph-support). Videos will be shown with a preview image you can click on to start. SoundCloud directly inserts a player to your post.
1. Add the video or audio link of a hoster (YouTube, Vimeo, Soundcloud and anyone else with oembed/opengraph-support). Videos will be shown with a preview image you can click on to start. SoundCloud directly inserts a player to your post.
2. If you have your own server, you can upload multimedia files via FTP and insert the URL.
@ -92,7 +92,7 @@ A question mark is required for the separation between url and parameters.
Example:
https://social.example.com/profile/example
https://social.example.com/profile/example
in German:
@ -107,48 +107,48 @@ When a certain language is forced, the language remains until session is closed.
Direct communication will be blocked.
Blocked contacts are not included in delivery, and their own posts to you are not imported.
However their conversations with your friends will still be visible in your stream.
However, their conversations with your friends will still be visible in your stream.
If you remove a contact completely, they can send you another friend request.
Blocked contacts cannot do this. They cannot communicate with you directly, only through friends.
##### Ignored
Ignored contacts are included in delivery and will receive your posts and private messages.
However we do not import their posts or private messages to you.
Like blocking you will still see this person's comments to posts made by your friends.
However, we do not import their posts or private messages to you.
Like blocking, you will still see this person's comments to posts made by your friends.
An addon called "blockem" can be installed to collapse/hide all posts from a particular person in your stream if you desire complete blocking of an individual, including their conversations with your other friends.
##### Archived
Communication is not possible and will not be attempted.
However unlike blocking, existing posts this person made before being archived will be visible in your stream.
However, unlike blocking, existing posts this person made before being archived will be visible in your stream.
##### Hidden
Contact not be displayed in your public friend list.
However a hidden contact will appear normally in conversations and this may expose their hidden status to anybody who can see the conversation.
However, a hidden contact will appear normally in conversations and this may expose their hidden status to anybody who can see the conversation.
<a name="removed"></a>
### What happens when an account is removed?
If you remove your account, it will be scheduled for permanent deletion in *seven days*.
As soon as you activate the deletion process you won't be able to login any more.
If you remove your account, it will be scheduled for permanent deletion in *seven days*.
As soon as you activate the deletion process you won't be able to log in anymore.
Only the administrator of your node can halt this process prior to permanent deletion.
After the elapsed time of seven days, all your posts, messages, photos, and personal information stored on your node will be deleted.
Your node will also issue removal requests to all your contacts; this will also remove your profile from the global directory if you are listed.
After the elapsed time of seven days, all your posts, messages, photos, and personal information stored on your node will be deleted.
Your node will also issue removal requests to all your contacts; this will also remove your profile from the global directory if you are listed.
Your username cannot be reissued for future sign-ups for security reasons.
<a name="hashtag"></a>
### Can I follow a hashtag?
Yes. Simply add the hash tag to your saved searches.
Yes. Simply add the hashtag to your saved searches.
The posts will appear on your network page.
For technical reasons, your answers to such posts won't appear on the "personal" tab in the network page and the whole thread isn't accessible via the API.
<a name="rss"></a>
### How to create a RSS feed of the stream?
### How to create an RSS feed of the stream?
If you want to share your public page via rss you can use one of the following links:
@ -178,12 +178,12 @@ The available features are client specific and may differ.
#### Android
* [AndStatus](http://andstatus.org) ([F-Droid](https://f-droid.org/repository/browse/?fdid=org.andstatus.app), [Google Play](https://play.google.com/store/apps/details?id=org.andstatus.app))
* [Fedi](https://github.com/Big-Fig/Fediverse.app) ([Google Play](https://play.google.com/store/apps/details?id=com.fediverse.app))
* [Fedilab](https://fedilab.app) ([F-Droid](https://f-droid.org/app/fr.gouv.etalab.mastodon), [Google Play](https://play.google.com/store/apps/details?id=app.fedilab.android))
* [Friendiqa](https://git.friendi.ca/lubuwest/Friendiqa) ([F-Droid](https://git.friendi.ca/lubuwest/Friendiqa#install), [Google Play](https://play.google.com/store/apps/details?id=org.qtproject.friendiqa))
* [Husky](https://git.sr.ht/~captainepoch/husky) ([F-Droid](https://f-droid.org/repository/browse/?fdid=su.xash.husky), [Google Play](https://play.google.com/store/apps/details?id=su.xash.husky))
* [Husky](https://codeberg.org/husky/husky) ([F-Droid](https://f-droid.org/repository/browse/?fdid=su.xash.husky), [Google Play](https://play.google.com/store/apps/details?id=su.xash.husky))
* [Mastodon](https://github.com/mastodon/mastodon-android) ([F-Droid](https://f-droid.org/en/packages/org.joinmastodon.android/), [Google Play](https://play.google.com/store/apps/details?id=org.joinmastodon.android))
* [Subway Tooter](https://github.com/tateisu/SubwayTooter) ([F-Droid](https://android.izzysoft.de/repo/apk/jp.juggler.subwaytooter))
* [Pachli](https://pachli.app/) ([F-Droid](https://f-droid.org/en/packages/app.pachli/), [Google Play](https://play.google.com/store/apps/details?id=app.pachli))
* [Subway Tooter](https://github.com/tateisu/SubwayTooter) ([F-Droid via Izzy](https://android.izzysoft.de/repo/apk/jp.juggler.subwaytooter.noFcm))
* [Tooot](https://tooot.app/) ([Google Play](https://play.google.com/store/apps/details?id=com.xmflsct.app.tooot))
* [Tusky](https://tusky.app) ([F-Droid](https://f-droid.org/repository/browse/?fdid=com.keylesspalace.tusky), [Google Play](https://play.google.com/store/apps/details?id=com.keylesspalace.tusky))
* [TwidereX](https://github.com/TwidereProject/TwidereX-Android) ([F-Droid](https://f-droid.org/en/packages/com.twidere.twiderex/), [Google Play](https://play.google.com/store/apps/details?id=com.twidere.twiderex))
@ -191,10 +191,10 @@ The available features are client specific and may differ.
#### iOS
* [Mastodon](https://joinmastodon.org/apps) ([AppStore](https://apps.apple.com/us/app/mastodon-for-iphone/id1571998974))
* [Stella*](https://www.stella-app.net/) ([AppStore](https://apps.apple.com/us/app/stella-for-mastodon-twitter/id921372048))
* [Tooot](https://github.com/tooot-app) ([AppStore](https://apps.apple.com/app/id1549772269)
* [TwidereX](https://github.com/TwidereProject/TwidereX-iOS) ([AppStore](https://apps.apple.com/app/twidere-x/id1530314034))
* [Mastodon](https://joinmastodon.org/apps) ([App Store](https://apps.apple.com/us/app/mastodon-for-iphone/id1571998974))
* [Stella*](https://www.stella-app.net/) ([App Store](https://apps.apple.com/us/app/stella-for-mastodon-twitter/id921372048))
* [Tooot](https://github.com/tooot-app) ([App Store](https://apps.apple.com/app/id1549772269))
* [TwidereX](https://github.com/TwidereProject/TwidereX-iOS) ([App Store](https://apps.apple.com/app/twidere-x/id1530314034))
#### Linux
@ -206,12 +206,12 @@ The available features are client specific and may differ.
#### macOS
* [TheDesk](https://thedesk.top/en/) ([GitHub](https://github.com/cutls/TheDesk))
* [Whalebird](https://whalebird.social/en/desktop/contents) ([AppStore](https://apps.apple.com/de/app/whalebird/id1378283354), [GitHub](https://github.com/h3poteto/whalebird-desktop))
* [Whalebird](https://whalebird.social/en/desktop/contents) ([App Store](https://apps.apple.com/de/app/whalebird/id1378283354), [GitHub](https://github.com/h3poteto/whalebird-desktop))
#### Windows
* [TheDesk](https://thedesk.top/en/) ([GitHub](https://github.com/cutls/TheDesk))
* [Whalebird](https://whalebird.social/en/desktop/contents) ([Website Download](https://whalebird.social/en/desktop/contents/downloads#windows), [GitHub](https://github.com/h3poteto/whalebird-desktop))
* [Whalebird](https://whalebird.social/en/desktop/contents) ([Microsoft Store](https://apps.microsoft.com/detail/9nbw4csdv5hc), [GitHub](https://github.com/h3poteto/whalebird-desktop))
#### Web Frontend

View File

@ -1,66 +0,0 @@
Forums
=====
* [Home](help)
Friendica also lets you create community forums and other types of accounts that can function as discussion forums, celebrity accounts, announcement channels, news reflectors, or organization pages, depending on how you want to interact with others. Management of these pages can be delegated to other accounts, or a parent account can be designated to easily toggle multiple identities.
Every page in Friendica has a nickname and these must all be unique. This applies to all forums, whether they are normal profiles or forum profiles.
Managing Accounts
---
To create a new linked account that can be used as a forum, log in to your normal account and go to Settings > Manage Accounts.
Here you can register additional accounts with new nicknames that will be linked to your primary account.
You may appoint a delegate to manage your new account (e.g. forum page).
The Delegates section of Manage Accounts page will provide you with a list of contacts on this instance under "Potential Delegates".
Selecting one or more persons will give them access to manage your forum.
They will be able to edit contacts, profiles, and all content for this account/page.
Please use this facility wisely.
Delegated managers will not be able to alter basic account settings, such as passwords or page types, or remove the account.
Additionally, this page is also where you can choose to designate an account as a parent user.
If your primary account is designated as the parent user, you will be able to easily toggle identities and manage your forums or other types of accounts.
Types of Accounts
---
On the new account, visit the Settings > Account page.
Towards the end of the page is a section for "Advanced account types".
Typically you would use "Personal Page - Standard" for a normal personal account with manual approval of “friends” and “followers.”
This is the default selection.
On this page you can change the type of account if desired.
The other subtypes of a Personal Page are “Soapbox” and “Love-all.”
A Soapbox account is an announcement channel that automatically approvals follower requests.
Everything posted by the account will go out to the followers, but there will be no opportunity for interaction.
This setting would typically be used for announcements or corporate communications.
“Love-all” automatically approves contacts as friends.
In addition to Personal Page, there are options for Organization Page, News Page, and Community Forum.
Organization and New Pages automatically approve contact requests as followers.
Community Forum provide the ability for people to become friends/fans of the forum without requiring approval.
This creates a forum page where all members can freely interact.
Posting to Community forums
---
If you are a member of a community forum, you may post to the forum by including an @-tag in the post mentioning the forum.
For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients.
If you mention a forum (you are a member of) in a new posting, the posting will be distributed to all members of the forum, regardless of your privacy settings for the posting.
Also, if the forum is a public forum, your posting will be public for the all internet users.
If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
Posting privately to a public forum, will result in your posting being displayed on the forum wall, but not on yours.
Additionally it is possible to address a forum with the exclamation mark.
In the example above this means that you can address the bicycle forum via !bicycle.
The difference to the @ is that the post will only be sent to the addressed forum.
This also means that you shouldn't address multiple forums in a single post in that way since it will only be distributed by one the forums.
You may also post to a community forum by posting a "wall-to-wall" post using secure cross-site authentication.
Comments which are relayed to community forums will be relayed back to the original post creator.
Mentioning the forum with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator.

View File

@ -3,7 +3,7 @@ Friendica on GitHub
* [Home](help)
Here is how you can work on the code with us. If you have any questions please write to the Friendica developers' forum.
Here is how you can work on the code with us. If you have any questions please write to the Friendica developers' group.
Introduction to the workflow with our GitHub repository
-------------------------------------------------------

68
doc/Groups.md Normal file
View File

@ -0,0 +1,68 @@
Groups
=====
* [Home](help)
Friendica also lets you create accounts that can function as discussion groups, celebrity accounts, announcement channels, news reflectors, or organization pages, depending on how you want to interact with others.
Management of these accounts can be delegated to other accounts, or a parent account can be designated to easily toggle multiple identities.
Every account in Friendica has a nickname and these must all be unique.
This applies to all accounts, whether they are individual profiles or group profiles.
Managing Accounts
---
To create a new linked account that can be used as a group, log in to your normal account and go to Settings > Manage Accounts.
Here you can register additional accounts with new nicknames that will be linked to your primary account.
You may appoint a delegate to manage your new account.
The Delegates section of Manage Accounts page will provide you with a list of contacts on this instance under "Potential Delegates".
Selecting one or more persons will give them access to manage your newly created account.
They will be able to edit contacts, profiles, and all content for this account.
Please use this facility wisely.
Delegated managers will not be able to alter basic account settings, such as passwords or account types, or remove the account.
Additionally, this page is also where you can choose to designate an account as a parent user.
If your primary account is designated as the parent user, you will be able to easily toggle identities and manage your groups or other types of accounts.
Types of Accounts
---
On the new account, visit the Settings > Account page.
Towards the end of the page is a section for "Advanced account types".
Typically, you would use "Personal Page - Standard" for a normal personal account with manual approval of “friends” and “followers.”
This is the default selection.
On this page you can change the type of account if desired.
The other subtypes of a Personal Page are “Soapbox” and “Love-all.”
A Soapbox account is an announcement channel that automatically approvals follower requests.
Everything posted by the account will go out to the followers, but there will be no opportunity for interaction.
This setting would typically be used for announcements or corporate communications.
“Love-all” automatically approves contacts as friends.
In addition to Personal Page, there are options for Organization Page, News Page, and Community Group.
Organization and New Pages automatically approve contact requests as followers.
Community Group provide the ability for people to join the group without requiring approval.
This creates a group where all members can freely interact.
Posting to Community groups
---
If you are a member of a community group, you may post to the group by including an @-mention in the post mentioning the group.
For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients.
If you mention a group (you are a member of) in a new posting, the posting will be distributed to all members of the group, regardless of your privacy settings for the posting.
Also, if the group is public, your posting will be public for the all internet users.
If your post is private you must also explicitly include the group in the post permissions (to allow the group "contact" to see the post) **and** mention it in a tag (which redistributes the post to the group members).
Posting privately to a public group, will result in your posting being displayed on the group wall, but not on yours.
Additionally, it is possible to address a group with the exclamation mark.
In the example above this means that you can address the bicycle group via !bicycle.
The difference with the @-mention is that the post will only be sent to the addressed group.
This also means that you shouldn't address multiple groups in a single post in that way since it will only be distributed by one the groups.
You may also post to a community group by posting a "wall-to-wall" post using secure cross-site authentication.
Comments which are relayed to community groups will be relayed back to the original post creator.
Mentioning the group with an @-mention in a comment does not relay the message, as distribution is controlled entirely by the original post creator.

View File

@ -14,9 +14,10 @@ Friendica Documentation and Resources
* You and other users
* [Connectors](help/Connectors)
* [Making Friends](help/Making-Friends)
* [Groups and Privacy](help/Groups-and-Privacy)
* [Circles and Privacy](help/Circles-and-Privacy)
* [Tags and Mentions](help/Tags-and-Mentions)
* [Community Forums](help/Forums)
* [Community Groups](help/Groups)
* [Channels](help/Channels)
* [Chats](help/Chats)
* Further information
* [Move your account](help/Move-Account)
@ -67,7 +68,7 @@ Friendica Documentation and Resources
* [Main Website](https://friendi.ca)
* Ways to get Support
* Friendica Support Forum: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Friendica Support Group: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* [Mailing List Archive](http://mailman.friendi.ca/mailman/listinfo/support-friendi.ca) you can subscribe to the list by sending an email to ``support-request(at)friendi.ca?subject=subscribe``
* Community chat rooms (the IRC, Matrix and XMPP rooms are bridged) these public chats are logged [from IRC](https://gnusociarg.nsupdate.info/2021/%23friendica/) and [Matrix](https://view.matrix.org/alias/%23friendi.ca:matrix.org/)
* XMPP/Jabber MUC: support(at)forum.friendi.ca

View File

@ -3,7 +3,7 @@ How to improve the performance of a Friendica site
* [Home](help)
Feel free to ask in the [Friendica support forum](https://forum.friendi.ca/profile/helpers) if you need some clarification about the following instructions or if you need help in any other way.
Feel free to ask in the [Friendica support group](https://forum.friendi.ca/profile/helpers) if you need some clarification about the following instructions or if you need help in any other way.
System configuration
--------
@ -31,7 +31,7 @@ Active the following addons:
### rendertime
This addon doesn't speed up your system.
This addon doesn't speed up your system.
It helps to analyze your bottlenecks.
When enabled you see some values at the bottom of every page.

View File

@ -15,7 +15,7 @@ Many will.
But **please** review the [requirements](#Requirements) and confirm these with your hosting provider prior to installation.
## Support
If you encounter installation issues, please let us know via the [helper](http://forum.friendi.ca/profile/helpers) or the [developer](https://forum.friendi.ca/profile/developers) forum or [file an issue](https://github.com/friendica/friendica/issues).
If you encounter installation issues, please let us know via the [helper](http://forum.friendi.ca/profile/helpers) or the [developer](https://forum.friendi.ca/profile/developers) group or [file an issue](https://github.com/friendica/friendica/issues).
Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future.
Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.
@ -23,14 +23,14 @@ Due to the large variety of operating systems and PHP platforms in existence we
## Prerequisites
* Choose a domain name or subdomain name for your server. Put some thought into this. While changing it after installation is supported, things still might break.
* Setup HTTPS on your domain.
* Setup HTTPS on your domain.
### Requirements
* Apache with mod-rewrite enabled and "Options All" so you can use a local `.htaccess` file
* PHP 7.3+ (PHP8 is not fully supported yet)
* PHP 7.4+
* PHP *command line* access with register_argc_argv set to true in the php.ini file
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip, IntlChar and OpenSSL extensions
* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it)
* Some form of email server or email gateway such that PHP mail() works.
If you cannot set up your own email server, you can use the [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) addon and use a remote SMTP server.
@ -42,9 +42,9 @@ Due to the large variety of operating systems and PHP platforms in existence we
For alternative server configurations (such as Nginx server and MariaDB database engine), refer to the [Friendica wiki](https://github.com/friendica/friendica/wiki).
### Optional
### Optional
* PHP ImageMagick extension (php-imagick) for animated GIF support.
* PHP ImageMagick extension (php-imagick) for animated GIF and animated WebP support.
## Installation procedure
@ -105,11 +105,11 @@ If you encounter a bug, please let us know.
### Create a database
Create an empty database and note the access details (hostname, username, password, database name).
Create an empty database and note the access details (hostname, username, password, database name).
Generate a strong password, then enter mysql with:
mysql
Then use the following script using the password you just generated:
CREATE DATABASE friendicadb;
@ -148,7 +148,7 @@ You have the following options to automatically install Friendica:
- using environment variables (f.e. `MYSQL_HOST`)
- using options (f.e. `--dbhost <host>`)
You can combine environment variables and options, but be aware that options are prioritized over environment variables.
You can combine environment variables and options, but be aware that options are prioritized over environment variables.
For more information during the installation, you can use this command line option
@ -157,7 +157,7 @@ For more information during the installation, you can use this command line opti
If you wish to include all optional checks, use `-a` like this statement:
bin/console autoinstall -a
*If* the automatic installation fails for any reason, check the following:
* Does `config/local.config.php` already exist? If yes, the automatic installation won't start
@ -171,7 +171,7 @@ You can use a prepared config file like [local-sample.config.php](/config/local-
Navigate to the main Friendica directory and execute the following command:
bin/console autoinstall -f <prepared.config.php>
#### B.2: Environment variables
There are two types of environment variables.
@ -194,7 +194,7 @@ if you don't use the option `--savedb` during installation, the DB credentials w
**Friendica settings**
This variables wont be used at normal Friendica runtime.
Instead, they get saved into `config/local.config.php`.
Instead, they get saved into `config/local.config.php`.
- `FRIENDICA_URL_PATH` The URL path of Friendica (f.e. '/friendica')
- `FRIENDICA_PHP_PATH` The path of the PHP binary
@ -238,7 +238,7 @@ Example:
### Verify the "host-meta" page is working
Friendica should respond automatically to important addresses under the */.well-known/* rewrite path.
One critical URL would look like, for example: https://example.com/.well-known/host-meta
One critical URL would look like, for example: https://example.com/.well-known/host-meta
It must be visible to the public and must respond with an XML file that is automatically customized to your site.
If that URL is not working, it is possible that some other software is using the /.well-known/ path.
@ -257,7 +257,7 @@ It may be necessary to chmod the /.well-known/.htaccess file if you were not giv
At this point visit your website again, and register your personal account with the same email as in the `config.admin_email` config value.
Registration errors should all be recoverable automatically.
If you get any *critical* failure at this point, it generally indicates the database was not installed correctly.
If you get any *critical* failure at this point, it generally indicates the database was not installed correctly.
You might wish to delete/rename `config/local.config.php` to another name and drop all the database tables so that you can start fresh.
## Post Install Configuration
@ -295,7 +295,7 @@ Once started, you can check the daemon status using the following command:
cd /path/to/friendica; php bin/daemon.php status
After a server restart or any other failure, the daemon needs to be restarted.
After a server restart or any other failure, the daemon needs to be restarted.
This could be achieved by a cronjob.
### (RECOMMENDED) Logging & Log Rotation
@ -408,7 +408,7 @@ provided by one of our members.
> On my server I use the php protection system Suhosin [http://www.hardened-php.net/suhosin/].
> One of the things it does is to block certain functions like proc_open, as
> configured in `/etc/php5/conf.d/suhosin.ini`:
>
>
> suhosin.executor.func.blacklist = proc_open, ...
>
> For those sites like Friendica that really need these functions they can be
@ -418,34 +418,34 @@ provided by one of our members.
> php_admin_value suhosin.executor.func.blacklist none
> php_admin_value suhosin.executor.eval.blacklist none
> </Directory>
>
>
> This enables every function for Friendica if accessed via browser, but not for
> the cronjob that is called via php command line. I attempted to enable it for
> cron by using something like:
>
>
> */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php \
> -d suhosin.executor.func.blacklist=none \
> -d suhosin.executor.eval.blacklist=none -f bin/worker.php
>
>
> This worked well for simple test cases, but the friendica-cron still failed
> with a fatal error:
>
>
> suhosin[22962]: ALERT - function within blacklist called: proc_open()
> (attacker 'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php',
> line 1341)
>
>
> After a while I noticed, that `bin/worker.php` calls further PHP script via `proc_open`.
> These scripts themselves also use `proc_open` and fail, because they are NOT
> called with `-d suhosin.executor.func.blacklist=none`.
>
>
> So the simple solution is to put the correct parameters into `config/local.config.php`:
>
>
> 'config' => [
> //Location of PHP command line processor
> 'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none \
> -d suhosin.executor.eval.blacklist=none',
> ],
>
>
> This is obvious as soon as you notice that the friendica-cron uses `proc_open`
> to execute PHP scripts that also use `proc_open`, but it took me quite some time to find that out.
> I hope this saves some time for other people using suhosin with function blocklists.

View File

@ -20,20 +20,20 @@ You'll also see a link to a **Global Directory**.
There are several global directories across the globe that regularly exchange information with each other.
The specific global directory that you see usually depends on where your server is located.
If you click through to the global directory, you will be presented with a list of everybody who choses to be listed across all instances of Friendica.
You will also see a "Show Community Forums" link, which will direct you to Groups, Forums and Fanpages.
You connect to people, groups and forums in the same way, except groups and forums will automatically accept your introduction request, whereas a human will approve you manually.
You will also see a "Show Community Groups" link, which will direct you to Groups.
You connect to people and groups the same way, public groups will automatically accept your introduction, whereas private groups and some individual users will need to manually approve it.
Connect to other Friendica users
---
Visit their profile.
Just beneath their profile picture will be the word 'Connect' (we're assuming this is an English language profile).
Click that 'Connect' button and it will take you to a 'Connect' form.
Click that 'Connect' button, and it will take you to a 'Connect' form.
The form is going to ask you for your Identity Address.
This is necessary so that this person's website can find yours.
This is necessary so that this person's website can find yours.
If your Friendica site is called "demo.friendica.com" and your username/nickname on that site is "bob", you would enter "bob@demo.friendica.com" in this form.
If your Friendica site is called "demo.friendica.com" and your username/nickname on that site is "bob", you would enter "bob@demo.friendica.com" in this form.
Notice this looks just like an email address.
It's meant to be that way.
@ -41,8 +41,8 @@ It's easy for people to remember.
You *could* also put in the URL of your "home" page, such as "http://demo.friendica.com/profile/bob" instead of the email-style address.
When you've submitted the connection page, it will take you back to your own site where you must then login (if necessary) and verify the connection request on *your* site.
Once you've done this, the two websites can communicate with each other to complete the process (after your new friend has approved the request).
When you've submitted the connection page, it will take you back to your own site where you must then log in (if necessary) and verify the connection request on *your* site.
Once you've done this, the two websites can communicate with each other to complete the process (after your new friend has approved the request).
If you already know somebody's Identity Address, you can enter it in the "connect" box on your "Contacts" page.
This will take you through a similar process.
@ -55,20 +55,20 @@ You can also use your Identity Address or other people's Identity Addresses to b
Currently, Friendica supports connections with people on diaspora*, Red, Hubzilla, GNU Social, StatusNet, Mastodon, Pleroma, socialhome, and ganggo platforms.
If you know (for instance) "alice" on gnusocial.net (a GNU Social site) you could put alice@gnusocial.net into your Contact page and become friends across networks.
Likewise you can put in the URL to Alice's gnusocial.net page, if you wish.
Likewise, you can put in the URL to Alice's gnusocial.net page, if you wish.
Note: Some versions of GNU Social software may require the full URL to your profile and may not work with the identity address.
People on these networks can also initiate contact with you, if they know your contact details.
### Other social media
If you server provides this functionality, you can also connect with people one
Twitter or important feeds from Tumblr, Wordpress, and many more.
Twitter or important feeds from Tumblr, WordPress, and many more.
To connect, enter their contact details in the "connect" box on your "Contacts" page.
### Email
If you have supplied your mailbox connection information on your Settings page, you can enter the email address of anybody that has sent you a message recently and have their email messages show up in your social stream.
You can also reply to them from within Friendica.
You can also reply to them from within Friendica.
Create an email contact with for example Alice on Gmail, enter her email in following format "mailto:alice@gmail.no".
In order to avoid abuse or spam, you must have an email from Alice with the correct email address in your email inbox.
@ -78,7 +78,7 @@ To subscribe to a mailing list, enter the email in following example format "mai
### Syndication feeds
You can "follow" almost anybody or any website that produces a syndication feed (RSS/Atom,etc.).
If we can find an information stream and a name to attach to the contact, we'll try to connect with them.
If we can find an information stream and a name to attach to the contact, we'll try to connect with them.
Notification
---
@ -88,24 +88,24 @@ You will usually need to approve this before the friendship is complete.
Approval
---
Some networks allow people to send you messages without being friends and without your approval.
Friendica does not allow this by default, as it would open a gateway for spam.
Friendica does not allow this by default, as it would open a gateway for spam.
Unilateral or bilateral friendships
---
When you receive a friendship notification from another Friendica member, you will have the option of allowing them as a "Follower" or as a "Friend".
If they are a follower, they can see what you have to say, including private communications that you send to them, but not vice versa.
As a friend, you can both communicate with each other.
As a friend, you can both communicate with each other.
diaspora* uses a different terminology, and you are given the option of allowing them to "share with you", or being full friends.
diaspora* uses a different terminology, and you are given the option of allowing them to "share with you", or being full friends.
Ignoring, blocking and deleting contacts
---
Once you have become friends, if you find the person constantly sends you spam or worthless information, you can "Ignore" them - without breaking off the friendship or even alerting them to the fact that you aren't interested in anything they are saying.
In many ways they are like a "follower" - but they don't know this.
They think they are a friend.
They think they are a friend.
You can also "block" a person.
This completely blocks communications with that person.
They may still be able to see your public posts, as can anybody in the world, but they cannot communicate with you directly.
They may still be able to see your public posts, as can anybody in the world, but they cannot communicate with you directly.
You can also delete a friend no matter what the friendship status - which completely removes everything relating to that person from your website.

View File

@ -8,7 +8,7 @@ How to move your account between servers
* Go to "Settings" -> "[Export personal data](uexport)"
* Click on "Export account" to save your account data.
* **Save the file in a secure place!** It contains your details, your contacts, groups, and personal settings. It also contains your secret keys to authenticate yourself to your contacts.
* **Save the file in a secure place!** It contains your details, your contacts, circles, and personal settings. It also contains your secret keys to authenticate yourself to your contacts.
* Go to your new server, and open *http://newserver.com/user/import* (there is not a direct link to this page at the moment). Please consider that this is only possible on servers with open registration. On other systems only the administrator can add accounts with an uploaded file.
* Do NOT create a new account prior to importing your old settings - user import should be used *instead* of register.
* Load your saved account file and click "Import".
@ -17,7 +17,7 @@ How to move your account between servers
Friendica contacts
---
Friendica will recreate your account on the new server, with your contacts and groups.
Friendica will recreate your account on the new server, with your contacts and circles.
A message is sent to Friendica contacts, to inform them about your move:
If your contacts are running on an updated server, your details on their side will be automatically updated.

View File

@ -4,8 +4,7 @@ Here are some more things to help get you started:
**Groups**
- <a href="http://forum.friendi.ca/profile/helpers">Friendica Support</a> - problems? This is the place to ask.
- <a href="https://forum.friendi.ca/profile/helpers">Friendica Support</a> - problems? This is the place to ask.
**Documentation**

View File

@ -1,9 +1,9 @@
This is the global directory.
If you get lost, you can <a href = "help/Quick-Start-groupsandpages">click this link</a> to bring yourself back here.
On this page, you'll find a collection of groups, forums and celebrity pages.
On this page, you'll find a collection of groups.
Groups are not real people.
Connecting to them is similar to "liking" something on Facebook, or signing up for a new forum.
Connecting to them is similar to "liking" something on Facebook, or signing up for a new group.
You don't have to feel awkward about introducing yourself to a new person, because they're not people!
When you connect to a group, all messages to that group will start appearing in your network tab.
@ -15,6 +15,6 @@ Remember the link at the top of this page will bring you back here.
Once you've added some groups, <a href="help/Quick-Start-andfinally">move on to the next section</a>.
<iframe src="https://dir.friendica.social/forum" width="950" height="600"></iframe>
<iframe src="https://dir.friendica.social/group" width="950" height="600"></iframe>

View File

@ -77,11 +77,11 @@ Additionally to the setting in the admin panel, you can decide if registrations
To enable invitation based registration, you have to set the `invitation_only` setting to `true` in the `system` section of the [config/local.config.php](/help/Config) file.
If you want to use this method, the registration policy has to be set to either *open* or *requires approval*.
#### Check Full Names
#### Check Display Names
You may find a lot of spammers trying to register on your site.
During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name.
If you would like to support people with only one name as their full name, you may change this setting to true.
During testing we discovered that since these registrations were automatic, the "Display Name" field was often set to just an account name with no space between first and last name.
If you would like to support people with only one name as their display name, you can leave this setting set to false.
Default is false.
#### OpenID

89
doc/StrategyHooks.md Normal file
View File

@ -0,0 +1,89 @@
Friendica strategy Hooks
===========================================
* [Home](help)
## Strategy hooks
This type of hook is based on the [Strategy Design Pattern](https://refactoring.guru/design-patterns/strategy).
A strategy class defines a possible implementation of a given interface based on a unique name.
Every name is possible as long as it's unique and not `null`.
Using an empty name (`''`) is possible as well and should be used as the "default" implementation.
To register a strategy, use the [`ICanRegisterInstance`](../src/Core/Hooks/Capability/ICanRegisterInstances.php) interface.
After registration, a caller can automatically create this instance with the [`ICanCreateInstances`](../src/Core/Hooks/Capability/ICanCreateInstances.php) interface and the chosen name.
This is useful in case there are different, possible implementations for the same purpose, like for logging, locking, caching, ...
Normally, a config entry is used to choose the right implementation at runtime.
And if no config entry is set, the "default" implementation should be used.
### Example
```php
interface ExampleInterface
{
public function testMethod();
}
public class ConcreteClassA implements ExampleInterface
{
public function testMethod()
{
echo "concrete class A";
}
}
public class ConcreteClassB implements ExampleInterface
{
public function testMethod()
{
echo "concrete class B";
}
}
/** @var \Friendica\Core\Hooks\Capability\ICanRegisterStrategies $instanceRegister */
$instanceRegister->registerStrategy(ExampleInterface::class, ConcreteClassA::class, 'A');
$instanceRegister->registerStrategy(ExampleInterface::class, ConcreteClassB::class, 'B');
/** @var \Friendica\Core\Hooks\Capability\ICanCreateInstances $instanceManager */
/** @var ConcreteClassA $concreteClass */
$concreteClass = $instanceManager->create(ExampleInterface::class, 'A');
$concreteClass->testMethod();
// output:
// "concrete class A";
```
## hooks.config.php
To avoid registering all strategies manually inside the code, Friendica introduced the [`hooks.config.php`](../static/hooks.config.php) file.
There, you can register all kind of strategies in one file.
### [`HookType::STRATEGY`](../src/Core/Hooks/Capability/HookType.php)
For each given interface, a list of key-value pairs can be set, where the key is the concrete implementation class and the value is an array of unique names.
### Example
```php
use Friendica\Core\Hooks\Capability\BehavioralHookType as H;
return [
H::STRATEGY => [
ExampleInterface::class => [
ConcreteClassA::class => ['A'],
ConcreteClassB::class => ['B'],
],
],
];
```
## Addons
The hook logic is useful for decoupling the Friendica core logic, but its primary goal is to modularize Friendica in creating addons.
Therefor you can either use the interfaces directly as shown above, or you can place your own `hooks.config.php` file inside a `static` directory directly under your addon core directory.
Friendica will automatically search these config files for each **activated** addon and register the given hooks.

View File

@ -15,7 +15,7 @@ You can tag **persons who are in your social circle** by adding the "@"-sign in
* @mike - indicates a known contact in your social circle whose nickname is "mike"
* @mike_macgirvin - indicates a known contact in your social circle whose full name is "Mike Macgirvin". Note that spaces cannot be used inside tags.
* @mike+151 - this form is used by the drop-down tag completion tool. It indicates the contact whose nickname is mike and whose contact identifier number is 151. The drop-down tool may be used to resolve people with duplicate nicknames.
* @mike+151 - this form is used by the drop-down tag completion tool. It indicates the contact whose nickname is mike and whose contact identifier number is 151. The drop-down tool may be used to resolve people with duplicate nicknames.
You can tag a person on a different network or one that is **not in your social circle** by using the following notation:
@ -23,27 +23,27 @@ You can tag a person on a different network or one that is **not in your social
Unless their system blocks unsolicited "mentions", the person tagged will likely receive a "Mention" post/activity or become a direct participant in the conversation in the case of public posts.
Friendica blocks incoming “mentions” from people with no relationship to you.
The exception is an ongoing conversation started from a contact of both you and the 3rd person or a conversation in a forum where you are a member of.
The exception is an ongoing conversation started from a contact of both you and the 3rd person or a conversation in a group where you are a member of.
This is a spam prevention measure.
Remote mentions are delivered using the OStatus protocol.
This protocol is used by Friendica and GNU Social and several other systems like Mastodon, but is not currently implemented in Diaspora.
As the OStatus protocol allows this Friendica user can be @-mentioned by users from platforms using this protocol in conversations if the "Enable OStatus support" is activated on the Friendica node.
These @-mentions wont be blocked, even if there is no relationship between the sender and the receiver of the message.
These @-mentions won't be blocked, even if there is no relationship between the sender and the receiver of the message.
Friendica makes no distinction between people and forums for the purpose of tagging.
You can use @-mentions for forums like for other accounts to tag the forum.
If you want to post something exclusively to a forum (e.g. the support forum) please use the bang-notation instead of the @tag.
So !helpers will be an exclusive posting to the support forum if you are connected with the forum.
If you select a forum from the ACL a !-mention will be added automatically to your posting.
Friendica makes no distinction between people and groups for the purpose of tagging.
You can use @-mentions for groups like for other accounts to tag the group.
If you want to post something exclusively to a group (e.g. the support group) please use the !-mention instead of the @-mention.
So !helpers will be an exclusive posting to the support group if you are connected with the group.
If you select a group from the ACL a !-mention will be added automatically to your posting.
If you sort your contacts into groups, you cannot @-mention these groups.
But you can select the group in the access control when creating a new posting, to allow (or disallow) a certain group of people to see the posting.
See [Groups and Privacy](help/Groups-and-Privacy) for more details about grouping your contacts.
If you sort your contacts into circles, you cannot @-mention these circles.
But you can select the circle in the access control when creating a new posting, to allow (or disallow) a certain circle of people to see the posting.
See [Circles and Privacy](help/Circles-and-Privacy) for more details about grouping your contacts.
**Topical Tags**
Topical tags are indicated by preceding the tag name with the # character.
Topical tags are indicated by preceding the tag name with the # character.
This will create a link in the post to a generalised site search for the term provided.
For example, #cars will provide a search link for all posts mentioning 'cars' on your site.
Topical tags are generally a minimum of three characters in length.

View File

@ -88,11 +88,11 @@ Click on "show" under contact name to hide the post to everyone but selected.
Click on "Visible to everybody" to make the post public again.
If you have defined some groups, you can check "show" for groups also. All contact in that group will see the post.
If you want to hide the post to one contact of a group selected for "show", click "don't show" under contact name.
If you have defined some circles, you can check "show" for circles also. All contact in that circle will see the post.
If you want to hide the post to one contact of a circle selected for "show", click "don't show" under contact name.
Click again on "show" or "don't show" to switch it off.
You can search for contacts or groups with the search box.
You can search for contacts or circles with the search box.
See also [Group and Privacy](help/Groups-and-Privacy)
See also [Circles and Privacy](help/Circles-and-Privacy)

View File

@ -10,8 +10,10 @@ If you installed Friendica in the ``path/to/friendica`` folder:
1. Unpack the new Friendica archive in ``path/to/friendica_new``.
2. Copy the following items from ``path/to/friendica`` to ``path/to/friendica_new``:
* ``config/local.config.php``
* ``proxy/``
The following items only need to be copied if they are located inside your friendica path:
* ``proxy/``
* ``.htaccess`` if using Apache web server
The following items only need to be copied if they are located inside your friendica path:
* your storage folder as set in **Admin -> Site -> File Upload -> Storage base path**
* your item cache as set in **Admin -> Site -> Performance -> Path to item cache**
* your temp folder as set in **Admin -> Site -> Advanced -> Temp path**

View File

@ -68,8 +68,8 @@ xml:
The [RSStoFriendika](https://github.com/pafcu/RSStoFriendika) code can be used as an example of how to use the API with python.
The lines for posting are located at [line 21](https://github.com/pafcu/RSStoFriendika/blob/master/RSStoFriendika.py#L21) and following.
def tweet(server, message, group_allow=None):
def tweet(server, message, circle_allow=None):
url = server + '/api/statuses/update'
urllib2.urlopen(url, urllib.urlencode({'status': message,'group_allow[]':group_allow}, doseq=True))
urllib2.urlopen(url, urllib.urlencode({'status': message, 'circle_allow[]': circle_allow}, doseq=True))
There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API.

View File

@ -17,6 +17,8 @@ Database Tables
| [arrived-activity](help/database/db_arrived-activity) | Id of arrived activities |
| [attach](help/database/db_attach) | file attachments |
| [cache](help/database/db_cache) | Stores temporary data |
| [channel](help/database/db_channel) | User defined Channels |
| [check-full-text-search](help/database/db_check-full-text-search) | Check for a full text search match in user defined channels before storing the message in the system |
| [config](help/database/db_config) | main configuration storage |
| [contact](help/database/db_contact) | contact table |
| [contact-relation](help/database/db_contact-relation) | Contact relations |
@ -30,8 +32,8 @@ Database Tables
| [fetch-entry](help/database/db_fetch-entry) | |
| [fetched-activity](help/database/db_fetched-activity) | Id of fetched activities |
| [fsuggest](help/database/db_fsuggest) | friend suggestion stuff |
| [group](help/database/db_group) | privacy groups, group info |
| [group_member](help/database/db_group_member) | privacy groups, member info |
| [group](help/database/db_group) | privacy circles, circle info |
| [group_member](help/database/db_group_member) | privacy circles, member info |
| [gserver](help/database/db_gserver) | Global servers |
| [gserver-tag](help/database/db_gserver-tag) | Tags that the server has subscribed |
| [hook](help/database/db_hook) | addon hook registry |
@ -59,13 +61,16 @@ Database Tables
| [post-category](help/database/db_post-category) | post relation to categories |
| [post-collection](help/database/db_post-collection) | Collection of posts |
| [post-content](help/database/db_post-content) | Content for all posts |
| [post-counts](help/database/db_post-counts) | Original remote activity |
| [post-delivery](help/database/db_post-delivery) | Delivery data for posts for the batch processing |
| [post-delivery-data](help/database/db_post-delivery-data) | Delivery data for items |
| [post-engagement](help/database/db_post-engagement) | Engagement data per post |
| [post-history](help/database/db_post-history) | Post history |
| [post-link](help/database/db_post-link) | Post related external links |
| [post-media](help/database/db_post-media) | Attached media |
| [post-question](help/database/db_post-question) | Question |
| [post-question-option](help/database/db_post-question-option) | Question option |
| [post-searchindex](help/database/db_post-searchindex) | Content for all posts |
| [post-tag](help/database/db_post-tag) | post relation to tags |
| [post-thread](help/database/db_post-thread) | Thread related data |
| [post-thread-user](help/database/db_post-thread-user) | Thread related data per user |
@ -77,7 +82,8 @@ Database Tables
| [push_subscriber](help/database/db_push_subscriber) | Used for OStatus: Contains feed subscribers |
| [register](help/database/db_register) | registrations requiring admin approval |
| [report](help/database/db_report) | |
| [report-post](help/database/db_report-post) | |
| [report-post](help/database/db_report-post) | Individual posts attached to a moderation report |
| [report-rule](help/database/db_report-rule) | Terms of service rule lines relevant to a moderation report |
| [search](help/database/db_search) | |
| [session](help/database/db_session) | web session storage |
| [storage](help/database/db_storage) | Data stored by Database storage backend |
@ -85,6 +91,7 @@ Database Tables
| [tag](help/database/db_tag) | tags and mentions |
| [user](help/database/db_user) | The local users |
| [user-contact](help/database/db_user-contact) | User specific public contact data |
| [user-gserver](help/database/db_user-gserver) | User settings about remote servers |
| [userd](help/database/db_userd) | Deleted usernames |
| [verb](help/database/db_verb) | Activity Verbs |
| [worker-ipc](help/database/db_worker-ipc) | Inter process communication between the frontend and the worker |

View File

@ -18,9 +18,9 @@ Fields
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
| allow_cid | Access Control - list of allowed contact.id '<19><78> | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed circles | mediumtext | YES | | NULL | |
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied circles | mediumtext | YES | | NULL | |
| backend-class | Storage backend class | tinytext | YES | | NULL | |
| backend-ref | Storage backend data reference | text | YES | | NULL | |

View File

@ -0,0 +1,42 @@
Table channel
===========
User defined Channels
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ---------------- | ------------------------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- |
| id | | int unsigned | NO | PRI | NULL | auto_increment |
| uid | User id | mediumint unsigned | NO | | NULL | |
| label | Channel label | varchar(64) | NO | | NULL | |
| description | Channel description | varchar(64) | YES | | NULL | |
| circle | Circle or channel that this channel is based on | int | YES | | NULL | |
| access-key | Access key | varchar(1) | YES | | NULL | |
| include-tags | Comma separated list of tags that will be included in the channel | varchar(1023) | YES | | NULL | |
| exclude-tags | Comma separated list of tags that aren't allowed in the channel | varchar(1023) | YES | | NULL | |
| min-size | Minimum post size | int unsigned | YES | | NULL | |
| max-size | Maximum post size | int unsigned | YES | | NULL | |
| full-text-search | Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode | varchar(1023) | YES | | NULL | |
| media-type | Filtered media types | smallint unsigned | YES | | NULL | |
| languages | Desired languages | mediumtext | YES | | NULL | |
| publish | publish channel content | boolean | YES | | NULL | |
| valid | Set, when the full-text-search is valid | boolean | YES | | NULL | |
Indexes
------------
| Name | Fields |
| ------- | ------ |
| PRIMARY | id |
| uid | uid |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| uid | [user](help/database/db_user) | uid |
Return to [database documentation](help/database)

View File

@ -0,0 +1,23 @@
Table check-full-text-search
===========
Check for a full text search match in user defined channels before storing the message in the system
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ---------- | ---------------------------------------- | ------------ | ---- | --- | ------- | ----- |
| pid | The ID of the process | int unsigned | NO | PRI | NULL | |
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
Indexes
------------
| Name | Fields |
| ---------- | -------------------- |
| PRIMARY | pid |
| searchtext | FULLTEXT, searchtext |
Return to [database documentation](help/database)

View File

@ -6,13 +6,18 @@ Contact relations
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ---------------- | --------------------------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
| cid | contact the related contact had interacted with | int unsigned | NO | PRI | 0 | |
| relation-cid | related contact who had interacted with the contact | int unsigned | NO | PRI | 0 | |
| last-interaction | Date of the last interaction | datetime | NO | | 0001-01-01 00:00:00 | |
| follow-updated | Date of the last update of the contact relationship | datetime | NO | | 0001-01-01 00:00:00 | |
| follows | | boolean | NO | | 0 | |
| Field | Description | Type | Null | Key | Default | Extra |
| --------------------- | ----------------------------------------------------------------------- | ----------------- | ---- | --- | ------------------- | ----- |
| cid | contact the related contact had interacted with | int unsigned | NO | PRI | 0 | |
| relation-cid | related contact who had interacted with the contact | int unsigned | NO | PRI | 0 | |
| last-interaction | Date of the last interaction by relation-cid on cid | datetime | NO | | 0001-01-01 00:00:00 | |
| follow-updated | Date of the last update of the contact relationship | datetime | NO | | 0001-01-01 00:00:00 | |
| follows | if true, relation-cid follows cid | boolean | NO | | 0 | |
| score | score for interactions of cid on relation-cid | smallint unsigned | YES | | NULL | |
| relation-score | score for interactions of relation-cid on cid | smallint unsigned | YES | | NULL | |
| thread-score | score for interactions of cid on threads of relation-cid | smallint unsigned | YES | | NULL | |
| relation-thread-score | score for interactions of relation-cid on threads of cid | smallint unsigned | YES | | NULL | |
| post-score | score for the amount of posts from cid that can be seen by relation-cid | smallint unsigned | YES | | NULL | |
Indexes
------------

View File

@ -51,8 +51,8 @@ Fields
| archive | | boolean | NO | | 0 | |
| unsearchable | Contact prefers to not be searchable | boolean | NO | | 0 | |
| sensitive | Contact posts sensitive content | boolean | NO | | 0 | |
| baseurl | baseurl of the contact | varbinary(383) | YES | | | |
| gsid | Global Server ID | int unsigned | YES | | NULL | |
| baseurl | baseurl of the contact from the gserver record, can be missing | varbinary(383) | YES | | | |
| gsid | Global Server ID, can be missing | int unsigned | YES | | NULL | |
| bd | | date | NO | | 0001-01-01 | |
| reason | | text | YES | | NULL | |
| self | 1 if the contact is the user him/her self | boolean | NO | | 0 | |
@ -81,7 +81,7 @@ Fields
| confirm | | varbinary(383) | YES | | NULL | |
| poco | | varbinary(383) | YES | | NULL | |
| writable | | boolean | NO | | 0 | |
| forum | contact is a forum. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = false instead | boolean | NO | | 0 | |
| forum | contact is a group. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = false instead | boolean | NO | | 0 | |
| prv | contact is a private group. Deprecated, use 'contact-type' = 'community' and 'manually-approve' = true instead | boolean | NO | | 0 | |
| bdyear | | varchar(4) | NO | | | |
| site-pubkey | Deprecated | text | YES | | NULL | |

View File

@ -25,9 +25,9 @@ Fields
| nofinish | if event does have no end this is 1 | boolean | NO | | 0 | |
| ignore | 0 or 1 | boolean | NO | | 0 | |
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed circles | mediumtext | YES | | NULL | |
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied circles | mediumtext | YES | | NULL | |
Indexes
------------

View File

@ -1,7 +1,7 @@
Table group
===========
privacy groups, group info
privacy circles, circle info
Fields
------
@ -11,9 +11,9 @@ Fields
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
| visible | 1 indicates the member list is not private | boolean | NO | | 0 | |
| deleted | 1 indicates the group has been deleted | boolean | NO | | 0 | |
| cid | Contact id of forum. When this field is filled then the members are synced automatically. | int unsigned | YES | | NULL | |
| name | human readable name of group | varchar(255) | NO | | | |
| deleted | 1 indicates the circle has been deleted | boolean | NO | | 0 | |
| cid | Contact id of group. When this field is filled then the members are synced automatically. | int unsigned | YES | | NULL | |
| name | human readable name of circle | varchar(255) | NO | | | |
Indexes
------------

View File

@ -1,16 +1,16 @@
Table group_member
===========
privacy groups, member info
privacy circles, member info
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ---------- | --------------------------------------------------------- | ------------ | ---- | --- | ------- | -------------- |
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| gid | groups.id of the associated group | int unsigned | NO | | 0 | |
| contact-id | contact.id of the member assigned to the associated group | int unsigned | NO | | 0 | |
| Field | Description | Type | Null | Key | Default | Extra |
| ---------- | ---------------------------------------------------------- | ------------ | ---- | --- | ------- | -------------- |
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| gid | group.id of the associated circle | int unsigned | NO | | 0 | |
| contact-id | contact.id of the member assigned to the associated circle | int unsigned | NO | | 0 | |
Indexes
------------

View File

@ -11,9 +11,9 @@ Fields
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| uid | Owner id of this permission set | mediumint unsigned | NO | | 0 | |
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed circles | mediumtext | YES | | NULL | |
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied circles | mediumtext | YES | | NULL | |
Indexes
------------

View File

@ -30,9 +30,9 @@ Fields
| scale | | tinyint unsigned | NO | | 0 | |
| profile | | boolean | NO | | 0 | |
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed circles | mediumtext | YES | | NULL | |
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
| deny_gid | Access Control - list of denied circles | mediumtext | YES | | NULL | |
| accessible | Make photo publicly accessible, ignoring permissions | boolean | NO | | 0 | |
| backend-class | Storage backend class | tinytext | YES | | NULL | |
| backend-ref | Storage backend data reference | text | YES | | NULL | |

View File

@ -17,6 +17,7 @@ Fields
| location | text location where this item originated | varchar(255) | NO | | | |
| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | |
| language | Language information about this post | text | YES | | NULL | |
| sensitive | If true, this post contains sensitive content | boolean | YES | | NULL | |
| app | application which generated this item | varchar(255) | NO | | | |
| rendered-hash | | varchar(32) | NO | | | |
| rendered-html | item.body converted to html | mediumtext | YES | | NULL | |
@ -30,13 +31,12 @@ Fields
Indexes
------------
| Name | Fields |
| -------------------------- | -------------------------------------- |
| PRIMARY | uri-id |
| plink | plink(191) |
| resource-id | resource-id |
| title-content-warning-body | FULLTEXT, title, content-warning, body |
| quote-uri-id | quote-uri-id |
| Name | Fields |
| ------------ | ------------ |
| PRIMARY | uri-id |
| plink | plink(191) |
| resource-id | resource-id |
| quote-uri-id | quote-uri-id |
Foreign Keys
------------

View File

@ -0,0 +1,35 @@
Table post-counts
===========
Original remote activity
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ------------- | ----------------------------------------------------------- | ----------------- | ---- | --- | ------- | ----- |
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | NO | PRI | NULL | |
| reaction | Emoji Reaction | varchar(4) | NO | PRI | NULL | |
| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | |
| count | Number of activities | int unsigned | YES | | 0 | |
Indexes
------------
| Name | Fields |
| ------------- | --------------------- |
| PRIMARY | uri-id, vid, reaction |
| vid | vid |
| parent-uri-id | parent-uri-id |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| uri-id | [item-uri](help/database/db_item-uri) | id |
| vid | [verb](help/database/db_verb) | id |
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
Return to [database documentation](help/database)

View File

@ -0,0 +1,42 @@
Table post-engagement
===========
Engagement data per post
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ------------ | --------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
| owner-id | Item owner | int unsigned | NO | | 0 | |
| contact-type | Person, organisation, news, community, relay | tinyint | NO | | 0 | |
| media-type | Type of media in a bit array (1 = image, 2 = video, 4 = audio | tinyint | NO | | 0 | |
| language | Language information about this post in the ISO 639-1 format | char(2) | YES | | NULL | |
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
| size | Body size | int unsigned | YES | | NULL | |
| created | | datetime | YES | | NULL | |
| network | | char(4) | YES | | NULL | |
| restricted | If true, this post is either unlisted or not from a federated network | boolean | NO | | 0 | |
| comments | Number of comments | mediumint unsigned | YES | | NULL | |
| activities | Number of activities (like, dislike, ...) | mediumint unsigned | YES | | NULL | |
Indexes
------------
| Name | Fields |
| ---------- | -------------------- |
| PRIMARY | uri-id |
| owner-id | owner-id |
| created | created |
| searchtext | FULLTEXT, searchtext |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| uri-id | [item-uri](help/database/db_item-uri) | id |
| owner-id | [contact](help/database/db_contact) | id |
Return to [database documentation](help/database)

View File

@ -0,0 +1,38 @@
Table post-searchindex
===========
Content for all posts
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ---------- | --------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- |
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
| owner-id | Item owner | int unsigned | NO | | 0 | |
| media-type | Type of media in a bit array (1 = image, 2 = video, 4 = audio | tinyint | NO | | 0 | |
| language | Language information about this post in the ISO 639-1 format | char(2) | YES | | NULL | |
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
| size | Body size | int unsigned | YES | | NULL | |
| created | | datetime | YES | | NULL | |
| restricted | If true, this post is either unlisted or not from a federated network | boolean | NO | | 0 | |
Indexes
------------
| Name | Fields |
| ---------- | -------------------- |
| PRIMARY | uri-id |
| owner-id | owner-id |
| created | created |
| searchtext | FULLTEXT, searchtext |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| uri-id | [item-uri](help/database/db_item-uri) | id |
| owner-id | [contact](help/database/db_contact) | id |
Return to [database documentation](help/database)

View File

@ -36,24 +36,31 @@ Fields
Indexes
------------
| Name | Fields |
| ----------------- | ------------------- |
| PRIMARY | uid, uri-id |
| uri-id | uri-id |
| conversation-id | conversation-id |
| owner-id | owner-id |
| author-id | author-id |
| causer-id | causer-id |
| uid | uid |
| contact-id | contact-id |
| psid | psid |
| post-user-id | post-user-id |
| commented | commented |
| uid_received | uid, received |
| uid_wall_received | uid, wall, received |
| uid_commented | uid, commented |
| uid_starred | uid, starred |
| uid_mention | uid, mention |
| Name | Fields |
| -------------------- | --------------------- |
| PRIMARY | uid, uri-id |
| uri-id | uri-id |
| conversation-id | conversation-id |
| owner-id | owner-id |
| author-id | author-id |
| causer-id | causer-id |
| uid | uid |
| contact-id | contact-id |
| psid | psid |
| post-user-id | post-user-id |
| commented | commented |
| received | received |
| author-id_created | author-id, created |
| owner-id_created | owner-id, created |
| uid_received | uid, received |
| uid_wall_received | uid, wall, received |
| uid_commented | uid, commented |
| uid_created | uid, created |
| uid_starred | uid, starred |
| uid_mention | uid, mention |
| contact-id_commented | contact-id, commented |
| contact-id_received | contact-id, received |
| contact-id_created | contact-id, created |
Foreign Keys
------------

View File

@ -58,7 +58,8 @@ Indexes
| event-id | event-id |
| psid | psid |
| author-id_uid | author-id, uid |
| author-id_received | author-id, received |
| author-id_created | author-id, created |
| owner-id_created | owner-id, created |
| parent-uri-id_uid | parent-uri-id, uid |
| uid_wall_received | uid, wall, received |
| uid_contactid | uid, contact-id |

View File

@ -13,7 +13,7 @@ Fields
| profile-name | Deprecated | varchar(255) | YES | | NULL | |
| is-default | Deprecated | boolean | YES | | NULL | |
| hide-friends | Hide friend list from viewers of this profile | boolean | NO | | 0 | |
| name | | varchar(255) | NO | | | |
| name | Unused in favor of user.username | varchar(255) | NO | | | |
| pdesc | Deprecated | varchar(255) | YES | | NULL | |
| dob | Day of birth | varchar(32) | NO | | 0000-00-00 | |
| address | | varchar(255) | NO | | | |
@ -56,11 +56,10 @@ Fields
Indexes
------------
| Name | Fields |
| -------------- | ---------------------- |
| PRIMARY | id |
| uid_is-default | uid, is-default |
| pub_keywords | FULLTEXT, pub_keywords |
| Name | Fields |
| -------------- | --------------- |
| PRIMARY | id |
| uid_is-default | uid, is-default |
Foreign Keys
------------

View File

@ -1,7 +1,7 @@
Table report-post
===========
Individual posts attached to a moderation report
Fields
------

View File

@ -0,0 +1,29 @@
Table report-rule
===========
Terms of service rule lines relevant to a moderation report
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ------- | ------------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- |
| rid | Report id | int unsigned | NO | PRI | NULL | |
| line-id | Terms of service rule line number, may become invalid after a TOS change. | int unsigned | NO | PRI | NULL | |
| text | Terms of service rule text recorded at the time of the report | text | NO | | NULL | |
Indexes
------------
| Name | Fields |
| ------- | ------------ |
| PRIMARY | rid, line-id |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| rid | [report](help/database/db_report) | id |
Return to [database documentation](help/database)

View File

@ -6,28 +6,40 @@ Table report
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ----------- | ----------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| uid | Reporting user | mediumint unsigned | YES | | NULL | |
| reporter-id | Reporting contact | int unsigned | YES | | NULL | |
| cid | Reported contact | int unsigned | NO | | NULL | |
| comment | Report | text | YES | | NULL | |
| category | Category of the report (spam, violation, other) | varchar(20) | YES | | NULL | |
| rules | Violated rules | text | YES | | NULL | |
| forward | Forward the report to the remote server | boolean | YES | | NULL | |
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
| status | Status of the report | tinyint unsigned | YES | | NULL | |
| Field | Description | Type | Null | Key | Default | Extra |
| --------------- | ------------------------------------------------------------ | ------------------ | ---- | --- | -------------------------- | -------------- |
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
| uid | Reporting user | mediumint unsigned | YES | | NULL | |
| reporter-id | Reporting contact | int unsigned | YES | | NULL | |
| cid | Reported contact | int unsigned | NO | | NULL | |
| gsid | Reported contact server | int unsigned | YES | | NULL | |
| comment | Report | text | YES | | NULL | |
| category-id | Report category, one of Entity Report::CATEGORY_* | int unsigned | NO | | 1 | |
| forward | Forward the report to the remote server | boolean | YES | | NULL | |
| public-remarks | Remarks shared with the reporter | text | YES | | NULL | |
| private-remarks | Remarks shared with the moderation team | text | YES | | NULL | |
| last-editor-uid | Last editor user | mediumint unsigned | YES | | NULL | |
| assigned-uid | Assigned moderator user | mediumint unsigned | YES | | NULL | |
| status | Status of the report, one of Entity Report::STATUS_* | tinyint unsigned | NO | | NULL | |
| resolution | Resolution of the report, one of Entity Report::RESOLUTION_* | tinyint unsigned | YES | | NULL | |
| created | | datetime(6) | NO | | 0001-01-01 00:00:00.000000 | |
| edited | Last time the report has been edited | datetime(6) | YES | | NULL | |
Indexes
------------
| Name | Fields |
| ----------- | ----------- |
| PRIMARY | id |
| uid | uid |
| cid | cid |
| reporter-id | reporter-id |
| Name | Fields |
| ----------------- | ------------------ |
| PRIMARY | id |
| uid | uid |
| cid | cid |
| reporter-id | reporter-id |
| gsid | gsid |
| last-editor-uid | last-editor-uid |
| assigned-uid | assigned-uid |
| status-resolution | status, resolution |
| created | created |
| edited | edited |
Foreign Keys
------------
@ -37,5 +49,8 @@ Foreign Keys
| uid | [user](help/database/db_user) | uid |
| reporter-id | [contact](help/database/db_contact) | id |
| cid | [contact](help/database/db_contact) | id |
| gsid | [gserver](help/database/db_gserver) | id |
| last-editor-uid | [user](help/database/db_user) | uid |
| assigned-uid | [user](help/database/db_user) | uid |
Return to [database documentation](help/database)

View File

@ -6,28 +6,29 @@ User specific public contact data
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ------------------------- | ------------------------------------------------------------ | ------------------ | ---- | --- | ------- | ----- |
| cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | |
| uid | User id | mediumint unsigned | NO | PRI | 0 | |
| uri-id | Id of the item-uri table entry that contains the contact url | int unsigned | YES | | NULL | |
| blocked | Contact is completely blocked for this user | boolean | YES | | NULL | |
| ignored | Posts from this contact are ignored | boolean | YES | | NULL | |
| collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | |
| hidden | This contact is hidden from the others | boolean | YES | | NULL | |
| is-blocked | User is blocked by this contact | boolean | YES | | NULL | |
| pending | | boolean | YES | | NULL | |
| rel | The kind of the relation between the user and the contact | tinyint unsigned | YES | | NULL | |
| info | | mediumtext | YES | | NULL | |
| notify_new_posts | | boolean | YES | | NULL | |
| remote_self | | boolean | YES | | NULL | |
| fetch_further_information | | tinyint unsigned | YES | | NULL | |
| ffi_keyword_denylist | | text | YES | | NULL | |
| subhub | | boolean | YES | | NULL | |
| hub-verify | | varbinary(383) | YES | | NULL | |
| protocol | Protocol of the contact | char(4) | YES | | NULL | |
| rating | Automatically detected feed poll frequency | tinyint | YES | | NULL | |
| priority | Feed poll priority | tinyint unsigned | YES | | NULL | |
| Field | Description | Type | Null | Key | Default | Extra |
| ------------------------- | ----------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
| cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | |
| uid | User id | mediumint unsigned | NO | PRI | 0 | |
| uri-id | Id of the item-uri table entry that contains the contact url | int unsigned | YES | | NULL | |
| blocked | Contact is completely blocked for this user | boolean | YES | | NULL | |
| ignored | Posts from this contact are ignored | boolean | YES | | NULL | |
| collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | |
| hidden | This contact is hidden from the others | boolean | YES | | NULL | |
| is-blocked | User is blocked by this contact | boolean | YES | | NULL | |
| channel-frequency | Controls the frequency of the appearance of this contact in channels | tinyint unsigned | YES | | NULL | |
| pending | | boolean | YES | | NULL | |
| rel | The kind of the relation between the user and the contact | tinyint unsigned | YES | | NULL | |
| info | | mediumtext | YES | | NULL | |
| notify_new_posts | | boolean | YES | | NULL | |
| remote_self | 0 => No mirroring, 1-2 => Mirror as own post, 3 => Mirror as reshare | tinyint unsigned | YES | | NULL | |
| fetch_further_information | 0 => None, 1 => Fetch information, 3 => Fetch keywords, 2 => Fetch both | tinyint unsigned | YES | | NULL | |
| ffi_keyword_denylist | | text | YES | | NULL | |
| subhub | | boolean | YES | | NULL | |
| hub-verify | | varbinary(383) | YES | | NULL | |
| protocol | Protocol of the contact | char(4) | YES | | NULL | |
| rating | Automatically detected feed poll frequency | tinyint | YES | | NULL | |
| priority | Feed poll priority | tinyint unsigned | YES | | NULL | |
Indexes
------------

View File

@ -0,0 +1,31 @@
Table user-gserver
===========
User settings about remote servers
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ------- | ---------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
| uid | Owner User id | mediumint unsigned | NO | PRI | 0 | |
| gsid | Gserver id | int unsigned | NO | PRI | 0 | |
| ignored | server accounts are ignored for the user | boolean | NO | | 0 | |
Indexes
------------
| Name | Fields |
| ------- | --------- |
| PRIMARY | uid, gsid |
| gsid | gsid |
Foreign Keys
------------
| Field | Target Table | Target Field |
|-------|--------------|--------------|
| uid | [user](help/database/db_user) | uid |
| gsid | [gserver](help/database/db_gserver) | id |
Return to [database documentation](help/database)

View File

@ -34,8 +34,6 @@ Fields
| blockwall | Prohibit contacts to post to the profile page of the user | boolean | NO | | 0 | |
| hidewall | Hide profile details from unknown viewers | boolean | NO | | 0 | |
| blocktags | Prohibit contacts to tag the post of this user | boolean | NO | | 0 | |
| unkmail | Permit unknown people to send private mails to this user | boolean | NO | | 0 | |
| cntunkmail | | int unsigned | NO | | 10 | |
| notify-flags | email notification options | smallint unsigned | NO | | 65535 | |
| page-flags | page/profile type | tinyint unsigned | NO | | 0 | |
| account-type | | tinyint unsigned | NO | | 0 | |

View File

@ -9,14 +9,14 @@ Account - Basics
Viele, aber nicht alle Friendica-Knoten (Server) bieten die Möglichkeit zur Registrierung an.
Falls der Friendica-Knoten, den Du besuchst, keine Registrierung anbietet, oder Du glaubst, dass Dir ein anderer Knoten möglicherweise besser gefällt, dann findest Du hier eine [Liste von öffentlichen Friendica-Knoten](https://dir.friendica.social/servers), aus der Du Dir eine netten Knoten heraussuchen kannst.
Auf der Startseite des Knotens wird unter dem Login-Feld ein "Registrieren"-Link angezeigt.
Dieser Link führt dann direkt auf das Registrierungsformular.
Auf der Startseite des Knotens wird unter dem Login-Feld ein "Registrieren"-Link angezeigt.
Dieser Link führt dann direkt auf das Registrierungsformular.
### OpenID
Falls du keine [OpenID-Adresse](https://de.wikipedia.org/wiki/OpenID">OpenID-Adresse) hast, kannst du diesen Punkt ignorieren.
Solltest du eine OpenID Adresse haben, kannst Du sie im ersten Feld eintragen und "Registrieren" klicken.
Solltest du eine OpenID Adresse haben, kannst Du sie im ersten Feld eintragen und "Registrieren" klicken.
Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen.
@ -33,55 +33,55 @@ Bitte trage eine richtige Email-Adresse ein.
Dies ist die einzige persönliche Information, die korrekt sein muss.
Deine Email-Adresse wird **niemals** veröffentlicht.
Wir benötigen diese, um Dir Account-Informationen, das Initialpasswort und die Login-Daten zu schicken. Oder z.B. Dein Passwort zurückzusetzen.
Wir benötigen diese, um Dir Account-Informationen, das Initialpasswort und die Login-Daten zu schicken. Oder z.B. Dein Passwort zurückzusetzen.
Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen.
Diese Nachrichten sind in den Einstellungen jederzeit an- oder abschaltbar.
### Spitzname/Nickname
Der Spitzname wird benötigt, um eine Webadresse (Profiladresse) für viele Deiner persönlichen Seiten zu erstellen.
Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll.
Durch die Art, wie der Spitzname genutzt wird, gibt es bestimmte Einschränkungen:
Der Spitzname wird benötigt, um eine Webadresse (Profiladresse) für viele Deiner persönlichen Seiten zu erstellen.
Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll.
Durch die Art, wie der Spitzname genutzt wird, gibt es bestimmte Einschränkungen:
* **er muss mit einem Buchstaben beginnen**
* **er darf nur US-ASCII-Textzeichen und Nummern enthalten**
* **er muss einzigartig auf diesem Friendica-Knoten sein**
* **er kann später nicht mehr geändert werden**
Dieser Spitzname wird an vielen Stellen genutzt, um Deinen Account zu identifizieren, daher ist es nicht möglich ihn später zu ändern.
Dieser Spitzname wird an vielen Stellen genutzt, um Deinen Account zu identifizieren, daher ist es nicht möglich ihn später zu ändern.
### Verzeichnis-Eintrag
Das Registrierungsformular erlaubt es dir, direkt auszuwählen, ob Du im [Onlineverzeichnis](https://dir.friendica.social/) (Friendica Directory) aufgelistet wirst oder nicht.
Das ist wie ein Telefonbuch und Du entscheidest, ob du darin eingetragen werden möchtest, oder nicht.
Das Registrierungsformular erlaubt es dir, direkt auszuwählen, ob Du im [Onlineverzeichnis](https://dir.friendica.social/) (Friendica Directory) aufgelistet wirst oder nicht.
Das ist wie ein Telefonbuch und Du entscheidest, ob du darin eingetragen werden möchtest, oder nicht.
* Wir bitten dich, "Ja" zu wählen, damit Andere Dich finden können, so wie Du sie finden kannst
* Wählst Du "Nein", bist Du für Andere *nicht einfach auffindbar*
* Wählst Du "Nein", bist Du für Andere *nicht einfach auffindbar*
Was auch immer Du wählst, kann jederzeit nach dem Login in Deinen Account-Einstellungen geändert werden.
### Registrierung
Sobald Du die nötigen Informationen eingegeben hast, klicke auf "Registrieren".
Eine Email mit den Registrierungsdetails und Deinem Initialpasswort wird an die hinterlegte Email-Adresse geschickt.
Sobald Du die nötigen Informationen eingegeben hast, klicke auf "Registrieren".
Eine Email mit den Registrierungsdetails und Deinem Initialpasswort wird an die hinterlegte Email-Adresse geschickt.
Bitte prüfe den Posteingang (inkl. dem Spam-Ordner).
## Login-Seite
Gib auf der "Login"-Seite die Informationen ein, die Du mit der oben genannten Email erhalten hast.
Gib auf der "Login"-Seite die Informationen ein, die Du mit der oben genannten Email erhalten hast.
Du kannst entweder Deinen Spitznamen oder die Email-Adresse als Login-Namen nutzen.
Wenn Du Deinen Account nutzt, um unterschiedliche '[Seiten](help/Pages)' zu verwalten, die die gleiche Email-Adresse verwenden, dann nutze bitte den Spitznamen des Accounts, der verwaltet werden soll.
*Wenn* Dein Account OpenID nutzt, dann kannst Du Deine OpenID-Adresse als Login-Name nutzen und das Passwort-Feld frei lassen.
Du wirst zu Deinem OpenID-Anbieter weitergeleitet, wo Du Deine Anmeldung abschließt.
*Wenn* Dein Account OpenID nutzt, dann kannst Du Deine OpenID-Adresse als Login-Name nutzen und das Passwort-Feld frei lassen.
Du wirst zu Deinem OpenID-Anbieter weitergeleitet, wo Du Deine Anmeldung abschließt.
Wenn Du OpenID nicht nutzt, dann gib Dein Passwort ein, das Du mit der Registrierungsmail erhalten hast.
Das Passwort muss genau so geschrieben werden, wie es in der Email steht; Groß- und Kleinschreibung wird beachtet.
Wenn Du OpenID nicht nutzt, dann gib Dein Passwort ein, das Du mit der Registrierungsmail erhalten hast.
Das Passwort muss genau so geschrieben werden, wie es in der Email steht; Groß- und Kleinschreibung wird beachtet.
Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststelltaste aktiv ist.
@ -90,7 +90,7 @@ Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststell
Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst.
## Die ersten Schritte
## Die ersten Schritte
### Persönliche Daten exportieren
@ -98,9 +98,9 @@ Du solltest dir als erstes Deinen neu erstellen [Account exportieren](uexport) u
In diesem Export (JSON-Datei) sind enthalten
* Deine Identität, die mit kryptographischen Schlüsseln ausgestattet ist
* Deine Kontakte
* Deine Kontakte
Dies ist z.B. dann nützlich wenn du mit deinem Account auf einen anderen Friendica Knoten umziehen willst, oder musst.
Dies ist z.B. dann nützlich wenn du mit deinem Account auf einen anderen Friendica Knoten umziehen willst, oder musst.
### Hilfe für Neulinge
@ -109,7 +109,7 @@ Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beide
## Schau Dir ebenfalls folgende Seiten an
* [Gruppen und Privatssphäre](help/Groups-and-Privacy)
* [Circles und Privatssphäre](help/Circles-and-Privacy)
* [Account löschen](help/Remove-Account)

View File

@ -103,6 +103,15 @@ Derzeitige Hooks
$b ist das Item-Array einer Information, die in der Datenbank und im Item gespeichert ist.
{Bitte beachte: der Seiteninhalt ist bbcode - nicht HTML)
**'detect_languages'**
Wird nach der Sprachenerkennung aufgerufen.
Dieser Hook kann dafür verwendet werden, alternative Erkennungsfunktionen einzubinden.
`$data` ist ein Array:
'text' => Der analysierte Text.
'detected' => (Eingabe/Ausgabe) Das Array mit den erkannten Sprachen. Der Sprachcode ist der Array-Schlüssel, der Array-Wert ist der dezimale Wert für die Wahrscheinlichkeit.
'uri-id' => Die Uri-Id des Beitrags
'author-id' => Die Contact-id des Autors.
**'addon_settings'** - wird aufgerufen, wenn die HTML-Ausgabe der Addon-Einstellungsseite generiert wird.
$b ist die HTML-Ausgabe (String) der Addon-Einstellungsseite vor dem finalen "</form>"-Tag.
@ -316,6 +325,7 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
### src/Model/Item.php
Hook::callAll('detect_languages', $item);
Hook::callAll('post_local', $item);
Hook::callAll('post_remote', $item);
Hook::callAll('post_local_end', $posted_item);

View File

@ -356,8 +356,8 @@ Zeilen</code></td>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/ul]<br>
[list]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listbullet" style="list-style-type: circle;">
@ -368,12 +368,12 @@ Zeilen</code></td>
</tr>
<tr>
<td>[ol]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/ol]<br>
[list=1]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listdecimal" style="list-style-type: decimal;">
@ -384,8 +384,8 @@ Zeilen</code></td>
</tr>
<tr>
<td>[list=]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listnone" style="list-style-type: none;">
@ -396,8 +396,8 @@ Zeilen</code></td>
</tr>
<tr>
<td>[list=i]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listlowerroman" style="list-style-type: lower-roman;">
@ -408,8 +408,8 @@ Zeilen</code></td>
</tr>
<tr>
<td>[list=I]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listupperroman" style="list-style-type: upper-roman;">
@ -420,8 +420,8 @@ Zeilen</code></td>
</tr>
<tr>
<td>[list=a]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listloweralpha" style="list-style-type: lower-alpha;">
@ -432,8 +432,8 @@ Zeilen</code></td>
</tr>
<tr>
<td>[list=A]<br>
&nbsp;&nbsp;[*] Erstes Listenelement<br>
&nbsp;&nbsp;[*] Zweites Listenelement<br>
&nbsp;&nbsp;[li] Erstes Listenelement<br>
&nbsp;&nbsp;[li] Zweites Listenelement<br>
[/list]</td>
<td>
<ul class="listupperalpha" style="list-style-type: upper-alpha;">

View File

@ -1,112 +1,112 @@
Gruppen und Privatsphäre
Circles und Privatsphäre
==================
* [Zur Startseite der Hilfe](help)
Gruppen sind nur eine Ansammlung von Freunden.
Circles sind nur eine Ansammlung von Freunden.
Aber Friendica nutzt diese, um sehr mächtige Features zur Verfügung zu stellen.
**Gruppen erstellen**
**Circles erstellen**
Um eine Gruppe zu erstellen, besuche deine "Kontakte"-Seite und wähle "Neue Gruppe erstellen" (je nach Design nur als Pluszeichen angezeigt).
Gib deiner Gruppe einen Namen.
Um eine Circle zu erstellen, besuche deine "Kontakte"-Seite und wähle "Neue Circle erstellen" (je nach Design nur als Pluszeichen angezeigt).
Gib deiner Circle einen Namen.
Das führt dich zu einer Seite, auf der du die Gruppenmitglieder auswählen kannst.
Das führt dich zu einer Seite, auf der du die Gruppenmitglieder auswählen kannst.
Du hast zwei Boxen auf der Seite.
Die obere Box ist die Übersicht der aktuellen Mitglieder.
Die untere beinhaltet alle Freunde, die *nicht* Mitglied dieser Gruppe sind.
Du hast zwei Boxen auf der Seite.
Die obere Box ist die Übersicht der aktuellen Mitglieder.
Die untere beinhaltet alle Freunde, die *nicht* Mitglied dieser Circle sind.
Wenn du auf das Foto einer Person klickst, die nicht in der Gruppe ist, wird diese in die Gruppe verschoben.
Wenn du auf das Foto einer Person klickst, die bereits in der Gruppe ist, dann wird diese Person daraus entfernt.
Wenn du auf das Foto einer Person klickst, die nicht in der Circle ist, wird diese in die Circle verschoben.
Wenn du auf das Foto einer Person klickst, die bereits in der Circle ist, dann wird diese Person daraus entfernt.
**Zugriffskontrolle**
Sobald du eine Gruppe erstellt hast, kannst du diese auf jeder Zugriffsrechteliste nutzen.
Damit ist das kleine Schloss neben deinem Statuseditor auf deiner Startseite gemeint.
Wenn du darauf klickst, kannst du auswählen, wer deinen Beitrag sehen kann und wer *nicht*.
Dabei kann es sich um eine einzelne Person oder eine ganze Gruppe handeln.
Sobald du eine Circle erstellt hast, kannst du diese auf jeder Zugriffsrechteliste nutzen.
Damit ist das kleine Schloss neben deinem Statuseditor auf deiner Startseite gemeint.
Wenn du darauf klickst, kannst du auswählen, wer deinen Beitrag sehen kann und wer *nicht*.
Dabei kann es sich um eine einzelne Person oder eine ganze Circle handeln.
Auf deiner "Netzwerk"-Seite ("Unterhaltungen deiner Kontakte") findest du Beiträge und Gespräche aller deiner Kontakte in deinem Netzwerk.
Du kannst aber auch eine einzelne Gruppe auswählen und nur Beiträge dieser Gruppenmitglieder anzeigen lassen.
Auf deiner "Netzwerk"-Seite ("Unterhaltungen deiner Kontakte") findest du Beiträge und Gespräche aller deiner Kontakte in deinem Netzwerk.
Du kannst aber auch eine einzelne Circle auswählen und nur Beiträge dieser Gruppenmitglieder anzeigen lassen.
Aber stopp, es gibt noch mehr...
Wenn du auf deiner "Netzwerk"-Seite eine bestimmte Gruppe ausgewählt hast, dann findest du im Statuseditor neben dem Schloss ein Ausrufezeichen.
Dies dient dazu, deine Aufmerksamkeit auf das Schloss zu richten.
Klicke auf das Schloss.
Dort siehst du, dass dein Status-Update in dieser Ansicht standardmäßig nur für diese Gruppe freigegeben ist.
Das hilft dir, deinen zukünftigen Mitarbeitern nicht das Gleiche zu schreiben wie deinen Trinkfreunden.
Du kannst diese Einstellung natürlich auch überschreiben.
Wenn du auf deiner "Netzwerk"-Seite eine bestimmte Circle ausgewählt hast, dann findest du im Statuseditor neben dem Schloss ein Ausrufezeichen.
Dies dient dazu, deine Aufmerksamkeit auf das Schloss zu richten.
Klicke auf das Schloss.
Dort siehst du, dass dein Status-Update in dieser Ansicht standardmäßig nur für diese Circle freigegeben ist.
Das hilft dir, deinen zukünftigen Mitarbeitern nicht das Gleiche zu schreiben wie deinen Trinkfreunden.
Du kannst diese Einstellung natürlich auch überschreiben.
**Standardmäßige Zugriffsrechte von Beiträgen**
Standardmäßig geht Friendica davon aus, dass alle deine Beiträge privat sein sollen.
Aus diesem Grund erstellt Friendica nach der Anmeldung eine Gruppe, in die automatisch alle deine Kontakte hinzugefügt werden.
Alle deine Beiträge sind nur auf diese Gruppe beschränkt.
Standardmäßig geht Friendica davon aus, dass alle deine Beiträge privat sein sollen.
Aus diesem Grund erstellt Friendica nach der Anmeldung eine Circle, in die automatisch alle deine Kontakte hinzugefügt werden.
Alle deine Beiträge sind nur auf diese Circle beschränkt.
Beachte, dass diese Einstellung von deinem Seiten-Administrator überschrieben werden kann, was bedeutet, dass alle deine Beiträge standardmäßig "öffentlich" sind (bspw. für das gesamte Internet).
Wenn du deine Beiträge standardmäßig "öffentlich" haben willst, dann kannst du deine Standardzugriffsrechte auf deiner Einstellungseite ändern.
Dort kannst du außerdem festlegen, welchen Gruppen standardmäßig deine Beiträge erhalten oder in welche Gruppe deine neuen Kontakte standardmäßig eingeordnet werden.
Wenn du deine Beiträge standardmäßig "öffentlich" haben willst, dann kannst du deine Standardzugriffsrechte auf deiner Einstellungseite ändern.
Dort kannst du außerdem festlegen, welchen Circles standardmäßig deine Beiträge erhalten oder in welche Circle deine neuen Kontakte standardmäßig eingeordnet werden.
**Fragen der Privatssphäre, die zu beachten sind**
Diese privaten Gespräche funktionieren am besten, wenn deine Freunde Friendica-Mitglieder sind.
Diese privaten Gespräche funktionieren am besten, wenn deine Freunde Friendica-Mitglieder sind.
So wissen wir, wer sonst noch deine Gespräche sehen kann - niemand, *solange* deine Freunde deine Nachrichten nicht kopieren und an andere verschicken.
Dies ist eine Vertrauensfrage, die du beachten musst.
Keine Software der Welt kann deine Freunde davon abhalten, die privaten Unterhaltungen zu veröffentlichen.
Nur eine gute Auswahl deiner Freunde.
Dies ist eine Vertrauensfrage, die du beachten musst.
Keine Software der Welt kann deine Freunde davon abhalten, die privaten Unterhaltungen zu veröffentlichen.
Nur eine gute Auswahl deiner Freunde.
Bei GNu Social und anderen Netzwerk-Anbietern ist es nicht so gesichert.
Du musst **sehr** vorsichtig sein, wenn du Mitglieder anderer Netzwerke in einer deiner Gruppen hast, da es möglich ist, dass deine privaten Nachrichten in einem öffentlichen Stream enden.
Bei GNu Social und anderen Netzwerk-Anbietern ist es nicht so gesichert.
Du musst **sehr** vorsichtig sein, wenn du Mitglieder anderer Netzwerke in einer deiner Circles hast, da es möglich ist, dass deine privaten Nachrichten in einem öffentlichen Stream enden.
Wenn du auf die "Kontakt bearbeiten"-Seite einer Person gehst, zeigen wir dir, ob sie Mitglied eines unsicheren Netzwerks ist oder nicht.
Sobald du einen Post erstellt hast, kannst du die Zugriffsrechte nicht mehr ändern.
Innerhalb von Sekunden ist dieser an viele verschiedene Personen verschickt worden - möglicherweise bereits an alle Addressierten.
Wenn du versehentlich eine Nachricht erstellt hast und sie zurücknehmen willst, dann ist es das beste, diese zu löschen.
Wir senden eine Löschmitteilung an jeden, der deine Nachricht erhalten hat - und das sollte die Nachricht genauso schnell löschen, wie sie zunächst erstellt wurde.
In vielen Fällen wird sie in weniger als einer Minute aus dem Internet gelöscht.
Nochmals: das gilt für Friendica-Netzwerke.
Sobald du einen Post erstellt hast, kannst du die Zugriffsrechte nicht mehr ändern.
Innerhalb von Sekunden ist dieser an viele verschiedene Personen verschickt worden - möglicherweise bereits an alle Addressierten.
Wenn du versehentlich eine Nachricht erstellt hast und sie zurücknehmen willst, dann ist es das beste, diese zu löschen.
Wir senden eine Löschmitteilung an jeden, der deine Nachricht erhalten hat - und das sollte die Nachricht genauso schnell löschen, wie sie zunächst erstellt wurde.
In vielen Fällen wird sie in weniger als einer Minute aus dem Internet gelöscht.
Nochmals: das gilt für Friendica-Netzwerke.
Sobald eine Nachricht an ein anderes Netzwerk geschickt wurde, kann es nicht mehr so schnell gelöscht werden und in manchen Fällen auch gar nicht mehr.
Wenn du das bisher noch nicht wusstest, dann empfehlen wir dir, deine Freunde dazu zu ermutigen, auch Friendica zu nutzen, da alle diese Privatsphären-Einstellungen innerhalb eines privatsphärenbewussten Netzwerk viel besser funktionieren.
Wenn du das bisher noch nicht wusstest, dann empfehlen wir dir, deine Freunde dazu zu ermutigen, auch Friendica zu nutzen, da alle diese Privatsphären-Einstellungen innerhalb eines privatsphärenbewussten Netzwerk viel besser funktionieren.
Viele andere Netzwerke, mit denen sich Friendica verbinden kann, bieten keine Kontrolle über die Privatsphäre.
Profile, Fotos und die Privatsphäre
=============================
Die dezentralisierte Natur von Friendica (statt eine Webseite zu haben, die alles kontrolliert, gibt es viele Webseiten, die Information austauschen) hat in der Kommunikation mit anderen Seiten einige Konsequenzen.
Die dezentralisierte Natur von Friendica (statt eine Webseite zu haben, die alles kontrolliert, gibt es viele Webseiten, die Information austauschen) hat in der Kommunikation mit anderen Seiten einige Konsequenzen.
Du solltest dir über einige Dinge bewusst sein, um am besten entscheiden zu können, wie du mit deiner Privatsphäre umgehst.
**Fotos**
Fotos privat zu verteilen ist ein Problem.
Wir können Fotos nur mit Friendica-Nutzern __privat__ austauschen.
Um mit anderen Leuten Fotos zu teilen, müssen wir erkennen, wer sie sind.
Wir können die Identität von Friendica-Nutzern prüfen, da es hierfür einen Mechanismus gibt.
Deine Freunde anderer Netzwerke werden deine privaten Fotos nicht sehen können, da wir deren Identität nicht überprüfen können.
Fotos privat zu verteilen ist ein Problem.
Wir können Fotos nur mit Friendica-Nutzern __privat__ austauschen.
Um mit anderen Leuten Fotos zu teilen, müssen wir erkennen, wer sie sind.
Wir können die Identität von Friendica-Nutzern prüfen, da es hierfür einen Mechanismus gibt.
Deine Freunde anderer Netzwerke werden deine privaten Fotos nicht sehen können, da wir deren Identität nicht überprüfen können.
Unsere Entwickler arbeiten an einer Lösung, um deinen Freunden den Zugriff zu ermöglichen - unabhängig, zu welchem Netzwerk sie gehören.
Unsere Entwickler arbeiten an einer Lösung, um deinen Freunden den Zugriff zu ermöglichen - unabhängig, zu welchem Netzwerk sie gehören.
Wir nehmen hingegen Privatsphäre ernst und agieren nicht wie andere Netzwerke, die __nur so tun__ als ob deine Fotos privat sind, sie aber trotzdem anderen ohne Identitätsprüfung zeigen.
**Profile**
Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können.
Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren.
Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können.
Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren.
Das kann möglicherweise ungewollte Ergebnisse produzieren, wenn du lange Statusbeiträge z.B. für Twitter oder Facebook schreibst.
Wenn Friendica einen Beitrag an diese Netzwerke schickt und nur eine bestimmte Nachrichtenlänge erlaubt ist, dann verkürzen wir diesen und erstellen einen Link, der zum Originalbeitrag führt.
Der Originallink führt zurück zu deinem Friendica-Profil.
Das kann möglicherweise ungewollte Ergebnisse produzieren, wenn du lange Statusbeiträge z.B. für Twitter oder Facebook schreibst.
Wenn Friendica einen Beitrag an diese Netzwerke schickt und nur eine bestimmte Nachrichtenlänge erlaubt ist, dann verkürzen wir diesen und erstellen einen Link, der zum Originalbeitrag führt.
Der Originallink führt zurück zu deinem Friendica-Profil.
Da Friendica nicht bestätigen kann, um wen es sich handelt, kann es passieren, dass diese Leute den Beitrag nicht komplett lesen können.
Für Leute, die davon betroffen sind, schlagen wir vor, eine Zusammenfassung in Twitter-Länge zu erstellen mit mehr Details für Freunde, die den ganzen Beitrag sehen können.
Für Leute, die davon betroffen sind, schlagen wir vor, eine Zusammenfassung in Twitter-Länge zu erstellen mit mehr Details für Freunde, die den ganzen Beitrag sehen können.
Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit GNU Social-Nutzern.
Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden.
Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen.
Wenn wir das erlauben, würde es dazu führen, das absolut jeder deine Beiträge sehen.
Und du hast Friendica so eingestellt, das nicht zuzulassen.
Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit GNU Social-Nutzern.
Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden.
Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen.
Wenn wir das erlauben, würde es dazu führen, das absolut jeder deine Beiträge sehen.
Und du hast Friendica so eingestellt, das nicht zuzulassen.
Beachte also, dass das Blockieren von unbekannten Besuchern auch dazu führen kann, dass öffentliche Netzwerke (wie GNU Social) und Newsfeed-Reader auch geblockt werden.

View File

@ -45,7 +45,7 @@ Die aufgelisteten Adressen werden wie folgt durch Kommas voneinander getrennt:
'admin_email' => 'mail1@example.com,mail2@example.com',
```
<a name="dbupdate">
<a name="dbupdate"></a>
### Die Datenbank Struktur schein nicht aktuell zu sein. Was kann ich tun?
Rufe bitte im Admin Panel den Punkt [DB Updates](/admin/dbsync/) auf und folge dem Link *Datenbank Struktur überprüfen*.
@ -56,4 +56,4 @@ Starte dazu bitte vom Grundverzeichnis deiner Friendica Instanz folgendes Komman
bin/console dbstructure update
sollten bei der Ausführung Fehler auftreten, kontaktiere bitte das [Support Forum](https://forum.friendi.ca/profile/helpers).
sollten bei der Ausführung Fehler auftreten, kontaktiere bitte die [Friendia Support](https://forum.friendi.ca/profile/helpers) Gruppe oder die [Friendica Admins](https://forum.friendi.ca/profile/admins) Gruppe.

View File

@ -23,7 +23,7 @@ Wenn Du Deinen Account nicht nutzen kannst, kannst Du einen Account auf einer ö
Wenn du dir keinen weiteren Friendica Account einrichten willst, kannst du auch gerne über einen der folgenden alternativen Kanäle Hilfe suchen:
* Friendica Support Forum: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Friendica Support Gruppe: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Chats der Friendica Community (die IRC, Matrix und XMPP Räume sind mit einer Brücke verbunden) Logs dieser öffentlichen Chaträume können [hier aus dem IRC](https://gnusociarg.nsupdate.info/2021/%23friendica/) und [hier aus der Matrix](https://view.matrix.org/alias/%23friendi.ca:matrix.org/) gefunden werden.
* XMPP: support(at)forum.friendi.ca
* IRC: #friendica auf [libera.chat](https://web.libera.chat/?channels=#friendica)
@ -108,7 +108,7 @@ Zwischen der URL und dem Parameter muss ein Fragezeichen als Trennzeichen verwen
Ein Beispiel:
https://social.example.com/profile/example
https://social.example.com/profile/example
auf Deutsch:

View File

@ -1,63 +0,0 @@
Foren
=====
* [Zur Startseite der Hilfe](help)
In Friendica kannst Du auch Foren und/oder Prominenten-Seiten erstellen.
Jede Seite in Friendica hat einen einmaligen Spitznamen.
Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseiten handelt.
Das Erste, was Du machen musst, um ein neues Forum zu kreieren, ist einen neuen Account zu erstellen.
Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann.
Wenn Du einen zweiten Account in einem System erstellst und die gleiche Email-Adresse oder den gleichen OpenID-Account nutzt, kannst Du Dich zukünftig nur noch mit Deinem Spitznamen anmelden.
Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen".
Normalerweise nutzt Du "Normales Konto" für einen normalen, persönlichen Account.
Das ist die Standardeinstellung.
Gruppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen.
Die Auswahl der Einstellung, die Du wählst, hängt davon ab, wie Du mit anderen Leuten auf Deiner Seite interagieren willst.
Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren.
Alles was Du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren.
Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt.
Die normalste Einstellung ist das "Forum-/Promi-Konto".
Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können.
Der "Automatische Freunde Seite"-Account ist typischerweise für persönliche Profile, bei denen Du alle Freundschaftsanfragen automatisch bestätigen willst.
**Multiple Foren verwalten**
Wir schlagen vor, dass Du ein Gruppenforum mit der gleichen Email-Adresse und dem gleichen Passwort wie bei Deinem normalen Account nutzt.
Wenn Du das machst, findest Du einen neuen "Verwalten"-Link in der Menüleiste, über den Du einfach zwischen den Identitäten wechseln kannst.
Du musst das nicht machen, die Alternative ist allerdings, Dich immer wieder aus- und wieder einzuloggen.
Und das kann umständlich sein, wenn Du mehrere verschiedene Foren/Identitäten verwaltest.
Du kannst ebenso jemanden wählen, der Dein Forum verwaltet.
Mach das, indem Du die [Delegations-Setup-Seite](/settings/delegation) besuchst.
Dort wird Dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt.
Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, Dein Forum zu verwalten.
Sie können Kontakte, Profile und alle Inhalte Deines Accounts/deiner Seite bearbeiten.
Bitte nutze diese Einstellung mit Vorsicht.
Delegierte haben allerdings keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen.
**Beiträge auf Community-Foren**
Wenn Du Mitglied eines Community-Forums bist, kannst Du das Forum in einem Beitrag hinzufügen/erwähnen, wenn Du den @-Tag nutzt.
Zum Beispiel würde @Fahrrad Deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind.
Wenn Dein Beitrag privat ist, musst Du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit dem @-Tag erwähnen (was den Beitrag auf die Gruppenmitglieder erweitert).
Zusätzlich ist es möglich, Foren mit dem Ausrufezeichen zu adressieren.
Im obigen Beispiel bedeutet dies, dass Du das Fahrrad-Forum per !Fahrrad erreichen würdest.
Der Unterschied zum @ besteht darin, dass der Beitrag auschließlich über das Forum verbreitet wird und nicht an weitere Nutzer.
Dies bedeutet auch, dass es nicht sinnvoll ist, mehrere Foren per ! in einem Beitrag zu adressieren, da nur eines der Foren den Beitrag verbreiten wird.
Du kannst außerdem via "Wall zu Wall" einen Beitrag auf der Community-Seite bzw. in dem Community-Forum erstellen.
Kommentare, die Du an ein Community-Forum schickst, werden dem Originalbeitrag hinzugefügt.
Ein weiteres Forum mit dem @-Tag zu erwähnen, leitet den Beitrag nicht an dieses weiter, da die Verteilung der Kommentare komplett vom Originalbeitrag bestimmt wird.

63
doc/de/Groups.md Normal file
View File

@ -0,0 +1,63 @@
Gruppen
=====
* [Zur Startseite der Hilfe](help)
In Friendica kannst Du auch Gruppen und/oder Prominenten-Seiten erstellen.
Jede Seite in Friendica hat einen einmaligen Spitznamen.
Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseiten handelt.
Das Erste, was Du machen musst, um eine neue Gruppe zu kreieren, ist einen neuen Account zu erstellen.
Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann.
Wenn Du einen zweiten Account in einem System erstellst und die gleiche Email-Adresse oder den gleichen OpenID-Account nutzt, kannst Du Dich zukünftig nur noch mit Deinem Spitznamen anmelden.
Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen".
Normalerweise nutzt Du "Normales Konto" für einen normalen, persönlichen Account.
Das ist die Standardeinstellung.
Gruppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen.
Die Auswahl der Einstellung, die Du wählst, hängt davon ab, wie Du mit anderen Leuten auf Deiner Seite interagieren willst.
Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren.
Alles was Du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren.
Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt.
Die normalste Einstellung ist das "Gruppe-/Promi-Konto".
Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können.
Der "Automatische Freunde Seite"-Account ist typischerweise für persönliche Profile, bei denen Du alle Freundschaftsanfragen automatisch bestätigen willst.
**Multiple Gruppen verwalten**
Wir schlagen vor, dass Du eine Gruppe mit der gleichen Email-Adresse und dem gleichen Passwort wie bei Deinem normalen Account nutzt.
Wenn Du das machst, findest Du einen neuen "Verwalten"-Link in der Menüleiste, über den Du einfach zwischen den Identitäten wechseln kannst.
Du musst das nicht machen, die Alternative ist allerdings, Dich immer wieder aus- und wieder einzuloggen.
Und das kann umständlich sein, wenn Du mehrere verschiedene Gruppen/Identitäten verwaltest.
Du kannst ebenso jemanden wählen, der Deine Gruppe verwaltet.
Mach das, indem Du die [Delegations-Setup-Seite](/settings/delegation) besuchst.
Dort wird Dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt.
Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, Deine Gruppe zu verwalten.
Sie können Kontakte, Profile und alle Inhalte Deines Accounts/deiner Seite bearbeiten.
Bitte nutze diese Einstellung mit Vorsicht.
Delegierte haben allerdings keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen.
**Beiträge auf Community-Gruppen**
Wenn Du Mitglied einer Community-Gruppen bist, kannst Du die Gruppe in einem Beitrag hinzufügen/erwähnen, wenn Du die @-Erwähnung nutzt.
Zum Beispiel würde @Fahrrad Deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind.
Wenn Dein Beitrag privat ist, musst Du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit der @-Erwähnung ansprechen (was den Beitrag auf die Gruppenmitglieder erweitert).
Zusätzlich ist es möglich, Gruppen mit einem Ausrufezeichen zu adressieren.
Im obigen Beispiel bedeutet dies, dass Du das Fahrrad-Gruppe per !Fahrrad erreichen würdest.
Der Unterschied zum @ besteht darin, dass der Beitrag auschließlich über die Gruppe verbreitet wird und nicht an weitere Nutzer.
Dies bedeutet auch, dass es nicht sinnvoll ist, mehrere Gruppen per ! in einem Beitrag zu adressieren, da nur eine der Gruppen den Beitrag verbreiten wird.
Du kannst außerdem via "Wall zu Wall" einen Beitrag auf der Community-Seite bzw. in der Community-Gruppe erstellen.
Kommentare, die Du an eine Community-Gruppe schickst, werden dem Originalbeitrag hinzugefügt.
Eine weitere Gruppe mit dem @-Erwähnung anzusprechen, leitet den Beitrag nicht an dieses weiter, da die Verteilung der Kommentare komplett vom Originalbeitrag bestimmt wird.

View File

@ -14,9 +14,10 @@ Friendica - Dokumentation und Ressourcen
* Du und andere Nutzer
* [Konnektoren (Connectors)](help/Connectors)
* [Freunde finden](help/Making-Friends)
* [Gruppen und Privatsphäre](help/Groups-and-Privacy)
* [Circles und Privatsphäre](help/Circles-and-Privacy)
* [Tags und Erwähnungen](help/Tags-and-Mentions)
* [Community-Foren](help/Forums)
* [Community-Gruppen](help/Groups)
* [Channels](help/Channels)
* [Chats](help/Chats)
* Weiterführende Informationen
* [Account umziehen](help/Move-Account)
@ -63,7 +64,7 @@ Friendica - Dokumentation und Ressourcen
* [Haupt-Webseite](https://friendi.ca)
* Support Kanäle
* Friendica Support Forum: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* Friendica Support Gruppe: [@helpers@forum.friendi.ca](https://forum.friendi.ca/~helpers)
* [Mailing Listen Archiv](http://mailman.friendi.ca/mailman/listinfo/support-friendi.ca) zum Abonnieren der Liste eine E-Mail an ``support-request(at)friendi.ca?subject=subscribe`` senden
* Chats der Friendica Community (die IRC, Matrix und XMPP Räume sind mit einer Brücke verbunden) Logs dieser öffentlichen Chaträume können [hier aus dem IRC](https://gnusociarg.nsupdate.info/2021/%23frie) und [hier aus der Matrix](https://view.matrix.org/alias/%23friendi.ca:matrix.org/) gefunden werden.
* XMPP/Jabber MUC: support(at)forum.friendi.ca

View File

@ -12,7 +12,7 @@ Diese Funktionalität benötigt ein wenig mehr als die normalen Blogs.
Nicht jeder PHP/MySQL-Hosting-Anbieter kann Friendica unterstützen.
Viele hingegen können es. Aber **bitte** prüfe die Voraussetzungen deines Servers vor der Installation.
Wenn dir Fehler während der Installation auffallen, sag uns bitte über [Helper](http://forum.friendi.ca/profile/helpers) oder das [Entwickler Forum](https://forum.friendi.ca/profile/developers) Bescheid oder [erstelle ein Issue](https://github.com/friendica/friendica/issues).
Wenn dir Fehler während der Installation auffallen, sag uns bitte über [Helper](http://forum.friendi.ca/profile/helpers) oder die [Entwickler Gruppe](https://forum.friendi.ca/profile/developers) Bescheid oder [erstelle ein Issue](https://github.com/friendica/friendica/issues).
Gib uns bitte so viele Infos zu deinem System, wie du kannst, und beschreibe den Fehler mit allen Details und Fehlermeldungen, so dass wir den Fehler zukünftig verhindern können.
Aufgrund der großen Anzahl an verschiedenen Betriebssystemen und PHP-Plattformen haben wir nur geringe Kapazitäten, um deine PHP-Installation zu debuggen oder fehlende Module zu ersetzen, aber wir tun unser Bestes, um allgemeine Code-Fehler zu beheben.
@ -25,9 +25,9 @@ Requirements
---
* Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst
* PHP 7.3+ (PHP 8 wird noch nicht komplett unterstützt)
* PHP 7.4+
* PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei
* Curl, GD, GMP, PDO, MySQLi, xml, zip und OpenSSL-Erweiterung
* Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip, IntlChar and OpenSSL-Erweiterung
* Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
* Einen E-Mail Server, so dass PHP `mail()` funktioniert.
Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
@ -182,7 +182,7 @@ Sie werden stattdessen direkt in `config/local.config.php` gespeichert.
Gehe im Anschluss in den Friendica-Hauptordner und führe den Kommandozeilen Befehl aus:
bin/console autoinstall [--savedb]
#### B.3: Optionen
Alle Optionen werden in `config/local.config.php` gespeichert und überschreiben etwaige, zugehörige Umgebungsvariablen.

View File

@ -3,75 +3,75 @@ Freunde finden
* [Zur Startseite der Hilfe](help)
Freundschaft kann in Friendica viele verschiedene Bedeutungen annehmen.
Aber lasst es uns einfach halten, du willst einfach mit jemandem befreundet sein.
Freundschaft kann in Friendica viele verschiedene Bedeutungen annehmen.
Aber lasst es uns einfach halten, du willst einfach mit jemandem befreundet sein.
Wie machst du das?
Schau dir das Verzeichnis an.
Das Verzeichnis ist in zwei Teile aufgeteilt.
Wenn du auf den "Verzeichnis"-Button klickst, wirst du zunächst alle Mitglieder deines Servers sehen, die sich dazu entschlossen haben, angezeigt zu werden.
Außerdem siehst du dort einen Link zum globalen Verzeichnis.
Wenn du dich durch das globale Verzeichnis klickst, siehst du alle Nutzer weltweit auf allen Servern, die sich entschlossen haben, im Verzeichnis zu erscheinen.
Du wirst außerdem den Link "Show Community Forums" sehen, welcher dich zu Gruppen, Foren und Fan-Seiten führt.
Du verbindest dich mit Personen, Gruppen und Foren auf die gleiche Art, wobei Gruppen und Foren deine Anfrage automatisch annehmen, wohingegen ein Mensch dich erst manuell bestätigen muss.
Schau dir das Verzeichnis an.
Das Verzeichnis ist in zwei Teile aufgeteilt.
Wenn du auf den "Verzeichnis"-Button klickst, wirst du zunächst alle Mitglieder deines Servers sehen, die sich dazu entschlossen haben, angezeigt zu werden.
Außerdem siehst du dort einen Link zum globalen Verzeichnis.
Wenn du dich durch das globale Verzeichnis klickst, siehst du alle Nutzer weltweit auf allen Servern, die sich entschlossen haben, im Verzeichnis zu erscheinen.
Du wirst außerdem den Link "Show Community Groups" sehen, welcher dich zu Gruppen und Fan-Seiten führt.
Du verbindest dich mit Personen und Gruppen auf die gleiche Art, wobei Gruppen deine Anfrage automatisch annehmen, wohingegen ein Mensch dich erst manuell bestätigen muss.
*Mit anderen Friendica-Nutzern verbinden*
Besuche ihr Profil.
Direkt unter dem Profilfoto ist das Wort "Verbinden" (bzw. "Connect" in einem englischsprachigem Profil).
Klicke drauf und du gelangst zur "Verbinden"-Seite.
Dort wirst du nach deiner Identitätsadresse gefragt.
Besuche ihr Profil.
Direkt unter dem Profilfoto ist das Wort "Verbinden" (bzw. "Connect" in einem englischsprachigem Profil).
Klicke drauf und du gelangst zur "Verbinden"-Seite.
Dort wirst du nach deiner Identitätsadresse gefragt.
Das ist nötig, damit die Seite dein Profil finden kann.
*Was kommt in die Box?*
Wenn deine Friendica-Seite "demo.friendica.com" heißt und dein Nutzername/Spitzname auf der Seite "bob" ist, dann wäre es "bob@demo.friendica.com".
Wie du siehst, sieht es wie eine Email-Adresse aus.
Das ist beabsichtigt, da sich die Leute das so leichter merken können.
Wenn deine Friendica-Seite "demo.friendica.com" heißt und dein Nutzername/Spitzname auf der Seite "bob" ist, dann wäre es "bob@demo.friendica.com".
Wie du siehst, sieht es wie eine Email-Adresse aus.
Das ist beabsichtigt, da sich die Leute das so leichter merken können.
Du *kannst* auch die URL deiner Startseite eintragen, wie z.B. "http://demo.friendica.com/profile/bob", aber der Email-Adressen-Stil ist einfacher.
Wenn du die "Verbinden"-Seite bestätigt hast, kommst du zurück zu deiner Seite, um dort die Anfrage zu bestätigen.
Wenn du die "Verbinden"-Seite bestätigt hast, kommst du zurück zu deiner Seite, um dort die Anfrage zu bestätigen.
Wenn du das gemacht hast, können beide Seiten miteinander kommunizieren, um den Prozess abzuschließen (sobald dein neuer Freund die Anfrage bestätigt hat).
Wenn du bereits die Identitäts-Adresse einer Person kennst, kannst du diese auch direkt in das "Verbinden"-Feld auf deiner "Kontakte"-Seite eintragen.
Wenn du bereits die Identitäts-Adresse einer Person kennst, kannst du diese auch direkt in das "Verbinden"-Feld auf deiner "Kontakte"-Seite eintragen.
Dies wird dich durch einen ähnlichen Prozess leiten.
**Alternative Netzwerke**
Du kannst deine oder andere Identitäts-Adressen ebenfalls nutzen, um über verschiedene Netzwerke hinweg Freundschaften aufzubauen.
Die Liste möglicher Netzwerke steigt immer weiter.
Wenn du z.B. "bob" auf quitter.se (eine GNU Social-Seite) kennst, dann kannst du bob@quitter.se auf deiner "Kontakt"-Seite verbinden. (Oder du kannst die URL von Bobs quitter.se-Seite eintragen, wenn du es wünscht).
Tatsächlich kannst du jedem und jeder Website folgen, der/die einen Syndication-Feed (RSS/Atom etc.) zur Verfügung stellt.
Wenn wir einen Informationsstrom und einen Namen dazu finden, können wir auch versuchen, uns damit zu verbinden.
Du kannst deine oder andere Identitäts-Adressen ebenfalls nutzen, um über verschiedene Netzwerke hinweg Freundschaften aufzubauen.
Die Liste möglicher Netzwerke steigt immer weiter.
Wenn du z.B. "bob" auf quitter.se (eine GNU Social-Seite) kennst, dann kannst du bob@quitter.se auf deiner "Kontakt"-Seite verbinden. (Oder du kannst die URL von Bobs quitter.se-Seite eintragen, wenn du es wünscht).
Tatsächlich kannst du jedem und jeder Website folgen, der/die einen Syndication-Feed (RSS/Atom etc.) zur Verfügung stellt.
Wenn wir einen Informationsstrom und einen Namen dazu finden, können wir auch versuchen, uns damit zu verbinden.
Wenn du deine Email-Postfachverbindung auf deiner Einstellungsseite konfiguriert hast, dann kannst du die Email-Adresse jeder Person eintragen, die dir schon eine Nachricht an dein Postfach geschickt hat und bereits in deinem sozialen Stream erscheint.
Wenn du deine Email-Postfachverbindung auf deiner Einstellungsseite konfiguriert hast, dann kannst du die Email-Adresse jeder Person eintragen, die dir schon eine Nachricht an dein Postfach geschickt hat und bereits in deinem sozialen Stream erscheint.
Du kannst diesen Personen außerdem von Friendica aus antworten.
Leute können sich ebenfalls von anderen Netzwerken aus mit dir befreunden.
Ein Freund von dir hat einen GNU Social-Account und kann sich mit dir befreunden, indem er deine Identitäts-Adresse in seine GNU Social-Verbinden-Dialogbox einträgt.
Ein ähnlicher Mechanismus ist für Diaspora-Nutzer vorhanden, indem deine Identitäts-Adresse in ihre Suchleiste eingegeben wird.
Leute können sich ebenfalls von anderen Netzwerken aus mit dir befreunden.
Ein Freund von dir hat einen GNU Social-Account und kann sich mit dir befreunden, indem er deine Identitäts-Adresse in seine GNU Social-Verbinden-Dialogbox einträgt.
Ein ähnlicher Mechanismus ist für Diaspora-Nutzer vorhanden, indem deine Identitäts-Adresse in ihre Suchleiste eingegeben wird.
Beachte: Manche GNU Social-Versionen benötigen die volle URL deines Profils und funktionieren möglicherweise nicht mit der Identitäts-Adresse.
Wenn jemand eine Freundschaftsanfrage schickt, erhältst du eine Benachrichtigung.
Du musst dann diese Anfrage bestätigen, um die Freundschaftsanfrage abzuschließen.
Wenn jemand eine Freundschaftsanfrage schickt, erhältst du eine Benachrichtigung.
Du musst dann diese Anfrage bestätigen, um die Freundschaftsanfrage abzuschließen.
Einige Netzwerke erlauben es, Nachrichten zu schicken, ohne befreundet zu sein oder deine Bestätigung zu benötigen.
Einige Netzwerke erlauben es, Nachrichten zu schicken, ohne befreundet zu sein oder deine Bestätigung zu benötigen.
Friendica erlaubt dies in der Standardeinstellung nicht, da es zu Spam führen kann.
Wenn du eine Freundschaftsanfrage von einem anderen Friendica-Nutzer erhältst, dann hast du die Möglichkeit, diesen als "Fan" oder "Freund" einzutragen.
Ein Fan kann sehen, was du schreibst und auch private Kommunikation sehen, die du zu diesen sendest, aber nicht umgekehrt.
Wenn du eine Freundschaftsanfrage von einem anderen Friendica-Nutzer erhältst, dann hast du die Möglichkeit, diesen als "Fan" oder "Freund" einzutragen.
Ein Fan kann sehen, was du schreibst und auch private Kommunikation sehen, die du zu diesen sendest, aber nicht umgekehrt.
Als Freund kannst du in beide Richtungen kommunizieren.
Diaspora nutzt eine andere Terminologie mit der Unterteilung in "mit dir teilen" und "Freund".
Sobald ihr Freunde geworden seid, dir die Person aber permanent Spam oder sinnlose Informationen schickt, dann kannst du diese "ignorieren" - ohne die Freundschaft komplett zu beenden oder denjenigen zu zeigen, dass du nicht daran interessiert bist, was diese Person sagt.
In verschiedener Hinsicht sind diese Personen wie "Fans", aber sie wissen es nicht.
Sobald ihr Freunde geworden seid, dir die Person aber permanent Spam oder sinnlose Informationen schickt, dann kannst du diese "ignorieren" - ohne die Freundschaft komplett zu beenden oder denjenigen zu zeigen, dass du nicht daran interessiert bist, was diese Person sagt.
In verschiedener Hinsicht sind diese Personen wie "Fans", aber sie wissen es nicht.
Sie denken, sie sind als Freunde eingetragen.
Du kannst auch eine Person "blocken".
Das blockt die komplette Kommunikation mit dieser Person.
Du kannst auch eine Person "blocken".
Das blockt die komplette Kommunikation mit dieser Person.
Sie können zwar weiterhin öffentliche Beiträge sehen, wie auch jeder andere in der Welt, allerdings können sie nicht direkt mit dir kommunizieren.
Du kannst Freunde löschen, egal wie der Freundschaftsstatus ist, was dazu führt, dass alles, was mit dieser Person verbunden ist, von deiner Webseite gelöscht wird.

View File

@ -1,26 +1,26 @@
Gruppen und Seiten
Gruppen und Seiten
==========
* [Zur Startseite der Hilfe](help)
Hier siehst Du das globale Verzeichnis.
Hier siehst Du das globale Verzeichnis.
Wenn Du Dich mal verirrt hast, kannst Du diesen Link klicken und wieder hierher kommen.
Auf dieser Seite findest Du eine Zusammenstellung von Gruppen, Foren und Promi-Seiten.
Gruppen sind keine realen Personen.
Auf dieser Seite findest Du eine Zusammenstellung von Gruppen.
Gruppen sind keine realen Personen.
Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet.
Du musst nicht unsicher sein, ob Du jemandem zu nahe trittst, wenn Du Dich so ohne weiteres mit einer Gruppe verbindest; es handelt sich eben nicht um reale Personen.
Wenn Du Dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in Deinem "Netzwerk"-Tab.
Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eines der Gruppenmitglieder persönlich hinzuzufügen.
Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen.
Du findest Personen Deines Interesses, anstatt Fremde hinzuzufügen.
Suche Dir einfach eine Gruppe und füge sie so hinzu, wie Du auch normale Freunde hinzufügst.
Es gibt eine Menge Gruppen.
Wenn Du Dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in Deinem "Netzwerk"-Tab.
Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eines der Gruppenmitglieder persönlich hinzuzufügen.
Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen.
Du findest Personen Deines Interesses, anstatt Fremde hinzuzufügen.
Suche Dir einfach eine Gruppe und füge sie so hinzu, wie Du auch normale Freunde hinzufügst.
Es gibt eine Menge Gruppen.
Solltest Du beim Stöbern durch die vielen Gruppen nicht wieder hierher zurück finden, so nutze einfach den Link oben auf dieser Seite.
Wenn Du einige Gruppen hinzugefügt hast, gehe <a href="help/Quick-Start-andfinally">weiter zum nächsten Schritt</a>.
<iframe src="https://dir.friendica.social/forum" width="950" height="600"></iframe>
<iframe src="https://dir.friendica.social/group" width="950" height="600"></iframe>

View File

@ -7,37 +7,37 @@ Wie viele andere soziale Netzwerke benutzt auch Friendica eine spezielle Schreib
**Erwähnungen**
Personen werden "getaggt", indem du das "@"-Zeichen vor den Namen schreibst.
Personen werden "getaggt", indem du das "@"-Zeichen vor den Namen schreibst.
Personen **in deiner Kontaktliste** werden „getaggt“, indem du das “@“-Zeichen vor den Namen schreibst.
Personen **in deiner Kontaktliste** werden „getaggt“, indem du das “@“-Zeichen vor den Namen schreibst.
* <i>@mike</i> - deutet auf eine Person hin, die im Netzwerk den Namen "mike" nutzt
* <i>@mike_macgirvin</i> - deutet auf eine Person hin, die sich im Netzwerk "Mike Macgirvin" nennt. Beachte, dass Leerzeichen in Tags nicht genutzt werden können.
* <i>@mike+151</i> - diese Schreibweise deutet auf eine Person hin, die "mike" heißt und deren Kontakt-Identitäts-Nummer 151 ist. Bei der Eingabe erscheint direkt ein Auswahlmenü, sodass du diese Nummer nicht selbst kennen musst.
* <i>@mike+151</i> - diese Schreibweise deutet auf eine Person hin, die "mike" heißt und deren Kontakt-Identitäts-Nummer 151 ist. Bei der Eingabe erscheint direkt ein Auswahlmenü, sodass du diese Nummer nicht selbst kennen musst.
Personen, die in einem anderen Netzwerk sind oder die sich **NICHT in deiner Kontaktliste** befinden, werden wie folgt getaggt:
Personen, die in einem anderen Netzwerk sind oder die sich **NICHT in deiner Kontaktliste** befinden, werden wie folgt getaggt:
* <i>@mike@macgirvin.com</i> - diese Schreibweise wird "Fernerwähnung" (remote mention)genannt und kann nur im Email-Stil geschrieben werden, nicht als Internetadresse/URL.
Wenn das System ungewollte Erwähnungen nicht blockiert, erhält diese Person eine Mitteilung oder nimmt direkt an der Diskussion teil, wenn es sich um einen öffentlichen Beitrag handelt.
Bitte beachte, dass Friendica eingehende "Erwähnungs"-Nachrichten von Personen blockt, die du nicht zu deinem Profil hinzugefügt hast.
Wenn das System ungewollte Erwähnungen nicht blockiert, erhält diese Person eine Mitteilung oder nimmt direkt an der Diskussion teil, wenn es sich um einen öffentlichen Beitrag handelt.
Bitte beachte, dass Friendica eingehende "Erwähnungs"-Nachrichten von Personen blockt, die du nicht zu deinem Profil hinzugefügt hast.
Diese Maßnahme dient dazu, Spam zu vermeiden.
"Fernerwähnungen" werden durch das OStatus-Protokoll übermittelt.
Dieses Protokoll wird von Friendica, GNU Social und anderen Systemen genutzt, ist allerdings derzeit nicht in Diaspora eingebaut.
"Fernerwähnungen" werden durch das OStatus-Protokoll übermittelt.
Dieses Protokoll wird von Friendica, GNU Social und anderen Systemen genutzt, ist allerdings derzeit nicht in Diaspora eingebaut.
Friendica unterscheidet bei Tags nicht zwischen Personen und Gruppen (einige andere Netzwerke nutzen "!gruppe", um solche zu markieren).
Friendica unterscheidet bei Tags nicht zwischen Personen und Gruppen (einige andere Netzwerke nutzen "!circle", um solche zu markieren).
**Thematische Tags**
Thematische Tags werden durch eine "#" gekennzeichnet.
Dieses Zeichen erstellen einen Link zur allgemeinen Seitensuche mit dem ausgewählten Begriff.
So wird z.B. #Autos zu einer Suche führen, die alle Beiträge deiner Seite umfasst, die dieses Wort erwähnen.
Thematische Tags haben generell eine Mindestlänge von 3 Stellen.
Kürzere Suchbegriffe finden meist keine Suchergebnisse, wobei dieses abhängig von der Datenbankeinstellung ist.
Tags mit einem Leerzeichen werden, wie es auch bei Namen der Fall ist, durch einen Unterstrich gekennzeichnet.
Es ist hingegen nicht möglich, Tags zu erstellen, deren gesuchtes Wort einen Unterstrich enthält.
Thematische Tags werden durch eine "#" gekennzeichnet.
Dieses Zeichen erstellen einen Link zur allgemeinen Seitensuche mit dem ausgewählten Begriff.
So wird z.B. #Autos zu einer Suche führen, die alle Beiträge deiner Seite umfasst, die dieses Wort erwähnen.
Thematische Tags haben generell eine Mindestlänge von 3 Stellen.
Kürzere Suchbegriffe finden meist keine Suchergebnisse, wobei dieses abhängig von der Datenbankeinstellung ist.
Tags mit einem Leerzeichen werden, wie es auch bei Namen der Fall ist, durch einen Unterstrich gekennzeichnet.
Es ist hingegen nicht möglich, Tags zu erstellen, deren gesuchtes Wort einen Unterstrich enthält.
Thematische Tags werden auch dann nicht verlinkt, wenn sie nur aus Nummern bestehen, wie z.B. #1. Wenn du einen numerischen Tag nutzen willst, füge bitte einen Beschreibungstext hinzu wie z.B. #2012_Wahl.

View File

@ -1,26 +0,0 @@
Gruppen und Seiten
==========
* [Zur Startseite der Hilfe](help)
Hier siehst du das globale Verzeichnis.
Wenn du dich mal verirrt hast, kannst du <a href = "help/groupsandpages">diesen Link klicken</a> und wieder hierher kommen.
Auf dieser Seite findest du eine Zusammenstellung von Gruppen, Foren und bekannten Seiten.
Gruppen sind keine realen Personen.
Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet.
Habe keine Sorge, falls du dich unbehaglich fühlst, wenn du dich einer neuen Person vorstellen sollst, da es sich nicht um Personen handelt.
Wenn du dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in deinem "Netzwerk"-Tab.
Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eine der Gruppenmitglieder persönlich hinzuzufügen.
Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen.
Du findest Personen, die du magst, anstatt Fremde hinzuzufügen.
Suche dir einfach eine Gruppe und füge sie so hinzu, wie du auch normale Freunde hinzufügst.
Es gibt eine Menge Gruppen und möglicherweise findest du nicht wieder zu dieser Seite zurück.
In diesem Fall nutze einfach den Link oben auf dieser Seite.
Wenn du einige Gruppen hinzugefügt hast, gehe <a href="help/andfinally">weiter zum nächsten Schritt</a>.
<iframe src="https://dir.friendica.social/home" width="950" height="600"></iframe>

View File

@ -2,153 +2,10 @@
* [Home](help)
To change the look of friendica you have to touch the themes.
The current default theme is [Vier](https://github.com/friendica/friendica/tree/stable/view/theme/vier) but there are numerous others.
Have a look at [github.com/bkil/friendica-themes](https://github.com/bkil/friendica-themes) for an overview of the existing themes.
In case none of them suits your needs, there are several ways to change a theme.
The default Theme in Friendica is called [frio](https://github.com/friendica/friendica/tree/stable/view/theme/frio).
So, how to work on the UI of friendica.
Open `Settings > Display > Custom Theme Settings` adjust the Theme to your liking. Select your preferred Appearance - light, dark or black - and your favorite Accent color. Click `Submit` to save your changes.
You can either directly edit an existing theme.
But you might loose your changes when the theme is updated by the friendica team.
The `Custom` Appearance allows to tweak the themes CSS and set colors for UI elements. So called `schemestrings` can be shared between users.
If you are almost happy with an existing theme, the easiest way to cover your needs is to create a new theme, inheriting most of the properties of the parent theme and change just minor stuff.
The below for a more detailed description of theme heritage.
Some themes also allow users to select *variants* of the theme.
Those theme variants most often contain an additional [CSS](https://en.wikipedia.org/wiki/CSS) file to override some styling of the default theme values.
From the themes in the main repository *vier* and *vier* are using this methods for variations.
Quattro is using a slightly different approach.
Third you can start your theme from scratch.
Which is the most complex way to change friendicas look.
But it leaves you the most freedom.
So below for a *detailed* description and the meaning of some special files.
### Styling
If you want to change the styling of a theme, have a look at the themes CSS file.
In most cases, you can found these in
/view/theme/**your-theme-name**/style.css
sometimes, there is also a file called style.php in the theme directory.
This is only needed if the theme allows the user to change certain things of the theme dynamically.
Say the font size or set a background image.
### Templates
If you want to change the structure of the theme, you need to change the templates used by the theme.
Friendica themes are using [SMARTY3](http://www.smarty.net/) for templating.
The default template can be found in
/view/templates
if you want to override any template within your theme create your version of the template in
/view/theme/**your-theme-name**/templates
any template that exists there will be used instead of the default one.
### JavaScript
The same rule applies to the JavaScript files found in
/js
they will be overwritten by files in
/view/theme/**your-theme-name**/js.
## Creating a Theme from Scratch
Keep patient.
Basically what you have to do is identify which template you have to change so it looks more like what you want.
Adopt the CSS of the theme accordingly.
And iterate the process until you have the theme the way you want it.
*Use the source Luke.* and don't hesitate to ask in @[developers](https://forum.friendi.ca/profile/developers) or @[helpers](https://forum.friendi.ca/profile/helpers).
## Special Files
### unsupported
If a file with this name (which might be empty) exists in the theme directory, the theme is marked as *unsupported*.
An unsupported theme may not be selected by a user in the settings.
Users who are already using it wont notice anything.
### README(.md)
The contents of this file, with or without the .md which indicates [Markdown](https://daringfireball.net/projects/markdown/) syntax, will be displayed at most repository hosting services and in the theme page within the admin panel of friendica.
This file should contain information you want to let others know about your theme.
### screenshot.[png|jpg]
If you want to have a preview image of your theme displayed in the settings you should take a screenshot and save it with this name.
Supported formats are PNG and JPEG.
### theme.php
This is the main definition file of the theme.
In the header of that file, some meta information is stored.
For example, have a look at the theme.php of the *vier* theme:
<?php
/**
* [Licence]
*
* Name: Vier
* Version: 1.2
* Author: Fabio <http://kirgroup.com/profile/fabrixxm>
* Author: Ike <http://pirati.ca/profile/heluecht>
* Author: Beanow <https://fc.oscp.info/profile/beanow>
* Maintainer: Ike <http://pirati.ca/profile/heluecht>
* Description: "Vier" is a very compact and modern theme. It uses the font awesome font library: http://fortawesome.github.com/Font-Awesome/
*/
You see the definition of the theme's name, it's version and the initial author of the theme.
These three pieces of information should be listed.
If the original author is no longer working on the theme, but a maintainer has taken over, the maintainer should be listed as well.
The information from the theme header will be displayed in the admin panel.
The first thing in file is to import the `App` class from `\Friendica\` namespace.
use Friendica\App;
This will make our job a little easier, as we don't have to specify the full name every time we need to use the `App` class.
The next crucial part of the theme.php file is a definition of an init function.
The name of the function is <theme-name>_init.
So in the case of vier it is
function vier_init(App $a) {
$a->theme_info = array();
$a->set_template_engine('smarty3');
}
Here we have set the basic theme information, in this case they are empty.
But the array needs to be set.
And we have set the template engine that should be used by friendica for this theme.
At the moment you should use the *smarty3* engine.
There once was a friendica specific templating engine as well but that is not used anymore.
If you like to use another templating engine, please implement it.
If you want to add something to the HTML header of the theme, one way to do so is by adding it to the theme.php file.
To do so, add something alike
DI::page()['htmlhead'] .= <<< EOT
/* stuff you want to add to the header */
EOT;
So you can access the properties of this friendica session from the theme.php file as well.
### default.php
This file covers the structure of the underlying HTML layout.
The default file is in
/view/default.php
if you want to change it, say adding a 4th column for banners of your favourite FLOSS projects, place a new default.php file in your theme directory.
As with the theme.php file, you can use the properties of the $a variable with holds the friendica application to decide what content is displayed.
In the `General Theme Settings` you can also find the [vier](https://github.com/friendica/friendica/tree/stable/view/theme/vier) Theme, which precedes frio and is no longer officially maintained.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 B

View File

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 543 B

View File

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 852 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,6 +1,6 @@
IMAGES=add.png edit.png gear.png info.png menu.png \
notify_off.png star.png delete.png feed.png group.png \
notify_off.png star.png delete.png feed.png circle.png \
lock.png notice.png notify_on.png user.png link.png \
play.png plugin.png unlock.png zip.png audio.png video.png \
image.png text.png
@ -10,7 +10,7 @@ DESTS=10/ 16/ 22/ 48/ \
$(addprefix 16/, $(IMAGES)) \
$(addprefix 22/, $(IMAGES)) \
$(addprefix 48/, $(IMAGES))
all: $(DESTS)
%/:
@ -18,7 +18,7 @@ all: $(DESTS)
10/%.png: %.png
convert $< -resize 10x10 $@
16/%.png: %.png
convert $< -resize 16x16 $@

Some files were not shown because too many files have changed in this diff Show More