deploy: a4e8ffdc7f
This commit is contained in:
parent
3b00d38846
commit
c861a5704a
9 changed files with 5607 additions and 5177 deletions
|
|
@ -1 +1 @@
|
|||
)assets/banner.png
assetassets/banner.pngassets/banner_transparent.png
assetassets/banner_transparent.pngassets/favicon.png
assetassets/favicon.pngassets/info-logo.png
assetassets/info-logo.pngassets/js/package/olm.js
assetassets/js/package/olm.jsassets/js/package/olm.wasm
assetassets/js/package/olm.wasmassets/js/package/olm_legacy.js
assetassets/js/package/olm_legacy.jsassets/login_wallpaper.png
assetassets/login_wallpaper.pngassets/logo.png
assetassets/logo.pngassets/logo.svg
assetassets/logo.svgassets/sas-emoji.json
assetassets/sas-emoji.jsonassets/sounds/call.ogg
assetassets/sounds/call.oggassets/sounds/notification.ogg
assetassets/sounds/notification.oggassets/sounds/phone.ogg
assetassets/sounds/phone.oggfonts/Roboto/Roboto-Bold.ttf
assetfonts/Roboto/Roboto-Bold.ttffonts/Roboto/Roboto-Italic.ttf
assetfonts/Roboto/Roboto-Italic.ttffonts/Roboto/Roboto-Regular.ttf
assetfonts/Roboto/Roboto-Regular.ttf#fonts/Roboto/RobotoMono-Regular.ttf
asset#fonts/Roboto/RobotoMono-Regular.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf
asset2packages/cupertino_icons/assets/CupertinoIcons.ttf4packages/flutter_map/lib/assets/flutter_map_logo.png
asset4packages/flutter_map/lib/assets/flutter_map_logo.pngFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf
assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttfNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf
assetNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf
assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttfDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf
assetDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf
assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf
assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf
assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttfLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf
assetLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf
assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttfMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf
assetMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf)packages/wakelock_plus/assets/no_sleep.js
asset)packages/wakelock_plus/assets/no_sleep.js
|
||||
*assets/banner.png
assetassets/banner.pngassets/banner_transparent.png
assetassets/banner_transparent.pngassets/favicon.png
assetassets/favicon.pngassets/info-logo.png
assetassets/info-logo.pngassets/js/package/olm.js
assetassets/js/package/olm.jsassets/js/package/olm.wasm
assetassets/js/package/olm.wasmassets/js/package/olm_legacy.js
assetassets/js/package/olm_legacy.jsassets/login_wallpaper.png
assetassets/login_wallpaper.pngassets/logo.png
assetassets/logo.pngassets/logo.svg
assetassets/logo.svgassets/sas-emoji.json
assetassets/sas-emoji.jsonassets/sounds/call.ogg
assetassets/sounds/call.oggassets/sounds/notification.ogg
assetassets/sounds/notification.oggassets/sounds/phone.ogg
assetassets/sounds/phone.oggfonts/Roboto/Roboto-Bold.ttf
assetfonts/Roboto/Roboto-Bold.ttffonts/Roboto/Roboto-Italic.ttf
assetfonts/Roboto/Roboto-Italic.ttffonts/Roboto/Roboto-Regular.ttf
assetfonts/Roboto/Roboto-Regular.ttf#fonts/Roboto/RobotoMono-Regular.ttf
asset#fonts/Roboto/RobotoMono-Regular.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf
asset2packages/cupertino_icons/assets/CupertinoIcons.ttf4packages/flutter_map/lib/assets/flutter_map_logo.png
asset4packages/flutter_map/lib/assets/flutter_map_logo.pngFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf
assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttfNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf
assetNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf
assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttfDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf
assetDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf
assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf
assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf
assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf
assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf
assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttfLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf
assetLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf
assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf
assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttfMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf
assetMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf/packages/record_web/assets/js/record.worklet.js
asset/packages/record_web/assets/js/record.worklet.js)packages/wakelock_plus/assets/no_sleep.js
asset)packages/wakelock_plus/assets/no_sleep.js
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{"assets/banner.png":["assets/banner.png"],"assets/banner_transparent.png":["assets/banner_transparent.png"],"assets/favicon.png":["assets/favicon.png"],"assets/info-logo.png":["assets/info-logo.png"],"assets/js/package/olm.js":["assets/js/package/olm.js"],"assets/js/package/olm.wasm":["assets/js/package/olm.wasm"],"assets/js/package/olm_legacy.js":["assets/js/package/olm_legacy.js"],"assets/login_wallpaper.png":["assets/login_wallpaper.png"],"assets/logo.png":["assets/logo.png"],"assets/logo.svg":["assets/logo.svg"],"assets/sas-emoji.json":["assets/sas-emoji.json"],"assets/sounds/call.ogg":["assets/sounds/call.ogg"],"assets/sounds/notification.ogg":["assets/sounds/notification.ogg"],"assets/sounds/phone.ogg":["assets/sounds/phone.ogg"],"fonts/Roboto/Roboto-Bold.ttf":["fonts/Roboto/Roboto-Bold.ttf"],"fonts/Roboto/Roboto-Italic.ttf":["fonts/Roboto/Roboto-Italic.ttf"],"fonts/Roboto/Roboto-Regular.ttf":["fonts/Roboto/Roboto-Regular.ttf"],"fonts/Roboto/RobotoMono-Regular.ttf":["fonts/Roboto/RobotoMono-Regular.ttf"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_map/lib/assets/flutter_map_logo.png":["packages/flutter_map/lib/assets/flutter_map_logo.png"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf"],"packages/wakelock_plus/assets/no_sleep.js":["packages/wakelock_plus/assets/no_sleep.js"]}
|
||||
{"assets/banner.png":["assets/banner.png"],"assets/banner_transparent.png":["assets/banner_transparent.png"],"assets/favicon.png":["assets/favicon.png"],"assets/info-logo.png":["assets/info-logo.png"],"assets/js/package/olm.js":["assets/js/package/olm.js"],"assets/js/package/olm.wasm":["assets/js/package/olm.wasm"],"assets/js/package/olm_legacy.js":["assets/js/package/olm_legacy.js"],"assets/login_wallpaper.png":["assets/login_wallpaper.png"],"assets/logo.png":["assets/logo.png"],"assets/logo.svg":["assets/logo.svg"],"assets/sas-emoji.json":["assets/sas-emoji.json"],"assets/sounds/call.ogg":["assets/sounds/call.ogg"],"assets/sounds/notification.ogg":["assets/sounds/notification.ogg"],"assets/sounds/phone.ogg":["assets/sounds/phone.ogg"],"fonts/Roboto/Roboto-Bold.ttf":["fonts/Roboto/Roboto-Bold.ttf"],"fonts/Roboto/Roboto-Italic.ttf":["fonts/Roboto/Roboto-Italic.ttf"],"fonts/Roboto/Roboto-Regular.ttf":["fonts/Roboto/Roboto-Regular.ttf"],"fonts/Roboto/RobotoMono-Regular.ttf":["fonts/Roboto/RobotoMono-Regular.ttf"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_map/lib/assets/flutter_map_logo.png":["packages/flutter_map/lib/assets/flutter_map_logo.png"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf"],"packages/record_web/assets/js/record.worklet.js":["packages/record_web/assets/js/record.worklet.js"],"packages/wakelock_plus/assets/no_sleep.js":["packages/wakelock_plus/assets/no_sleep.js"]}
|
||||
|
|
@ -38616,8 +38616,8 @@ receive_sharing_intent
|
|||
|
||||
--------------------------------------------------------------------------------
|
||||
record
|
||||
record_android
|
||||
record_linux
|
||||
record_macos
|
||||
record_platform_interface
|
||||
record_web
|
||||
record_windows
|
||||
|
|
@ -38650,6 +38650,36 @@ record_windows
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
--------------------------------------------------------------------------------
|
||||
record_darwin
|
||||
|
||||
// Copyright 2022 openapi4j authors. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of openapi4j nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
--------------------------------------------------------------------------------
|
||||
remove_emoji
|
||||
|
||||
Copyright (c) 2023 Muhammed Nazeem
|
||||
|
|
|
|||
400
nightly/assets/packages/record_web/assets/js/record.worklet.js
Normal file
400
nightly/assets/packages/record_web/assets/js/record.worklet.js
Normal file
|
|
@ -0,0 +1,400 @@
|
|||
class RecorderProcessor extends AudioWorkletProcessor {
|
||||
static get parameterDescriptors() {
|
||||
return [
|
||||
{
|
||||
name: 'numChannels',
|
||||
defaultValue: 1,
|
||||
minValue: 1,
|
||||
maxValue: 16
|
||||
},
|
||||
{
|
||||
name: 'sampleRate',
|
||||
defaultValue: 48000,
|
||||
minValue: 8000,
|
||||
maxValue: 96000
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Buffer size compromise between size and process call frequency
|
||||
_bufferSize = 4096
|
||||
// The current buffer fill level
|
||||
_bytesWritten = 0
|
||||
// Buffer per channel
|
||||
_buffers = []
|
||||
// Resampler (passthrough, down or up)
|
||||
_resampler = null
|
||||
// Config
|
||||
_numChannels = 1
|
||||
_sampleRate = 48000
|
||||
|
||||
constructor(options) {
|
||||
super(options)
|
||||
|
||||
this._numChannels = options.parameterData.numChannels
|
||||
this._sampleRate = options.parameterData.sampleRate
|
||||
|
||||
// Resampler(current context sample rate, desired sample rate, num channels, buffer size)
|
||||
// num channels is always 1 since we resample after interleaving channels
|
||||
this._resampler = new Resampler(sampleRate, this._sampleRate, 1, this._bufferSize * this._numChannels)
|
||||
|
||||
this.initBuffers()
|
||||
}
|
||||
|
||||
initBuffers() {
|
||||
this._bytesWritten = 0
|
||||
this._buffers = []
|
||||
|
||||
for (let channel = 0; channel < this._numChannels; channel++) {
|
||||
this._buffers[channel] = []
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isBufferEmpty() {
|
||||
return this._bytesWritten === 0
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isBufferFull() {
|
||||
return this._bytesWritten >= this._bufferSize
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Float32Array[][]} inputs
|
||||
* @returns {boolean}
|
||||
*/
|
||||
process(inputs) {
|
||||
if (this.isBufferFull()) {
|
||||
this.flush()
|
||||
}
|
||||
|
||||
const input = inputs[0]
|
||||
|
||||
if (input.length == 0) {
|
||||
// Sometimes, Firefox doesn't give any input. Skip this frame to not fail.
|
||||
return true
|
||||
}
|
||||
|
||||
for (let channel = 0; channel < this._numChannels; channel++) {
|
||||
// Push a copy of the array.
|
||||
// The underlying implementation may reuse it which will break the recording.
|
||||
this._buffers[channel].push([...input[channel]])
|
||||
}
|
||||
|
||||
this._bytesWritten += input[0].length
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
flush() {
|
||||
let channels = []
|
||||
for (let channel = 0; channel < this._numChannels; channel++) {
|
||||
channels.push(this.mergeFloat32Arrays(this._buffers[channel], this._bytesWritten))
|
||||
}
|
||||
|
||||
let interleaved = this.interleave(channels)
|
||||
|
||||
let resampled = this._resampler.resample(interleaved)
|
||||
|
||||
this.port.postMessage(this.floatTo16BitPCM(resampled))
|
||||
|
||||
this.initBuffers()
|
||||
}
|
||||
|
||||
mergeFloat32Arrays(arrays, bytesWritten) {
|
||||
let result = new Float32Array(bytesWritten)
|
||||
var offset = 0
|
||||
|
||||
for (let i = 0; i < arrays.length; i++) {
|
||||
result.set(arrays[i], offset)
|
||||
offset += arrays[i].length
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
// Interleave data from channels from LLLLRRRR to LRLRLRLR
|
||||
interleave(channels) {
|
||||
if (channels === 1) {
|
||||
return channels[0]
|
||||
}
|
||||
|
||||
var length = 0
|
||||
for (let i = 0; i < channels.length; i++) {
|
||||
length += channels[i].length
|
||||
}
|
||||
|
||||
let result = new Float32Array(length)
|
||||
|
||||
var index = 0
|
||||
var inputIndex = 0
|
||||
|
||||
while (index < length) {
|
||||
for (let i = 0; i < channels.length; i++) {
|
||||
result[index] = channels[i][inputIndex]
|
||||
index++
|
||||
}
|
||||
|
||||
inputIndex++
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
floatTo16BitPCM(input) {
|
||||
let output = new DataView(new ArrayBuffer(input.length * 2))
|
||||
|
||||
for (let i = 0; i < input.length; i++) {
|
||||
let s = Math.max(-1, Math.min(1, input[i]))
|
||||
let s16 = s < 0 ? s * 0x8000 : s * 0x7FFF
|
||||
output.setInt16(i * 2, s16, true)
|
||||
}
|
||||
|
||||
return new Int16Array(output.buffer)
|
||||
}
|
||||
}
|
||||
|
||||
class Resampler {
|
||||
constructor(fromSampleRate, toSampleRate, channels, inputBufferSize) {
|
||||
|
||||
if (!fromSampleRate || !toSampleRate || !channels) {
|
||||
throw (new Error("Invalid settings specified for the resampler."));
|
||||
}
|
||||
this.resampler = null;
|
||||
this.fromSampleRate = fromSampleRate;
|
||||
this.toSampleRate = toSampleRate;
|
||||
this.channels = channels || 0;
|
||||
this.inputBufferSize = inputBufferSize;
|
||||
this.initialize()
|
||||
}
|
||||
|
||||
initialize() {
|
||||
if (this.fromSampleRate == this.toSampleRate) {
|
||||
|
||||
// Setup resampler bypass - Resampler just returns what was passed through
|
||||
this.resampler = (buffer) => {
|
||||
return buffer
|
||||
};
|
||||
this.ratioWeight = 1;
|
||||
|
||||
} else {
|
||||
if (this.fromSampleRate < this.toSampleRate) {
|
||||
|
||||
// Use generic linear interpolation if upsampling,
|
||||
// as linear interpolation produces a gradient that we want
|
||||
// and works fine with two input sample points per output in this case.
|
||||
this.linearInterpolation();
|
||||
this.lastWeight = 1;
|
||||
|
||||
} else {
|
||||
|
||||
// Custom resampler I wrote that doesn't skip samples
|
||||
// like standard linear interpolation in high downsampling.
|
||||
// This is more accurate than linear interpolation on downsampling.
|
||||
this.multiTap();
|
||||
this.tailExists = false;
|
||||
this.lastWeight = 0;
|
||||
}
|
||||
|
||||
// Initialize the internal buffer:
|
||||
this.initializeBuffers();
|
||||
this.ratioWeight = this.fromSampleRate / this.toSampleRate;
|
||||
}
|
||||
}
|
||||
|
||||
bufferSlice(sliceAmount) {
|
||||
|
||||
//Typed array and normal array buffer section referencing:
|
||||
try {
|
||||
return this.outputBuffer.subarray(0, sliceAmount);
|
||||
}
|
||||
catch (error) {
|
||||
try {
|
||||
//Regular array pass:
|
||||
this.outputBuffer.length = sliceAmount;
|
||||
return this.outputBuffer;
|
||||
}
|
||||
catch (error) {
|
||||
//Nightly Firefox 4 used to have the subarray function named as slice:
|
||||
return this.outputBuffer.slice(0, sliceAmount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
initializeBuffers() {
|
||||
this.outputBufferSize = (Math.ceil(this.inputBufferSize * this.toSampleRate / this.fromSampleRate / this.channels * 1.000000476837158203125) + this.channels) + this.channels;
|
||||
try {
|
||||
this.outputBuffer = new Float32Array(this.outputBufferSize);
|
||||
this.lastOutput = new Float32Array(this.channels);
|
||||
}
|
||||
catch (error) {
|
||||
this.outputBuffer = [];
|
||||
this.lastOutput = [];
|
||||
}
|
||||
}
|
||||
|
||||
linearInterpolation() {
|
||||
this.resampler = (buffer) => {
|
||||
let bufferLength = buffer.length,
|
||||
channels = this.channels,
|
||||
outLength,
|
||||
ratioWeight,
|
||||
weight,
|
||||
firstWeight,
|
||||
secondWeight,
|
||||
sourceOffset,
|
||||
outputOffset,
|
||||
outputBuffer,
|
||||
channel;
|
||||
|
||||
if ((bufferLength % channels) !== 0) {
|
||||
throw (new Error("Buffer was of incorrect sample length."));
|
||||
}
|
||||
if (bufferLength <= 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
outLength = this.outputBufferSize;
|
||||
ratioWeight = this.ratioWeight;
|
||||
weight = this.lastWeight;
|
||||
firstWeight = 0;
|
||||
secondWeight = 0;
|
||||
sourceOffset = 0;
|
||||
outputOffset = 0;
|
||||
outputBuffer = this.outputBuffer;
|
||||
|
||||
for (; weight < 1; weight += ratioWeight) {
|
||||
secondWeight = weight % 1;
|
||||
firstWeight = 1 - secondWeight;
|
||||
this.lastWeight = weight % 1;
|
||||
for (channel = 0; channel < this.channels; ++channel) {
|
||||
outputBuffer[outputOffset++] = (this.lastOutput[channel] * firstWeight) + (buffer[channel] * secondWeight);
|
||||
}
|
||||
}
|
||||
weight -= 1;
|
||||
for (bufferLength -= channels, sourceOffset = Math.floor(weight) * channels; outputOffset < outLength && sourceOffset < bufferLength;) {
|
||||
secondWeight = weight % 1;
|
||||
firstWeight = 1 - secondWeight;
|
||||
for (channel = 0; channel < this.channels; ++channel) {
|
||||
outputBuffer[outputOffset++] = (buffer[sourceOffset + ((channel > 0) ? (channel) : 0)] * firstWeight) + (buffer[sourceOffset + (channels + channel)] * secondWeight);
|
||||
}
|
||||
weight += ratioWeight;
|
||||
sourceOffset = Math.floor(weight) * channels;
|
||||
}
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
this.lastOutput[channel] = buffer[sourceOffset++];
|
||||
}
|
||||
return this.bufferSlice(outputOffset);
|
||||
};
|
||||
}
|
||||
|
||||
multiTap() {
|
||||
this.resampler = (buffer) => {
|
||||
let bufferLength = buffer.length,
|
||||
outLength,
|
||||
output_variable_list,
|
||||
channels = this.channels,
|
||||
ratioWeight,
|
||||
weight,
|
||||
channel,
|
||||
actualPosition,
|
||||
amountToNext,
|
||||
alreadyProcessedTail,
|
||||
outputBuffer,
|
||||
outputOffset,
|
||||
currentPosition;
|
||||
|
||||
if ((bufferLength % channels) !== 0) {
|
||||
throw (new Error("Buffer was of incorrect sample length."));
|
||||
}
|
||||
if (bufferLength <= 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
outLength = this.outputBufferSize;
|
||||
output_variable_list = [];
|
||||
ratioWeight = this.ratioWeight;
|
||||
weight = 0;
|
||||
actualPosition = 0;
|
||||
amountToNext = 0;
|
||||
alreadyProcessedTail = !this.tailExists;
|
||||
this.tailExists = false;
|
||||
outputBuffer = this.outputBuffer;
|
||||
outputOffset = 0;
|
||||
currentPosition = 0;
|
||||
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
output_variable_list[channel] = 0;
|
||||
}
|
||||
|
||||
do {
|
||||
if (alreadyProcessedTail) {
|
||||
weight = ratioWeight;
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
output_variable_list[channel] = 0;
|
||||
}
|
||||
} else {
|
||||
weight = this.lastWeight;
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
output_variable_list[channel] = this.lastOutput[channel];
|
||||
}
|
||||
alreadyProcessedTail = true;
|
||||
}
|
||||
while (weight > 0 && actualPosition < bufferLength) {
|
||||
amountToNext = 1 + actualPosition - currentPosition;
|
||||
if (weight >= amountToNext) {
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
output_variable_list[channel] += buffer[actualPosition++] * amountToNext;
|
||||
}
|
||||
currentPosition = actualPosition;
|
||||
weight -= amountToNext;
|
||||
} else {
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
output_variable_list[channel] += buffer[actualPosition + ((channel > 0) ? channel : 0)] * weight;
|
||||
}
|
||||
currentPosition += weight;
|
||||
weight = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (weight === 0) {
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
outputBuffer[outputOffset++] = output_variable_list[channel] / ratioWeight;
|
||||
}
|
||||
} else {
|
||||
this.lastWeight = weight;
|
||||
for (channel = 0; channel < channels; ++channel) {
|
||||
this.lastOutput[channel] = output_variable_list[channel];
|
||||
}
|
||||
this.tailExists = true;
|
||||
break;
|
||||
}
|
||||
} while (actualPosition < bufferLength && outputOffset < outLength);
|
||||
return this.bufferSlice(outputOffset);
|
||||
};
|
||||
}
|
||||
|
||||
resample(buffer) {
|
||||
if (this.fromSampleRate == this.toSampleRate) {
|
||||
this.ratioWeight = 1;
|
||||
} else {
|
||||
if (this.fromSampleRate < this.toSampleRate) {
|
||||
this.lastWeight = 1;
|
||||
} else {
|
||||
this.tailExists = false;
|
||||
this.lastWeight = 0;
|
||||
}
|
||||
this.initializeBuffers();
|
||||
this.ratioWeight = this.fromSampleRate / this.toSampleRate;
|
||||
}
|
||||
return this.resampler(buffer)
|
||||
}
|
||||
}
|
||||
|
||||
registerProcessor("recorder.worklet", RecorderProcessor)
|
||||
|
|
@ -19,10 +19,11 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
|
|||
"manifest.json": "cc4b6aa791018840b65fd0b0e325b201",
|
||||
"favicon.png": "a409751f0ecf6dee76fb350d7402f9be",
|
||||
"version.json": "d332b47693702f4203b900f5037f2601",
|
||||
"index.html": "86ad7cd6c4c472268cc6b5fe3d15ee54",
|
||||
"/": "86ad7cd6c4c472268cc6b5fe3d15ee54",
|
||||
"main.dart.js": "c3e11d1fe2005a9570ce0f7d8c115993",
|
||||
"assets/AssetManifest.json": "82ec42c015f9ef74ebf074e3ff172126",
|
||||
"index.html": "ad702d82e839c1c2a48cd6448ed43abe",
|
||||
"/": "ad702d82e839c1c2a48cd6448ed43abe",
|
||||
"main.dart.js": "8f260a2a624a3e70050426392e0095b2",
|
||||
"assets/AssetManifest.json": "e1032ff80e247703f47777bf468c3ae3",
|
||||
"assets/packages/record_web/assets/js/record.worklet.js": "356bcfeddb8a625e3e2ba43ddf1cc13e",
|
||||
"assets/packages/flutter_map/lib/assets/flutter_map_logo.png": "208d63cc917af9713fc9572bd5c09362",
|
||||
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "8c441277cf711d83016dede9fc441928",
|
||||
"assets/packages/wakelock_plus/assets/no_sleep.js": "7748a45cd593f33280669b29c2c8919a",
|
||||
|
|
@ -47,7 +48,7 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
|
|||
"assets/packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf": "e3c361ea8d1c215805439ce0941a1c8d",
|
||||
"assets/packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf": "946a26954ab7fbd7ea78df07795a6cbc",
|
||||
"assets/shaders/ink_sparkle.frag": "ecc85a2e95f5e9f53123dcaf8cb9b6ce",
|
||||
"assets/AssetManifest.bin.json": "923efaa0f2d032aba343b39f5332dc70",
|
||||
"assets/AssetManifest.bin.json": "5932dc08fb182037da23edd1fc95a477",
|
||||
"assets/fonts/MaterialIcons-Regular.otf": "68441989aeec601ddc07066e3b77b2c2",
|
||||
"assets/fonts/Roboto/Roboto-Regular.ttf": "8a36205bd9b83e03af0591a004bc97f4",
|
||||
"assets/fonts/Roboto/Roboto-Bold.ttf": "b8e42971dec8d49207a8c8e2b919a6ac",
|
||||
|
|
@ -67,8 +68,8 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
|
|||
"assets/assets/sounds/notification.ogg": "d928d619828e6dbccf6e9e40f1c99d83",
|
||||
"assets/assets/sounds/phone.ogg": "5c8fb947eb92ca55229cb6bbf533c40f",
|
||||
"assets/assets/sounds/call.ogg": "7e8c646f83fba83bfb9084dc1bfec31e",
|
||||
"assets/NOTICES": "0cd6b989fcd6e196479279ad18a18d67",
|
||||
"assets/AssetManifest.bin": "cb64b3e3fe1a7dc2c2439d73711985c0",
|
||||
"assets/NOTICES": "26b8d64f433c121709f6718efaddf2c4",
|
||||
"assets/AssetManifest.bin": "77bc633ffb9de5b46d66c547ad5a8ba5",
|
||||
"assets/FontManifest.json": "6a590c591cb18c7ac3b63b1fcaa45b57",
|
||||
"splash/img/light-2x.png": "9371a9e18df59f2bbe9b32e04c3fc5d4",
|
||||
"splash/img/light-1x.png": "db5b72b7f4b38640c974f20d9c90f464",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
<script>
|
||||
// The value below is injected by flutter build, do not touch.
|
||||
const serviceWorkerVersion = "2505800023";
|
||||
const serviceWorkerVersion = "1761107771";
|
||||
</script>
|
||||
<!-- This script adds the flutter initialization JS code -->
|
||||
<script src="flutter.js" defer></script>
|
||||
|
|
|
|||
10317
nightly/main.dart.js
10317
nightly/main.dart.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue