Skip to content

Commit 99b5d56

Browse files
Merge remote-tracking branch 'origin/main'
2 parents c762860 + ebb09bc commit 99b5d56

3 files changed

Lines changed: 36 additions & 9 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,8 @@
1616
"installGradle": true
1717
}
1818
},
19+
"runArgs": [
20+
"--env-file=${localEnv:HOME}/dev.env"
21+
],
1922
"remoteUser": "ubuntu"
2023
}

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,25 @@ Please use it for being able to tell "It works on my machine".
3030
3131
**Docker is required to be installed on your machine!**
3232
33+
### Create ~/dev.env
34+
35+
The development container is using a local env file on your
36+
host machine for reading e.g. GitHub Tokens, Usernames, Email.
37+
So please make sure it exists with your credentials in `~/dev.env`:
38+
39+
```text
40+
GITHUB_EMAIL=your-mail@your-domain.com
41+
GITHUB_USERNAME=YOUR_GITHUB_USERNAME
42+
GITHUB_TOKEN=ghp_***
43+
```
44+
45+
The `GITHUB_TOKEN` must've set following permission:
46+
47+
- `repo`
48+
- `read:packages`
49+
- `read:user`
50+
- `user:email`
51+
3352
### IntelliJ IDEA
3453

3554
- Open IntelliJ (Welcome screen)

plugin/src/main/java/studio/o7/octopus/plugin/OctopusImpl.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public OctopusImpl(Plugin plugin) {
3636
}
3737

3838
@Override
39-
public Collection<Entry> get(@NonNull String keyPattern, boolean includeExpired, @Nullable Instant createdRangeStart, @Nullable Instant createdRangeEnd) {
39+
public @NotNull Collection<Entry> get(@NonNull String keyPattern, boolean includeExpired, @Nullable Instant createdRangeStart, @Nullable Instant createdRangeEnd) {
4040
var builder = GetRequest.newBuilder();
4141

4242
builder.setKeyPattern(keyPattern);
@@ -58,28 +58,33 @@ public void registerListener(@NonNull Listener listener) {
5858
var observer = stub.listen(new StreamObserver<>() {
5959
@Override
6060
public void onNext(EventCall value) {
61-
var request = requestRef.get();
62-
if (request == null) return;
61+
try {
62+
var request = requestRef.get();
63+
if (request == null) return;
6364

64-
listener.onCall(value.getObject());
65+
listener.onCall(value.getObject());
6566

66-
var msg = ListenMessage.newBuilder()
67-
.setCallback(value)
68-
.build();
67+
var msg = ListenMessage.newBuilder()
68+
.setCallback(value)
69+
.build();
6970

70-
request.onNext(msg);
71+
request.onNext(msg);
72+
} catch (Exception e) {
73+
logger.error(e.getMessage(), e);
74+
}
7175
}
7276

7377
@Override
7478
public void onError(Throwable t) {
7579
requestRef.set(null);
7680
logger.error("Cannot call event on listener {} with key-pattern {}", listener.getListenerUniqueId(), listener.getKeyPattern(), t);
81+
unregisterListener(listener);
7782
}
7883

7984
@Override
8085
public void onCompleted() {
8186
requestRef.set(null);
82-
listeners.remove(listener.getListenerUniqueId());
87+
unregisterListener(listener);
8388
}
8489
});
8590

0 commit comments

Comments
 (0)