Waku Store v2.0.0: ContentFilter vs Topic precedence unresolved
0 reputation · 25 Nov 2020, 08:00 UTC
Unresolved precedence between contentFilter and legacy topic in Waku Store v2.0.0
Waku Store v2.0.0 adds a contentFilter object to queries, allowing filtering by content topic, version, and author. The protocol specification, however, does not state which field should win when a request supplies both contentFilter and the legacy topic field. The reference client treats contentFilter as primary, but older clients that only send topic will return all messages for that topic, ignoring the more granular content topic semantics.
Additionally, the specification defines contentFilter.maxAge as a limit on message age. While setting maxAge to 0 is documented as “no limit”, some implementations interpret it as immediate expiration, leading to inconsistent query results.
When a query matches no messages, the client may return an empty list or a 404 error, but the protocol does not mandate a specific response.
Given these ambiguities, the following questions remain:
- When both
contentFilterandtopicare present, which field should the server prioritize? - What is the correct interpretation of
contentFilter.maxAge = 0across implementations? - How should a client handle a query that returns no matching messages—should it return an empty array or a 404 status?