Jianhui Zhao
19604debb4
use github.com/zhaojh329/rtty-go/proto
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-09 13:54:32 +08:00
Jianhui Zhao
21db9f8528
use SPDX-License-Identifier
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-08 19:56:51 +08:00
Jianhui Zhao
880ac06a93
Improves code organization and readability
...
- Encapsulate API routes into APIServer methods (api.go)
- Split large handleUserConnection into smaller methods (user.go)
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-31 00:21:17 +08:00
Jianhui Zhao
5dbb4bf951
Update module name to 'github.com/zhaojh329/rttys/v5'
...
This is in line with the Go language module specifications.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-29 14:55:29 +08:00
Jianhui Zhao
f8e63ad01a
ui: redesign error page for better user experience
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:06:41 +08:00
Jianhui Zhao
50bfe1a1e2
improve login timeout handling with proper race condition protection
...
- Extract login waiting logic into separate waitForLogin function for better code organization
- Fix race condition between timeout and device response by using LoadAndDelete atomically
- Continue waiting for device response if timeout occurs but device has already responded
This refactoring ensures robust handling of the login process even when timeout and
device response
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:05:56 +08:00
Jianhui Zhao
3842518da9
optimize the terminal login process via websocket close messages.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:04:49 +08:00
Jianhui Zhao
a0bfc21d11
Refactor the message distribution process
...
To solve a major problem: when there are many devices connected,
the broker will blocked in processing messages.
By the way, I've rewritten and reorganized the entire code architecture,
improved performance.
Some new features has been added:
* support device grouping.
* support show device's IP address.
Change-Id: I250e18091be7fd42028c82767b6edef50b3f6d8f
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-07 12:21:36 +08:00
Jianhui Zhao
68cfedf733
perf: improve sending PingMessage for web user
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 09:17:15 +08:00
Jianhui Zhao
c7592da63f
fix: Ensure the client is only close once
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 15:35:46 +08:00
Jianhui Zhao
9dfc856b74
fix: Fix potential panic issue
...
```
2025-04-24T06:59:56Z |INFO| New session: 81ee1ed4d12c3048620fbb2168c08257
2025-04-24T07:00:10Z |INFO| Delete session: 81ee1ed4d12c3048620fbb2168c08257
2025-04-24T07:00:17Z |INFO| New session: 427ce01b7f47a7ee8192cefdfa291c8f
2025-04-24T07:00:57Z |INFO| Delete session: 427ce01b7f47a7ee8192cefdfa291c8f
2025-04-24T07:01:55Z |INFO| New session: ffbfd5c596195c2bd43b8c0b6dc3d135
2025-04-24T07:01:57Z |ERRO| websocket: close sent
panic: send on closed channel
goroutine 33 [running]:
main.(*user).WriteMsg(0xc00037e680, 0x2, {0xc000188d10, 0xc, 0xc})
/home/runner/work/rttys/rttys/user.go:52 +0x8b
main.(*broker).run(0xc00035a000)
/home/runner/work/rttys/rttys/broker.go:227 +0xf34
created by main.runRttys in goroutine 1
/home/runner/work/rttys/rttys/main.go:86 +0x595
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-04-25 16:03:56 +08:00
Jianhui Zhao
7dd174d096
fix: Fix panic: send on closed channel
...
```
device broker
------------------------------------------------------
dev.br.register <- dev
dev.br.unregister <- dev
handle unregister
c.Close()
handle register
c.WriteMsg(msgTypeRegister, append([]byte{err}, msg...))
dev.send <- append(b, data...)
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2024-11-23 20:14:15 +08:00
Jianhui Zhao
d4b8ad7ea5
fix: panic: send on closed channel
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2022-05-12 21:45:44 +08:00
Jianhui Zhao
de28788e42
fix: panic: send on closed channel
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-22 05:47:30 +00:00
Jianhui Zhao
342bd9d37e
chore: improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-20 00:00:09 +08:00
Jianhui Zhao
9141dd3ab3
perf: Write file data to local while transferring
...
Before, the download was started after all file data were sent from the device to the browser.
Now, the download starts when the file data begins to transfer.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-19 03:27:32 +08:00
Jianhui Zhao
d00831af35
perf: improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-16 16:56:09 +08:00
Jianhui Zhao
fa2cbd14b1
refactor: change the login process to improve stability
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-15 06:46:54 +00:00
Jianhui Zhao
54359e99e0
chore: improve code style
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-09 14:47:22 +00:00
Jianhui Zhao
c857cc305b
chore: rename go module to rttys
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-08 10:33:47 +00:00
Jianhui Zhao
1db48db9e5
fix : #67
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-02 19:30:28 +08:00
Jianhui Zhao
079690e189
fix websocket disconnecting after one minute of inactivity
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-01 13:39:34 +08:00
Jianhui Zhao
31d7e0920a
refactor
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-26 22:50:39 +08:00
Jianhui Zhao
980ff5bfcd
fix code style for golint
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-05 21:20:38 +08:00
Jianhui Zhao
22a1a26b1f
Optimize code and api
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2020-03-15 20:13:35 +08:00
Jianhui Zhao
71a1d5bd2c
Use zerolog
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2020-02-12 11:39:45 +08:00
Jianhui Zhao
0846fceb99
Do not use websocket for device
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2020-01-30 22:14:34 +08:00
Jianhui Zhao
8a3fa3f82b
Change the license from LGPL2 to MIT
2019-05-07 11:20:25 +08:00
Jianhui Zhao
f26078c121
Code refactoring
...
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com >
2019-01-20 13:55:16 +08:00