Spelling and other issues.

This commit is contained in:
Sarah Jamie Lewis 2024-01-15 10:26:43 -08:00
parent 439ba2686f
commit c58f0f0207
685 changed files with 1068 additions and 1068 deletions

View File

@ -12,10 +12,10 @@ authors:
image_url: /img/sarah.jpg
---
[Last week](/blog/path-to-hybrid-groups), we mentioned that **enhanced permissions** are esential to implementing many of the aspects
[Last week](/blog/path-to-hybrid-groups), we mentioned that **enhanced permissions** are essential to implementing many of the aspects
of the new **hybrid groups** design.
In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future version of Cwtch will manage
In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future releases of Cwtch will manage
conversation-level permissions.
![](/img/enhancedpermissions.png)
@ -31,11 +31,11 @@ Currently, this access control list only maintains the `Blocked`-state of the co
there are other fields in this list, they have been unused, until now.
Additionally, each conversation also stored an `Accepted` flag, indicating if the user has approved a contact request. The `Accepted` flag has many different
effects including whether certain features (like file sharing) are accessible, or whether the connection attempts with the contact are tried automatically.
effects including whether certain features (like file sharing) are accessible, or whether connection attempts with the contact are tried automatically.
## What Are Enhanced Permissions?
The current approach has several issues. The major one being that profiles have minimal control over how they deal with contacts. Ideally, you should be able to
The current approach has several issues; the major issue being that profiles have minimal control over how they interact with contacts. Ideally, you should be able to
automatically attempt to connect with a given cwtch user, but not allow file shares, for example.
This is the initial driving use case behind Enhanced Permissions. Exposing this underlying ACL and augmenting it with additional flags like `ShareFiles`,

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -14,9 +14,9 @@
<link href="https://docs.cwtch.im/blog/enhanced-permissions"/>
<updated>2024-01-12T00:00:00.000Z</updated>
<summary type="html"><![CDATA[An introduction to the new fine-grained permissions API exposed in libCwtch]]></summary>
<content type="html"><![CDATA[<p><a href="https://docs.cwtch.im/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are esential to implementing many of the aspects
<content type="html"><![CDATA[<p><a href="https://docs.cwtch.im/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are essential to implementing many of the aspects
of the new <!-- --><strong>hybrid groups</strong> design.<!-- --></p>
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future version of Cwtch will manage
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future releases of Cwtch will manage
conversation-level permissions.</p>
<!-- --><p><img loading="lazy" src="https://docs.cwtch.im/assets/images/enhancedpermissions-a654ed1dfe43e9abc541278df1fda501.png" width="1005" height="481" class="img_ev3q"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-conversation-level-permissions-work-in-cwtch-right-now">How do conversation-level permissions work in Cwtch right now?<!-- --><a href="https://docs.cwtch.im/blog/enhanced-permissions#how-do-conversation-level-permissions-work-in-cwtch-right-now" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2>
@ -25,9 +25,9 @@ the handle of the contact.</p>
<!-- --><p>Currently, this access control list only maintains the <!-- --><code>Blocked</code>-state of the contact. If a user blocks another, then this is where the flag is stored. While
there are other fields in this list, they have been unused, until now.<!-- --></p>
<!-- --><p>Additionally, each conversation also stored an <!-- --><code>Accepted</code> flag, indicating if the user has approved a contact request. The <!-- --><code>Accepted</code> flag has many different
effects including whether certain features (like file sharing) are accessible, or whether the connection attempts with the contact are tried automatically.<!-- --></p>
effects including whether certain features (like file sharing) are accessible, or whether connection attempts with the contact are tried automatically.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-enhanced-permissions">What Are Enhanced Permissions?<!-- --><a href="https://docs.cwtch.im/blog/enhanced-permissions#what-are-enhanced-permissions" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2>
<!-- --><p>The current approach has several issues. The major one being that profiles have minimal control over how they deal with contacts. Ideally, you should be able to
<!-- --><p>The current approach has several issues; the major issue being that profiles have minimal control over how they interact with contacts. Ideally, you should be able to
automatically attempt to connect with a given cwtch user, but not allow file shares, for example.</p>
<!-- --><p>This is the initial driving use case behind Enhanced Permissions. Exposing this underlying ACL and augmenting it with additional flags like <!-- --><code>ShareFiles</code>,
<!-- --><code>RenderImages</code>, and <!-- --><code>AutoConnect</code>.<!-- --></p>

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -15,9 +15,9 @@
<guid>https://docs.cwtch.im/blog/enhanced-permissions</guid>
<pubDate>Fri, 12 Jan 2024 00:00:00 GMT</pubDate>
<description><![CDATA[An introduction to the new fine-grained permissions API exposed in libCwtch]]></description>
<content:encoded><![CDATA[<p><a href="https://docs.cwtch.im/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are esential to implementing many of the aspects
<content:encoded><![CDATA[<p><a href="https://docs.cwtch.im/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are essential to implementing many of the aspects
of the new <!-- --><strong>hybrid groups</strong> design.<!-- --></p>
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future version of Cwtch will manage
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future releases of Cwtch will manage
conversation-level permissions.</p>
<!-- --><p><img loading="lazy" src="https://docs.cwtch.im/assets/images/enhancedpermissions-a654ed1dfe43e9abc541278df1fda501.png" width="1005" height="481" class="img_ev3q"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-conversation-level-permissions-work-in-cwtch-right-now">How do conversation-level permissions work in Cwtch right now?<!-- --><a href="https://docs.cwtch.im/blog/enhanced-permissions#how-do-conversation-level-permissions-work-in-cwtch-right-now" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2>
@ -26,9 +26,9 @@ the handle of the contact.</p>
<!-- --><p>Currently, this access control list only maintains the <!-- --><code>Blocked</code>-state of the contact. If a user blocks another, then this is where the flag is stored. While
there are other fields in this list, they have been unused, until now.<!-- --></p>
<!-- --><p>Additionally, each conversation also stored an <!-- --><code>Accepted</code> flag, indicating if the user has approved a contact request. The <!-- --><code>Accepted</code> flag has many different
effects including whether certain features (like file sharing) are accessible, or whether the connection attempts with the contact are tried automatically.<!-- --></p>
effects including whether certain features (like file sharing) are accessible, or whether connection attempts with the contact are tried automatically.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-enhanced-permissions">What Are Enhanced Permissions?<!-- --><a href="https://docs.cwtch.im/blog/enhanced-permissions#what-are-enhanced-permissions" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2>
<!-- --><p>The current approach has several issues. The major one being that profiles have minimal control over how they deal with contacts. Ideally, you should be able to
<!-- --><p>The current approach has several issues; the major issue being that profiles have minimal control over how they interact with contacts. Ideally, you should be able to
automatically attempt to connect with a given cwtch user, but not allow file shares, for example.</p>
<!-- --><p>This is the initial driving use case behind Enhanced Permissions. Exposing this underlying ACL and augmenting it with additional flags like <!-- --><code>ShareFiles</code>,
<!-- --><code>RenderImages</code>, and <!-- --><code>AutoConnect</code>.<!-- --></p>

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.0f79f894.css">
<script src="/assets/js/runtime~main.e3f90ac5.js" defer="defer"></script>
<script src="/assets/js/runtime~main.48da5c57.js" defer="defer"></script>
<script src="/assets/js/main.0edf354f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -14,9 +14,9 @@
<link href="https://docs.cwtch.im/de/blog/enhanced-permissions"/>
<updated>2024-01-12T00:00:00.000Z</updated>
<summary type="html"><![CDATA[An introduction to the new fine-grained permissions API exposed in libCwtch]]></summary>
<content type="html"><![CDATA[<p><a href="https://docs.cwtch.im/de/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are esential to implementing many of the aspects
<content type="html"><![CDATA[<p><a href="https://docs.cwtch.im/de/blog/path-to-hybrid-groups">Last week</a>, we mentioned that <!-- --><strong>enhanced permissions</strong> are essential to implementing many of the aspects
of the new <!-- --><strong>hybrid groups</strong> design.<!-- --></p>
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future version of Cwtch will manage
<!-- --><p>In this post we will introduce the new enhanced permissions api in libCwtch, explain why it is needed, and how future releases of Cwtch will manage
conversation-level permissions.</p>
<!-- --><p><img loading="lazy" src="https://docs.cwtch.im/de/assets/images/enhancedpermissions-a654ed1dfe43e9abc541278df1fda501.png" width="1005" height="481" class="img_ev3q"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-conversation-level-permissions-work-in-cwtch-right-now">How do conversation-level permissions work in Cwtch right now?<!-- --><a href="https://docs.cwtch.im/de/blog/enhanced-permissions#how-do-conversation-level-permissions-work-in-cwtch-right-now" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2>
@ -25,9 +25,9 @@ the handle of the contact.</p>
<!-- --><p>Currently, this access control list only maintains the <!-- --><code>Blocked</code>-state of the contact. If a user blocks another, then this is where the flag is stored. While
there are other fields in this list, they have been unused, until now.<!-- --></p>
<!-- --><p>Additionally, each conversation also stored an <!-- --><code>Accepted</code> flag, indicating if the user has approved a contact request. The <!-- --><code>Accepted</code> flag has many different
effects including whether certain features (like file sharing) are accessible, or whether the connection attempts with the contact are tried automatically.<!-- --></p>
effects including whether certain features (like file sharing) are accessible, or whether connection attempts with the contact are tried automatically.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-enhanced-permissions">What Are Enhanced Permissions?<!-- --><a href="https://docs.cwtch.im/de/blog/enhanced-permissions#what-are-enhanced-permissions" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2>
<!-- --><p>The current approach has several issues. The major one being that profiles have minimal control over how they deal with contacts. Ideally, you should be able to
<!-- --><p>The current approach has several issues; the major issue being that profiles have minimal control over how they interact with contacts. Ideally, you should be able to
automatically attempt to connect with a given cwtch user, but not allow file shares, for example.</p>
<!-- --><p>This is the initial driving use case behind Enhanced Permissions. Exposing this underlying ACL and augmenting it with additional flags like <!-- --><code>ShareFiles</code>,
<!-- --><code>RenderImages</code>, and <!-- --><code>AutoConnect</code>.<!-- --></p>

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>
<script src="/de/assets/js/main.7f624312.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -12,7 +12,7 @@
<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/de/assets/css/styles.9d27f90d.css">
<script src="/de/assets/js/runtime~main.fdb90235.js" defer="defer"></script>
<script src="/de/assets/js/runtime~main.8a859328.js" defer="defer"></script>