Commit graph

675 commits

Author SHA1 Message Date
fr33domlover
4dcd6eb1b2 UI: Some tweaks, following ikomi's suggestions, thank you ikomi :) 2019-10-31 11:29:00 +00:00
fr33domlover
b95e9a8006 Weird initial (but complete) display of Darcs patches 2019-10-31 10:11:13 +00:00
fr33domlover
e9f17ff220 UI: Change RepoPatchR breadcrumb parent from RepoR to RepoHeadChangesR 2019-10-31 10:10:17 +00:00
fr33domlover
bdc48f4ca2 When parsing a Darcs repo's patch file, fail with error detail in the message
I'm not sure this will improve much, because the error messages come from
attoparsec, but at least the message text won't be constant, which was the
previous situation.
2019-10-23 09:31:37 +00:00
fr33domlover
ff73433bc1 UI: Change the default page parent from Nothing to Just HomeR
That way, it's a bit easier to navigate from a weird "PAGE TITLE HERE" page to
the homepage. Breadcrumbs still need work though.
2019-10-22 11:00:35 +00:00
fr33domlover
b23741f1fe S2S: Store relevant Push activities in recipient's inbox
Before, Push activities were being ignored by all inboxes. I just forgot to add
code to handle them. Now, person inboxes accept them if they're about a
relevant repo (i.e. a repo of which the user is a remote follower; remote
collaboration would be relevant too, but it's not implemented yet).
2019-10-22 10:28:35 +00:00
fr33domlover
0673ed0bb4 DB: Remove the "manual" fields from follow records
Follows used to be added automatically, without a Follow activity sent by the
client. They aren't added automatically anymore, so there's no need for those
"manual" boolean fields.
2019-10-22 10:25:33 +00:00
fr33domlover
a700dc4208 Make the hook config file path include the instance host
Before this patch, if you ran more than 1 instance as the same OS user, they'd
use the same config file path and overwrite it and cause post hooks to have
errors due to wrong config being used.
2019-10-20 09:19:49 +00:00
fr33domlover
552e2b3001 UI: Remove link to FEDERATION.md
It's getting outdated and with demo instructions you don't need that file
anyway. Removing it to reduce visual clutter in the UI.
2019-10-19 09:49:09 +00:00
fr33domlover
96c6904b46 When parsing actor, allow missing sshKey, treat it the same as [] 2019-10-19 09:38:05 +00:00
fr33domlover
bc379a864f Provide 'following' collections and link in page header 2019-10-19 08:15:48 +00:00
fr33domlover
e0d7612908 Display SSH key example as a placeholder, not a default value (thanks zPlus!) 2019-10-19 06:35:28 +00:00
fr33domlover
339c2253f9 If Git repo is empty (no branches), don't 404, just show basic repo page 2019-10-19 06:01:14 +00:00
fr33domlover
0be7f05d31 If an actor doesn't have SSH keys, don't list an "sshKey":[] property 2019-10-19 04:16:09 +00:00
fr33domlover
1c56f63e86 Default actor name display is now its URL, not the string "(?)" 2019-10-19 04:10:33 +00:00
fr33domlover
c2cd32f020 When creating a repo, redirect to the page of the new repo 2019-10-19 02:43:24 +00:00
fr33domlover
b030320964 C2S: Process the HTML forms in postPublishR, not postSharerOutboxR 2019-10-19 02:41:36 +00:00
fr33domlover
af9f207b78 S2S: In repo inbox POST, don't check for CSFR token 2019-10-19 00:13:48 +00:00
fr33domlover
9f063fb349 Fix missing logs of fixRunningDeliveries 2019-10-18 23:51:55 +00:00
fr33domlover
d5063eaef9 S2S: FIx bug in parsing Follow object 2019-10-18 23:45:13 +00:00
fr33domlover
1e8dd71f23 Fix handling of forwarded activities from local repos 2019-10-18 23:20:48 +00:00
fr33domlover
271bc3dbd0 UI: List projectless repos and "Create New" link in personal overview page 2019-10-17 11:45:06 +00:00
fr33domlover
02337c39e1 UI: Take SSH public key in 1 field, then split into key type and content 2019-10-17 09:57:46 +00:00
fr33domlover
a419db5b5b Publish AS2 representation of SSH keys and list SSH keys in actor documents 2019-10-17 08:37:48 +00:00
fr33domlover
0be7fa05f8 In Push activity summary, list the titles of the pushed commits 2019-10-13 19:19:24 +00:00
fr33domlover
6c81a46a02 List repo in Push recipients, it was accidentally not listed 2019-10-12 19:38:29 +00:00
fr33domlover
16cde4b4c2 Fix typo in context property name for Commit objects 2019-10-10 16:48:57 +00:00
fr33domlover
59ce05694e In darcs post-apply hook, send a Push object to Vervis 2019-10-10 16:41:34 +00:00
fr33domlover
6cb86ebbf1 Install darcs post-apply hooks in darcs repos, no-op hook for now
In Darcs, any command can have a post hook (and a pre hook), and the hook
command can be set using a command-line option to the darcs command that you
run. So, in the Vervis SSH server, if we add a --posthook option when running
`darcs apply` to apply remotely received patches, we get a chance to process
the patch data much like in the git post-receive hook.

The setup this patch creates is similar to the git one: It writes a
_darcs/prefs/defaults file to all Darcs repos, and that defaults file sets the
posthook line for `darcs apply`. The posthook line simply executes the actual
hook program written in Haskell.

The current hook program is a one-liner that prints a line to stdout, so every
time you `darcs push` you can tell the hook got executed. The next step is to
implement the actual hook logic, by reading patch data from the environment
variable in which Darcs puts it.
2019-10-07 14:05:52 +00:00
fr33domlover
c529722b5a Implement S2S unfollowing using Undo{Follow} 2019-10-05 16:22:27 +00:00
fr33domlover
bbe6f159d0 Implement C2S unfollowing, using Undo{Follow} 2019-10-05 14:10:29 +00:00
fr33domlover
6a4975a52c Add "Follow" button to person, repo, project and ticket pages 2019-10-02 08:07:26 +00:00
fr33domlover
c91599b989 When successfully submitting a ticket comment, submit Follow activity too 2019-09-30 09:00:44 +00:00
fr33domlover
77678fc8f6 Move postTicketsR to Vervis.Handler.Client & submit Follow activity on success 2019-09-30 08:00:05 +00:00
fr33domlover
72cba96958 Move reply authoring code from Vervis.Handler.Discussion to Vervis.Client 2019-09-30 06:27:42 +00:00
fr33domlover
5a7700ffe4 Implement remote following, disable automatic following
This patch contains migrations that require that there are no follow records.
If you have any, the migration will (hopefully) fail and you'll need to
manually delete any follow records you have. In the next patch I'll try to add
automatic following on the pseudo-client side by running both e.g. createNoteC
and followC in the same POST request handler.
2019-09-25 10:43:05 +00:00
fr33domlover
1673851db0 In S2S Follow, projects allow following their tickets 2019-09-16 16:01:43 +00:00
fr33domlover
612dfa1fce Implement S2S Follow for sharers, projects and repos 2019-09-16 15:18:18 +00:00
fr33domlover
525a722439 Implement C2S Follow activity and add form on /publish page 2019-09-11 08:12:20 +00:00
fr33domlover
3a68a3e7e6 Don't list non-public follows in follower collections 2019-09-09 01:20:02 +00:00
fr33domlover
544ebae3fd Specify visibility in Follow records 2019-09-09 00:33:36 +00:00
fr33domlover
68e8b094a0 Handle post-receive hook, publish a Push activity 2019-09-09 00:27:45 +00:00
fr33domlover
3c01f4136c Mechanism for reporting git pushes to Vervis via post-receive hooks
Here's how it works:

- When Vervis starts, it writes a config file and it writes post-receive hooks
  into all the repos it manages
- When a git push is accepted, git runs the post-receive hook, which is a
  trivial shell script that executes the actual Haskell program implementing
  the hook logic
- The Haskell hook program generates a Push JSON object and HTTP POSTs it to
  Vervis running on localhost
- Vervis currently responds with an error, the next step is to implement the
  actual publishing of ForgeFed Push activities
2019-09-05 12:02:42 +00:00
fr33domlover
29354ff1ed Provide darcs log in ActivityPub format 2019-09-02 02:41:50 +00:00
fr33domlover
6ffc2c9872 Provide git log in ActivityPub format
Currently it's a paged Collection where the items are merely URIs. This could
be changed to have actual Commit objects as items; for that we need to examine
the whole thing with the LogEntry type and the Patch type and have an
AP-friendly log item representation, but without commit diffs.
2019-09-01 14:19:14 +00:00
fr33domlover
7b26d5d918 Use 'context' for Commit's repo, instead of 'repository' 2019-08-28 16:20:19 +00:00
fr33domlover
d4d45c6fe7 AP representation of git repo branches & preparation for Push activities 2019-08-28 15:31:40 +00:00
fr33domlover
2c18660a3b Provide AP representation of commits, and support committer field 2019-08-06 13:23:11 +00:00
fr33domlover
072039f5d8 On "See JSON" pages, display a link back to "regular HTML" version of the page 2019-07-23 18:17:15 +00:00
fr33domlover
655a2ebe18 Provide AP Collection representations for ticket deps/rdeps pages 2019-07-23 18:15:51 +00:00