Commit graph

36 commits

Author SHA1 Message Date
Pere Lev
e196ee6f34
Switch to factory-based creation of Deck, Project and Group
- UI for creating a Factory
- UI for specifying a Factory when creating resource actors
- Old way of creation doesn't work anymore, except for Factory itself
- UI indicates whether you're an admin user
- Settings allow to choose "resident" factories, i.e. ones automatically
  offered to every newly verified user

Caveats:

- Factories are all-in-one, no mechanism yet for choosing actor types
- No UI/logic for auto-offering a Factory to all users of a different
  instance, and signaling other instances about newly verified local
  users
2024-08-06 12:33:02 +03:00
Pere Lev
66870458b7
Add a new actor type: Factory
- No factories inserted to DB yet
- Admin user list specified in settings
- Admins can create a Factory via C2S
- Creating other actors via C2S the old way still works as well
- Factory S2S handler implementation still blank
2024-08-02 18:31:06 +03:00
Pere Lev
9ce745c725
UI, DB: Store debug reports in DB and link to them from navbar 2024-07-06 12:53:31 +03:00
Pere Lev
6cdd332d1d
UI: Remote actor view + follow UI 2024-04-28 21:08:04 +03:00
Pere Lev
a60b05b1ca
UI: Error-inbox ("Errbox") display for all local actors 2024-04-27 23:17:22 +03:00
fr33domlover
a0c988dd3d UI: Tweak style of header messages 2022-09-28 14:11:38 +00:00
fr33domlover
5a2cc84bdc UI: Turn list of federated instances into links 2022-09-27 04:56:02 +00:00
fr33domlover
70ad384940 UI: Remove note about UI being disabled 2022-09-26 06:56:00 +00:00
fr33domlover
0d922b0e5a Client, UI: Git merge request submission form 2022-09-23 05:20:39 +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
dcdba0e553 UI: Tweak header and footer display, text size, switch to rem 2022-06-26 08:32:53 +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
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
fr33domlover
b914ef4d16 UI: In page header, display logged-in username in bold text 2019-10-19 08:15:04 +00:00
fr33domlover
edf624e806 UI: Link to /publish in personal overview, and some useful pages in "navbar" 2019-10-19 03:17:53 +00:00
fr33domlover
8fc5c80dd6 New Network.FedURI with separate URI modes for dev and for fediverse
FedURIs, until now, have been requiring HTTPS, and no port number, and DNS
internet domain names. This works just fine on the forge fediverse, but it
makes local dev builds much less useful.

This patch introduces URI types that have a type tag specifying one of 2 modes:

- `Dev`: Works with URIs like `http://localhost:3000/s/fr33`
- `Fed`: Works with URIs like `https://dev.community/s/fr33`

This should allow even to run multiple federating instances for development,
without needing TLS or reverse proxies or editing the hosts files or anything
like that.
2019-07-23 13:59:48 +00:00
fr33domlover
7869af7334 In default layout template, fix typo in display of notification count 2019-05-25 22:28:21 +00:00
fr33domlover
c531f41565 Implement basic notifications in DB and UI 2019-05-22 21:50:30 +00:00
fr33domlover
a6bfb0cf36 Show note about federation being disabled, and list other known instances 2019-05-05 22:00:26 +00:00
fr33domlover
67a77b1897 In layout header, link to federation status info page 2019-05-05 11:36:10 +00:00
fr33domlover
c27636a438 Add route /publish for sending activities, getOutboxR now free to return outbox 2019-03-22 05:17:54 +00:00
fr33domlover
c41f1183e0 Display instance host at the top of all pages 2019-03-04 09:06:23 +00:00
fr33domlover
4875f0b9f7 Make login status display consider unverified login 2019-01-21 22:51:19 +00:00
fr33domlover
2a68bb560b Link to OutboxR for testing, instead of InboxR 2019-01-21 21:42:21 +00:00
fr33domlover
61a82f52d8 Turn inbox URL in layout template into a link, accidentally didn't before 2019-01-19 02:21:23 +00:00
fr33domlover
df01560ea6 ActivityPub inbox test page
This patch includes some ugliness and commented out code. Sorry for that. I'll
clean it up soon.

Basically there's a TVar holding a Vector of at most 10 AP activities. You can
freely POST stuff to /inbox, and then GET /inbox and see what you posted, or an
error description saying why your activity was rejected.
2019-01-19 01:44:21 +00:00
fr33domlover
822345a70e Move signup link to login line, should look a bit nicer 2019-01-19 01:41:57 +00:00
fr33domlover
2eb89cf460 DarcsRev widget in default layout footer 2016-05-18 08:35:13 +00:00
fr33domlover
07b627eb9c Refactor Git log view into separate modules and Widgets 2016-05-06 10:29:02 +00:00
fr33domlover
13d814034c Breadcrumbs widget in default layout 2016-05-02 14:16:51 +00:00
fr33domlover
a6525d7549 Add people and person pages 2016-02-17 16:43:23 +00:00
fr33domlover
952f6baafd Bring Yesod scaffolding 2016-02-13 03:35:30 +00:00