Expose megolm import/export via the devtools
							parent
							
								
									f8e56778ea
								
							
						
					
					
						commit
						d63f7e8359
					
				
							
								
								
									
										24
									
								
								src/index.js
								
								
								
								
							
							
						
						
									
										24
									
								
								src/index.js
								
								
								
								
							|  | @ -28,3 +28,27 @@ module.exports.getComponent = function(componentName) { | |||
|     return Skinner.getComponent(componentName); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* hacky functions for megolm import/export until we give it a UI */ | ||||
| import * as MegolmExportEncryption from './utils/MegolmExportEncryption'; | ||||
| import MatrixClientPeg from './MatrixClientPeg'; | ||||
| 
 | ||||
| window.exportKeys = function(password) { | ||||
|     return MatrixClientPeg.get().exportRoomKeys().then((k) => { | ||||
|         return MegolmExportEncryption.encryptMegolmKeyFile( | ||||
|             JSON.stringify(k), password | ||||
|         ); | ||||
|     }).then((f) => { | ||||
|         console.log(new TextDecoder().decode(new Uint8Array(f))); | ||||
|     }).done(); | ||||
| }; | ||||
| 
 | ||||
| window.importKeys = function(password, data) { | ||||
|     const arrayBuffer = new TextEncoder().encode(data).buffer; | ||||
|     return MegolmExportEncryption.decryptMegolmKeyFile( | ||||
|         arrayBuffer, password | ||||
|     ).then((j) => { | ||||
|         const k = JSON.parse(j); | ||||
|         return MatrixClientPeg.get().importRoomKeys(k); | ||||
|     }); | ||||
| }; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Richard van der Hoff
						Richard van der Hoff