fr33domlover
57374ec816
When POSTing activities, set a Digest header using SHA-256
2019-04-25 15:49:15 +00:00
fr33domlover
f37b9b3f52
Run the delivery worker priodically, settings control how often to run
2019-04-18 10:38:01 +00:00
fr33domlover
d5eefd1553
Implement outbox remote delivery, in handler and periodic, not used yet
2019-04-16 14:27:50 +00:00
fr33domlover
9a306e762c
Unfinished updated outbox handler
2019-04-11 13:44:44 +00:00
fr33domlover
c2415301bc
More type-safe handling of DB key Hashids
2019-03-29 03:25:32 +00:00
fr33domlover
85c6354291
Switch jsonb support from persistent-postgresql to a custom module
...
The custom module provides a parametric wrapper, allowing any specific
FromJSON/ToJSON instance to be used. It's a standalone module though, and not a
wrapper of persistent-postgresql, because persistent-postgresql uses aeson
Value and it prevents using toEncoding to get from the value directly to a
string.
2019-03-23 15:29:50 +00:00
fr33domlover
88d4c976ee
Add route getMessageR, returns an Activity Note for any locally created Message
2019-03-22 20:46:42 +00:00
fr33domlover
ad3a20d783
Receive remote comments on local ticket discussion
2019-03-21 22:57:15 +00:00
fr33domlover
3f2a178830
New module Yesod.FedURI: Render routes into FedURI and LocalURI
2019-03-20 10:08:36 +00:00
fr33domlover
2a39378468
HTTP Signature verification: RSA-SHA256 and PEM/ASN1 support
...
Before, things worked like this:
* Only signatures of Ed25519 keys could be verified
* Key encoding placed the plain binary Ed25519 key in the PEM, instead of the
key's ASN1 encoding
With this patch it now works like this:
* Ed25519 signatures are supported as before
* RSA keys are now supported too, assuming RSA-SHA256 signatures
* Both Ed25519 and RSA keys are encoded and decoded using actual PEM with ASN1
2019-03-10 23:15:42 +00:00
fr33domlover
61d1aa6720
Define HMAC based access token and switch CapSignKey from Ed25519 to HMAC
2019-03-09 21:21:36 +00:00
fr33domlover
fdbe46741b
When POSTing an activity, protect remote actor DB insertion with withHostLock
2019-03-09 17:12:43 +00:00
fr33domlover
37216d9045
Move remote actor DB code from Foundation to separate module
2019-03-09 15:40:02 +00:00
fr33domlover
c2bf470fb6
Generate and keep permanent salt for generating hashids for URIs
2019-02-08 21:54:22 +00:00
fr33domlover
9536d870e5
Add utility for loading permanent key files, and use it for ocap signing key
2019-02-08 03:13:56 +00:00
fr33domlover
8ac559d064
New datatype FedURI
for @id URIs
...
Using a dedicated type allows to record in the type the guarantees that we
provide, such as scheme being HTTPS and authority being present. Allows to
replace ugly `fromJust` and such with direct field access.
2019-02-07 23:08:28 +00:00
fr33domlover
991296faa1
Move some JSON/AP codec utils to new Data.Aeson.Local module
2019-02-03 11:01:36 +00:00
fr33domlover
20c0e40638
Determine operation access in Vervis.Access, reuse it everywhere it's needed
2019-01-26 22:22:49 +00:00
fr33domlover
250701712a
Move most of the DB graph modules to a separate persistent-graph library
2019-01-26 22:20:19 +00:00
fr33domlover
1f47ca39eb
Federation test outbox page with form for entering JSON
2019-01-21 15:54:57 +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
499e26db48
Periodically rotated AP actor key for signing ActivityPub requests
...
The actor key will be used for all actors on the server. It's held in a `TVar`
so that it can always be safely updated and safely retrieved (technically there
is a single writer so IORef and MVar could work, but they require extra care
while TVar is by design suited for this sort of thing).
2019-01-14 22:08:44 +00:00
fr33domlover
adaa920aa4
Launch service thread with a function that re-throws if they fail
...
In Haskell by default if a thread has an exception, the main thread isn't
notified at all. This patch changes service thread launching to re-throw their
exceptions in the main thread, so that their failure is noticed.
2019-01-14 22:03:49 +00:00
fr33domlover
5862b03019
Remove HTTP connection manager, it's not being used
...
I suppose there's no performance difference in using one, but it requires
`http-conduit` as a build dependency, so potentially we may be reducing build
time by removing unnecessary deps.
2019-01-14 02:30:39 +00:00
fr33domlover
33338a73cc
Upgrade to GHC 8.4 and LTS 12
2018-12-05 03:41:19 +00:00
fr33domlover
c420b8d8ea
Make the cookie encryption key and timeout configurable in settings file
2018-07-01 08:15:23 +00:00
fr33domlover
e29280959b
Update the Vervis instance domain name everywhere
2018-06-11 12:39:06 +00:00
fr33domlover
7d237b7540
Adapt to darcs-lights and changes in darcs-rev
2018-05-24 21:45:01 +00:00
fr33domlover
9f77ea69cb
Display commit diff for Git repos
2018-05-21 20:32:34 +00:00
fr33domlover
dbec638415
Generate commit diff data for git repos
2018-05-19 16:10:03 +00:00
fr33domlover
6d97636b0f
Commit info display, no diff diplay yet
2018-05-17 23:33:37 +00:00
fr33domlover
8eca3fa647
Upgrade to GHC 8 and LTS 10.10
2018-05-16 00:02:54 +00:00
fr33domlover
54fded2f0c
Rename NEWS.md to CHANGELOG.md
2018-05-14 15:25:16 +00:00
fr33domlover
3cc2810d4e
Fix DB migrations and use the validating addEntities
2018-04-05 00:04:39 +00:00
fr33domlover
7c2faa7faa
Email tokens expire within 1 day
2018-04-01 03:02:35 +00:00
fr33domlover
bfa6436bb3
Atom and RSS feeds for repo history
2018-03-31 22:04:33 +00:00
fr33domlover
bec9290783
Complete DB migration list, allowing to upgrade 2016-08-04 running instance
...
Until now the list of DB migration actions was incomplete, containing only
changes made since I added the migration system itself. It now contains the
2016-08-04 model, and then every change made since then.
IMPORTANT: The 2016-08-04 instance doesn't have a schema version entity at all,
so it is assigned version 0, while the actual version of its schema is 1. I'm
going to patch persistent-migration to allow it to be 1, making the migration
path smooth.
2018-03-27 14:28:56 +00:00
fr33domlover
f149da8ec6
getPersonR respond with minimal ActivityPub actor
2018-03-25 19:26:30 +00:00
fr33domlover
abfb77479f
Move DarcsRev and code we're sharing with it into a separate library
2018-03-20 23:45:09 +00:00
fr33domlover
ff5bb97383
Move Yesod.Mail.Send to a new dedicated separate library
2018-03-20 16:01:33 +00:00
fr33domlover
f196bf38d6
Unverified variants of setCreds and clearCreds
2018-03-17 22:16:02 +00:00
fr33domlover
7b39381388
Releases are under AGPL 3
2018-03-17 18:21:51 +00:00
fr33domlover
139cc996d6
Write unverified login user functions
2018-03-17 17:30:46 +00:00
fr33domlover
d026cf0656
Treat email address as EmailAddress
instead of Text
including in the mailer
2018-03-06 02:26:27 +00:00
fr33domlover
33af9fb289
Use HTTPS for avatar URL if approot in settings is https://
2018-03-06 00:55:52 +00:00
fr33domlover
3398b56931
Switch to yesod-auth-account and make the mail code independent of Vervis
2018-03-03 21:33:59 +00:00
fr33domlover
829fd72fef
Use my new persistent-migration library, to which I moved the related modules
2018-02-26 14:23:02 +00:00
fr33domlover
3b4bd2a5e8
I made upgrades to the DB migration system in Funbot, apply them here too
2018-02-25 11:14:07 +00:00
fr33domlover
31410c7278
Update project URLs, Vervis is now officially hosted on a Vervis instance
2018-02-25 09:41:36 +00:00
fr33domlover
c2d1bb444b
Add email sending capability to Vervis
2018-02-25 09:28:55 +00:00
fr33domlover
dc74456a6a
Use the new migration system in place of persistent's one
2016-08-31 16:51:02 +00:00
fr33domlover
400c29289d
Persistent schema backend, and PostgreSQL impl
2016-08-20 17:41:16 +00:00
fr33domlover
3329b49b2e
Turn boolean ticketDone into TicketStatus enum
2016-08-11 00:44:11 +00:00
fr33domlover
941bd0ea03
Ticket content edit form lets you edit custom ticket params
2016-08-10 18:52:26 +00:00
fr33domlover
ec7dd4ee7e
Experimental typeclass for ident+name model entities
2016-08-08 19:17:25 +00:00
fr33domlover
6e5ab77466
Projects must specify a ticket workflow
2016-08-08 19:05:22 +00:00
fr33domlover
01385c480b
Per-workflow custom ticket fields
2016-08-08 14:01:06 +00:00
fr33domlover
687aa68a04
Per-sharer ticket workflows
...
A workflow is a new entity in Vervis. It defines the workflow of a
projects' ticket system. That includes the possible ticket states,
custom ticket fields, various filters and so on. All ticket system
customization is currently planned to be managed using workflows.
Currently workflows are private and per sharer, but the plan is to
support public workflows that can be shared and cloned.
2016-08-08 11:05:19 +00:00
fr33domlover
dc54a89503
Ticket tree view page
2016-08-04 07:36:24 +00:00
fr33domlover
e7abd8eb9d
DAG tree view model builder, based on (V, E) and user choices
2016-08-03 23:09:42 +00:00
fr33domlover
5c153b0294
Ticket dependency add/remove and some fixes to recursive SQL
2016-07-28 16:40:10 +00:00
fr33domlover
a41f111bee
Split recursive SQL query huge module into smaller modules
2016-07-20 10:08:42 +00:00
fr33domlover
87205772bb
Transitive reduction of DAGs for FGL
2016-07-14 00:39:00 +00:00
fr33domlover
7a33ef16f8
PersistEntityGraph is for any graph, PersistEntityHierarchy for DAGs
2016-07-05 16:13:48 +00:00
fr33domlover
7d8596c52b
Path existence checking between graph nodes
2016-07-05 12:37:31 +00:00
fr33domlover
644670b494
Not-yet-added empty test suite
2016-07-05 12:36:40 +00:00
fr33domlover
879ad873e3
DB graph cycle existence checking using recursive SQL query
2016-07-05 08:46:58 +00:00
fr33domlover
fcb68ceea7
List ticket deps and reverse deps in ticket page
2016-07-04 09:58:25 +00:00
fr33domlover
1191a3c5cd
Role graph widget
2016-07-02 09:02:13 +00:00
fr33domlover
7be410f329
Upgrade LTS from 5.13 to 6.5
2016-07-02 08:51:29 +00:00
fr33domlover
063caab86d
Insert links to DAG diagram
2016-06-28 22:19:48 +00:00
fr33domlover
5b4607e64d
Initial code for intransitive DAG drawing
2016-06-28 19:46:54 +00:00
fr33domlover
a4eeb61a44
Define colors for use with 'diagrams'
2016-06-26 08:03:18 +00:00
fr33domlover
386d499a61
Define colors in dedicated Vervis.Palette module
2016-06-22 20:58:42 +00:00
fr33domlover
c7de6119ab
Build role graph
2016-06-21 07:35:19 +00:00
fr33domlover
7886d9a515
Layering of intransitive DAGs
2016-06-20 22:50:16 +00:00
fr33domlover
5340cf23f1
Project role inheritance and graph queries with some raw SQL
2016-06-17 20:17:39 +00:00
fr33domlover
5e2e7f806a
Forgot to record a file, darcs amend decided not to work
2016-06-13 13:48:31 +00:00
fr33domlover
76a627385c
Recursive SQL queries, still need to test before use
2016-06-12 22:37:52 +00:00
fr33domlover
ae83a5f3ad
Ticket un/assign (like un/claim but for other people)
2016-06-07 07:33:19 +00:00
fr33domlover
f8e1442e72
Initial minimal optional per-project wiki
2016-06-04 06:57:54 +00:00
fr33domlover
ef810f2854
Add simple Display class for showing-as-strict-Text
2016-06-03 09:12:33 +00:00
fr33domlover
c0e8ed0d2e
Initial minimal limited per-repo RBAC system
2016-05-29 13:17:55 +00:00
fr33domlover
ec49a4c424
Libravatar support \o/
2016-05-25 21:10:41 +00:00
fr33domlover
4c3aa8b269
Add group roles and make a group's creator its admin
2016-05-25 15:52:15 +00:00
fr33domlover
b7d443d031
Show creation date in group page
2016-05-25 07:50:10 +00:00
fr33domlover
bc66463776
Add group routes
2016-05-24 21:48:21 +00:00
fr33domlover
c6c41b485c
Finish route change, it builds now
...
I used this chance to make some name changes, add some utils, tweak some
imports, remove more `setTitle`s and so on. I also made person, repo,
key and project creation forms verify CI-uniqueness.
2016-05-23 20:46:54 +00:00
fr33domlover
49807ed27f
Start big route change, doesn't build yet
...
I decided to add some safety to routes:
- Use dedicated newtypes
- Use CI for the CI-unique DB fields
Since such a change requires so many changes in many source files, this
is also a chance to do other such breaking changes. I'm recording the
change gradually. It won't build until I finish, so for now don't waste
time trying to build the app.
2016-05-23 12:24:14 +00:00
fr33domlover
3a65568d8f
PersistField instance for CI, i.e. case-insensitive DB fields
2016-05-22 21:43:59 +00:00
fr33domlover
1a3f976a81
Ticket filtering
2016-05-22 14:31:56 +00:00
fr33domlover
a56a7575fe
Implement reply-to-existing-comment
2016-05-19 22:07:25 +00:00
fr33domlover
c942c7d398
Ticket discussion and message routes
2016-05-19 16:58:23 +00:00
fr33domlover
93aeae36a8
Implement building discussion message tree from DB
2016-05-19 12:06:27 +00:00
fr33domlover
ad9629d3f3
Dummy discussion widget
2016-05-18 10:10:07 +00:00
fr33domlover
1b1e4b978d
Much richer set of Darcs rev TH splices
2016-05-18 07:00:19 +00:00
fr33domlover
e76c1f7206
Compressed inventory parser and DarcsRev TH utils
2016-05-17 20:34:22 +00:00
fr33domlover
9ba6761459
Darcs inventory parser: Add hash types and parse previous inventory
2016-05-16 14:02:43 +00:00
fr33domlover
0d7349cb5d
Split git and darcs specific handlers into separate submodules
2016-05-13 10:11:17 +00:00
fr33domlover
b2f5b20184
Minimal pagination for git and darcs change log
2016-05-13 08:49:19 +00:00