portacode 0.3.12.dev4__tar.gz → 0.3.12.dev6__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.
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/PKG-INFO +1 -1
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/_version.py +2 -2
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/base.py +2 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/terminal.py +38 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/PKG-INFO +1 -1
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/.claude/settings.local.json +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/.gitignore +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/.gitmodules +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/LICENSE +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/MANIFEST.in +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/Makefile +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/README.md +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/backup.sh +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/docker-compose.yaml +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/README.md +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/__init__.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/__main__.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/cli.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/README.md +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/__init__.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/client.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/README.md +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/__init__.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/file_handlers.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/registry.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/session.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/system_handlers.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/terminal_handlers.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/multiplex.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/data.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/keypair.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/service.py +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/SOURCES.txt +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/dependency_links.txt +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/entry_points.txt +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/requires.txt +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode.egg-info/top_level.txt +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/pyproject.toml +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/restore.sh +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/setup.cfg +0 -0
- {portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/setup.py +0 -0
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '0.3.12.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 3, 12, '
|
|
20
|
+
__version__ = version = '0.3.12.dev6'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 3, 12, 'dev6')
|
|
@@ -116,6 +116,8 @@ class AsyncHandler(BaseHandler):
|
|
|
116
116
|
|
|
117
117
|
# Extract project_id from response for session targeting
|
|
118
118
|
project_id = response.get("project_id")
|
|
119
|
+
logger.info("handler: %s response project_id=%s, response=%s",
|
|
120
|
+
self.command_name, project_id, response)
|
|
119
121
|
await self.send_response(response, reply_channel, project_id)
|
|
120
122
|
except Exception as exc:
|
|
121
123
|
logger.exception("handler: Error in async handler %s: %s", self.command_name, exc)
|
|
@@ -244,6 +244,10 @@ class TerminalManager:
|
|
|
244
244
|
logger.info("terminal_manager: Handling client_sessions_update with %d sessions", len(sessions))
|
|
245
245
|
self._client_session_manager.update_sessions(sessions)
|
|
246
246
|
logger.info("terminal_manager: Updated client sessions (%d sessions)", len(sessions))
|
|
247
|
+
|
|
248
|
+
# Auto-send initial data to new clients
|
|
249
|
+
if len(sessions) > 0:
|
|
250
|
+
await self._send_initial_data_to_clients()
|
|
247
251
|
continue
|
|
248
252
|
|
|
249
253
|
# Dispatch command through registry
|
|
@@ -257,6 +261,40 @@ class TerminalManager:
|
|
|
257
261
|
# Continue processing other messages
|
|
258
262
|
continue
|
|
259
263
|
|
|
264
|
+
async def _send_initial_data_to_clients(self):
|
|
265
|
+
"""Send initial system info and terminal list to connected clients."""
|
|
266
|
+
logger.info("terminal_manager: Sending initial data to connected clients")
|
|
267
|
+
|
|
268
|
+
try:
|
|
269
|
+
# Send system_info
|
|
270
|
+
logger.info("terminal_manager: Sending system_info to clients")
|
|
271
|
+
await self._command_registry.dispatch("system_info", {}, None)
|
|
272
|
+
|
|
273
|
+
# Send terminal_list for each project that has connected clients
|
|
274
|
+
logger.info("terminal_manager: Sending terminal_list to clients")
|
|
275
|
+
|
|
276
|
+
# Get unique project IDs from connected clients
|
|
277
|
+
project_ids = set()
|
|
278
|
+
for session in self._client_session_manager.get_sessions().values():
|
|
279
|
+
project_id = session.get("project_id")
|
|
280
|
+
if project_id:
|
|
281
|
+
project_ids.add(project_id)
|
|
282
|
+
|
|
283
|
+
# Send terminal_list for each project, plus one without project_id for general sessions
|
|
284
|
+
if not project_ids:
|
|
285
|
+
# No specific projects, send general terminal_list
|
|
286
|
+
await self._command_registry.dispatch("terminal_list", {}, None)
|
|
287
|
+
else:
|
|
288
|
+
# Send terminal_list for each project
|
|
289
|
+
for project_id in project_ids:
|
|
290
|
+
await self._command_registry.dispatch("terminal_list", {"project_id": project_id}, None)
|
|
291
|
+
|
|
292
|
+
# Also send general terminal_list for dashboard connections
|
|
293
|
+
await self._command_registry.dispatch("terminal_list", {}, None)
|
|
294
|
+
|
|
295
|
+
except Exception as exc:
|
|
296
|
+
logger.exception("terminal_manager: Error sending initial data to clients: %s", exc)
|
|
297
|
+
|
|
260
298
|
# ------------------------------------------------------------------
|
|
261
299
|
# Extension API
|
|
262
300
|
# ------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md
RENAMED
|
File without changes
|
|
File without changes
|
{portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/file_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/system_handlers.py
RENAMED
|
File without changes
|
{portacode-0.3.12.dev4 → portacode-0.3.12.dev6}/portacode/connection/handlers/terminal_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|