Greg Heartsfield
7a72e588ea
refactor: reorder imports
2023-06-23 10:03:08 -05:00
Jamin M
9237eed735
feat: roll over logs daily
2023-06-23 10:03:01 -05:00
Jamin M
f4beb884b3
feat: allow logging output to file
2023-06-23 10:02:49 -05:00
rorp
2f10271903
improvement(NIP-42): use 'restricted:' prefix for auth error msgs
2023-06-23 09:52:50 -05:00
Greg Heartsfield
eba7a32615
perf: reduce SQLite connection count and idle lifetime
...
On lightly loaded relays, we free up memory faster by letting idle
connections be reclaimed in 10 seconds instead of the default 10
minutes. This also sets the minimum to zero connections, instead of
always trying to hold one open.
2023-05-07 19:38:18 -05:00
Greg Heartsfield
0582a891cc
perf: switch to jemalloc allocator
2023-05-07 19:32:50 -05:00
Greg Heartsfield
2bcddf8bbf
perf: disable sqlite mmap to reduce memory pressure
2023-05-06 15:40:56 -05:00
Greg Heartsfield
04db2203bb
perf: use standard allocator, limit sqlite mmap to 4GB
...
This is an experimental change to see if we can reduce memory usage
with large SQLite databases. If successful, we'll do this again and
further reduce the database mmap size.
This will cause greater use of the page cache, but that is more easily
reclaimed by the kernel, and should reduce memory pressure, as well as
making it clearer how much memory the application is actually using
for connections, subscriptions, etc.
2023-05-03 07:22:44 -05:00
Kieran
beffeb4d86
improvement: add a configurable postgres write conn string
...
This adds a new configurable connection string for postgres writes.
2023-04-30 10:02:10 -05:00
Greg Heartsfield
80c459c36c
improvement: switch to jemalloc allocator
2023-04-06 18:33:30 -05:00
rorp
8e4e2d824b
feat(NIP-42): limit access to kind 4 DMs
2023-03-03 09:04:35 -06:00
thesimplekid
c13961a5c4
fix: nip05 for postgres
2023-03-03 08:57:23 -06:00
thesimplekid
05b08c7916
feat: join via nip-07
2023-03-01 18:04:06 -06:00
Greg Heartsfield
9a141dc950
improvement: disable HTTP request logging
2023-02-25 15:57:01 -06:00
Greg Heartsfield
8c9170d4e3
fix: persist database version for v18 migration
2023-02-25 15:55:00 -06:00
thesimplekid
c0158af18b
feat(NIP-111): pay to relay (experimental)
2023-02-25 15:38:26 -06:00
Greg Heartsfield
c1c25a22f5
refactor: format
2023-02-25 14:49:35 -06:00
thesimplekid
6df92f9580
refactor: format
...
cargo fmt
2023-02-25 14:46:49 -06:00
Mike White
5414629298
feat: add event kind allowlist
2023-02-25 14:00:01 -06:00
Greg Heartsfield
5f6ff4c2b7
fix: in-memory SQLite DB correctly shares memory between connections
...
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/73#event-227131
2023-02-21 08:14:19 -06:00
Greg Heartsfield
df411c24fb
fix: block other writers during checkpoint to eliminate DB lock errors
2023-02-20 16:50:44 -06:00
Greg Heartsfield
9d55731073
fix: Postgres SQL generation for expiring events
2023-02-17 21:04:30 -06:00
Greg Heartsfield
5638f70d66
fix: set SQL tracing back to appropriate level
2023-02-17 20:50:19 -06:00
Greg Heartsfield
98a08d054a
improvement: advertise support for NIP-42 in relay info
2023-02-17 14:02:49 -06:00
Greg Heartsfield
bf06bea808
feat(NIP-40): postgres support for event expiration
2023-02-17 13:25:56 -06:00
Greg Heartsfield
e5ca8c2a86
improvement: run expired event cleanup every 10 minutes
2023-02-17 11:22:00 -06:00
Greg Heartsfield
8ea63f0b27
feat(NIP-40): sqlite support for event expiration
2023-02-17 11:15:06 -06:00
Greg Heartsfield
3229e4192f
feat: publish favicon.ico
2023-02-16 18:03:28 -06:00
0xtr
7fd9b55e70
fix: typo in sqlite_migration.rs
2023-02-15 18:52:49 -06:00
rorp
5cecfba319
feat(NIP-42): pubkey authentication
...
Configurable in `config.toml`. Limited functionality, but this does
send metadata to gRPC for event authorization.
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/66
2023-02-15 18:51:40 -06:00
Greg Heartsfield
d0f57aea21
improvement(NIP-40): functions for checking event expiration
2023-02-15 18:47:27 -06:00
Greg Heartsfield
136e41d234
fix: retry event writes if DB is busy
2023-02-15 18:38:34 -06:00
Kieran
1daa25600d
fix: postgres tag inserts
2023-02-14 06:33:01 -06:00
Greg Heartsfield
84afd4b64e
refactor: whitespace
2023-02-13 17:52:00 -06:00
Greg Heartsfield
2fc9168a38
fix: SQL error with parameterized replaceable events
2023-02-13 17:10:42 -06:00
Greg Heartsfield
15e2f097aa
improvement: advise operator this upgrade may take a minute
2023-02-13 07:37:13 -06:00
Greg Heartsfield
185f9e7abb
feat: improved query performance when looking for deletion events (improves event insert time)
2023-02-12 15:43:22 -06:00
Greg Heartsfield
f44dae6ac9
fix: use correct start time for logging SQL generation
2023-02-12 15:00:50 -06:00
Greg Heartsfield
abc356c17d
perf(sqlite): index tags with their kind/created_at fields
...
This updates the DB schema to remove the distinction between hex and
non-hex tag values, for simplicity. The space savings did not seem to
be worth the extra complexity.
The SQLite tags table is denormalized to duplicate kind/created_at to
improve the ability of tag indexes to filter data.
2023-02-12 14:33:40 -06:00
Greg Heartsfield
a16c4e698a
feat: gRPC authorization for events
...
closes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/46
2023-02-11 13:26:08 -06:00
Greg Heartsfield
e63d179424
fix: prevent loop when nip05 metadata channel closes
2023-02-11 13:26:08 -06:00
rorp
28b7b83a6e
improvement: make config file location configurable via CLI args
2023-02-08 07:59:26 -06:00
Greg Heartsfield
2e42b1b86e
improvement: log source IP for persisted events
2023-02-06 17:15:27 -06:00
Naoki Ikeguchi
bd07a11f50
refactor: Fix clippy warnings
2023-02-06 07:29:45 -06:00
thesimplekid
1ca5d652de
format: postgres_migrations
2023-02-06 06:44:57 -06:00
thesimplekid
d7cceab8fc
fix: tag table does not have a unique constraint
...
`cargo fmt` on the document.
2023-02-06 06:44:57 -06:00
Greg Heartsfield
cdd4e5949f
fix: correctly log SQL generation time
2023-02-03 10:39:41 -06:00
Greg Heartsfield
5999009779
improvement: increase connection cache size
2023-02-02 18:34:30 -06:00
Greg Heartsfield
e36c791c53
improvement: prevent spilling temp indexes to disk
2023-02-02 18:15:14 -06:00
Greg Heartsfield
8004ea9b44
fix(NIP-33): only delete older events with matching 'd' tags
2023-02-02 16:09:17 -06:00