Commit Graph

944 Commits

Author SHA1 Message Date
Fang
e7cbccbbf5
metadata-store: never crash fetching app metadata
In order to track & respond to all app-related metadata, hooks may want to
subscribe to the metadata-store as the first thing they do on-init. In that case
it is exceedingly likely that there are no entries for the app-name in
app-indices yet.

This makes us fall back to the empty set in case app-indices has no entry for
the app-name yet.
2020-02-28 00:16:09 +01:00
édouard
e8fdf3713d chat, contacts, dojo, links, publish: edited existing padding/margins/color/font-size of tab/header components
Basically, this PR includes a collection of edits made to the headers across each of our OS1 modules.
I flattened the font sizing, fixed edge margins/padding, and fixed some button copy in the case of the Contacts app.
2020-02-27 17:54:13 -05:00
Logan Allen
7abb371a20 chat: unmanaged chats are cleaned up and sync down metadata properly 2020-02-27 14:54:03 -08:00
Matilde Park
8ae2cc2680 metadata-store: fix 'associations' typo for /all 2020-02-26 22:43:40 -05:00
Isaac Visintainer
c502474942 Merge branch 'master' into os1-rc 2020-02-26 19:18:17 -08:00
Isaac Visintainer
8cd6160c55 publish: don't reset post dates on notebook import 2020-02-26 16:04:49 -08:00
Isaac Visintainer
8616bf06bf publish: ignore updates from old version 2020-02-26 16:04:42 -08:00
Isaac Visintainer
da31b74521 publish: don't leave notebooks on OTA 2020-02-26 16:02:39 -08:00
Isaac Visintainer
762bf136eb publish: set tile-num after OTA 2020-02-26 16:02:24 -08:00
Isaac Visintainer
db65ff546f publish: don't require a new notebook to trigger upgrading the old 2020-02-26 16:02:15 -08:00
Logan
c5f1f0f7d2
Merge pull request #2356 from urbit/os1-chat-integration
apps: main backend integration between metadata and chat
2020-02-26 14:51:36 -08:00
Logan Allen
eada785c2c chat-js + view: updated new page to work properly with group creation / selection 2020-02-26 14:21:20 -08:00
Logan Allen
0d69e17f3b apps: main backend integration between metadata and chat 2020-02-26 14:10:32 -08:00
matildepark
a1b9e34290
Merge pull request #2353 from urbit/mp/os1/publish/edit
publish: add 'edit note' functionality
2020-02-26 16:29:48 -05:00
Matilde Park
e6b38a1b47 publish: allow direct join from URL 2020-02-25 21:07:06 -05:00
Isaac Visintainer
9581a0535c publish: add publish invite path 2020-02-25 13:43:06 -08:00
Logan
1272a61443
Merge pull request #2324 from urbit/m/chat-ota
OS1 OTA: chat groups & permissions
2020-02-25 13:17:56 -08:00
Fang
82292cc152
chat-hook: on-migrate, only send invites for whitelists
Instead of also sending invites to blacklisted ships, which is obviously
incorrect.
2020-02-25 21:06:44 +01:00
Fang
53bc1d1996
chat-hook: on-migrate, send fresh invites
Accepting these post-upgrade should re-establish all the required
subscriptions. (But doesn't as of this commit, work still pending.)
2020-02-25 21:02:05 +01:00
Matilde Park
a81018a5b6 publish: add wildcard route for note endpoints
We take in /edit parameters (and possibly others) on notes,
so we let the front-end handle the routing regardless of the additional
params in the URL.
2020-02-25 14:19:15 -05:00
matildepark
1c87e329d3
Merge pull request #2345 from urbit/jy/copy
Copy changes to publish and contacts
2020-02-25 13:14:31 -05:00
Fang
d6da23f8c4
chat-hook: style touch-ups 2020-02-25 16:56:10 +01:00
Fang
51f1f9e3a2
chat-hook: on-migrate, delete permission-hook entry
If we don't host a group, we can't (locally) delete it, but we do still
have a permission-hook entry we want to clean up. This does that
deletion, but still relies on the permission-hook logic to clean it up
in the local group case.
2020-02-24 22:52:40 +01:00
Jimmy
e5be10dcc9 publish: sidebar dropdown copy change
update copy on contact

sidebarjs: sort dropdown copy change
2020-02-24 11:57:46 -08:00
~litpub
3f3a0b42e5 Firefox scroll support for chat 2020-02-24 11:40:14 -08:00
matildepark
f8dd807ae8
Merge pull request #2340 from urbit/mp/os1/soto/spinner
soto: add light/dark mode, spinner, prevent overflow
2020-02-24 13:58:39 -05:00
Logan
f64d720795
Merge pull request #2326 from urbit/os1-metahook
metadata-hook: a hook for sending metadata over the network
2020-02-21 20:05:07 -08:00
Logan
170003789a
Merge pull request #2316 from litpub/fixes-dom-nesting
chat: Fixes dom nesting warning on <Message>
2020-02-21 19:02:52 -08:00
Matilde Park
79ad3fa12c soto: add spinner, fix overflow case 2020-02-21 19:52:01 -05:00
Matilde Park
08e511db87 soto: add light theme 2020-02-21 19:32:08 -05:00
Logan Allen
cf21ada1c2 metadata: style fixes, some bug fixes 2020-02-21 16:14:57 -08:00
Fang
e5525b7d9e
chat-hook: on-migrate, configure permission-hook also
Permissions for the new group need to be exposed to the members of those
new groups. This makes the on-migrate logic poke the permission-hook for
that.
2020-02-21 23:57:58 +01:00
Fang
c3becc9f5f
chat-hook: fall back if metadata-store not live
This temporary, upgrade-oriented logic depends on two assumptions:
- If the metadata-store is not running, we are still in the process of
  applying the upgrade.
- If the above is true, all chats are /~host/name, all groups are
  /~/~host/name, and they have a strict one-to-one relation.

Armed with those assumptions, we can deduce groups from chats and vice
versa without depending on the metadata-store, allowing us to carry on
as if it were already running.
2020-02-21 23:57:57 +01:00
Fang
337dc03f6b
permission-group-hook: support /lib/dbug interface 2020-02-21 23:57:57 +01:00
ixv
d1c54a7c2d
Merge pull request #2333 from urbit/ixv/publish-ota
OS1: fix publish ford OTA issues
2020-02-21 14:25:03 -08:00
Logan
fee50ff9e7
Merge pull request #2325 from pkova/os1-rc
chat-store: immediate handle-read on our %message
2020-02-21 13:45:50 -08:00
Fang
d80b5d24bc
permission-hook: clean up access-control on %delete
If we %add-owned, then we add an entry to the access-control jug matching the
data we put into the synced map. When a permission gets deleted, we remove it
from synced, but previously neglected to clean up the matching access-control
entry.

This ensures that if a permission was deleted, and we had it registered as
owned, that the relevant access-control entry is removed from state.
2020-02-21 21:45:04 +01:00
Isaac Visintainer
6e8643000b fixed call to make-groups in outer core 2020-02-21 11:11:38 -08:00
matildepark
910f19c21d
Merge pull request #2328 from urbit/mp/os1/link/spinner
link-fe: add spinner, behaviour
2020-02-21 09:42:35 -05:00
Matilde Park
2e1ff70fb0 link-fe: add spinner, behaviour
Also refactors the header bar back into the skeleton to pass the
spinner.
2020-02-20 20:11:12 -05:00
Matilde Park
ca9bc45511 contacts: use invite-search for new.js 2020-02-20 18:56:25 -05:00
Fang
4a45d2caa6
chat-hook: implement group/permission migration
We want to move from group/permission paths of the form /chat/~host/name
to /~/~host/name, merging the ./read and ./write permission paths into a
single permission matching the group path.
(The leading /~ signifies an "unmanaged" group, one used by apps
internally, and not explicitly exposed to the user as a contacts group.)

This upgrade logic does roughly the following, for every chat path, to
accomplish the migration:
1. delete ./read and ./write groups associated with the chat
2. create a new group containing an approximate "uni" of the old groups
3. register the chat + new group with the metadata-store
4. hook the group up to its matching permission set

Note that because existing groups are hooked up through the
permission-group-hook, doing step 1 deletes the associated permissions.
Step 4 then re-establishes that relation for the newly created group.

The logic here scries into the metadata-store, and as such depends on
that having been started prior to this upgrade process.
2020-02-21 00:50:17 +01:00
Fang
491ac5689f
chat-hook: use metadata-store for permission checks
When permissions change, find out which chats are impacted (on the
assumption that permission paths are group paths), then perform actions
wrt that chat accordingly.

When a chat is interacted with, find out which groups the chat is
associated with, then use those to perform permission checks. If the
check passes for any group, permission is granted.
2020-02-21 00:50:17 +01:00
Fang
9a9aaaaf17
chat-hook: add scry helper 2020-02-21 00:50:16 +01:00
Fang
16886c4876
metadata-store: support /lib/dbug interface 2020-02-21 00:50:16 +01:00
Logan Allen
5ef4cd50ac metadata-hook: implemented watch, kick, added group-scry to store 2020-02-20 14:55:46 -08:00
pkova
2062c9c92e chat-store: immediate handle-read on our %message 2020-02-21 00:27:35 +02:00
matildepark
f78f53525a
Merge pull request #2317 from urbit/mp/os1/publish-progress
publish: add spinner, transition behaviours
2020-02-20 15:05:13 -05:00
édouard
5a6b859a07 Replacing the nonexistent soto tile image depicting "tiscen" with "barcen" 2020-02-20 13:43:48 -05:00
Matilde Park
108f3d9e4a publish: move header into skeleton, add spinner 2020-02-20 00:10:18 -05:00
Logan Allen
99663fec50 metadata-hook: handle metadata facts 2020-02-19 17:56:36 -08:00
~litpub
ea6d0a0502 Fixes DOM nesting error on <Message> 2020-02-19 17:49:53 -08:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Matilde Park
eec6713338 weather: add border to manual entry 2020-02-19 15:43:05 -05:00
matildepark
76576003be
Merge pull request #2308 from urbit/mp/os1/weather/colors
weather: add blurred color gradient, changes based on weather
2020-02-19 13:05:46 -07:00
Matilde Park
1638c62406 weather: style fixes 2020-02-19 15:01:21 -05:00
Logan
820e14757a
Merge branch 'os1-rc' into la-group-create 2020-02-19 11:23:05 -08:00
Matilde Park
3d0f1ff898 weather: increase blur 2020-02-19 13:20:52 -05:00
~litpub
e687b8988b Adds autoresize functionality to chat input 2020-02-18 22:26:05 -08:00
Matilde Park
069df98edd weather: colors change based on weather 2020-02-18 21:22:19 -05:00
Logan Allen
688f9c33a1 chat-js: fixed group creation 2020-02-18 18:05:12 -08:00
Logan Allen
ea7e960c0d metadata-hook: work on pokes 2020-02-18 17:35:00 -08:00
Fang
5b1c3f3cca
Merge pull request #2302 from urbit/m/link-listen-bugfix
link: peer subscription fixes
2020-02-18 23:40:58 +01:00
Isaac Visintainer
7fced14cfc automatically start contacts and links apps upon recieving ota 2020-02-18 11:22:36 -08:00
Fang
583c3dc364
link-store: ensure latest-first ordering of state
We may %hear or %read content that was posted some time ago, so we need
to make sure we add it at the appropriate position (wrt timestamp)
rather than just sticking it at the head of the list.
2020-02-18 16:00:50 +01:00
Fang
a5889794b9
link-listen-hook: ping groupies for retry on-join
Shortcuts the existing retry timer by having new members send out a poke
when they acknowledge joining the group.
The existing retry logic is left in place to deal with other cases of
subscription failure.

Also fixes an incorrect relevancy check during subscription retries, now
properly preventing duplicate subscriptions.
2020-02-18 15:43:04 +01:00
Logan Allen
3526d835dd metadata-hook 2020-02-14 16:51:41 -08:00
Logan
1106e4b5b3
Merge pull request #2291 from urbit/metadata-os1
metadata-store: associate groups with resources within apps, and allow various types of queries
2020-02-14 16:50:51 -08:00
Logan Allen
962ac2e184 metadata-store: sanitized paths and %y to %x 2020-02-14 16:41:39 -08:00
Logan Allen
6e2bcd9428 metadata-store: updated to use better naming for resources, added a few metadata fields 2020-02-14 14:59:22 -08:00
Fang
f2cf3d43d3
link-proxy-hook: fix incorrect scry paths
We were scrying for /gx/path instead of /gx/=link-store=/path.
In the %annotations case, that path wasn't even correct.

Also refactors scries out into a +scry-for helper.
2020-02-14 23:35:04 +01:00
ixv
d49987bcc7
Merge pull request #2286 from urbit/ixv/publish-members-settings
OS1: added members and settings page to publish
2020-02-14 14:34:43 -08:00
Isaac Visintainer
ac620baadb dont send invite on unban
split dropdown component out from api actions in subscribers
2020-02-14 13:55:55 -08:00
Logan
9410b3ad1e
Merge pull request #2292 from urbit/mp/os1/contacts/notes-design-updates
contacts: resizable "notes" field, sidebar scroll tweak, os1 nav buttons
2020-02-14 10:58:38 -08:00
Fang
5d01b4750b
Merge pull request #2289 from urbit/m/link-tile
link: properly support the launch tile
2020-02-14 12:50:26 +01:00
Matilde Park
0cb03b0461 contacts: sidebar scrollbar automatic, os1 buttons 2020-02-14 00:29:03 -07:00
Logan Allen
498c6e8e97 metadata-store: added scry + watch paths, an %update-metadata update 2020-02-13 17:22:52 -08:00
Fang
45088621f4
link-view: properly support the launch tile 2020-02-14 02:02:47 +01:00
Fang
1f4a41e550
link-store: support "all unseen" scry
Instead of forcing clients to scry at every path, they can now scry for
all paths at once.
2020-02-14 01:57:58 +01:00
Fang
fafe4cf2bd
link-store: always mark our own submission as seen 2020-02-14 01:55:17 +01:00
Fang
102424af40
link-store: fix incorrect arm calls
Also changes a typecheck to be more correct, and updates docs to match
implementation.
2020-02-14 01:54:16 +01:00
Isaac Visintainer
56807dd52f added members and settings page 2020-02-13 14:00:55 -08:00
Logan Allen
9205c7c7db sur: added metadata-store structures 2020-02-13 13:13:10 -08:00
Logan Allen
ca7cc1fc10 metadata-store: first compiling version of metadata-store 2020-02-13 13:13:10 -08:00
Logan Allen
a9231fd5f9 chat-js: one line fix to create chat screen to enable managed group creation 2020-02-13 13:11:22 -08:00
Logan
f316d0f118
Merge pull request #2282 from urbit/fix-remove
contacts: improve remove from group experience in UI and terminal log
2020-02-13 11:08:12 -08:00
Logan Allen
ef8aa94171 contact-js: change text to 'delete group' when removing yourself as a member when you own the group 2020-02-12 14:33:07 -08:00
Logan Allen
5aa7a91134 contact-hook: suppress resubscribe stack trace 2020-02-12 14:29:29 -08:00
Logan Allen
fb0ef50f43 contacts-js: fix case where default contact can be removed 2020-02-12 14:09:04 -08:00
Fang
d840c384e1
chat-cli: remove r/w specifiers for invite and banish
No longer supported. As such, we also don't include that in the
permission path anymore.
2020-02-12 15:53:44 +01:00
Logan
33f7d62186
Merge pull request #2273 from urbit/mp/os1/weather-error
weather: concise error, input layout placement
2020-02-11 13:13:43 -08:00
Jimmy
e10b6784ae chat-js: slightly cleaner sig string 2020-02-11 13:09:03 -08:00
Logan Allen
ebab101213 chat-js: fix ui regression for new and join (always create /~/ groups) 2020-02-11 12:59:10 -08:00
Logan
1406363623
Merge pull request #2276 from urbit/chat-double-invite
chat-hook: fix double invite bug
2020-02-11 11:51:00 -08:00
Logan Allen
d7d7cc6f94 chat-hook: fix double invite bug 2020-02-11 11:47:34 -08:00
Fang
27be1861db
chat-cli: no longer allows %mailbox and %journal chats
Also adds in some casts to ensure sane action data. The chat-view-action
changed in this commit should've been nest-failing.
2020-02-11 20:39:14 +01:00
Matilde Park
5c06d1b464 weather: concise error, input layout placement
This lines up the input with the "Set location" button,
and makes the latitude/longitude setting error
more concise, in order to fit within the tile without overflow.

This commit also removes some Tachyons-specific CSS classes.
2020-02-11 13:05:52 -05:00
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Logan Allen
2cae31783e chat-js: on selecting a group from search, set id of chat to that name and disable form 2020-02-10 16:24:05 -08:00
Logan
41f1cb67ca
Merge pull request #2262 from urbit/dupe-invite-os1
contact-hook: fix invite to group being sent back to owner upon accep…
2020-02-10 15:29:13 -08:00
Logan Allen
2d0e7c76c5 contact-hook: fix invite to group being sent back to owner upon acceptance 2020-02-10 15:25:48 -08:00
Isaac Visintainer
d98aed183f add ourselves to the notebook groups we create 2020-02-10 12:44:10 -08:00
Fang
5eab689d0a
Merge pull request #2259 from urbit/m/link-unreader
link: unread counters in sidebar
2020-02-10 20:53:07 +01:00
Fang
9c9b1fcaec
link fe: display unseen link counts in sidebar 2020-02-10 20:52:47 +01:00
Fang
fcf1255b7d
link-store: add scry endpoint for getting unseen urls 2020-02-10 20:18:42 +01:00
Fang
b876716f0d
chat-hook: evaluate result-less %code messages
Prior to sending them out to the messaging target.
2020-02-10 16:34:37 +01:00
Logan Allen
c38641c182 chat: gray out and disable the security toggle when create group is selected 2020-02-07 17:27:01 -08:00
Logan
86893ab645
Merge pull request #2253 from urbit/chat-auto-add
chat: auto-invite on addition to group
2020-02-07 16:18:36 -08:00
Logan Allen
3e94033196 chat: auto-invite on addition to group 2020-02-07 15:52:55 -08:00
ixv
fbe9882888
Merge pull request #2252 from urbit/ixv/publish-multiple-fixes
OS1: publish, multiple fixes
2020-02-07 15:23:14 -08:00
Fang
789d9719a4
Merge pull request #2246 from urbit/mp/os1/link-previews
links: link previews for images and youtube
2020-02-08 00:22:35 +01:00
Fang
7a5b79b020
link fe: ensure we don't visually truncate titles 2020-02-08 00:21:49 +01:00
Isaac Visintainer
3e308fe15b handle inviting/kicking when ship is added/removed from group 2020-02-07 14:06:19 -08:00
Fang
b8ffebcb9d
link: support marking urls as seen 2020-02-07 21:49:16 +01:00
Fang
b08a4ef605
link-store: touch up interface path docs 2020-02-07 21:43:11 +01:00
Fang
2df646bd0a
link-store: reject pokes without content 2020-02-07 21:42:33 +01:00
Matilde Park
f4faef2b6c link: link previews for images and youtube 2020-02-06 20:48:30 -05:00
Matilde Park
83a7e45e74 link: add "groupPath" to link-submit.js 2020-02-06 19:42:26 -05:00
matildepark
140e1b4d9d
Merge pull request #2243 from urbit/la-chat-sig-path
chat + contacts: finished integration for managed groups
2020-02-06 19:29:18 -05:00
matildepark
6f65a65d85
Merge pull request #2244 from urbit/m/link-fe-path
link fe: use base64url
2020-02-06 19:20:02 -05:00
Fang
5443a3ec7b
link fe: be consistent about groupPath (vs path)
Prefer "groupPath" name over just "path" consistently to avoid
ambiguity.
2020-02-07 01:07:36 +01:00
Logan Allen
ea93dd3af8 chat + contacts: finished integration for managed groups
Specifically, this commit removes the add action from the contact-view
and replaces it with a listener within contact-hook for additions
to groups. This means that when a ship is added to a group that the
contact-hook is watching, the ship is automatically sent an invite to
join that "managed group" from the contacts application. This also
includes the UI integration work on the management screen and settings
screen for working with the new group / permission structure.
2020-02-06 16:02:45 -08:00
Logan Allen
64ff95d27c chat: backend work to support ~ paths 2020-02-06 16:01:00 -08:00
Isaac Visintainer
93b9c6d5d9 added invites to sidebar in publish 2020-02-06 14:31:51 -08:00
Fang
1490e415c4
Merge branch 'os1-rc' into m/link-fe 2020-02-06 21:38:11 +01:00
Isaac Visintainer
45b82e04f0 updated notebook creation logic to be in line with groups/contacts
added invite reducer
fixed page transition on new notebook creation
2020-02-06 11:42:48 -08:00
Matilde Park
ccdb4b0259 publish: new.js, contact-view + group-store 2020-02-06 11:42:46 -08:00
Logan Allen
69fbf7f13f Merge branch 'mp/os1/publish-sidebar' into os1-rc 2020-02-06 11:37:50 -08:00
Fang
2f1f9b9c56
link fe: remove unused link-initial logic
Also includes up-to-date index.js.
2020-02-06 17:33:34 +01:00
Fang
4222ebbfb3
link fe: always render up-to-date comment counts 2020-02-06 15:04:47 +01:00
Fang
ab21f67ba6
link: support loading individual submissions
On the frontend, updates the route path to include the (base64-encoded)
url. Uses that and the load-single functionality to support loading
directly into a submission page, which fetches just the requested
submission.

Also ensures we don't open duplicate comment subscriptions.
2020-02-06 14:50:39 +01:00
Matilde Park
052fbc34de launch: rebuilt all apps, add mobile flexbox 2020-02-05 23:34:17 -05:00
Gavin Atkinson
c93d026a70 get geolocation from weather app, revise clock appearance to match new
launch page
2020-02-05 18:08:22 -08:00
Matilde Park
6b06367cc4 publish: sidebar defensive checks and style fixes 2020-02-05 20:53:17 -05:00
Matilde Park
21f6be96a1 launch, various: new tiles and launch (but clock) 2020-02-05 18:16:56 -05:00
matildepark
9727fab259
Merge pull request #2233 from urbit/m/uplink-os1
link: subscriptions for the frontend
2020-02-05 15:30:53 -05:00
Matilde Park
ae007f7b96 links-fe: rebuild link.js 2020-02-05 15:30:34 -05:00
Fang
3bbff696b5
link frontend: fix loading into submission page 2020-02-05 21:17:47 +01:00
Fang
469f7e04d1
link-view: launch tile on-boot
Also fills out the eyre %connect wire for clarity.
2020-02-05 20:48:48 +01:00
Fang
37c943d34d
link-view: serve png files 2020-02-05 18:43:28 +01:00
Fang
26116ee990
link-view: handle eyre bind acks 2020-02-05 18:43:27 +01:00
Fang
83ed16fcb7
link: remove /app/link-server-hook
Use link-view instead.
2020-02-05 18:43:27 +01:00
Fang
4e4f005689
link: update frontend ui logic to match api changes
Updates the frontend display & data fetching logic to match the changes
made in e7eef19d7.
2020-02-05 18:43:20 +01:00
Fang
e3a4de4d31
link: encode urls in paths using +wood (vs base64)
Base64 encoding isn't actually @ta-safe, since it contains capitals and
=. +wood escapes all such characters explicitly. The result is more
readable and more hoon-native paths, but does mean clients will have to
re-implement +wood locally.
2020-02-05 17:39:08 +01:00
Fang
23db1d3be1
link: implement link-view 2020-02-05 17:35:24 +01:00
Matilde Park
bc4dd57896 publish: sortable sidebar 2020-02-04 21:14:44 -05:00
Logan Allen
a7f9e98f85 js: rebuilt chat and contacts 2020-02-04 15:36:49 -08:00
Logan Allen
b51ae958ec chat: fix issues with [ship path] to path change and support contacts 2020-02-04 15:31:06 -08:00
Logan Allen
543420b68e chat: cleanup to change api to accept path instead of ship, path 2020-02-04 15:30:02 -08:00
A Arroyo
6fb731b5c1 remove ship-based path building 2020-02-04 15:28:44 -08:00