Document Generations graph drag-to-pan and collapse controls
Document multi-marriage children grouping in Family Graph chart Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document RelatedPanel's refetch-on-any-tree-change fix Live sync previously only refreshed the pane for changes matching its own (view, handle); it now refetches on any tree change so edits to embedded records (Notes, Events, etc. pulled in via extend=all) don't go stale until remount. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document half- vs step-sibling group labeling in the Generations chart Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document generation dividers and Compact mode in the Generations chart Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document db.get_number_of(object_type, where=...) Replaces the bare count(object_type, where=...) example in both pages -- same underlying call, now namespaced under db the same way every other db operation already is, and clearly distinct from GOQL's own any()/len(). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Use any()/len() comprehension style throughout, not exists()/count() Matches gramps-object-query-language's recommended syntax going forward: any()/len() over exists()/count(), and comprehension form (any(x.field == y for x in rel)) over the direct call so a condition's fields visibly bind to the loop variable they belong to. Updated the "Collections" and "Reverse references: backlinks" sections' examples and anchors accordingly, and clarified that Gramplets' own count(object_type, where=...) function is a different thing sharing GOQL's count() name, not GOQL syntax itself. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document the new "Generations" chart style Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Document the Filters dialog's collapsed Edit options section Matches gramps-connect's redesign: rule builder/GOQL/Custom Rules now live behind a collapsed "Edit options" toggle, Delete moved to the bottom button row and now clears the Filter Builder too, and saving a filter under an already-used name is rejected. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Clarify Gramplet filter reactivity covers the Filters picker too Gramplets.md described get_filter()/listensToFilter as only the view's search box; a fix in gramps-connect now also covers filters applied through the Filters picker (saved filters/Custom Rules). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the new app-update-available notification Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document parameterized Custom Rules Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Note birth/death date-range filters now accept full dates, not just years
Document the tag rule as a single fill-in-the-name rule, not per-tag The built-in "Tagged" rule now takes the tag name as a value you type in, like the birth/death year-range rules already did, instead of one hardcoded checkbox per fixed tag name. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the confirm-before-discard when switching saved filters Switching the Load dropdown to a different saved filter (or back to empty) while there are unsaved changes now asks for confirmation first, instead of discarding the edit silently. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the GOQL syntax help button on Custom Rules Same circled-"i" reference the search box's GOQL mode already uses, now also next to Custom Rule authoring, scoped to whichever list's namespace it was opened from. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document Filters on all primary views and the new GOQL preset test suite Filters is now available on every primary list except Tags (built-in checkbox rules still Person/Family-only; everything else gets the full editor with an empty built-in list). Also documents the new pytest suite that checks every built-in rule against the real gramps-core Rule it's meant to port, not just that it compiles. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the Unsaved changes hint on the Filters dialog Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document live GOQL validation for custom rules; blank Load-selector entry Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Update Filters docs: Save (dirty-gated), Copy default name, no Cancel button Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Rewrite Filters section for the single-editor structure + Custom rules manager Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document editing a saved filter via Edit rules.../Update Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Rewrite Filters section for the three-tab pick/load/build structure Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the Filters dialog's three-way structure (pick a rule / load a saved filter / edit) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document Copy... for saved filters Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Rename Filters vocabulary: condition -> rule, group -> rule group Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the Filters list header's plain-language summary Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document Custom Conditions and Save/Load for the Filters picker Filters can now be named and saved for later reuse, and a "+ New custom condition..." action lets someone author their own raw GOQL primitive once and reuse it like a built-in preset from then on. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document the new "Filters" picker/editor A checkbox-driven, AND/OR/NOT-capable way to build the same GOQL conditions the search box's checkbox mode already uses, without typing any syntax -- see gramps-connect's FilterPickerDialog.tsx. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RKZjAqWqKPYNhUnADbn98q
Document large-media-upload timeout and GUNICORN_TIMEOUT override Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015sBgro8XnxBXxphMMWZK6m