Commit Graph

48 Commits

Author SHA1 Message Date
a4c4f14b87 Refactor event processing in tests for chronological order
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled
- Updated test files to collect events first and sort them by their CreatedAt timestamp before processing, ensuring events are handled in chronological order.
- Removed redundant error checks for scanner errors after event processing.
- Enhanced clarity and maintainability of event handling in tests across multiple files, including export, fetch, and query tests.
- Adjusted expected index counts in tests to reflect changes in event structure and processing logic.
2025-10-16 15:05:19 +01:00
7c14c72e9d Remove error return from ToSliceOfSliceOfStrings method in tag encoder and bump version to v0.10.4
Some checks failed
Go / build (push) Has been cancelled
2025-10-07 15:38:46 +01:00
dbdc5d703e Add ToSliceOfSliceOfStrings method to tag encoder and bump version to v0.10.3
Some checks failed
Go / build (push) Has been cancelled
2025-10-07 15:36:26 +01:00
c1acf0deaa Add ToSliceOfStrings method to tag encoder and bump version to v0.10.2
Some checks failed
Go / build (push) Has been cancelled
2025-10-07 15:32:07 +01:00
f8a321eaee Add connection start time tracking and improve logging for WebSocket lifecycle
Some checks failed
Go / build (push) Has been cancelled
- Introduced `startTime` field in `Listener` to log connection duration.
- Enhanced diagnostics with detailed connection statistics on close.
- Improved logging and error handling for PING/PONG and message lifecycle.
- Updated version to v0.8.7.
2025-10-01 08:40:04 +01:00
45b4f82995 Enable additional NIP support, improve tag handling validation, and simplify WebSocket message processing. 2025-09-30 18:07:42 +01:00
804e1c9649 Add NWC protocol handling and NIP-44 encryption and decryption functions. 2025-09-22 17:18:47 +01:00
6f71b95734 Handle EOF case in text encoder helper loop.
- Added check for `len(rem) == 0` to return `io.EOF` when no remaining input is available.
2025-09-21 03:00:29 +01:00
20fbce9263 Add spider functionality for relay crawling, marker management, and new SpiderMode config.
- Introduced the `spider` package for relay crawling, including periodic tasks and one-time sync capabilities.
- Added `SetMarker`, `GetMarker`, `HasMarker`, and `DeleteMarker` methods in the database for marker management.
- Updated configuration with `SpiderMode` and `SpiderFrequency` options to enable and customize spider behavior.
- Integrated `spider` initialization into the main application flow.
- Improved tag handling, NIP-70 compliance, and protected tag validation in event processing.
- Removed unnecessary logging and replaced `errorf` with `fmt.Errorf` for better error handling.
- Incremented version to `v0.5.0`.
2025-09-20 13:46:22 +01:00
22cde96f3f Remove bufpool references and unused imports, optimize memory operations.
- Removed `bufpool` usage throughout `tag`, `tags`, and `event` packages for memory efficiency.
- Replaced in-place buffer modifications with independent, deep-copied allocations to prevent unintended mutations.
- Added new `Clone` method for deep copying `event.E`.
- Ensured valid JSON emission for nil `Tags` in `event` marshaling.
- Introduced `cmd/stresstest` for relay stress-testing with detailed workload generation and query simulation.
2025-09-19 16:17:44 +01:00
e521b788fb Delete outdated benchmark reports and results.
Removed old benchmark reports and detailed logs from the repository to clean up unnecessary files. These reports appear to be auto-generated and no longer relevant for ongoing development.
2025-09-15 05:00:19 +01:00
f5cce92bf8 Handle nil receiver S in ContainsAny method within tags.go. 2025-09-13 21:23:59 +01:00
173a34784f Remove redundant logging in acl/follows.go and get-indexes-from-filter.go, handle nil Tags in event.go. 2025-09-13 21:17:53 +01:00
246591b60b fix issue with memory allocation when marshaling events 2025-09-12 16:59:39 +01:00
098595717f Integrate ACL with publishers for background event dispatch, ensure proper buffer adjustments in event encoding, and enhance follows sync with event delivery logic. 2025-09-12 16:36:22 +01:00
45c31795e7 Simplify buffer allocation logic in event encoding by adjusting size calculations for improved performance and reduced complexity. 2025-09-12 16:25:37 +01:00
3ec2f60e0b Optimize buffer allocation logic in event encoding to reduce GC pressure and improve performance. 2025-09-12 16:22:47 +01:00
110223fc4e Migrate internal module imports to unified package path.
Replaced legacy `*.orly` module imports with `next.orly.dev/pkg` paths across the codebase for consistency. Removed legacy `go.mod` files from sub-packages, consolidating dependency management. Added Dockerfiles and configurations for benchmarking environments.
2025-09-12 16:12:31 +01:00
2dd119401b Improve memory safety with defer for event cleanup across handlers, optimize conditional logging, and bump version to v0.4.3.
Some checks failed
Go / build (push) Has been cancelled
2025-09-11 17:14:50 +01:00
bf7ca1da43 Improve logging consistency across the application, handle context cancellation during WebSocket writes, and introduce async ACL reconfiguration for admin events. 2025-09-11 11:37:25 +01:00
4e96c9e2f7 Remove debug logging across the codebase and update version to v0.3.0.
Some checks failed
Go / build (push) Has been cancelled
2025-09-10 22:12:54 +01:00
f102c205f8 Filter out privileged events for non-admin users, refactor IsPrivileged logic, and improve event handling with additional checks and utilities. 2025-09-07 20:51:32 +01:00
5edb7a3b09 implement auth and a simple admin-follows whitelist
Some checks failed
Go / build (push) Has been cancelled
2025-09-07 19:08:29 +01:00
b6ea3d5181 Add HandleDelete and GetSerialsFromFilter methods, integrate admin keys handling, and enhance constraints API. Include a new CLI convert tool for key translation. 2025-09-07 13:33:25 +01:00
fb8593044d improve fast equal API, add bech32 encoding handling 2025-09-07 08:33:05 +01:00
b08e94807b Refactor database methods: simplify SaveEvent signature, enhance logging, and introduce deletion check logic with CheckForDeleted. 2025-09-03 20:59:23 +01:00
5cadf9c933 add acl interface 2025-09-03 18:10:57 +01:00
51f04f5f60 implemented event and req 2025-09-02 20:32:53 +01:00
76b251dea9 Update module replacements in go.mod files to reflect consistent relative paths across packages 2025-09-01 17:37:25 +01:00
91d95c6f1a Migrate package imports from next.orly.dev to new orly domain structure; add new varint and binary encoders with comprehensive tests; enhance existing tag and envelope implementations with additional methods, validations, and test coverage; introduce shared test.sh script for streamlined testing across modules. 2025-08-31 16:52:24 +01:00
576475e3dc Add countenvelope encoder with marshal/unmarshal support, buffer pool integration, and tests; improve error messages for subscription validation 2025-08-30 16:26:55 +01:00
6c39ea4332 Add reqenvelope package with marshal/unmarshal support and tests, implement GenFilters utility, and improve filter-related methods for robustness 2025-08-30 15:29:09 +01:00
faa527756b Add eventenvelope codec with support for Submission and Result envelopes, implement EstimateSize, and increase buffer capacity 2025-08-30 14:43:32 +01:00
431f37763d add NOTICE and OK envelope encoders with marshal/unmarshal support and comprehensive tests 2025-08-30 14:02:33 +01:00
caf9546d1c add EOSE envelope encoder with marshal/unmarshal support and tests 2025-08-30 13:43:28 +01:00
3867b87b8b create new tag constructors for more flexibility 2025-08-30 13:34:04 +01:00
acee5e3a90 implement auth, closed and close envelopes 2025-08-30 13:21:06 +01:00
1ba2bb0a9b implement filter codec 2025-08-26 18:26:34 +01:00
c958a7d9ed add forked version of encoding/json with html escape disabled
- modified all local packages to use this fork
2025-08-23 10:34:22 +01:00
f15db4313b Add warning about improper JSON encoding with json.Marshal in event.E documentation and emphasize buffer pool usage. 2025-08-23 02:35:15 +01:00
0f7f3017ea Implement MarshalJSON and UnmarshalJSON for tag.T, update relayinfo marshaling comments, and adjust tests for consistent JSON handling. 2025-08-23 02:26:47 +01:00
ddb4c486cb Document JSON marshaling issue with escaped characters in MarshalJSON and update tests to prevent improper marshaling. 2025-08-23 02:08:30 +01:00
7d20a51508 Refactor tag encoder to optimize buffer reuse, simplify tag marshaling, and improve event handling; enhance tests with additional coverage and example validation. 2025-08-22 23:26:11 +01:00
225f949540 Refactor event encoder to handle nil tags gracefully and optimize buffer allocation; update tests for improved coverage and data consistency. 2025-08-22 21:47:19 +01:00
bf178eae4e complete the marshal/unmarshal of events using the new pool enabled tag codecs 2025-08-22 14:29:55 +01:00
8add32bb78 Add relayinfo package and utility modules for NIP-11 support
Introduce the `relayinfo` package with `NIP-11` utilities, including `Fees`, `Limits`, and `NIPs` structures. Add utility modules for handling numbers, timestamps, and kinds. Integrate functionality for fetching and managing relay information.
2025-08-21 15:22:17 +01:00
ecaf52b98f Add core packages, configuration system, and initial application structure 2025-08-21 11:04:03 +01:00
b8db587d7b initial addition of essential crypto, encoders, workflows and LLM instructions 2025-08-20 05:47:06 +01:00