Git Product home page Git Product logo

swiftcord's Introduction

Swiftcord

Native Discord client for macOS built in Swift

This image doesn't animate properly in Safari, unfortunately. Click on it to view the original video.

Weblate project translated


Swiftcord is beautiful, follows design principals of the official client while keeping the macOS look and feel that you love, and most importantly, its (really) fast!

Powered by DiscordKit, a Swift Discord implementation built from the ground up.

If you like this project, please smash the star button and be one of my stargazers 🌟! It motivates me to continue investing time into Swiftcord.

Supporters

Supporters get feature releases 2 weeks before they are made public!

Be a supporter to support me and this project's future! Perfect if you'd like to contribute but don't have the skills or time required! It's a great way of thanking me for my work. I'll be eternally grateful!

GitHub Sponsors Patreon

Contents


Motivation

Swiftcord was created to offer a Discord-like UI and experience while having the performance and memory benefits of native apps. The idea started brewing when I was tight on RAM, then noticed Discord using 600+MB of RAM. I then realized that was the perfect opportunity to explore SwiftUI, since it was relatively new to me at that time. Hence, Swiftcord was born!


Releases

You'll need macOS Monterey and above (>= 12.0) to run Swiftcord. Releases from the channels below are universal bundles, and run natively on both Apple Silicon and Intel.

Nightly Builds (Latest fixes/features, built from the latest commit on main, might be unstable)

Download latest nightly build

For the latest features and fixes, a pre-built version of the latest commit is available here

Alpha (More stable, less updated)

Download latest GitHub release

Alpha releases are available at GitHub Releases

Homebrew

homebrew cask

Swiftcord is also available on homebrew as a cask: brew install swiftcord. Versions are lock stepped with GitHub releases.

TestFlight

Coming soon!


FAQ

Covers a few common questions I have encountered, click on the question to expand the answer

Will I get banned for using Swiftcord/Is using Swiftcord illegal? Nobody really knows what Discord's official stance on unofficial clients is. However, hundreds of people and I have been using Swiftcord for quite a while, and nobody has been banned to date. I do not take any responsibility for account bans due to the use of Swiftcord, whether direct or indirect, although there's a very low possibility of that occurring. I recommend trying Swiftcord with an alt if possible.
Feature x is missing! When will y be implemented? Swiftcord currently is in the alpha stage, and hasn't achieved feature parity with the official Discord client yet (it's quite far behind). Many features are planned, but I do not currently have a timeline for them. Development is progressing at a fast pace, but sometimes bugs may take an unexpectedly long time to fix. I appreciate contributions, bug reports, and suggestions :)
Swiftcord just crashed! Although I'm aiming for 0 crashes (which is made easier by Swift), sometimes the unexpected happens xD. If you experience a crash, please open an issue with appropriate information like the line the error occurs on, relevant logs, and what you were doing that might have caused the crash. If you can solve the bug causing the crash, that's even better!

Roadmap

Take a look at Swiftcord's GitHub Projects board to get a rough idea of what's brewing!


Copyright Notice

Copyright (c) 2023 Vincent Kwok & Swiftcord Contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The above copyright notice, this permission notice, and its license shall be included in all copies or substantial portions of the Software.

You can find a copy of the GNU General Public License v3 in LICENSE or https://www.gnu.org/licenses/.

I ❤️ Open Source

swiftcord's People

Contributors

12944qwerty avatar 7408647n avatar agnezi avatar andrew-71 avatar antingle avatar bennyscripts avatar bomberfish avatar candygoblen123 avatar charxene avatar cryptoalgorithm avatar daniellemaywood avatar deepsourcebot avatar domenicoblanco avatar errorerrorerror avatar im-fran avatar itsliamdowd avatar jimmy1720 avatar marcprux avatar reactadev avatar rrroyal avatar selimgr avatar sjmarf avatar thegail avatar tonyarnold avatar uhucream avatar uint2048 avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swiftcord's Issues

'Swiftcord' will damage your computer

Opening the latest release (0.2.2) triggers a gatekeeper alert I had never seen before.

image

This is unlike the regular popup for unsigned/unverified apps which require you to bypass it manually in the system settings. This popup suggests that this app was actively flagged as being malicious by Apple.

Compile/Run Swiftcord on older macOS versions

It is possible to compile Switftcord on older macOS versions?

Since SwitfUI is a unified GUI framework since macOS 10.15, compiling for older macOS versions should be possible.
I mean, macOS Catalina and Big Sur are also capable of running SwiftUI widgets used by Swiftcord.

Is there any problem in compiling on these macOS versions? I can be a tester if necessary.

Heartbeat timers piling up, eventually causing disconnection

Describe the bug
When the app remains in the background for a long time, macOS "suspends" network activity, including WebSockets. This causes heartbeat ACKs to go missing, and the connection will eventually be terminated due to the threshold of pending heartbeat ACK being exceeded. In such a scenario, another WebSocket should be opened, and the session resumed. Unfortunately, a bug causes the connection to be immediately terminated again right after reconnection, which I suspect is due to the heartbeat timers not being stopped properly and the pending ACKs not being reset.

To Reproduce

  1. Keep the app open in the background for a long time
  2. Observe how the connection is broken and the socket being closed immediately after opening

Expected behavior

The socket reconnects and resumes in such a scenario.

Logs

https://gist.github.com/cryptoAlgorithm/ba1a390899f41d28b71d6bf027266815

Additional context

There were also a few connection drops due to sleep/internet connection loss, might have made the issue more serious.

[Bug]: divider not dividing correctly

Describe the Bug

server bar goes beyond divider

it shouldn't do that

Reproducing the Bug

do nothing

Version

0.4.5

Category

Other

Relevant Log Output

No response

Screenshots

Bildschirmfoto 2022-08-14 um 11 02 26

Additional Info

No response

[Bug]: DiscordKit zlib-stream Decompression SIGSEGV

Version 0.4.4(11)

Stacktrace

DiscordKitCore.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:58);Swiftcord

closure #1 (Swift.Result<(extension in Foundation):__C.NSURLSessionWebSocketTask.Message, Swift.Error>) -> () in DiscordKitCore.RobustWebSocket.(attachSockReceiveListener in _A386195F83E543A29375DB207BC98EE8)() -> () (RobustWebSocket.swift:147);Swiftcord

Reason

SIGSEGV

Link to App Center

Build input files cannot be found

Some files that are required to build the program are not found in the repo but xcode knows they should be there.
The files that are required are:

  • views/ServerButton.swift
  • views/ServerView.swift
  • utils/CodableThrowable.swift

Flaky Gateway Connectivity

When loading channels i get this error

<E> [DiscordGateway] Unknown close code: 1000
2022-04-13 07:18:59.697935+0100 Swiftcord[37958:1482007] [SwiftUI] Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates.

and when looking into xcode
image

Im not sure if this warning is turning into an error or not due to my account having server folders and Swiftcord not supporting that just yet or its an actual error. So i have 2 questions. How do i log out of my account before fully loading in? and Is there a way to solve this warning?

Can't compile from source

Describe the bug
Can't compile from source:

Dependencies could not be resolved because no versions of 'lottie-ios' match the requirement 3.3.0..<4.0.0 and root depends on 'lottie-ios' 3.3.0..<4.0.0.

To Reproduce
Xcode -> Source Control -> Clone...

[Enhancement]: Permissions

Currently roles and permissions aren't handled (except cosmetically in the user profile popover). Channels that you do not have permission to view aren't hidden, and you can send messages to channels you do not have permission to post in.

Message field does not wrap

Describe the bug
When typing a long message into the message field, the text does not wrap once it hits the end of the field.
Although newlines work (opt + return), the text does not wrap anymore like it did before with TextEditor

To Reproduce

  1. Type very long text in the message field
  2. Notice how the text does not scroll, but you can still input text into the field
  3. Send the message and note that the text that was entered beyond the width of the field is present

Expected behavior
The text wraps to the next line

Screenshots

Note the cut-off 't' that appears after the cursor

Screenshot 2022-05-26 at 11 46 25 AM

Additional context
Text wrapping used to work while a TextEditor was used, but newlines didn't. Now, its the opposite xD

Send attachments with message

Currently the add button in the message input field does nothing, and uploading files (especially images) is especially important.

Stuck on Loading Channels

Describe the bug

To Reproduce

  1. Login in Swiftcord
  2. Close App
  3. Open App
  4. See error

Expected behavior
Show Channels, Messages ... Views

Screenshots
CleanShot 2022-05-07 at 22 34 22@2x

Logs

Adding a better logging system might be required. to-do
CleanShot 2022-05-07 at 22 36 16@2x

[Bug]: Badge duplication & overlap

Describe the bug

For some reason my nitro badge is being duplicated and overlapped ontop of my hypesquad badge. idk if this will occur with other badges or if it happens with a set amount etc.
To Reproduce

Open a users profile who has HS balance & nitro badges

Expected behavior
No duplication and or overlap
Screenshots
Swiftcord:
image

standard client:
image

Logs

Additional context

Fix SIGABRT in DiscordKit.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:58)

Version 0.4.1(8)

Stacktrace

DiscordKit.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:58);Swiftcord

closure #1 (Swift.Result<(extension in Foundation):__C.NSURLSessionWebSocketTask.Message, Swift.Error>) -> () in DiscordKit.RobustWebSocket.(attachSockReceiveListener in _F1774E6A520C990059FB4817E840CF73)() -> () (RobustWebSocket.swift:144);Swiftcord

Reason

SIGABRT

Link to App Center

macOS 13 "Megathread"

A megathread for penning down everything macOS 13 breaks/fixes

macOS 13 is still in beta 1, so hopefully these bugs get ironed out soon.

Clicking # should open a channel list

When the app is minimized or the sidebar is closed, the # button should open the sidebar or open a popover list of all channels in the server.

image

This would improve the UX and would be logical for when the app is docked to a side of the screen.

Keep up the great work!

Pre-built releases would be nice

Not a bug just an extra feature request! Perhaps connecting with GitHub Actions so a new release is built on every new version/milestone. Because right now building the entire project would be quite a hassle, and as the other issue states, building isn't possible in the current state. Awesome project btw looks so much like the original Discord app. Great work!!

[Enhancement]: Favourite channels

For people like me who are on way too many servers but only actually chat in select few channels on each one, it would be nice to have a “favourite channels” tab where you could just put a selection of channels, so you don’t have to keep flicking between a gazillion different servers (similar to what Ripcord does).

Messages sometimes do not load when channels are switched

(This is almost definitely a SwiftUI bug) If the message list is scrolled up, and the channel is changed, the placeholder sometimes does not load and hence no messages load.

This is due to the list still being stuck at the original scroll position even though there is no more content there, which causes the messages placeholder not to load. Due to how I design message loading, the messages do not load if the placeholder doesn't appear.

However, when the window is resized, it causes the scrollView to recalculate something and it suddenly realises the content height changed. Then it scrolls to where it should be, the placeholder appears and the messages load. This further compounds my suspicion that this is a SwiftUI bug.

When docked to a side of the screen, the channel list should collapse and the message pane should stay the same and instead of expanding.

Describe the bug
When collapsing the channel list again via the “#” button, the window should resize to what the state was prior to being expanded

To Reproduce

  1. Dock the app to the side of the screen and reduce the size
  2. Press #
  3. Find your channel, and press #
  4. When hiding the channel list, the window size doesn't go back to the minimized state.

Expected behavior
When pressing the # button to collapse the channel list, the channel list should get smaller, and the chat display should stay the same size. At the current moment, the chat gets bigger while the channel lists collapses.

Send attachments from clipboard

It's not really a bug per se, something I do very often is to paste an image into the input field, I find that it's not supported yet in Swiftcord, would be nice to have it in future iterations.

Thanks for creating this project!

Fix SIGABRT in $s16CachedAsyncImageAAV4load33_1115941DA3DEE378C52E09DA49AE1AD2LLyyYaYbFyyXEfU1_ (CachedAsyncImage.swift:335)

Version 0.4.1(8)

Stacktrace

$s16CachedAsyncImageAAV4load33_1115941DA3DEE378C52E09DA49AE1AD2LLyyYaYbFyyXEfU1_ (CachedAsyncImage.swift:335);Swiftcord

partial apply forwarder for reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error) (:0);Swiftcord

reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error)partial apply forwarder with unmangled suffix ".8" + 8;Swiftcord

$s16CachedAsyncImageAAV4load33_1115941DA3DEE378C52E09DA49AE1AD2LLyyYaYbFTQ0_ (CachedAsyncImage.swift:334);Swiftcord

Reason

SIGABRT

Link to App Center

[Enhancement]: GIFs not rendered

version 0.4.1

Describe the bug

I checked on servers and in my DMs, but when someone sends a GIF, only the URL is displayed with a block underneath it. You can still click on the link to view the GIF in your browser, but needless to say, this is not the best solution :,)

Screen Shot 2022-06-19 at 10 58 49 PM

[Bug]: Mouse cursor briefly changes to pointing hand when hovering a server in the list

Describe the Bug

Bug Description
When moving the mouse over one of the icons representing a server in the sidebar server list, the mouse cursor sometimes briefly (seems to be about 1 frame) changes to the pointing hand cursor instead of the arrow cursor.

I attempted to record a video of the glitch occurring, but it seems that the video did not pick up every instance of the glitch. https://youtu.be/E76HkcnRaMs

Actual Behaviour
The pointing hand cursor sometimes briefly appears when hovering server icons.

Expected Behavior
The pointing hand cursor should never appear when hovering server icons, the traditional arrow cursor should only be used in this location.

Reproducing the Bug

1... Hover over a server
2... Repeat until the wrong cursor appears
3... Observe that the wrong cursor has appeared briefly

Version

0.4.5 (12)

Category

Other

Relevant Log Output

No response

Screenshots

No response

Additional Info

macOS 12.5 Monterey
intel macbook 2020

Stuck on "Loading channels"

Hello, I love the concept of your app (it's beautiful ❤️) BUT I'm stuck on this screen:
Screenshot 2022-04-30 at 18 57 54

(I'm connected, the "preferences" menu works)
Screenshot 2022-04-30 at 18 58 35

Here are the errors in Xcode :

Screenshot 2022-04-30 at 18 59 35

Screenshot 2022-04-30 at 18 59 26

Thank you in advance for your response

Fix SIGSEGV in DiscordKitCore.DecompressionEngine.(decompress in _011348DEE0EBF1DDE39324940856E45D)(Foundation.Data) -> Foundation.Data

Version 0.4.5(12)

Stacktrace

DiscordKitCore.DecompressionEngine.(decompress in _011348DEE0EBF1DDE39324940856E45D)(Foundation.Data) -> Foundation.Data (:0);Swiftcord

DiscordKitCore.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:65);Swiftcord

closure #1 (Swift.Result<(extension in Foundation):__C.NSURLSessionWebSocketTask.Message, Swift.Error>) -> () in DiscordKitCore.RobustWebSocket.(attachSockReceiveListener in _A386195F83E543A29375DB207BC98EE8)() -> () (RobustWebSocket.swift:147);Swiftcord

Reason

SIGSEGV

Link to App Center

Decoding errors prevent gateway connection

Describe the bug
Upon launching Swiftcord, I am presented with an endless "Establishing connection" view.

When I look at the logs (running in Xcode), I see a couple of decoding errors that seem to be stalling the process:

dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "t", intValue: nil)], debugDescription: "Cannot initialize GatewayEvent from invalid String value READY_SUPPLEMENTAL", underlyingError: nil))
[…]
dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "t", intValue: nil)], debugDescription: "Cannot initialize GatewayEvent from invalid String value SESSIONS_REPLACE", underlyingError: nil))
{"t":"SESSIONS_REPLACE","s":3,"op":0,"d":[{"status":"online","session_id":"my-session-id-is-here","client_info":{"version":0,"os":"osx","client":"desktop"},"activities":[]}]}

Clicking into DMs causes immediate Gateway socket closure

Clicking into any DMs causes Swiftcord to send out a malformed event subscribe (for typing events etc) payload to the gateway, causing an immediate connection termination and session invalidation. Check if server is a DM and don't subscribe to events, since events are automatically sent for DMs.

CachedAsyncImage Image Load SIGABRT

Version 0.4.4(11)

Stacktrace

$s16CachedAsyncImageAAV4load33_1115941DA3DEE378C52E09DA49AE1AD2LLyyYaYbFyyXEfU1_ (CachedAsyncImage.swift:335);Swiftcord

partial apply forwarder for reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error) (<compiler-generated>:0);Swiftcord

reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error)partial apply forwarder with unmangled suffix ".8" + 8;Swiftcord

$s16CachedAsyncImageAAV4load33_1115941DA3DEE378C52E09DA49AE1AD2LLyyYaYbFTQ0_ (CachedAsyncImage.swift:334);Swiftcord

Reason

SIGABRT

Link to App Center

Stuck on "Establishing Gateway connection"

Trying this out as a native alternative to Ripcord (by cancel.fm)! Looks like a cool project!
When I open the app it seems to just sit on "Establishing Gateway connection" without progressing.

Looking at its network traffic in LittleSnitch, it sends a request to "discord.gg" when first launched but it never gets a reply and it does not make any more requests.

Swiftcord v0.2.2(3) - Pre-built provided on GitHub
MacOS v12.3.1
Macbook Pro M1 Pro

Send DM messages and render DMs properly

DMs haven't been a big priority for Swiftcord since lets be honest, you definitely use DMs much less often than servers (if not why use Discord lol). This issue will fix broken DMs, since currently the name of the DM is simply just '' (nothing). It will also allow you to finally send DMs, so finally you can respond to that friend you've left read for way too long.

Fix SIGTRAP in closure #1 (DiscordKitCommon.GatewayEvent, DiscordKitCommon.GatewayData?) -> () in closure #6 () -> () in Swiftcord.ServerView.body.getter : some

Version 0.4.4(11)

Stacktrace

closure #1 (DiscordKitCommon.GatewayEvent, DiscordKitCommon.GatewayData?) -> () in closure #6 () -> () in Swiftcord.ServerView.body.getter : some (ServerView.swift:0);Swiftcord

reabstraction thunk helper from @escaping @callee_guaranteed (@unowned DiscordKitCommon.GatewayEvent, @in_guaranteed DiscordKitCommon.GatewayData?) -> () to @escaping @callee_guaranteed (@in_guaranteed (DiscordKitCommon.GatewayEvent, DiscordKitCommon.GatewayData?)) -> () (:0);Swiftcord

partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed A) -> () to @escaping @callee_guaranteed (@in_guaranteed A) -> (@out ()) (:0);Swiftcord

partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed A) -> (@out ()) to @escaping @callee_guaranteed (@in_guaranteed A) -> () (:0);Swiftcord

partial apply forwarder for closure #1 () -> () in DiscordKitCommon.EventDispatch.notify(event: A) -> () (EventDispatch.swift:101);Swiftcord

reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () (:0);Swiftcord

main (SwiftcordApp.swift:15);Swiftcord

Reason

SIGTRAP

Link to App Center

Scroll Jank/High CPU Usage

Especially while scrolling, CPU usage sometimes shoots up to 90% and above. While idling, CPU usage is around 15-30%, which is unsatisfactory. The aim is to at least match the official client in CPU usage, which is less than 10% while idling, and almost no scroll jank.

These observations were made on a 14" 10c M1 Pro, so your experience might vary.

Fix SIGTRAP in merged closure #1 () -> () in closure #1 () -> SwiftUI.TupleView<(<<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0)> in Swiftcord.NavigationCommands.body.getter : some

Version 0.4.5(12)

Stacktrace

merged closure #1 () -> () in closure #1 () -> SwiftUI.TupleView<(<<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0)> in Swiftcord.NavigationCommands.body.getter : some + 1892;Swiftcord

partial apply forwarder for closure #1 () -> () in closure #1 () -> SwiftUI.TupleView<(<<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0, SwiftUI.Divider, <<opaque return type of (extension in SwiftUI):SwiftUI.View.keyboardShortcut(_: SwiftUI.KeyEquivalent, modifiers: SwiftUI.EventModifiers) -> some>>.0)> in Swiftcord.NavigationCommands.body.getter : some (:0);Swiftcord

main (SwiftcordApp.swift:15);Swiftcord

Reason

SIGTRAP

Link to App Center

Rich Embeds Markdown not working

Describe the bug

It seems that RichEmbeds containing markdown text are not properly rendering.

To Reproduce

  1. Go to a channel with RichEmbed messages including markdown text inside.

Expected behavior

See screenshots

Screenshots

First one is SwiftCord, the other one is Discord
https://imgur.com/a/rBOkGFO

Additional context

I'm not sure if this is a problem or not as I saw that "Rich message rendering" should work fine on the roadmap.
So just in case 🤷‍♂️
ALSO the "author" field does not appear in the Rich Embed either (see the top part of it in the screenshots)

By the way, I really appreciate your work!! The UI looks soo good and Discord should defintively make a native version instead of electron... Can't wait to see Voice channels haha

Fix SIGSEGV in DiscordKitCore.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:58)

Version 0.4.3(10)

Stacktrace

DiscordKitCore.DecompressionEngine.push_data(Foundation.Data) -> Swift.String? (DecompressionEngine.swift:58);Swiftcord

closure #1 (Swift.Result<(extension in Foundation):__C.NSURLSessionWebSocketTask.Message, Swift.Error>) -> () in DiscordKitCore.RobustWebSocket.(attachSockReceiveListener in _A386195F83E543A29375DB207BC98EE8)() -> () (RobustWebSocket.swift:147);Swiftcord

Reason

SIGSEGV

Link to App Center

Close Window quits the app

Describe the bug
Closing the window quits the app.

To Reproduce

  1. Open Swiftcord
  2. Close the window using ⌘W or "Close" menu item

Expected behavior
On macOS, closing a window of an app should not quit the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.