Repository navigation
Claude/new session dn7wwg - #1
Merged
Merged
Conversation
The engine mutex was held for a whole frame, so the first GPU upload of a big model blocked touch input and setModel. The renderer now has its own GL-thread lock; the scene lock is only held while copying what changed, and a change made during an upload triggers another frame. Renders are byte-identical to before. Every JNI entry point now ignores a released (0) engine handle, and nativeSetModel frees the model in that case. Tests: a native test that replaces the model mid-upload (it fails with the old locking), a JVM test that calls every engine method after release, and one JVM fork per test class so the whole unit test suite runs in a single Gradle invocation.
On first launch the app asks whether it may check GitHub for updates; it stays off unless the user agrees, and Settings has a switch and "Check now". When on, it asks the GitHub releases API for the latest release at most once a day and sends nothing else. A newer version is offered with Download (the APK for this device's ABI, opened in the browser), Later or Skip this version. This adds the INTERNET permission, used only for this check. Also plainer wording for in-app hints, warnings, the empty library and About, and OFF in the home screen's format list.
A faceted gem cut by a section plane with an orange hatched cap, in the app's lavender and orange on dark slate, plus a themed (monochrome) version. scripts/make_icon.py generates the vector drawables and a 512 px preview from one piece of geometry.
Readability pass on the README, release notes, changelog, contributing and releasing guides, third-party notices and issue templates; privacy text now describes the optional update check. README screenshots and the hero banner (now with the icon) are regenerated.
Strip Windows line endings, wrapping, spaces and certutil BEGIN/END lines before decoding, and say clearly whether the base64 or the password and alias are wrong. The certificate check is unchanged.
A BOM or zero-width space copied along with the base64 made decoding fail. Keep only base64 characters and report how many bytes were dropped; opening the keystore and the certificate check still guard the release.
Trim invisible characters and whitespace from the password and alias secrets, check the store password on its own, fall back to the keystore's only key when the alias does not match, and use the store password as the key password for PKCS12 keystores (and for JKS when the given key password does not unlock the key). Each failure names the secret to fix. The certificate check is unchanged.
Try the key password when the store password fails (swapped secrets) and otherwise print keytool's own error, which tells a wrong password from a file that is not a keystore.
1.0.0 was never published, so the first public release now carries today's changes, and VERSION, the changelog and the release notes are back to a single 1.0.0. Releases are now signed with a new key (CN=Meshwise, O=doesthings, RSA 4096); the workflow and README carry its certificate fingerprint 69:FE:7F:DD...4B:4D:11.
The release workflow read no certificate from the runner's newest apksigner, so it would have refused correctly signed APKs. It now uses a pinned apksigner (build-tools 36.0.0), shows its output when it fails, and treats a missing certificate as an error even in test builds. Thickness results were published from a background thread before the shading switched to the heat map, so the UI (and ViewerFlowTest) could briefly see the result with the old shading. Both now change together on the main thread.
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.