Commit graph

326 commits

Author SHA1 Message Date
Kelson Vibber
3931640b69 Put hostname in OAuth page title for web-based clients like Elk 2023-09-21 01:16:13 +00:00
Kelson Vibber
d9b6688e03 Add title to OAuth page for web-based clients like Elk 2023-09-21 01:12:28 +00:00
Kelson Vibber
03f956b14e Explicitly support dark mode to fix mismatched colors in clients like Tusky 2023-09-21 01:03:57 +00:00
default
e14ad56994 mastoapi: Added fields list in verify_credentials. 2023-09-18 11:57:55 +02:00
default
0ee61d53d4 mastoapi: ensure attachment and tag lists are tags. 2023-08-25 07:47:18 +02:00
default
4bc619e2fc mastoapi: process tag lists that are not lists correctly. 2023-08-23 18:32:08 +02:00
default
cf0aa96a35 mastoapi: some tweaks for posts from lemmy. 2023-08-20 16:03:46 +02:00
default
93bdf79eb6 mastoapi: in instance, return the list of supported mime types from the internal list. 2023-08-17 18:06:36 +02:00
default
d26b31ed1d mastoapi: minor fix in verify_credentials. 2023-08-16 18:18:46 +02:00
default
2bea378610 mastoapi: Some tweaks to process posts with 'name' and 'image' fields. 2023-08-14 20:11:03 +02:00
default
3d2d75315e mastoapi: show the instance's title and short_description, if they exist. 2023-08-14 11:31:11 +02:00
default
2f0d604f0c More mastoapi tweaks. 2023-08-13 13:00:36 +02:00
default
a0906208ea Use some new xs_stock values. 2023-08-13 12:09:35 +02:00
default
b2920e9956 Added avatar_static to validate_credentials object. 2023-08-12 21:53:35 +02:00
default
07be3721c1 Some mastoapi tweaks to support the semaphore.social web client. 2023-08-12 21:46:54 +02:00
default
ee31fa4bae Fixed crash. 2023-08-12 18:42:11 +02:00
default
d48819ded8 Some mastoapi instance object tweaks. 2023-08-12 18:38:55 +02:00
default
72839e59a0 mastoapi: fixed /api/timelines/public to not need a bearer token. 2023-08-12 12:10:42 +02:00
default
cac1c6febd Rewritten actor_get() to not depend on a user. 2023-08-12 11:23:01 +02:00
default
499697258d Rewritten is_msg_public() to not depend on a user. 2023-08-12 09:43:01 +02:00
default
574c0ca8af Fixed some mastoapi minor errors. 2023-08-10 19:37:33 +02:00
default
3e5bb109d1 Renamed json dump functions to new xs spec. 2023-08-08 19:29:34 +02:00
default
15f755960b Added xs_json_load() wherever possible. 2023-08-05 14:56:07 +02:00
default
f5a3dbf8d6 Use xs_json_dump_pp() wherever possible. 2023-08-03 09:02:08 +02:00
default
0f8c0cd694 Updated comment in headers. 2023-07-28 11:34:18 +02:00
default
d1add0598a In mastoapi, notes can be pinned / unpinned. 2023-06-28 20:36:33 +02:00
default
15684721c3 Added some lost fields in mastoapi_status(). 2023-06-28 19:53:25 +02:00
default
9a47a7c2d1 Don't discard notes from people we don't follow in mastoapi. 2023-06-28 19:16:58 +02:00
default
478cb2cf15 Use xs_stock_* values wherever possible. 2023-06-15 17:51:24 +02:00
default
3977a12bef Avoid writing a NULL header in mastoapi_account(). 2023-06-12 19:39:15 +02:00
Haijo7
42958900a0
removed additinal empty string 2023-06-12 19:01:38 +02:00
Haijo7
564b5b1161 add mastodon profile header to mastodon api 2023-06-12 10:42:59 +02:00
Haijo7
9b1c5cc843
set bot to true in mastodon account if user type is service 2023-06-11 16:53:50 +02:00
Haijo7
2544ec92b2
add user type to mastodon profile 2023-06-11 16:38:06 +02:00
poesty
fb5f34bb5a Only allow logged-in user to use statuses API 2023-06-11 12:06:37 +08:00
poesty
15137fc5c7 Only allow logged-in user to use search API 2023-06-11 03:04:08 +08:00
poesty
2b64892e83 Use MID_TO_MD5 for ID comparison 2023-06-10 14:35:16 +08:00
poesty
56c44eb455 Ignore non-followed users' notes without boosts in private timeline 2023-06-10 14:07:58 +08:00
poesty
86198549e7 Ignore timestamps in mastoapi_id when filtering entries 2023-06-10 02:39:11 +08:00
default
fafdbbf815 Replaced usage of random() with xs_rnd_buf(). 2023-06-05 18:29:25 +02:00
default
513d81c694 Now you can vote from the mastoapi. 2023-06-01 08:40:08 +02:00
default
182ba33c76 Minor refactoring to mastoapi_poll(). 2023-06-01 08:13:58 +02:00
default
3b72b0f0ac New function was_question_voted(). 2023-05-31 22:06:31 +02:00
default
796a111de8 New function mastoapi_poll(). 2023-05-31 18:35:50 +02:00
default
bec8e88fb9 Started voting on mastoapi (non-working). 2023-05-31 11:13:06 +02:00
default
a3eb84b932 Fixed poll id in mastoapi. 2023-05-31 10:57:06 +02:00
default
96481a3836 Don't show votes to polls as descendants in mastoapi. 2023-05-31 10:51:37 +02:00
default
db1bc858a1 Votes are shown in mastoapi. 2023-05-31 10:49:08 +02:00
default
bcc2eb6234 Show the finished poll notification correctly in mastoapi. 2023-05-30 15:01:45 +02:00
default
654e171b93 New macro ISO_DATE_SPEC. 2023-05-29 09:07:27 +02:00
default
ec1ee8a137 Added the missing field "header" to mastodon acoount. 2023-05-27 13:43:50 +02:00
default
bf6fcee21c In mastoapi, don't show poll votes in timelines. 2023-05-24 14:12:21 +02:00
default
d4695a9cbb Mastoapi: added block / unblock. 2023-05-18 09:46:21 +02:00
default
970ad7a540 Got rid of xs_encdec.h. 2023-05-17 10:08:57 +02:00
default
81cec4ab27 Don't autocomplete local users if they are already added. 2023-05-17 08:03:46 +02:00
default
9bc10da8a5 In mastoapi account search, return local users at the end. 2023-05-17 07:27:08 +02:00
default
e6eb1adc65 Also find local users in /api/v1/search. 2023-05-15 13:04:30 +02:00
default
3e1944abbf Deleted repeated code. 2023-05-15 11:38:29 +02:00
default
40fa322c54 mastoapi_account() returns the acct field as user@host. 2023-05-15 11:36:09 +02:00
default
bcf267075d Made mastoapi account search case-insensitive. 2023-05-15 11:28:59 +02:00
default
bd8886f8a6 Don't repeat accounts when searching. 2023-05-15 11:23:36 +02:00
default
e9588a71ae Add /v1/account/search support. 2023-05-15 11:15:28 +02:00
default
bdb1ce3fdf Added more comment marks. 2023-05-12 13:06:38 +02:00
default
5325da02e6 Added some code comments. 2023-05-12 12:29:24 +02:00
default
6d82dde0c5 Added support from exclude notification types. 2023-05-11 10:54:56 +02:00
default
2a073116d3 In /relationship, the id[] can be a list. 2023-05-11 10:44:27 +02:00
default
de12b8d0a2 Fill the mastoapi instance contact_account field, if possible. 2023-05-08 10:13:43 +02:00
default
e2e7bc2d71 Added a source (web, mastoapi, etc) to lastlog_write(). 2023-05-08 09:02:45 +02:00
default
eed24fde1a Fixed a bug in Tusky's image send. 2023-05-06 11:10:08 +02:00
default
212d1350fe Fixed mastoapi debug levels. 2023-05-04 11:53:17 +02:00
default
ec6f94e27e New url /oauth/x-snac-get-token. 2023-05-04 11:52:04 +02:00
default
f6ef275fa3 Made the post action configurable in login_page. 2023-05-04 11:08:35 +02:00
default
980a8d524f Fixed more warnings. 2023-05-04 09:34:33 +02:00
default
185aac2387 Added -Wextra to C flags. 2023-05-04 09:28:36 +02:00
default
a9f0f2f695 Avoid crash in optional mastoapi argument. 2023-05-04 06:27:13 +02:00
default
0bd609f5be Fixed missing notifications in certain circunstancies. 2023-05-03 07:57:10 +02:00
default
be5f08e6c3 Use xs_replace_n() where it suits. 2023-05-02 06:49:00 +02:00
default
4595a36859 Partial support for mastoapi unfavourite / unreblog. 2023-05-01 17:20:49 +02:00
default
a7d4513f77 In /api/v1/statuses, get the object from the storage instead of from the timeline.
This was affecting clicking on posts from the instance timeline, that were not
in the logged-in user timeline.
2023-05-01 07:35:26 +02:00
default
cfa0df3ac5 The instance timeline now works. 2023-04-30 07:00:49 +02:00
default
ede4d6f2dc Some instance timeline work. 2023-04-30 06:39:55 +02:00
default
d0e08277da Incomplete mastoapi apps are purged. 2023-04-28 08:58:33 +02:00
default
765f63772f New function mastoapi_purge() (still dummy). 2023-04-28 08:33:02 +02:00
default
b620fe99fa Ensure the new app client_id is unique. 2023-04-28 08:28:17 +02:00
default
a28d717da5 Hide hidden posts from timelines. 2023-04-27 08:35:23 +02:00
default
dd4ba7969f Fixed video attachments. 2023-04-26 21:07:00 +02:00
default
9bb08cfd51 Fixed crash in mastoapi search. 2023-04-26 17:37:33 +02:00
default
e2ef581e84 Update lastlog.txt everytime a Bearer token is validated. 2023-04-26 06:37:37 +02:00
default
b8eace33c9 Store the what-is-snac URL as a CPP constant. 2023-04-25 06:40:46 +02:00
default
3fb91ea25a Skip muted morons from timelines and statuses. 2023-04-24 17:49:08 +02:00
default
b6da5b7bb3 Added emojis to mastoapi_account(). 2023-04-24 17:37:59 +02:00
default
f625d88426 Added custom emojis to Statuses. 2023-04-24 17:25:32 +02:00
default
9456a57954 Added the hashtag list to mastoapi_status().
What is this for?
2023-04-24 17:11:12 +02:00
default
cfca2adcb9 Added mentions to mastoapi_status(). 2023-04-24 17:05:34 +02:00
default
3d20adc840 Added some more Instance values. 2023-04-24 16:35:45 +02:00
default
415381831e Added snac limits (no real limits) to the Instance object. 2023-04-24 16:29:21 +02:00
default
997b17d854 Moved JSON output validation to httpd.c. 2023-04-23 15:37:09 +02:00
default
177bf03e10 Fixed bad JSON for accounts that do not have a 'summary' field. 2023-04-23 15:23:20 +02:00
default
04ba2818cb Fixed a bug in the instance timeline. 2023-04-23 14:50:54 +02:00
default
8d4d702da9 Added an instance timeline. 2023-04-23 09:41:43 +02:00
default
82cd5fda7a Don't return that much entries in the mastoapi timeline. 2023-04-23 09:21:18 +02:00
default
4fca7c8a7e Added mastoapi unfollow. 2023-04-23 08:51:02 +02:00
default
291f251ced Added mastoapi follow. 2023-04-23 08:44:26 +02:00
default
88850bdc46 Attend mastoapi relationships.
Now, the follow/unfollow buttons appear on each account's page.
2023-04-23 06:05:35 +02:00
default
5b93e9069e Added mastoapi code for account search. 2023-04-23 05:33:54 +02:00
default
8804227798 New function mastoapi_put_handler(). 2023-04-22 01:21:09 +02:00
default
66d5acc822 Use static_get_meta() when preparing the attachment. 2023-04-22 00:51:06 +02:00
default
73e7195e6c Added mastoapi support for adding images. 2023-04-22 00:17:42 +02:00
default
526d4e8abb Added a new compilation variable NO_MASTODON_API.
The Mastodon API is a big and ugly beast; if you don't want
it in your snac, you can compile it out by running

make CFLAGS=-DNO_MASTODON_API

And your snac binary will be as slim as always.
2023-04-21 23:17:58 +02:00
default
46f23ec85e Commented out more debugging code. 2023-04-20 18:45:39 +02:00
default
46bf844f1c Commented out test code. 2023-04-20 18:43:57 +02:00
default
04e61ea475 More complete mastodon api instance object.
But Megalodon keeps crashing.
2023-04-20 18:37:09 +02:00
default
350a489bd0 Deleted debug code. 2023-04-20 17:59:35 +02:00
default
76445d157a Use server.json "admin_email" in mastoapi instance object. 2023-04-20 17:59:09 +02:00
default
3ccf4e3759 arc4random() does not exist in not-so-old systems, so revert this.
Revert "Replaced random() with arc4random()."

This reverts commit f658f345ca.
2023-04-16 20:27:38 +02:00
default
f658f345ca Replaced random() with arc4random(). 2023-04-16 20:19:25 +02:00
default
8205159f8c Replaced strcpy() with strncpy().
To shut up some compiler whining.
2023-04-16 20:12:44 +02:00
default
52e3d6032c Also accept /api/v2 urls. 2023-04-16 08:13:45 +02:00
default
0240c871f3 New function user_open_by_md5(). 2023-04-16 07:43:41 +02:00
default
2ec58144ba Temporary fix to this account show error. 2023-04-16 07:34:26 +02:00
default
cc48f25e98 Return context ancestors in the right order. 2023-04-16 07:17:16 +02:00
default
604c1f0bce Fixed use-after-free in reply messages. 2023-04-16 07:12:57 +02:00
default
fd0440dd75 Don't strip the api version in mastoapi post handler. 2023-04-16 06:41:13 +02:00
default
81100cb825 Posts can now be sent (still no images). 2023-04-15 19:05:26 +02:00
default
5ec593da2c Force failure in Mastodon API before it gets to a crash-on-startup situation. 2023-04-15 18:14:24 +02:00
default
512058bbc5 Added entrypoint /push/subscription.
The returned object is just wild guessing, I don't understand all
this things. Anyway, the offical app keeps crashing.
2023-04-15 18:06:18 +02:00
default
95d90e5475 Added some more dummy entry points. 2023-04-15 16:40:48 +02:00
default
84077aa9eb Added the 'header' field to verify_credentials.
Megalodon accepted, but now crashes on input.
2023-04-15 09:52:48 +02:00
default
ec51d59e24 Some fixes to allow Megalodon to work.
The instance object was wrong and the oauth args can appear as JSON.
2023-04-15 09:44:09 +02:00
default
9e7a77c10f New mastoapi to clear all notifications. 2023-04-14 19:39:31 +02:00
default
cb616d6eb5 New notifications web page. 2023-04-14 12:23:32 +02:00
default
35c611b8b9 Fixed crash in notification list. 2023-04-14 08:37:33 +02:00
default
815c39d0c6 Added a dummy 'created_at' field for accounts that don't have a date.
This avoid a crash in Tusky.
2023-04-14 08:14:11 +02:00
default
51208b10c1 Implemented mastoapi notifications. 2023-04-13 17:56:00 +02:00
default
1a27e67ed9 New functions notify_get() and notify_list(). 2023-04-13 17:34:48 +02:00
default
bcde97c2d5 New function notify_add(). 2023-04-13 16:59:17 +02:00
default
2d5d63554c Started working on a notification list. 2023-04-13 15:32:13 +02:00
default
225c45ddaf More log level tweaks. 2023-04-13 10:03:25 +02:00
default
a558ad803c Changed mastoapi log levels. 2023-04-13 09:59:00 +02:00
default
963f2cf79a Updated RELEASE_NOTES. 2023-04-13 06:38:05 +02:00
default
ff4cee0b5c The snac page has been renamed to what-is-snac. 2023-04-12 20:40:44 +02:00
default
ec48b8ef8c Relationships can only be queried if logged in. 2023-04-12 20:33:42 +02:00
default
bb61b04e66 Dummy /accounts/relationships. 2023-04-12 20:25:41 +02:00
default
e146c2afa8 Also return (some) information for non-local users. 2023-04-12 20:20:46 +02:00
default
0d4406e16c Added the mastodon account data. 2023-04-12 18:54:20 +02:00
default
668f69dca9 Added the mastodon personal timeline. 2023-04-12 18:44:15 +02:00
default
a2cab2bab6 Updated RELEASE_NOTES. 2023-04-12 15:43:06 +02:00
default
ed957b4646 Added support for like and boost lists. 2023-04-12 15:28:43 +02:00
default
8d9e4667b7 Added forgotten user cleanup in mastoapi_post_handler(). 2023-04-12 12:16:23 +02:00
default
885031bed9 Don't generate invalid JSON if an attachment has no description. 2023-04-12 10:41:15 +02:00
default
aa86357237 Use the ctime instead of the published date in mastoapi_id(). 2023-04-12 10:19:43 +02:00
default
889f3192dd Commented out debugging messages. 2023-04-11 21:11:33 +02:00
default
c0a48f1f4e Added support for likes and boosts. 2023-04-11 21:07:47 +02:00
default
036be9d02c Added some comments. 2023-04-11 20:16:12 +02:00
default
a7f3ba6027 Added many dummy lists. 2023-04-11 20:10:24 +02:00
default
df78584911 Added support for statuses/:id and statuses/:id/context. 2023-04-11 19:59:02 +02:00
default
a4051f7f37 Started work in /api/v1/statuses. 2023-04-11 11:00:06 +02:00
default
79224ca2b5 New function mastodon_status(). 2023-04-11 09:50:12 +02:00
default
7c9846ef3e Added /api/v1/instance. 2023-04-10 16:08:26 +02:00
default
9e9d740199 Added image attachments. 2023-04-10 13:22:59 +02:00
default
3fb651b7b1 Added some tweaks for AndStatus, that does some things different (still non-working).
AndStatus expects a 'state' field to be propagated and doesn't send
the 'client_secret' as a GET argument, but in a Basic authorization header.
2023-04-10 12:55:03 +02:00
default
1cfa00eaaf New function mastoapi_id(), that creates mostly-compatible Ids.
Most apps (all?) sort entries by status Id, so they must be time-sorted (somewhat).
2023-04-10 12:14:16 +02:00
default
862dafd066 Some timeline fixes. 2023-04-10 11:30:00 +02:00
default
ea49eba404 More mastoapi timeline work. 2023-04-10 10:23:14 +02:00
default
429be774d2 Also delete the app in token revokation. 2023-04-10 09:21:14 +02:00
default
578d70ddc0 More work in status entries. 2023-04-10 08:52:04 +02:00
default
a65f1911d4 Limit the number of entries returned using the max_id. 2023-04-10 00:40:48 +02:00
default
02a5006857 More mastoapi work. 2023-04-10 00:08:51 +02:00
default
ca89f8b846 Fixed avatar. 2023-04-09 22:10:49 +02:00
default
ccce01d285 More mastoapi work. 2023-04-09 21:31:56 +02:00
default
4ced03bac1 OAuth login now works. 2023-04-09 20:34:05 +02:00
default
752058bf66 More mastoapi work. 2023-04-08 10:29:33 +02:00
default
bbbce7afac The /oauth/authorize URL generates a login page. 2023-04-08 09:27:22 +02:00
default
4964a56456 More mastoapi work. 2023-04-08 09:09:43 +02:00
default
eba6987fd5 Added some OAuth scaffold code. 2023-04-08 07:04:40 +02:00
default
353e393f4d New file mastoapi.c. 2023-04-08 06:09:05 +02:00