Commit graph

363 commits

Author SHA1 Message Date
Pere Lev
cbd81d1d0b
C2S, UI: Deck ticket closing button on ticket page
Ticket closing can now be done via the new C2S, and the "Close ticket"
button on TicketR page is back, and uses that new C2S.

S2S, C2S and pseudo-client are implemented for both Deck and Loom, but
the actual button and POST handler are provided here only for Deck. Will
add ones for Loom soon, as needed.
2023-11-05 16:13:09 +02:00
Pere Lev
7edb7a9760
Fix some little bugs in component implementation 2023-11-02 23:14:29 +02:00
Pere Lev
df6ece2889
UI: Deck: 'Approve' button for accepting invites-to-projects 2023-11-02 22:27:54 +02:00
Pere Lev
47f993d63f
Client: Project UI for adding a component 2023-11-02 18:03:28 +02:00
Pere Lev
fe6f95d497
UI: Deck: Projects list page 2023-11-02 14:48:22 +02:00
Pere Lev
acc1d13c63
UI: Project: Component list HTML version 2023-11-02 12:35:35 +02:00
Pere Lev
c98d8d1cc0
Vocab & UI: Repo, Deck and Loom now serve their collabs URI 2023-06-28 01:09:35 +03:00
Pere Lev
1fd46b0590
UI & Vocab: Project components list & link from collabs JSON to project 2023-06-27 21:07:21 +03:00
Pere Lev
64aae37b4f
UI: Minimal HTML page for Project 2023-06-26 23:50:33 +03:00
Pere Lev
c0103d9564
UI: Fix bug: Project references aren't displayed 2023-06-26 23:40:43 +03:00
Pere Lev
372fd35f2c
Project routes, handlers and creation UI 2023-06-26 22:02:54 +03:00
Pere Lev
c838cece7b
UI: Fix bug: Incorrect table headers for deck collaborator list 2023-06-19 11:22:56 +03:00
Pere Lev
581838e550
Support the 6 ForgeFed roles + launch repo/deck/loom actor upon creation 2023-06-17 21:35:00 +03:00
Pere Lev
c8c2106eab
UI: In deck collaborator list, have a Remove button for each 2023-06-17 01:27:28 +03:00
Pere Lev
58518811e3
UI for publishing a Remove 2023-06-17 00:39:02 +03:00
Pere Lev
928ad8f9a9
UI in deck collaborators list, for adding a new collaborator 2023-06-16 20:12:40 +03:00
Pere Lev
aaa92d8141
UI for publishing an Invite 2023-06-16 17:39:11 +03:00
Pere Lev
906b5e8f44
Update docs for darcs->git switch, and switch from darcs-rev to gitrev 2023-05-25 13:55:56 +03:00
fr33domlover
c9db823c8c Implement actor-model system and start moving Person actor to it
This patch makes Vervis temporarily unusable, because all actors' inbox POST
handlers use the new system, but the actual federation handler code hasn't been
ported. The next patches will port all the S2S activities supported so far, as
well as C2S.
2023-04-29 10:40:44 +00:00
fr33domlover
72796a6bdc UI, S2S: Implement Join flow in S2S + deck devs page now lists join requests 2022-11-14 15:11:25 +00:00
fr33domlover
d65e4edc6b Forgot to commit a template file 2022-10-20 14:49:30 +00:00
fr33domlover
fdf6a83c40 DB, UI: Prepare DB schema for Join flow + display deck collaborators & invites 2022-10-20 12:53:54 +00:00
fr33domlover
118b787416 UI: New ticket/MR creation form + deck/loom navigation links 2022-10-17 15:08:00 +00:00
fr33domlover
d8c65930ca UI, DB: Switch ticket filter to use TicketResolve instead of TicketStatus 2022-10-16 23:44:16 +00:00
fr33domlover
e638ff4117 UI: In ticket/MR pages, display when and by whom the ticket was resolved 2022-10-16 22:25:21 +00:00
fr33domlover
5d5919d75a UI: Fix typo in comment author link template 2022-10-16 21:17:39 +00:00
fr33domlover
71bceec18b C2S, S2S: Re-enable createNoteC and personCreateNoteF 2022-10-16 11:26:24 +00:00
fr33domlover
49c898ed6e UX: In email messages, remove instance link, it's confusing
I'd mention the instance host at least, but YesodMailSend (which I wrote)
provides pure functions for the formatting, so can't access environment

Sometime I'll try to patch yesod-mail-send to have a monadic action there
instead of pure function
2022-09-28 14:12:19 +00:00
fr33domlover
a0c988dd3d UI: Tweak style of header messages 2022-09-28 14:11:38 +00:00
fr33domlover
0d1de1278b UI: Add settings option to change main UI color 2022-09-28 06:03:43 +00:00
fr33domlover
b1590ad44d UI: Some template tweaks in cloth page 2022-09-27 18:12:05 +00:00
fr33domlover
84b70aa7b3 UI: If MR is applied, don't do the canApply check and display "RESOLVED" 2022-09-27 18:11:13 +00:00
fr33domlover
7ced46d0c3 UI: Fix buggy layout of loom link request 2022-09-27 12:08:46 +00:00
fr33domlover
91d43e77b1 UI: KeysR: Make key titles smaller than page title 2022-09-27 08:10:02 +00:00
fr33domlover
ceb0d951c1 UI: Personal overview: List your repos, decks, looms 2022-09-27 08:04:55 +00:00
fr33domlover
5a2cc84bdc UI: Turn list of federated instances into links 2022-09-27 04:56:02 +00:00
fr33domlover
323de5b114 UI, Doc: Update Vervis repo links, because the route structure changed 2022-09-27 04:49:17 +00:00
fr33domlover
ee26ef7b82 UI: Actor outbox view: Render URI from route instead of parsing JSON for @id 2022-09-26 14:20:21 +00:00
fr33domlover
89dc9b5c9d UI: BrowseR: Tweak header texts 2022-09-26 14:19:49 +00:00
fr33domlover
b8915f1171 UI: In personal overview homepage, link to SSH key page 2022-09-26 12:54:28 +00:00
fr33domlover
cc9facdf5a UI: Tweak and re-enable UI for uploading personal SSH keys 2022-09-26 12:51:06 +00:00
fr33domlover
0e6a9d3269 UI: BrowseR: Fix missing <li> tags 2022-09-26 12:47:50 +00:00
fr33domlover
70ad384940 UI: Remove note about UI being disabled 2022-09-26 06:56:00 +00:00
fr33domlover
f10655f2c1 Client, UI: "Apply" button for local MRs & PublishMergeR form for remote MRs 2022-09-24 21:15:40 +00:00
fr33domlover
0d922b0e5a Client, UI: Git merge request submission form 2022-09-23 05:20:39 +00:00
fr33domlover
de2e29d505 C2S: offerTicketC re-enabled and supporting looms and remote origin repo
What's missing:

- Match patch VCS, origin repo VCS and target repo VCS
- Hook into postPersonInboxR
- If only origin is provided, generate patches / otherwise somehow remember the
  commits proposed
2022-09-21 12:50:26 +00:00
fr33domlover
0b10056cc3 UI: getClothR: If a Bundle exists in DB, display list of its patches 2022-09-19 12:02:48 +00:00
fr33domlover
ffe68390e5 UI: getBundleR: Display list of old versions and list of patches 2022-09-19 11:40:08 +00:00
fr33domlover
dae8554a12 UI: getPatchR: Display diff-syntax-highlighted patch content file 2022-09-19 11:00:47 +00:00
fr33domlover
5673340bd1 UI: Display origin and target repos in getClothR HTML 2022-09-18 17:37:25 +00:00
fr33domlover
9deba96cf2 UI: Serve HTML in getClothR, copied from getTicketR 2022-09-18 07:44:00 +00:00
fr33domlover
1e2b3d2006 UI: HTML version for getLoomClothsR, copied from getDeckTicketsR 2022-09-17 19:17:11 +00:00
fr33domlover
1db56ced39 UI: Re-enable ticket page, some pieces still missing, mostly buttons 2022-09-17 17:42:04 +00:00
fr33domlover
e69d775f3f UI: Fix and re-enable deck ticket list view 2022-09-17 10:14:27 +00:00
fr33domlover
c495d78d05 C2S, UI: Loom creation and Repo linking to a Loom
RepoSourceR, for a repo that doesn't have a loom, lists looms that want to
serve that repo with buttons for bidirectionally linking the repo to a loom

Once linked, the repo navbar has a Patches/MRs link pointing to the LoomClothsR
of the linked Loom
2022-09-17 08:31:22 +00:00
fr33domlover
1c8c6d9d24 UI: In RepoSourceR page, mention SSH clone address 2022-09-16 14:04:24 +00:00
fr33domlover
40f741e504 UI: Fix and re-enable getRepoSourceR (repo content file/dir browsing) 2022-09-16 13:47:10 +00:00
fr33domlover
91cdbf51ab UI: Fix and re-enable getRepoCommitR 2022-09-16 11:41:58 +00:00
fr33domlover
e78f043f49 C2S & UI: Allow creation of a new Repo 2022-09-16 10:34:44 +00:00
fr33domlover
26ec6527e2 Client, UI: Form for creating a new Deck 2022-08-16 13:17:26 +00:00
fr33domlover
229bc3edf8 UI: Add a note mentioning the read-only situation 2022-08-15 14:36:23 +00:00
fr33domlover
2e72684fd5 Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by
looking at the code. One thing is clear: It changes *everything* :P so here's
an overview:

- There are now 5 types of actors, each having its own top-level route
- So projects, repos, etc. are no longer "under" sharers
- Actor routes are now based on their KeyHashid, there are no "idents" anymore,
  i.e. URLs look random and don't contain user or repo names
- No sharers anymore; people and groups are distinct entities not sharing a
  common namespace or anything like that
- Project has been renamed to Deck and it simply means a ticket tracker; repos
  are no longer "under" projects
- In addition to Person, Group, Repo and Deck, there's a new actor type Loom,
  which is a patch tracker; i.e. Repo actors don't manage MRs anymore
- All C2S and S2S is temporarily disabled, because huge changes to the whole
  code are required and I'll do them gradually in the next patches
- Since form-based actions are implemented using C2S, they're disabled as well,
  so Vervis is now essentially read-only
- Some views have been temporarily removed, e.g. repo history and commit view
- A huge set of DB migrations has been added to adapt the DB to these changes;
  I haven't tested them yet on a read DB so there may be errors there; I'll fix
  them in the next patches if I find any (probably going to test on the main
  instance where Vervis itself is hosted...)
- Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type
  and a similar pattern is probably relevant for several other types
- There's an 'Actor' entity in the DB schema now, and all 5 actor types use it
  for common things like inbox and outbox
- Although inbox and outbox are used only by Actor, so essentially could be
  removed, I haven't removed them; that's because I wonder if at some point
  users can have a tree of inboxes much like in email; I don't have an excuse
  for Outbox, but anyway, leaving them as is for now
- Workflows, roles and collaborators are partially removed/unused until I
  figure out a sane federated way to provide these features
- Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler,
  they already look like user@host/repo regardless of who "controls" that repo
2022-08-15 13:57:42 +00:00
fr33domlover
b3cd7ca28f C2S: Implement ticket tracker creation
* Publish a Create activity and respond with a Grant activity
* postProjectsR reuses that code
* No automatic following at the moment
* Workflow and role specified in new project form are ignored for now
* Can't create tracker under a group yet, just under the user
2022-07-25 17:15:22 +00:00
fr33domlover
86b35e9b56 Style: Replace yesod favicon with Vervis icon made by ikomi (thanks <3) 2022-07-12 14:08:37 +00:00
fr33domlover
0c490ae986 UI: Update link to Vervis repo in app homepage 2022-07-12 11:09:05 +00:00
fr33domlover
b557217957 Homepage: Link to #peers as IRC channel, not #vervis, forgot to update this 2022-06-26 08:34:56 +00:00
fr33domlover
dcdba0e553 UI: Tweak header and footer display, text size, switch to rem 2022-06-26 08:32:53 +00:00
fr33domlover
1a15bd1036 UI: Homepage: Update project links 2022-06-24 05:48:54 +00:00
fr33domlover
5491d0e495 UI: In RepoR page, display the HTTPS clone URL 2022-06-23 09:07:37 +00:00
fr33domlover
cc0040f012 UI: In repo page nav links, link to repo MRs 2020-08-17 13:46:27 +00:00
fr33domlover
9317e514b2 S2S unresolve, C2S resolve & unresolve, use C2S in the UI buttons 2020-08-05 08:28:58 +00:00
fr33domlover
a2468c52fd Prepare for ticket dependency federation
To be honest, this is a huge patch that changes tons of stuff and probably
should have been broken up into small changes. But I already had the codebase
not building, so... just did all of this at once :P

Basically this patch does the following:

- DB migrations for ticket dependency related tables, e.g. allowing a remote
  author and a remote child
- Allowing S2S handlers to provide an async continued processing function,
  which is executed and the result then added to the debug page
- Most UI and functionality related to ticket deps is disabled, new
  implementation being added gradually via ActivityPub
- Improvements to AP tools, e.g. allow to specify multiple hosts for approved
  forwarding when sending out an activity, and allow to specify audience of
  software-authored activities using a convenient human-friendly structure
- Implementation of S2S sharerOfferDepF which creates a dependency under a
  sharer-hosted ticket/patch and sends back an Accept
2020-06-18 10:38:04 +00:00
fr33domlover
e29233a59f Rename RepoPatchR to RepoCommitR, we'll use the old name for merge requests 2020-05-26 08:54:21 +00:00
fr33domlover
f18c15f038 Rename the TicketR routes to ProjectTicketR for clarity
Now it's much clearer when looking at the code, that these routes are about
project-hosted tickets, and it's easier to see where the author-hosted
equivalents are missing.
2020-04-09 07:36:01 +00:00
fr33domlover
bf4a0e4c95 getTicketsR: Deduce ticket URL correctly for HTML output too 2020-02-23 15:41:08 +00:00
fr33domlover
32173fe0c0 Add tickets-under-sharer route, just plain JSON view 2020-02-08 15:24:36 +00:00
fr33domlover
443ff6daa1 Switch ticket routes to use the KeyHashid of LocalTicket instead of Ticket 2020-02-06 00:52:15 +00:00
fr33domlover
1cb3812ef5 Remove ticket numbers from UI and from URLs, use KeyHashid instead 2020-02-03 14:53:12 +00:00
fr33domlover
59d08782ba Don't html-escape ticket title, it's already escaped 2020-01-17 21:52:29 +00:00
fr33domlover
f4a5866dec Very basic support for ticket label colors
- WorkflowField now has a color, it's a simple `Maybe Int` for now. Valid
  values are only 1-4
- That color is used for displaying ticket class params a.k.a labels in ticket
  list view
- Ticket list now also serves a paged OrderedCollection

I tried to use a single SQL query to grab the tickets along with their labels,
but couldn't figure out a way to aggregate tuples/rows into an array (it seems
only single values are supported in Esqueleto). Instead of doing manual SQL or
adding Esqueleto functions, I just switched from 1 query to O(n) queries: Each
ticket has its own query selecting its labels. I guess it's slower, but also,
ticket list is paged now with fixed page size so it's really O(1) ^_^
2020-01-16 10:29:47 +00:00
fr33domlover
031a4c0930 Display ticket class params AKA labels in ticket list view 2020-01-11 17:28:53 +00:00
fr33domlover
d01bc5bad7 Implement ticket class params 2020-01-05 14:33:10 +00:00
fr33domlover
8fc5e4b3c1 DB: Rename entity WorkflowFieldEnum to WorkflowEnum 2020-01-05 12:04:17 +00:00
fr33domlover
878e8f4056 In /browse, add repo-less project table, so that all projects are listed 2019-12-28 18:04:05 +00:00
fr33domlover
d8fabbdfc5 Display project/repo sharer nav, and project nav in repo page 2019-12-28 16:34:44 +00:00
fr33domlover
7654655bcf In repo source page(s), display the project it belongs to 2019-12-27 20:44:14 +00:00
Jason Harrer
955f7444f6 Discussion Tree View Improvements 2019-12-08 14:47:38 +00:00
Jason Harrer
8094a37aea Improved Ticket Layout 2019-12-04 11:35:35 +00:00
fr33domlover
4bbfcd6521 UI: Add missing space between icon and text in project page nav bar 2019-11-03 13:21:29 +00:00
fr33domlover
deba50f835 UI: Display all messages in defaultLayout, not just one 2019-11-03 13:20:48 +00:00
fr33domlover
4dcd6eb1b2 UI: Some tweaks, following ikomi's suggestions, thank you ikomi :) 2019-10-31 11:29:00 +00:00
fr33domlover
90ad05b327 UI: When mouse hovers over button, make bg color just slightly darker
Previously, the color would get so dark it would blend with the page background
and the button text color. I'm not sure I picked the best color; just picked
something that works.
2019-10-23 08:42:49 +00:00
fr33domlover
f846a75440 UI: Move repo deletion button to the bottom of the page 2019-10-23 07:43:40 +00:00
fr33domlover
65d730393a UI: Display link bar in ticket page; move project page edit link to the bar 2019-10-19 11:21:29 +00:00
fr33domlover
0ff25833a0 UI: In project page, display a link bar 2019-10-19 10:52:10 +00:00
fr33domlover
c85c2aa734 UI: In person page, display a link bar 2019-10-19 10:30:29 +00:00
fr33domlover
25e29e8ccc UI: In repo source page, display a link bar 2019-10-19 10:13:33 +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
5603c8d72d UI: Move notification marker to be next to logged-in username 2019-10-19 09:48:15 +00:00
fr33domlover
bc379a864f Provide 'following' collections and link in page header 2019-10-19 08:15:48 +00:00