feat(client): start to use a better eventemitter
This commit is contained in:
parent
0fbb106668
commit
08a195edd5
|
|
@ -9,3 +9,4 @@ readur_uploads/
|
|||
readur_watch/
|
||||
test-results/
|
||||
uploads/
|
||||
.claude/settings.local.json
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
"@types/uuid": "^10.0.0",
|
||||
"axios": "^1.3.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"eventemitter3": "^5.0.1",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-dropzone": "^14.2.3",
|
||||
|
|
@ -2785,6 +2786,12 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/eventemitter3": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
||||
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fdir": {
|
||||
"version": "6.4.6",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
"@types/uuid": "^10.0.0",
|
||||
"axios": "^1.3.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"eventemitter3": "^5.0.1",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-dropzone": "^14.2.3",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { EventEmitter } from 'events';
|
||||
import { EventEmitter } from 'eventemitter3';
|
||||
import { SyncProgressInfo } from '../api';
|
||||
|
||||
export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error' | 'failed';
|
||||
|
|
@ -21,7 +21,7 @@ export interface SyncProgressEvents {
|
|||
* Provides a clean interface for components to consume sync progress data
|
||||
* without being coupled to WebSocket implementation details
|
||||
*/
|
||||
export abstract class SyncProgressManager extends EventEmitter {
|
||||
export abstract class SyncProgressManager extends EventEmitter<keyof SyncProgressEvents> {
|
||||
protected state: SyncProgressState = {
|
||||
progressInfo: null,
|
||||
connectionStatus: 'disconnected',
|
||||
|
|
@ -30,7 +30,7 @@ export abstract class SyncProgressManager extends EventEmitter {
|
|||
|
||||
constructor() {
|
||||
super();
|
||||
this.setMaxListeners(20); // Prevent memory leak warnings
|
||||
// EventEmitter3 doesn't have setMaxListeners, but it handles listeners efficiently
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue