Commit graph

443 commits

Author SHA1 Message Date
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
tsmethurst dc06e71b76 update progress 2021-05-17 19:08:52 +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
tsmethurst 30718d7d10 update progress 2021-05-15 12:47:08 +02:00
tsmethurst fd45d0e302 draft CoC 2021-05-15 12:43:53 +02:00
tsmethurst 0fb6a5e9f2 add matrix link 2021-05-15 12:27:51 +02:00
tsmethurst 22f91ce143 contributing.md 2021-05-15 12:22:46 +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 3ddbd6f163 add golangci job 2021-03-20 19:38:31 +01:00
Tobi Smethurst 84177a6891
Create codeql-analysis.yml 2021-03-20 19:28:25 +01:00
tsmethurst d3076f3531 replace sloth with cuter sloth 2021-03-20 19:16:21 +01:00
Tobi Smethurst 995e61bb07
Merge pull request #6 from gotosocial/fun_with_oauth2
oauth2
2021-03-20 19:08:40 +01:00
tsmethurst 3388c870ae Go mod tidy 2021-03-20 19:08:25 +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
tsmethurst b3d1362370 add fields 2021-03-20 19:04:35 +01:00
tsmethurst 81760963b0 formatting,comments 2021-03-20 19:04:27 +01:00
tsmethurst 0abe01ea22 add progress list 2021-03-20 18:41:10 +01:00
tsmethurst b915f427be allow showing just code 2021-03-20 00:18:44 +01:00
tsmethurst fd02a7dfbe update 2021-03-19 13:37:58 +01:00
tsmethurst 95faebe60d extend application for use in oauth 2021-03-18 23:54:07 +01:00
tsmethurst 1b11884121 auth flow working for code 2021-03-18 23:27:43 +01:00
Tobi Smethurst dbad219eb2
Create FUNDING.yml 2021-03-18 00:30:23 +01:00
tsmethurst b6087cc08d almost there 2021-03-17 19:52:36 +01:00
tsmethurst 6eab00e05e getting there....... 2021-03-17 16:01:31 +01:00
tsmethurst 9d5fb0785f fiddling 2021-03-17 13:14:52 +01:00
tsmethurst eb2ff2ab23 Some more messing around with oauth2 2021-03-17 11:33:06 +01:00
tsmethurst a4b70269ba add liberapay widgets 2021-03-16 15:06:52 +01:00
tsmethurst 186b31a8ee move image attribution to the bottom 2021-03-16 14:22:33 +01:00
tsmethurst cf86f7aa8a fix link 2021-03-16 14:16:03 +01:00
tsmethurst c12ecfc21b note about sponsorship 2021-03-16 14:15:19 +01:00