[GH-ISSUE #395] Intrusive MySql Server connection error #339

Closed
opened 2026-02-26 11:57:49 +03:00 by kerem · 47 comments
Owner

Originally created by @majkinetor on GitHub (Apr 26, 2023).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/395

Originally assigned to: @VShawn on GitHub.

Describe the bug

When remote database becomes unavailable for any reason, there is this error:

image

Expected behavior
There should be no intrusion, especially since the error can resolve on its own. It seems that 1RM needs some form of internal Log viewer wiht marker for ciritical errors, warnings, currently erroring etc.

Additional context
This happens when VPN goes down to my company. Also when Windows is locked, after some time, I am always greeted with this message. VPN log is unremarkable but that is besides the point, the error is intrusive and constant.

Originally created by @majkinetor on GitHub (Apr 26, 2023). Original GitHub issue: https://github.com/1Remote/1Remote/issues/395 Originally assigned to: @VShawn on GitHub. **Describe the bug** When remote database becomes unavailable for any reason, there is this error: ![image](https://user-images.githubusercontent.com/85767/234472411-9ff5cbc1-d759-47b3-b24a-502309ffb0c0.png) **Expected behavior** There should be no intrusion, especially since the error can resolve on its own. It seems that 1RM needs some form of internal Log viewer wiht marker for ciritical errors, warnings, currently erroring etc. **Additional context** This happens when VPN goes down to my company. Also when Windows is locked, after some time, I am always greeted with this message. VPN log is unremarkable but that is besides the point, the error is intrusive and constant.
kerem 2026-02-26 11:57:49 +03:00
Author
Owner

@VShawn commented on GitHub (Apr 27, 2023):

I only checked the MySQL connection once during startup, but it should be changed to check the connection before any data operation. Additionally, I was lazy and applied the SQLite connection program to MySQL, which now I realize is problematic. I need to redesign this part.

<!-- gh-comment-id:1524330292 --> @VShawn commented on GitHub (Apr 27, 2023): I only checked the MySQL connection once during startup, but it should be changed to check the connection before any data operation. Additionally, I was lazy and applied the SQLite connection program to MySQL, which now I realize is problematic. I need to redesign this part.
Author
Owner

@majkinetor commented on GitHub (Apr 27, 2023):

I only checked the MySQL connection once during startup

Wait what ?
This message happens while 1RM is already running in the background. When do you check for remote changes? On activation?

BTW, I think this should be redesigned to support "storing backend" so that new backends could be easily added later without messing with 1RM internals: PostgreSQL, JSON file, git repository (git mmmm :) ) or whatever. It makes sense that this should be apstracted via some nice Interface.

<!-- gh-comment-id:1524915751 --> @majkinetor commented on GitHub (Apr 27, 2023): > I only checked the MySQL connection once during startup Wait what ? This message happens while 1RM is already running in the background. When do you check for remote changes? On activation? BTW, I think this should be redesigned to support "storing backend" so that new backends could be easily added later without messing with 1RM internals: PostgreSQL, JSON file, git repository (git mmmm :) ) or whatever. It makes sense that this should be apstracted via some nice Interface.
Author
Owner

@VShawn commented on GitHub (Apr 27, 2023):

I check the connected flag during startup and when database profile was changed.

while 1RM is already running in the background and VPN shutdown, 1RM do not realize it lost connect since the connected flag not changed. the 1RM can still run the SELECT / INSERT / UPDATE / DELETE from db. When executing the SQL statement, I provide a final security check. If the statement fails to execute, a prompt will pop up. That why you see the pop up while 1RM is already running in the background.

When do you check for remote changes? On activation?

I provide a periodic check.

support "storing backend"

Emm what do you mean the "storing backend"? I've never heard this word before. do you mean something like Amazon S3 / Alibaba Cloud OSS? Ann...nd git is definitely not a good storage backend :)

a good news is is that I have designed the datasource interface in 1RM and have already implemented it on SQLite and MySQL. Means as long as the interface is implemented based on PostgreSQL, PostgreSQL can be integrated into 1RM.

It makes sense that this should be apstracted via some nice Interface.

is there some nice tool for apstracted?

<!-- gh-comment-id:1525052025 --> @VShawn commented on GitHub (Apr 27, 2023): I check the `connected flag` during startup and when database profile was changed. `while 1RM is already running in the background` and VPN shutdown, 1RM do not realize it lost connect since the `connected flag` not changed. the 1RM can still run the SELECT / INSERT / UPDATE / DELETE from db. When executing the SQL statement, I provide a final security check. If the statement fails to execute, a prompt will pop up. That why you see the pop up `while 1RM is already running in the background.` > When do you check for remote changes? On activation? I provide a periodic check. > support "storing backend" Emm what do you mean the "storing backend"? I've never heard this word before. do you mean something like Amazon S3 / Alibaba Cloud OSS? Ann...nd git is definitely not a good storage backend :) a good news is is that I have designed the datasource interface in 1RM and have already implemented it on SQLite and MySQL. Means as long as the interface is implemented based on PostgreSQL, PostgreSQL can be integrated into 1RM. > It makes sense that this should be apstracted via some nice Interface. is there some nice tool for `apstracted`?
Author
Owner

@majkinetor commented on GitHub (Apr 27, 2023):

"storing backend"

How the connections are stored and where :)

So we can add more store backend in the future, like git (great for team sharing without hassle of installing db) or simple JSON file or whatever.

But OK, you say you already designed it that way...

<!-- gh-comment-id:1525297664 --> @majkinetor commented on GitHub (Apr 27, 2023): > "storing backend" How the connections are stored and where :) So we can add more store backend in the future, like git (great for team sharing without hassle of installing db) or simple JSON file or whatever. But OK, you say you already designed it that way...
Author
Owner

@majkinetor commented on GitHub (Apr 27, 2023):

OK, so we need then some internal log instead of intrusive popups? Or what are your thoughts?

<!-- gh-comment-id:1525298642 --> @majkinetor commented on GitHub (Apr 27, 2023): OK, so we need then some internal log instead of intrusive popups? Or what are your thoughts?
Author
Owner

@VShawn commented on GitHub (Apr 27, 2023):

I designed popups as a fallback error prompt mechanism. I added it to avoid situations where the database encounters exceptions (for example, when SQLite is set to read-only while 1RM is running in the background) and users cannot detect them.You see, this time the popup also helped me discover that 1RM would encounter exceptions when 'VPN goes down' :)

Normally, popups should not be triggered。the upstream error handling should handle all of the connection exception, so there should not be any intrusive situations. As long as I handle connection errors in a more appropriate way, popups would not appear. However, considering all kinds of exceptions is difficult, so I need to take some time to refactor the error handling program for adding, deleting, updating, and selecting. Then, I need draw a flowchart to help me sort out which error situations may occur: such as when the database disconnects while the user is editing or when the user tries to delete data after the database has disconnected.

<!-- gh-comment-id:1525785449 --> @VShawn commented on GitHub (Apr 27, 2023): I designed popups as a fallback error prompt mechanism. I added it to avoid situations where the database encounters exceptions (for example, when SQLite is set to read-only while 1RM is running in the background) and users cannot detect them.You see, this time the popup also helped me discover that 1RM would encounter exceptions when 'VPN goes down' :) Normally, popups should not be triggered。the upstream error handling should handle all of the connection exception, so there should not be any intrusive situations. As long as I handle connection errors in a more appropriate way, popups would not appear. However, considering all kinds of exceptions is difficult, so I need to take some time to refactor the error handling program for adding, deleting, updating, and selecting. Then, I need draw a flowchart to help me sort out which error situations may occur: such as when the database disconnects while the user is editing or when the user tries to delete data after the database has disconnected.
Author
Owner

@VShawn commented on GitHub (Apr 29, 2023):

I've remove the alert so you will not get the popups when 1RM is running in the background.

Adding the ability of offline database and automatic reconnection by periodic checking, testing is still needed.

It is being considered whether it is possible to detect changes in computer network and automatically reconnect after such changes occur.

<!-- gh-comment-id:1528593769 --> @VShawn commented on GitHub (Apr 29, 2023): I've remove the alert so you will not get the popups when 1RM is running in the background. Adding the ability of offline database and automatic reconnection by periodic checking, testing is still needed. It is being considered whether it is possible to detect changes in computer network and automatically reconnect after such changes occur.
Author
Owner

@majkinetor commented on GitHub (Apr 29, 2023):

Just an update.

Today I don't see the remote database.

details

image

I went on Edit -> Test and it said Success, on the back, it blocked here:

details

image

On escape it goes back with it and ALT M stopped working

details

image

<!-- gh-comment-id:1528717361 --> @majkinetor commented on GitHub (Apr 29, 2023): Just an update. Today I don't see the remote database. <details><summary>details</summary> ![image](https://user-images.githubusercontent.com/85767/235292866-a8283957-0562-4b17-93d6-474eba1af95c.png) </details> I went on Edit -> Test and it said Success, on the back, it blocked here: <details><summary>details</summary> ![image](https://user-images.githubusercontent.com/85767/235292896-0e0b05f9-a138-457b-a855-2bfe16e47c90.png) </details> On escape it goes back with it and ALT M stopped working <details><summary>details</summary> ![image](https://user-images.githubusercontent.com/85767/235293239-45b176c8-1ed7-499d-9c16-1c95173a9485.png) </details>
Author
Owner

@VShawn commented on GitHub (Apr 29, 2023):

Just an update.

Today I don't see the remote database.

details

image

I went on Edit -> Test and it said Success, on the back, it blocked here:

details

image

On escape it goes back with it and ALT M stopped working

details

image

I think these were fixed after github.com/1Remote/1Remote@930a8c0458

<!-- gh-comment-id:1528745036 --> @VShawn commented on GitHub (Apr 29, 2023): > Just an update. > > > > Today I don't see the remote database. > > > > <details><summary>details</summary> > > > > ![image](https://user-images.githubusercontent.com/85767/235292866-a8283957-0562-4b17-93d6-474eba1af95c.png) > > </details> > > > > > > I went on Edit -> Test and it said Success, on the back, it blocked here: > > > > <details><summary>details</summary> > > > > ![image](https://user-images.githubusercontent.com/85767/235292896-0e0b05f9-a138-457b-a855-2bfe16e47c90.png) </details> > > > > On escape it goes back with it and ALT M stopped working > > > > <details><summary>details</summary> > > > > ![image](https://user-images.githubusercontent.com/85767/235293239-45b176c8-1ed7-499d-9c16-1c95173a9485.png) > > > > </details> > > I think these were fixed after https://github.com/1Remote/1Remote/commit/930a8c04589794192bb4fa614be44ee59ed5666b
Author
Owner

@VShawn commented on GitHub (May 2, 2023):

image

here is how 1RM works with db offline now. I think this ticket is donw, you can get the latest nighly build to try it.

<!-- gh-comment-id:1530775205 --> @VShawn commented on GitHub (May 2, 2023): ![image](https://user-images.githubusercontent.com/10143738/235565197-879b5a12-b13e-4f66-9d32-4492da1246e1.png) here is how 1RM works with db offline now. I think this ticket is donw, you can get the latest nighly build to try it.
Author
Owner

@majkinetor commented on GitHub (May 4, 2023):

I have a better proposition - UX lacks this way, as you never know when it will magically reapear, in 4 minutes and 59 seconds or in 1s or what happened at all.

  1. PRM should always show remote db "section". If the remote database is unrechable, it should show do one of the following:
    2. Hide all items in it and show 'Reconnect now' button/option instead
    3. Or better, show all items, becuase the fact that db is not accessible doesn't mean connection is and since you have all the data in local cache it can still be used even without remote db
    1. In this case show "remote db section entry" with aditional option, like reconnect button and gray out connections to signify disconection and that they can't be changed, but allow usage.
  2. One can manually reconnecct at any time, but PRM will still try its own automatic reconnection periodically.

image

<!-- gh-comment-id:1534901749 --> @majkinetor commented on GitHub (May 4, 2023): I have a better proposition - UX lacks this way, as you never know when it will magically reapear, in 4 minutes and 59 seconds or in 1s or what happened at all. 1. PRM should always show remote db "section". If the remote database is unrechable, it should show do one of the following: 2. Hide all items in it and show 'Reconnect now' button/option instead 3. Or better, show all items, becuase the fact that db is not accessible doesn't mean connection is and since you have all the data in local cache it can still be used even without remote db 1. In this case show "remote db section entry" with aditional option, like reconnect button and gray out connections to signify disconection and that they can't be changed, but allow usage. 1. One can manually reconnecct at any time, but PRM will still try its own automatic reconnection periodically. ![image](https://user-images.githubusercontent.com/85767/236241337-e28ad435-45ce-4b90-a5cf-c1329397422d.png)
Author
Owner

@VShawn commented on GitHub (May 5, 2023):

a reconnect button is what I was going to do next, thanks to your blueprint I will follow your approach now : )

<!-- gh-comment-id:1535578512 --> @VShawn commented on GitHub (May 5, 2023): a reconnect button is what I was going to do next, thanks to your blueprint I will follow your approach now : )
Author
Owner

@VShawn commented on GitHub (May 7, 2023):

https://user-images.githubusercontent.com/10143738/236653315-411ef96e-1d06-4a44-b2b3-5e02b18ba4ef.mp4

I made the view, is that ok?

<!-- gh-comment-id:1537263713 --> @VShawn commented on GitHub (May 7, 2023): https://user-images.githubusercontent.com/10143738/236653315-411ef96e-1d06-4a44-b2b3-5e02b18ba4ef.mp4 I made the view, is that ok?
Author
Owner

@majkinetor commented on GitHub (May 7, 2023):

Yeah, it looks nice.

With the large list you might not be able to see the group since it will be out of the view (which is what will happen all the time as nobody uses this who doesn't have a lot of them), did you make some UX on affected connections? At least edit's Save button should be disabled with adequate tooltip.

<!-- gh-comment-id:1537370305 --> @majkinetor commented on GitHub (May 7, 2023): Yeah, it looks nice. With the large list you might not be able to see the group since it will be out of the view (which is what will happen all the time as nobody uses this who doesn't have a lot of them), did you make some UX on affected connections? At least edit's Save button should be disabled with adequate tooltip.
Author
Owner

@VShawn commented on GitHub (May 8, 2023):

did you make some UX on affected connections

No not yet. maybe add a gray background for them?

At least edit's Save button should be disabled with adequate tooltip.

sure thing

<!-- gh-comment-id:1537837953 --> @VShawn commented on GitHub (May 8, 2023): > did you make some UX on affected connections No not yet. maybe add a gray background for them? > At least edit's Save button should be disabled with adequate tooltip. sure thing
Author
Owner

@VShawn commented on GitHub (May 8, 2023):

https://user-images.githubusercontent.com/10143738/236819470-5db60368-3161-48de-afe8-2b139d067801.mp4

manually reconnect is work now

<!-- gh-comment-id:1538249834 --> @VShawn commented on GitHub (May 8, 2023): https://user-images.githubusercontent.com/10143738/236819470-5db60368-3161-48de-afe8-2b139d067801.mp4 manually reconnect is work now
Author
Owner

@majkinetor commented on GitHub (May 8, 2023):

Looks good, but I wouldn't show reconnect if connection is OK, only if its not OK, because it seems iritating that some numbers are ticking and everything is fine.

<!-- gh-comment-id:1538260889 --> @majkinetor commented on GitHub (May 8, 2023): Looks good, but I wouldn't show reconnect if connection is OK, only if its not OK, because it seems iritating that some numbers are ticking and everything is fine.
Author
Owner

@VShawn commented on GitHub (May 9, 2023):

it still WIP now, i did not create the display style for it yet, ticking will be hidden then if it connected.

<!-- gh-comment-id:1539221013 --> @VShawn commented on GitHub (May 9, 2023): it still WIP now, i did not create the display style for it yet, ticking will be hidden then if it connected.
Author
Owner

@VShawn commented on GitHub (May 11, 2023):

I think most tasks of this ticket is done

check list:

  • reconnect button
  • tip fot next auto reconnect
  • do not show tip for connected db
  • tip globalization
  • gray the item in the dissconnected db? not sure for this, IMO Large grey block is ugly
  • not allow edit items when db is dissconnected
  • always show the group even there is 0 item in the db

https://github.com/1Remote/1Remote/assets/10143738/deba299d-4808-4434-b6f2-ce730d028e57

<!-- gh-comment-id:1542974969 --> @VShawn commented on GitHub (May 11, 2023): I think most tasks of this ticket is done check list: - [x] reconnect button - [x] tip fot next auto reconnect - [x] do not show tip for connected db - [x] tip globalization - [ ] gray the item in the dissconnected db? not sure for this, IMO Large grey block is ugly - [x] not allow edit items when db is dissconnected - [x] always show the group even there is 0 item in the db https://github.com/1Remote/1Remote/assets/10143738/deba299d-4808-4434-b6f2-ce730d028e57
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

gray the item in the dissconnected db? not sure for this, IMO Large grey block is ugly

How come items are still available upon disconnection, based on our discussion on #400.

But yes, large gray block is ugly. The problem is you may have a long list and database is not pinned at the top while you scroll so as soon as it goes out of screen you don't see status any more. You don't see status in launcher too (if its available there). Maybe something else is less intrusive like italic font for connection ...

But OK, that can be done later, this is good enough for now, lets call it a day.

<!-- gh-comment-id:1543634840 --> @majkinetor commented on GitHub (May 11, 2023): > gray the item in the dissconnected db? not sure for this, IMO Large grey block is ugly How come items are still available upon disconnection, based on our discussion on #400. But yes, large gray block is ugly. The problem is you may have a long list and database _is not pinned at the top while you scroll_ so as soon as it goes out of screen you don't see status any more. You don't see status in launcher too (if its available there). Maybe something else is less intrusive like italic font for connection ... But OK, that can be done later, this is good enough for now, lets call it a day.
Author
Owner

@VShawn commented on GitHub (May 11, 2023):

After 1RM is launched, it should connect to MySQL successfully at least once before being able to use the connections in MySQL. It should be able to use after disconnecting (this has already done in https://github.com/1Remote/1Remote/issues/395).

Originally posted by @VShawn in https://github.com/1Remote/1Remote/issues/400#issuecomment-1543062001

Since MySQL is successfully connected, items are still available upon disconnection, I implement it this way for now, we can make changes after we have made a decision.

And I show a disconnected icon instead of the gray, much better now:)

image

<!-- gh-comment-id:1543644305 --> @VShawn commented on GitHub (May 11, 2023): > After 1RM is launched, it should connect to MySQL successfully at least once before being able to use the connections in MySQL. It should be able to use after disconnecting (this has already done in https://github.com/1Remote/1Remote/issues/395). _Originally posted by @VShawn in https://github.com/1Remote/1Remote/issues/400#issuecomment-1543062001_ Since MySQL is successfully connected, items are still available upon disconnection, I implement it this way for now, we can make changes after we have made a decision. And I show a disconnected icon instead of the gray, much better now:) ![image](https://github.com/1Remote/1Remote/assets/10143738/60685b54-9751-4f88-b0c1-99c4f1dba8fd)
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

OK, not sure I understand your local cache problem then since it is already cached, just not in the accessible way :)

<!-- gh-comment-id:1543649734 --> @majkinetor commented on GitHub (May 11, 2023): OK, not sure I understand your local cache problem then since it is already cached, just not in the accessible way :)
Author
Owner

@VShawn commented on GitHub (May 11, 2023):

I think the main difference between us is that I believe that user must connect to MySQL at list once before they can use the data stored there, while you believe that it should be possible to use cached data from MySQL even if a connection hasn't been established since startup. Is that correct?

<!-- gh-comment-id:1543667187 --> @VShawn commented on GitHub (May 11, 2023): I think the main difference between us is that I believe that user must connect to MySQL at list once before they can use the data stored there, while you believe that it should be possible to use cached data from MySQL even if a connection hasn't been established since startup. Is that correct?
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

I just noted that it could be possible that someone can send you the cached data, if that is what you mean. But anybody can do that NOW trivially easy:

  1. Run new portable version of 1RM
  2. Connect to remote database
  3. Select all, copy to local database
  4. Send your local database to anybody

3-5 minutes of work tops.

Contrary to this, we aknowledge that this is actually possible, document it and warn users, note that there is really nothing one can do to protect those data once the team member got access one way or another, and use it for additional features 😃

<!-- gh-comment-id:1543750485 --> @majkinetor commented on GitHub (May 11, 2023): I just noted that it could be possible that someone can send you the cached data, if that is what you mean. But anybody can do that NOW trivially easy: 1. Run new portable version of 1RM 2. Connect to remote database 3. Select all, copy to local database 4. Send your local database to anybody 3-5 minutes of work tops. Contrary to this, we aknowledge that this is actually possible, document it and warn users, note that there is really nothing one can do to protect those data once the team member got access one way or another, and use it for additional features 😃
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

OK, bulk duplicate is not possible now (it probalby should be), but export is there. Its even faster. I just exported my company database within 5 seconds.

<!-- gh-comment-id:1543755665 --> @majkinetor commented on GitHub (May 11, 2023): OK, bulk duplicate is not possible now (it probalby should be), but export is there. Its even faster. I just exported my company database within 5 seconds.
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

I tested new feature. I see you disabled edit, not the save button. What if I want to see server details? I thought you should disable Save button within connection editor.

This also makes it strange as you may not notice why it doesn't work. See this: I disconnect from VPN, edit doesn't work, I scroll a bit and KnowIT is out of screen, I minimize to tray, restore it, its still on the same position (maybe I was there to start with and couldn't see KnowIT reconnecting) I try editing and it doesn't work... why it doesn't work.

Animation

If KnowIT was pinned at the top and not scrolling, it would be visible that it reconnects, or if connections were marked somehow, or at least if save is disbled everything works and Save tooltip can be changed to notify you (or background color of editor can be changed to signify its in disconnected state). Maybe color of editor is the best... you will notice that for sure and it isn't affecting other things.

<!-- gh-comment-id:1543769966 --> @majkinetor commented on GitHub (May 11, 2023): I tested new feature. I see you disabled edit, not the save button. What if I want to see server details? I thought you should disable _Save_ button within connection editor. This also makes it strange as you may not notice why it doesn't work. See this: I disconnect from VPN, edit doesn't work, I scroll a bit and KnowIT is out of screen, I minimize to tray, restore it, its still on the same position (maybe I was there to start with and couldn't see KnowIT reconnecting) I try editing and it doesn't work... why it doesn't work. ![Animation](https://github.com/1Remote/1Remote/assets/85767/c1388141-3d96-45a1-aa84-6d1104acd1b7) If KnowIT was pinned at the top and not scrolling, it would be visible that it reconnects, or if connections were marked somehow, or at least if save is disbled everything works and Save tooltip can be changed to notify you (or background color of editor can be changed to signify its in disconnected state). Maybe color of editor is the best... you will notice that for sure and it isn't affecting other things.
Author
Owner

@majkinetor commented on GitHub (May 11, 2023):

There is a problem with current UX, the dissapearing/appearing message moves other icons :) So if you want to hunt for invisible + you may have hard time doing that.

<!-- gh-comment-id:1544385406 --> @majkinetor commented on GitHub (May 11, 2023): There is a problem with current UX, the dissapearing/appearing message moves other icons :) So if you want to hunt for invisible + you may have hard time doing that.
Author
Owner

@VShawn commented on GitHub (May 13, 2023):

I thought you should disable Save button within connection editor.This also makes it strange as you may not notice why it doesn't work.

Form this point, disable save button directly is not a good choice, since user may not know why the button is disabled. I would like to add a disconnected icon aside save button and do not disabled it.

image

the dissapearing/appearing message moves other icons :)

then this would be better

https://github.com/1Remote/1Remote/assets/10143738/48d0c61b-32eb-4246-87a3-4f3b5ad0fcd6

<!-- gh-comment-id:1546501318 --> @VShawn commented on GitHub (May 13, 2023): > I thought you should disable Save button within connection editor.This also makes it strange as you may not notice why it doesn't work. Form this point, disable save button directly is not a good choice, since user may not know why the button is disabled. I would like to add a disconnected icon aside save button and do not disabled it. ![image](https://github.com/1Remote/1Remote/assets/10143738/975078b1-5789-4384-8c7c-5dcf58f7de93) > the dissapearing/appearing message moves other icons :) then this would be better https://github.com/1Remote/1Remote/assets/10143738/48d0c61b-32eb-4246-87a3-4f3b5ad0fcd6
Author
Owner

@VShawn commented on GitHub (May 13, 2023):

I scroll a bit and KnowIT is out of screen

You want a fix group header?

not sure for that, if the group header of the system's native control does not support fix on top, it may be necessary to completely customize a control. I have no enough experience in this aspect.

<!-- gh-comment-id:1546512845 --> @VShawn commented on GitHub (May 13, 2023): > I scroll a bit and KnowIT is out of screen You want a fix group header? not sure for that, if the group header of the system's native control does not support fix on top, it may be necessary to completely customize a control. I have no enough experience in this aspect.
Author
Owner

@majkinetor commented on GitHub (May 13, 2023):

You want a fix group header?

Anything to inform us there is disconnect really. Here are some options, and you see what is easiest for you

  1. Name Italic
    details
    image
  2. Name color
    details
    image
  3. Icon everywhere
    details
    image

Option 2 seems with least intrusion, not sure how visible it is. 1. kinda looks bad? 3. Looks OK, maybe a bit spammy? Maybe some less intrusive icon or just unicode text:

details image

EDIT: Moved system tag to discussion https://github.com/1Remote/1Remote/discussions/416

My vote is for the system tag wired up also to availability detection (the screen bellow) that one could be able to invoke on selection without connecting at all (in parallel threads ofc). You manage it, its different color but behaves otherwise like normal tag. User can't change it.

details

image

<!-- gh-comment-id:1546613086 --> @majkinetor commented on GitHub (May 13, 2023): > You want a fix group header? Anything to inform us there is disconnect really. Here are some options, and you see what is easiest for you 1. Name Italic <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/0327d3a7-b110-4030-af45-e6f6f7dcc758) </details> 1. Name color <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/b95895ce-4acd-4c4c-98c6-91f9abfde31b)</details> 1. Icon everywhere <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/960b14a0-0ba0-4778-83b8-30544d96e589) </details> Option 2 seems with least intrusion, not sure how visible it is. 1. kinda looks bad? 3. Looks OK, maybe a bit spammy? Maybe some less intrusive icon or just unicode text: <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/931e403a-b1a8-4ff5-a36e-e0bff6bf23b2)</details> EDIT: Moved system tag to discussion https://github.com/1Remote/1Remote/discussions/416 My vote is for the system tag wired up also to _availability detection_ (the screen bellow) that one could be able to invoke on selection without connecting at all (in parallel threads ofc). You manage it, its different color but behaves otherwise like normal tag. User can't change it. <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/b3406381-7acc-450f-8373-3f1698739310) </details>
Author
Owner

@majkinetor commented on GitHub (May 14, 2023):

I see you replaced checkbox on latest version:

image

With Save icon we can consider this matter closed (although Launcher is left out but it was never a topic and I consider that minor hinderance)

<!-- gh-comment-id:1546875357 --> @majkinetor commented on GitHub (May 14, 2023): I see you replaced checkbox on latest version: ![image](https://github.com/1Remote/1Remote/assets/85767/2d6671ec-3db9-4bd3-a2cd-9a5e9d5af265) With Save icon we can consider this matter closed (although Launcher is left out but it was never a topic and I consider that minor hinderance)
Author
Owner

@majkinetor commented on GitHub (May 14, 2023):

Actually, after more tests, it still doesn't work correctly:

  1. I disabled VPN and restarted the 1RM
  2. Naturally, RAM is gone and with it my connections 👎
  3. 1RM started to count
  4. After it refreshed, there were still no connections https://github.com/1Remote/1Remote/labels/bug
  5. I had to manually click the reconnect to show them

Animation

<!-- gh-comment-id:1546876231 --> @majkinetor commented on GitHub (May 14, 2023): Actually, after more tests, it still doesn't work correctly: 1. I disabled VPN and restarted the 1RM 2. Naturally, RAM is gone and with it my connections 👎 3. 1RM started to count 4. After it refreshed, there were still no connections https://github.com/1Remote/1Remote/labels/bug 5. I had to manually click the reconnect to show them ![Animation](https://github.com/1Remote/1Remote/assets/85767/29089b03-1ba2-41f5-9f5a-93c98d5bfd37)
Author
Owner

@VShawn commented on GitHub (May 16, 2023):

Naturally, RAM is gone and with it my connections 👎

I can not reproduce this maybe because I tested it by close MySQL since I don't have a VPN?

https://github.com/1Remote/1Remote/assets/10143738/e2651ef3-773f-4740-80b1-7fcc32c426b1

After it refreshed, there were still no connections https://github.com/1Remote/1Remote/labels/bug

finally find it a UI bug, the counting down is 5min not 60s. I mistakenly set the UI to display seconds only, so it will automatically reconnect only after 5 timers of 60 seconds counting down have passed.

<!-- gh-comment-id:1548784434 --> @VShawn commented on GitHub (May 16, 2023): > Naturally, RAM is gone and with it my connections 👎 I can not reproduce this maybe because I tested it by close MySQL since I don't have a VPN? https://github.com/1Remote/1Remote/assets/10143738/e2651ef3-773f-4740-80b1-7fcc32c426b1 > After it refreshed, there were still no connections https://github.com/1Remote/1Remote/labels/bug finally find it a UI bug, the counting down is 5min not 60s. I mistakenly set the UI to display seconds only, so it will automatically reconnect only after 5 timers of 60 seconds counting down have passed.
Author
Owner

@VShawn commented on GitHub (May 16, 2023):

Oh? Naturally, RAM is gone and with it my connections is fix now ?

<!-- gh-comment-id:1549224239 --> @VShawn commented on GitHub (May 16, 2023): Oh? `Naturally, RAM is gone and with it my connections` is fix now ?
Author
Owner

@majkinetor commented on GitHub (May 16, 2023):

Now it doesn't work at all, I am disconnected but it doesn't show:

details

image

Oh? Naturally, RAM is gone and with it my connections is fix now ?

No

details image

Here, when I connected again there are no connections and still says I am disconnected. I had to restart to show them. Didn't wait 5 minutes to see what will happen but used manual connect.

<!-- gh-comment-id:1549252804 --> @majkinetor commented on GitHub (May 16, 2023): Now it doesn't work at all, I am disconnected but it doesn't show: <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/53bd866e-6f71-4fc1-abf2-c1ef4b7675e1) </details> > Oh? Naturally, RAM is gone and with it my connections is fix now ? No <details><summary>details</summary> ![image](https://github.com/1Remote/1Remote/assets/85767/cdf310ae-edfd-4632-9337-cd7e5913f6b7)</details> Here, when I connected again there are no connections and still says I am disconnected. I had to restart to show them. Didn't wait 5 minutes to see what will happen but used manual connect.
Author
Owner

@VShawn commented on GitHub (May 16, 2023):

Things are getting a bit strange. I didn't encounter the bug you mentioned while testing 1RM. I recorded a complete 5mi screen capture, which you can take a look.

https://github.com/1Remote/1Remote/assets/10143738/1b5c6bf8-6143-4d23-a376-56eeb4a77e32

I think it may be due to VPN that I am unable to reproduce the bug. I tried simulating network disconnection by turning the MySQL service on and off, but I couldn't test the situation where the VPN client was opened like you because I don't have an available VPN.

And manual connect button is not working on my end.

<!-- gh-comment-id:1549311022 --> @VShawn commented on GitHub (May 16, 2023): Things are getting a bit strange. I didn't encounter the bug you mentioned while testing 1RM. I recorded a complete 5mi screen capture, which you can take a look. https://github.com/1Remote/1Remote/assets/10143738/1b5c6bf8-6143-4d23-a376-56eeb4a77e32 I think it may be due to VPN that I am unable to reproduce the bug. I tried simulating network disconnection by turning the MySQL service on and off, but I couldn't test the situation where the VPN client was opened like you because I don't have an available VPN. And manual connect button is not working on my end.
Author
Owner

@majkinetor commented on GitHub (May 16, 2023):

You can't argue with the screenshot :) And it clearly was working before (talking about the icon).

<!-- gh-comment-id:1549327536 --> @majkinetor commented on GitHub (May 16, 2023): You can't argue with the screenshot :) And it clearly was working before (talking about the icon).
Author
Owner

@VShawn commented on GitHub (May 16, 2023):

No argue, I'm just confused about how to reproduce the bug.

<!-- gh-comment-id:1549347998 --> @VShawn commented on GitHub (May 16, 2023): No argue, I'm just confused about how to reproduce the bug.
Author
Owner

@VShawn commented on GitHub (May 17, 2023):

image

i think this is the reason of the bug.

<!-- gh-comment-id:1550544312 --> @VShawn commented on GitHub (May 17, 2023): ![image](https://github.com/1Remote/1Remote/assets/10143738/326a4c14-8c2c-429e-b053-d19676896a9b) i think this is the reason of the bug.
Author
Owner

@VShawn commented on GitHub (May 17, 2023):

@majkinetor can you test it again? i shorten the reconect time to 60s to make it easier to test.

<!-- gh-comment-id:1551134958 --> @VShawn commented on GitHub (May 17, 2023): @majkinetor can you test it again? i shorten the reconect time to 60s to make it easier to test.
Author
Owner

@majkinetor commented on GitHub (May 17, 2023):

Sure, later when I come home. U should put timer setings in json config.

<!-- gh-comment-id:1551145260 --> @majkinetor commented on GitHub (May 17, 2023): Sure, later when I come home. U should put timer setings in json config.
Author
Owner

@majkinetor commented on GitHub (May 17, 2023):

It works now, apart from connections gone when restarted, but you said you want it that way.

One thing seems buggy tho - it rechecks on 10s when OK, but on 60s when not ok

image

<!-- gh-comment-id:1551766245 --> @majkinetor commented on GitHub (May 17, 2023): It works now, apart from connections gone when restarted, but you said you want it that way. One thing seems buggy tho - it rechecks on 10s when OK, but on 60s when not ok ![image](https://github.com/1Remote/1Remote/assets/85767/541a80e0-4305-450a-bf1a-28855b9012e5)
Author
Owner

@majkinetor commented on GitHub (May 17, 2023):

Another thing is buggy in this version - clicking on database name doesnt always show/hide database as before. It works like this.

  1. Click once, it is hidden
  2. Subsequent clicks do nothing until some time passed from the last click (or something like that)

Animation

<!-- gh-comment-id:1551776124 --> @majkinetor commented on GitHub (May 17, 2023): Another thing is buggy in this version - clicking on database name doesnt always show/hide database as before. It works like this. 1. Click once, it is hidden 2. Subsequent clicks do nothing _until some time passed from the last click_ (or something like that) ![Animation](https://github.com/1Remote/1Remote/assets/85767/3a5b9ba0-e761-46bb-809a-2fbe5bac4419)
Author
Owner

@VShawn commented on GitHub (May 18, 2023):

One thing seems buggy tho - it rechecks on 10s when OK, but on 60s when not ok

That's 2 different settings, I will then make it configurable

Another thing is buggy in this version - clicking on database name doesnt always show/hide database as before.

this is still WIP I found the expander dose not work after ordered by connection name desc, I accidentally pushed the code to Git while it half way done.

<!-- gh-comment-id:1552490950 --> @VShawn commented on GitHub (May 18, 2023): > One thing seems buggy tho - it rechecks on 10s when OK, but on 60s when not ok That's 2 different settings, I will then make it configurable > Another thing is buggy in this version - clicking on database name doesnt always show/hide database as before. this is still WIP I found the expander dose not work after ordered by connection name desc, I accidentally pushed the code to Git while it half way done.
Author
Owner

@majkinetor commented on GitHub (May 18, 2023):

Sort doesn't influence it.

That's 2 different settings, I will then make it configurable

Its overkill to have 2 settings IMO.

<!-- gh-comment-id:1552609322 --> @majkinetor commented on GitHub (May 18, 2023): Sort doesn't influence it. > That's 2 different settings, I will then make it configurable Its overkill to have 2 settings IMO.
Author
Owner

@VShawn commented on GitHub (May 18, 2023):

Sort doesn't influence it.

It does in previous version

1

Its overkill to have 2 settings IMO.

You need to set a short time for checking data updates and a longer time for the database reconnection retry wait time. Trying to reconnect to the database every 10 seconds is overkill IMO

Anyway, these two settings can only be changed by eidt the json file at this moment.

<!-- gh-comment-id:1552662327 --> @VShawn commented on GitHub (May 18, 2023): > Sort doesn't influence it. It does in previous version ![1](https://github.com/1Remote/1Remote/assets/10143738/db976cc8-ab84-4dcf-a8a5-9391eede3ebd) > Its overkill to have 2 settings IMO. You need to set a short time for checking data updates and a longer time for the database reconnection retry wait time. Trying to reconnect to the database every 10 seconds is overkill IMO Anyway, these two settings can only be changed by eidt the json file at this moment.
Author
Owner

@majkinetor commented on GitHub (May 18, 2023):

I didn't know the one is for data updates, I was thinking its also for availability but its natural that availability is consequence of checking for data, so yeah, that needs another timer configuration.

Anyway, these two settings can only be changed by eidt the json file at this moment.

And it should IMO stay that way, we don't need advanced options in the configuration. We could add a button to open json like for example vscode or SumatraPDF or windows terminal.

<!-- gh-comment-id:1552688115 --> @majkinetor commented on GitHub (May 18, 2023): I didn't know the one is for data updates, I was thinking its also for availability but its natural that availability is consequence of checking for data, so yeah, that needs another timer configuration. > Anyway, these two settings can only be changed by eidt the json file at this moment. And it should IMO stay that way, we don't need advanced options in the configuration. We could add a button to open json like for example vscode or SumatraPDF or windows terminal.
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/1Remote#339
No description provided.