Commit Graph

18553 Commits

Author SHA1 Message Date
Diogo Peralta Cordeiro
5b23781e68 [StoreRemoteMedia] Gracefully recover from poorly encoded images 2021-04-13 14:54:56 +01:00
Diogo Peralta Cordeiro
edc9fd203d [StoreRemoteMedia] Increase type strictness 2021-04-13 14:54:56 +01:00
Diogo Peralta Cordeiro
844ecbf71e [Embed] Revert defaults and fix Readme example 2021-02-21 20:20:48 +00:00
Diogo Peralta Cordeiro
8570ad2094 [StoreRemoteMedia][SCRIPTS] Move removeRemoteMedia deleteRemoteMedia 2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
bc3eb7bccc [MEDIA] Allow thumbnail only entries 2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
800c0daafe [StoreRemoteMedia][SCRIPTS] Update removeRemoteMedia 2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
9b1ccdc320 [SCRIPTS] Update clean_file_table 2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
6c8e826028 [MEDIA][SCRIPTS] clean_thumbnails Allow to delete remote thumbs as well
If the sysadmin decides that StoreRemoteMedia plugin should store
original, then its thumbs will be regenerated as well, making it safe to
delete them if needed. Beware that Embed plugin never stores the original tho.
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
d47bb3736e [Media] Document recently added settings and add some more
Fix some buggy ones, especially Embed crop
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
ec1719e61d [StoreRemoteMedia][Embed] Bump plugins version 2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
a657a7809a [Media] Upload of previously uploaded files now works (bug fix)
This bug was introduced with the commit "[Media] Fix issues with database file storage"
due to the API change "File::getByHash now returns a yield of files".

I had updated this function on that commit but had missed this little detail.
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
ef0f65720e [StoreRemoteMedia] Remote images are now stored exactly on the necessary size for the thumb 2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
22b5dd8567 [Media] Fix several issues
[StoreRemoteMedia] Upgrade plugin to use the new Media system

API Changes:
- Added getters to File to better formalize the ideas of the commit "[Media] Fix issues with database file storage"

UI Changes:
- Now presented thumbnails are actual thumbnails (bug fix)
- Attachment actions have a slightly more extended behaviour

Many other minor bug fixes...
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
f9290705f8 [ActivityPub] Attachment fetch should happen on StoreRemoteMedia 2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
e51520bd63 [Core] Add an event for StoreRemoteMedia and Embed 2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
6028175bfc [Media] Fix issues with database file storage
Fixed file quota as well.

There can be more than one file for the same filehash IF the url are different.

Possible states:
  - A file with no url and with filename is a local file.
  - A file with an url but no filename is a remote file that wasn't fetched,
    not even the thumbnail.
  - A file with an url and filename is a fetched remote file (maybe just a
    thumbnail of it).
  - A file with no filename nor url is a redirect.

Routes:
  Given these states, updated routes so that an attachment can only be
  retrieved by id and a file by filehash.

Major API changes:
  File::getByHash now returns a yield of files

Major UI changes:
  - Now remote non stored files are presented.
  - /view became preferred
  - Redirects to remote originals are preferred.

Many other minor bug fixes...
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
e9cd437668 [DOCUMENTATION] git clone with https so people don't need an account 2021-02-21 15:57:00 +00:00
Diogo Peralta Cordeiro
aa153f2ee7 [i18n] Re-add gettext emulation
Removed by mistake with 9cc7df51d6#L50
2021-02-21 15:38:49 +00:00
Diogo Peralta Cordeiro
b1e6b00545 [ActivityPub] Re-implement Delete Actor 2021-02-21 15:00:58 +00:00
Diogo Cordeiro
4f0ddc85d3 Merge branch 'ukrainian-translation-fix-branch' of tokarskiy/gnu-social into nightly 2020-12-31 11:20:15 +00:00
Andrew Tokarskiy
5d45702d5f Added some ukr translations 2020-12-31 10:17:45 +02:00
Andrew Tokarskiy
d731a5cb09 Fixed some ukrainian translation errors 2020-12-30 20:00:00 +02:00
Alexei Sorokin
06dfd91a82 Various fixes
Fix OAuth and Realtime issues introduced in 9a515b9234

[DATABASE] Fix an empty default value mistake introduced in
fde929b151

[DATABASE][PostgreSQL] Avoid use of pg_constraint.consrc, which was removed in
PostgreSQL 12.

[DATABASE][MariaDB] Fix a typo introduced in aed2344bd4

[DAEMON] Wrap an assignment inside "switch":
a follow-up to adc689cb15
2020-10-11 18:29:47 +03:00
Alexei Sorokin
c540466147 [XMPP] Respond to ping and track time monotonically
This also fetches a necessary update from the XMPPHP upstream.
2020-09-27 00:16:08 +03:00
Alexei Sorokin
4d8b04cda9 Clear out potential duplicates when semi-joining a union
Using a left outer join as a semi-join is not a valid approach.
Can still be used for an anti-semi-join.
2020-09-21 22:25:33 +03:00
Alexei Sorokin
aed2344bd4 Set the character set before making a connection
Ideally the character set should be set with the connection, and so this is
exactly what's being done now.

And now the character set code is attempted to be generalised.
2020-09-16 19:34:49 +03:00
SENOO, Ken
c2508f8fa2 Change required MySQL database character set variable
Changing `character_set_server` requires root permissions and rebooting
the server.

Which is impossible on shared web hosting services.

So use `character_set_database`. This variable can be changed with
user permissions using `ALTER DATABASE`.
2020-09-16 17:14:58 +03:00
Alexei Sorokin
52d67b0f44 Avoid ordering just by a timestamp
Try to also employ an id when possible.
Involves reworking some of the indices.
2020-09-15 16:59:27 +03:00
Alexei Sorokin
8079a476b6 Remove "magic quotes" code and avoid wrong order implode
"Magic quotes" were removed in PHP 5.4, no need to mitigate it anymore.

Avoid implode() with the join()-like order of arguments which was deprecated
since PHP 7.4 and implicitly since PHP 5.3.
Also avoid implode() with an implicit separator for stylistic reasons.

mktime() with no arguments has been deprecated since PHP 5.1.
2020-09-15 14:59:27 +03:00
Alexei Sorokin
2ef944d5c4 [UTIL] Sanitise instead of validate in common_copy_args()
And remove common_validate_utf8() which is now unused.
2020-09-15 14:53:35 +03:00
Alexei Sorokin
fde929b151 [DATABASE] Switch from PEAR DB to MDB2 2020-09-14 22:46:29 +03:00
Alexei Sorokin
96f1cc1a5c [ActivityPub][INBOX][Delete] Stop if the ID is not present 2020-09-14 21:32:41 +03:00
Alexei Sorokin
647bf8c953 [ActivityPub] Fix use of ActivityPubPlugin::pull_remote_profile
It does not throw but return null.
2020-09-14 20:48:10 +03:00
Alexei Sorokin
d2c7d70f49 Fix "Implement a class for automatic temporary file handling"
TemporaryFile::commit throws instead of returning a bool.
2020-09-14 20:37:48 +03:00
Alexei Sorokin
001629b6dd [Memcached_DataObject] Do not encache on insert
This resulted in N=0 and empty "modified" in cache.
2020-09-14 20:19:17 +03:00
Alexei Sorokin
b04469a252 [DATABASE] Make sure the session always uses UTF-8 and UTC 2020-09-12 15:40:39 +03:00
Alexei Sorokin
54484e56e7 [API] Fix /api/statuses/update reporting a failure 2020-09-12 13:58:57 +03:00
Alexei Sorokin
adc689cb15 Avoid use of assignments bare inside statements
Either use them in a subroutine call or put parentheses around the assignment.
2020-09-08 12:42:51 +03:00
Alexei Sorokin
d0f96a7023 [Profile] Extend the allowed length of nicknames to 191 characters 2020-09-06 21:20:24 +03:00
Alexei Sorokin
08145f635f Implement a class for automatic temporary file handling
And adopt it all over the code.
2020-09-04 13:15:23 +03:00
Alexei Sorokin
4884a97223 [Memcached_DataObject] Change how multiGet achieves an ordered result
The previous approach sent the key values twice, which for large sets is
twice as bad.

As an optional feature of this approach multiGet now allows retrieving tuples
in exact order and amount of the requested key values.
2020-09-03 18:11:12 +03:00
Alexei Sorokin
55136c1c6f [DirectMessage] Simplify the inbox query 2020-09-02 15:12:20 +03:00
Alexei Sorokin
fc300607e5 [ActivityPub] Check if a Notice is public via CC as well 2020-09-01 01:20:13 +03:00
Diogo Cordeiro
8c20ed0c89 [ActivityPub] Fix note URIs 2020-08-31 22:18:49 +01:00
Diogo Cordeiro
c8e9cbdbb8 [ActivityPub] Tombstones now have datetimes 2020-08-30 01:59:38 +01:00
Diogo Cordeiro
3f70ac5cde [TheFreeNetwork] Fix invalid index on lookup 2020-08-30 01:59:35 +01:00
Diogo Cordeiro
11a7182594 [ActivityPub] Implement Failed Queue 2020-08-29 20:32:21 +01:00
Diogo Cordeiro
817074a787 [ActivityPub] Fix DELETE 2020-08-29 20:32:18 +01:00
Diogo Cordeiro
c75bf1a19d [ActivityPub] Fix issues concerning Activity URIs
And some other minor bugs.
2020-08-29 11:29:12 +01:00
Alexei Sorokin
11ebb98919 [DATABASE] Fix use of ORDER BY with DISTINCT
statuses/retweets_of_me has performance fixed, so it is also stripped of its
"bad query" status.
2020-08-27 11:15:39 +03:00