Skip to content

GF2logger v2.3.2: resilient weekly inference and table history - #36

Merged
1window2 merged 1 commit into
mainfrom
beta
Aug 22, 2026
Merged

GF2logger v2.3.2: resilient weekly inference and table history#36
1window2 merged 1 commit into
mainfrom
beta

Conversation

@1window2

Copy link
Copy Markdown
Owner

Summary

  • strengthen sparse Standard-week and Gunsmoke final-event inference without turning ambiguous evidence into exact values
  • add bounded per-week table history with immutable previews, explicit restore, automatic live recovery, schema migration, and decompression limits
  • update v2.3.2 documentation, security notes, bilingual copy, and repository ignore rules for local images and verification artifacts

Verification

  • :app:testDebugUnitTest — 212 passed
  • :protocol:testDebugUnitTest — 40 passed
  • :app:connectedDebugAndroidTest — 40/40 passed on SM-N976N
  • Android lint, debug/release assembly, R8, and Android-test compilation passed
  • signed v2.3.1 -> v2.3.2 physical-device upgrade preserved settings, member records, packet-derived weekly data, and signing lineage
  • release APK verified with v2/v3 signing; SHA-256 DABC99E47E2020234C7601B3F513ADAFD50B177A63F8BD37372C2EC6F1B4C0D3

Release timing

This PR is intentionally left unmerged. Squash merge, tag, and v2.3.2 release are deferred until the requested post-midnight release step.

Copilot AI lite review requested due to automatic review settings August 22, 2026 15:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@1window2
1window2 merged commit 976fa8e into main Aug 22, 2026
5 checks passed
@1window2
1window2 deleted the beta branch August 22, 2026 15:25

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Security Review

Here are some automated security review suggestions for this pull request.

Reviewed commit: ef7891f7eb

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

Comment on lines +50 to +53
val occurredAt = data.entries.asSequence()
.filter { it.occurredAt != 0u }
.map { Instant.ofEpochSecond(it.occurredAt.toLong()) }
.toSet()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Security: Bound timestamps before rebuilding weekly history

While capture is active for a supported package and an on-path peer can alter its plaintext GF2 frames, bound the timestamps passed to recordChangedWeeks. Lines 50-53 collect every nonzero entry before the existing validation/250-observation cap. One valid entry plus 7,101 rejected timestamp-only entries fits in a single 56,371-byte type-21935 payload and forces 7,102 weekly report builds and DB transactions on the sole parser worker. Repeating with a fresh valid action sustains capture starvation. Derive weeks only from accepted inserted observations and cap periods per payload.

Useful? React with 👍 / 👎.

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.

2 participants