motiró on the web: drafts, boards, events and collectives over apelido, juntos and motiró
  • HTML 39.5%
  • Go 34.3%
  • CSS 18.7%
  • Java 4%
  • JavaScript 3%
  • Other 0.5%
Find a file
Ruben M. Damião d39670ff20 on a phone: one column and the menu behind a button; and an Android app
mobile.css, loaded last, lays the pages out for a narrow window (below
48rem): one column, the menu behind a button (a checkbox, no script), the
page scrolling whole, the panel of a page of one thing under it. The
first page, which has nothing of its own, is the menu. synergy's sheets
stay as they were, and a wide window sees no change.

android/ is a WebView over the web app, wherever it is served (build.sh;
the laboratory's by default): nothing of motiró runs on the phone and no
key is kept there, only the session's cookie. It keeps to the app and to
the hosted Crachá; other links are the browser's.

On /entrando it asks the Crachá of the same phone to let it in without
the chain: it takes the entry's challenge from iu, starts the Crachá with
it, and brings the owner's signature back. The page's number stays under
it, for when there is no Crachá there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:54:30 -03:00
android on a phone: one column and the menu behind a button; and an Android app 2026-10-07 23:54:30 -03:00
static on a phone: one column and the menu behind a button; and an Android app 2026-10-07 23:54:30 -03:00
templates on a phone: one column and the menu behind a button; and an Android app 2026-10-07 23:54:30 -03:00
.gitignore motiro-app: motiró on the web, from the synergy app 2026-10-01 22:17:59 -03:00
actions.go checkin: derive the keys instead of keeping them 2026-10-01 22:34:53 -03:00
actions_test.go checkin: derive the keys instead of keeping them 2026-10-01 22:34:53 -03:00
app.go checkin: derive the keys instead of keeping them 2026-10-01 22:34:53 -03:00
app_test.go checkin: derive the keys instead of keeping them 2026-10-01 22:34:53 -03:00
details.go details: edits, a vote's detail, and the content of a draft or an edit 2026-10-01 22:26:27 -03:00
forms.go forms: create drafts, boards, events and collectives 2026-10-01 22:24:10 -03:00
forms_test.go forms: create drafts, boards, events and collectives 2026-10-01 22:24:10 -03:00
go.mod motiro-app: motiró on the web, from the synergy app 2026-10-01 22:17:59 -03:00
main.go main: the handles that join, asked of apelido's relay 2026-10-06 23:18:33 -03:00
mine.go updates, connections and my media; the per-type vote pages go 2026-10-01 22:40:53 -03:00
news.go news and my events 2026-10-01 22:37:42 -03:00
news_test.go updates, connections and my media; the per-type vote pages go 2026-10-01 22:40:53 -03:00
pages.go update: boards, collectives and events 2026-10-01 22:27:30 -03:00
README.md updates, connections and my media; the per-type vote pages go 2026-10-01 22:40:53 -03:00
update.go update: boards, collectives and events 2026-10-01 22:27:30 -03:00
update_test.go update: boards, collectives and events 2026-10-01 22:27:30 -03:00
views.go motiro-app: motiró on the web, from the synergy app 2026-10-01 22:17:59 -03:00

motiró — a app

O motiró na web: esboços, murais, eventos e os coletivos que os fazem, sobre o apelido, o juntos e o motiró. Veio da app do synergy (git.aslivres.social/setembro/synergy, api/): os templates e o static como estavam, as structs de vista que eles recebem também (views.go), e o código por baixo reescrito sobre o juntos/client e o motiro/client; as contas vêm do iu.

  • A app é procuradora dos utilizadores no apelido (o código de acesso do iu e o Crachá): publica em nome deles com iu/cadeia.
  • Segue a sub-cadeia do apelido (iu/cadeia), aplica-a a um cliente do juntos e o que o juntos aceita a um cliente do motiró — nós sem rede, por isso as páginas mostram o que os validadores aceitam.
  • Uma proposta aprovada é publicada pela própria app, em nome de quem a propôs (ou de quem votou sim), sem ninguém ter de voltar a carregar num botão.
go build .
./motiro-app -config motiro.json   # o JSON do iu/config, com "protocolo": 1247104596 (o do juntos)

Estado (2026-10-01)

Fase 1 — feita: a ligação à rede e às contas; as páginas de leitura (início, esboços, esboço, coletivos, coletivo, membros, membro, murais, mural, eventos, evento, para votar, ações propostas); o voto pelo formulário (/api, action=Vote). app_test.go faz o caminho todo com uma rede de faz de conta: um coletivo, um esboço, um evento e um mural propostos, votados, publicados pela app, e cada página a mostrá-los.

Fase 2 — feita em parte (2026-10-01):

  • criar: esboço (de um ficheiro, até 32 KiB dentro da ação), nova versão, mural, evento, coletivo — pela pessoa, em nome de um coletivo (proposta) ou em coautoria (lista do juntos);
  • os botões: fixar e tirar (basta um editor), editores, lançar, carimbar, reagir, pedir para entrar e sair, check-in e aceite — a chave de cada check-in é derivada da chave da app, do evento e da @ (nada a guardar), e é com ela que a app abre o que o aceite entrega;
  • edições: propor, listar, ver; /media serve o conteúdo de um esboço ou edição;
  • votações: o detalhe (quem votou, quem falta, quantos sins faltam) e o desfecho;
  • atualizar: mural, coletivo (descrição e maiorias, uma política de cada vez), evento (e os gestores, por votação);
  • novidades: o que aconteceu, do motiró e do juntos, nas categorias do synergy (coisas novas, atualizações, apoios, pessoas; e as reações), com os nomes escapados;
  • meus eventos: onde fez check-in (com a mensagem do aceite) e o que organiza;
  • atualizações: o que mexeu nos coletivos, esboços, murais e eventos da pessoa, com o estado de cada votação ("passa em 2 dias se ninguém se opuser");
  • conexões: os coletivos, murais e eventos a que está ligada, com contagens e a última ação;
  • minhas mídias: os esboços que escreveu (fixados, edições recebidas, selos) e as edições que propôs.

As páginas de votação por tipo do synergy (vote*.html) saíram: aqui uma votação é sempre o detalhe genérico (/detailedvote).

Por fazer: os media maiores, com o protocolo de conteúdo.

Os templates são do synergy e agora correm em html/template (o synergy usava text/template, sem escape).