f9290705f8
[ActivityPub] Attachment fetch should happen on StoreRemoteMedia
2021-02-21 16:03:46 +00:00
e51520bd63
[Core] Add an event for StoreRemoteMedia and Embed
2021-02-21 16:03:46 +00:00
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
e9cd437668
[DOCUMENTATION] git clone with https so people don't need an account
2021-02-21 15:57:00 +00:00
aa153f2ee7
[i18n] Re-add gettext emulation
...
Removed by mistake with 9cc7df51d6#L50
2021-02-21 15:38:49 +00:00
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
Diogo Cordeiro
e4093343c2
[ActivityPub] Revert moving Disfavor to Queues
...
It seems this kind of notice isn't queued?
2020-08-27 02:14:47 +01:00
Diogo Cordeiro
101ea554ef
[ActivityPub][Queues] Fix Like
2020-08-27 02:12:22 +01:00
Diogo Cordeiro
ef6a986dc6
[TheFreeNetwork] Do not allow lower priority protocols to handle remote actors already handled by the higher ones
2020-08-27 01:32:15 +01:00
Alexei Sorokin
db593496a7
[Directory] Fix SQL string quotation
2020-08-26 16:27:35 +03:00
Alexei Sorokin
00c492891e
[Foreign_link] Change the type of "credentials" to blob
...
TwitterOAuthClient::packToken uses \0 as a delimeter which can cause issues on
TEXT or VARCHAR.
2020-08-25 16:06:37 +03:00
Alexei Sorokin
0e81f9c726
[OpenID] Correct table definition types
...
"server_url" should not be blob.
Lengths are adjusted to Auth/OpenID/(PostgreSQL|MySQL)Store.php.
2020-08-24 16:27:44 +03:00
Alexei Sorokin
b419c5cf7c
[Queue_item] Let DataObject construct WHERE IN
2020-08-24 16:16:00 +03:00
Alexei Sorokin
20e5a6d1f3
[TwitterBridge][DAEMONS] Fix database connection clean-up
2020-08-24 15:43:14 +03:00
Alexei Sorokin
99a9a5d850
[NOTICES] Condition pushdown in the subquery in inboxnoticestream
...
This improves performance on PostgreSQL.
2020-08-19 19:14:11 +03:00
Alexei Sorokin
a15d51c3d8
[DATABASE][PostgreSQL] Ignore index prefix length
2020-08-17 17:01:42 +03:00
Alexei Sorokin
b01974b665
[PostgreSQL] Set timezone to UTC
...
And remove some redundant neighbouring cruft:
utf8mb4 is already set in mysqlschema more than enough times.
2020-08-17 16:52:11 +03:00
Alexei Sorokin
be5bec9887
Rename the mysql_foreign_keys option to foreign_keys
...
And apply it universally.
2020-08-17 14:12:49 +03:00
Alexei Sorokin
27045f03f5
[SESSION] Session ID can be as long as 128 characters
2020-08-17 13:58:19 +03:00