Component dependency issue (IDFGH-6873)

Environment

Development Kit:      ESP32-S2 Kaluga
Kit version (for WroverKit/PicoKit/DevKitC):  v1.3
Module or chip used:  ESP32-S2 WROVER
IDF version (run git describe --tags to find it): v4.4
Build System:         idf.py
Compiler version (run xtensa-esp32-elf-gcc --version to find it): 2021r2-patch2-8.4.0
Operating System:     Windows
(Windows only) environment type: ESP Command Prompt
Using an IDE?: Yes VSCode (ESP-IDF VSCode extension 1.4.0)
Power Supply:        N/A

Problem Description
Component Manager seems to have trouble with ^ and ~ notation
Expected Behavior
Resolve dependencies
Actual Behavior
Fails to resolve dependencies
Steps to reproduce
PS C:\Users\svcgu\OneDrive\Documents\ESP32\ltc2488> idf.py add-dependency espressif/esp32_s2_kaluga_kit==0.0.4
Executing action: add-dependency
Created "c:\users\svcgu\onedrive\documents\esp32\ltc2488\main\idf_component.yml"
Successfully added dependency "espressif/esp32_s2_kaluga_kit==0.0.4" for component "main"
PS C:\Users\svcgu\OneDrive\Documents\ESP32\ltc2488> idf.py add-dependency lvgl/lvgl==8.2.0
Executing action: add-dependency
Successfully added dependency "lvgl/lvgl==8.2.0" for component "main"
PS C:\Users\svcgu\OneDrive\Documents\ESP32\ltc2488> idf.py reconfigure
Executing action: reconfigure
Running cmake in directory c:\users\svcgu\onedrive\documents\esp32\ltc2488\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 c:\users\svcgu\onedrive\documents\esp32\ltc2488"...
-- ccache will be used for faster recompilation
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32s2
Solving dependencies requirements
CMake Error at C:/Users/svcgu/esp/esp-idf/tools/cmake/build.cmake:455 (message):
  Traceback (most recent call last):

    File "runpy.py", line 194, in _run_module_as_main
    File "runpy.py", line 87, in _run_code
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\__main__.py", line 3, in <module>
      main()
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\prepare.py", line 110, in main
      args.func(args)
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\prepare.py", line 37, in prepare_dep_dirs
      ComponentManager(args.project_dir).prepare_dep_dirs(
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\core.py", line 325, in prepare_dep_dirs
      downloaded_component_paths = download_project_dependencies(
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\dependencies.py", line 36, in download_project_dependencies
      solution = solver.solve()
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\version_solver\version_solver.py", line 30, in solve
      result = self._solver.solve()
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 63, in solve
      if not self._run():
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 76, in _run
      self._propagate(next_package)
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 108, in _propagate
      root_cause = self._resolve_conflict(incompatibility)
    File "C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 282, in _resolve_conflict
      raise SolverFailure(incompatibility)

  idf_component_manager.version_solver.mixology.failure.SolverFailure:
  Because espressif/esp32_s2_kaluga_kit (0.0.4) depends on espressif/es8311
  (^0.0.2-alpha) which doesn't match any versions,
  espressif/esp32_s2_kaluga_kit is forbidden.

  So, because project depends on espressif/esp32_s2_kaluga_kit (==0.0.4),
  version solving failed.

Call Stack (most recent call first):
  C:/Users/svcgu/esp/esp-idf/tools/cmake/project.cmake:378 (idf_build_process)
  CMakeLists.txt:8 (project)

-- Configuring incomplete, errors occurred!
See also "C:/Users/svcgu/OneDrive/Documents/ESP32/ltc2488/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1

Code to reproduce this issue
None - Build Issue
Other items if possible
ESP Doctor Command
OS win32 x64 10.0.19043
System environment variable IDF_PYTHON_ENV_PATH
 undefined
System environment variable PATH
 C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\PuTTY\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Yarn\bin\;C:\Program Files\PowerShell\7\;C:\Users\svcgu\AppData\Local\Microsoft\WindowsApps;C:\Users\svcgu\AppData\Local\Programs\Microsoft VS Code\bin;C:\ST\STM32Cube\STM32CubeProgrammer\bin;
System environment variable PYTHON
 undefined
Visual Studio Code version 1.65.0
Visual Studio Code language en
Visual Studio Code shell C:\Program Files\PowerShell\7\pwsh.exe
ESP-IDF Extension version 1.4.0
---------------------------------------------------- Extension configuration settings ------------------------------------------------------
ESP-ADF Path (idf.espAdfPath) ${env:ADF_PATH}
ESP-IDF Path (idf.espIdfPath) C:\Users\svcgu\esp\esp-idf
ESP-MDF Path (idf.espMdfPath) ${env:MDF_PATH}
Custom extra paths (idf.customExtraPaths) C:\Users\svcgu\.espressif\tools\xtensa-esp32-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32-elf\bin;C:\Users\svcgu\.espressif\tools\xtensa-esp32s2-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32s2-elf\bin;C:\Users\svcgu\.espressif\tools\xtensa-esp32s3-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32s3-elf\bin;C:\Users\svcgu\.espressif\tools\riscv32-esp-elf\esp-2021r2-patch2-8.4.0\riscv32-esp-elf\bin;C:\Users\svcgu\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;C:\Users\svcgu\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin;C:\Users\svcgu\.espressif\tools\cmake\3.20.3\bin;C:\Users\svcgu\.espressif\tools\openocd-esp32\v0.11.0-esp32-20211220\openocd-esp32\bin;C:\Users\svcgu\.espressif\tools\ninja\1.10.2;C:\Users\svcgu\.espressif\tools\idf-exe\1.0.3;C:\Users\svcgu\.espressif\tools\ccache\4.3\ccache-4.3-windows-64;C:\Users\svcgu\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64
Custom extra vars (idf.customExtraVars) {"OPENOCD_SCRIPTS":"C:\\Users\\svcgu\\.espressif\\tools\\openocd-esp32\\v0.11.0-esp32-20211220/openocd-esp32/share/openocd/scripts","IDF_CCACHE_ENABLE":"1"}
Virtual env Python Path (idf.pythonBinPath) C:\Users\svcgu\.espressif\python_env\idf4.4_py3.8_env\Scripts\python.exe
Serial port (idf.port) COM6
OpenOCD Configs (idf.openOcdConfigs) interface/ftdi/esp32_devkitj_v1.cfg,target/esp32s2.cfg
ESP-IDF Tools Path (idf.toolsPath) C:\Users\svcgu\.espressif
Git Path (idf.gitPath) C:\Users\svcgu\.espressif\tools\idf-git\2.30.1\cmd\git.exe
-------------------------------------------------------- Configurations access -------------------------------------------------------------
Access to ESP-ADF Path (idf.espAdfPath) false
Access to ESP-IDF Path (idf.espIdfPath) true
Access to ESP-MDF Path (idf.espMdfPath) false
Access to ESP-IDF Custom extra paths
Access to C:\Users\svcgu\.espressif\tools\xtensa-esp32-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32-elf\bin: true
Access to C:\Users\svcgu\.espressif\tools\xtensa-esp32s2-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32s2-elf\bin: true
Access to C:\Users\svcgu\.espressif\tools\xtensa-esp32s3-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32s3-elf\bin: true
Access to C:\Users\svcgu\.espressif\tools\riscv32-esp-elf\esp-2021r2-patch2-8.4.0\riscv32-esp-elf\bin: true
Access to C:\Users\svcgu\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin: true
Access to C:\Users\svcgu\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin: true
Access to C:\Users\svcgu\.espressif\tools\cmake\3.20.3\bin: true
Access to C:\Users\svcgu\.espressif\tools\openocd-esp32\v0.11.0-esp32-20211220\openocd-esp32\bin: true
Access to C:\Users\svcgu\.espressif\tools\ninja\1.10.2: true
Access to C:\Users\svcgu\.espressif\tools\idf-exe\1.0.3: true
Access to C:\Users\svcgu\.espressif\tools\ccache\4.3\ccache-4.3-windows-64: true
Access to C:\Users\svcgu\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64: true
Access to Virtual env Python Path (idf.pythonBinPath) true
Access to CMake in environment PATH undefined
Access to Ninja in environment PATH undefined
Access to ESP-IDF Tools Path (idf.toolsPath) true
----------------------------------------------------------- Executables Versions -----------------------------------------------------------
Git version 2.30.1.windows.1
ESP-IDF version 4.4
Python version 3.8.7
Python's pip version 20.3.3
-------------------------------------------------- Python packages in idf.pythonBinPath ----------------------------------------------------
bitstring version: 3.1.9
Brotli version: 1.0.9
certifi version: 2021.10.8
cffi version: 1.15.0
charset-normalizer version: 2.0.12
click version: 8.0.4
colorama version: 0.4.4
construct version: 2.10.54
contextlib2 version: 21.6.0
cryptography version: 36.0.1
ecdsa version: 0.17.0
esp-windows-curses version: 0.1
Flask version: 0.12.5
Flask-Compress version: 1.11
Flask-SocketIO version: 2.9.6
future version: 0.18.2
gcovr version: 5.0
gdbgui version: <IP_ADDRESS>
gevent version: 1.5.0
greenlet version: 1.1.2
idf-component-manager version: 1.0.1
idna version: 3.3
itsdangerous version: 2.1.0
Jinja2 version: 3.0.3
kconfiglib version: 13.7.1
lxml version: 4.8.0
MarkupSafe version: 2.1.0
pip version: 20.3.3
psutil version: 5.9.0
pycparser version: 2.21
pyelftools version: 0.28
pygdbmi version: <IP_ADDRESS>
Pygments version: 2.11.2
pyparsing version: 2.3.1
pyserial version: 3.5
python-engineio version: 3.14.2
python-socketio version: 4.6.1
pywin32 version: 303
PyYAML version: 6.0
reedsolo version: 1.5.4
requests version: 2.27.1
requests-toolbelt version: 0.9.1
schema version: 0.7.5
semantic-version version: 2.9.0
setuptools version: 60.9.3
six version: 1.16.0
tqdm version: 4.63.0
urllib3 version: 1.26.8
websocket-client version: 1.3.1
Werkzeug version: 0.16.1
wheel version: 0.36.2
windows-curses version: 2.3.0
xmlrunner version: 1.7.7
---------------------------------------------------- Check ESP-IDF python requirements.txt -------------------------------------------------
Check ESP-IDF Python packages Python requirements from C:\Users\svcgu\esp\esp-idf\requirements.txt are satisfied.
---------------------------------------------------- Check extension requirements.txt ------------------------------------------------------
Check Extension Python packages Python requirements from c:\Users\svcgu\.vscode\extensions\espressif.esp-idf-extension-1.4.0\requirements.txt are satisfied.
---------------------------------------------------- Check ESP-IDF debug adapter requirements.txt ------------------------------------------
Check Debug AdapterPython packages Python requirements from c:\Users\svcgu\.vscode\extensions\espressif.esp-idf-extension-1.4.0\esp_debug_adapter\requirements.txt are satisfied.
---------------------------------------------------- Visual Studio Code launch.json --------------------------------------------------------
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "espidf",
      "name": "Launch",
      "request": "launch"
    }
  ]
}
---------------------------------------------------- Visual Studio Code c_cpp_properties.json ----------------------------------------------
{
    "configurations": [
        {
            "name": "ESP-IDF",
            "compilerPath": "C:\\Users\\svcgu\\.espressif\\tools\\xtensa-esp32s2-elf\\esp-2021r2-patch2-8.4.0\\xtensa-esp32s2-elf\\bin\\xtensa-esp32s2-elf-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "includePath": [
                "${config:idf.espIdfPath}/components/**",
                "${config:idf.espIdfPathWin}/components/**",
                "${config:idf.espAdfPath}/components/**",
                "${config:idf.espAdfPathWin}/components/**",
                "${workspaceFolder}/**"
            ],
            "browse": {
                "path": [
                    "${config:idf.espIdfPath}/components",
                    "${config:idf.espIdfPathWin}/components",
                    "${config:idf.espAdfPath}/components/**",
                    "${config:idf.espAdfPathWin}/components/**",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": false
            },
            "compileCommands": "${workspaceFolder}/build/compile_commands.json"
        }
    ],
    "version": 4
}
--------------------------------------------------------------------------------------------------------------------------------------------

Just noticed that the above set of dependencies will never resolve due to LVGL.  But the issue with the lvgl_esp32_drivers==0.0.4 is the actual issue.  Revert that to lvgl_esp32_drivers==0.0.3 and it will resolve
[1/7] espressif/button (2.0.0)
[2/7] espressif/es8311 (1.0.0)
[3/7] espressif/esp32_s2_kaluga_kit (0.0.3)
[4/7] espressif/led_strip (1.1.0-alpha)
[5/7] idf (4.4.0)
[6/7] lvgl/lvgl (7.11.0)
[7/7] lvgl/lvgl_esp32_drivers (0.0.3)```

Hello @svcguy
Thank you
Could you please also share the full content of your idf_component.yml file for main where you have the problem (and for other components in the components directory if you have any)?

@svcguy thank you for reporting.
Board Support Package (BSP) for Kaluga kit (both version 0.0.3 and 0.0.4) was one of our first trials with BSPs, so it uses already obsolete https://components.espressif.com/component/lvgl/lvgl_esp32_drivers, this package supports only LVGL v7. So when you define dependency on LVGL v8.2.0 it can't be resolved.
I'll update espressif/esp32_s2_kaluga_kit for LVGL v8 soon

Just my 2c, it would be excellent if the error message reported by the component manager pointed at the root cause of this issue (lvgl incompatibility). Although I understand that version solving is a complex problem, so maybe it is too optimistic to require this...

Correct.  I realized that after posting.  The version of LVGL isn’t important to me right now.  Even removing LVGL as a dependency, it still fails (LVGL as a dependency isn’t necessary anyway since lvgl_esp32_drivers will pull LVGL in).  The issue is actually the es8311 dependency and I think the root issue is with the use of the ^ and ~ version specifiers.  It’s the only difference between the 0.0.3 and 0.0.4 versions.
And an update to LVGL v8 would be wonderful, thank you so much.  I’ll wait patiently :)
Sent from Mail for Windows
From: Tomas Rezucha
Sent: Friday, March 4, 2022 07:56
To: espressif/esp-idf
Cc: Andy; Mention
Subject: Re: [espressif/esp-idf] Component dependency issue (IDFGH-6873) (Issue #8495)
@svcguy thank you for reporting.
Board Support Package (BSP) for Kaluga kit (both version 0.0.3 and 0.0.4) was one of our first trials with BSPs, so it uses already obsolete https://components.espressif.com/component/lvgl/lvgl_esp32_drivers, this package supports only LVGL v7. So when you define dependency on LVGL v8.2.0 it can't be resolved.
I'll update espressif/esp32_s2_kaluga_kit for LVGL v8 soon
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

@svcguy Thank you for the issue, yes there is an with the solver and pre-release dependencies like 0.0.2-alpha, we will check it

@svcguy The issue with caret was fixed in this commit https://github.com/espressif/idf-component-manager/commit/bede7f34e5cb329a2b7513252bba68173b0d36a0 however the package is not published on PyPI yet.
If you want to try it now, you can install it into your ESP-IDF virtual env by running this command after export.ps1:
pip install git+https://github.com/espressif/idf-component-manager.git --upgrade

Thanks for reporting, feel free to reopen.


[TopTabBar - Material] SelectionIndicator appears wider than TabBarItem in certain layouts

Current behavior

Expected behavior
SelectionIndicator should only be as wide as the TabBarItem
How to reproduce it (as minimally and precisely as possible)

Environment

Nuget Package:
Package Version(s):
Affected platform(s):

[ ] iOS
[ ] Android
[ ] WebAssembly
[ ] WebAssembly renders for Xamarin.Forms
[ ] Windows
[ ] Build tasks

Visual Studio:

[ ] 2017 (version: )
[ ] 2019 (version: )
[ ] for Mac (version: )

Relevant plugins:

[ ] Resharper (version: )

Anything else we need to know?

idk if this would be helpful, Ripple likes to bloat to 2-3x the size of content it holds
to confirm this, you can play with the Ripple::RippleSizeMultiplier and see if the indicator scales accordingly


Appropriating Keys

Describe the feature you'd like to see added
I think a handy feature would be to have an .ini file that would allow users to chose which keys & treasures are present in their inventory. Normally we can do this with Raz0r's trainer, but there are several reasons why I try to avoid using his trainer (especially when testing). The .ini file could be placed in the \Bin32\re4_tweaks\setting_overrides folder with a name like items.ini.
An example of the config could include a list of all available items and then an area to activate them:
;----------------------------------------
;KEY ITEMS LIST
;----------------------------------------
;0F - salazar family insignia
;1D - stone tablet
;1E - lion ornament
;1F - goat ornament
;31 - activation key (blue)
;33 - activation key (red)
;39 - serpent ornament
;3A - moonstone (right half)
;3B - insignia key
;3C - round insignia
;3D - false eye
;69 - moonstone (left half)
;6E - king's grail
;6F - queen's grail
;74 - emergency lock card key
;7A - blue moonstone
;7B - key to the mine
;80 - golden sword
;81 - iron key
;82 - stone of sacrifice
;83 - storage room card key
;84 - freezer card key
;85 - piece of the holy beast, panther
;86 - piece of the holy beast, serpent
;87 - piece of the holy beast, eagle
;88 - jet-ski key
;8B - old key
;8C - camp key
;8D - dynamite
;8E - lift activation key
;92 - waste disposal card key
;A3 - gallery key
;A4 - emblem (right half)
;A5 - emblem (left half)
;A6 - hexagonal emblem
;A7 - castle gate key
;C3 - prison key
;C4 - platinum sword
;----------------------------------------
;TREASURE ITEMS LIST
;----------------------------------------
;1B - hourglass w/ gold decor
;56 - velvet blue
;57 - spinel
;58 - pearl pendant
;59 - brass pocket watch
;5A - elegant headdress
;5B - antique pipe
;5C - gold bangle w/ pearls
;5D - amber ring
;5E - beerstein
;5F - green catseye
;60 - red catseye
;61 - yellow catseye
;62 - beerstein w/ (g)
;63 - beerstein w/ (r)
;64 - beerstein w/ (y)
;65 - beerstein w/ (g,r)
;66 - beerstein w/ (g,y)
;67 - beerstein w/ (r,y)
;68 - beerstein w/ (g,r,y)
;70 - staff of royalty
;77 - ruby
;89 - dirty pearl pendant
;8A - dirty brass pocket watch
;8F - gold bangle
;90 - elegant perfume bottle
;91 - mirror w/ pearls & rubies
;93 - elegant chessboard
;96 - hourglass w/ gold decor
;98 - illuminados pendant
;9A - crown
;9B - crown jewel
;9C - royal insignia
;9D - crown with jewels
;9E - crown with an insignia
;9F - salazar family crown
;A1 - emerald
;B8 - butterfly lamp
;B9 - green eye
;BA - red eye
;BB - blue eye
;BC - butterfly lamp w/ ( g )
;BD - butterfly lamp w/ ( r )
;BE - butterfly lamp w/ ( b )
;BF - butterfly lamp w/ ( g, r )
;C0 - butterfly lamp w/ ( g, b )
;C1 - butterfly lamp w/ ( r, b )
;C2 - butterfly lamp w/ ( r, g, b )
;C6 - elegant mask
;C7 - green gem
;C8 - red gem
;C9 - purple gem
;CA - elegant mask w/ ( g )
;CB - elegant mask w/ ( r )
;CC - elegant mask w/ ( p )
;CD - elegant mask w/ ( g, r )
;CE - elegant mask w/ ( g, p )
;CF - elegant mask w/ ( r, p )
;D0 - elegant mask w/ ( r, g, p )
;D1 - golden lynx
;D2 - green stone of judgement
;D3 - red stone of faith
;D4 - blue stone of treason
;D5 - golden lynx w/ ( g )
;D6 - golden lynx w/ ( r )
;D7 - golden lynx w/ ( b )
;D8 - golden lynx w/ ( g, r )
;D9 - golden lynx w/ ( g, b )
;DA - golden lynx w/ ( r, b )
;DB - golden lynx w/ ( g, r, b )
;--------------------------------------------------
[MY ITEMS]
74
80
33
;--------------------------------------------------

I think it would be too much work to try and implement support for weapons & ammo as there is all kinds of positional data that would need to be taken into account for the space that each of those things occupy in the case, whereas with key items & treasures you can have multiples of the same thing, and the game simply organizes them from left to right without limitation.

Not sure how the game would update the inventory after certain item use. Maybe a setting in the .ini file to toggle 'keep items after use' could be an option.


Add support to paste after close, when emoji is copied

It adds support to automatic paste in the old focus after "copy" from mojibar.
I have tested it in linux together with #78
Not sure if it works in mac as I don't have one to test, but I think it might be related to #23 #58 #16 ... if someone can test it in mac let me know if it works...
If you have already run npm install its necessary to rebuild electron install as robot is a native extension.. to rebuild do: npm rebuild --runtime=electron --target=1.4.0 --disturl=https://atom.io/download/atom-shell --abi=48
The solution is wait a bit the window be hide and then focus get back to the old open window, and so it sends the paste command.

Sadly this still won't fix those issues, since focus doesn't return to the old open window on macOS :sob:

i have been using in linux and its working like a charm here, I could not test in win/mac :(

Sorry, didn't mean to imply that it wouldn't. It's just that it sadly won't fix #23 et al :(

Seems to be working on mac -> selected emoji is copied to clipboard and pastes after close

FYI, for those of you worried about focus, could you please take a look at https://github.com/muan/mojibar/pull/87 to see if that helps? For some reason it works well for me at least in Windows 10. Mac 🍎 is the only one I'm not so sure about.

Also: I think this should be a preference. That is, you should have a choice of one of the following, either:

You select an emoji to copy, or
You select an emoji to insert

When inserting, I don't think it's useful for it to utilize the clipboard unless there's no way around it. In fact, this could cause more issues if it because the default action as it may lead users on (initially, if they're unfamiliar with it) to think that the emoji is just being inserted and not clobbering their clipboard contents.
Just 🥓 for thought 😄


Added coil valve actuators, mixed air damper actuator, and humidifier…

… level actuator

Preheat Coil Valves and Reheat Coil Valves could be associated with hot water or steam. CoolingCoil could be thought of as CoolingLevel, and the same would apply to Preheat and Reheat, however, valve position is not directly proportional to level of heat transfer, i.e. 50% open is not 50% of heat transfer.

Because the Coil Valve Positions are not considered to be "replaceable" as Cooling Level or Heating Level, I would recommend removing the second extends for the CoolingLevel, ReheatLevel, and PreheatLevel. Then we're all set.


How to save any subdirectory?

I want to create a Frontend or Backend project with the following directory structure.
However, when I try to create it, a MainProject is created.
When I try to create it again, Project added [path] / MainProject is displayed and I cannot create it.
What should I do
MainProject
  - .git
  - Frontend
    - ...
  - Backend
    - ...

This is due to the plugin looking for the git root folder by checking upwards until a .git folder exists taken from plenary.
Changing this would either mean 1. complicating the plugin or 2. not providing the upwards search as "breaking change" on default, which forces users to check themself or use proper and explicit function arguments.
I think 2 would be the better option, but requires to provide users with commands :Project_isGit and for completion also the git worktree commands :Project_isPlainand :Project_isWorktree with corresponding functions.


Swap_two_numbers_without_using_third_variable

Why: The commit solves the issues
#4060
Closes #4060
Dart Code added

This PR is linked to #4060

@vedantpople4 @grraghav120 pls review this


updated the apiMerge Util files.

Closes: https://issues.redhat.com/browse/RHOAIENG-2152
Description
A small ix to increase the coverage of file

How Has This Been Tested?
npm run test

Test Impact
test coverage:
Before:

After:

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/lgtm
/approve


[SP-4095][PDI-16800]-Get File Names step - does prompt for save even …

…if nothing was changed

@mbatchelor, @bmorrise, @pamval can you please take a look? It is backport https://github.com/pentaho/pentaho-kettle/pull/4810

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  ui/src/main/java/org/pentaho/di/ui/trans/steps/getfilenames/GetFileNamesDialog.java


Create an Adapter class with mock methods to use with UI

It will hold many specific adapters to control user actions.
Add a TaskAdapter. It should be an empty class. It later will be extended with mock methods as UI developers need them. At some point, hard-coded mock methods will be replaced with IRepository implementor.
All adapter methods should take in a user_id. UI should know user_id by looking at SessionService service from #14 . Until it's implemented, use mock methods that take in any user_id.
Add it as a singleton dependency to the MAUI app.

#18 closes this


Init template structure

Clean up templates so they now compile using go

Initial templates for low code development

merge commits


Don't use layout_action for dart_vm_snapshots

Skip layout_action and add sources from transitive dependencies as
inputs to the snapshot generation
Remove the duplicated copy of relative_path
Don't look for vendor/ - it won't exist anymore anyway
When importing a package from an external workspace, prepend
'externa/' and find the relative path against the .packages file
instead of against the bazel package

This is experimental. I don't have any validation for the branch were the workspace_root is equal.
My goal with this is to reduce the amount of stuff we're doing that is counter to the happy path for bazel - creating our own symlink farm is decidedly not the happy path - but it may break some stuff in the process.
We still have some weirdness with the .build directory.
I have not confirmed that generated Dart sources show up here - we will probably want to check on this to be sure.

Your concerns were valid - we don't see generated files under the normal path... either we need to still have something like layout_action or we need to use runfiles

Double checked in a small bazel workspace and it does not look like runfiles has any kind of merged view of the workspace. I think we're stuck using layout_action
I wonder if it makes sense to do this once per package rather than once per action?

The actual runfiles directory should have a merged view, if it doesn't then we might not be providing the runfiles properly in the rule. What were you seeing in there?

I think what I should have said was runfiles doesn't have a merged view of the inputs
The things that we need merged vary based on the place we call the binary, not where we define the binary.

Don't we just need all the transitive dart srcs (this is for the snapshot action right)? We should be able to add all of those to runfiles. I might be confused though :).

Are you planning on submitting as is or waiting for more feedback from Marc on the PR you referenced?

This one is probably worth submitting but it might be best to hold off until Jake can take a look and/or I can test the concept internally. For now I'm looking for any feedback on the approach and or current implementation.

This might be infeasible.
We currently allow the same source file to show up in multiple dart_library targets - if that happens in this case we'd try to create the same link multiple times. I don't know if there is a way around this, we could try to detect overlap and handle it somehow but anything we do there is very likely to be hacky.

Disallowing srcs in multiple libraries would be a good thing anyways though, and it breaks with the ng2 library rules anyways so it's already been fixed in most places.

+1. I'd like to see this enforced internally too
On Thu, Feb 16, 2017, 3:44 PM Jacob MacDonald<EMAIL_ADDRESS>wrote:

Disallowing srcs in multiple libraries would be a good thing anyways
though, and it breaks with the ng2 library rules anyways so it's already
been fixed in most places.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/rules_dart/pull/95#issuecomment-280501849,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKQ7pjANYIgzNM5qFG3nPTXSBgnEeseks5rdN9ngaJpZM4L6HF4
.

Angular2 is one of the libraries doing this today :)
Will try to get an idea of how hard it would be to get things cleaned up.


Add unite.vim support

GetCodeActions

FindSymbol

FindType

And, add g:OmniSharp_selector_ui option variable to choose unite.vim or ctrlp.vim.

This is very cool. Thanks! I wanted this for a long time before I left vim :)

Thank you for merging!
I want to contribute to this project also in the future.
Can you add me to collaborators?
I am an expert of Vim script, so I can support things of Vim script.  But I'm not conversant with omnisharp-server.
And, I'm not good at English. :sweat:
I am glad if you could consider. :smiley:

:+1:
@thinca is very good Vim script programmer than I.

Yes, I'd be very happy to make @thinca a collaborator. I've been wanting
someone to look after this code for a while since I no longer use vim.
And I'm sure @thinca is much better at vimscript than I am :)
On 7 Mar 2015 12:09, "Shougo"<EMAIL_ADDRESS>wrote:

[image: :+1:]
@thinca https://github.com/thinca is very good Vim script programmer
than I.
—
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/omnisharp-vim/pull/198#issuecomment-77686709
.

Thank you!


Auto-rating detection

[x] Add automatic option to the upload form, maybe just do it to safe posts by default?
[x] Automatically detect the NSFW probability (using opennsfw2)
[x] Add "nsfw_probability" attribute to different ratings
[x] Automatically check scanned items that were not found (in the scanner)
[x] Add toggle to turn this off or on.

See #35


Is it possible to have a background image and also have that saved?

react-native-sketch-canvas had the ability to use a background image. This image would also be saved when calling the save function together with the path. Is the feature available?

If you're looking for a temporary work around, what i do is overlaying this component on top of an image and using backgroundColor: "transparent" and would snap a image by using react-native-view-shot

as you see the tesla car is an image overlay with the sketch on top

hello @TwanLuttik, I tried your solution but it didn't work, could you please explain a little or could you give a code snippet?
thank you

To give you a little run down, you need to put everything into the <ViewShot/> component and you basically have the <SketchCanvas /> hovering over the image with position absolute and a transparent background. and the viewshot will capture what you see in that view.
const test = () => {
  return <View>
    <ViewShot
      ref={ViewShotRef}
      options={{
        format: "png",
        quality: 1,
      }}
    >
      <FastImage
        source={Image.resolveAssetSource(teslaImageAsset)}
        style={{
          height: (9 / 16) * imageWidth,
          width: imageWidth
        }}
      />
      <SketchCanvas
        ref={canvasRef}
        containerStyle={{
          position: "absolute",
          flex: 1,
          backgroundColor: "transparent",
          height: (9 / 16) * imageWidth,
          width: imageWidth,
        }}
      />
    </ViewShot>
  </View>
}

Technically you don't need viewshot, there are tricks to merge 2 images images together but this is a easy way to do as i found out.

thank you @TwanLuttik, I am able to solve it, this is my code
<ImageZoom cropWidth={Dimensions.get('window').width}                         cropHeight={Dimensions.get('window').height / 1.2}                         imageWidth={Dimensions.get('window').width}                         imageHeight={Dimensions.get('window').width / 1.6}                         panToMove={false}>                         <View style={Styles.imageContainer}>                           <View style={Styles.backgroundContainer}>                             <FastImage                               source={{                                 uri: ${showImage.path},                                 priority: FastImage.priority.high,                                 cache: FastImage.cacheControl.immutable,                               }}                               resizeMode={FastImage.resizeMode.contain}                               style={Styles.backdrop}                             />                           </View>                           <View style={Styles.overlay}>                             <View                               style={{                                 width: Dimensions.get('window').width,                                 height: Dimensions.get('window').width / 1.6,                                 backgroundColor: 'transparent',                                 borderRadius: 10,                               }}                             >                               <SketchCanvas                                 strokeColor={snap.strokeColor}                                 strokeWidth={snap.strokeWidth}                                 ref={canvasRef}                                 containerStyle={styles.container}                               />                             </View>                           </View>                         </View>                       </ImageZoom>

I am getting a few issues while using ImageZoom Library when wrapping everything around it I am not able to create any line, just a temporary dot is rendering. If you could give me any hint on how could I achieve it, that would be very helpful.
thank you.

thank you, I am able to zoom and edit just by using a simple gesture handler (onGestureEvent) and Animated View.

please update to v3 and use topChildren/bottomChildren props:
export default function App() {
  return (
    <SafeAreaView>
      <SketchCanvas
        bottomChildren={
          <Path
            path="M 128 0 L 168 80 L 256 93 L 192 155 L 207 244 L 128 202 L 49 244 L 64 155 L 0 93 L 88 80 L 128 0 Z"
            color="lightblue"
          />
        }
      />
    </SafeAreaView>
  );
}


[212] Broken Link in Documentation

Title:
Broken Link in Documentation
Description:
Broken link:
https://docs.near.org/develop/integrate/frontend
Location: https://www.npmjs.com/package/near-api-js
in the section:
"To quickly get started with integrating NEAR in a web browser, read our Web Frontend integration article."
Summary:
Customer reported broken link in NEAR documentation for web frontend integration. Priority: MEDIUM
Info
Reported by: Guest<EMAIL_ADDRESS>- Open in Gleap
Location: US
Type: 🚨 BUG
🔗 Open share link
🌍 Open ticket in Gleap
Metadata
browserName: Chrome(<IP_ADDRESS>)
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
browser: Chrome
systemName: MacOS
sessionDuration: 88
devicePixelRatio: 1
screenWidth: 2560
screenHeight: 1080
innerWidth: 2210
innerHeight: 827
currentUrl: https://docs.near.org/develop/integrate/frontend
language: en-US
sdkVersion: 10.1.0
sdkType: javascript
environment: prod

Internal note 📝: Customer reported broken link in NEAR documentation for web frontend integration. Priority: MEDIUM

fixed


Docs Changes Needed from dbt-core PR #8527

At a minimum, update body to include a link to the page on docs.getdbt.com requiring updates and what part(s) of the page you would like to see updated.

duplicate of #4014


Remove version field from the Schema struct

What type of enhancement is this?
Refactor
What does the enhancement do?
Discussed in https://github.com/GreptimeTeam/greptimedb/discussions/349

Originally posted by evenyag October 25, 2022
Now we have RegionSchema and TableInfo that could hold the version field, so we might be able to remove the version field from the Schema struct. Since some schemas might not have version info.
Implementation challenges
We need to refactor all tests that call the SchemaBuilder::version API.

Hi @evenyag @killme2008
Is this issue still relevant and worth taking a look?

@etolbakov I'm afraid that this is too complicated as some tests rely on that field. I have removed the good first issue label.

That makes sense, thanks for the clarifications!

It looks  unnecessary.


add paper QANet

https://github.com/BUPT/awesome-chatbot/issues/6

Great, glad to see you had fixed all the issues!
BTW: there's not necessary to close the old PR, you can update a PR by just keep pushing commits to your branch, and it will be a good practice to keep all information traceable, instead of close then recreate a new one.


[Docs] Update CLI options + small website fix

Summary
My co-workers and I were working through a v4 to v5 regression in our application and noticed that there were multiple sources of truth for the docs, so it took us a little while to get on the same page with one another since we were looking at different pages 🙂
This PR updates the following places to include all up-to-date features:

The CLI options
The CLI Github README
The CLI options docs page on the website (very small fix)

Test plan
No issues with yarn run dev arose, no lint issues from yarn lint, and no test issues with yarn test.

Thanks!


Improve TypeInfo test to also test the model type info construction

A set of TypeInfo improvements, mostly missing tests and the TypeInfo based on java.lang.reflect was missing some handling.

please someone review @purplefox @cescoffier @pmlopes , thanks

2 very small comments. Everything else is fine.


different neighbors numbers for cells with clisi_knn

Report
i am running scib_metrics benchmark with the tutorial(Benchmarking lung integration from ), i have use run 4 methods  and save the embedding in obsm as the tutorial told. However, when i was using bm=Benchmarker(adata) and run bm.benchmark(), it raise the error from clisi_knn method that "ValueError: Each cell must have the same number of neighbors.".
The detail error message is

File ~/.conda/envs/ju/lib/python3.9/site-packages/scib_metrics/benchmark/_core.py:226, in Benchmarker.benchmark(self)
223 if isinstance(use_metric_or_kwargs, dict):
224     # Kwargs in this case
225     metric_fn = partial(metric_fn, **use_metric_or_kwargs)
--> 226 metric_value = getattr(MetricAnnDataAPI, metric_name)(ad, metric_fn)
227 # nmi/ari metrics return a dict
228 if isinstance(metric_value, dict):

File ~/.conda/envs/ju/lib/python3.9/site-packages/scib_metrics/benchmark/_core.py:88, in MetricAnnDataAPI.(ad, fn)
86 nmi_ari_cluster_labels_kmeans = lambda ad, fn: fn(ad.X, ad.obs[_LABELS])
87 silhouette_label = lambda ad, fn: fn(ad.X, ad.obs[_LABELS])
---> 88 clisi_knn = lambda ad, fn: fn(ad.obsp["90_distances"], ad.obs[_LABELS])
89 graph_connectivity = lambda ad, fn: fn(ad.obsp["15_distances"], ad.obs[_LABELS])
90 silhouette_batch = lambda ad, fn: fn(ad.X, ad.obs[_LABELS], ad.obs[_BATCH])
File ~/.conda/envs/ju/lib/python3.9/site-packages/scib_metrics/_lisi.py:98, in clisi_knn(X, labels, perplexity, scale)
74 """Compute the cell-type local inverse simpson index (cLISI) for each cell :cite:p:korsunsky2019harmony.
75
76 Returns a scaled version of the cLISI score for each cell, by default :cite:p:luecken2022benchmarking.
(...)
95     Array of shape (n_cells,) with the cLISI score for each cell.
96 """
97 labels = np.asarray(pd.Categorical(labels).codes)
---> 98 lisi = lisi_knn(X, labels, perplexity=perplexity)
99 clisi = np.nanmedian(lisi)
100 if scale:
File ~/.conda/envs/ju/lib/python3.9/site-packages/scib_metrics/_lisi.py:29, in lisi_knn(X, labels, perplexity)
9 """Compute the local inverse simpson index (LISI) for each cell :cite:p:korsunsky2019harmony.
10
11 Parameters
(...)
26     Array of shape (n_cells,) with the LISI score for each cell.
27 """
28 labels = np.asarray(pd.Categorical(labels).codes)
---> 29 knn_dists, knn_idx = convert_knn_graph_to_idx(X)
31 if perplexity is None:
32     perplexity = np.floor(knn_idx.shape[1] / 3)
File ~/.conda/envs/ju/lib/python3.9/site-packages/scib_metrics/utils/_utils.py:60, in convert_knn_graph_to_idx(X)
58 print(np.unique(n_neighbors))
59 if len(np.unique(n_neighbors)) > 1:
---> 60     raise ValueError("Each cell must have the same number of neighbors.")
62 n_neighbors = int(np.unique(n_neighbors)[0])
63 with warnings.catch_warnings():
ValueError: Each cell must have the same number of neighbors.
Version information
No response

Hi, thank you for reporting this issue. I saw this usually happening when one used a subset of the populations without recomputing or extending the neighborhood graph. I hope that helps.

I also ran into this issue in a case where some cells have additional neighbors (other than themselves) with distance 0. Adding a tiny value to the distances of those neighbors as follows resolved the issue:
`neigh_output = pynndescent(
adata.obsm[latent_key],
n_neighbors=n_neighbors,
random_state=random_state,
n_jobs=n_jobs)
indices, distances = neigh_output.indices, neigh_output.distances
row_idx = np.where(distances == 0)[0]
col_idx = np.where(distances == 0)[1]
new_row_idx = row_idx[np.where(row_idx != indices[row_idx, col_idx])[0]]
new_col_idx = col_idx[np.where(row_idx != indices[row_idx, col_idx])[0]]
distances[new_row_idx, new_col_idx] = (distances[new_row_idx, new_col_idx] +
np.nextafter(0, 1, dtype=np.float32))
sp_distances, sp_conns = sc.neighbors._compute_connectivities_umap(
indices[:, :n_neighbors],
distances[:, :n_neighbors],
adata.n_obs,
n_neighbors=n_neighbors)`

I also ran into this issue in a case where some cells have additional neighbors (other than themselves) with distance 0. Adding a tiny value to the distances of those neighbors as follows resolved the issue:
neigh_output = pynndescent(
    adata.obsm[latent_key],
    n_neighbors=n_neighbors,
    random_state=random_state,
    n_jobs=n_jobs)
indices, distances = neigh_output.indices, neigh_output.distances

row_idx = np.where(distances == 0)[0]
col_idx = np.where(distances == 0)[1]
new_row_idx = row_idx[np.where(row_idx != indices[row_idx, col_idx])[0]]
new_col_idx = col_idx[np.where(row_idx != indices[row_idx, col_idx])[0]]
distances[new_row_idx, new_col_idx] = (distances[new_row_idx, new_col_idx] +
                                       np.nextafter(0, 1, dtype=np.float32))

sp_distances, sp_conns = sc.neighbors._compute_connectivities_umap(
        indices[:, :n_neighbors],
        distances[:, :n_neighbors],
        adata.n_obs,
        n_neighbors=n_neighbors)

May I ask you to clarify what did you and in which part of the pipeline you added that?


[BUG] Security vulnerability in UpdateInteraction and memory

I'm gonna use interaction and conversation in place of the newer message and memory bc that's still how I think about it
What is the bug?
I believe a bunch of memory APIs are currently insecure (I haven't tested them but I know the code pretty well)

GetInteraction: recently the conversation_id arg to this API was removed, I guess because it made the API ugly or something. This argument was used to check whether the person asking to see a particular interaction has access to it, since conversation ownership info is stored in the top level conversation object. Thus if Bob leaks an interaction id in a secured conversation, everyone can now see that interaction, regardless of whether they have access to the conversation.
GetTraces: this was never designed with security in mind, as far as I can tell. Anyone is allowed to call this provided they have an interaction id.
UpdateInteraction: this bypasses the memory layer entirely, allowing anyone to update any interaction. You can invent or delete a lot of data like that.
UpdateConversation: this is the most egregious. Like UpdateInteraction, this API bypasses the memory layer and performs no security checks. Moreover, I think it can be used to 'update' the owner field of the conversation object - which allows a trivial attack of granting yourself access to a conversation (or taking it away from someone else).

How can one reproduce the bug?
See the descriptions. Run opensearch with security enabled and all of this should be obvious.
What is the expected behavior?
All of these APIs should be locked down. I can only read from or update interactions in conversations that I own.
Do you have any additional context?
The pentesters are gonna have a field day with this.

This issue will be fixed together with the Pen test results. It's worth a discussion with the security engineer to check if we need to add user based permission check for both conversation and interaction.

Permission checks for these APIs are merged in.


Revisit the relationship between events and roles

Compare to PROV

Also ensure that we aren't replicating the 19115 ResponsibleParty/Role coupling problem.

It may be that the issue is not so onerous in the RDF environment. But I have a queasy feeling about adding properties to an agent which look more like they are properties of an event involving the agent.

As I mentioned in the call, I prefer the PROV event-oriented model to associate agents with datasets.
prov:AgentInfluence seems to have the right shape, with the following property-chains from prov:Activity capturing the key information:
( prov:qualifiedInfluence prov:agent )
( prov:qualifiedInfluence prov:hadRole )
So each publication event could be modeled as a prov:Activity, with an associated prov:AgentInfluence node (possibly a blank-node).
The set of Agents is relatively static (the 1100 Australian Government organizations) and the set of Roles would be smaller (a few dozen) and even more stable, so each would be served from central registers.
Note, however, that prov:gualifiedInfluence also has prov:Entity in its domain, so the same pattern can capture ongoing relationships (e.g. point of contact) as well as the event-based relationships.

I've refactored the ontology in order to test if the PROV structures help.
See new example here: https://github.com/AGLDWG/TR/blob/master/agil_gov2.ttl
New version of ontology here: https://github.com/AGLDWG/TR/blob/master/datasetOntology2.ttl
Supporting lists are here:
https://github.com/AGLDWG/TR/blob/master/aufreq.ttl
https://github.com/AGLDWG/TR/blob/master/auloc.ttl
https://github.com/AGLDWG/TR/blob/master/auorg.ttl
https://github.com/AGLDWG/TR/blob/master/auper.ttl
https://github.com/AGLDWG/TR/blob/master/aurole.ttl


Bonus: Add the ability to create a mirror which holds a copy of all mods

May be useful if someone wants to use something like dropbox to sync things

If you do this, find a way to fetch changes from the mirror. There may be a way to do this with robocopy


Common mistake in the paper

On page 4, the authors state that:

"The recovered group consists of individuals who have either died or fully recovered."

This is incorrect as the S.I.R. model referenced is that of a constant population S.I.R. model where the subpopulations S, I and R partition the overall population N, which is kept constant. Hence, R = {fully recovered (only)}.

Where is the mistake exactly? We are assuming deaths and recoveries are both part of R, otherwise population will fall


[Proof of concept] - Set Files as Open dialog

Description
A funny experiment to see if it's possible to replace the shell file open dialog with Files (spoiler: it's possible!)
This is by no means complete, work is necessary on the Files side to adapt the interface for the purpose but it shows what we can achieve.
How to install

Uninstall the Store/Release version of Files if you have it
Deploy this PR as normal
Run the Installer.exe found in Files\Files.OpenDialog\Installer\bin\Debug

How to use

Trigger the open dialog and enjoy your favorite Files manager open
Select a file
Close the app

How to restore default dialog

Run the Installer from the command line with the "/u" option (> Installer.exe /u)

Notes

Does not work for older apps that use a different way to show the files open dialog (e.g Notepad)
The Installer adds a couple of registry keys in HKEY_CURRENT_USER, I don't think it has the capability to blow up your PC but keep in mind the warnings about registry edits ;)

Validation
How did you test these changes?
Tested with: Notepad++, Microsoft edge, Visual Studio, Office.

@gave92 which apps does this work with?

@yaichenbaum at least notepad++, Microsoft edge, visual studio.

@gave92 which apps does this work with?

Added tested apps to the top post.

@gave92 looks like a good start! How do you envision users setting this up?

@gave92 looks like a good start! How do you envision users setting this up?

We can probably offer an option in Files settings to set/unset Files as default explorer and as open file dialog.

The way this is currently implemented, it results in the .NET Framework Runtime being loaded in every process that opens a file browse dialog. While it's not a shell extension directly, the same concerns that MS raises against writing C# shell extensions applies. This will lead to a higher likelyhood of crashes/bugs, and puts the burden of these issues on third party application devs (faulty shell extensions is already why many apps implement their own file browser instead of using the system one).
I would strongly recommend rewriting this portion in C++, as it seems to be mostly trivial anyways (and it would allow you to use the correct way to register COM classes, regsvr32, instead of registry files).

Yeah a rewrite in C++ is coming. But I suck at C++ and I wanted to see if this thing was working before getting my hands dirty ;)

allow you to use the correct way to register COM classes, regsvr32

I'd still use the reg file: regsvr32 install the dll in HKEY_LOCAL_MACHINE. I prefer the current that writes stuff to HKCU instead (less risky and you don't need to be administrator).

regsvr32 just calls DllRegisterServer. The DLL can do whatever it wants in that, including registering in HKCU. The default does use HKLM, but you can change it.

regsvr32 just calls DllRegisterServer. The DLL can do whatever it wants in that, including registering in HKCU. The default does use HKLM, but you can change it.

That's good, thanks!

Would this work with the 'Save As' Dialog?

Would this work with the 'Save As' Dialog?

I found no instances of IFileSaveDialog so I presume the answer is no

Would this work with the 'Save As' Dialog?

Can be done for Save Dialog too, but currently not implemented

Converting to draft till the porting to C++ is done.

Converted dll to C++ 💪. Curious if someone had the guts to test this xD

looks okay to me. The files use italian comments but that's because of VS.
Can also get rid of the two reg files and call regsvr32.exe /n /i:user thing.dll (add /u to uninstall)

Added ability to set Files as default file manager and optionally as file open dialog from Files Experimental settings.
The option to use Files as open file dialog should be hidden before merging the PR as it's really early stage.

Just tested it, works great in apps like Edge. It seems to be causing uwp apps like your phone or quick pad to crash or just not do anything when attempting to invoke the file picker.

@winston-de for UWP apps it fails miserably with an InvalidCastExpeption. The custom dialog constructor gets called but that's it, no clue, sigh,

Check the calls to QueryInterface, you're probably missing an interface.

Thanks @sylveon it looks like I'm missing the following:
QueryInterface: {FC4801A3-2BA9-11CF-A229-00AA003D7352} = IObjectWithSite
QueryInterface: {79EAC9EE-BAF9-11CE-8C82-00AA004BA90B} = IInternetSecurityManager

@winston-de thanks to @sylveon pointers and @Cthulhu intervention it looks like UWP apps now work correctly, could you confirm?

Works now :)
One other issue, if you try and open more then one dialog at a time (click open in two different apps), this error will be shown (if you click ignore it crashes).

@winston-de thanks should be just because of the debug logs to the same file. Disabled logging now & hidden the "Set as open file dialog" UI option.

@gave92 is the option to set Files as the open file dialog supposed to be hidden?

Yeah I would enable it once some work has been done to adapt Files UI for the purpose.

Yeah I would enable it once some work has been done to adapt Files UI for the purpose.

Should double clicking a file be disabled when Files is acting as the open file dialog?

@yaichenbaum many thing should change when Files is used as open file dialog (no tabs? an ok button? support for file types filters?), this is "just" ground work.

Can you resolve the merge conflicts please?

Also side note, maybe we should add a link to app execution alias settings, in case the files.exe execution alias has been disabled (which would break the default explorer setting).

Also side note, maybe we should add a link to app execution alias settings, in case the files.exe execution alias has been disabled (which would break the default explorer setting).

Once the user toggles this switch, should we adjust the execution alias in the event is was disabled?

Merged main.

Yes Please! this would be the best option so far and from there make it more robust, also, please integrate some of Listary features for the Open/Save Dialog... also make it easy to switch to Windows Explorer just in case something isn't working properly in some scenarios (on fly without the need to change the default explorer)

Hi, I've enabled "Set files as default explorer", but now I can't disable it. I've tried uninstalling the app, but then I can't even use the Windows file explorer.
I'm on version Versión: <IP_ADDRESS>, OS Version: 10.0.19043.1288.
I'd appreciate some help! Thanks!

@vivadavid Hi, follow the steps here to unset it: https://files.community/docs/configuring/replace-file-explorer
You need to use the UnsetFilesAsDefault.reg file.

Thank you, @BanCrash ! I tried to do it manually, but I must have done something wrong. However running the reg file did the trick and things are back to normal.


e2e: update PodVM with Authenticated Registry cases

add ImagePullSecret to default ServiceAccount
make these two test cases can be reused by other cloud providers
support given Authenticated Registry

Fixes https://github.com/confidential-containers/cloud-api-adaptor/issues/1680

Run e2e-test for ibmcloud base on this PR inside IBM firewall https://sys-zaas-k8s-jenkins.swg-devops.com/view/test/job/cloud-api-adaptor-e2e-tests-opensource-liudali-pr/9/console
...
17:10:11  === RUN   TestCreatePeerPodWithAuthenticatedImagewithValidCredentials/ValidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_with_Valid_Credentials(Default_service_account)_has_been_created
17:10:37      assessment_runner.go:364: PodVM has successfully reached Completed state with authenticated Image - quay.io/kata-containers/confidential-containers-auth:test
17:10:37  time="2024-01-29T09:10:37Z" level=info msg="Deleting pod authenticated-image-valid-1987047628-pod..."
17:10:42  time="2024-01-29T09:10:42Z" level=info msg="Pod authenticated-image-valid-1987047628-pod has been successfully deleted within 60s"
17:10:42  --- PASS: TestCreatePeerPodWithAuthenticatedImagewithValidCredentials (37.58s)
17:10:42      --- PASS: TestCreatePeerPodWithAuthenticatedImagewithValidCredentials/ValidAuthImagePeerPod_test (37.58s)
17:10:42          --- PASS: TestCreatePeerPodWithAuthenticatedImagewithValidCredentials/ValidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_with_Valid_Credentials(Default_service_account)_has_been_created (26.86s)
17:10:42  === RUN   TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials
17:10:42  === RUN   TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials/InvalidAuthImagePeerPod_test
17:10:48  === RUN   TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials/InvalidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_with_Invalid_Credentials_has_been_created
17:11:09      assessment_runner.go:364: PodVM has successfully reached ImagePullBackOff state with authenticated Image - quay.io/kata-containers/confidential-containers-auth:test
17:11:09  time="2024-01-29T09:11:09Z" level=info msg="Deleting Secret... auth-json-secret-invalid"
17:11:09  time="2024-01-29T09:11:09Z" level=info msg="Deleting pod authenticated-image-invalid-3566310658-pod..."
17:11:15  time="2024-01-29T09:11:14Z" level=info msg="Pod authenticated-image-invalid-3566310658-pod has been successfully deleted within 60s"
17:11:15  --- PASS: TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials (32.37s)
17:11:15      --- PASS: TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials/InvalidAuthImagePeerPod_test (32.37s)
17:11:15          --- PASS: TestCreatePeerPodWithAuthenticatedImageWithInvalidCredentials/InvalidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_with_Invalid_Credentials_has_been_created (21.45s)
17:11:15  === RUN   TestCreatePeerPodWithAuthenticatedImageWithoutCredentials
17:11:15  === RUN   TestCreatePeerPodWithAuthenticatedImageWithoutCredentials/InvalidAuthImagePeerPod_test
17:11:15  time="2024-01-29T09:11:15Z" level=info msg="Deleting pre-existing auth-json-secret-default..."
17:11:15  time="2024-01-29T09:11:15Z" level=info msg="Creating empty auth-json-secret-default..."
17:11:20  === RUN   TestCreatePeerPodWithAuthenticatedImageWithoutCredentials/InvalidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_without_Credentials_has_been_created
17:11:42      assessment_runner.go:364: PodVM has successfully reached WithoutCredentials state with authenticated Image - quay.io/kata-containers/confidential-containers-auth:test
17:11:42  time="2024-01-29T09:11:41Z" level=info msg="Deleting pod authenticated-image-without-creds-1386229202-pod..."
17:11:47  time="2024-01-29T09:11:47Z" level=info msg="Pod authenticated-image-without-creds-1386229202-pod has been successfully deleted within 60s"
17:11:47  --- PASS: TestCreatePeerPodWithAuthenticatedImageWithoutCredentials (32.39s)
17:11:47      --- PASS: TestCreatePeerPodWithAuthenticatedImageWithoutCredentials/InvalidAuthImagePeerPod_test (32.39s)
17:11:47          --- PASS: TestCreatePeerPodWithAuthenticatedImageWithoutCredentials/InvalidAuthImagePeerPod_test/Peer_pod_with_Authenticated_Image_without_Credentials_has_been_created (21.36s)
17:11:47  === RUN   TestDeletePod
17:11:47  === RUN   TestDeletePod/DeletePod_test
17:12:19      assessment_runner.go:259: Waiting for containers in pod: deletion-test are ready
17:12:23  === RUN   TestDeletePod/DeletePod_test/Deletion_complete
17:12:23  time="2024-01-29T09:12:22Z" level=info msg="PodVM name: deletion-test"
17:12:24  time="2024-01-29T09:12:24Z" level=info msg="Deleting pod deletion-test..."
17:12:29  time="2024-01-29T09:12:29Z" level=info msg="Pod deletion-test has been successfully deleted within 60s"
17:12:29  --- PASS: TestDeletePod (42.13s)
17:12:29      --- PASS: TestDeletePod/DeletePod_test (42.13s)
17:12:29          --- PASS: TestDeletePod/DeletePod_test/Deletion_complete (1.30s)
17:12:29  === RUN   TestPodVMwithNoAnnotations
17:12:29  === RUN   TestPodVMwithNoAnnotations/PodVMWithNoAnnotations_test
17:13:08      assessment_runner.go:259: Waiting for containers in pod: no-annotations are ready
17:13:09  === RUN   TestPodVMwithNoAnnotations/PodVMWithNoAnnotations_test/PodVM_with_No_Annotation_is_created
17:13:10  time="2024-01-29T09:13:10Z" level=info msg="PodVM Created with bx2-2x8 Instance type successfully..."
17:13:10  time="2024-01-29T09:13:10Z" level=info msg="PodVM name: no-annotations"
17:13:12  time="2024-01-29T09:13:11Z" level=info msg="Deleting pod no-annotations..."
17:13:17  time="2024-01-29T09:13:17Z" level=info msg="Pod no-annotations has been successfully deleted within 60s"
17:13:17  --- PASS: TestPodVMwithNoAnnotations (47.83s)
17:13:17      --- PASS: TestPodVMwithNoAnnotations/PodVMWithNoAnnotations_test (47.83s)
17:13:17          --- PASS: TestPodVMwithNoAnnotations/PodVMWithNoAnnotations_test/PodVM_with_No_Annotation_is_created (1.98s)
17:13:17  === RUN   TestPodVMwithAnnotationsInstanceType
17:13:17  === RUN   TestPodVMwithAnnotationsInstanceType/PodVMwithAnnotationsInstanceType_test
17:13:49      assessment_runner.go:259: Waiting for containers in pod: annotations-instance-type are ready
17:13:52  === RUN   TestPodVMwithAnnotationsInstanceType/PodVMwithAnnotationsInstanceType_test/PodVM_with_Annotation_is_created
17:13:53  time="2024-01-29T09:13:53Z" level=info msg="PodVM Created with cx2-2x4 Instance type successfully..."
17:13:53  time="2024-01-29T09:13:53Z" level=info msg="PodVM name: annotations-instance-type"
17:13:54  time="2024-01-29T09:13:54Z" level=info msg="Deleting pod annotations-instance-type..."
17:13:59  time="2024-01-29T09:13:59Z" level=info msg="Pod annotations-instance-type has been successfully deleted within 60s"
17:13:59  --- PASS: TestPodVMwithAnnotationsInstanceType (42.11s)
17:13:59      --- PASS: TestPodVMwithAnnotationsInstanceType/PodVMwithAnnotationsInstanceType_test (42.11s)
17:13:59          --- PASS: TestPodVMwithAnnotationsInstanceType/PodVMwithAnnotationsInstanceType_test/PodVM_with_Annotation_is_created (1.27s)
17:13:59  === RUN   TestPodVMwithAnnotationsCPUMemory
17:13:59  === RUN   TestPodVMwithAnnotationsCPUMemory/PodVMwithAnnotationsCPUMemory_test
17:14:31      assessment_runner.go:259: Waiting for containers in pod: annotations-cpu-mem are ready
17:14:34  === RUN   TestPodVMwithAnnotationsCPUMemory/PodVMwithAnnotationsCPUMemory_test/PodVM_with_Annotations_CPU_Memory_is_created
17:14:35  time="2024-01-29T09:14:35Z" level=info msg="PodVM Created with mx2-2x16 Instance type successfully..."
17:14:35  time="2024-01-29T09:14:35Z" level=info msg="PodVM name: annotations-cpu-mem"
17:14:36  time="2024-01-29T09:14:36Z" level=info msg="Deleting pod annotations-cpu-mem..."
17:14:41  time="2024-01-29T09:14:41Z" level=info msg="Pod annotations-cpu-mem has been successfully deleted within 60s"
17:14:41  --- PASS: TestPodVMwithAnnotationsCPUMemory (42.12s)
17:14:41      --- PASS: TestPodVMwithAnnotationsCPUMemory/PodVMwithAnnotationsCPUMemory_test (42.12s)
17:14:41          --- PASS: TestPodVMwithAnnotationsCPUMemory/PodVMwithAnnotationsCPUMemory_test/PodVM_with_Annotations_CPU_Memory_is_created (1.30s)
17:14:41  === RUN   TestPodVMwithAnnotationsInvalidInstanceType
17:14:41  === RUN   TestPodVMwithAnnotationsInvalidInstanceType/PodVMwithAnnotationsInvalidInstanceType_test
17:14:47  === RUN   TestPodVMwithAnnotationsInvalidInstanceType/PodVMwithAnnotationsInvalidInstanceType_test/Failed_to_Create_PodVM_with_Annotations_Invalid_InstanceType
17:14:47  time="2024-01-29T09:14:47Z" level=info msg="Got Expected Error: Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: failed to create shim task: remote hypervisor call failed: rpc error: code = Unknown desc = creating an instance : failed to verify instance type: requested instance type (\"bx2-2x4\") is not part of supported instance types list: unknown"
17:14:47  time="2024-01-29T09:14:47Z" level=info msg="Deleting pod annotations-invalid-instance-type..."
17:14:52  time="2024-01-29T09:14:52Z" level=info msg="Pod annotations-invalid-instance-type has been successfully deleted within 60s"
17:14:52  --- PASS: TestPodVMwithAnnotationsInvalidInstanceType (11.31s)
17:14:52      --- PASS: TestPodVMwithAnnotationsInvalidInstanceType/PodVMwithAnnotationsInvalidInstanceType_test (11.31s)
17:14:52          --- PASS: TestPodVMwithAnnotationsInvalidInstanceType/PodVMwithAnnotationsInvalidInstanceType_test/Failed_to_Create_PodVM_with_Annotations_Invalid_InstanceType (0.59s)
17:14:52  === RUN   TestPodVMwithAnnotationsLargerMemory
17:14:52  === RUN   TestPodVMwithAnnotationsLargerMemory/PodVMwithAnnotationsLargerMemory_test
17:14:58  === RUN   TestPodVMwithAnnotationsLargerMemory/PodVMwithAnnotationsLargerMemory_test/Failed_to_Create_PodVM_with_Annotations_Larger_Memory
17:14:59  time="2024-01-29T09:14:59Z" level=info msg="Got Expected Error: Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: failed to create shim task: remote hypervisor call failed: rpc error: code = Unknown desc = creating an instance : failed to get instance type based on vCPU and memory annotations: no instance type found for the given vcpus (2) and memory (18432): unknown"
17:14:59  time="2024-01-29T09:14:59Z" level=info msg="Deleting pod annotations-too-big-mem..."
17:15:04  time="2024-01-29T09:15:04Z" level=info msg="Pod annotations-too-big-mem has been successfully deleted within 60s"
17:15:04  --- PASS: TestPodVMwithAnnotationsLargerMemory (11.75s)
17:15:04      --- PASS: TestPodVMwithAnnotationsLargerMemory/PodVMwithAnnotationsLargerMemory_test (11.75s)
17:15:04          --- PASS: TestPodVMwithAnnotationsLargerMemory/PodVMwithAnnotationsLargerMemory_test/Failed_to_Create_PodVM_with_Annotations_Larger_Memory (1.03s)
17:15:04  === RUN   TestPodVMwithAnnotationsLargerCPU
17:15:04  === RUN   TestPodVMwithAnnotationsLargerCPU/PodVMwithAnnotationsLargerCPU_test
17:15:10  === RUN   TestPodVMwithAnnotationsLargerCPU/PodVMwithAnnotationsLargerCPU_test/Failed_to_Create_PodVM_with_Annotations_Larger_CPU
17:15:10  time="2024-01-29T09:15:10Z" level=info msg="Got Expected Error: Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: failed to create shim task: Number of cpus 3 specified in annotation default_vcpus is greater than the number of CPUs 2 on the system: unknown"
17:15:10  time="2024-01-29T09:15:10Z" level=info msg="Deleting pod annotations-too-big-cpu..."
17:15:16  time="2024-01-29T09:15:15Z" level=info msg="Pod annotations-too-big-cpu has been successfully deleted within 60s"
17:15:16  --- PASS: TestPodVMwithAnnotationsLargerCPU (11.38s)
17:15:16      --- PASS: TestPodVMwithAnnotationsLargerCPU/PodVMwithAnnotationsLargerCPU_test (11.38s)
17:15:16          --- PASS: TestPodVMwithAnnotationsLargerCPU/PodVMwithAnnotationsLargerCPU_test/Failed_to_Create_PodVM_with_Annotations_Larger_CPU (0.66s)
17:15:16  === RUN   TestIBMCreateNginxDeployment
17:15:16  === RUN   TestIBMCreateNginxDeployment/Nginx_image_deployment_test
17:15:16  time="2024-01-29T09:15:15Z" level=info msg="Creating nginx deployment..."
17:15:21  time="2024-01-29T09:15:20Z" level=info msg="Current deployment available replicas: 0"
17:15:26  time="2024-01-29T09:15:25Z" level=info msg="Current deployment available replicas: 0"
17:15:31  time="2024-01-29T09:15:30Z" level=info msg="Current deployment available replicas: 0"
17:15:36  time="2024-01-29T09:15:35Z" level=info msg="Current deployment available replicas: 0"
17:15:41  time="2024-01-29T09:15:40Z" level=info msg="Current deployment available replicas: 0"
17:15:46  time="2024-01-29T09:15:45Z" level=info msg="Current deployment available replicas: 0"
17:15:51  time="2024-01-29T09:15:50Z" level=info msg="Current deployment available replicas: 0"
17:15:56  time="2024-01-29T09:15:55Z" level=info msg="Current deployment available replicas: 0"
17:16:01  time="2024-01-29T09:16:00Z" level=info msg="Current deployment available replicas: 0"
17:16:06  time="2024-01-29T09:16:05Z" level=info msg="Current deployment available replicas: 2"
17:16:06  time="2024-01-29T09:16:05Z" level=info msg="nginx deployment is available now"
17:16:06  === RUN   TestIBMCreateNginxDeployment/Nginx_image_deployment_test/Access_for_nginx_deployment_test
17:16:06  time="2024-01-29T09:16:06Z" level=info msg="PodVM name: nginx-deployment-869b9df55-2c8vg"
17:16:06  time="2024-01-29T09:16:06Z" level=info msg="PodVM name: nginx-deployment-869b9df55-hhktf"
17:16:07  time="2024-01-29T09:16:07Z" level=info msg="Deleting webserver deployment..."
17:16:07  time="2024-01-29T09:16:07Z" level=info msg="Deleting deployment nginx-deployment..."
17:16:12  time="2024-01-29T09:16:12Z" level=info msg="Deployment nginx-deployment has been successfully deleted within 120s"
17:16:12  --- PASS: TestIBMCreateNginxDeployment (56.57s)
17:16:12      --- PASS: TestIBMCreateNginxDeployment/Nginx_image_deployment_test (56.57s)
17:16:12          --- PASS: TestIBMCreateNginxDeployment/Nginx_image_deployment_test/Access_for_nginx_deployment_test (1.16s)
17:16:12  === RUN   TestPodToServiceCommunication
17:16:12  === RUN   TestPodToServiceCommunication/TestExtraPods_test
17:16:51      assessment_runner.go:259: Waiting for containers in pod: nginx are ready
17:17:09  time="2024-01-29T09:17:08Z" level=info msg="webserver service is available on cluster IP: <IP_ADDRESS>"
17:17:41  Provision extra pod busybox    assessment_helpers.go:434: Waiting for containers in pod: busybox are ready
17:17:43  === RUN   TestPodToServiceCommunication/TestExtraPods_test/Failed_to_test_extra_pod.
17:17:43  time="2024-01-29T09:17:43Z" level=info msg="PodVM name: nginx"
17:17:51  time="2024-01-29T09:17:50Z" level=info msg="Success to access nginx service. <!DOCTYPE html>\n\n\n<title>Welcome to nginx!</title>\n\n\n\n
Welcome to nginx!
\n
If you see this page, the nginx web server is successfully installed and\nworking. Further configuration is required.
\n\n
For online documentation and support please refer to\nnginx.org.
\nCommercial support is available at\nnginx.com.
\n\n
Thank you for using nginx.
\n\n\n"
17:17:51      assessment_runner.go:467: Output when execute test commands:<!DOCTYPE html>
17:17:51
17:17:51
17:17:51          <title>Welcome to nginx!</title>
17:17:51
17:17:51
17:17:51
17:17:51
Welcome to nginx!

17:17:51
If you see this page, the nginx web server is successfully installed and
17:17:51          working. Further configuration is required.

17:17:51
17:17:51
For online documentation and support please refer to
17:17:51          nginx.org.

17:17:51          Commercial support is available at
17:17:51          nginx.com.

17:17:51
17:17:51
Thank you for using nginx.

17:17:51
17:17:51
17:17:51  time="2024-01-29T09:17:50Z" level=info msg="PodVM name: busybox"
17:17:51  time="2024-01-29T09:17:51Z" level=info msg="Deleting pod nginx..."
17:17:56  time="2024-01-29T09:17:56Z" level=info msg="Pod nginx has been successfully deleted within 60s"
17:17:56  time="2024-01-29T09:17:56Z" level=info msg="Deleting pod busybox..."
17:18:02  time="2024-01-29T09:18:01Z" level=info msg="Pod busybox has been successfully deleted within 60s"
17:18:02  time="2024-01-29T09:18:01Z" level=info msg="Deleting Service... nginx"
17:18:02  --- PASS: TestPodToServiceCommunication (109.22s)
17:18:02      --- PASS: TestPodToServiceCommunication/TestExtraPods_test (109.22s)
17:18:02          --- PASS: TestPodToServiceCommunication/TestExtraPods_test/Failed_to_test_extra_pod. (7.55s)
17:18:02  === RUN   TestPodsMTLSCommunication
17:18:02  === RUN   TestPodsMTLSCommunication/TestPodsMTLSCommunication_test
17:18:34      assessment_runner.go:259: Waiting for containers in pod: nginx are ready
17:18:44  time="2024-01-29T09:18:42Z" level=info msg="webserver service is available on cluster IP: <IP_ADDRESS>"
17:19:16  Provision extra pod curl    assessment_helpers.go:434: Waiting for containers in pod: curl are ready
17:19:18  === RUN   TestPodsMTLSCommunication/TestPodsMTLSCommunication_test/Pods_communication_with_mTLS
17:19:18  time="2024-01-29T09:19:17Z" level=info msg="PodVM name: nginx"
17:19:24  time="2024-01-29T09:19:24Z" level=info msg="Success to access nginx service. <!DOCTYPE html>\n\n\n<title>Welcome to nginx!</title>\n\n\n\n
Welcome to nginx!
\n
If you see this page, the nginx web server is successfully installed and\nworking. Further configuration is required.
\n\n
For online documentation and support please refer to\nnginx.org.
\nCommercial support is available at\nnginx.com.
\n\n
Thank you for using nginx.
\n\n\n"
17:19:24      assessment_runner.go:467: Output when execute test commands:<!DOCTYPE html>
17:19:24
17:19:24
17:19:24          <title>Welcome to nginx!</title>
17:19:24
17:19:24
17:19:24
17:19:24
Welcome to nginx!

17:19:24
If you see this page, the nginx web server is successfully installed and
17:19:24          working. Further configuration is required.

17:19:24
17:19:24
For online documentation and support please refer to
17:19:24          nginx.org.

17:19:24          Commercial support is available at
17:19:24          nginx.com.

17:19:24
17:19:24
Thank you for using nginx.

17:19:24
17:19:24
17:19:24  time="2024-01-29T09:19:24Z" level=info msg="PodVM name: curl"
17:19:25  time="2024-01-29T09:19:25Z" level=info msg="Deleting Configmap... nginx-conf"
17:19:25  time="2024-01-29T09:19:25Z" level=info msg="Deleting Secret... server-certs"
17:19:25  time="2024-01-29T09:19:25Z" level=info msg="Deleting extra Secret... curl-certs"
17:19:25  time="2024-01-29T09:19:25Z" level=info msg="Deleting pod nginx..."
17:19:31  time="2024-01-29T09:19:30Z" level=info msg="Pod nginx has been successfully deleted within 60s"
17:19:31  time="2024-01-29T09:19:31Z" level=info msg="Deleting pod curl..."
17:19:36  time="2024-01-29T09:19:36Z" level=info msg="Pod curl has been successfully deleted within 60s"
17:19:36  time="2024-01-29T09:19:36Z" level=info msg="Deleting Service... nginx"
17:19:36  --- PASS: TestPodsMTLSCommunication (94.76s)
17:19:36      --- PASS: TestPodsMTLSCommunication/TestPodsMTLSCommunication_test (94.76s)
17:19:36          --- PASS: TestPodsMTLSCommunication/TestPodsMTLSCommunication_test/Pods_communication_with_mTLS (7.45s)
17:19:36  PASS
17:19:36  ok  	github.com/confidential-containers/cloud-api-adaptor/test/e2e	1518.303s
17:19:36  e2e test finished.
...

The e2e-test for libvirt provider is passed too: https://github.com/confidential-containers/cloud-api-adaptor/actions/runs/7693729044/job/20967188593?pr=1681


Bug: fix dark mode flashing white on reload

https://dev.to/ayc0/light-dark-mode-avoid-flickering-on-reload-1567

^ this is about how to fix with vanilla html and css. see if we can figure out how to implement this in react

https://dev.to/tusharshahi/react-nextjs-dark-mode-theme-switcher-how-i-fixed-my-flicker-problem-5b54#flickerProblem

^ this looks like its probably what we need to do

Ok sounds good will look into it.


[language/tools] Add a bytecode-to-source explorer for Move

This PR adds the initial implementation of a bytecode-to-source explorer for Move. See the attached screen recording for what this looks like.
https://user-images.githubusercontent.com/2895723/106988813-7b004c00-6725-11eb-9642-2942f44cb66e.mov
The implementation has been divided up into a number of chunks, and interfaced so that other tools and representations could be used with this, e.g., if we wanted to add an explorer for the stackless bytecode. You can see this in the interfaces created for the bytecode explorer.
The logic for the TUI has also been separated out into a number of interfaces, so if we want to extend it, or use it for additional purposes in the future it should be pretty easy to extend/work with.
Future

Right now we parse the disassembled bytecode in order to build up the lookup table of line number to function definition/code offset. To implement this properly we want the disassembler to have a proper object model probably.
Right now we don't handle structs. This needs to be added, but the plan is to do this next.

WHAT WIZARDRY IS THIS

Seriously, this is beyond cool! and I hesitate to even review the code because I just want this in to play with it. But because I really should, I'll give it a once over before approving.
What would be super awesome for a later feature, would be doing this for the various ASTs that the compiler produces. Would save me a bunch of time :P

Seriously, this is beyond cool! and I hesitate to even review the code because I just want this in to play with it. But because I really should, I'll give it a once over before approving.
What would be super awesome for a later feature, would be doing this for the various ASTs that the compiler produces. Would save me a bunch of time :P

Thanks! And yes, I completely agree. I view this as the start, but I designed it with the hope that we can extend it to other representations of the source code (bytecode, AST passes, IR, stackless bytecode, SAT output, etc.). It should hopefully be pretty extensible...and if not we should make it!

/land


ModelIdentifier instead of Laravel Model error in Listener depending on Listeners order for a same event.

Laravel Version: 5.7.16
PHP Version: 7.2.10-0ubuntu<IP_ADDRESS>
Database Driver & Version:

Description:
ModelIdentifier object is passed to Listeners instead of real Laravel Model in some cases depending on order of Listeners for same Event.
Steps To Reproduce:
git clone https://github.com/acacha/ModelIndentifierProblem
cd ModelIndentifierProblem
composer install
php artisan migrate
cp .env.example .env
php artisan key:generate

Config database in .env file and run:
php artisan migrate

Run Laravel Valet or similar and execute route /error:
http://ModelIndentifierProblem1.test/error

Error:
Undefined property: Illuminate\Contracts\Database\ModelIdentifier::$user

Will be throwed
Change listeners order in EventServiceProvider from:
IncidentStored::class => [
            LogIncidentStored::class,
            SendIncidentCreatedEmail::class,
        ],

to:
IncidentStored::class => [
            SendIncidentCreatedEmail::class,
            LogIncidentStored::class,
        ],

And problem dissapears.

I think i've narrowed it down, you're using the sync queue right?
The Event gets passed directly to the Queue and because it is Serializeable it gets serialized as Jobs are also Serializeable, and because objects are mutable by default in php you'll get the serialized event in your next listener.

I might have a fix, but i'm not sure if this problem only exists for this use case.
As in when the job that is being queued has a property that uses the trait Illuminate\Queue\SerializesModels.
I'll create a wip PR soon.

@koenhoeijmakers Hello any news about that issue?

I haven't really figured out how to write proper tests for this, but the issue has passed by in my thoughts a few times which raises the following question.
Should we really apply a fix for this or would the consensus be "Don't queue a job that has a property which uses the trait Illuminate\Queue\SerializesModels"?

In the repo provided by myself the problem is with any Listener after LogIncidentStored. It seems LogIncidentStored listener (https://github.com/acacha/ModelIndentifierProblem/blob/master/app/Listeners/LogIncidentStored.php) is the cause of the error maybe because is an event listener that dispatch another event?

Fixed by updating to PHP 7.4 which uses the new __serialize() and __unserialize() methods on SerializesModels.php which do not mutate the existing properties.

I think I have the same problem with php ^8.0 and Laravel 8.x. Any ideas | solutions?


[Monitor] Update azure_mgmt_monitor to 0.2.1

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[ ] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[ ] Each command and parameter has a meaningful description.
[ ] Each new command has a test.

(see Authoring Command Modules)

Codecov Report

Merging #3065 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3065   +/-   ##
=======================================
  Coverage   63.34%   63.34%
=======================================
  Files         513      513
  Lines       27990    27990
  Branches     4305     4305
=======================================
  Hits        17730    17730
  Misses       9082     9082
  Partials     1178     1178

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update de92b07...cc58586. Read the comment docs.

Thanks for the review!!


reduce allocs in getSlotQueueKey

this somewhat minimally comes up in profiling, but it was an itch i needed to
scratch. this does 10x less allocations and is 3x faster (with 3x less bytes),
and they're the small painful kind of allocation. we're only reading these
strings so the uses of unsafe are fine (I think audit me).  the byte array
we're casting to a string at the end is also heap allocated and does
escape. I only count 2 allocations, but there's 3 (hash.Sum and
make([]string)), using a pool of sha1 hash.Hash shaves 120 byte and an alloc
off so seems worth it (it's minimal). if we set a max size of config vals with
a constant we could avoid that allocation and we could probably find a
checksum package that doesn't use the hash.Hash that would speed things up a
little (no dynamic dispatch, doesn't allocate in Sum) but there's not one I
know of in stdlib.
master:
✗: go test -run=yodawg -bench . -benchmem -benchtime 1s -cpuprofile cpu.out
goos: linux
goarch: amd64
pkg: github.com/fnproject/fn/api/agent
BenchmarkSlotKey          200000              6068 ns/op             696 B/op         31 allocs/op
PASS
ok      github.com/fnproject/fn/api/agent       1.454s

now:
✗: go test -run=yodawg -bench . -benchmem -benchtime 1s -cpuprofile cpu.out
goos: linux
goarch: amd64
pkg: github.com/fnproject/fn/api/agent
BenchmarkSlotKey         1000000              1901 ns/op             168 B/op          3 allocs/op
PASS
ok      github.com/fnproject/fn/api/agent       2.092s

once we have versioned apps/routes we don't need to build a sha or sort
configs so this will get a lot faster.
anyway, mostly funsies here... my life is that sad now.

thanks


[BREAKINGCHANGE] Adjust props on TimeRangeControls to control each action

Adjusts props on TimeRangeControls to allow embed users to pick and choose which buttons to show, they are all on by default. Make interval selector slightly less wide, although hard to override MUI padding here:

Checklist

[ ] Pull request has a descriptive title and context useful to a reviewer.
[ ] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, IGNORE.
[ ] All commits have DCO signoffs.

UI Changes

[ ] Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
[ ] Code follows the UI guidelines.
[ ] Visual tests are stable and unlikely to be flaky. See Storybook and e2e docs for more details. Common issues include:

Is the data inconsistent? You need to mock API requests.
Does the time change? You need to use consistent time values or mock time utilities.
Does it have loading states? You need to wait for loading to complete.

Nice while we're at it, it would be great to be able to configure the time presets too:
<TimeRangeControls timePresets={[{ value: '1h', label: "Last Hour" }, [{ value: '2h',  label: "Last 2 Hours" }]} />


http://bit.ly/CRA-PWA should links to doc website

Is this a bug report?
no

https://bit.ly/CRA-PWA should point to https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app right?

We can't change where the bit.ly link points to but this has been addressed in #5808.


Google IMA sdk throw erorr when vast document return no ads on Mobile Devices

Description
Briefly describe the issue.
Google imaSDK ima3.js throw exceptions when there is no ads return from the vast xml.
Steps to reproduce

Set the ima-container on the videojs player
Let the vast xml return no ads or empty vast xml document

var videoPlayer = videojs("video");
videoPlayer.ima({
id: "video",
adTagUrl: "https://pubads.g.doubleclick.net/gampad/ads?"ADS_URL"
});
videoPlayer.ima.initializeAdDisplayContainer();
videoPlayer.ima.requestAds();
videoPlayer.one("click", function() {
videoPlayer.play();
});
Results
Expected
It should be able to click on the video to play it on the mobile devices browsers. On desktop it works fine.
Actual
Please describe what actually happened.
It throws error and you cannot able to play the video
Error output
ima3.js
Uncaught TypeError: Cannot read property 'apply' of undefined
at Jq (ima3.js:303)
at Hq.K (ima3.js:304)
at Zg (ima3.js:82)
at tq.h.dispatchEvent (ima3.js:80)
at tq.w (ima3.js:294)
at Wg (ima3.js:77)
at Sg (ima3.js:78)
at ima3.js:76
Using ima3_debug.js
Uncaught TypeError: Cannot read property 'apply' of undefined
at Xq (ima3_debug.js:321)
at Vq.R (ima3_debug.js:322)
at sh (ima3_debug.js:93)
at R (ima3_debug.js:91)
at wq.B (ima3_debug.js:306)
at oh (ima3_debug.js:88)
at kh (ima3_debug.js:89)
at ima3_debug.js:87
Additional Information
Please include any additional information necessary here. Including the following:
versions
videojs
what version of videojs does this occur with?
videojs version = 5.19.2
browsers
what browser are affected?
Chrome, safari on Mobile devices
OSes
what platforms (operating systems and devices) are affected?
IOS, Android
plugins
are any videojs plugins being used on the page? If so, please list them below.
Google IMASDK platform
ima3.js

Yes, updated to latest videojs-ads, and videojs-ima but still getting the same error.
For short turn around I have used the following code for touch Listener for mobile
this.posterImage.el().style.zIndex = 1400
this.bigPlayButton.el().style.zIndex = 1410
this.loadingSpinner.el().style.zIndex = 1420
This has temporarily fix the issue but not the solution.
Can anyone please advise for a better fix?

for a example...
https://codepen.io/JoshHubi/pen/MejZZQ?editors=1010

similar issue
https://github.com/googleads/videojs-ima/issues/339

Hey @shawnbuso is there any update?

https://github.com/googleads/videojs-ima/issues/339


Add custom color palette sets to Color Picker

Description of the new feature / enhancement
I have a standard color palette for my business and need to use those colors in various unrelated applications such as Illustrator, clipchamp, powerpoint, etc.  While the adobe products can share a color palette, that doesn't work across multiple vendors.  It would be very helpful if the color picker offered an ability to store, or hold, user configurable color palettes that could be used to get a quick color setting.
Right now, I have a onenote doc with sample colors / hex values for the palette and when I want to use a color in an app I have to open the onenote doc, then open color picker to pick the color and then paste the hex value into the app.   This request would remove the need for the onenote reference doc and store the colors in an available palette in the color picker.

Scenario when this would be used?
Building multi media content where colors have to be maintained across content created in different vendors / applications that don't, or cannot, share a common color palette.
Supporting information
No response

Sorry, just saw that #13056 also references this desire.  Hopefully this provides a little more context.

/dup #13056


Delete Rest API

This PR will need to be rebased on top of @trueblue2704 's changes after they are accepted. I'll go ahead and note, though, that it will need to be updated with similar in-depth test cases which test the behavior which handles failures during the delete process.

Ok, looks like we're ready to rebase and resolve.


It takes a while before the additional menu entry appears

It takes a while before the additional menu entry appears, presumably due to
QtPluginInjector:: INFO: comparing hashed( "ec2d5e217d492a6e7151dbc387332866" ) == required( "ec2d5e217d492a6e7151dbc387332866" )
QtPluginInjector:: INFO: mdsum matched.

What is being hashed and for what reason? Could the hashing be done at a later point in time?

The delay is intended, For now we have 4 seconds delay. This is to wait for the application to start, if the application does not start in 4 seconds then we wait for another 4 seconds. The construction of QApplication object implies that the application has started. The MD5 hash is the only way we could load the intended plugin which is targeted by the Qt Plugin Injector. Without the hash we would have to search blindly which is not good.

The delay is intended, For now we have 4 seconds delay. This is to wait for the application to start

Makes sense...


IDP-580 Introduce new warning for commands and queries performed in notification handlers

Previously, all commands and queries raised the same warning whether they were performed from request or notification handlers. This PR splits that warning into two distinct warnings, one for performing commands and queries from request handlers and another from within notification handlers. The intention is to allow people to selectively suppress this warning for notification handlers if needed while keeping it for request handlers.

I think we need to clarify the goal of IDP-580 or update the story. It's not aligned with what I understood was the goal of the story.


The run icon is missing

Type: Feature Request
the run icon is missing that should be present on the right top corner
VS Code version: Code 1.93.0 (4849ca9bdf9666755eb463db297b69e5385090e3, 2024-09-04T13:02:38.431Z)
OS version: Windows_NT x64 10.0.22631
Modes:

### Tasks

I don't think plain VS Code with no extensions added has a Run button in the top right.
Did you have one previously but it disappeared?

No
I installed VS code today. Where to find the Run button?
On Sat, 7 Sept 2024, 11:59 am John Murray, @.***> wrote:

I don't think plain VS Code with no extensions added has a Run button in
the top right.
Did you have one previously but it disappeared?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335089761,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

No I installed VS code today. Where to find the Run button?
…
On Sat, 7 Sept 2024, 11:59 am John Murray, @.> wrote: I don't think plain VS Code with no extensions added has a Run button in the top right. Did you have one previously but it disappeared? — Reply to this email directly, view it on GitHub <#227860 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE . You are receiving this because you authored the thread.Message ID: @.>

Install the code runner extension!

What are the steps for installation code runner extension?
On Sat, 7 Sept 2024, 3:16 pm Vansh Pandey, @.***> wrote:

No I installed VS code today. Where to find the Run button?
… <#m_3293418899135080091_>
On Sat, 7 Sept 2024, 11:59 am John Murray, @.> wrote: I don't think
plain VS Code with no extensions added has a Run button in the top right.
Did you have one previously but it disappeared? — Reply to this email
directly, view it on GitHub <#227860 (comment)
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335089761>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
. You are receiving this because you authored the thread.Message ID: @.>
Install the code runner extension!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335135188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VGORNCZMWKJ24XJ55TZVLDOZAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGEZTKMJYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

What are the steps for installation code runner extension?
On Sat, 7 Sept 2024, 3:16 pm Vansh Pandey, @.***> wrote:

No I installed VS code today. Where to find the Run button?
… <#m_3293418899135080091_>
On Sat, 7 Sept 2024, 11:59 am John Murray, @.> wrote: I don't think
plain VS Code with no extensions added has a Run button in the top right.
Did you have one previously but it disappeared? — Reply to this email
directly, view it on GitHub <#227860 (comment)
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335089761>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
. You are receiving this because you authored the thread.Message ID: @.>
Install the code runner extension!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335135188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VGORNCZMWKJ24XJ55TZVLDOZAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGEZTKMJYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Just go to extension tab in vs code and then on search bar type code runner the first search result is the code runner extension click on it and then you will a install button install it from there and after installing restart vs code you will see a run button on top right

It worked. Thank you so much for the help. I hope you have a great day
On Sun, 8 Sept 2024, 9:35 am Vansh Pandey, @.***> wrote:

What are the steps for installation code runner extension?
On Sat, 7 Sept 2024, 3:16 pm Vansh Pandey, @.***> wrote:
No I installed VS code today. Where to find the Run button?
… <#m_3293418899135080091_>
On Sat, 7 Sept 2024, 11:59 am John Murray, @.
> wrote: I don't think plain VS Code with no extensions added has a Run
button in the top right. Did you have one previously but it disappeared? —
Reply to this email directly, view it on GitHub <#227860
https://github.com/microsoft/vscode/issues/227860 (comment) #227860
(comment)
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335089761>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
https://github.com/notifications/unsubscribe-auth/BLCZ6VEBACBD7MGXGVBLYP3ZVKMMPAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGA4DSNZWGE
. You are receiving this because you authored the thread.Message ID: @.>
Install the code runner extension!
—
Reply to this email directly, view it on GitHub
#227860 (comment)
https://github.com/microsoft/vscode/issues/227860#issuecomment-2335135188
,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VGORNCZMWKJ24XJ55TZVLDOZAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGEZTKMJYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>
Just go to extension tab in vs code and then on search bar type code
runner the first search result is the code runner extension click on it and
then you will a install button install it from there and after installing
restart vs code you will see a run button on top right
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/227860#issuecomment-2336536692,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLCZ6VBEUAMWDOFU7MB2LH3ZVPEHHAVCNFSM6AAAAABNZUBDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZWGUZTMNRZGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

/question


doc suggestions

Hi Louis,
Great work.
Suggestion about the docs: the huge long notebook could be split up. I think a set of very brief notebooks showing

get, set, add, pmap
optax
numpyro
APIs would be more accessible for a general reader.

The text in the first paragraph at the top could be edited for tone and length and go onto the landing page rather than one of the notebooks.
Cheers,
Ben

Done with v0.3.0


Add more tests and allow partly run

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
#27

Fixed issues	#46

Incorrect issue specified

@xepozz thank you for your comments

Overall looks fine so far.

infection.log should be ignored

👍