dendrite/cmd/dendrite-demo-pinecone
dependabot[bot] 285d065e02
Bump nhooyr.io/websocket from 1.8.7 to 1.8.17 (#3456)
Bumps [nhooyr.io/websocket](https://github.com/nhooyr/websocket-old)
from 1.8.7 to 1.8.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nhooyr/websocket-old/releases">nhooyr.io/websocket's
releases</a>.</em></p>
<blockquote>
<h2>v1.8.17</h2>
<ul>
<li>This library is now deprecated. Please do not use this library any
longer at the <code>nhooyr.io/websocket</code> import path. It will not
receive any further updates.
Coder is now maintaining it at <a
href="https://github.com/coder/websocket">https://github.com/coder/websocket</a>
under the <code>github.com/coder/websocket</code> import path.</li>
</ul>
<h2>v1.8.16</h2>
<ul>
<li>Please do not use this library any longer at the
<code>nhooyr.io/websocket</code> import path as it is deprecated. It
will not receive any maintenance updates.
Coder is maintaining it now at <a
href="https://github.com/coder/websocket">https://github.com/coder/websocket</a>
under the <code>github.com/coder/websocket</code> import path.</li>
</ul>
<h2>v1.8.15</h2>
<ul>
<li>Please do not use this library any longer at the
<code>nhooyr.io/websocket</code> import path as it is deprecated. It
will not receive any maintenance updates.
Coder is maintaining it now at <a
href="https://github.com/coder/websocket">https://github.com/coder/websocket</a>
under the <code>github.com/coder/websocket</code> import path.</li>
</ul>
<h2>v1.8.14</h2>
<ul>
<li>Please do not use this library any longer at the
<code>nhooyr.io/websocket</code> import path as it is deprecated. It
will not receive any maintenance updates.
Coder is maintaining it now at <a
href="https://github.com/coder/websocket">https://github.com/coder/websocket</a>
under the <code>github.com/coder/websocket</code> import path.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nhooyr/websocket-old/commits/v1.8.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nhooyr.io/websocket&package-manager=go_modules&previous-version=1.8.7&new-version=1.8.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Till Faelligen <2353100+S7evinK@users.noreply.github.com>
2024-12-18 08:01:41 +01:00
..
conduit Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
conn Bump nhooyr.io/websocket from 1.8.7 to 1.8.17 (#3456) 2024-12-18 08:01:41 +01:00
defaults Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
embed Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
monolith Fix linting 2024-11-14 16:40:08 +01:00
relay Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
rooms Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
users Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
main.go Update the license headers to mention the commercial license 2024-10-18 16:14:08 +02:00
README.md Initial Store & Forward Implementation (#2917) 2023-01-23 17:55:12 +00:00

Pinecone Demo

This is the Dendrite Pinecone demo! It's easy to get started.

To run the homeserver, start at the root of the Dendrite repository and run:

go run ./cmd/dendrite-demo-pinecone

To connect to the static Pinecone peer used by the mobile demos run:

go run ./cmd/dendrite-demo-pinecone -peer wss://pinecone.matrix.org/public

The following command line arguments are accepted:

  • -peer tcp://a.b.c.d:e to specify a static Pinecone peer to connect to - you will need to supply this if you do not have another Pinecone node on your network
  • -port 12345 to specify a port to listen on for client connections

Then point your favourite Matrix client to the homeserver URLhttp://localhost:8008 (or whichever -port you specified), create an account and log in.

If your peering connection is operational then you should see a Connected TCP: line in the log output. If not then try a different peer.

Once logged in, you should be able to open the room directory or join a room by its ID.

Store & Forward Relays

To test out the store & forward relay functionality, you need a minimum of 3 instances. One instance will act as the relay, and the other two instances will be the users trying to communicate. Then you can send messages between the two nodes and watch as the relay is used if the receiving node is offline.

Launching the Nodes

Relay Server:

go run cmd/dendrite-demo-pinecone/main.go -dir relay/ -listen "[::]:49000"

Node 1:

go run cmd/dendrite-demo-pinecone/main.go -dir node-1/ -peer "[::]:49000" -port 8007

Node 2:

go run cmd/dendrite-demo-pinecone/main.go -dir node-2/ -peer "[::]:49000" -port 8009

Database Setup

At the moment, the database must be manually configured. For both Node 1 and Node 2 add the following entries to their respective relay_server table in the federationapi database:

server_name: {node_1_public_key}, relay_server_name: {relay_public_key}
server_name: {node_2_public_key}, relay_server_name: {relay_public_key}

After editing the database you will need to relaunch the nodes for the changes to be picked up by dendrite.

Testing

Now you can run two separate instances of element and connect them to Node 1 and Node 2. You can shutdown one of the nodes and continue sending messages. If you wait long enough, the message will be sent to the relay server. (you can see this in the log output of the relay server)