►
From YouTube: IETF105-JMAP-20190726-1220
Description
JMAP meeting session at IETF105
2019/07/26 1220
https://datatracker.ietf.org/meeting/105/proceedings/
A
A
C
B
D
C
E
F
C
C
D
F
C
I
J
I
C
C
A
A
Oh
really,
it
works
that
way
because
here's
the
list
of
changes
since
the
last
IETF
real
quickly
so
I
renamed
one
of
the
capabilities.
That's
mostly
just
for
cosmetic
purposes.
The
originally
I
had
set
up
the
push
capability
to
be
a
query
parameter
on
the
URL
that
has
been
changed
to
its
own
separate
true/false
capability.
A
We
added
a
@
type
argument
to
the
request:
object,
which
means
that
all
the
objects
going
to
and
from
the
server
all
have
a
type
so
that
the
client
and
server
knows
what
it's
receiving
quite
quickly
and
we
I
say
added
a
push
state
argument
to
the
state
change
object.
I
will
get
into
that
in
another
slide
and
finally,
we
added
two
new
objects:
a
website
could
push
enable
and
disable
disable
is
what
was
added
an
oh
three.
The
enable
was
in
Oh
next
slide.
Please,
okay,
so
Ford
notify
take
no
notifications,
discovery.
A
A
It's
a
quick
way
for
the
the
client
to
refresh
his
cache
and
get
up
to
date.
Next
slide,
please
here's
the
notification
format,
which
is
identical
to
the
state
change
object
document
in
core
with
the
new
push
state
property
at
the
end,
if
the
server
can
support
an
overall
state,
it
would
include
this
on
all
the
notifications,
so
the
desert
that
so
the
client
knows
exactly
where
everything
is
at
the
next
slide.
A
J
Neil
Jenkins
Sara,
yes,
I've,
read
this
I
think
is
some
looks
fine
and
ready
to
publish
just
one
quick
comment
on
that
push
date
thing:
it's
basically
analogous
to
the
last
event.
Id
thing:
that's
already
built
into
a
server
sent
events,
events
halls,
which
is
the
way
you
connect
push
without
WebSockets,
so
it's
just
giving
you
the
same
functionality
over
the
WebSockets
bread's
yep
yep.
A
A
C
A
K
C
J
That's
better
come
on
okay,
so
I
published
an
initial
0-0
draw
for
this
a
while
back.
That
was
pretty
basic,
there's
still
quite
a
few
things
to
add
so
I'm
going
to
give
a
quick
overview
of
what
this
is
trying
to
achieve.
What
the
general
data
model
is
and
then
talk
about
something
open
issues
and
see
if
you've
got
any
people
in
the
room
or
on
the
meet
echo
that
want
to
put
forward
some
opinions
on
those
issues.
So
we
can
go
to
the
next
slide.
J
This
is
just
calendars
not
trying
to
do
tasks
or
journal
entries,
which
you
can
do
with
card
out,
but
is
rarely
actually
part
of
the
same
system.
In
practice,
so
doesn't
actually
I
think
main
since
necessary
between
the
same
document,
you
can
always
add
that,
as
a
separate
J
map
extension
with
its
own
capability
later
and
just
like
with
the
male
spec,
we
want
to
be
able
to
provide
access
to
the
same
date
of
are
both
CalDAV
and
J.
J
So,
yes,
we
don't
want
to
radically
change
the
data
model,
so
that's
not
possible
we're
going
to
use
jazz
calendar
for
the
event
data
model.
This
is
in
last
call
over
in
collects
its
JSON
representation
of
calendar
data.
That's
much
nice
to
work
with
it's
again,
hopefully,
an
eventual
successor
to
iCalendar.
It's
if
you've
not
seen
that
go,
have
a
look
at
the
calyx
stuff
if
you're
interested
okay,
let's
move
on
next
slide,
so
just
quick
overview
of
the
general
data
model.
J
So
an
account
here
is
a
J
map
account
which
is
kind
of
a
consistency
model.
It's
saying
within
an
account:
you
have
properties
that
must
be
enforced
like
unique
IDs
within
that
account
and
be
able
to
do
certain
things
as
transactions
within
an
account
where
there
isn't
that
requirement
across
accounts.
J
So
you
have
an
account
that
represents
calendar
users.
So
in
a
shared
system
you
might
have
an
awful
lot
of
these.
This
could
be
an
individual.
It
could
be
a
resource,
it
could
be
a
location,
a
room.
Anything
scheduled
you've
build
query
this
with
standard
J
map
methods,
so
that
you
can,
for
example,
query
for
search
for
a
room.
If
you
have
permission
to
see
that
and
then
from
there
the
calendar
user
object
gives
you
an
account
ID
where
you
can
fetch
the
calendar
and
the
events
to
see
all
query
the
availability
on
that
resource.
J
So
yes,
so
if
you
have
a
simple
server,
it
can
can
just
support
a
single
user.
It
doesn't
have
to
worry
about
the
calendar
user
stuff
or
anything.
You
just
get
the
calendaring
calendar
events
data,
but
for
anything,
that's
doing
more
sophisticated
shared
use.
The
calendar
calendaring
you'll
have
this
kind
of
top-level
directory
of
calendar
entities,
which
then
reference.
The
different
accounts
for
the
actual
calendar
data
for
that
entity.
That's
the
demo
overview.
It's
anyone
have
any
comments
or
stuff.
They
want
to
say
on
that.
J
C
J
So
an
account
is
the
kind
of
a
data
consistency
thing
like
you
can
only
have
a
calendar
event
with
a
particular
UID
can
only
exist
once
within
an
account,
but
it
may
exist
in
different
accounts.
So
in
this
example,
maybe
the
accountant
left
is
my
calendar
data
and
the
one
on
the
right
corresponds
to
Ken's.
He
could
share
access
to
his
data
to
me
so
I
could
see
both
accounts
and
I
can,
but
I
might
look
at
their
sharing.
J
J
But
people
just
want
to
integrate
with
calendar
data
to
be
able
to
not
worry
about
some
of
the
more
complicated
bits
and
still
get
the
data
they
need.
So
the
question
I
have
is
whether
we
want
to
also
let
they
have
some
kind
of
mode
that
lets
you
get
the
changes
whilst
having
the
expanded
events.
So
the
trouble
is
there
could
be
infinite,
expanded
events,
so
there
could
be
an
infinite
number
of
changes
if
you
change
you're
going
event
and
you're
fetching
the
expanded
ones.
J
So
the
only
way
I
could
think
of
this
working
was,
if
you
had
some
requirement
that
the
IDS
of
single
of
occurrences
are
the
prefix
of
that
ID
is
the
same
as
the
ID
of
the
master
thing
master
event,
which
would
then
come
through
in
your
/
changes,
but
pretty
expensive
processes.
You
have
to
not
just
do
a
lookup
but
scan
everything
for
prefix
matches
and
also
breaks
the
idea
that
IDs
have
no
semantic
meaning
to
the
client.
J
So
I
think
my
inclination
is
just
to
say:
if
you're
asking
the
server
to
expand
events,
you
don't
get
Delta
changes.
You
still
know
that
something's
changed,
because,
but
at
that
point
you
just
have
to
evaluate
your
entire
case
and
ask
again.
This
is
probably
gonna.
Give
me
simply
simple
clients
anyway,
so
I
don't
think
we
too
much
data
anyone.
Someone
stepped
up
yet
Mike.
L
E
L
I'd
say
CalDAV
has
a
form
of
expanded
query,
but
it's
pretty
useless.
Actually
it.
It
assumes
that
the
client
could
do
almost
nothing
and,
for
some
reason,
turned
everything
into
UTC
and
things.
The
the
expanded
query
I
would
like
to
have
seen
is
one
that
treated
the
instances,
essentially
as
as
I
as
a
separate
event.
You
know
a
fully
populated
event
that
looked
much
like
the
master
event,
but
with
the
appropriate
time
and
date
in
it,
but
we
I
my
recollections.
L
J
Thanks
Mike,
yeah,
I,
agree
and
certainly
in
terms
of
the
options
I
plan
to
add
is
yes,
you
can
ask
the
server
to
expand
events,
and
if
you
do
ask
it,
you
can
optionally
also
ask
it
to
change
it
to
UTC.
If
you
don't
want
to
deal
with
time
zones
as
well,
but
that's
optional,
so
you
can
get
them
with
the
time
zones
but
expanded.
If,
if
that's
what
you
want,
which
I
think
is
what
you're
asking
can
can.
A
J
Yeah
sorry,
I,
I,
think
yeah
I
think
maybe
kind
of
consensus
here
that
we
don't
need.
If
you,
if
you're
doing,
expansion
on
the
server,
you
don't
get
the
exact
changes,
whereas
if
you're,
not
it's
it's
trivial
to
do
the
actual
changes
like
we
normally
do
in
J
map.
The
way
will
work.
Yes
with
expansion.
You'll
do
a
calendar
event,
query
and
say:
expand
this,
and
the
IDS
will
get
back
will
be
IDs
for
the
expanded
events
rather
than
for
the
master
event.
You
get
multiple
ones.
J
You
have
to
time
range
the
query:
if
you're
doing
expansion,
you
can't
obviously
ask
for
everything
cuz
it
could
be
infinite
and
then
you
just
ask
those
IDs
or
the
standard
get
and
it
will
serve
return.
You
like
Mike,
said
the
full
event
as
though
it
were,
that
instance
of
it
with
the
right
date
and
everything.
J
Okay,
I
think
happy
that
let's
move
on
to
next
one,
what
was
this?
Oh
yeah,
okay,
so
the
calendar
event
object
is
representing
an
event
and,
as
I
mentioned
at
the
beginning,
this
is
basically
a
giant
object,
which
is
data
format
puts
in
last
call
and
almost
finished,
but
there's
a
few
extra
properties
that
specific
J
map
on
it.
Its
ID,
which
is
its
ID
within
J
map,
calendar
ID
the
idea
the
calendar
it
belongs
to
and
possibly
will
let
you
request.
J
Utc
start,
which
is
what
we
mentioned
before
the
server
would
calculate
what
the
UTC
start
is
giving
current
times
and
information.
Obviously
we
don't
store
it
as
UTC
in
the
server,
because
timezones
can
and
do
change
at
any
point.
But
if
the
client
wants
to
request
it,
they
can
ask
for
what
it
is
given
current
information,
there's,
no
we're
not
expecting
the
server
to
market
has
changed
if
times
and
information
change.
So
anything
like
that,
though
this
is,
can
be
clearly
marked
computed
property.
J
So,
given
that
we
have
these
extra
properties
to
add,
but
J's
calendar
can
be
extended
with
arbitrary
action
properties,
we
have
a
kind
of
name
spacing
issue
because
they're
all
in
the
same
namespace,
so
I
can't
see
two
options
here
and
I.
Think
what's
been
suggested
to
me
is
the,
but
the
best
thing
is
guest
calendar
will
have
a
registry
of
property
names
and
we'll
just
reserve
any
ones
that
we
want
to
use
within
J
map
so
that
they're
not
used
in
Jeff's
calendar.
J
And
so,
if
you
see
those
that
came
up,
anything
else
is
Jay's
calendar
and
just
gets
written
straight
through
to
the
object.
The
other
alternative
I
see
is
we
define
exactly
which
ones
we
expect
we
jairs
calendar
and
you
have
to
prefix
custom
:
or
something
to
access
the
others,
but
as
soon
as
I
heard
of
the
registry
idea,
I
was
like.
Oh
yes,
that's
that's,
probably
much
better
way
of
doing
it.
So
that's
why
I
plan
to
do
is
anyone
got
any
comments
on
that
I
see
general
nodding
in
the
room
for
the
registry?
J
Don't
think
this
is
a
good
idea
if
we
scroll
down
as
a
few
more
cons
here,
one
of
main
troubles
is
calendar.
It
belongs
to
us
various
properties
like
what
are
the
default
alerts.
This
calendar,
it's
quite
common,
to
have
different
ones
for
different
calendars.
What's
the
time
zone
for
this
calendar
potentially
and
ACLs,
and
so
if
an
event
is
in
multiple,
for
example,
do
you
get
the
alerts
from
all
of
the
different
calendars
or
just
one?
It
gets
a
bit
more
complicated,
and
the
kind
of
the
bigger
downside
to
me
is
just
that.
J
No
one
seems
to
be
doing
this
even
with
their
own
proprietary
models,
so
a
it's
going
to
be
harder
for
existing
clients
to
adopt
game
at
calendars.
If
this
is
something
in
there
and
secondly,
actually
is
there
any
demand
for
this,
or
is
it
just
more
complicated
and
it
seems
adding
complexity
when
there's
no
demand
is
and
the
biggest
con
as
well?
Potentially,
it
doesn't
actually
map
very
easily
to
CalDAV,
because
Cal
that
doesn't
support
this
and
explicitly.
H
J
Didn't
quite
further,
but
I
I
mean
I,
think
I
got
the
you
are
still
in
favor
of
having
support
for
multiple
calendars
for
an
event.
I
wasn't
quite
sure
why
I
mean
J
map
to
move
it
between
counters
is
just
an
update.
The
calendar
ID
property.
So
it's
very
simple
and
it's
a
single
command
there's
no
create
and
then
destroy.
Yeah.
H
But
a
Cal
dev
client
talking
to
it.
Similarly,
particularly
because
something
could
wind
up
with
the
same
ID
I
think
you
could
reject
an
attempt
to
set
something
with
the
same
ID
that
has
different
content
in
a
different
calendar
with
this
already
exists.
But
if
it
has
exactly
the
same
content,
it
should
just
become
a
second
calendar
ID,
because
that
way
you
it's
easier
to
recover
from
data
being
restored
into
another
calendar.
That's
in
the
same
namespace
and
a
bunch
of
conditions
like
that.
H
Yeah,
if
assuming
the
server,
actually
enforces
that
restriction
right,
you
would.
You
would
then
enforce
the
same
restriction
if
was
a
scheduled
event,
but
we
certainly
we've
run
into
issues
with
our
implementation
and
clients
that
don't
like
the
idea
of
an
event
not
being
Eldar
exists
in
multiple
calendars.
A
H
Plants
having
issues
talking
to
our
CalDAV
server,
that
it
rejected
the
event
being
credible
hopeful
telling
us,
because
they
would
try
and
upload
it
when
accounting
for
deleting
the
old
well
other
than
copy
of
fun.
Things
that
I
remove
I
mean
the
fact
that
the
copy
command
exists.
Lf,
you
can't
use
it
within
a
one
account.
A
H
B
K
A
J
J
L
Was
just
trying
to
history
as
I
recollect?
The
only
reason
for
the
restriction
was
that
at
the
time,
Cyrus
and
we're
afraid
didn't
want
to
have
to
limit
your
scheduling
to
a
specific
calendar.
They
want
to
do
a
search
for
the
UID
across
all
your
calendars
to
find
it,
but
it
does
it
promises.
It
is
inconsistent
that
all
over
the
place,
you
can
have
multiple
events
of
the
new
ID
yeah.
We
have
this
one
restriction.
J
J
L
L
The
product
that
they
use,
what
what
ended
up
happening
was
that
we
end
up
with
all
the
same
problems
because
of
sharing
and
instead
of
solving
those
issues
up
front
so
that
you
could
allow
for
the
possibility
of
the
same
event.
Turning
up
in
two
different
places.
It
was
pushed
out
other
way
and
said:
oh
won't
happen
and
then
sharing
came
along
and
it
did
happen.
So.
D
L
K
This
is
Daniel
con
Gilmore
at
the
mic
here.
I
just
want
a
second.
What
Mike
is
saying:
I
regularly
run
into
this
problem,
not
via
J
map,
oh
just
with
the
calendar
files
in
a
calendar
client
where
I
import
an
event
and
then
I
move
it
to
a
different
calendar
and
then
I
get
an
update
about
that
event.
With
the
same
UID
and
I
import
it,
and
then
it's
got
a
deal
with
the
fact.
K
L
J
J
Okay,
so
this
is
so
the
moment
you
get
main
you
just
get
push.
Events
for
state
changes
on
the
server,
but
obviously
current
events
can
have
alerts
and
clients
can
calculate
when
those
fire
themselves,
but
again
for
things
like
web
hooks
or
various
other
integrations
will
just
less
sophisticated
clients
might
want
the
server
to
be
able
to
calculate.
J
J
Is
this
something
that
we
think
should
be
added
to
the
spec,
the
ability
for
the
server
to
push
when
alerts
fires
to
clients?
And
if
so,
is
this
something
that's
just
a
mandatory
part
of
the
spec?
Or
is
it
a
separate
capability,
I?
Think
of
my
two
main
questions
and
then
there's
kind,
some
kind
of
syntax
Oh
question
over
how
we
set
it
up,
but
that's
not
actually
that
important.
We
can
work
that
out.
J
H
H
I
I,
don't
think
it's
a
bad
thing
to
put
that
kind
of
thing.
In
a
separate
capability
we
built
a
nice
powerful
capability
system
and
I
saw
the
discussion
about
extension
mechanisms.
Rusting
shut,
says
as
I.
Don't
think,
we've
got
into
any
risk
of
our
extension
mechanism,
rusting
shut,
but
this
it's
perfectly
fine
for
this
to
be
a
separate
capability
and
then
it's
not
mandatory
and
everyone's
happy.
A
It
is
a
lot
of
work
for
the
server
I.
Guess
my
question
will
be:
will
the
clients
even
use
it
are?
Those
gonna
do
deal
alerts
on
their
own
anyway,
it's
kind
of
like
the
whole
time
zone
thing.
We
push
time
zones
the
clients
to
throw
it
away
immediately
and
do
their
own
thing.
With
this,
be
it's
in
the
same
realm
I
don't
have
the.
J
It's
good
question:
I,
don't
know
I
I,
see
in
the
generic
case,
having
probably
more
people
interested
in
using
it
for
I,
said
kind
of
like
web
hooks.
So
if
you
do
it
create
a
push
subscription
on
the
server
and
it
does
a
call
back
rather
than
pushing
that
directly
to
a
client.
It
does
some
other
action,
and
so
you
can.
You
could
use
this
system
to
like
if
this,
then
that
kind
of
thing
trigger
when
an
event
alert
fires,
it
does
some
other
arbitrary
thing
off
somewhere
else,
potentially
but
yeah.
L
L
No,
but
if
it's
not
going
to
do
anything,
I
mean,
for
example,
if
you're,
if
you're
20,
minutes
away
for
an
event
and
you've
got
an
alert
set
for
five
minutes
ahead
of
the
event
beto.
That
is
absolutely
no
use
to
you.
You
want
do
you
want
the
alert,
20
minutes
in
advance,
and
so
you
better
get
moving
to
get
to
the
event.
L
J
J
J
J
So
we
need
to
be
able
to
send
high-tech
messages
for
scheduling
when
you
do
certain
things
like
you
create
an
event
that
has
invitees.
This
is
how
interval
scheduling
works
so
I
think
the
main
question
is
whether
these
are
just
sent
implicitly,
because
you
create
an
event
with
them
or
explicitly
I.
Think
J
map
style
definitely
tends
to
be
a
bit
more
explicit.
But
if
it's
explicit,
how
explicit
is
it
just
an
argument
to
a
calendar
event
set
to
say,
send
I
tip
and
anything
that
any
change
you
make?
That
should
send
90
thing.
J
L
Yeah,
it's
me
again,
yeah
my
whole
problem
with
with
the
I
tip
thing
about,
when
how
you
send
messages
is
that
it
it?
It
says
it
has
sort
of
wording
like
send
a
message
when
something
important
changes
well.
Well,
who
makes
that
decision?
You
know
if
you
change,
if
you
change
in
a
location
universe
to
another
room
in
a
building
that
may
be
extremely
important
to
one
of
the
attendees,
it's
not
up
to
the
to
the
organizer,
whatever
to
decide.
L
What's
important
and-
and
so
my
feeling
has
always
been,
that
any
change
or
to
be
transmitted
to
the
client
see
a
the
question
is:
does
the
client
bother
telling
the
user
that
something's
changed
and
that's
much
easier
to
determine
at
the
client
end
that
the
at
the
server
side
or
the
originating
side?
Yes,.
J
L
I
would
agree
with
that.
One
of
the
problems
with
I
tip
has
been
that
it
didn't
make
it
absolutely
clear
it
sort
of
said
you
don't
you
don't
have
to
send
this.
You
don't
have
to
send
that
so
everybody
starts
sending
everything
and
in
reality
you
you
could
send
much
more
compact
messages
than
people
are
sending
and,
and
we
should
probably
encourage
that.
A
I
like
what
Mike
said,
but
I
also
would
say:
let's
not
make
the
same
mistake
we
made
with
kal
dev
with
implicit
scheduling,
and
you
have
a
situation
where
you're
just
trying
to
move
stuff
onto
a
calendar
from
an
external
source
and
we
start
firing
off
a
bunch
of
events.
I
think
yeah
this
this
should
always
the
client
should
always
tell
us.
Yes,
do
my
scheduling
requests
or
no,
let's
get
that
in
there
from
from
day
one
absolutely.
J
J
A
J
J
H
One
obnoxious
thing
that
showed
up
for
fast
mail
users
just
recently
with
this,
was
that
if
you're
missing
the
correct
ackles
on
the
calendar,
scheduling
outbox,
then
the
CalDAV
set
works,
the
PO
the
footworks,
but
it
just
sets
a
scheduled
status
3.8,
which
means
permission
denied,
which
at
the
moment,
it's
not
even
mapped
through
to
jer
map.
So
the
user
can't
see
that
their
scheduling
message
wasn't
sent
it
just
silently,
didn't
happen
for
them.
Yeah.
J
H
J
Mean
that's
just
an
extent
up
to
a
client
handle,
though
the
client
knows
what
it's
sent.
It
can
not
just
throw
it
away
if
if
the
server
gives
a
mess
error,
that's
just
I.
This
is
the
message,
though,
that
the
data
was
fine,
but
I
couldn't
send
I
tip
because
of
reason.
The
client
can
then
prompt
the
user
as
well.
Do
you
want
to
save
this
anyway
without
sending
the
messages
or
what.
H
J
H
A
L
Oh
I
was
just
I
was
just
gonna,
say
that
Bron
Bron
raised
the
the
old
issue
of
draft
events
really,
which
was
was
shouted
down
years
ago,
but
keeps
popping
up
again
so
I
mean
that
would
sort
of
solve
it.
If
you're
implicitly
creating
a
draft
event
as
your
as
you're
working,
it
will
not
disappear.
It'll
just
be
still
draft.
That's.
J
J
J
J
J
J
L
The
work
I
do,
though
Asus,
which
is
when
I
you
know
we
did
the
soap
stuff.
This
is
also
P
and
I
finished
that,
and
they
said,
that's
all,
that's
all
great
if
we
do
so,
but
what
we
really
want
to
do
is
something
is
Jason,
and
that
was
a
long
time
ago
and
and
I
think
they
will
be
very
interested
in
this
whole
train
map
thing,
but
they
are,
they
really
love
the
availability.
L
J
The
there's
gonna
be
a
method
I'm
currently
calling
calendar
user
slash,
get
availability
which
looks
at
your
free
busy
time.
Is
your
free
busy
report
essentially
I'm,
going
to
make
sure
that
the
way
that
response
would
also
work
once
you
have
support
for
Via
Rail
ability,
even
if
you
already
have
it
just
you
can't
set
afire
J
map
and
I
think
and
then
we
we
can
add
this
on
extra
I
think
we
definitely
want
to
add
it.
It's
just
whether
we
tried.
L
A
L
We
think
about
doing
the
equivalent
I
mean
if
we,
if
we
assume
that
we
can
store
and
one
thing
is
company
or
the
the
my
mind's
gone
blank,
the
entity
types
being
you
know,
can
us
just
our
events,
cows,
just
for
tasks
counters
just
availability?
Are
we
gonna
specify
that
from
the
outset,
so
I
think
we
should
and
then
it
becomes
real,
very
easy
because
you
say:
oh,
this
collection
holds
availability,
I
mean.
J
That's
kind
of
implicitly
the
case
at
the
moment,
because
there's
only
events
in
the
system,
so
a
calendar
can
only
contain
events
as
soon
as
we
add
other
types.
Yes,
we
would
want
to
say
whether
you're
allowed
multiple
in
one
calendar
or
whether
availability
has
to
be
in
a
separate
one.
You
recommend
availability
should
be
complete
in
a
separate
calendar.
J
J
I
certainly
I
think
Tarson
events.
That
was
a
terrible
idea
that
those
were
mixed
together
into
calendars.
I,
don't
think
we
would
do
the
same
with
Gerry
Matt,
but,
as
I
said
at
the
beginning,
this
there's
no
tasks
in
this
moment.
We're
just
looking
events.
Availability
is
a
bit
less
clear
in
my
mind
whether
that
should
always
be
in
a
separate
calendar
or
should
be
combined
with
a
single.
What
well.
L
J
The
other
like
in
in
J
map
is
the
V
availability.
Things
wouldn't
have
to
be
tied
to
a
calendar
at
all.
They
belong
just
to
the
calendar
user
overall,
so
they've
just
is
this
an
account?
The
only
reason
they'd
need
to
be
tied
to
a
calendars.
If
you
wanted
to
manage
permissions
separately
for
different
people
on
the
availability,
which
you
probably
want,
yeah.
L
You
would
actually
yes
and
the
real
power
of
availability
comes.
Will
you
present
different
availability
to
different
people,
so
I
I
would
I
would
argue
for
from
the
outset
indicating
what
type
of
thing
is
inside
a
calendar
collection
and
looking
making
that
part
of
the
space
expect.
So
we
start
off
in
that
that
state,
okay,.
A
This
is
Ken
again:
I
have
no
strong
opinion
on
single
entities
and
calendars,
but
I'm
fine,
either
way
as
far
as
availability
goes
personally,
I
would
lean
towards
putting
it
in
the
base
spec,
because
Mike's
then
keen
is
saying
in
the
past
and
bronze
current
Kalman
and
I
was
standing
just
because
free/busy
isn't
as
useful
as
availability
is
just
not
just
because
my
counter
says
I'm
free,
3:00
a.m.
doesn't
really
mean
I'm
available
for
a
meeting
and
I.
Think
availability
captures
that
yes,
one.
When
can
you
schedule
with
me?
Okay,
I.
H
One
other
issue
that
that's
come
up
with
this,
that
wasn't
on
those
slides
that
I
wanted
to
just
mention
to
the
room,
and
that
is
the
idea
of
per
user
data
and
what
belongs
to
a
user
and
what?
What
is
shared
between
users
in
IMAP.
We
share
the
scene.
We
have
peruse
the
same
state
and
shared
everything
else
in
our
server
and
there's
no
way
to
tell
well.
J
Yes,
they're,
quite
a
few
properties
will
need
to
be
per
user
I
guess
the
main
question
is:
do
we
just
document
which
ones
those
are
in
the
spec
or
does
the
server
get
to
decide
in
a
certain
manner,
in
which
case
it
would
have
to
advertise
which
ones
are
per
user?
I
was
inclined
of
just
document
which
one
should
be
per
user
in
a
spec,
but
maybe
there's
other
opinions
on
that.
I
I
I
I
I
I
So
unknown
is
when
the
server
cannot
figure
out.
You
know
it
might
be
multi-part
sign
message,
for
example,
but
of
a
format
that
the
server
doesn't
know
so,
for
example,
can
be
like
open
PGP,
but
well.
This
is,
as
man
sign
is
the
status
that
server
knows
it's
s/mime
signed,
but
didn't
try
to
verification
yet
and
then,
once
verification
is
done,
it's
either
yes,
mine,
verified
or
assigned
verified
or
sign
failed
nil.
Raise
the
good
question
this
week
about.
I
I
K
Daniel,
this
is
Dan
Gilmore
I
recommend
cutting
down
the
number
of
statuses
here.
I
recommend
two
statuses
only
and
not
for
the
statuses
are
signed
and
verified
and
nothing.
Those
are
the
two
statuses.
It's
not
clear
to
me
as
a
user.
What
I
gained
from
learning
sign
failed
compared
to
unknown.
We
found
that
we
had
the
same
situation.
True
in
D.
K
A
DCAM
signature
that
doesn't
validate
should
not
be
treated
any
differently
than
the
deccan
signature
whatsoever.
I
know
many
people
do,
but
it's
a
mistake
and
and
as
a
as
a
user
of
an
email
client,
it
is
not
clear
to
me
that
a
big
red
warning
sign
just
because
there
happens
to
be
something
that
looked
like
a
mess.
K
Mime
signature
makes
any
sense
whatsoever
because
it
doesn't
defend
me
against
an
adversary
who's,
trying
to
forge
the
things
that
just
stripped
the
signature
and
remove
the
big
red
warning,
so
so
I
think
I
think
for
a
cognitive
load
for
the
users,
the
the
only
two
states
you
want
are.
This
has
been
verified
and
verified
needs
to
cover
quite
a
bit
of
ground
more
than
what
you've
described
here.
K
I
K
It,
let
us
see
a
draft
that
explains
how
to
how
to
check
signatures
in
the
context
of
store-and-forward
data
with
expiring
certificates,
because
I
don't
think
anyone's
ever
actually
written
that
down.
I
have
some
strong
opinions
about
what
the
right
thing
to
do
is
and
that
you
want
to
evaluate
the
signature
at
the
time
that
the
things
claimed
to
be
read,
and
you
want
it
to
fail.
If
the
timestamp
of
the
message
itself
differs
from
the
timestamp
of
the
signature,
so
you're
evaluating
stuff
at
the
time.
K
The
message
claims
to
have
been
and
your
ich
and
you
are
required,
then
to
be
showing
that
date
stamp
and
the
context
of
the
messaging,
the
dates
tab
appropriately,
which
may
mean
for
a
male
that.
You
also
want
to
check
to
make
sure
that,
if
it's
in
reply
to
some
other
messages
that
it's
time
stamp
is
actually
after
the
messages
that
it
replied
to
for
some
definition
of
after
no
I'm.
Just
saying
that
you
wish
you
one
is
you
want
the
mail
user
agent
to
think
very
clearly
about
what
this
signal
actually
means?
E
K
J
J
You
say
the
date
of
the
message,
but
there
are
many
dates
involved
inside
a
message
and
how
many
of
those
can
be
forged
sothey.
You
need
to
be
more
specific
about
which
date
so
probably
the
one
it
was
received
by
your
server.
No
because
the
date
had
a
field
you
can
write
whatever
you
want
into
that.
No
one
is.
B
M
B
To
fudge
this,
but
what
what
I
wanted
to
respond
to
to
Daniel
know
is
I,
don't
want
to
start
getting
into
all
sorts
of
tying
things
together
and
message:
threads
and
validating
relative
to
the
reply
to
to
the
in
reply
to
and
that
kind
of
stuff.
That's
just
getting
way
out
of
the
scope
of
a
signature.
H
Yeah,
what
I
wanted
to
comment
on
was
debug
ability.
One
of
the
things
that
really
frustrates
me
about
DNS
SEC,
is
that
you
just
get
back
in
an
X
domain
when
you
request
something
and
what's
actually
happening,
is
a
key
signing
failure,
but
the
domain
totally
exists,
so
the
record
totally
exists.
I
think
it's
great
to
have
something
that
just
tells
you
yes
signed,
verified
or
not
known,
but
it
needs
to
be
a
property
that
can
be
fetched
for
anyone,
developing
or
testing
or
for
a
support
department
to
ask
the
user.
H
H
J
J
K
Dkg
here
so
Bron
I
completely
agree
with
you
that
there
may
be
good
cause
to
have
debugging
data
and
I.
Don't
think
this
is
the
place
to
do
that.
Maybe
there's
an
additional
thing
that
you
can
ask
for
debugging
information
about
how
the
Signet
verification
signature
verification
failed,
but
given
the
number
of
ways
that
I
think
signature
verifications
can
fail,
I
think
it's
a
mistake
to
try
to
put
that
in
this
status,
value
which
looks
very
much
like
something.
We
are
encouraging
the
user
agent
to
display
directly
to
these
ok
yeah.
I
M
E
Steph
gentle
I
just
want
to
say
that
the
like
to
read
or
under
saying
I'm,
imagining
the
ideal
UI
to
be
something
like
what
browsers
do
today,
which
is
you
know
if
there's
like
a
other
scenario
here,
I
can
see
exactly
why
the
certificate
failure,
why
that
seems
fairly
check
right
like
that's
what
I
would
I
think
well,
I
mean
a
lot
of
developers.
Use
that
you
know
like
I
know
that
my
mom
doesn't
click
on
that
button,
but
I
certainly
do
when
I'm
building
web
site
from.
K
K
We
are
gendered
space,
we're
heavily
male
there's
a
bunch
of
assumptions
there
and
I
know
it.
I
know
it's
not
an
intentional
thing.
I
just
my
mom
happens
to
technical
user.
Let's
not
make
those
assumptions
about
people
who
might
be
in
the
room
or
might
not
be
in
the
room,
so
yeah
I
mean
I
I.
Think
it's
kind
of
funny
to
use
the
browser
model
as
the
model
that
we're
working
from
a
because
when
the
browser
model
fails,
you
don't
see
the
site
at
all
right
and
that's
not
at
all
the
case
here.
Right.
K
As
someone
who's
debugging
a
lot
of
certificate
errors
I'm
not
actually
convinced
that
this
also
thought
through
you
doesn't
show
you,
then
there
are
multiple
failures.
For
example,
if
you
have
it,
if
you
have
an
expired
certificate,
that
also
doesn't
match,
it'll
usually
tell
you
one
of
those
two
problems,
but
not
the
other.
So,
okay.
H
K
J
H
J
Neil
Jenkins,
just
on
the
browser,
I
think.
Actually
the
lesson
learnt
there
is
moving
away
from
showing
Miz's
trusted
to
not
showing
anything
new
passes
and
showing
big
red
warning
signs
to
you
know
don't
go
here.
If
it
fails,
that's
the
only
state,
because
users
do
not
notice
like
this.
This
is
fine.
J
K
Sorry
this
is
dkg,
you
won't
there's
one
more
thing
that
I
wanted
to
add.
I.
Think
bran
is
right
to
think
about
what
it
means
to
do:
the
verification.
How
that
changes.
The
state
of
the
message
and
I
want
a
flag
that
perhaps
what
you
want
in
this
state
is
the
timestamp
that
then
for
for,
if
it
comes
back
signed
as
opposed
to
not
signed
which
of
the
two
states
I'm
recommending
what
you
may
want
to
have
also
is
signed
and
verified,
and
a
timestamp
when
it
was
verified.
K
Now
I
am
NOT
a
big
fan
of
moving
the
cryptographic
utility
into
the
server.
So
the
fact
that
this
is
situated
in
the
server
makes
me
uneasy,
but
if
you're
going
to
be
doing
the
cryptographic,
verification
in
the
server,
the
thing
that
I
want
from
my
cryptographic
verify
are
is
actually
a
cached
time
stamp.
That
says,
I
saw
this
thing
and
I
verified
it
at
time.
T,
it's
very
different
for
me
to
get
the
message.
K
I'd,
look
at
a
message
on
my
on
my
laptop
and
I
get
and
I'm
looking
at
it
in
2019,
and
it's
from
a
message
that
was
in
2002
and
right
as
signature
verified.
Then,
if
I,
what
I
had
that
is
actually
a
timestamp
from
my
trusted
user
agent.
That
says,
I
actually
did
verify
this
in
2002,
that's
semantically,
different
and
so
I
think
you
might
want
it
to
say,
signed
and
verified
with
the
time
stamp.
Yeah.
H
E
K
Circumstance
where
the,
where
the
user
agent
will
decide
what
to
display
based
on
a
timestamp
of
the
verification
compared
to
the
timestamp
of
the
of
the
message
but
I,
but
that
is
one
thing
that
I
think
should
be
bundled
with
a
signature.
Verification
is
a
timestamp
check
about
a
and
I.
Don't
know
exactly
what
that
means
and
I,
don't
know
how
we
make
the
user
agent
use
it,
but
I'm
happy
to
work
with
folks
to
think
about
what
what
the
semantics
are
there.
Okay,.
C
K
H
K
I
If
somebody
really
wants
this,
we
can
discuss,
but
that's
probably
safer
default,
and
also,
additionally,
you
can
mark
the
private
key,
whether
it's
only
for
signing
for
encryption
or
both.
You
can
also
mark
a
special
case
if
it's
expired,
but
you
still
want
to
be
able
to
decrypt
all
mail.
You
can
mark
both
of
them
as
false.
Then
it
might
be
able
to
decrypt
it,
but
it's
not
usable
for
sending
stuff
out
next
slide.
I
Create
a
constructor
message
which
is
decrypted
or
with
if
it's
a
Buckley
signed
how
to
extract
them.
Payload
so
I
think,
with
with
some
help
from
Neal,
you
suggested
I
had
attribute
to
email,
parsed,
oh
well.
Basically,
it's
mime
decode
default
is
false,
so
nothing
is
done.
If
it's
true,
then
the
blob
is
first
attempted
to
be
decrypted,
and/or,
stripped
from
signature
unpack
from
CMS,
basically,
and
then
it
will
be
parsed
and
then,
at
the
end
of
this
there
will
be
a
new
message
with
new
blog
new
message,
which
you
can
act
on
next
slide.
I
I
J
This
seems
for
defined
in
the
model,
which
is
the
service
basically
doing
the
encryption
kind
of
on
the
edge
going
out
right
so
yeah.
So
just
to
be
clear,
if
you
do
this,
it's
just
the
version
that
sent.
That
is
s
my
encrypted
and
will
sign
to
the
version
you
store
locally
in
your
send
copy
is
not
because
this
is
just
my
it
to
the
actual
submission
yep.
That's
what
you're
intending.
J
Mission
then
out
I
said
because
that
implies
to
me
something
that
just
happens
to
the
submitted
message
that
sent
out.
Not
your
copy
I
think
you
probably
want
to
do
as
part
of
email.
Slash,
says
potentially
then
to
say,
create
this,
and
also
when
you
create
it
encrypt
it
and
will
sign
it.
That's
the
five
four
three
two
two
message:
I'm
not
created
also.
K
Daniel
Kanagawa
I'm,
really
sad
about
this
work.
The
idea
of
moving
the
secret
key
material,
that
is,
the
users
cryptographic,
identity
and
capability
for
seeing
intended
data
into
the
server
I,
think
it
causes
problems
for
other
people
in
the
ecosystem,
who
are
trying
to
understand
what
end-to-end
encrypted
email
actually
means.
The
fact
that
you've
moved
it
there
I
understand
that
anyone
can
leak
clear
text,
any
critics.
K
K
Well,
it
Tribble
vaguely
with
the
signature,
verification
work
because
you're
relying
on
this
other
party
to
do
the
checks
for
you
in
this
case
you're,
actually
relying
on
the
other
party
not
to
compromise
the
security,
the
confidentiality
of
correct
the
messages
and
not
to
forge
messages
as
you
which,
otherwise
they
wouldn't
be
capable
doing
so.
I
strongly
recommend,
if
you're
gonna
work
on
this,
that
you
work
on
it
in
some
separate
draft,
not
in
the
same
draft
yeah.
J
Once
they
come
new
drinkin's
I
mean
I
actually
think
there
is
a
use
case
here,
which
is
generally,
you
have
a
kind
of
Yemeni
corporate
like
company,
which
is
a
trusted
boundary.
If
you
like
the
outside
and
the
stuff
and
there's
other
boundary,
things
are
encrypt
or
decrypt
it
for
Jones,
it's
not
about
end-to-end
encryption.
That
is
a
different
use
case,
but
that's
I
think
that's
where
this
is
kind
of
a
where
s/mime
in
general
is
kind
of
more
useful
I.
H
Was
just
going
to
say
with
that,
it
is
not
necessarily
always
the
case
that
the
client
and
the
server
are
operated
by
two
different
parties.
Your
server
might
be
your
home
box,
that
is
sitting
underneath
your
TV,
and
it
is
fully
controlled
and
owned
by
you
that
your
client
is
talking
to
securely,
and
that
is
then
holding
your
keys.
The
the
Apple
model,
where
the
server,
where
everything's
pushed
to
Apple
devices,
to
the
point
that
I
can't
get
a
one
time
password
without
owning
an
Apple
device
in
order
to
to
talk
to
their
server.
H
K
Understand
that
Braun
and
I
think
I
mean
certainly,
there
are
use
cases
where
it
would
have
the
same
fundamental
confidentiality
and
integrity,
properties
and
authenticity
properties
as
it
would
if
it
was
asserted
on
the
local
device
that
you
hold.
But
when
we
define
this,
we
have
to
be
aware
of
the
context
that
we're
defining
it
in
and
the
context
that
we're
defining
it
in
is
that
many
people
will
be
using
this
with
servers
that
they
don't
have
the
same
level
of
reliability.
Oh
yeah.
G
G
So
about
the
Indian
art
I
put
Sebastian
the
Russian
zero
two
at
the
beginning
of
the
week.
The
idea
is
that
it
make
it
simpler,
using
more
concepts
from
Drake
that
Chrome.
So
next
slide,
please.
So
a
man
changes
the
men
change
is
the
following:
is
defining
super
MD
and
object
with
a
very
basic
set
method
using
only
create
and
the
past
method.
So
we
replace
the
previous
session
who
was
extended?
The
material
object,
Neff
slide.
Please.
G
G
The
only
caveat
is
that
is
returning
no
more
miss
Effie
mission,
but
just
use
the
passive
response
from
the
endian.
So
in
this
case
we
are
sending
an
email,
because
an
Indian
is
is
somewhat
an
email
without
adding
an
miss
efficient
to
to
follow
it.
But
given
that
its
servers,
often
a
sudden
forget
message,
I
think
it's
very
talky.