Commit Graph

83 Commits

Author SHA1 Message Date
tsmethurst
26ee190338 move to ulid 2021-06-11 18:38:58 +02:00
tsmethurst
625e6d654c more timeline stuff 2021-06-07 20:20:36 +02:00
tsmethurst
5d65b6ca0a i can't even 2021-06-06 18:02:03 +02:00
tsmethurst
d55c5d8f42 fix up some little things 2021-06-06 12:01:20 +02:00
tsmethurst
86fd23ccd9 some more hacking away at the timeline code phew 2021-06-05 18:51:14 +02:00
tsmethurst
96048d7f07 fix regex 2021-06-05 12:54:08 +02:00
tsmethurst
c85c63680d mention regex better but not 100% there 2021-06-05 12:47:30 +02:00
tsmethurst
197ef03ead federate status deletes properly 2021-06-04 16:35:58 +02:00
tsmethurst
5d2b69c256 moving stuff around 2021-06-04 14:39:56 +02:00
tsmethurst
1f44b06c06 restructure a bunch, get unfaves working 2021-06-04 14:16:29 +02:00
tsmethurst
de3b6bc6d9 Select accounts where empty string 2021-06-03 21:13:13 +02:00
tsmethurst
31a24167fe lint and fmt 2021-06-03 18:16:33 +02:00
tsmethurst
ab7db633d0 update timeline with new posts as they come in 2021-06-03 18:11:25 +02:00
tsmethurst
5acca2a735 bit more progress 2021-06-03 10:57:24 +02:00
tsmethurst
c23075cac2 it's coming along 2021-06-02 19:52:15 +02:00
tsmethurst
8232400ff0 i continue to not know what i'm doing 2021-06-01 21:36:55 +02:00
tsmethurst
d26c689696 i have no idea what i'm doing 2021-06-01 20:09:28 +02:00
tsmethurst
34915b3e66 start messing about with timeline manager 2021-06-01 13:19:50 +02:00
Tobi Smethurst
6ac6f8d614
Tidy + timeline embetterment (#38)
* tidy up timelines a bit + stub out some endpoints

* who's faved and who's boosted, reblog notifs

* linting

* Update progress with new endpoints
2021-05-31 17:36:35 +02:00
Tobi Smethurst
3d77f81c7f
Move a lot of stuff + tidy stuff (#37)
Lots of renaming and moving stuff, some bug fixes, more lenient parsing of notifications and home timeline.
2021-05-30 13:12:00 +02:00
tsmethurst
c4d791be75 fix some lil bugs in search 2021-05-29 20:35:03 +02:00
Tobi Smethurst
1fe5e36ac3
Search (#36)
First implementation of search functionality for remote account and status lookups.
2021-05-29 19:39:43 +02:00
tsmethurst
cb54324430 federate account updates 2021-05-28 22:47:18 +02:00
Tobi Smethurst
87177d840b
Announce/boost (#35)
Remote boosts incoming/outgoing now working.
2021-05-28 19:57:04 +02:00
Tobi Smethurst
40add68691
Notifications (#34)
Notifications working for:

* Mentions
* Faves
* New follow requests
* New followers
2021-05-27 16:06:24 +02:00
Tobi Smethurst
e670c32a91
Faves (#31)
* start on federating faves

* outbound federation of likes working
2021-05-24 18:49:48 +02:00
Tobi Smethurst
ee65d19ff3
status deletes, profile updates (#30)
1. Proper DELETE of federated statuses (not yet deleting all the media and stuff -- i still have to implement this -- but the actual status is toast).
2. Proper UPDATE of profiles. When you change your profile picture on your remote instance, that will now register properly in GoToSocial.
3. Scrolling down the home timeline - it no longer just sort of ends, and will keep loading older statuses as you scroll.
4. Little bugfixes -- still had some nil pointer errors when dereferencing remote accounts.
2021-05-23 18:07:04 +02:00
tsmethurst
aeb665df55 small fiddling to allow whalebird to work (a bit) 2021-05-22 15:51:20 +02:00
Tobi Smethurst
43c3a47773
Admin cli (#29)
Now you can use the CLI tool to:

* Create a new account with the given username, email address and password (which will be hashed of course).
* Confirm the account's so that it can log in and post.
* Promote the account to admin.
* Demote the account from admin.
* Disable the account.
* Suspend the account.
2021-05-22 14:26:45 +02:00
Tobi Smethurst
0df2e18cc0
Home timeline (#28)
* v. basic implementation of home timeline

* Go fmt ./...
2021-05-21 23:04:59 +02:00
Tobi Smethurst
d839f27c30
Follows and relationships (#27)
* Follows -- create and undo, both remote and local
* Statuses -- federate new posts, including media, attachments, CWs and image descriptions.
2021-05-21 15:48:26 +02:00
Tobi Smethurst
6cd033449f
Refine statuses (#26)
Remote media is now dereferenced and attached properly to incoming federated statuses.
    Mentions are now dereferenced and attached properly to incoming federated statuses.
    Small fixes to status visibility.
    Allow URL params for filtering statuses:

	// ExcludeRepliesKey is for specifying whether to exclude replies in a list of returned statuses by an account.
      	// PinnedKey is for specifying whether to include pinned statuses in a list of returned statuses by an account.
      	// MaxIDKey is for specifying the maximum ID of the status to retrieve.
      	// MediaOnlyKey is for specifying that only statuses with media should be returned in a list of returned statuses by an account.

    Add endpoint for fetching an account's statuses.
2021-05-17 19:06:58 +02:00
Tobi Smethurst
cc48294c31
Inbox post (#22)
Inbox POST from federated servers now working for statuses and follow requests.
    Follow request client API added.
    Start work on federating outgoing messages.
    Other fixes and changes/tidying up.
2021-05-15 11:58:11 +02:00
Tobi Smethurst
742f985d5b
Mediahandler (#21)
Media GET and media PUT handlers
2021-05-10 16:29:05 +02:00
Tobi Smethurst
dc338dc881
Webfinger + Small fixes (#20) 2021-05-09 20:34:27 +02:00
Tobi Smethurst
41915ab371
Fix token sweep (#19)
* fix token sweep not working
* change sweep message to trace
2021-05-09 14:28:43 +02:00
Tobi Smethurst
3363e0ebdd
add api/v1/instance info handler + instance model (#18) 2021-05-09 14:06:06 +02:00
Tobi Smethurst
0cbab627c7
Letsencrypt (#17) 2021-05-09 11:25:13 +02:00
Tobi Smethurst
3c539cdfd6
status boosts (#16) 2021-05-08 15:16:24 +02:00
Tobi Smethurst
6f5c045284
Ap (#14)
Big restructuring and initial work on activitypub
2021-05-08 14:25:55 +02:00
Tobi Smethurst
ac9adb172b
Revert "make boosts work woo (#12)" (#15)
This reverts commit 9616f46424.
2021-05-08 14:25:23 +02:00
Tobi Smethurst
9616f46424
make boosts work woo (#12) 2021-04-21 18:22:31 +02:00
tsmethurst
dafc3b5b92 linting + organizing 2021-04-20 18:14:23 +02:00
Tobi Smethurst
32c5fd987a
Api/v1/statuses (#11)
This PR adds:
Statuses

    New status creation.
    View existing status
    Delete a status
    Fave a status
    Unfave a status
    See who's faved a status

Media

    Upload media attachment and store/retrieve it
    Upload custom emoji and store/retrieve it

Fileserver

    Serve files from storage

Testing

    Test models, testrig -- run a GTS test instance and play around with it.
2021-04-19 19:42:19 +02:00
Tobi Smethurst
71a49e2b43
Api/v1/accounts (#8)
* start work on accounts module

* plodding away on the accounts endpoint

* groundwork for other account routes

* add password validator

* validation utils

* require account approval flags

* comments

* comments

* go fmt

* comments

* add distributor stub

* rename api to federator

* tidy a bit

* validate new account requests

* rename r router

* comments

* add domain blocks

* add some more shortcuts

* add some more shortcuts

* check email + username availability

* email block checking for signups

* chunking away at it

* tick off a few more things

* some fiddling with tests

* add mock package

* relocate repo

* move mocks around

* set app id on new signups

* initialize oauth server properly

* rename oauth server

* proper mocking tests

* go fmt ./...

* add required fields

* change name of func

* move validation to account.go

* more tests!

* add some file utility tools

* add mediaconfig

* new shortcut

* add some more fields

* add followrequest model

* add notify

* update mastotypes

* mock out storage interface

* start building media interface

* start on update credentials

* mess about with media a bit more

* test image manipulation

* media more or less working

* account update nearly working

* rearranging my package ;) ;) ;)

* phew big stuff!!!!

* fix type checking

* *fiddles*

* Add CreateTables func

* account registration flow working

* tidy

* script to step through auth flow

* add a lil helper for generating user uris

* fiddling with federation a bit

* update progress

* Tidying and linting
2021-04-01 20:46:45 +02:00
Tobi Smethurst
aa9ce272dc
Oauth/token (#7)
* add host and protocol options

* some fiddling

* tidying up and comments

* tick off /oauth/token

* tidying a bit

* tidying

* go mod tidy

* allow attaching middleware to server

* add middleware

* more user friendly

* add comments

* comments

* store account + app

* tidying

* lots of restructuring

* lint + tidy
2021-03-22 22:26:54 +01:00
tsmethurst
4194f8d88f fix lint errors 2021-03-20 19:44:18 +01:00
tsmethurst
044c0df428 go fmt 2021-03-20 19:08:17 +01:00
tsmethurst
d0e6625d6e tidying up 2021-03-20 19:06:28 +01:00
tsmethurst
2b7b562a43 add apps handler 2021-03-20 19:05:37 +01:00