FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Merge main into dev by Core447 · Pull Request #61 · StreamController/StreamController · GitHub

Merge main into dev - #61

Merged
Core447 merged 94 commits into
devfrom
main
Apr 20, 2024
Merged

Core447 merged 94 commits into
devfrom
main

Conversation

Core447 commented Apr 20, 2024

Copy link
Copy Markdown
Member

No description provided.

Core447 and others added 30 commits March 30, 2024 14:55
1.3.0-beta release
It appears that the appstream project no longer supports
`translatable=no` properties, and gettext extract them as translatable.

I opened an issue to inform about the situation, but `translatable=no`
properties are not accepted by developers. You can find the issue
here: `https://github.com/ximion/appstream/issues/623`

**Please test your script or string extraction process before merging this PR.**

> In MetaInfo files, each individual paragraph of a description
> (or enumerated entry) is translated individually, however,
> you can only exclude the complete block from being translated
> by adding `translate="no"` to the description element.

Source: https://freedesktop.org/software/appstream/docs/sect-Quickstart-Translation.html
appdata: `translate=no` properties
Core447 and others added 26 commits April 19, 2024 17:46
* Add property revert buttons to label editor

* Add revert buttons to the layout rows

* Add additional condition to update_label_editor

* Fix: Possible error if editing labels with decks of different sizes

* Fix: LabelEditor font chooser not always visible
Core447 merged commit e34caa0 into dev Apr 20, 2024
nazbert added a commit to nazbert/Deckard that referenced this pull request Jul 12, 2026
…longer freezes the deck (StreamController#1)

The writer thread (sole path for paints/brightness/Clear/ClearAndClose
since the single-writer migration) ran unguarded: any uncaught exception
killed it, freezing the deck until replug while control_q grew unbounded.

run() now delegates to _run_one_tick() inside a guarded loop: a tick
exception is logged with full traceback (rate-limited to 1/5s with a
suppressed-repeat count -- local limiter until StreamController#91), _stop is honored in
the except path so a failing body can't strand close(), and a 0.25s
wake-event backoff bounds a persistent failure at ~4 retries/s instead of
a 100% spin. @log.catch on run() would log once and let the thread die --
the guard must live inside the while. Composes with StreamController#80: the hooks report
an escaping death; this prevents the death.

The five audit-verified crash vectors are also fixed at the source:
(a) init_inputs is build-then-swap and the screensaver drops its
`inputs = {}` pre-clear (was an empty-dict window on every screensaver
entry); the loop snapshots the dict once per tick and uses .get();
(b) the loop snapshots background.video once (set_video(None) race);
(c) touchscreen get_current_image guards a nulled active_page (blank
strip); (d) the touchscreen tick gate snapshots state.background_video
(_release_background_video race); (e) _exec_clear snapshots the
touchscreen slot and nulls it identity-compared -- the crash half of StreamController#1
and this site's half of StreamController#8.

tests/scenario_writer_survival.py (first leg of StreamController#61) runs the REAL loop
over the stub tier: survives a poisoned tick, resumes paints, caps the
log storm, and stop() joins while every tick raises. fixtures gains
_QuietInputState (get_active_state) since the live loop path never
executed on stubs before (StreamController#69 stub-drift). Suite: 34/34.
nazbert added a commit to nazbert/Deckard that referenced this pull request Jul 12, 2026
…rminal legs (StreamController#61)

scenario_tile_builder_terminal covered ONE B-02 terminal path (os.replace /
promote failure via a directory at the cache path) with a bounded join +
is_alive() exit assertion. The audit enumerates four sources of the terminal
state (cap released, _complete False); this adds the two that were missing,
restructured into the sub-leg pattern, sharing the join+is_alive detector:

  - writer-open failure: cv2.VideoWriter patched to a never-opened stub, so
    _open_source leaves _writer None and _end_of_source promotes nothing.
  - truncated source: a capture stub that opens and reports CAP_PROP_FRAME_COUNT
    60 but whose read() never succeeds (byte-truncating an mp4v file is
    all-or-nothing -- the moov atom is trailing -- so the metadata-over-promise
    is modelled at the capture seam). Zero frames written -> terminal.

The 'reopen failure' fourth path shares promote_failure's end-state and
terminal seam, covered transitively.

Red-proof: neutralizing _run_builder's is_build_terminal() check (the pre-fix
busy-spin, f881630 reverted) makes all three legs' builder threads outlive
the 8s bounded join -> FAIL on each. Full suite 100/100.
nazbert added a commit to nazbert/Deckard that referenced this pull request Jul 12, 2026
test(pages,media): page-cache eviction arithmetic + builder-spin terminal legs (StreamController#60, StreamController#61)

Closes StreamController#60 and StreamController#61

See merge request naz/StreamController!46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL