diff options
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/group-page.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/group-page.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/group-page.js b/packages/meshbay-hub/src/meshbay_hub/static/group-page.js index e762fc8..513792b 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/group-page.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/group-page.js @@ -140,6 +140,10 @@ function GroupPage({ groupId, group, token, username, userId, userPrefs, // destination rather than a set of folders it reads. const [chatDirectory, setChatDirectory] = useState(''); const [chatLinkPreview, setChatLinkPreview] = useState(true); + // Whether this node speaks the operations MNP 1.1 added. False for one that + // predates them, and the Settings page then offers what that node can + // actually do rather than controls whose messages it drops unanswered. + const [nodeSupportsAppOps, setNodeSupportsAppOps] = useState(false); // MusicBrainz on/off (per-group) โ docs/musicbay.md ยง3.2. const [musicbrainzConfig, setMusicbrainzConfig] = useState(null); const onPlayQueue = useCallback((tracks, startIndex) => { @@ -342,6 +346,7 @@ function GroupPage({ groupId, group, token, username, userId, userPrefs, || (ack.audio_root ? [ack.audio_root] : []), photo: ack.photo_directories || ack.photo_roots || [], }); + setNodeSupportsAppOps(transport.supportsAppOps); setChatDirectory(ack.chat_directory || ''); setChatLinkPreview(ack.chat_link_preview !== false); setMusicbrainzConfig({ @@ -790,6 +795,7 @@ function GroupPage({ groupId, group, token, username, userId, userPrefs, onScanSettings=${(s) => setScanSettings(s)} entries=${entries} nodeDirs=${nodeDirs} appSettings=${appSettings} + nodeSupportsAppOps=${nodeSupportsAppOps} ${/* The saving pane already knows what it asked for; this is so the page's own copy moves at the same time, rather than waiting for the ack it will not be handed (transport.js |