mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 09:31:20 -04:00
adjustmetns
This commit is contained in:
+7
-27
@@ -1,30 +1,10 @@
|
|||||||
1. fix controls remapping [x]
|
1. add faster way for admins to login
|
||||||
2. trusted user system [x]
|
2. custom webhook profile pictures for chat bridge in discord
|
||||||
3. private rovers [x]
|
3. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
||||||
4. optional bump-off in drive macro [x]
|
4. add discord bot typing thing for when someone requests a replay
|
||||||
5. allow admins to click on locked rovers from the roster [x]
|
5. change replay title for ones requested from discord, something other than "requester driving rover"
|
||||||
6. add faster way for admins to login
|
6. fix rover request spam queue cheat
|
||||||
7. custom webhook profile pictures for chat bridge in discord
|
7. rover descriptions. show in the HUD at the bottom or top for a few seconds, then fade away.
|
||||||
8. home assistant switch that tells the server to force the lights on [x]
|
|
||||||
9. color coding with colored names and tape [x]
|
|
||||||
10. audio forwarding [x]
|
|
||||||
- streaming from server to rovers [x]
|
|
||||||
- audio files first [x]
|
|
||||||
- then voice chat [x]
|
|
||||||
10. mobile controls column swapping (optional joystick on left) [x]
|
|
||||||
11. fix fullscreen on mobile so that you can re-enter it [x]
|
|
||||||
12. fix scroll bars on mobile [x]
|
|
||||||
13. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
|
||||||
14. add discord bot typing thing for when someone requests a replay
|
|
||||||
15. change replay title for ones requested from discord, something other than "requester driving rover"
|
|
||||||
16. better quickstart guide, something better than just a big list of controls. help overlay sucks i think. [x]
|
|
||||||
1. restyle fullscreen overlay... please..[x]
|
|
||||||
17. fix rover request spam queue cheat
|
|
||||||
18. not always preview feed for non-turners
|
|
||||||
1. if theres less drivers than there are rovers online, everyone sees full video even if its not your turn
|
|
||||||
2. move the thing out of the middle of the screen no matter what mode its in
|
|
||||||
1. have it just say "its not your turn!" and preview mesasge if preview mode
|
|
||||||
2. make it flash on input to draw attention that its not your turn
|
|
||||||
|
|
||||||
|
|
||||||
# relative pipe dreams:
|
# relative pipe dreams:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
|||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||||
<meta name="apple-mobile-web-app-title" content="Roomba Rover" />
|
<meta name="apple-mobile-web-app-title" content="Roomba Rover" />
|
||||||
<title>Roomba Rover</title>
|
<title>Roomba Rover</title>
|
||||||
<script type="module" crossorigin src="/assets/index-BLeh7cTz.js"></script>
|
<script type="module" crossorigin src="/assets/index-BL4tb3vF.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-DlqwZ560.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-DlqwZ560.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export default function DriverVideoPanel({ layoutFormat = 'desktop' }) {
|
|||||||
const [turnCueVisible, setTurnCueVisible] = useState(false);
|
const [turnCueVisible, setTurnCueVisible] = useState(false);
|
||||||
const [turnCueStartAt, setTurnCueStartAt] = useState(null);
|
const [turnCueStartAt, setTurnCueStartAt] = useState(null);
|
||||||
const [notTurnFlashAt, setNotTurnFlashAt] = useState(0);
|
const [notTurnFlashAt, setNotTurnFlashAt] = useState(0);
|
||||||
const lastTurnRef = useRef({ active: false, roverId: null });
|
const lastTurnRef = useRef({ initialized: false, roverId: null, activeDriverId: null });
|
||||||
const lastIntentRef = useRef(lastControlIntentAt || 0);
|
const lastIntentRef = useRef(lastControlIntentAt || 0);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (mode !== 'turns') {
|
if (mode !== 'turns') {
|
||||||
@@ -116,21 +116,46 @@ export default function DriverVideoPanel({ layoutFormat = 'desktop' }) {
|
|||||||
if (mode !== 'turns') {
|
if (mode !== 'turns') {
|
||||||
setTurnCueVisible(false);
|
setTurnCueVisible(false);
|
||||||
setTurnCueStartAt(null);
|
setTurnCueStartAt(null);
|
||||||
lastTurnRef.current = { active: false, roverId: null };
|
lastTurnRef.current = { initialized: false, roverId: null, activeDriverId: null };
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const lastTurn = lastTurnRef.current;
|
const lastTurn = lastTurnRef.current;
|
||||||
const becameActive = isActiveDriver && !lastTurn.active;
|
const nextActiveDriverId = activeDriverId || null;
|
||||||
const roverChanged = isActiveDriver && roverId && roverId !== lastTurn.roverId;
|
if (!socketId || !roverId) {
|
||||||
if (becameActive || roverChanged) {
|
setTurnCueVisible(false);
|
||||||
|
setTurnCueStartAt(null);
|
||||||
|
lastTurnRef.current = {
|
||||||
|
initialized: false,
|
||||||
|
roverId: null,
|
||||||
|
activeDriverId: null,
|
||||||
|
};
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!lastTurn.initialized || lastTurn.roverId !== roverId) {
|
||||||
|
lastTurnRef.current = {
|
||||||
|
initialized: true,
|
||||||
|
roverId,
|
||||||
|
activeDriverId: nextActiveDriverId,
|
||||||
|
};
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const becameActive =
|
||||||
|
Boolean(lastTurn.activeDriverId) &&
|
||||||
|
lastTurn.activeDriverId !== socketId &&
|
||||||
|
nextActiveDriverId === socketId;
|
||||||
|
if (becameActive) {
|
||||||
setTurnCueVisible(true);
|
setTurnCueVisible(true);
|
||||||
setTurnCueStartAt(Date.now());
|
setTurnCueStartAt(Date.now());
|
||||||
} else if (!isActiveDriver && lastTurn.active) {
|
} else if (nextActiveDriverId !== socketId && turnCueVisible) {
|
||||||
setTurnCueVisible(false);
|
setTurnCueVisible(false);
|
||||||
setTurnCueStartAt(null);
|
setTurnCueStartAt(null);
|
||||||
}
|
}
|
||||||
lastTurnRef.current = { active: isActiveDriver, roverId };
|
lastTurnRef.current = {
|
||||||
}, [isActiveDriver, roverId, mode]);
|
initialized: true,
|
||||||
|
roverId,
|
||||||
|
activeDriverId: nextActiveDriverId,
|
||||||
|
};
|
||||||
|
}, [activeDriverId, mode, roverId, socketId, turnCueVisible]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!turnCueVisible || !turnCueStartAt) return;
|
if (!turnCueVisible || !turnCueStartAt) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user