toeverything/AFFiNE · error · Error

Unsupported system group by: ${params.key}

Error message

Unsupported system group by: ${params.key}

What it means

A provider-resolution guard in the system group-by provider: it looks up GroupByProvider('system:' + params.key) in the framework, and this fires when no provider is registered under that key. It means the group-by config names a system grouping key that the current build does not support; the faulting input is params.key.

Source

Thrown at packages/frontend/core/src/modules/collection-rules/impls/group-by/system.ts:16

import { Service } from '@toeverything/infra';
import type { Observable } from 'rxjs';

import { GroupByProvider } from '../../provider';
import type { GroupByParams } from '../../types';

export class SystemGroupByProvider extends Service implements GroupByProvider {
  groupBy$(
    items$: Observable<Set<string>>,
    params: GroupByParams
  ): Observable<Map<string, Set<string>>> {
    const provider = this.framework.getOptional(
      GroupByProvider('system:' + params.key)
    );
    if (!provider) {
      throw new Error('Unsupported system group by: ' + params.key);
    }
    return provider.groupBy$(items$, params);
  }
}

View on GitHub (pinned to b4c8548c09)

Solutions

  1. Use a supported system group-by key.
  2. Remove the unknown group-by parameter.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown in the system group-by dispatcher when no group-by provider exists for the given system key.

Common situations: Occurs when a collection uses a system group-by key unknown to this build; select a supported grouping field in the collection settings.


AI-assisted analysis of toeverything/AFFiNE@b4c8548c09 (2026-08-18). Data as JSON: /api/errors/4e3f44e66672cd6a. Report an issue: GitHub.