From adffdb33bb8a008dbdffdf95aa00b59c7f60146b Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Mon, 7 Dec 2020 18:54:57 +0100 Subject: [PATCH] add tensor client again --- images/client-icons/tensor.png | Bin 0 -> 6629 bytes src/open/clients/Tensor.js | 50 +++++++++++++++++++++++++++++++++ src/open/clients/index.js | 2 ++ 3 files changed, 52 insertions(+) create mode 100644 images/client-icons/tensor.png create mode 100644 src/open/clients/Tensor.js diff --git a/images/client-icons/tensor.png b/images/client-icons/tensor.png new file mode 100644 index 0000000000000000000000000000000000000000..f4437c242aa7aa77e0365d7b88e29595fa07399f GIT binary patch literal 6629 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 uBl%e1wG7tLz{K9gjGKew_wipsn5+LskPOAOe zp){I$74aSUdc2~hgG-|6sHfPN*1DGwiPxFSdwzZXXlOI9E|lyY1qHfTllR2TKOGC* z>R^YxLg4O&6PssGtZww_6O7$tL_|S4(lNQkck<990`J^(k%i$gmSrUQoKZB9z^W@JVkhio2txvQ&^Btu$l~Ei88B2yhP(SIjeco`& zVOWQ}>|c0q)9DTmju|p`Gf8i{Xq=s)%3I+dH-sVs3R5>hVV+`Ra#jfWM00wAR}X<3 z%-{E^viviPbc%m`CH~1L^;|7p76I#LhiQP_N~wX>LG#1AM%Wn&SOYt3v)WJH9-QFd zk3Fp|$xH!@G~d8^xYzKQKIr4C9UJrDd`oT_%-@JS=oO?&Kn}ftybmFp7~Rc;@5=Gy z8z@UP?#mwLSn^CLMZzPRD-mj)Q(DCp&5_%A zYhBmMR##uck5A&23*#>hLV;Rfr5|i9vq(h@88M%I{f!am2`^Pr~Q(g8f3N36wuT z>>DPEvGpuK>5@swe13TjbHVR70wxO9;5JETjP%Ps$06$s%)3Gy6Z~^NLH z8j-OKtfwUf-hjP#5bStW4q4LMlu}(u;C7yb<&~f7DoD-*`;Zh6AdSB|nOg(is73zC zXlaoOa4wmYaTq+mFO}%3rDWbRCfA6!`#6bve;Wlv_1FdE*=opOy-^J-vjJ>Hz`-x1 z4rFjgwBPg!0Qm)1(GI^mTr&-8!;7Xhhb6-8!tn`~*HOX#6B1*oBuyk5g@uor0Rxua zhA;dwsGTdDW&+jFck1)*N}DEKWpwzM4&q-Bh{pU*z(|ByiC*;pU(5c(NMy9b`GK&L z8I5sL56JtE@O!0~<)eC1+;2@#AfL4{Kh%vJHJ}q<6Q}gzQA$c`^J~ zf7J^sm#5W^gzQ+*)lWe;Oa4tyGBQrdDPK|ZG&nm2lqiEmHZ7RDR1mlo^U>bWCCJ1F zHEj_}u5p*Jg@=*n9zm+d2Vc3ZT^tKdnjMx^WDd-ohfc8s)P{thSTtBw6KDsI@-Qfw zU5L}NK*3DbdQ&K6u0vhud3LqpXaiLQieiHO8HH`NwaMv^ysy!Q9cB(8;IS?_`GWe7 zQx;)L;O$4+C2J@-5+w5AZ1X|Mn6e|FwN}Zbg+YX(9jAQe4IL&5sDSht;BrA_)WXGqd2G(10TVyJ}) zqLhwO+qQxdLD_+$O`rV@Z>iZ=>TLb^+2!nk1I-sZTQ%hX_eyM!*S76)YpS$g{xg^F zg6s{3LZTpl851i?Q2j!Uh*A#@N#@?sd}l-@kLcm)zC&h=4U+#r0r4N6?xtU8W}Y)r zm6nvU=D`UsQG~C$lhL-oH)3_DMvR53LZKqr^2iL%#Aep#kZ3fyiHIz~5{XHf{W+xD|FvJV z+i>?X9_Uw{-mnhnVlwF^d!M1=SJ#>Hg3BKTaeuqc*$<^gLc9NVT>+2rwZmBd*L8Cv zs4f&b^wsqYIm~@K%%!iUJzU%`c#8iw>bq;JO%V@snd_C7>+6Ee&nQmRRcokF==>`p z%L%MQYpazSQ`kw-!@PnO+FDI~MBshATdD*Kpd})yQi<6i!BL6!FP?N7V^Ev&hEB<< zG4IUL8MtSeKL?VL8xl83)hPbMKL7=G@*P;A52&!7j`LsdJNi+ux#LOamlmPN}97j_o?T%WP9HZ9z{s|;bh3j~POm~*dk`@0r z>dQ1)mnr$N1}KMUV&?^$nem;cT0!CPs038c23qv>QvkY7U@{Wi61%1Tzy)HOS0boI z{5^gXVm7v}7}OC8o*@H)$mf|Sh)j?=#E&)^Z&=S8P=3H*|f*R?mG@FuDY2ICV kDQ`_flE5N4&#ry5@_wLe)h8GHmj>nLe9WoX@l4$R08nZvXaE2J literal 0 HcmV?d00001 diff --git a/src/open/clients/Tensor.js b/src/open/clients/Tensor.js new file mode 100644 index 0000000..ce22116 --- /dev/null +++ b/src/open/clients/Tensor.js @@ -0,0 +1,50 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +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 Tensor { + get id() { return "tensor"; } + get name() { return "Tensor"; } + get icon() { return "images/client-icons/tensor.png"; } + get author() { return "David A Roberts"; } + get homepage() { return "https://github.com/davidar/tensor"; } + get platforms() { return [Platform.Windows, Platform.macOS, Platform.Linux, Platform.Android, Platform.iOS]; } + get description() { return 'QML and JS cross-platform desktop Matrix client'; } + getMaturity(platform) { return Maturity.Alpha; } + getDeepLink(platform, link) {} + canInterceptMatrixToLinks(platform) { return false; } + + getLinkInstructions(platform, link) { + switch (link.kind) { + case LinkKind.User: return [`Type `, style.code(`/invite ${link.identifier}`)]; + case LinkKind.Room: return [`Type `, style.code(`/join ${link.identifier}`)]; + } + } + + getCopyString(platform, link) { + switch (link.kind) { + case LinkKind.User: return `/invite ${link.identifier}`; + case LinkKind.Room: return `/join ${link.identifier}`; + } + } + + getInstallLinks(platform) { + if (platform === Platform.Android) { + return [new FDroidLink("io.davidar.tensor")]; + } + } +} diff --git a/src/open/clients/index.js b/src/open/clients/index.js index 6a36b10..91ce46b 100644 --- a/src/open/clients/index.js +++ b/src/open/clients/index.js @@ -19,6 +19,7 @@ import {Weechat} from "./Weechat.js"; import {Nheko} from "./Nheko.js"; import {Fractal} from "./Fractal.js"; import {Quaternion} from "./Quaternion.js"; +import {Tensor} from "./Tensor.js"; export function createClients() { return [ @@ -26,5 +27,6 @@ export function createClients() { new Weechat(), new Nheko(), new Quaternion(), + new Tensor(), ]; }