Skip to content

[Bug]: Time Manager filter is truncated to date-only, ignoring the configured "minutes" attributeResolution #7056

Description

@DamienTRUJILLO

What is the bug? (in English)

Environment

  • Lizmap Web Client version: 3.9.7
  • QGIS Server: 3.34 (Py-QGIS-Server)
  • PostgreSQL 15.17 / PostGIS 3.6
  • Browser: tested on both Chrome 150.0.7871.188 and Firefox 153.0.1 — identical behavior on both (rules out a browser-specific JS engine issue)

Bug description

The Time Manager tool truncates the filter to date-only (no time component), even when the layer's attributeResolution is correctly set to minutes in the project .cfg. As a result, the generated filter becomes a strict equality on midnight (>= 'YYYY-MM-DD' AND <= 'YYYY-MM-DD'), which never matches any row whose timestamp isn't exactly midnight.

Minimal reproduction

  1. Create a simple PostgreSQL table with a timestamp without time zone column and a few rows with distinct times (not midnight) on the same day, e.g.:
CREATE TABLE test_time_manager (
  id integer GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  geom geometry(Point, 2154),
  "time" timestamp without time zone
);
-- insert 7 points with distinct non-midnight times on 2026-07-30
  1. Add the layer to a QGIS project, publish it via the Lizmap plugin (Time Manager tab): start attribute = time, resolution = Minutes.
  2. Publish the project, open it in Lizmap Web Client, open the Time Manager panel, click Play.

Observed

The browser's network tab shows a GETFILTERTOKEN request with:

filter=test_time_manager: ( ( "time" >= '2026-07-30' ) AND ( "time" <= '2026-07-30' ) )

(date only, no time component), and the resulting GetMap request (using the returned FILTERTOKEN) returns an empty/near-empty PNG (~6-7 KB, no features rendered), even though the table clearly has rows for that day.

Expected

The filter should include the time component matching the configured resolution (minutes), e.g. something like:

( "time" >= '2026-07-30 14:00:00' ) AND ( "time" < '2026-07-30 14:15:00' )

Additional notes

  • The project's .cfg correctly stores "attributeResolution": "minutes" for the layer, confirmed by inspecting the file directly on the server.
  • The qgis_server role has confirmed SELECT rights on the table (ruled out as a permissions issue).
  • The GETFILTERTOKEN → token → GetMap with FILTERTOKEN chain works correctly end-to-end; only the filter's date granularity is wrong.
  • We noticed CHANGELOG-3.9.md mentions a "JS - timemanager filter" fix in 3.9.7 (our current version), but the issue persists as described above — possibly a related but distinct issue, or the fix didn't fully address this specific truncation.
  • Tested on two different layers (a production PostGIS table with generated columns, and this minimal reproduction table) with identical results, across two different browsers.

Steps to reproduce the issue

  1. Create a simple PostgreSQL table with a timestamp without time zone column and a few rows with distinct times (not midnight) on the same day:
    CREATE TABLE test_time_manager (
    id integer GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    geom geometry(Point, 2154),
    "time" timestamp without time zone
    );
    -- insert several points with distinct non-midnight times on the same day

  2. Add the layer to a QGIS project, publish it via the Lizmap plugin (Time Manager tab): start attribute = "time", resolution = "Minutes".

  3. Publish the project, open it in Lizmap Web Client, open the Time Manager panel, click Play.

Expected: the Time Manager filters and displays features according to the configured minute resolution.
Observed: the GETFILTERTOKEN request truncates the filter to date-only (e.g. ( "time" >= '2026-07-30' ) AND ( "time" <= '2026-07-30' )), which matches nothing unless a row is exactly at midnight. The resulting GetMap (with FILTERTOKEN) returns an empty image.

Versions, safeguards, check summary etc

Versions :

  • Lizmap Web Client : 3.9.7 - commit 800219e 800219e95
  • Lizmap plugin : 4.5.9
  • QGIS Desktop : 3.40.12
  • QGIS Server : 3.44.9
  • Py-QGIS-Server or QJazz : not used
  • QGIS Server plugin lizmap_server : 2.14.1
List of Lizmap Web Client modules :
* Version Lizmap Web Client 3.8 needed
List of safeguards :
* Mode : normal
* Allow parent folder : no
* Prevent other drive : yes
* Prevent PG service : no
* Prevent PG Auth DB : yes
* Force PG user&pass : yes
* Prevent ECW : yes

Check Lizmap plugin

  • I have done the step just before in the Lizmap QGIS desktop plugin before opening this ticket. Otherwise, my ticket is not considered valid and might get closed.

Operating system

windows 11

Browsers

Chrome

Browsers version

150.0.7871.188

Relevant log output

GETFILTERTOKEN filter: test_time_manager: ( ( "time" >= '2026-07-30' ) AND ( "time" <= '2026-07-30' ) )
Response: {"token":"fa8b6a5cfa97c51bded6bb3f96f80f83"}
Resulting GetMap (with FILTERTOKEN) response size: ~6-7 KB (empty PNG, no features rendered)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions