Skip to main content

GmLintCode

What is wrong, at the granularity a developer would fix. One code per distinguishable remedy: a missing fn: target and a missing timer target are both an unresolved name and are kept apart because the second one arms successfully and fails minutes later somewhere else.

enum GmLintCode {
CONTAINER_TYPE_UNDEFINED
APP_HAS_NO_CONTAINER_TYPES
FUNCTION_NOT_DEFINED
PROPERTY_NOT_DECLARED
PARAM_NOT_DECLARED
TIMER_TARGET_MISSING
TIMER_TARGET_NOT_AUTONOMOUS
PERMISSION_KEY_UNKNOWN
GRID_LITERAL_INVALID
AUTOMATION_TRIGGER_UNMATCHABLE
NOTIFICATION_CHANNEL_FOREIGN
NOTIFICATION_CHANNEL_UNKNOWN
FUNCTION_UNCOMPILABLE
}

Values

GmLintCode.CONTAINER_TYPE_UNDEFINED

A container names a type this app has not defined. The client cannot bind it, and the only symptom is "no container bound for entity" in the game's own log.

GmLintCode.APP_HAS_NO_CONTAINER_TYPES

The app holds containers and declares no types at all — the shape an app takes when it is recreated or moved between organizations, because containers are made on demand by the client and schema is not carried with them.

GmLintCode.FUNCTION_NOT_DEFINED

A fn: call names a function this app does not define.

GmLintCode.PROPERTY_NOT_DECLARED

self.<key> is not in the property definitions for the function's container type.

GmLintCode.PARAM_NOT_DECLARED

An expression references a $param the function does not declare.

GmLintCode.TIMER_TARGET_MISSING

A timer's target function does not exist.

GmLintCode.TIMER_TARGET_NOT_AUTONOMOUS

A timer's target exists but is not autonomousInvocable, so the timer arms and then fails when it fires.

GmLintCode.PERMISSION_KEY_UNKNOWN

A permission-key literal is not in the runtime_permissions catalog.

GmLintCode.GRID_LITERAL_INVALID

A grid builtin was given a mode or axis literal outside its allowed set.

GmLintCode.AUTOMATION_TRIGGER_UNMATCHABLE

An automation trigger's filter cannot match, so it will never dispatch.

GmLintCode.NOTIFICATION_CHANNEL_FOREIGN

A channel notification names a channel that belongs to a different app. Membership is scoped to the app, so the datagram reaches nobody no matter how healthy delivery is — the shape a model takes when it is copied out of the app it was authored against. Repoint it, or name the channel with channel_name so it cannot go stale again.

GmLintCode.NOTIFICATION_CHANNEL_UNKNOWN

A channel notification names a channel id, or a channel name, that this app does not have. A warning rather than an error because the channel may simply not exist yet.

GmLintCode.FUNCTION_UNCOMPILABLE

A stored function definition no longer compiles, so it is inert. Only possible for a row written before a validation the compiler enforces now; re-upsert it.

Member Of

GmLintFindingType object