Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
to
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
matrix
to
Commits
9f285140
Unverified
Commit
9f285140
authored
3 years ago
by
Carl Schwan
Browse files
Options
Downloads
Patches
Plain Diff
Add NeoChat
parent
a39c4053
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
images/client-icons/org.kde.neochat.svg
+34
-0
34 additions, 0 deletions
images/client-icons/org.kde.neochat.svg
src/open/clients/NeoChat.js
+79
-0
79 additions, 0 deletions
src/open/clients/NeoChat.js
src/open/clients/index.js
+2
-0
2 additions, 0 deletions
src/open/clients/index.js
with
115 additions
and
0 deletions
images/client-icons/org.kde.neochat.svg
0 → 100644
+
34
−
0
View file @
9f285140
<svg
width=
"56"
height=
"56"
viewBox=
"0 0 56 56"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M51 12C51 10.8954 50.1046 10 49 10H13C11.8954 10 11 10.8954 11 12V38C11 39.1046 11.8954 40 13 40H30.5858C30.851 40 31.1054 40.1054 31.2929 40.2929L39.2929 48.2929C39.9229 48.9229 41 48.4767 41 47.5858V41C41 40.4477 41.4477 40 42 40H49C50.1046 40 51 39.1046 51 38V12Z"
fill=
"url(#paint0_linear)"
/>
<path
fill-rule=
"evenodd"
clip-rule=
"evenodd"
d=
"M11 37V38C11 39.1046 11.8954 40 13 40H30.5858C30.851 40 31.1054 40.1054 31.2929 40.2929L39.2929 48.2929C39.9229 48.9229 41 48.4767 41 47.5858V46.5858C41 47.4767 39.9229 47.9229 39.2929 47.2929L31.2929 39.2929C31.1054 39.1054 30.851 39 30.5858 39H13C11.8954 39 11 38.1046 11 37ZM41 41C41 40.4477 41.4477 40 42 40H49C50.1046 40 51 39.1046 51 38V37C51 38.1046 50.1046 39 49 39H42C41.4477 39 41 39.4477 41 40V41Z"
fill=
"#000405"
fill-opacity=
"0.1"
/>
<path
d=
"M8 10C8 8.89543 8.89543 8 10 8H46C47.1046 8 48 8.89543 48 10V36C48 37.1046 47.1046 38 46 38H28.4142C28.149 38 27.8946 38.1054 27.7071 38.2929L19.7071 46.2929C19.0771 46.9229 18 46.4767 18 45.5858V39C18 38.4477 17.5523 38 17 38H10C8.89543 38 8 37.1046 8 36V10Z"
fill=
"url(#paint1_linear)"
/>
<path
fill-rule=
"evenodd"
clip-rule=
"evenodd"
d=
"M8 35V36C8 37.1046 8.89543 38 10 38H17C17.5523 38 18 38.4477 18 39V38C18 37.4477 17.5523 37 17 37H10C8.89543 37 8 36.1046 8 35ZM18 44.5858V45.5858C18 46.4767 19.0771 46.9229 19.7071 46.2929L27.7071 38.2929C27.8946 38.1054 28.149 38 28.4142 38H46C47.1046 38 48 37.1046 48 36V35C48 36.1046 47.1046 37 46 37H28.4142C28.149 37 27.8946 37.1054 27.7071 37.2929L19.7071 45.2929C19.0771 45.9229 18 45.4767 18 44.5858Z"
fill=
"#031C5A"
fill-opacity=
"0.1"
/>
<rect
x=
"13"
y=
"14"
width=
"30"
height=
"4"
rx=
"2"
fill=
"url(#paint2_linear)"
/>
<rect
x=
"12.5"
y=
"13.5"
width=
"31"
height=
"5"
rx=
"2.5"
stroke=
"#004E6E"
stroke-opacity=
"0.1"
/>
<rect
x=
"13"
y=
"21"
width=
"25"
height=
"4"
rx=
"2"
fill=
"url(#paint3_linear)"
/>
<rect
x=
"12.5"
y=
"20.5"
width=
"26"
height=
"5"
rx=
"2.5"
stroke=
"#004E6E"
stroke-opacity=
"0.1"
/>
<rect
x=
"13"
y=
"28"
width=
"20"
height=
"4"
rx=
"2"
fill=
"url(#paint4_linear)"
/>
<rect
x=
"12.5"
y=
"27.5"
width=
"21"
height=
"5"
rx=
"2.5"
stroke=
"#004E6E"
stroke-opacity=
"0.1"
/>
<defs>
<linearGradient
id=
"paint0_linear"
x1=
"51"
y1=
"10"
x2=
"11"
y2=
"50"
gradientUnits=
"userSpaceOnUse"
>
<stop
stop-color=
"#6EB4D9"
/>
<stop
offset=
"1"
stop-color=
"#004E6E"
/>
</linearGradient>
<linearGradient
id=
"paint1_linear"
x1=
"8"
y1=
"8"
x2=
"48"
y2=
"48"
gradientUnits=
"userSpaceOnUse"
>
<stop
stop-color=
"#44F0D3"
/>
<stop
offset=
"1"
stop-color=
"#3DAEE9"
/>
</linearGradient>
<linearGradient
id=
"paint2_linear"
x1=
"43"
y1=
"18"
x2=
"19.5854"
y2=
"-11.2683"
gradientUnits=
"userSpaceOnUse"
>
<stop
stop-color=
"#D1D5D9"
/>
<stop
offset=
"1"
stop-color=
"#FCFFFF"
/>
</linearGradient>
<linearGradient
id=
"paint3_linear"
x1=
"38"
y1=
"25"
x2=
"14.02"
y2=
"0.0208158"
gradientUnits=
"userSpaceOnUse"
>
<stop
stop-color=
"#D1D5D9"
/>
<stop
offset=
"1"
stop-color=
"#FCFFFF"
/>
</linearGradient>
<linearGradient
id=
"paint4_linear"
x1=
"33"
y1=
"32"
x2=
"9.39344"
y2=
"12.3279"
gradientUnits=
"userSpaceOnUse"
>
<stop
stop-color=
"#D1D5D9"
/>
<stop
offset=
"1"
stop-color=
"#FCFFFF"
/>
</linearGradient>
</defs>
</svg>
This diff is collapsed.
Click to expand it.
src/open/clients/NeoChat.js
0 → 100644
+
79
−
0
View file @
9f285140
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2021 Carl Schwan <carl@carlschwan.eu>
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
NeoChat
{
get
id
()
{
return
"
neochat
"
;
}
get
name
()
{
return
"
NeoChat
"
;
}
get
icon
()
{
return
"
images/client-icons/org.kde.neochat.svg
"
;
}
get
author
()
{
return
"
Tobias Fella and Carl Schwan
"
;
}
get
homepage
()
{
return
"
https://apps.kde.org/neochat/
"
;
}
get
platforms
()
{
return
[
Platform
.
Linux
,
Platform
.
Windows
,
Platform
.
macOS
,
Platform
.
Android
];
}
get
description
()
{
return
'
NeoChat is a convergent, cross-platform Matrix client.
'
;
}
getMaturity
(
platform
)
{
return
Maturity
.
Beta
;
}
getDeepLink
(
platform
,
link
)
{
if
(
platform
===
Platform
.
Linux
||
platform
===
Platform
.
Windows
)
{
let
identifier
=
encodeURIComponent
(
link
.
identifier
.
substring
(
1
));
let
isRoomid
=
link
.
identifier
.
substring
(
0
,
1
)
===
'
!
'
;
let
fragmentPath
;
switch
(
link
.
kind
)
{
case
LinkKind
.
User
:
fragmentPath
=
`u/
${
identifier
}
?action=chat`
;
break
;
case
LinkKind
.
Room
:
case
LinkKind
.
Event
:
if
(
isRoomid
)
fragmentPath
=
`roomid/
${
identifier
}
`
;
else
fragmentPath
=
`r/
${
identifier
}
`
;
if
(
link
.
kind
===
LinkKind
.
Event
)
fragmentPath
+=
`/e/
${
encodeURIComponent
(
link
.
eventId
.
substring
(
1
))}
`
;
fragmentPath
+=
'
?action=join
'
;
fragmentPath
+=
link
.
servers
.
map
(
server
=>
`&via=
${
encodeURIComponent
(
server
)}
`
).
join
(
''
);
break
;
case
LinkKind
.
Group
:
return
;
}
return
`matrix:
${
fragmentPath
}
`
;
}
}
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
.
Linux
)
{
return
[
new
FlathubLink
(
"
org.kde.neochat
"
)];
}
}
getPreferredWebInstance
(
link
)
{}
}
This diff is collapsed.
Click to expand it.
src/open/clients/index.js
+
2
−
0
View file @
9f285140
...
@@ -21,6 +21,7 @@ import {Fractal} from "./Fractal.js";
...
@@ -21,6 +21,7 @@ import {Fractal} from "./Fractal.js";
import
{
Quaternion
}
from
"
./Quaternion.js
"
;
import
{
Quaternion
}
from
"
./Quaternion.js
"
;
import
{
Tensor
}
from
"
./Tensor.js
"
;
import
{
Tensor
}
from
"
./Tensor.js
"
;
import
{
Fluffychat
}
from
"
./Fluffychat.js
"
;
import
{
Fluffychat
}
from
"
./Fluffychat.js
"
;
import
{
NeoChat
}
from
"
./NeoChat.js
"
;
export
function
createClients
()
{
export
function
createClients
()
{
return
[
return
[
...
@@ -31,5 +32,6 @@ export function createClients() {
...
@@ -31,5 +32,6 @@ export function createClients() {
new
Quaternion
(),
new
Quaternion
(),
new
Tensor
(),
new
Tensor
(),
new
Fluffychat
(),
new
Fluffychat
(),
new
NeoChat
(),
];
];
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment