diff --git a/bin/solid.pill b/bin/solid.pill index 18fc836cf6..daf95af8f5 100644 --- a/bin/solid.pill +++ b/bin/solid.pill @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:197e7c205c783e80008434a1975d8f1e86e1bd8c5d6ab2ca9273cf4749529b08 -size 9218537 +oid sha256:016d6672c471304c7c728913b169a9a938d3fcb1a5f0d47e92e1c1c9ebde8d92 +size 9282017 diff --git a/pkg/arvo/app/contact-store.hoon b/pkg/arvo/app/contact-store.hoon index 04909bf992..27a3c6cc34 100644 --- a/pkg/arvo/app/contact-store.hoon +++ b/pkg/arvo/app/contact-store.hoon @@ -117,7 +117,6 @@ !=(contact(last-updated *@da) u.old(last-updated *@da)) == [~ state] - =. last-updated.contact now.bowl :- (send-diff [%add ship contact] =(ship our.bowl)) state(rolodex (~(put by rolodex) ship contact)) :: @@ -132,15 +131,17 @@ state(rolodex (~(del by rolodex) ship)) :: ++ handle-edit - |= [=ship =edit-field:store] + |= [=ship =edit-field:store timestamp=@da] |^ ^- (quip card _state) =/ old (~(got by rolodex) ship) + ?: (lte timestamp last-updated.old) + [~ state] =/ contact (edit-contact old edit-field) ?: =(old contact) [~ state] - =. last-updated.contact now.bowl - :- (send-diff [%edit ship edit-field] =(ship our.bowl)) + =. last-updated.contact timestamp + :- (send-diff [%edit ship edit-field timestamp] =(ship our.bowl)) state(rolodex (~(put by rolodex) ship contact)) :: ++ edit-contact diff --git a/pkg/arvo/app/glob.hoon b/pkg/arvo/app/glob.hoon index c266fdf4b5..7b7c727518 100644 --- a/pkg/arvo/app/glob.hoon +++ b/pkg/arvo/app/glob.hoon @@ -5,7 +5,7 @@ /- glob /+ default-agent, verb, dbug |% -++ hash 0v7.d72b8.89c7k.vn1je.k3gvs.qr60j +++ hash 0v1.grvkp.m0c8p.i7s2g.p5mje.im0qo +$ state-0 [%0 hash=@uv glob=(unit (each glob:glob tid=@ta))] +$ all-states $% state-0 diff --git a/pkg/arvo/app/landscape/index.html b/pkg/arvo/app/landscape/index.html index ca470348b5..bc22e45c03 100644 --- a/pkg/arvo/app/landscape/index.html +++ b/pkg/arvo/app/landscape/index.html @@ -24,6 +24,6 @@
- + diff --git a/pkg/arvo/lib/contact-store.hoon b/pkg/arvo/lib/contact-store.hoon index b1c643b9e4..5f546d11f6 100644 --- a/pkg/arvo/lib/contact-store.hoon +++ b/pkg/arvo/lib/contact-store.hoon @@ -42,6 +42,7 @@ %- pairs :~ [%ship (ship ship.upd)] [%edit-field (edit edit-field.upd)] + [%timestamp (time timestamp.upd)] == :: %allow @@ -140,6 +141,7 @@ %- ot :~ [%ship (su ;~(pfix sig fed:ag))] [%edit-field edit] + [%timestamp di] == :: ++ beings diff --git a/pkg/arvo/sur/contact-store.hoon b/pkg/arvo/sur/contact-store.hoon index fb6e853303..5acfd823e6 100644 --- a/pkg/arvo/sur/contact-store.hoon +++ b/pkg/arvo/sur/contact-store.hoon @@ -32,7 +32,7 @@ $% [%initial =rolodex is-public=?] [%add =ship =contact] [%remove =ship] - [%edit =ship =edit-field] + [%edit =ship =edit-field timestamp=@da] [%allow =beings] [%disallow =beings] [%set-public public=?] diff --git a/pkg/interface/src/logic/api/contacts.ts b/pkg/interface/src/logic/api/contacts.ts index 5bf0a659f6..ca1f0a338a 100644 --- a/pkg/interface/src/logic/api/contacts.ts +++ b/pkg/interface/src/logic/api/contacts.ts @@ -6,6 +6,7 @@ import { GroupPolicy, Resource } from '~/types/group-update'; export default class ContactsApi extends BaseApi { add(ship: Patp, contact: any) { + contact['last-updated'] = Date.now(); return this.storeAction({ add: { ship, contact } }); } @@ -25,11 +26,11 @@ export default class ContactsApi extends BaseApi { {add-group: {ship, name}} {remove-group: {ship, name}} */ - console.log(ship, editField); return this.storeAction({ edit: { ship, 'edit-field': editField, + timestamp: Date.now() }, }); } diff --git a/pkg/interface/src/logic/lib/omnibox.js b/pkg/interface/src/logic/lib/omnibox.js index d3397a410b..eabb8017ec 100644 --- a/pkg/interface/src/logic/lib/omnibox.js +++ b/pkg/interface/src/logic/lib/omnibox.js @@ -75,6 +75,7 @@ const otherIndex = function() { other.push(result('My Channels', '/~landscape/home', 'home', null)); other.push(result('Notifications', '/~notifications', 'inbox', null)); other.push(result('Profile and Settings', `/~profile/~${window.ship}`, 'profile', null)); + other.push(result('Messages', '/~landscape/messages', 'messages', null)); other.push(result('Log Out', '/~/logout', 'logout', null)); return other; diff --git a/pkg/interface/src/views/components/ImageInput.tsx b/pkg/interface/src/views/components/ImageInput.tsx index d95851becf..d234462b13 100644 --- a/pkg/interface/src/views/components/ImageInput.tsx +++ b/pkg/interface/src/views/components/ImageInput.tsx @@ -65,6 +65,7 @@ export function ImageInput(props: ImageInputProps) { {canUpload && ( <>