From e7892c4bf9136d172aa5e4a84ab98d7645bf2af8 Mon Sep 17 00:00:00 2001 From: hacklab Date: Mon, 19 Oct 2026 13:28:44 +0200 Subject: [PATCH] workflows: activists vuelve a ser el del dev; karvan y acampada desde fork_workflows - el workflow activists del dev queda como en la 1.3.3 (unos 45 modulos) - karvan se anade a las listas del dev al arrancar, desde fork_workflows.js - la config de serie del movil enciende tribus, parlamento, votaciones y eventos: coincide con acampada y sale marcado en Ajustes --- GUIA_DE_DESARROLLO.md | 5 +++-- docs/FRONTERA_UPSTREAM.md | 7 ++++--- src/configs/oasis-config.json | 8 ++++---- src/models/fork_workflows.js | 10 ++++++++++ src/models/workflows_model.js | 12 +++++++----- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/GUIA_DE_DESARROLLO.md b/GUIA_DE_DESARROLLO.md index fec74ee..76dcf1f 100644 --- a/GUIA_DE_DESARROLLO.md +++ b/GUIA_DE_DESARROLLO.md @@ -174,7 +174,8 @@ duele: 1. Quedan 21 trozos nuestros en `backend.js` (copia de seguridad, avatar de la barra de arriba, vĂ­deos, filtro del lanzador...). Tienen que irse al router propio. -2. El workflow `activists` sigue cambiado en `workflows_model.js`. Hay que dejarlo - como el del dev; el nuestro ya es `acampada`. +2. En `workflows_model.js` queda la logica de skins del movil (`themeOf`, `sameTheme`): + `settings_view.js` coge `currentWorkflow` al cargar y no se puede envolver desde + fuera sin tocar esa vista. Es poco, pero es del dev. 3. Selectores que ya no apuntan a nada: unos 60 en `styles/mobile_base.css`, 29 en `hive_acampada.css` y 5 en `Acampada.css`. diff --git a/docs/FRONTERA_UPSTREAM.md b/docs/FRONTERA_UPSTREAM.md index fcacb54..397f59e 100644 --- a/docs/FRONTERA_UPSTREAM.md +++ b/docs/FRONTERA_UPSTREAM.md @@ -131,9 +131,10 @@ nada, pero son peso muerto y confunden. - Fase C: los 21 trozos antiguos de `backend.js` (exportar copia de seguridad, avatar de la topbar, `#t=0.1` en los videos, filtro del lanzador...) pasan al router propio como envoltorios. -- Fase D: workflows. Devolver `activists` al del dev y registrar los nuestros - (`acampada`) desde un fichero propio, empujandolos a los arrays que exporta - `workflows_model.js`. +- Fase D (hecha el 19/10): `activists` vuelve a ser el del dev. Karvan y el workflow + `acampada` se registran desde `models/fork_workflows.js`. La config de serie del + movil coincide con `acampada`. Queda en `workflows_model.js` la logica de skins del + movil. - Fase E: limpieza de selectores muertos en las hojas propias. ## 6. Fase A: lo que se ha movido diff --git a/src/configs/oasis-config.json b/src/configs/oasis-config.json index 070715e..0acd6ef 100644 --- a/src/configs/oasis-config.json +++ b/src/configs/oasis-config.json @@ -20,11 +20,11 @@ "tagsMod": "off", "imagesMod": "on", "trendingMod": "off", - "eventsMod": "off", + "eventsMod": "on", "tasksMod": "off", "marketMod": "off", - "votesMod": "off", - "tribesMod": "off", + "votesMod": "on", + "tribesMod": "on", "reportsMod": "off", "opinionsMod": "off", "padsMod": "on", @@ -46,7 +46,7 @@ "industryMod": "off", "bankingMod": "off", "schoolMod": "off", - "parliamentMod": "off", + "parliamentMod": "on", "courtsMod": "off", "favoritesMod": "off", "logsMod": "off", diff --git a/src/models/fork_workflows.js b/src/models/fork_workflows.js index cdd57f3..5bbbf87 100644 --- a/src/models/fork_workflows.js +++ b/src/models/fork_workflows.js @@ -21,10 +21,20 @@ const FORK_WORKFLOWS = [ } ]; +// Karvan es un modulo de la rama: se anade a las listas del dev (todos los modulos, +// los del movil y el workflow "default", que se calcula al cargar con una copia) +const addKarvan = () => { + if (!wf.ALL_MODULES.includes('karvan')) wf.ALL_MODULES.push('karvan'); + if (!wf.MOBILE_MODULES.includes('karvan')) wf.MOBILE_MODULES.push('karvan'); + const def = wf.WORKFLOWS.find(w => w.key === 'default'); + if (def && !def.modules.includes('karvan')) def.modules.push('karvan'); +}; + let done = false; const register = () => { if (done) return; done = true; + addKarvan(); for (const w of FORK_WORKFLOWS) { if (wf.WORKFLOWS.some(x => x.key === w.key)) continue; wf.WORKFLOWS.push(w); diff --git a/src/models/workflows_model.js b/src/models/workflows_model.js index 85a1230..81ba66f 100644 --- a/src/models/workflows_model.js +++ b/src/models/workflows_model.js @@ -1,7 +1,7 @@ const ALL_MODULES = [ 'agenda', 'ai', 'aiNav', 'emergencies', 'audios', 'backup', 'banking', 'blogs', 'bookmarks', 'calendars', 'campaigns', 'chats', 'cipher', 'courts', 'dev', 'docs', 'events', 'favorites', 'fediverse', 'feed', 'files', 'forum', 'games', 'graphos', - 'housing', 'images', 'industry', 'invites', 'jobs', 'karvan', 'larp', 'logistics', 'logs', 'mailing', 'maps', 'market', + 'housing', 'images', 'industry', 'invites', 'jobs', 'larp', 'logistics', 'logs', 'mailing', 'maps', 'market', 'melody', 'opinions', 'pads', 'wiki', 'parliament', 'phone', 'pixelia', 'podcasts', 'polls', 'projects', 'reports', 'rooms', 'school', 'shops', 'tags', 'tasks', 'torrents', 'transfers', 'trending', 'tribes', 'videos', 'votes', 'wallet' ]; @@ -26,7 +26,7 @@ const PRESETS = { const MOBILE_MODULES = [ 'agenda', 'favorites', 'wallet', 'tribes', 'larp', 'votes', 'polls', 'events', 'calendars', 'tasks', 'reports', 'banking', 'market', 'housing', 'jobs', 'shops', 'school', 'courts', 'transfers', 'cipher', 'invites', - 'games', 'audios', 'bookmarks', 'docs', 'files', 'images', 'torrents', 'emergencies', 'mailing', 'logistics', 'podcasts', 'campaigns', 'karvan', ...NETWORK.filter(m => m !== 'rooms') + 'games', 'audios', 'bookmarks', 'docs', 'files', 'images', 'torrents', 'emergencies', 'mailing', 'logistics', 'podcasts', 'campaigns', ...NETWORK.filter(m => m !== 'rooms') ]; const WORKFLOWS = [ @@ -72,11 +72,13 @@ const WORKFLOWS = [ 'tags', 'trending', 'tribes', 'larp', 'polls', 'opinions', 'invites'] }, { - // lo justo para organizarse: hablar, escribir juntos y compartir lo que pasa key: 'activists', theme: 'Purple-SNH', homePage: 'activity', - modules: ['chats', 'karvan', 'pads', 'forum', 'images', 'videos', 'wiki', 'blogs', 'feed', 'invites', 'backup'] + modules: [...GOVERNANCE, ...OFFICE, + 'forum', 'chats', 'rooms', 'feed', 'blogs', 'opinions', 'pads', 'wiki', 'docs', 'images', 'videos', 'audios', 'podcasts', + 'files', 'torrents', 'maps', 'bookmarks', 'graphos', 'melody', 'cipher', 'fediverse', 'projects', 'logistics', + 'invites', 'tags', 'trending', 'backup'] }, { key: 'mobile', @@ -128,7 +130,7 @@ const applyWorkflow = (cfg, workflow) => { const FULL_WORKFLOW = { key: 'full', modules: ALL_MODULES }; -const WIZARD_WORKFLOWS = ['activists', 'full', 'social', 'kids', 'night', 'jobs', 'business', 'mobile']; +const WIZARD_WORKFLOWS = ['full', 'social', 'activists', 'kids', 'night', 'jobs', 'business', 'mobile']; const wizardWorkflow = (key) => { const k = String(key || '');