<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accelerator-installer/decky_client.py, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/'/>
<entry>
<title>fix: prevent install loop from hanging after success and add timeout handling</title>
<updated>2026-05-07T16:13:26+00:00</updated>
<author>
<name>tranch</name>
<email>tranch.xiao@gmail.com</email>
</author>
<published>2026-05-07T15:54:28+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=d7810e84657fa8c3cf8ec94f047b72c9e109d178'/>
<id>d7810e84657fa8c3cf8ec94f047b72c9e109d178</id>
<content type='text'>
Previously, on the plugin_download_finish event we only broke out of the
receive loop when 'confirmed' was False. In the normal flow 'confirmed'
is always True, so the loop kept waiting for a REPLY whose 'result' was
non-None. When the server returns 'result: null' (a common success
reply), no branch matched and the loop blocked forever on client.recv(),
making the installer appear successful but never exit.

The download_finish handler now breaks unconditionally, since the event
itself already indicates a completed install.

Also add timeout handling to the receive loop:
- IDLE_TIMEOUT: max gap between any two server messages, guards against
  silent server stalls.
- OVERALL_TIMEOUT: hard upper bound on the entire install as a fallback.
Both are enforced by wrapping client.recv() with asyncio.wait_for; on
timeout a TimeoutError is raised and propagates after the connection is
cleanly closed in the finally block.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, on the plugin_download_finish event we only broke out of the
receive loop when 'confirmed' was False. In the normal flow 'confirmed'
is always True, so the loop kept waiting for a REPLY whose 'result' was
non-None. When the server returns 'result: null' (a common success
reply), no branch matched and the loop blocked forever on client.recv(),
making the installer appear successful but never exit.

The download_finish handler now breaks unconditionally, since the event
itself already indicates a completed install.

Also add timeout handling to the receive loop:
- IDLE_TIMEOUT: max gap between any two server messages, guards against
  silent server stalls.
- OVERALL_TIMEOUT: hard upper bound on the entire install as a fallback.
Both are enforced by wrapping client.recv() with asyncio.wait_for; on
timeout a TimeoutError is raised and propagates after the connection is
cleanly closed in the finally block.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix: Correct store URL setting key from store_url to store-url</title>
<updated>2026-02-11T10:28:28+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-11T10:28:28+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=ed5433ad7de353aa266a08683075d8363cfb8632'/>
<id>ed5433ad7de353aa266a08683075d8363cfb8632</id>
<content type='text'>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix code style: improve consistency in send/recv patterns</title>
<updated>2026-02-11T10:05:44+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-11T10:05:44+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=05573b3cd6c77986339a7370c4cc12775b216936'/>
<id>05573b3cd6c77986339a7370c4cc12775b216936</id>
<content type='text'>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor: Extract store type names to constant for better maintainability</title>
<updated>2026-02-11T10:03:59+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-11T10:03:59+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=acfb1c85e1f2750b1e5d07f078c6e03b4408c766'/>
<id>acfb1c85e1f2750b1e5d07f078c6e03b4408c766</id>
<content type='text'>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add store type configuration to set custom store mode</title>
<updated>2026-02-11T10:02:13+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-11T10:02:13+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=dc65b3591a6a6fbec3f3b6af875c0907ab782047'/>
<id>dc65b3591a6a6fbec3f3b6af875c0907ab782047</id>
<content type='text'>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add progress bar and improve installation status output</title>
<updated>2026-02-11T09:42:42+00:00</updated>
<author>
<name>tranch</name>
<email>tranch.xiao@gmail.com</email>
</author>
<published>2026-02-11T09:42:42+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=16672cff0d34ce8bd5da9defcc53cb0a2869ef47'/>
<id>16672cff0d34ce8bd5da9defcc53cb0a2869ef47</id>
<content type='text'>
Implement a visual progress bar using `loader/plugin_download_info`
events. Improve message handling during the installation flow to
properly clear the terminal and wait for server replies.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement a visual progress bar using `loader/plugin_download_info`
events. Improve message handling during the installation flow to
properly clear the terminal and wait for server replies.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: Only log meaningful server replies</title>
<updated>2026-02-05T10:22:54+00:00</updated>
<author>
<name>Tranch</name>
<email>tranch.xiao@gmail.com</email>
</author>
<published>2026-02-05T10:22:54+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=28d026e3e346ef43aa0220eabc837e2263e947a8'/>
<id>28d026e3e346ef43aa0220eabc837e2263e947a8</id>
<content type='text'>
Filter server REPLY messages if they lack a 'result' payload. This
avoids logging empty responses that provide no useful information.

Update success logging message when the connection drops after
install confirmation for clarity.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Filter server REPLY messages if they lack a 'result' payload. This
avoids logging empty responses that provide no useful information.

Update success logging message when the connection drops after
install confirmation for clarity.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: treat disconnect after confirm as success</title>
<updated>2026-02-05T09:22:34+00:00</updated>
<author>
<name>Tranch</name>
<email>tranch.xiao@gmail.com</email>
</author>
<published>2026-02-05T09:22:34+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=c2befee63a71d23a11c4ec55d1f7cd78259174be'/>
<id>c2befee63a71d23a11c4ec55d1f7cd78259174be</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: handle WS close opcode in Decky installer client</title>
<updated>2026-02-05T03:07:27+00:00</updated>
<author>
<name>Tranch</name>
<email>tranch.xiao@gmail.com</email>
</author>
<published>2026-02-05T03:07:27+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=dc03b33ad6943a75ad35b6f0813154fb193af7eb'/>
<id>dc03b33ad6943a75ad35b6f0813154fb193af7eb</id>
<content type='text'>
Implement logic to process control frames (Close, Ping, Pong) during reception.
Respond to Ping frames with a Pong frame.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement logic to process control frames (Close, Ping, Pong) during reception.
Respond to Ping frames with a Pong frame.

Co-authored-by: llm-git &lt;llm-git@ttll.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor CLI to use subcommands for better semantics</title>
<updated>2026-02-04T14:08:50+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-04T14:08:50+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/AeroCore-IO/accelerator-installer/commit/?id=a1164d396c54c8a7a3d17746b12c6e62816ed344'/>
<id>a1164d396c54c8a7a3d17746b12c6e62816ed344</id>
<content type='text'>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: tranch &lt;5999732+tranch@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
