You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following Facebook/community feedback (incl. #673 and Brian Hart's comment)
requesting more GSAK-style filter capabilities. This issue tracks a full
gap analysis between OpenSAK's filter dialog and GSAK's, based on 9
screenshots of GSAK's filter dialog compared against the current filter_dialog.py/filters/engine.py implementation.
This is a tracking issue, not something to implement in one go. Individual
checklist items should be split into their own issue when picked up (per
usual workflow — issue created just before the code, not all at once).
Already at parity (no action needed)
Attributes tab: full parity — tri-state Yes/No/Any per attribute +
ALL/ANY-of mode toggle
General tab covers: name, GC code, placed-by, owner, cache type, size,
D/T (as a from/to range — arguably more flexible than GSAK's single
operator), distance, found/availability, premium, trackables present,
corrected coordinates
Misc tab covers: country/state/county, user flag, DNF, first-to-find,
favorite points
1. Text-field operators (core of Brian Hart's comment on #673)
Every text field (name, owner, placed-by, country/state/county, GC code)
only supports "Contains". GSAK offers Contains / Does not contain /
Equals / Does not equal / Empty / Not empty / RegEx per field.
2. Global "Invert filter" checkbox
GSAK's General tab has a top-level "Reverse filter" checkbox that negates
the entire filter set at once. This is a general-purpose way to cover most
"hide X" requests (e.g. the "hide my own caches" request) without adding a
dedicated operator to every single field.
3. Logs tab — missing entirely
Log date, log-type checkboxes (Found it, DNF, Archive, Announcement,
Needs Maintenance, etc.), search-in-logs scope, "logged by" a specific
person (exact match / wildcard / regex / GC login ID).
4. Children tab — missing entirely
Filter the cache list by child-waypoint properties: code, type, date,
name, comment, created-by-user, count.
5. Custom tab — missing entirely
User-defined custom fields. Requires a schema change (custom field
definitions), larger separate feature — lowest priority of this list.
6. Dates tab — 4 of 8 GSAK date fields missing
Have: placed date, found date, DNF date, last log date.
Missing: created date, last GPX import date, last updated-by-user date,
last modified date.
Background
Following Facebook/community feedback (incl. #673 and Brian Hart's comment)
requesting more GSAK-style filter capabilities. This issue tracks a full
gap analysis between OpenSAK's filter dialog and GSAK's, based on 9
screenshots of GSAK's filter dialog compared against the current
filter_dialog.py/filters/engine.pyimplementation.This is a tracking issue, not something to implement in one go. Individual
checklist items should be split into their own issue when picked up (per
usual workflow — issue created just before the code, not all at once).
Already at parity (no action needed)
ALL/ANY-of mode toggle
D/T (as a from/to range — arguably more flexible than GSAK's single
operator), distance, found/availability, premium, trackables present,
corrected coordinates
favorite points
duplicated here
Gaps
1. Text-field operators (core of Brian Hart's comment on #673)
Every text field (name, owner, placed-by, country/state/county, GC code)
only supports "Contains". GSAK offers Contains / Does not contain /
Equals / Does not equal / Empty / Not empty / RegEx per field.
2. Global "Invert filter" checkbox
GSAK's General tab has a top-level "Reverse filter" checkbox that negates
the entire filter set at once. This is a general-purpose way to cover most
"hide X" requests (e.g. the "hide my own caches" request) without adding a
dedicated operator to every single field.
3. Logs tab — missing entirely
Log date, log-type checkboxes (Found it, DNF, Archive, Announcement,
Needs Maintenance, etc.), search-in-logs scope, "logged by" a specific
person (exact match / wildcard / regex / GC login ID).
4. Children tab — missing entirely
Filter the cache list by child-waypoint properties: code, type, date,
name, comment, created-by-user, count.
5. Custom tab — missing entirely
User-defined custom fields. Requires a schema change (custom field
definitions), larger separate feature — lowest priority of this list.
6. Dates tab — 4 of 8 GSAK date fields missing
Have: placed date, found date, DNF date, last log date.
Missing: created date, last GPX import date, last updated-by-user date,
last modified date.
7. Smaller field gaps
found_log_countalready exists onthe model)
Out of scope for this issue
separate, unrelated bug/UX issue
Suggested next steps
highest-impact item)