release: v4.8.8 file transfer consent fix
Complete the mandatory receiver-consent gate that was wired in the backend but never connected to the UI callback chain: - Add the missing onIncomingFileRequest (4th) callback to setFileTransferCallbacks in app.jsx — its absence caused handleFileTransferStart to auto-reject every incoming file. - Remove independent callback registration from FileTransferComponent; the component was overwriting app-level callbacks on mount and nulling all four on unmount, silently breaking progress/received/ error handlers whenever the panel was hidden. - Lift pendingIncomingFiles state to the root component so consent prompts are shown regardless of panel visibility; auto-open the panel on incoming request. - Add getReceivedFileObjectURL / revokeReceivedFileObjectURL on EnhancedSecureWebRTCManager for download buttons in the panel. - Update file-transfer-ui-cleanup regression test to match the new single-owner callback architecture. - All 14 tests pass; clean production build.
This commit is contained in:
@@ -12389,6 +12389,16 @@ async processMessage(data) {
|
||||
return this.fileTransferSystem.rejectIncomingFile(fileId);
|
||||
}
|
||||
|
||||
async getReceivedFileObjectURL(fileId) {
|
||||
if (!this.fileTransferSystem) return null;
|
||||
return this.fileTransferSystem.getObjectURL(fileId);
|
||||
}
|
||||
|
||||
revokeReceivedFileObjectURL(url) {
|
||||
if (!this.fileTransferSystem) return;
|
||||
this.fileTransferSystem.revokeObjectURL(url);
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// SESSION ACTIVATION HANDLING
|
||||
// ============================================
|
||||
|
||||
Reference in New Issue
Block a user