Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Releases: UWPX/UWPX-Client

[August 2022] Final Update

07 Aug 17:39
Compare
Choose a tag to compare
Pre-release

With this update I will (for now?) step away from developing UWPX and move on. This has a couple of reasons, I'm trying to explain in the following:

  1. I don't see a future in XMPP any more. In my eyes the state of the protocol itself is "OK", but the state of clients is not. I started UWPX as a way to solve this but as a single developer I only have a limited amount of resources available. I decided to focus on the the Windows side of things and provide a modern looking and feeling native client for the whole Windows ecosystem. Back then, when Windows Phones were still a thing, this was a sensible decision in my eyes. But nowadays where we have de facto only iOS and Android phones, Windows Phones and apps written for those are not relevant any more. So I had to switch my phone and started using an iPhone. I always had problems with the clients there. So I thought about contributing to those, learning Swift and so on. But then the train hits you. You require a macOS device to develop for those platforms... Grrrrr... (No, I won't switch away from my Linux ThinkPad to a device, where I don't even can have a touch screen in 2022.)
  2. Group Chats (MUC and MIX) MUC was never intended to support the needs of mobile devices in 2022. Push messages simply were no issues back then. Well, yes there are extensions for it and yes, there exists MIX intended as a replacement for Multi-User Chat (MUC), but what would it change if I would implement support for it? Then my users would be abler to use it, but none of the mobile clients (Conversations, etc.) would support it? You see, there is the chicken and egg problem again 😁. I simply don't have the time and power for it any more!
  3. The Windows side of things. UWP (the Windows framework I'm using) is rather pleasant to use and provides really nice compatibility between PC, Xbox, HoloLens and so on. It was designed and marketed as the last framework one would need for developing apps for Windows. Well now it is officially deprecated and will not receive any new features any more. Switching to the Windows App SDK would be possible, but requires rewriting large parts of the app (push, UI to WinUI3). Also I would not be able to publish UWPX for Xbox and HoloLens any more. I know small markets, but I like to use it there!
  4. The state of libraries for UWP. The fact that there are not really that many libraries for UWP lead to the fact that I had to implement most stuff by my self. Even crypto stuff for OMEMO which took me years to figure out completely! Yes, I know I'm not the smartest star on the sky in that regards, but I went through it, it was interesting but hard (for me at least). Also I had trouble finding a good DB package for UWP for years. Think about this, there was only one (buggy) package (SQLite-net) available for creating DBs in UWP which sometimes even lost data (~ ̄▽ ̄)~. Finally MS stepped up and provided the Entity Framework Core for UWP. Which won't receive any more new features again since there was this whole deal with UWP being deprecated and so on...

And now?

Well if YOU would like to continue maintain UWPX, please just send me a Mail ([email protected]) or create an issue on GitHub so we can figure stuff out. In case no one wants to continue maintaining UWPX, I will archive the project on GitHub.

I won't pull the app from the MS Store until there is some kind of breaking bug. This allows you to continue use it and redownload it.
I will step away from UWPX and XMPP completely and who knows perhaps I will work on improving Signal in the future (Linux, C++ and GTK is my new ecosystem) 😁.

Thank You!

Special thanks to all my supporters and donators over the years of development I spend on UWPX. Especially I would like to say thank you to @Echolon, who pushes the XMPP community to a better and brighter future!

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

  • Updated NuGet dependencies

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store

The simplest way is to just download it via the Microsoft Store.

2. Sideload

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version

An extended guide on how to build UWP with images to guide you through can be found here.

[May 2022#2] Hotfix

23 May 17:24
Compare
Choose a tag to compare
[May 2022#2] Hotfix Pre-release
Pre-release

Just a small bug fix update for #176 .

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

  • Fix a crash for invalid bookmarks received #176

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store

The simplest way is to just download it via the Microsoft Store.

2. Sideload

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version

An extended guide on how to build UWP with images to guide you through can be found here.

[May 2022] Minor UI Improvements

01 May 08:53
Compare
Choose a tag to compare
Pre-release

This release includes only a few minor changes, mostly related to the UI. The biggest one is that now messages from the same author, which arrive in quick succession will be grouped more closely to increase the overall message density in the chat window.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

  • Increased message density for a lot of messages from the same author
  • Not showing your own OMEMO device in the OMEMO device list
  • Linear gradient form default account images

Examples

full

avatar

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store

The simplest way is to just download it via the Microsoft Store.

2. Sideload

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version

An extended guide on how to build UWP with images to guide you through can be found here.

[April 2022#3] User Avatar Bug Fixes

11 Apr 05:59
719f50d
Compare
Choose a tag to compare
Pre-release

Another bug fix release for this month is here! It includes a critical fix for a crash that occurs when trying to render an invalid user avatar.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[April 2022#2] Windows Store Bug Fixes

03 Apr 14:31
Compare
Choose a tag to compare
Pre-release

Bug fix release for Windows Store builds. This fixes the API __C_specific_handler in vcruntime140.dll is not supported for this application type. libsodium.dll calls this API. failure during windows app certification while publishing.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

  • Replaced NSec with BouncyCastle to get through Windows Store certification for supported APIs.

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[April 2022] OMEMO and Crashes

31 Mar 10:13
Compare
Choose a tag to compare
Pre-release

This month is all about fixing OMEMO bugs and enhancing the tools I have for obtaining quality crash reports.
While testing OMEMO interoperability between UWPX and Kaidan we discovered a bunch of OMEMO related bugs where UWPX does not meet the OMEMO (signal) spec, since I implemented the Signal Double Ratchet Algorithm by my own. So I have been hard at work fixing those and as it looks like there is "only" one left to fix. More about this one can be found here.

Besides that I enhanced the crash reporting process. From now on (in case you do not have crash reports disabled) a new dialog will show up in case the app detects a crash in the last session. There you can give me additional information about the crash so I can quickly fix it!

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166
  • OMEMO Identity Key Signing does not match the Spec #172

Changes

  • Preparations for sending images and files (XEP-0363: HTTP File Upload)
  • Added a temporary note regarding #172 to the OMEMO supported by contact control
  • Added a crash report dialog when a crash was detected for the last time the app run
  • Requesting user avatars after validating the received messages for new contacts/chats
  • Fixed OMEMO device ID range
  • Fixed OMEMO device ID list updates publishing 0 as device ID in some cases
  • Fixed OMEMO pre key ID range
  • Checking if a message already exists, before trying to decrypt it
  • Showing the OMEMO device name for fingerprints
  • Perpending 0x05 to all OMEMO base 64 public keys
  • Fixed OMEMO pre key generation rollover
  • Fixed a crash for too many passwords in the vault
  • Fixed receiving MUC direct invites
  • Fixed MUC direct invites not showing up as toast push

Examples

Dialog for reporting crashes from the last application run.
UWPX_Crash_Startup

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[February 2022] Windows 11 and Push

06 Feb 15:48
Compare
Choose a tag to compare
Pre-release

Since I finally was able to update my laptop to Windows 11, this release adds further support for it. Now the UI uses the new Mica effect when available, and I updated the settings and all other cards to the new Windows 11 style.
Besides that, I focused on fixing some issues related to push. Now it should run more reliable, even if you do not open the app every day at least once.

I also started working on adding XEP-0363: HTTP File Upload support, by adding a first UI draft for selecting, editing and scaling images you would like to send. This feature far from done, but in case you want to play around with it, you can enable it by enabling debug settings. For this, on the settings page, you have to click at least 5 times on the version number until debug settings show up.

I don't think there will be a release next month, since it's the time of the year again, where I have to write and hopefully pass exams again 🙃.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166

Changes

  • Added a background task, that refreshes the push channel once per day
  • Windows 11 card style settings
  • Using the new Mica effect when available
  • Started adding support for sending images
  • Updated to Unicode 14.0
  • Updated the XMPP Providers list
  • Fixed always sending the channel URI on startup even if it did not change
  • Disco also requesting and storing #items on startup

Examples

Login/Register page on Windows 11
image

Windows 11 settings
image

image

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[January 2022] Avatars and Push v2

31 Dec 14:05
Compare
Choose a tag to compare
Pre-release

How hard could it be to add user avatars? How much time do I have to spend on it to get it working? Turns out a lot 😂. Initially my goal was to implement XEP-0084 User Avatar in two days (less than 16 hours over Christmas). The result was I spend 6 days (roughly 60 hours) on it.
There were a couple of issues I had to tackle since I wanted to have a robust and fully featured implementation of it. So first of all I had to find a way to scale images to a fixed size (500x500) and store them in a compressed format in the DB. After that I noticed images will fail to upload when they are too large , so I introduced a maximum size of one MiB per image. With all of that sorted out I had to make sure I always have the most recent image of a contact. Therefore I had to subscribe to the PEP node of the contact. Then there were a bunch of different edge cases I had to fix. But now UWPX supports user avatars 🎉.

Besides that I also updated to the latest Push Server protocol. This should result in a more reliable push message delivery. There are still a bunch of edge cases I have to sort out, for example what happens if a push message arrives, when the client is shutting down?

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

XMPP Office Hours

As a part of XMPP Office Hours I gave a talk about how UWPX was build and what it took me to do so.
The Video can be found on YouTube: https://youtu.be/fkq8Nvlw3LA

https://youtu.be/fkq8Nvlw3LA

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • ListDetailsView looses selection on reorder #166

Changes

  • Added XEP-0084 User Avatar support
  • Updated the push implementation to the latest Push Server protocol
  • Displaying the Group chat (MUC) name when available
  • Improved and refactored push message handling in the background task
  • More reliable push message handling
  • Improved the chat message hyperlink color
  • Updated progress bar and rings to WinUI 2.8
  • Moved the chat unread badge from the presence badge to the preview text line
  • Simplified Group chat MUC bookmarks management
  • Fixed chat settings MAM button
  • Fixed collection changed crash for MUC members
  • Fixed missing MUC affiliation check for configuration
  • Fixed removing a chat does not perform cascade deletion #151
  • Various fixes related to image inline downloads

Examples

This example shows how I retrieve the users avatar when he adds his account.
own_avatar

This example shows changing the avatar for an account.
chat_avatars_small

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[December 2021] OMEMO and Windows 11

29 Nov 18:12
Compare
Choose a tag to compare
Pre-release

With this release I increased the target platform target version from 10.0.19041.0 to 10.0.22000.0 (Windows 11) and the target platform minimum version from 10.0.17763.0 to 10.0.18362.0. This means UWPX now officially targets Windows 11 and drops support for all versions of Windows 10 before the May 2019 update.
Besides that, this release includes a bunch of OMEMO related bug fixes and adds support for OMEMO 0.8.1 (2021-10-07). With this change, I decided to reset the database again, so you have to login to your accounts again.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • Removing a chat does not perform cascade deletion #151
  • ListDetailsView looses selection on reorder #166

Changes

  • Added an option to reset OMEMO sessions (might require an app restart to work currently)
  • Added an OMEMO session status indicator
  • Increased target platform minimum version from 10.0.17763.0 to 10.0.18362.0
  • Increased target platform target version from 10.0.19041.0 to 10.0.22000.0
  • Updated OMEMO to 0.8.1 (2021-10-07)
  • Better contrast for nicknames in group chats
  • Updated to Visual Studio 2022
  • Fixed OMEMO Double Ratchet initialization
  • Replaced DropShadowPanel with AttachedCardShadow
  • Hand mouse cursor for images
  • Fixed null pointer when decrypting OMEMO messages
  • Fixed not loading OMEMO sessions for pure key exchange (kex) messages
  • Fixed not keeping track of the OMEMO session state

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2022
  2. Clone the repository with Visual Studio 2022
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.

[November 2021] Inline Text Quotations

02 Nov 08:06
Compare
Choose a tag to compare
Pre-release

This month has not been too productive in regards to UWPX development since for me the new semester started and required a lot of attention.
Besides that, I added support for inline text quotations and updated the welcome screen animations to WinUI 2.7.
While I was working on adding inline text quotations I noticed, that I was creating a new Task for each chat message highlighting call. This resulted in a lot of overhead for small chat messages. While this might be a good idea for larger chat messages to prevent highlighting occupying a lot of time from the UI-Task, its usually not a good idea for a lot of small messages.
When I removed the task creation I noticed an up to 3x speedup in text rendering and highlighting 🤐.

Since I would like to add support for XEP-0393: Message Styling at some point I will probably change this again in a way, that we create tasks only for larger amounts of text and for everything else, we do it inline.

Please report bugs here!

Want more up to date news?

Follow @UWPX_APP on Twitter.

Donations

Donate Donate

Known bugs

  • MUC subject changing leads to an account disconnect #34
  • Removing a chat does not perform cascade deletion #151
  • ListDetailsView looses selection on reorder #166

Changes

  • Added support for inline text quotations
  • Updated welcome dialog animations to WinUI 2.7

Example

image

How can I get this App?

There are three ways how you can get access to the app.

1. Microsoft Store:

The simplest way is to just download it via the Microsoft Store.

2. Sideload:

If you don't want to use the Microsoft Store for getting access to UWPX you can also sideload a pre build app.
For this head over to releases and download the latest UWPX-Installer.exe.
Once downloaded, double click it and then click on install.

For this to work you first have to enable Sideload app in your Windows settings! Click here for more information about this.

⚠️ Windows will try to warn you that this is a malicious installation program. This is because I did not sign it with a valid developer certificate - you can ignore it. ⚠️

3. Build it by your own

Short version:
  1. Install Visual Studio 2019
  2. Clone the repository with Visual Studio 2019
  3. Build the project for your target platform (e.g. x64)
  4. Install the app on your target system:
    Here you can find more information about: How to install UWP apps, using the developer mode.
Long version:

An extended guide on how to build UWP with images to guide you through can be found here.