[GH-ISSUE #1206] Correctly applying modifications to client and server #888

Closed
opened 2026-02-27 15:52:15 +03:00 by kerem · 9 comments
Owner

Originally created by @AlphaCharry on GitHub (Jul 29, 2023).
Original GitHub issue: https://github.com/quasar/Quasar/issues/1206

Quasar version

1.4.0

Server installed .NET version

.NET 4.5.2

Server operating system

Windows 10/Server 2019/2016

Client installed .NET version

.NET 4.5.2

Client operating system

Windows 11/Server 2022

Build configuration

Release

Describe the bug

I recently found a very strange problem while trying to develop this application extension, I changed the version numbers of the client and server in the source code, I rebuilt the client 1.4.3, but before , I had run the 1.4.1 client on many hosts, but once I rebuilt server code, The old 1.4.1 client would not perform its functions properly, and it would automatically disconnect and reconnect after a few seconds.

How to reproduce

I can't guarantee how this went wrong, but would like to be sure that there was a problem with the old build and the new build?

Expected behavior

Older versions should work fine

Actual behavior

Older versions shouldnt work fine

Additional context

No response

Originally created by @AlphaCharry on GitHub (Jul 29, 2023). Original GitHub issue: https://github.com/quasar/Quasar/issues/1206 ### Quasar version 1.4.0 ### Server installed .NET version .NET 4.5.2 ### Server operating system Windows 10/Server 2019/2016 ### Client installed .NET version .NET 4.5.2 ### Client operating system Windows 11/Server 2022 ### Build configuration Release ### Describe the bug I recently found a very strange problem while trying to develop this application extension, I changed the version numbers of the client and server in the source code, I rebuilt the client 1.4.3, but before , I had run the 1.4.1 client on many hosts, but once I rebuilt server code, The old 1.4.1 client would not perform its functions properly, and it would automatically disconnect and reconnect after a few seconds. ### How to reproduce I can't guarantee how this went wrong, but would like to be sure that there was a problem with the old build and the new build? ### Expected behavior Older versions should work fine ### Actual behavior Older versions shouldnt work fine ### Additional context _No response_
kerem 2026-02-27 15:52:15 +03:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@AlphaCharry commented on GitHub (Jul 29, 2023):

image
As shown in the figure, I ran several versions, but the older version appeared online, but it was abnormal when performing various functions

<!-- gh-comment-id:1656722193 --> @AlphaCharry commented on GitHub (Jul 29, 2023): ![image](https://github.com/quasar/Quasar/assets/38164385/742d5480-1d8d-4626-9b02-c31ed0d1e077) As shown in the figure, I ran several versions, but the older version appeared online, but it was abnormal when performing various functions
Author
Owner

@AlphaCharry commented on GitHub (Jul 29, 2023):

Does the author have some sort of judgment client version or modification in the execution of some functionality during development? Because I found that once I changed the client code myself to build a new client, the server couldn't perform some functions of the old version client,But I can't guarantee it, because it does feel like there's some sort of judgment mechanism

<!-- gh-comment-id:1656777148 --> @AlphaCharry commented on GitHub (Jul 29, 2023): Does the author have some sort of judgment client version or modification in the execution of some functionality during development? Because I found that once I changed the client code myself to build a new client, the server couldn't perform some functions of the old version client,But I can't guarantee it, because it does feel like there's some sort of judgment mechanism
Author
Owner

@MaxXor commented on GitHub (Jul 30, 2023):

Simply changing the version doesn't matter. The version is just informational. What matters are the implemented messages and handlers. Once these diverge, the client may behave weirdly. Also, yes the client in debug mode behaves different than in release mode, but that is mostly related to the client settings and certificate validation.

If you don't want to share exactly what changes you made, I'm afraid I can't help you.

<!-- gh-comment-id:1657060932 --> @MaxXor commented on GitHub (Jul 30, 2023): Simply changing the version doesn't matter. The version is just informational. What matters are the implemented [messages](https://github.com/quasar/Quasar/tree/master/Quasar.Common/Messages) and [handlers](https://github.com/quasar/Quasar/tree/master/Quasar.Client/Messages). Once these diverge, the client may behave weirdly. Also, yes the client in debug mode behaves different than in release mode, but that is mostly related to the [client settings](https://github.com/quasar/Quasar/blob/master/Quasar.Client/Config/Settings.cs#L16-L47) and certificate validation. If you don't want to share exactly what changes you made, I'm afraid I can't help you.
Author
Owner

@AlphaCharry commented on GitHub (Jul 30, 2023):

8e6ac96ff1d5d9d6a6a83bed1efa971
8035b08a9efcc5cfc9537122db38b0c

a5bdf62c6c62a1469e6699214a29f27

yep ,As you can see, I added my own extensions to the server common client.Then the version is changed to build

<!-- gh-comment-id:1657070031 --> @AlphaCharry commented on GitHub (Jul 30, 2023): ![8e6ac96ff1d5d9d6a6a83bed1efa971](https://github.com/quasar/Quasar/assets/38164385/6bbb8f62-fdfe-46d2-8ad8-e1de63f66bbb) ![8035b08a9efcc5cfc9537122db38b0c](https://github.com/quasar/Quasar/assets/38164385/fa4a476e-bd62-41aa-ba71-6d1694b8c35b) ![a5bdf62c6c62a1469e6699214a29f27](https://github.com/quasar/Quasar/assets/38164385/5ce02fd9-adfe-4ad8-ab8b-fda5c97ad07c) yep ,As you can see, I added my own extensions to the server common client.Then the version is changed to build
Author
Owner

@AlphaCharry commented on GitHub (Jul 30, 2023):

I am now 100% sure that there will be problems after I add my newly added Handle and Message, the rebuilt client will work fine, but some features of the old client such as 1.4.1 will crash (I did not change the old client, it has been stable for a month), such as file management is running bad. This should be a major BUG because I only changed the client on some hosts, I didn't change it on the old version, it was running a month ago. But now the problem is that the old client, which I was not involved in modifying, won't turn on some of the 1.4.1 features (such as file management) properly. Can the developer give me some ideas and situation descriptions? Or a solution to the cause of the problem. I think it needs to be compatible with older versions.

<!-- gh-comment-id:1657189067 --> @AlphaCharry commented on GitHub (Jul 30, 2023): I am now 100% sure that there will be problems after I add my newly added Handle and Message, the rebuilt client will work fine, but some features of the old client such as 1.4.1 will crash (I did not change the old client, it has been stable for a month), such as file management is running bad. This should be a major BUG because I only changed the client on some hosts, I didn't change it on the old version, it was running a month ago. But now the problem is that the old client, which I was not involved in modifying, won't turn on some of the 1.4.1 features (such as file management) properly. Can the developer give me some ideas and situation descriptions? Or a solution to the cause of the problem. I think it needs to be compatible with older versions.
Author
Owner

@AlphaCharry commented on GitHub (Jul 30, 2023):

I still don't know what the cause of this problem is. But I didn't touch any of the 1.4.1 hosts. But it doesn't work?

<!-- gh-comment-id:1657189457 --> @AlphaCharry commented on GitHub (Jul 30, 2023): I still don't know what the cause of this problem is. But I didn't touch any of the 1.4.1 hosts. But it doesn't work?
Author
Owner

@AlphaCharry commented on GitHub (Jul 30, 2023):

(1)_ On July 1, 2023, I compiled the source code, constructed the original version of 1.4.1, and ran the client 1.4.1 on the industrial host named WindowsServer2019 A1, which ran stably.

(2) _On July 25, 2023, I added a function of my own to Message and Handle based on the developer's source code, and I copied the other structures. And construct a new winform. Finally compile and build to 1.4.3. Then I put the client on the WindowsServer2019 host named A2.

(3)_On the same day, I found that A1 was still online on the server of 1.4.3, but when I opened the file management of A1, it crashed, and then immediately displayed online.

(4)_ 28 July 2023. I added another feature, adding Message and Handle, but an accident happened again and I changed the compiled client to 1.5.0 and deployed it on a WindowsServer 2019 machine named A3. At this time, the 1.4.3 client can not access some functions.

(5)_I have not changed the operation of A1 after July 1, 2023. Now, my server shows that A1, A2 and A3 are online, but A1 version is 1.4.1, A2 version is 1.4.3, A3 version is 1.5.0 and it turns out that neither 1.4.1 nor 1.4.3 can use file management.

<!-- gh-comment-id:1657191879 --> @AlphaCharry commented on GitHub (Jul 30, 2023): (1)_ On July 1, 2023, I compiled the source code, constructed the original version of 1.4.1, and ran the client 1.4.1 on the industrial host named WindowsServer2019 A1, which ran stably. (2) _On July 25, 2023, I added a function of my own to Message and Handle based on the developer's source code, and I copied the other structures. And construct a new winform. Finally compile and build to 1.4.3. Then I put the client on the WindowsServer2019 host named A2. (3)_On the same day, I found that A1 was still online on the server of 1.4.3, but when I opened the file management of A1, it crashed, and then immediately displayed online. (4)_ 28 July 2023. I added another feature, adding Message and Handle, but an accident happened again and I changed the compiled client to 1.5.0 and deployed it on a WindowsServer 2019 machine named A3. At this time, the 1.4.3 client can not access some functions. (5)_I have not changed the operation of A1 after July 1, 2023. Now, my server shows that A1, A2 and A3 are online, but A1 version is 1.4.1, A2 version is 1.4.3, A3 version is 1.5.0 and it turns out that neither 1.4.1 nor 1.4.3 can use file management.
Author
Owner

@AlphaCharry commented on GitHub (Jul 31, 2023):

Hello?

<!-- gh-comment-id:1658424951 --> @AlphaCharry commented on GitHub (Jul 31, 2023): Hello?
Author
Owner

@MaxXor commented on GitHub (Jul 31, 2023):

If you do not share your modifications (e.g. as fork of Quasar) I'm not willing to help you.

<!-- gh-comment-id:1658442961 --> @MaxXor commented on GitHub (Jul 31, 2023): If you do not share your modifications (e.g. as fork of Quasar) I'm not willing to help you.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Quasar#888
No description provided.