fedipod 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fedipod",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Standalone single-actor ActivityPub agent whose wire face, RDF truth and state all live on a Solid pod (CSS). Bundles a Phanpy UI and a Mastodon client-API facade.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@ fieldset { border: 1px solid #bbb; border-radius: .4rem; margin: 1rem 0; padding
20
20
  legend { padding: 0 .3rem; font-weight: 600; }
21
21
  label { display: block; margin: .75rem 0 .2rem; }
22
22
  .hint { color: #666; font-size: .9rem; margin: .15rem 0 0; }
23
- input[type=text], input[type=email], input[type=url], input[type=password], textarea {
23
+ input[type=text], input[type=email], input[type=url], input[type=password], select, textarea {
24
24
  font: inherit; width: 100%; padding: .5rem; box-sizing: border-box;
25
25
  border: 1px solid #767676; border-radius: .3rem; background: Field; color: FieldText;
26
26
  }
@@ -124,8 +124,19 @@ button:disabled { opacity: .5; cursor: default; }
124
124
  <label class="choice"><input type="radio" name="mode" value="existing">
125
125
  Use a pod I already have</label>
126
126
 
127
- <label for="issuer">Solid identity provider</label>
128
- <input type="url" id="issuer" name="issuer" value="https://solidcommunity.net" autocomplete="url">
127
+ <div id="row-issuer-new">
128
+ <label for="issuer-new">Solid pod provider</label>
129
+ <select id="issuer-new" name="issuerNew" aria-describedby="issuer-new-hint">
130
+ <option value="https://solidcommunity.net">solidcommunity.net</option>
131
+ </select>
132
+ <p class="hint" id="issuer-new-hint">Providers that give each pod its own subdomain, so the
133
+ Fediverse address works everywhere.</p>
134
+ </div>
135
+
136
+ <div id="row-issuer-existing" hidden>
137
+ <label for="issuer">Solid identity provider</label>
138
+ <input type="url" id="issuer" name="issuer" value="https://solidcommunity.net" autocomplete="url">
139
+ </div>
129
140
 
130
141
  <label for="email">Solid Account email/username</label>
131
142
  <input type="email" id="email" name="email" autocomplete="email" placeholder="you@example.org">
@@ -60,7 +60,19 @@ function paneForm() {
60
60
  if (fr.kind) $('form').elements.kind.value = fr.kind;
61
61
  if (fr.handle) $('handle').value = fr.handle;
62
62
  if (fr.pod) { $('form').elements.mode.value = 'existing'; $('pod').value = fr.pod; }
63
- if (fr.issuer) $('issuer').value = fr.issuer;
63
+ // A gateway-arranged signup names its own provider; give the dropdown that
64
+ // choice too, so the carried-over answer survives the narrower control.
65
+ if (fr.issuer) {
66
+ $('issuer').value = fr.issuer;
67
+ const sel = $('issuer-new');
68
+ if (![...sel.options].some(o => o.value === fr.issuer)) {
69
+ const o = document.createElement('option');
70
+ o.value = fr.issuer;
71
+ o.textContent = host(fr.issuer);
72
+ sel.appendChild(o);
73
+ }
74
+ sel.value = fr.issuer;
75
+ }
64
76
  if (fr.gatewayHost) strap(`finishing your ${fr.gatewayHost} signup — enter your Solid account details`);
65
77
  }
66
78
  // Resuming: the account exists and the credential is minted. Asking for a
@@ -94,7 +106,7 @@ function answers() {
94
106
  kind,
95
107
  mode,
96
108
  handle: f.handle.value.trim(),
97
- issuer: f.issuer.value.trim(),
109
+ issuer: (mode === 'new' ? f.issuerNew.value : f.issuer.value).trim(),
98
110
  email: f.email.value.trim(),
99
111
  };
100
112
  if (mode === 'new') a.podName = f.podName.value.trim() || a.handle;
@@ -123,6 +135,8 @@ function onEdit() {
123
135
  const mode = state.resumable ? 'existing' : $('form').elements.mode.value;
124
136
  $('row-podname').hidden = mode !== 'new';
125
137
  $('row-pod').hidden = mode === 'new';
138
+ $('row-issuer-new').hidden = mode !== 'new';
139
+ $('row-issuer-existing').hidden = mode === 'new';
126
140
  clearTimeout(editTimer);
127
141
  editTimer = setTimeout(preview, 150);
128
142
  }
@@ -19,8 +19,8 @@
19
19
  </style>
20
20
  </head>
21
21
  <body>
22
- <h1>FediPod - join the fediverse from a Solid pod.</h1>
23
- <p class="lede">Welcome to <b>FediPod</b>! Here, you can get a free pod and fediverse account or link to your existing pod/account.</p>
22
+ <h1>FediPod - join the Fediverse from a Solid pod.</h1>
23
+ <p class="lede">Welcome to <b>FediPod</b>! Here, you can get a free pod and Fediverse account or link to your existing pod/account.</p>
24
24
 
25
25
  <p class="hint" id="current-version" hidden>Current FediPod: <strong id="current-version-num"></strong><br>
26
26
  — install or update an existing install with <code id="current-version-cmd"></code></p>
@@ -25,7 +25,7 @@
25
25
  </head>
26
26
  <body>
27
27
  <h1>Run your identity on this server</h1>
28
- <p class="lede">If your pod is hosted by this server, the server can run your fediverse identity
28
+ <p class="lede">If your pod is hosted by this server, the server can run your Fediverse identity
29
29
  for you: it accepts follows, delivers your posts and serves your Mastodon app, with nothing for
30
30
  you to keep running. Sign in with your pod to prove it is yours.</p>
31
31