Skip to content
This repository was archived by the owner on Mar 26, 2024. It is now read-only.

Commit 2aa5b8f

Browse files
committed
Add status endpoint
1 parent 4e3ca8a commit 2aa5b8f

4 files changed

Lines changed: 18 additions & 3 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ intellijPluginVersion=1.3.0
2626
javassistVersion=3.28.0-GA
2727
kotlinVersion=1.6.10
2828
mockitoKotlinVersion=4.0.0
29-
projectorClientVersion=aeaf9989
29+
projectorClientVersion=fe7fcb00
3030
projectorClientGroup=com.github.JetBrains.projector-client
3131
targetJvm=11
3232
jetbrainsMonoVersion=2.242

projector-server/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
# Unreleased
22

33
## Fixed
4+
45
- PRJ-691 PRJ-750 PRJ-779 Fix JetBrains account login
56
- Infinite transport initialization on relay failure
67

78
## Changed
9+
810
- Switch to JS IR compilation for projector-client-web
911

12+
## Added
13+
14+
- Status endpoint
15+
1016
# 1.6.0
1117

1218
## Added

projector-server/src/main/kotlin/org/jetbrains/projector/server/ProjectorServer.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,13 @@ class ProjectorServer private constructor(
335335
return allEvents
336336
}
337337

338+
private var lastUserActionTimeStampMs: Long = 0L
339+
338340
private fun processMessage(clientSettings: ReadyClientSettings, message: ClientEvent) {
341+
if (message is ClientUserEvent) {
342+
lastUserActionTimeStampMs = System.currentTimeMillis()
343+
}
344+
339345
if (
340346
!clientSettings.setUpClientData.hasWriteAccess &&
341347
message !is ClientRequestImageDataEvent &&
@@ -700,8 +706,9 @@ class ProjectorServer private constructor(
700706
fun start() {
701707
updateThread = createUpdateThread()
702708
caretInfoUpdater.start()
709+
lastUserActionTimeStampMs = System.currentTimeMillis()
703710

704-
WebsocketServer.createTransportBuilders().forEach {
711+
WebsocketServer.createTransportBuilders(getLastUserActionTimeStampMs = ::lastUserActionTimeStampMs).forEach {
705712
addTransport(it.attachDefaultServerEventHandlers(clientEventHandler).build())
706713
}
707714
}
@@ -733,6 +740,7 @@ class ProjectorServer private constructor(
733740
fun stop(timeout: Int = 0) {
734741
transports.forEach { it.stop(timeout) }
735742
transports.clear()
743+
lastUserActionTimeStampMs = 0L
736744
caretInfoUpdater.stop()
737745

738746
if (::updateThread.isInitialized) {

projector-server/src/main/kotlin/org/jetbrains/projector/server/websocket/WebsocketServer.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import org.jetbrains.projector.server.service.ProjectorImageCacher
3535
import org.jetbrains.projector.util.logging.Logger
3636

3737
object WebsocketServer {
38-
internal fun createTransportBuilders(): List<WsTransportBuilder> {
38+
internal fun createTransportBuilders(getLastUserActionTimeStampMs: () -> Long): List<WsTransportBuilder> {
3939
val builders = arrayListOf<WsTransportBuilder>()
4040

4141
val relayUrl = getOption(RELAY_PROPERTY_NAME)
@@ -68,6 +68,7 @@ object WebsocketServer {
6868
)
6969
}
7070
}
71+
serverBuilder.getLastUserActionTimeStampMs = getLastUserActionTimeStampMs
7172

7273
builders.add(serverBuilder)
7374
}

0 commit comments

Comments
 (0)