Merge branch '2023.03-rc' into stable

pull/13028/head
Tobias Diekershoff 1 month ago
commit 4eec2804de

@ -1,7 +1,7 @@
codecov:
branch: develop
ci:
- drone.friendi.ca
- ci.friendi.ca
coverage:
precision: 2

@ -6,9 +6,27 @@ root = true
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespaces = true
indent_style = tab
trim_trailing_whitespace = true
insert_final_newline = true
quote_type = single
max_line_length = off
[*.js]
quote_type = double
quote_type = double
ij_javascript_use_double_quotes = true
[*.yml]
indent_style = space
indent_size = 2
[*.xml]
indent_style = space
indent_size = 2
[*.json]
indent_style = space
indent_size = 2
[composer.json]
indent_style = tab

@ -13,7 +13,7 @@ assignees: ''
### Describe the feature you'd like
<!-- A clear and concise description of waht you want to happen. -->
<!-- A clear and concise description of what you want to happen. -->
### Describe alternatives you've considered

@ -1,9 +1,9 @@
[main]
host = https://www.transifex.com
host = https://api.transifex.com
[friendica.messagespo]
[o:Friendica:p:friendica:r:messagespo]
file_filter = view/lang/<lang>/messages.po
source_file = view/lang/C/messages.po
source_lang = en
type = PO
type = PO

@ -71,20 +71,19 @@ pipeline:
else
phpunit --configuration tests/phpunit.xml;
fi
codecov:
image: plugins/codecov
image: friendicaci/codecov
when:
matrix:
PHP_MAJOR_VERSION: 7.4
PHP_VERSION: 7.4.18
PHP_VERSION: 7.4.33
repo:
- friendica/friendica
settings:
token:
from_secret: codecov-token
files:
- clover.xml
commands:
- codecov -R '.' -Z -f 'clover.xml'
secrets:
- source: codecov-token
target: codecov_token
services:
mariadb:

@ -1,3 +1,72 @@
Version 2023.04 (2023-04-23)
Friendica Core
Updates to the translations AR, BG, CA, CS, DA, DE, EO, ES, ET, FR, GD, HU, IS, IT, JA, NL, PL, RU, SV
Updates to the themes (frio, vier) [damianwajer, haheute, MrPetovan, xundeenergie]
Updates to the documentation [haheute, HankG, MarekBenjamin, MrPetovan]
General code cleanup [annando, MarekBenjamin, MrPetovan, nupplaphil]
Fixed display of blocked contacts [annando]
Fixed usage of environment variables [nupplaphil]
Fixed paging on the Mastodon compatible API endpoints for timelines and statuses [HankG]
Fixed updating of attached links via the API [HankG]
Fixed federation issues with Diaspora*, gup.pe, Hubzilla and Peertube servers [annando]
Fixed a bug with PubSubHubBub subscription [annando]
Fixed a XSS vulnerability in Justified-Gallery JavaScript dependency (frio theme) [MrPetovan]
Improved the translate ability of activities (singular/plural forms) [nupplaphil]
Improved activity update handling [xundeenergie]
Improved BBCode + Markdown parsing [annando]
Improved known Fediverse statistics [annando]
Improved automatic table optimization [HankG]
Improved the performance of local JsonLD requests [MrPetovan]
Improved the performance of local requests [annando]
Improved the performance of the delivery of postings [annando]
Improved the performance of homepage rel-me checks [annando]
Improved supported characters for passwords [MrPetovan]
Improved the ARIA support [MrPetovan]
Improved PHP 8.2 compatibility [MrPetovan]
Added emoticon reaction handling [annando]
Added drag and drop image upload in frio themes [xundeenergie]
Added scope change for comments to the API [annando]
Added posting visibility to the API [HankG]
Added delivery information to the Mastodon compatible API [HankG]
Added notification summary option to the Mastodon compatible API [HankG]
Added option to display activities as emoticons [annando]
Added trending API updates [HankG]
Added blocked/ignored filters to the Mastodon compatible API [HankG]
Added ActivityPub C2S postings to the API [annando]
Added dislike information for postings to the Mastodon compatible API [HankG, mkljczk]
Added the possibility to deletion blocked servers [annando]
Removed the GNUsocial import [annando]
Friendica Addons
Updates to the translations AR, CS, DE, ES, HU, IS, IT, NL, PL, RU, SV
mailstream
Various modernization [mexon]
Include post media [mexon]
securemail
Updated the phpseclib dependency [MrPetovan]
twitter
Improve remote-self handling [annando]
impressum
Avoide obfuscation on un-set email addresses [MrPestovan]
notifyall
Fixed a bug selecting the email addresses [nupplaphil]
tumblr
Fixed a bug addressing the tumblr blog via UUID [annando]
Added support for NPF [annando]
Improved the tumblr blog URI detection [annando]
Improved the handling of multible images [annando]
marked as UNSUPPORTED addons
blockem, tictactoe, twitter
Closed Issues
7037, 10974, 11513, 11535, 11825, 11986, 12489, 12490, 12507, 12515,
12522, 12537, 12545, 12550, 12552, 12559, 12582, 12601, 12602, 12603,
12607, 12608, 12616, 12617, 12620, 12624, 12625, 12629, 12654, 12658,
12661, 12665, 12672, 12677, 12682, 12705, 12713, 12721, 12753, 12764,
12779, 12792, 12793, 12803, 12809, 12828, 12835, 12842, 12846, 12847,
12858, 12859, 12871, 12888, 12924, 12944, 12970, 12974, 12983, 12993,
12995, 13002, 19996
Version 2023.01 (2023-01-15)
Friendica Core
Improved the global server updating if domains are blocked [MrPetovan]
@ -30,7 +99,7 @@ Version 2022.12 (2022-12-20)
Added a moderation section to the admin panel [annando]
Added an option to make the calendar public [matthiasmoritz]
Fixed a bug in the federation with Diaspora* [annando]
Fixec a problem in the federation with GoTo Social and Owncast [annando]
Fixed a problem in the federation with GoTo Social and Owncast [annando]
Deprecated old themes (duepuntozero, quattro, smoothy)
NOTE: The Apache2 rewrite rule in the .htaccess-dist has been changed.
@ -718,13 +787,13 @@ Version 2020.07 (2020-07-12)
blockbot:
The list of accepted user agents was enhanced [annando]
Diaspora*:
Enhanced conntector settings [MrPetovan]
Enhanced connector settings [MrPetovan]
PHP Mailer SMTP:
Updated phpmailer version [dependabot]
showmore_dyn:
New addon to collapse long post depending on their actual height [wiwie]
twitter:
Enhaceed the handling of mobile twitter URLs [annando]
Enhanced the handling of mobile twitter URLs [annando]
Enhanced the handling of quoted tweets [MrPetovan]
added HTML error code handling [MrPetovan]
various:
@ -962,7 +1031,7 @@ Version 2019.09 (2019-09-29)
Version 2019.06 (2019-06-23)
Friendica Core:
Update to the tranlation (CS, DE, EN-GB, EN-US, ET, FR, IT, PL, PT-BR, SV) [translation teams]
Update to the translation (CS, DE, EN-GB, EN-US, ET, FR, IT, PL, PT-BR, SV) [translation teams]
Update to the documentation [nupplaphil, realkinetix, MrPetovan]
Update to the themes (frio, vier) [BinkaDroid, MrPetovan, tobiasd]
Enhancements to the API [annando, MrPetovan]
@ -982,7 +1051,7 @@ Version 2019.06 (2019-06-23)
Fixed an issue with the File to Folder feature [MrPetovan]
Fixed an issue with the legacy storage engine [fabrixxm]
Fixed an issue with the theme and addon path items [MrPetovan]
Fixed an issue occuring when the BasePath was not set [tobiasd]
Fixed an issue occurring when the BasePath was not set [tobiasd]
Fixed an issue with additionally opened Sessions [MrPetovan]
Fixed an issue with legacy loglevel mapping [nupplaphil]
Fixed contact suggestions [annando]
@ -1008,7 +1077,7 @@ Version 2019.06 (2019-06-23)
Remove support for defunct F-Droid Friendica app [MrPetovan]
Friendica Addons:
Update to the tranlation (ET, SV, ZH_CN) [translation teams]
Update to the translation (ET, SV, ZH_CN) [translation teams]
botdetection:
Added a new addon for preventing access by bots [nupplaphil, annando]
buffer:
@ -1046,7 +1115,7 @@ Version 2019.03 (2019-03-22)
Update to the themes (duepuntozero, frio, smoothy, quattro, vier) [lxiter, MrPetovan, nupplaphil, rabuzarus, tobiasd]
Enhancements to the API [jasonscheng]
Enhancements to the Vagrant development VM [JeroenED]
Enhancements to the storage of gender, sexual preferences and maritial status [JeroenED]
Enhancements to the storage of gender, sexual preferences and marital status [JeroenED]
Enhancements to the wording of notifications [MrPetovan]
Enhancements to the display of contacts in the profile [MrPetovan]
Enhancements to the handling of local links [lxiter]
@ -1075,7 +1144,7 @@ Version 2019.03 (2019-03-22)
Fixed an issue with sending out notification mails to the admin [nupplaphil]
Fixed an the issue, that the API was ignoring the globalsilence setting [nupplaphil]
Fixed issues with the autolinker of URLs in postings [MrPetovan]
Fixed an issue resulting in multible emails after successful updates of the database [nupplaphil]
Fixed an issue resulting in multiple emails after successful updates of the database [nupplaphil]
Fixed a timeout issue during detection process of the remote profile [annando]
Fixed an issue with postings from blocked servers [annando, MrPetovan]
Fixed an issue with the paging of stored folders [MrPetovan]
@ -1107,7 +1176,7 @@ Version 2019.03 (2019-03-22)
forumdirectory:
Fixed a theming issue with frio [rabuzarus]
js_upload:
Fixed a missing extionsion index [nupplaphil]
Fixed a missing extension index [nupplaphil]
mailstream:
Fixed a curl issue [MrPetovan]
piwik:
@ -1327,7 +1396,7 @@ Version 2018.09 (2018-09-23)
added addons:
mastodoncustomemojis [MrPetovan]
deprecated addons:
notimeline, retriver, remote_permissions, widgets
notimeline, retriever, remote_permissions, widgets
Directory:
Enhancements of the health summary [andyhee]
@ -1353,7 +1422,7 @@ Version 2018.05 (2018-06-01)
Enhancements to the relay system [annando]
Enhancements to the handling of URL that contain unicode characters [annando]
Enhancements to the Vagrant VM configuration [fabrixxm, tobiasd]
Enhancementa to the Babel module [MrPetovan]
Enhancements to the Babel module [MrPetovan]
Enhancements to the display of the [code] elements [MrPetovan]
Enhancements to the federation (OStatus, diaspora) [annando]
Enhancements to the PHP7.2 compatibility [Alkarex, MrPetovan, Quix0r]
@ -1382,7 +1451,7 @@ Version 2018.05 (2018-06-01)
Fixed a bug that made edited mentions and hashtags plaintext [annando]
Fixed a bug that caused the /display page to receive constandly new updates [annando]
Fixed wrong version of a dependency preventing the usage of PHP 5.6 [MrPetovan]
Fixed a bug in OpenID authentification [Quix0r]
Fixed a bug in OpenID authentication [Quix0r]
Fixed a bug in the item deletion [annando]
Fixed a bug that prevented public comments from being distributed [annando]
Fixed a bug that caused empty profile pictures for public contacts [annando]
@ -1481,7 +1550,7 @@ Version 3.6 (2018-03-23)
Enhancements to the probing of pump.io profiles [annando]
Enhancements to the handling of BBCode tags [MrPetovan]
Enhancements to the OEmbed handling [MrPetovan]
Fixed a bug that triggered the display of activities on the cummunity page [annando]
Fixed a bug that triggered the display of activities on the community page [annando]
Fixed a bug with personal notes [annando]
Fixed a display issue of long postings when using the showmore option [annando]
Fixed a bug that caused Twidere to crash on reload [annando]
@ -1489,7 +1558,7 @@ Version 3.6 (2018-03-23)
Fixed a bug in URL completion for feed fragments [annando]
Fixed a bug in the notification system about new registrations [annando]
Fixed the display of dislikes [annando]
Fixed the display of orphans childs in threads [MrPetovan]
Fixed the display of orphan children in threads [MrPetovan]
Fixed some SQL problems [annando]
Fixed the CLI config script [tobiasd]
Fixed the forum selection on the network display [annando]
@ -1543,7 +1612,7 @@ Version 3.6 (2018-03-23)
all bridges don't relay postings anymore that are posted to a public forum [annando]
DAV addon marked unsupported [tobiasd]
communityhome addon marked unsupported [MrPetovan]
yourls addon makrked unsupported [MrPetovan]
yourls addon marked unsupported [MrPetovan]
Current Weather: fixing a problem with the weathermap link [zeroadam]
NSFW added config examples, reworked the description, now ignores the CW from Mastodon [andyhee, annando, rebeka-catalina]
Twitter support 280 chars limit [annando]
@ -1738,7 +1807,7 @@ Version 3.5.1 (2017-03-12)
Improvements to the documentation [Hypolite, tobiasd, rabuzarus, beardyunixer, eelcomaljaars]
Improvements to the BBCode / Markdown conversation [Hypolite]
Improvements to the OStatus protocol implementation [annando]
Improvements to the installation wizzard [tobiasd]
Improvements to the installation wizard [tobiasd]
Improvements to the Diaspora connectivity [annando, Hypolite]
Work on PHP7 compatibility [ddorian1]
Code cleanup [Hypolite, Quix0r]
@ -1800,11 +1869,11 @@ Version 3.5 (2016-09-13)
Improvements on the themes (quattro, vier, frost) [rabuzarus, fabrixxm, stieben, annando, Quix0r, tobiasd]
Improvements to the ACL dialog [fabrixxm, rabuzarus]
Improvements to the database structure and optimization of queries [annando]
Improvements to the UI (contacts, hotkeys, remember me, ARIA, code hightlighting) [rabuzarus, annando, tobiasd]
Improvements to the UI (contacts, hotkeys, remember me, ARIA, code highlighting) [rabuzarus, annando, tobiasd]
Improvements to the background process (poller, worker) [annando]
Improvements to the admin panel [tobiasd, annando, fabrixxm]
Improvements to the performance [annando]
Improvements to the installation wizzard (language selection, RINO version, check required PHP modules, default theme is now vier) [tobiasd]
Improvements to the installation wizard (language selection, RINO version, check required PHP modules, default theme is now vier) [tobiasd]
Improvements to the relocation of nodes and accounts [annando]
Improvements to the DDoS detection [annando]
Improvements to the calendar/events module [annando, rabuzarus]
@ -1829,7 +1898,7 @@ Version 3.5 (2016-09-13)
GNU Social Connector [annando]
LDAP [Olivier Mehani]
smileybutton [rabuzarus]
retriver [mexon]
retriever [mexon]
mailstream [mexon]
forumdirectory [tobiasd]
NEW notifyall (port from Hubzilla) [rabuzarus, tobiasd]
@ -1884,7 +1953,7 @@ Version 3.4.3 (2015-12-22)
'Reload active themes' in theme admin page (fabrixxm)
Install routine checks for ImageMagick and GIF support (fabrixxm)
Install routine checks for availability of "mcrypt_create_iv()" function, needed for RINO2 (fabrixxm)
Only suported themes are shown in admin page (annando)
Only supported themes are shown in admin page (annando)
Optimized SQL queries (annando)
System perform an optimize pass on tables in cron, with maximum table size and minimum fragmentation level settings (annando)
New access keys in profile and contact pages (rabuzarus, annando)
@ -1899,9 +1968,9 @@ Version 3.4.3 (2015-12-22)
New hook 'template_vars' (fabrixxm)
$baseurl variable is passed to all templates by default (fabrixxm)
OStatus delivery code is moved in new function (annando)
Doxygen config file and initial documetation of code (rabuzarus)
Doxygen config file and initial documentation of code (rabuzarus)
Full rewrite of util/php2po.php (fabrixxm)
Bugfixs:
Bugfixes:
Remote self works again (annando)
Fix feeds mistakenly recognized as OStatus (issue #1914) (annando)
Report invalid feeds to user (issue #1913) (annando)
@ -1916,8 +1985,8 @@ Version 3.4.3 (2015-12-22)
Fix rapid repeated requests to GNUSocial instance (issue #2038) (annando)
Fix install routine css when mod_rewrite doesn't works (issue #2071) (fabrixxm)
Fix code to be compliant with minimum required PHP version (issue #2066) (fabrixxm, rabuzarus)
Fix feedback after succesfull registration (issue #2060) (annando)
Fix mention completition popup with TinyMCE (issue #1920) (fabrixxm)
Fix feedback after successful registration (issue #2060) (annando)
Fix mention completion popup with TinyMCE (issue #1920) (fabrixxm)
Fix photo cache and proxy when installed in subfolder (ddorian1)
Fix bbcode conversion of the about text for the profile (issue #1607) (annando)
@ -1927,7 +1996,7 @@ Version 3.4.2 (2015-09-29)
Updates to the documentation (tobiasd, silke, annando)
Updates to the translations (tobiasd & translation teams)
Updates to themes frost-mobile, vier, duepuntozero, quattro (annando, tobiasd)
Enancements of the communications via OStatus and Diaspora protocols (annando)
Enhancements of the communications via OStatus and Diaspora protocols (annando)
Option to automatically follow OStatus contacts was moved from addon to the core (annando)
Add tool to import OStatus contacts from an old account (annando)
SALMON slaps with OStatus were reworked (annando)
@ -1944,7 +2013,7 @@ Version 3.4.2 (2015-09-29)
The global directory is queried in the background to update local DB and improve similar searches in the future. (annando)
By communication over the Diaspora protocol, red#matrix sources are now correctly identified, hubzilla is detected (annando)
Adopt limitation of usage of "-" in username to avoid conflicts with GNU Social and Diaspora (annando)
The [url] tag now also suppots ftp, mailto, gopher links (annando)
The [url] tag now also supports ftp, mailto, gopher links (annando)
An "inspect queue" module was added to the admin panel (tobiasd)
Fix some missing SQL data escapes (fabrixxm)
Improved the accessibility of the web UI for better screen reader compatibility (annando)
@ -1972,7 +2041,7 @@ Version 3.4.1 (2015-07-06)
Implement server-to-server encryption (RINO) using php-encryption library as "RINO 2", deprecate "RINO 1" (issue #1655) (fabrixxm)
Fix connection with Diaspora "freelove" account (issue #1572) (annando)
Various SQL speedups (annando)
Port of Javascript DatePicker input from RedMatrix (rabuzarus)
Port of JavaScript DatePicker input from RedMatrix (rabuzarus)
Port of RedMatrix archive widget (rabuzarus)
Load profile owner settings for theme on profile page (rabuzarus)
Move HTML code from php into templates (rabuzarus)
@ -1985,7 +2054,7 @@ Version 3.4.1 (2015-07-06)
use correct contact when automatically add @-replies
add attachment links as enclosures
send salmon notifications to every mentioned person
better thread completition
better thread completion
support for bookmarks
support for events and questions
link to items using GUID
@ -1996,7 +2065,7 @@ Version 3.4.1 (2015-07-06)
Add fake fields to API response for better Twitter API compatibility (annando)
Fix search in local directory (issue #1657) (annando)
Improve OEmbed (issue #1640) (annando)
Fix double html encodig in site administration page for sitename and register text (issue #1628) (annando)
Fix double html encoding in site administration page for sitename and register text (issue #1628) (annando)
Fix remote subscription from GNU Social (annando)
Fix "{0}" in notifications (issue #1642) (annando)
Fix desktop notification (fabrixxm)
@ -2005,7 +2074,7 @@ Version 3.4.1 (2015-07-06)
Fix emoticons alt text (tobias)
Improve threaded display in Vier theme (annando)
Use field templates in photo edit form (fabrixxm)
Alllow deletion of any user but yourself (issue #1625) (fabrixxm)
Allow deletion of any user but yourself (issue #1625) (fabrixxm)
Install wizard load htconfig template from template/ folder, remove localized htconfig templates (fabrixxm)
Add contact detail to non-js contact drop confirm dialog (issue #1629) (fabrixxm)
Return geo coord in API (annando)
@ -2024,7 +2093,7 @@ Version 3.4 (2015-04-05)
Optionally, "like" and "dislike" activities don't update thread timestamp (annando)
Updated markdown libraries (annando)
Updated jQuery (StefOfficiel)
Cache zrl verification requests to prevent DSoS (issue #1453) (annando)
Cache zrl verification requests to prevent DDoS (issue #1453) (annando)
"Verify SSL" options affects also VERIFYHOST (annando)
Better handling of hashtags (annando)
Updated translations (translation teams, tobias)
@ -2062,7 +2131,7 @@ Version 3.3.3 (2015-02-24)
Share-it button support (annando)
More reliable reshare from Diaspora (annando)
Load more images via proxy (annando)
util/typo.php uses "php -l" insead of "eval()" to validate code (fabrixxm)
util/typo.php uses "php -l" instead of "eval()" to validate code (fabrixxm)
Use $_SERVER array in cli script instead of $argv/$argc (issue #1218) (annando)
Updated vagrant setup script (silke)
API: support to star/unstar items (fabrixxm)
@ -2083,7 +2152,7 @@ Version 3.3.3 (2015-02-24)
Version 3.3.2 (2014-12-26)
Set default value for all not-null fields (fixes SQL warinigs) (annando)
Set default value for all not-null fields (fixes SQL warnings) (annando)
Fix item filters in network page (issue #1222) (fabrixxm)
Remove reference to an ex Friendica hub from documentation (beardyunixer, tobiasd)
API throttling (annando)
@ -2129,7 +2198,7 @@ Version 3.3 (2014-10-06)
Interaction
ignoring of threads
for selected contects one can now get notifications when they post something, useful e.g. for forums
for selected contacts one can now get notifications when they post something, useful e.g. for forums
After a new friendica contact is added, the user is directed to the contact page of the new contact. (Instead of the remote profile)
many improvement on all connectors, new app.net connector
the algorithm for shortening postings when posting to limited platforms was improved
@ -2141,7 +2210,7 @@ Version 3.3 (2014-10-06)
updated the following libraries: smarty 3.1.19, fullcalendar 1.6.4, jquery 1.11, jgrowl 1.3.0
added modernizer 2.8.3, better browser support
updates to the DB structure for better performance
preperations to use PDO in a later release
preparations to use PDO in a later release
new notification system
web interface translations updated, addon translations now also possible separately from the main UI and done for CS, IT, RO, DE
vagrant support added for developers
@ -2179,7 +2248,7 @@ Version 3.2
small fixed
edit profile photo link
better caching of pictures
threadening for outgoing emails
threading for outgoing emails
mail import
oembed thumbnails
SN subscriptions & more SN like behaviour if snautofollow addon is used
@ -2199,7 +2268,7 @@ Version 3.2
improving the install.php script
addons now can be members only
item object now contains the "edited" information left for the theme designers to show this info in a pretty way
improvments to the user-import from exported account files
improvements to the user-import from exported account files
It's now possible to authenticate an ejabberd server against friendica.
bugtracker moved to github
improvements to MySQL queries

@ -74,8 +74,11 @@ CrystalStiletto
Cyboulette
Cyryl Sochacki
czarnystokrotek
daingewuvzeevisiddfddd
Damian Wajer
Damien Goutte-Gattat
Daniel Dupriest
Daniel Siepmann
Daria Początek
David
David Martín Miranda
@ -101,6 +104,7 @@ erik
Erkan Yilmaz
Eugene Veresk
Extarys
F1per 3y
Fabian Dost
Fabio Comuni
Farida Khalaf
@ -126,6 +130,7 @@ GunChleoc
guzzisti
Haakon Meland Eriksen
Hank Grabowski
Hannes Heute
Hans Meine
Hauke
Hauke Altmann
@ -138,7 +143,7 @@ Ilmari
ImgBotApp
irhen
Jakob
Jakobus Schürz (admin)
Jakob Schürz
Jens Tautenhahn
jensp
Jeroen De Meerleer
@ -153,6 +158,7 @@ John Mortensen
Jonatan Nyberg
Jonny Tischbein
Josef Moravek
Josh Soref
juanman
julia.domagalska
Julio Cova
@ -185,6 +191,7 @@ Marcin Klessa
Marcin Mikołajczak
Marcus Müller
Marek Bachmann
MarekBenjamin
Marie Olive
Mariusz Pisz
marmor
@ -209,6 +216,7 @@ mytbk
nathilia-peirce
Nicola Spanti
Nicolas Derive
nnsrymni
nobody
nupplaPhil
Olaf Conradi
@ -227,6 +235,7 @@ Pavel Morozov
PerigGouanvic
peter
Peter Liebetrau
Petr Kučera
peturisfeld
Phigger Phigger
Philipp
@ -244,7 +253,7 @@ Rafael Kalachev
Rain Hawk
Rainulf Pineda
Ralf Thees
Ralph
ralph van der honing
Ratten
rcmaniac
RealKinetix
@ -257,6 +266,7 @@ Rik 4
RJ Madsen
Roger Meyer
Roland Häder
Ruud Schilders
rwa
Ryan Voots
S.Krumbholz
@ -338,6 +348,7 @@ Wil Tur
Wouter Broers
Xiaofei Xu
XMPPはいいぞ
xundeenergie
Yasen Pramatarov
Yasmine A
ylms

@ -17,18 +17,18 @@ Have a look at the [installation documentation](doc/Install.md) for further info
### Friendica Screenshots
| ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profle-1.png?raw=true "Frio theme in mobile browser") ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profle-2.png?raw=true "Frio theme in mobile browser")
| ![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-profle-1.png?raw=true "Frio theme in desktop browser")
|![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-profle-2.png?raw=true "Frio theme in desktop browser")
|![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-profle-3.png?raw=true "Frio theme in desktop browser")
|![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-profle-2.png?raw=true "Frio theme in desktop browser")
|![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-profle-1.png?raw=true "Frio theme in desktop browser")
|![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.*|

@ -1 +1 @@
2023.01
2023.03-rc

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2022, the Friendica project
* @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -82,6 +82,10 @@ $dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['auth_ejabb
\Friendica\DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
// Check the database structure and possibly fixes it
\Friendica\Core\Update::check(\Friendica\DI::basePath(), true);
$appMode = $dice->create(Mode::class);
if ($appMode->isNormal()) {

@ -3,7 +3,7 @@
dir=$(cd "${0%[/\\]*}" > /dev/null; pwd)
if [[ -d /proc/cygdrive && $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
# We are in Cgywin using Windows php, so the path must be translated
# We are in Cygwin using Windows php, so the path must be translated
dir=$(cygpath -m "$dir");
fi

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

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2022, the Friendica project
* @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -33,6 +33,7 @@ if (php_sapi_name() !== 'cli') {
use Dice\Dice;
use Friendica\App\Mode;
use Friendica\Core\Logger;
use Friendica\Core\Update;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
@ -63,7 +64,6 @@ $dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['daemon']])
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
$a = DI::app();
if (DI::mode()->isInstall()) {
die("Friendica isn't properly installed yet.\n");
@ -71,13 +71,13 @@ if (DI::mode()->isInstall()) {
DI::mode()->setExecutor(Mode::DAEMON);
DI::config()->load();
DI::config()->reload();
if (empty(DI::config()->get('system', 'pidfile'))) {
die(<<<TXT
Please set system.pidfile in config/local.config.php. For example:
'system' => [
'system' => [
'pidfile' => '/path/to/daemon.pid',
],
TXT
@ -115,7 +115,7 @@ if (is_readable($pidfile)) {
}
if (empty($pid) && in_array($mode, ['stop', 'status'])) {
DI::config()->set('system', 'worker_daemon_mode', false);
DI::keyValue()->set('worker_daemon_mode', false);
die("Pidfile wasn't found. Is the daemon running?\n");
}
@ -126,7 +126,7 @@ if ($mode == 'status') {
unlink($pidfile);
DI::config()->set('system', 'worker_daemon_mode', false);
DI::keyValue()->set('worker_daemon_mode', false);
die("Daemon process $pid isn't running.\n");
}
@ -137,7 +137,7 @@ if ($mode == 'stop') {
Logger::notice('Worker daemon process was killed', ['pid' => $pid]);
DI::config()->set('system', 'worker_daemon_mode', false);
DI::keyValue()->set('worker_daemon_mode', false);
die("Worker daemon process $pid was killed.\n");
}
@ -181,7 +181,7 @@ if (!$foreground) {
DBA::connect();
}
DI::config()->set('system', 'worker_daemon_mode', true);
DI::keyValue()->set('worker_daemon_mode', true);
// Just to be sure that this script really runs endlessly
set_time_limit(0);
@ -193,6 +193,9 @@ $last_cron = 0;
// Now running as a daemon.
while (true) {
// Check the database structure and possibly fixes it
Update::check(DI::basePath(), true);
if (!$do_cron && ($last_cron + $wait_interval) < time()) {
Logger::info('Forcing cron worker call.', ['pid' => $pid]);
$do_cron = true;
@ -244,5 +247,6 @@ while (true) {
}
function shutdown() {
posix_kill(posix_getpid(), SIGTERM);
posix_kill(posix_getpid(), SIGHUP);
}

@ -46,7 +46,7 @@ function show_syntax() {
echo -e "\t\"testfile\" is the name of a test file, for example lib/template.php" >&2
echo -e "\nDatabase environment variables:\n" >&2
echo -e "\t\"MYSQL_HOST\" Mysql Hostname (Default: localhost)" >&2
echo -e "\t\"MYSQL_USDRNAME\" Mysql Username (Default: friendica)" >&2
echo -e "\t\"MYSQL_USERNAME\" Mysql Username (Default: friendica)" >&2
echo -e "\t\"MYSQL_DATABASE\" Mysql Database (Default: test)" >&2
echo -e "\nOther environment variables:\n" >&2
echo -e "\t\"TEST_SELECTION\" test a specific group of tests, can be one of: $TESTS" >&2
@ -65,7 +65,7 @@ else
exit 3
fi
echo "Installing depdendencies"
echo "Installing dependencies"
${PHP} "$COMPOSER" install
PHPUNIT="${BASEDIR}/vendor/bin/phpunit"

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

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

@ -1,7 +1,7 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (C) 2010-2022, the Friendica project
* @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
@ -58,20 +58,17 @@ $dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['worker']])
DI::init($dice);
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
$a = DI::app();
DI::mode()->setExecutor(Mode::WORKER);
// Check the database structure and possibly fixes it
Update::check($a->getBasePath(), true, DI::mode());
Update::check(DI::basePath(), true);
// Quit when in maintenance
if (!DI::mode()->has(App\Mode::MAINTENANCEDISABLED)) {
return;
}
DI::baseUrl()->saveByURL(DI::config()->get('system', 'url'));
$spawn = array_key_exists('s', $options) || array_key_exists('spawn', $options);
if ($spawn) {

@ -24,15 +24,19 @@
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
"ext-posix": "*",
"ext-simplexml": "*",
"ext-xml": "*",
"asika/simple-console": "^1.0",
"bacon/bacon-qr-code": "^2.0.0",
"divineomega/password_exposed": "^2.8",
"enyo/dropzone": "^5.9",
"ezyang/htmlpurifier": "^4.7",
"friendica/json-ld": "^1.0",
"geekwright/po": "^2.0",
"guzzlehttp/guzzle": "^6.5",
"guzzlehttp/oauth-subscriber": "^0.6",
"kornrunner/blurhash": "^1.2",
"league/html-to-markdown": "^4.8",
"level-2/dice": "^4",
"lightopenid/lightopenid": "dev-master",
@ -48,6 +52,7 @@
"phpseclib/phpseclib": "^3.0",
"pragmarx/google2fa": "^5.0",
"pragmarx/recovery": "^0.2",
"psr/clock": "^1.0",
"psr/container": "^1.0",
"psr/log": "^1.1",
"seld/cli-prompt": "^1.0",
@ -70,9 +75,7 @@
"npm-asset/moment": "^2.24",
"npm-asset/perfect-scrollbar": "0.6.16",
"npm-asset/textcomplete": "^0.18.2",
"npm-asset/typeahead.js": "^0.11.1",
"kornrunner/blurhash": "^1.2",
"psr/clock": "^1.0"
"npm-asset/typeahead.js": "^0.11.1"
},
"repositories": [
{
@ -132,7 +135,13 @@
"test": "phpunit",
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './view/asset/*' -print0 | xargs -0 -n1 php -l",
"cs:install": "@composer install --working-dir=bin/dev/php-cs-fixer",
"cs:check": ["@cs:install", "bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff"],
"cs:fix": ["@cs:install", "bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix"]
"cs:check": [
"@cs:install",
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff"
],
"cs:fix": [
"@cs:install",
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix"
]
}
}

464
composer.lock generated

File diff suppressed because it is too large Load Diff

@ -40,5 +40,6 @@ return [
'system' => [
'default_timezone' => 'UTC',
'language' => 'en',
'url' => 'https://friendica.local',
],
];

@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 2022.12 (Giant Rhubarb)
-- DB_UPDATE_VERSION 1502
-- Friendica 2023.03-rc (Giant Rhubarb)
-- DB_UPDATE_VERSION 1518
-- ------------------------------------------
@ -34,6 +34,7 @@ CREATE TABLE IF NOT EXISTS `gserver` (
`last_poco_query` datetime DEFAULT '0001-01-01 00:00:00' COMMENT '',
`last_contact` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Last successful connection request',
`last_failure` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Last failed connection request',
`blocked` boolean COMMENT 'Server is blocked',
`failed` boolean COMMENT 'Connection failed',
`next_contact` datetime DEFAULT '0001-01-01 00:00:00' COMMENT 'Next connection request',
PRIMARY KEY(`id`),
@ -70,7 +71,7 @@ CREATE TABLE IF NOT EXISTS `user` (
`verified` boolean NOT NULL DEFAULT '0' COMMENT 'user is verified through email',
`blocked` boolean NOT NULL DEFAULT '0' COMMENT '1 for user is blocked',
`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 unkown viewers',
`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 '',
@ -339,22 +340,6 @@ CREATE TABLE IF NOT EXISTS `account-user` (
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Remote and local accounts';
--
-- TABLE addon
--
CREATE TABLE IF NOT EXISTS `addon` (
`id` int unsigned NOT NULL auto_increment COMMENT '',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT 'addon base (file)name',
`version` varchar(50) NOT NULL DEFAULT '' COMMENT 'currently unused',
`installed` boolean NOT NULL DEFAULT '0' COMMENT 'currently always 1',
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'currently unused',
`timestamp` int unsigned NOT NULL DEFAULT 0 COMMENT 'file timestamp to check for reloads',
`plugin_admin` boolean NOT NULL DEFAULT '0' COMMENT '1 = has admin config, 0 = has no admin config',
PRIMARY KEY(`id`),
INDEX `installed_name` (`installed`,`name`),
UNIQUE INDEX `name` (`name`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registered addons';
--
-- TABLE apcontact
--
@ -499,8 +484,8 @@ CREATE TABLE IF NOT EXISTS `cache` (
--
CREATE TABLE IF NOT EXISTS `config` (
`id` int unsigned NOT NULL auto_increment COMMENT '',
`cat` varbinary(50) NOT NULL DEFAULT '' COMMENT '',
`k` varbinary(50) NOT NULL DEFAULT '' COMMENT '',
`cat` varbinary(50) NOT NULL DEFAULT '' COMMENT 'The category of the entry',
`k` varbinary(50) NOT NULL DEFAULT '' COMMENT 'The key of the entry',
`v` mediumtext COMMENT '',
PRIMARY KEY(`id`),
UNIQUE INDEX `cat_k` (`cat`,`k`)
@ -579,6 +564,27 @@ CREATE TABLE IF NOT EXISTS `delayed-post` (
FOREIGN KEY (`wid`) REFERENCES `workerqueue` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Posts that are about to be distributed at a later time';
--
-- TABLE delivery-queue
--
CREATE TABLE IF NOT EXISTS `delivery-queue` (
`gsid` int unsigned NOT NULL COMMENT 'Target server',
`uri-id` int unsigned NOT NULL COMMENT 'Delivered post',
`created` datetime COMMENT '',
`command` varbinary(32) COMMENT '',
`cid` int unsigned COMMENT 'Target contact',
`uid` mediumint unsigned COMMENT 'Delivering user',
`failed` tinyint DEFAULT 0 COMMENT 'Number of times the delivery has failed',
PRIMARY KEY(`uri-id`,`gsid`),
INDEX `gsid_created` (`gsid`,`created`),
INDEX `uid` (`uid`),
INDEX `cid` (`cid`),
FOREIGN KEY (`gsid`) REFERENCES `gserver` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Delivery data for posts for the batch processing';
--
-- TABLE diaspora-contact
--
@ -602,7 +608,7 @@ CREATE TABLE IF NOT EXISTS `diaspora-contact` (
`gsid` int unsigned COMMENT 'Global Server ID',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
`interacting_count` int unsigned DEFAULT 0 COMMENT 'Number of contacts this contact interactes with',
`interacting_count` int unsigned DEFAULT 0 COMMENT 'Number of contacts this contact interacts with',
`interacted_count` int unsigned DEFAULT 0 COMMENT 'Number of contacts that interacted with this contact',
`post_count` int unsigned DEFAULT 0 COMMENT 'Number of posts and comments',
PRIMARY KEY(`uri-id`),
@ -803,6 +809,7 @@ CREATE TABLE IF NOT EXISTS `inbox-entry-receiver` (
CREATE TABLE IF NOT EXISTS `inbox-status` (
`url` varbinary(383) NOT NULL COMMENT 'URL of the inbox',
`uri-id` int unsigned COMMENT 'Item-uri id of inbox url',
`gsid` int unsigned COMMENT 'ID of the related server',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation date of this entry',
`success` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last successful delivery',
`failure` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last failed delivery',
@ -811,7 +818,9 @@ CREATE TABLE IF NOT EXISTS `inbox-status` (
`shared` boolean NOT NULL DEFAULT '0' COMMENT 'Is it a shared inbox?',
PRIMARY KEY(`url`),
INDEX `uri-id` (`uri-id`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
INDEX `gsid` (`gsid`),
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
FOREIGN KEY (`gsid`) REFERENCES `gserver` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Status of ActivityPub inboxes';
--
@ -839,6 +848,16 @@ CREATE TABLE IF NOT EXISTS `intro` (
FOREIGN KEY (`suggest-cid`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
--
-- TABLE key-value
--
CREATE TABLE IF NOT EXISTS `key-value` (
`k` varbinary(50) NOT NULL COMMENT '',
`v` mediumtext COMMENT '',
`updated_at` int unsigned NOT NULL COMMENT 'timestamp of the last update',
PRIMARY KEY(`k`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='A key value storage';
--
-- TABLE locks
--
@ -861,7 +880,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
`guid` varbinary(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this private message',
`from-name` varchar(255) NOT NULL DEFAULT '' COMMENT 'name of the sender',
`from-photo` varbinary(383) NOT NULL DEFAULT '' COMMENT 'contact photo link of the sender',
`from-url` varbinary(383) NOT NULL DEFAULT '' COMMENT 'profile linke of the sender',
`from-url` varbinary(383) NOT NULL DEFAULT '' COMMENT 'profile link of the sender',
`contact-id` varbinary(255) COMMENT 'contact.id',
`author-id` int unsigned COMMENT 'Link to the contact table with uid=0 of the author of the mail',
`convid` int unsigned COMMENT 'conv.id',
@ -1439,7 +1458,7 @@ CREATE TABLE IF NOT EXISTS `post-user` (
`event-id` int unsigned COMMENT 'Used to link to the event.id',
`unseen` boolean NOT NULL DEFAULT '1' COMMENT 'post has not been seen',
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide the post from the user',
`notification-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
`notification-type` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
`wall` boolean NOT NULL DEFAULT '0' COMMENT 'This item was posted to the wall of uid',
`origin` boolean NOT NULL DEFAULT '0' COMMENT 'item originated at this site',
`psid` int unsigned COMMENT 'ID of the permission set of this post',
@ -1551,7 +1570,7 @@ CREATE TABLE IF NOT EXISTS `post-user-notification` (
--
CREATE TABLE IF NOT EXISTS `process` (
`pid` int unsigned NOT NULL COMMENT 'The ID of the process',
`hostname` varchar(32) NOT NULL COMMENT 'The name of the host the process is ran on',
`hostname` varchar(255) NOT NULL COMMENT 'The name of the host the process is ran on',
`command` varbinary(32) NOT NULL DEFAULT '' COMMENT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
PRIMARY KEY(`pid`,`hostname`),
@ -1674,15 +1693,20 @@ CREATE TABLE IF NOT EXISTS `register` (
CREATE TABLE IF NOT EXISTS `report` (
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
`uid` mediumint unsigned COMMENT 'Reporting user',
`reporter-id` int unsigned COMMENT 'Reporting contact',
`cid` int unsigned NOT NULL COMMENT 'Reported contact',
`comment` text COMMENT 'Report',
`category` varchar(20) COMMENT 'Category of the report (spam, violation, other)',
`rules` text COMMENT 'Violated rules',
`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',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`),
INDEX `cid` (`cid`),
INDEX `reporter-id` (`reporter-id`),
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
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
@ -2825,7 +2849,9 @@ CREATE VIEW `account-view` AS SELECT
`apcontact`.`statuses_count` AS `ap-statuses_count`,
`gserver`.`site_name` AS `site_name`,
`gserver`.`platform` AS `platform`,
`gserver`.`version` AS `version`
`gserver`.`version` AS `version`,
`gserver`.`blocked` AS `server-blocked`,
`gserver`.`failed` AS `server-failed`
FROM `contact`
LEFT JOIN `item-uri` ON `item-uri`.`id` = `contact`.`uri-id`
LEFT JOIN `apcontact` ON `apcontact`.`uri-id` = `contact`.`uri-id`
@ -2929,7 +2955,9 @@ CREATE VIEW `account-user-view` AS SELECT
`apcontact`.`statuses_count` AS `ap-statuses_count`,
`gserver`.`site_name` AS `site_name`,
`gserver`.`platform` AS `platform`,
`gserver`.`version` AS `version`
`gserver`.`version` AS `version`,
`gserver`.`blocked` AS `server-blocked`,
`gserver`.`failed` AS `server-failed`
FROM `contact` AS `ucontact`
INNER JOIN `contact` ON `contact`.`uri-id` = `ucontact`.`uri-id` AND `contact`.`uid` = 0
LEFT JOIN `item-uri` ON `item-uri`.`id` = `ucontact`.`uri-id`

@ -908,6 +908,13 @@ Identical to [the Twitter Media Object](https://developer.twitter.com/en/docs/tw
<td>Resource ID (32 hex chars)</td>
</tr>
<tr>
<td><code>media-id</code></td>
<td>String (Integer) </td>
<td>ID used for attaching images to a Mastodon Post Status</td>
</tr>
<tr>
<td><code>created</code></td>
<td>String (Date)</td>
@ -1001,6 +1008,14 @@ Mutually exclusive with <code>data</code> <code>datasize</code>.
</td>
</tr>
<tr>
<td><code>scales</code></td>
<td>Array of Photo Scales</td>
<td>
List of the various resized versions of the Photo
</td>
</tr>
<tr>
<td><code>datasize</code></td>
<td>Integer</td>
@ -1040,6 +1055,58 @@ Mutually exclusive with <code>link</code>.
</tbody>
</table>
## Photo Scale
<table class="table table-condensed table-striped table-bordered">
<thead>
<tr>
<th>Attribute</th>
<th>Type</th>
<th align="center">Nullable</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td>String (Integer)</td>
<td>Row ID of this photo scale</td>
</tr>
<tr>
<td><code>scale</code></td>
<td>Integer</td>
<td>Scale number</td>
</tr>
<tr>
<td><code>link</code></td>
<td>String (URL)</td>
<td>URL to this scale's image</td>
</tr>
<tr>
<td><code>height</code></td>
<td>Integer</td>
<td>Image height in pixels</td>
</tr>
<tr>
<td><code>width</code></td>
<td>Integer</td>
<td>Image width in pixels</td>
</tr>
<tr>
<td><code>size</code></td>
<td>Integer</td>
<td>Image size in bytes</td>
</tr>
</tbody>
</table>
## Photo List Item
<table class="table table-condensed table-striped table-bordered">
@ -1103,6 +1170,40 @@ Mutually exclusive with <code>link</code>.
</tbody>
</table>
## Photo Album
<table class="table table-condensed table-striped table-bordered">
<thead>
<tr>
<th>Attribute</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>name</code></td>
<td>String</td>
<td>The name of the photo album</td>
</tr>
<tr>
<td><code>created</code></td>
<td>String (Date)</td>
<td>The creation date of the album. Format <code>YYYY-MM-DD HH:MM:SS</code></td>
</tr>
<tr>
<td><code>count</code></td>
<td>Integer</td>
<td>The number of images in the album</td>
</tr>
</tbody>
</table>
## Private message
<table class="table table-condensed table-striped table-bordered">

@ -135,7 +135,7 @@ Alias of [`api/conversation/show`](#GET+api%2Fconversation%2Fshow).
### GET api/statusnet/config
Returns the public Friendica node configuration.
Returns the public Friendica node configuration.
### GET api/gnusocial/config
@ -163,7 +163,7 @@ Add or remove an activity from an item.
* `attendmaybe`
To remove an activity, prepend the verb with "un", eg. "unlike" or "undislike"
Attend verbs disable eachother: that means that if "attendyes" was added to an item, adding "attendno" remove previous "attendyes".
Attend verbs disable each other: that means that if "attendyes" was added to an item, adding "attendno" remove previous "attendyes".
Attend verbs should be used only with event-related items (there is no check at the moment).
#### Parameters
@ -305,7 +305,7 @@ Returns [Private Messages](help/API-Entities#Private+message) matching the provi
#### Parameters
* `searchstring`: string for which the API call should search as '%searchstring%' in field 'body' of all messages of the authenticated user (caption ignored)
* `getText` (optional): `plain`|`html` If ommited, the title is prepended to the plaintext body in the `text` attribute of the private message objects.
* `getText` (optional): `plain`|`html` If omitted, the title is prepended to the plaintext body in the `text` attribute of the private message objects.
* `getUserObjects` (optional): `true`|`false` If `false`, the `sender` and `recipient` attributes of the private message object are absent.
#### Return values
@ -604,7 +604,7 @@ Sets item table entries for this photo to deleted = 1.
On success:
* JSON return
* JSON return
```json
{
@ -633,7 +633,7 @@ Deletes all images with the specified album name, is not reversible -> ensure th
On success:
* JSON return
* JSON return
```json
{
@ -646,7 +646,7 @@ On error: