solstone-linux 0.3.0__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/CHANGELOG.md +6 -0
  2. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/PKG-INFO +1 -1
  3. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/pyproject.toml +1 -1
  4. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/__init__.py +1 -1
  5. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/chat_bridge.py +1 -1
  6. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_chat_bridge.py +26 -0
  7. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/.gitignore +0 -0
  8. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/AGENTS.md +0 -0
  9. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/CLAUDE.md +0 -0
  10. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/INSTALL.md +0 -0
  11. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/LICENSE +0 -0
  12. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/Makefile +0 -0
  13. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/README.md +0 -0
  14. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/contrib/icons/hicolor/scalable/status/solstone-error.svg +0 -0
  15. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/contrib/icons/hicolor/scalable/status/solstone-paused.svg +0 -0
  16. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/contrib/icons/hicolor/scalable/status/solstone-recording.svg +0 -0
  17. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/contrib/icons/hicolor/scalable/status/solstone-syncing.svg +0 -0
  18. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/scripts/extract_changelog.sh +0 -0
  19. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/scripts/release.sh +0 -0
  20. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/activity.py +0 -0
  21. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/audio_detect.py +0 -0
  22. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/audio_mute.py +0 -0
  23. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/audio_recorder.py +0 -0
  24. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/cli.py +0 -0
  25. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/config.py +0 -0
  26. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/dbus_service.py +0 -0
  27. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/dbusmenu.py +0 -0
  28. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/doctor.py +0 -0
  29. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/icons/hicolor/scalable/status/solstone-error.svg +0 -0
  30. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/icons/hicolor/scalable/status/solstone-paused.svg +0 -0
  31. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/icons/hicolor/scalable/status/solstone-recording.svg +0 -0
  32. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/icons/hicolor/scalable/status/solstone-syncing.svg +0 -0
  33. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/install_guard.py +0 -0
  34. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/monitor_positions.py +0 -0
  35. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/observer.py +0 -0
  36. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/recovery.py +0 -0
  37. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/screencast.py +0 -0
  38. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/session_env.py +0 -0
  39. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/sni.py +0 -0
  40. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/solstone-linux.service.in +0 -0
  41. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/streams.py +0 -0
  42. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/sync.py +0 -0
  43. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/tray.py +0 -0
  44. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/src/solstone_linux/upload.py +0 -0
  45. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/__init__.py +0 -0
  46. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_activity.py +0 -0
  47. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_cli.py +0 -0
  48. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_config.py +0 -0
  49. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_dbus_service.py +0 -0
  50. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_dbusmenu.py +0 -0
  51. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_doctor.py +0 -0
  52. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_extract_changelog.py +0 -0
  53. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_install_guard.py +0 -0
  54. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_monitor_positions.py +0 -0
  55. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_observer.py +0 -0
  56. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_observer_emits_stream_silent_event.py +0 -0
  57. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_screencast.py +0 -0
  58. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_screencast_stop_filters_silent_streams.py +0 -0
  59. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_session_env.py +0 -0
  60. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_streams.py +0 -0
  61. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_sync.py +0 -0
  62. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_tray.py +0 -0
  63. {solstone_linux-0.3.0 → solstone_linux-0.3.1}/tests/test_upload.py +0 -0
@@ -4,6 +4,12 @@ All notable changes to solstone-linux are documented here.
4
4
  The format is based on Keep a Changelog (https://keepachangelog.com/),
5
5
  and this project adheres to Semantic Versioning.
6
6
 
7
+ ## [0.3.1] - 2026-06-15
8
+
9
+ ### Changed
10
+ - chat notifications now use the journal's current callosum connection path,
11
+ with the observer key still sent in the authorization header.
12
+
7
13
  ## [0.3.0] - 2026-06-14
8
14
 
9
15
  setup is now zero-config: the observer connects to your journal automatically,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solstone-linux
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Standalone Linux desktop observer for solstone
5
5
  License-Expression: AGPL-3.0-only
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "solstone-linux"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "Standalone Linux desktop observer for solstone"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -3,4 +3,4 @@
3
3
 
4
4
  """Standalone Linux desktop observer for solstone."""
5
5
 
6
- __version__ = "0.3.0"
6
+ __version__ = "0.3.1"
@@ -392,7 +392,7 @@ async def run_chat_bridge(config: Config, stop_event: asyncio.Event) -> None:
392
392
 
393
393
  server_url = config.server_url.rstrip("/")
394
394
  key = config.key
395
- sse_url = f"{server_url}/app/observer/{key}/callosum"
395
+ sse_url = f"{server_url}/app/observer/callosum"
396
396
  pending: OrderedDict[str, PendingRequest] = OrderedDict()
397
397
  opt_in_state = {"value": False}
398
398
  opt_in_task = asyncio.create_task(
@@ -538,6 +538,32 @@ async def test_chat_bridge_enabled_false_no_sse_attempt():
538
538
  get.assert_not_called()
539
539
 
540
540
 
541
+ @pytest.mark.asyncio
542
+ async def test_chat_bridge_uses_keyless_callosum_url_with_bearer():
543
+ stop_event = asyncio.Event()
544
+ seen = {}
545
+
546
+ def worker(url, key, queue, loop, thread_stop):
547
+ seen["url"] = url
548
+ seen["key"] = key
549
+ loop.call_soon_threadsafe(
550
+ queue.put_nowait, {"_transport_error": True, "error": "stop"}
551
+ )
552
+
553
+ async def fake_sleep(_delay):
554
+ stop_event.set()
555
+
556
+ with patch("solstone_linux.chat_bridge._sse_worker", new=worker):
557
+ with patch("solstone_linux.chat_bridge._opt_in_poll_loop", new=_never_poll):
558
+ with patch("solstone_linux.chat_bridge.asyncio.sleep", new=fake_sleep):
559
+ await run_chat_bridge(_config(), stop_event)
560
+
561
+ assert seen == {
562
+ "url": "https://server.test/app/observer/callosum",
563
+ "key": "key-123",
564
+ }
565
+
566
+
541
567
  def test_observer_bridge_task_none_when_disabled():
542
568
  import inspect
543
569
 
File without changes
File without changes
File without changes
File without changes
File without changes