| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-07-05 | Fix string splitting bug and add comprehensive tracker registration tests | Jeff Halter | |
| - Fix critical bug in tracker address parsing: strings.Split(t, ":") instead of strings.Split(":", t) - Add dependency injection for TrackerRegistrar to improve testability - Extract registerWithAllTrackers() helper function to eliminate code duplication - Add comprehensive test suite covering: * Unit tests for parseTrackerPassword with edge cases and special characters * Integration tests for registerWithTrackers with mocking * Context cancellation and graceful shutdown testing * Error handling for network failures and malformed addresses * Edge cases like zero ports, long names, and empty configurations - Improve password parsing to handle colons in passwords correctly - Add MockTrackerRegistrar for isolated testing without network dependencies The string splitting bug would have prevented tracker registration from working with password-protected trackers. All tests pass and verify the fix works correctly. | |||
| 2025-07-04 | Fix file handle close warnings by ignoring return values | Jeff Halter | |
| Updated all file close operations to use anonymous functions that ignore return values to satisfy golangci-lint errcheck warnings. | |||
| 2025-06-29 | Fix IPv6 address parsing in IP extraction | Jeff Halter | |
| Replace string splitting with net.SplitHostPort to properly handle both IPv4 and IPv6 addresses. Fixes issue where IPv6 addresses like [::1]:8080 were incorrectly parsed as "[" instead of "::1". | |||
| 2025-05-22 | Update server.go | Theo Knez | |
| 2025-02-06 | Account for 16 vs 32 bit integers in folder upload | Ruben Beltran del Rio | |
| 2024-07-28 | Fix tracker registration logging | Jeff Halter | |
| 2024-07-27 | Add logging of tracker registration | Jeff Halter | |
| 2024-07-25 | Wrap file transfer errors with more context | Jeff Halter | |
| 2024-07-23 | Add client connection rate limit | Jeff Halter | |
| 2024-07-21 | Clean up logging | Jeff Halter | |
| 2024-07-19 | Add option for account-specific file root | Jeff Halter | |
| 2024-07-18 | Add support for trackers that require a password | Jeff Halter | |
| 2024-07-18 | Add initial HTTP API endpoints | Jeff Halter | |
| 2024-07-17 | Extensive refactor, quality of life enhancements | Jeff Halter | |
| * Added ability to reload config, agreement, news, and user accounts without restarting the server by sending SIGHUP to the running process * Added ability to use modern unix or windows line breaks in Agreement.txt and MessageBoard.txt instead of classic MacOS `\r` breaks. * Extensive refactor towards swappable backends for the active server state * Extensive refactored towards making the hotline package generic and re-usable for alternate server implemenations * Fix bug where users whose accounts have been deleted would not be disconnected | |||
| 2024-07-09 | Extensive refactor and clean up | Jeff Halter | |
| 2024-06-24 | Refactoring, cleanup, test backfilling | Jeff Halter | |
| 2024-06-17 | Clean up various linter warnings | Jeff Halter | |
| 2024-06-16 | Fix broken io.Reader implementations | Jeff Halter | |
| 2024-06-15 | Replace hardcoded version with ldflag usage | Jeff Halter | |
| 2024-06-15 | Refactoring and cleanup | Jeff Halter | |
| * Split CLI client into separate project * Convert more functions to follow common Golang idioms e.g io.Reader, io.Writer * Use ldflags for versioning * Misc cleanup and simplification | |||
| 2024-06-10 | Replace zap logger with slog | Jeff Halter | |
| 2024-06-10 | Read banner once at startup | Jeff Halter | |
| 2024-06-09 | Convert more bespoke methods to io.Reader/io.Writer interfaces | Jeff Halter | |
| 2024-06-09 | Replace custom slice concat func with slices.Concat | Jeff Halter | |
| 2024-06-08 | Add support for account login rename | Jeff Halter | |
| 2024-06-01 | Fix account management edge cases | Jeff Halter | |
| 2024-04-04 | Add support for Mac Roman character encoding. | Jeff Halter | |
| https://en.wikipedia.org/wiki/Mac_OS_Roman | |||
| 2024-04-01 | Fix handling of absolute paths in FileRoot config field | Jeff Halter | |
| 2024-03-28 | Add cmdline flag to specify network interface | Jeff Halter | |
| 2023-05-28 | Misc minor cleanup and linter appeasement | Jeff Halter | |
| 2023-04-23 | Make UserFlags public | Jeff Halter | |
| 2023-04-19 | Ran 'golangci-lint run -E gocritic,whitespace --fix' 🤞 | Jeff Halter | |
| 2023-04-19 | Downcase fs var name | Jeff Halter | |
| 2023-04-19 | Replace deprecated iotuil usage | Jeff Halter | |
| 2023-03-26 | Initial refactor to split client from protocol package | Jeff Halter | |
| 2023-03-18 | Disconnect banned users earlier in the login flow | Jeff Halter | |
| 2023-01-21 | Fix regression in 1.5 login behavior | Jeff Halter | |
| 2023-01-18 | Improve third party client compatability | Jeff Halter | |
| 2023-01-18 | Fix threaded news bugs | Jeff Halter | |
| 1. Fix handling of article IDs sent as 4 bytes instead of 2 2. Fix incorrect article count listing that strangely only affects third party clients | |||
| 2023-01-10 | Improve compatibility with Obsession client | Jeff Halter | |
| 2022-11-21 | Minor improvements to sendTransaction | Jeff Halter | |
| 1. Remove use of defer for the unlock because it make hold the mutex longer than necessary 2. Remove shadowed err var on L166 | |||
| 2022-11-21 | Fix mutex lock bug on invalid client | Jeff Halter | |
| 2022-11-08 | Fix overwrite of user info due to buffer re-use | Jeff Halter | |
| 2022-11-07 | Add workaround for Windows file transfer errors | Jeff Halter | |
| 2022-11-07 | Improve Frogblast client compatibility | Jeff Halter | |
| 2022-09-15 | Clean up some linter warnings | Jeff Halter | |
| 2022-07-04 | Add basic stat counters | Jeff Halter | |
| 2022-07-03 | Implement handing for "Refuse Private Chat" preference | Jeff Halter | |
| 2022-07-03 | Minor cleanup | Jeff Halter | |
| 2022-07-03 | Implement io.Writer interface for Transaction | Jeff Halter | |