mirror of
https://github.com/FoggedLens/deflock-app.git
synced 2026-10-01 05:29:35 +02:00
Add feature flag to disable edits temporarily during bugfix
This commit is contained in:
1 parent
fee557330d
commit
fb8260d346
11 files changed
+31
-4
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"1.3.2": {
|
"1.3.2": {
|
||||||
"content": "• INFRA: Complete release workflow redesign - now triggered by GitHub release creation\n• INFRA: Added automatic Google Play Store uploads (Internal Testing track)\n• INFRA: GitHub pre-release checkbox controls whether builds go to app stores\n• INFRA: Brutalist approach - always rebuilds from scratch for maximum reliability"
|
"content": "• HOTFIX: Temporarily disabled node editing to prevent OSM database issues while a bug is resolved\n• TECH: Added kEnableNodeEdits feature flag for controlling edit functionality"
|
||||||
},
|
},
|
||||||
"1.3.1": {
|
"1.3.1": {
|
||||||
"content": "• UX: Network status indicator always enabled\n• UX: Direction slider wider on small screens\n• UX: Fixed iOS keyboard missing 'Done' in settings\n• UX: Fixed multi-direction nodes in upload queue\n• UX: Improved suspected locations loading indicator; removed popup, fixed stuck spinner"
|
"content": "• UX: Network status indicator always enabled\n• UX: Direction slider wider on small screens\n• UX: Fixed iOS keyboard missing 'Done' in settings\n• UX: Fixed multi-direction nodes in upload queue\n• UX: Improved suspected locations loading indicator; removed popup, fixed stuck spinner"
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ const bool kEnableDevelopmentModes = false; // Set to false to hide sandbox/simu
|
|||||||
// Navigation features - set to false to hide navigation UI elements while in development
|
// Navigation features - set to false to hide navigation UI elements while in development
|
||||||
const bool kEnableNavigationFeatures = kEnableDevelopmentModes; // Hide navigation until fully implemented
|
const bool kEnableNavigationFeatures = kEnableDevelopmentModes; // Hide navigation until fully implemented
|
||||||
|
|
||||||
|
// Node editing features - set to false to temporarily disable editing
|
||||||
|
const bool kEnableNodeEdits = false; // Set to false to temporarily disable node editing
|
||||||
|
|
||||||
/// Navigation availability: only dev builds, and only when online
|
/// Navigation availability: only dev builds, and only when online
|
||||||
bool enableNavigationFeatures({required bool offlineMode}) {
|
bool enableNavigationFeatures({required bool offlineMode}) {
|
||||||
if (!kEnableDevelopmentModes) {
|
if (!kEnableDevelopmentModes) {
|
||||||
|
|||||||
@@ -89,6 +89,7 @@
|
|||||||
"profileRequired": "Bitte wählen Sie ein Profil aus, um fortzufahren.",
|
"profileRequired": "Bitte wählen Sie ein Profil aus, um fortzufahren.",
|
||||||
"direction": "Richtung {}°",
|
"direction": "Richtung {}°",
|
||||||
"profileNoDirectionInfo": "Dieses Profil benötigt keine Richtung.",
|
"profileNoDirectionInfo": "Dieses Profil benötigt keine Richtung.",
|
||||||
|
"temporarilyDisabled": "Bearbeitungen wurden vorübergehend deaktiviert, während wir einen Fehler beheben - Entschuldigung - schauen Sie bald wieder vorbei.",
|
||||||
"mustBeLoggedIn": "Sie müssen angemeldet sein, um Knoten zu bearbeiten. Bitte melden Sie sich über die Einstellungen an.",
|
"mustBeLoggedIn": "Sie müssen angemeldet sein, um Knoten zu bearbeiten. Bitte melden Sie sich über die Einstellungen an.",
|
||||||
"sandboxModeWarning": "Bearbeitungen von Produktionsknoten können nicht an die Sandbox übertragen werden. Wechseln Sie in den Produktionsmodus in den Einstellungen, um Knoten zu bearbeiten.",
|
"sandboxModeWarning": "Bearbeitungen von Produktionsknoten können nicht an die Sandbox übertragen werden. Wechseln Sie in den Produktionsmodus in den Einstellungen, um Knoten zu bearbeiten.",
|
||||||
"enableSubmittableProfile": "Aktivieren Sie ein übertragbares Profil in den Einstellungen, um Knoten zu bearbeiten.",
|
"enableSubmittableProfile": "Aktivieren Sie ein übertragbares Profil in den Einstellungen, um Knoten zu bearbeiten.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "Please select a profile to continue.",
|
"profileRequired": "Please select a profile to continue.",
|
||||||
"direction": "Direction {}°",
|
"direction": "Direction {}°",
|
||||||
"profileNoDirectionInfo": "This profile does not require a direction.",
|
"profileNoDirectionInfo": "This profile does not require a direction.",
|
||||||
|
"temporarilyDisabled": "Edits have been temporarily disabled while we sort out a bug - apologies - check back soon.",
|
||||||
"mustBeLoggedIn": "You must be logged in to edit nodes. Please log in via Settings.",
|
"mustBeLoggedIn": "You must be logged in to edit nodes. Please log in via Settings.",
|
||||||
"sandboxModeWarning": "Cannot submit edits on production nodes to sandbox. Switch to Production mode in Settings to edit nodes.",
|
"sandboxModeWarning": "Cannot submit edits on production nodes to sandbox. Switch to Production mode in Settings to edit nodes.",
|
||||||
"enableSubmittableProfile": "Enable a submittable profile in Settings to edit nodes.",
|
"enableSubmittableProfile": "Enable a submittable profile in Settings to edit nodes.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "Por favor, seleccione un perfil para continuar.",
|
"profileRequired": "Por favor, seleccione un perfil para continuar.",
|
||||||
"direction": "Dirección {}°",
|
"direction": "Dirección {}°",
|
||||||
"profileNoDirectionInfo": "Este perfil no requiere una dirección.",
|
"profileNoDirectionInfo": "Este perfil no requiere una dirección.",
|
||||||
|
"temporarilyDisabled": "Las ediciones han sido temporalmente deshabilitadas mientras solucionamos un error - disculpas - regrese pronto.",
|
||||||
"mustBeLoggedIn": "Debe estar conectado para editar nodos. Por favor, inicie sesión a través de Configuración.",
|
"mustBeLoggedIn": "Debe estar conectado para editar nodos. Por favor, inicie sesión a través de Configuración.",
|
||||||
"sandboxModeWarning": "No se pueden enviar ediciones de nodos de producción al sandbox. Cambie al modo Producción en Configuración para editar nodos.",
|
"sandboxModeWarning": "No se pueden enviar ediciones de nodos de producción al sandbox. Cambie al modo Producción en Configuración para editar nodos.",
|
||||||
"enableSubmittableProfile": "Habilite un perfil envíable en Configuración para editar nodos.",
|
"enableSubmittableProfile": "Habilite un perfil envíable en Configuración para editar nodos.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "Veuillez sélectionner un profil pour continuer.",
|
"profileRequired": "Veuillez sélectionner un profil pour continuer.",
|
||||||
"direction": "Direction {}°",
|
"direction": "Direction {}°",
|
||||||
"profileNoDirectionInfo": "Ce profil ne nécessite pas de direction.",
|
"profileNoDirectionInfo": "Ce profil ne nécessite pas de direction.",
|
||||||
|
"temporarilyDisabled": "Les modifications ont été temporairement désactivées pendant que nous résolvons un bug - désolés - revenez bientôt.",
|
||||||
"mustBeLoggedIn": "Vous devez être connecté pour modifier les nœuds. Veuillez vous connecter via les Paramètres.",
|
"mustBeLoggedIn": "Vous devez être connecté pour modifier les nœuds. Veuillez vous connecter via les Paramètres.",
|
||||||
"sandboxModeWarning": "Impossible de soumettre des modifications de nœuds de production au sandbox. Passez au mode Production dans les Paramètres pour modifier les nœuds.",
|
"sandboxModeWarning": "Impossible de soumettre des modifications de nœuds de production au sandbox. Passez au mode Production dans les Paramètres pour modifier les nœuds.",
|
||||||
"enableSubmittableProfile": "Activez un profil soumissible dans les Paramètres pour modifier les nœuds.",
|
"enableSubmittableProfile": "Activez un profil soumissible dans les Paramètres pour modifier les nœuds.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "Per favore seleziona un profilo per continuare.",
|
"profileRequired": "Per favore seleziona un profilo per continuare.",
|
||||||
"direction": "Direzione {}°",
|
"direction": "Direzione {}°",
|
||||||
"profileNoDirectionInfo": "Questo profilo non richiede una direzione.",
|
"profileNoDirectionInfo": "Questo profilo non richiede una direzione.",
|
||||||
|
"temporarilyDisabled": "Le modifiche sono state temporaneamente disabilitate mentre risolviamo un bug - scuse - torna presto.",
|
||||||
"mustBeLoggedIn": "Devi essere loggato per modificare i nodi. Per favore accedi tramite Impostazioni.",
|
"mustBeLoggedIn": "Devi essere loggato per modificare i nodi. Per favore accedi tramite Impostazioni.",
|
||||||
"sandboxModeWarning": "Impossibile inviare modifiche di nodi di produzione alla sandbox. Passa alla modalità Produzione nelle Impostazioni per modificare i nodi.",
|
"sandboxModeWarning": "Impossibile inviare modifiche di nodi di produzione alla sandbox. Passa alla modalità Produzione nelle Impostazioni per modificare i nodi.",
|
||||||
"enableSubmittableProfile": "Abilita un profilo inviabile nelle Impostazioni per modificare i nodi.",
|
"enableSubmittableProfile": "Abilita un profilo inviabile nelle Impostazioni per modificare i nodi.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "Por favor, selecione um perfil para continuar.",
|
"profileRequired": "Por favor, selecione um perfil para continuar.",
|
||||||
"direction": "Direção {}°",
|
"direction": "Direção {}°",
|
||||||
"profileNoDirectionInfo": "Este perfil não requer uma direção.",
|
"profileNoDirectionInfo": "Este perfil não requer uma direção.",
|
||||||
|
"temporarilyDisabled": "As edições foram temporariamente desabilitadas enquanto resolvemos um bug - desculpe - volte em breve.",
|
||||||
"mustBeLoggedIn": "Você deve estar logado para editar nós. Por favor, faça login via Configurações.",
|
"mustBeLoggedIn": "Você deve estar logado para editar nós. Por favor, faça login via Configurações.",
|
||||||
"sandboxModeWarning": "Não é possível enviar edições de nós de produção para o sandbox. Mude para o modo Produção nas Configurações para editar nós.",
|
"sandboxModeWarning": "Não é possível enviar edições de nós de produção para o sandbox. Mude para o modo Produção nas Configurações para editar nós.",
|
||||||
"enableSubmittableProfile": "Ative um perfil enviável nas Configurações para editar nós.",
|
"enableSubmittableProfile": "Ative um perfil enviável nas Configurações para editar nós.",
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
"profileRequired": "请选择配置文件以继续。",
|
"profileRequired": "请选择配置文件以继续。",
|
||||||
"direction": "方向 {}°",
|
"direction": "方向 {}°",
|
||||||
"profileNoDirectionInfo": "此配置文件不需要方向。",
|
"profileNoDirectionInfo": "此配置文件不需要方向。",
|
||||||
|
"temporarilyDisabled": "编辑功能已暂时禁用,我们正在修复一个错误 - 抱歉 - 请稍后再试。",
|
||||||
"mustBeLoggedIn": "您必须登录才能编辑节点。请通过设置登录。",
|
"mustBeLoggedIn": "您必须登录才能编辑节点。请通过设置登录。",
|
||||||
"sandboxModeWarning": "无法将生产节点的编辑提交到沙盒。在设置中切换到生产模式以编辑节点。",
|
"sandboxModeWarning": "无法将生产节点的编辑提交到沙盒。在设置中切换到生产模式以编辑节点。",
|
||||||
"enableSubmittableProfile": "在设置中启用可提交的配置文件以编辑节点。",
|
"enableSubmittableProfile": "在设置中启用可提交的配置文件以编辑节点。",
|
||||||
|
|||||||
@@ -157,7 +157,8 @@ class EditNodeSheet extends StatelessWidget {
|
|||||||
|
|
||||||
final submittableProfiles = appState.enabledProfiles.where((p) => p.isSubmittable).toList();
|
final submittableProfiles = appState.enabledProfiles.where((p) => p.isSubmittable).toList();
|
||||||
final isSandboxMode = appState.uploadMode == UploadMode.sandbox;
|
final isSandboxMode = appState.uploadMode == UploadMode.sandbox;
|
||||||
final allowSubmit = appState.isLoggedIn &&
|
final allowSubmit = kEnableNodeEdits &&
|
||||||
|
appState.isLoggedIn &&
|
||||||
submittableProfiles.isNotEmpty &&
|
submittableProfiles.isNotEmpty &&
|
||||||
session.profile != null &&
|
session.profile != null &&
|
||||||
session.profile!.isSubmittable;
|
session.profile!.isSubmittable;
|
||||||
@@ -209,7 +210,23 @@ class EditNodeSheet extends StatelessWidget {
|
|||||||
// Direction controls
|
// Direction controls
|
||||||
_buildDirectionControls(context, appState, session, locService),
|
_buildDirectionControls(context, appState, session, locService),
|
||||||
|
|
||||||
if (!appState.isLoggedIn)
|
if (!kEnableNodeEdits)
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.fromLTRB(16, 0, 16, 12),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.construction, color: Colors.orange, size: 20),
|
||||||
|
const SizedBox(width: 6),
|
||||||
|
Expanded(
|
||||||
|
child: Text(
|
||||||
|
locService.t('editNode.temporarilyDisabled'),
|
||||||
|
style: const TextStyle(color: Colors.orange, fontSize: 13),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
else if (!appState.isLoggedIn)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.fromLTRB(16, 0, 16, 12),
|
padding: const EdgeInsets.fromLTRB(16, 0, 16, 12),
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
name: deflockapp
|
name: deflockapp
|
||||||
description: Map public surveillance infrastructure with OpenStreetMap
|
description: Map public surveillance infrastructure with OpenStreetMap
|
||||||
publish_to: "none"
|
publish_to: "none"
|
||||||
version: 1.3.1+9 # The thing after the + is the version code, incremented with each release
|
version: 1.3.2+10 # The thing after the + is the version code, incremented with each release
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.5.0 <4.0.0" # oauth2_client 4.x needs Dart 3.5+
|
sdk: ">=3.5.0 <4.0.0" # oauth2_client 4.x needs Dart 3.5+
|
||||||
|
|||||||
Reference in new issue
Block a user