<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mobius/hotline/server_test.go, branch main</title>
<subtitle>Friendship Quest remix of mobius, a hotline server in go #cli</subtitle>
<id>https://git.r.bdr.sh/mobius/atom/hotline/server_test.go?h=main</id>
<link rel='self' href='https://git.r.bdr.sh/mobius/atom/hotline/server_test.go?h=main'/>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/'/>
<updated>2025-07-05T23:02:33Z</updated>
<entry>
<title>Fix string splitting bug and add comprehensive tracker registration tests</title>
<updated>2025-07-05T23:02:33Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2025-07-05T23:02:33Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=cab4e2192d5b39e51933ced3dd569de9fc182a04'/>
<id>urn:sha1:cab4e2192d5b39e51933ced3dd569de9fc182a04</id>
<content type='text'>
- 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.
</content>
</entry>
<entry>
<title>Add option for account-specific file root</title>
<updated>2024-07-20T04:40:38Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-07-20T04:31:42Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=dcd23d5355badf66c34ffd63d3c44734e87ebf17'/>
<id>urn:sha1:dcd23d5355badf66c34ffd63d3c44734e87ebf17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Extensive refactor, quality of life enhancements</title>
<updated>2024-07-17T22:42:37Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-07-17T22:41:20Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=fd740bc499ebc6d3a381479316f74cdc736d02de'/>
<id>urn:sha1:fd740bc499ebc6d3a381479316f74cdc736d02de</id>
<content type='text'>
* 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
</content>
</entry>
<entry>
<title>Extensive refactor and clean up</title>
<updated>2024-07-10T04:42:05Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-07-10T04:36:27Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=d9bc63a10d0978d9a5222cf7be74044e55f409b7'/>
<id>urn:sha1:d9bc63a10d0978d9a5222cf7be74044e55f409b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactoring, cleanup, test backfilling</title>
<updated>2024-06-24T23:23:56Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-06-24T23:23:56Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=a2ef262a164fc735b9b8471ac0c8001eea2b9bf6'/>
<id>urn:sha1:a2ef262a164fc735b9b8471ac0c8001eea2b9bf6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adopt more fixed size array types for struct fields</title>
<updated>2024-06-18T22:34:50Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-06-18T22:34:50Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=a55350daaf83498b7a237c027ad0dd2377f06fee'/>
<id>urn:sha1:a55350daaf83498b7a237c027ad0dd2377f06fee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace zap logger with slog</title>
<updated>2024-06-10T23:53:31Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2024-06-10T23:49:37Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=a6216dd89252fa01dc176f98f1e4ecfd3f637566'/>
<id>urn:sha1:a6216dd89252fa01dc176f98f1e4ecfd3f637566</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More minor cleanup</title>
<updated>2023-04-22T18:11:19Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2023-04-22T18:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=48ecca21dde5b1c8a3f34bad60512503292c7141'/>
<id>urn:sha1:48ecca21dde5b1c8a3f34bad60512503292c7141</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up some linter warnings</title>
<updated>2022-09-15T20:51:37Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2022-09-15T20:51:37Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=043c00da52efd5b7d9ef15750945ee55e6f78e7a'/>
<id>urn:sha1:043c00da52efd5b7d9ef15750945ee55e6f78e7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement GetClientInfoText with per-client file transfer info</title>
<updated>2022-06-23T21:24:50Z</updated>
<author>
<name>Jeff Halter</name>
<email>868228+jhalter@users.noreply.github.com</email>
</author>
<published>2022-06-23T21:24:50Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/mobius/commit/?id=df1ade5433b027f9cb905e584921692313e647f5'/>
<id>urn:sha1:df1ade5433b027f9cb905e584921692313e647f5</id>
<content type='text'>
</content>
</entry>
</feed>
