From 7b6233217cff542f9a03894ca874e3d33661fb96 Mon Sep 17 00:00:00 2001 From: 3nt3 Date: Mon, 20 Feb 2023 09:44:15 +0100 Subject: [PATCH] Add the Cinny client (#286) * Add the Cinny client Signed-off-by: 3nt3 * Implement suggested edits by thibaultamartin Signed-off-by: 3nt3 * fix instructions Signed-off-by: 3nt3 * address things brought up in PR Signed-off-by: 3nt3 --------- Signed-off-by: 3nt3 --- images/client-icons/cinny.svg | 19 +++++++++ src/open/clients/Cinny.js | 73 +++++++++++++++++++++++++++++++++++ src/open/clients/index.js | 2 + 3 files changed, 94 insertions(+) create mode 100644 images/client-icons/cinny.svg create mode 100644 src/open/clients/Cinny.js diff --git a/images/client-icons/cinny.svg b/images/client-icons/cinny.svg new file mode 100644 index 0000000..8701d67 --- /dev/null +++ b/images/client-icons/cinny.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/open/clients/Cinny.js b/src/open/clients/Cinny.js new file mode 100644 index 0000000..6770275 --- /dev/null +++ b/src/open/clients/Cinny.js @@ -0,0 +1,73 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. +Copyright 2022 3nt3 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { Maturity, Platform, LinkKind, FlathubLink, style } from "../types.js"; + +export class Cinny { + get id() { + return "cinny"; + } + get name() { + return "Cinny"; + } + get icon() { + return "images/client-icons/cinny.svg"; + } + get author() { + return "Copyright (c) 2021-present Ajay Bura (ajbura) and contributors"; + } + get homepage() { + return "https://cinny.in"; + } + get platforms() { + return [ + Platform.DesktopWeb, + Platform.Linux, + Platform.macOS, + Platform.Windows, + ]; + } + get description() { + return "A Matrix client focusing primarily on simple, elegant and secure interface. The main goal is to have an instant messaging application that is easy on people and has a modern touch."; + } + getMaturity(platform) { + return Maturity.Stable; + } + + // cinny doesn't support deep links yet + getDeepLink(platform, link) {} + + canInterceptMatrixToLinks(platform) { + return false; + } + + getLinkInstructions(platform, link) { + return [ + "While in Home, Click on '+' in the top left corner, then 'Join with address' and paste the ", + style.code(`${link.identifier} `), + link.kind === LinkKind.User ? "username" : "identifier", + ]; + } + + getCopyString(platform, link) { + return link.identifier; + } + + getInstallLinks(platform) {} + + getPreferredWebInstance(link) {} +} diff --git a/src/open/clients/index.js b/src/open/clients/index.js index 5508c00..f4b7748 100644 --- a/src/open/clients/index.js +++ b/src/open/clients/index.js @@ -24,6 +24,7 @@ import {Fluffychat} from "./Fluffychat.js"; import {NeoChat} from "./NeoChat.js"; import {Syphon} from "./Syphon.js"; import {Thunderbird} from "./Thunderbird.js"; +import {Cinny} from "./Cinny.js" export function createClients() { return [ @@ -37,5 +38,6 @@ export function createClients() { new NeoChat(), new Syphon(), new Thunderbird(), + new Cinny(), ]; }