Sometimes crashes and closes buffer on first use

After using (and loving!) this plugin for a while, I've reluctantly had to disable my bindings to it. I was having a problem with buffers suddenly closing on me and finally realized it was triggered by * motions (in my case bound to <Plug>(asterisk-z*).
A little bit of poking showed in typically happened on the first run in a new tab or buffer, it would typically work if I opened up the buffer and tried again, and it typically worked thereafter until I switched buffers or opened something new. Then it was likely to crash again.
I don't know how to get useful debug information as the buffer just disappears and no messages are shown but I'd be happy to try something if there is a way to get any error being reported.
I'm using Neovim and vim-plug, and other than bindings my only setting is:
let g:asterisk#keeppos = 1

Can you create reproduction steps?
Do you have custom mapping of <Esc>?

So far I haven't been able to get this down to a minimal example. It still happens all the time in production (I have to disable it most days) but I can't figurue out what the minimal conditions are.
No I don't have any custom maps for triggering Escape.

Is there any kind of debug logging I can turn on to see what happens during the time between activating a binding an my buffer being gone? This is happening often enough if there was something I could enable to get debug info I'm sure I could sit down and make it fail.

How about using :h verbose (and :h verbosefile)?

I think this is a minimal reproducing.
" setting
let g:asterisk#keeppos = 1
map z*  <Plug>(asterisk-z*)

Steps below.
$ vim
:new a<CR>
:new b<CR>
ifoo<ESC>
z*

( New-lines are ignored. )
After this, the buffer is changed to a but expected to stay in b.
Is this author's case ?

@LumaKernel Yup that's pretty much it.

I still cannot reproduce it.
issue34.vimrc
" Put this vimrc and start vim at the root of vim-asterisk plugin.
execute "set rtp+=" . getcwd()
let g:asterisk#keeppos = 1
map z*  <Plug>(asterisk-z*)

$ vim -N -u issue34.vimrc
:new a<CR>
:new b<CR>
ifoo<ESC>
z*

 vim --version
$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Sep 20 2019 19:38:07)
Included patches: 1-2050
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl               -farsi             -mouse_sysmouse    -tag_any_white
+arabic            +file_in_path      +mouse_urxvt       -tcl
+autocmd           +find_in_path      +mouse_xterm       +termguicolors
+autochdir         +float             +multi_byte        +terminal
-autoservername    +folding           +multi_lang        +terminfo
-balloon_eval      -footer            -mzscheme          +termresponse
+balloon_eval_term +fork()            +netbeans_intg     +textobjects
-browse            +gettext           +num64             +textprop
++builtin_terms    -hangul_input      +packages          +timers
+byte_offset       +iconv             +path_extra        +title
+channel           +insert_expand     +perl              -toolbar
+cindent           +job               +persistent_undo   +user_commands
-clientserver      +jumplist          +postscript        +vartabs
-clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +virtualedit
+cmdline_hist      +langmap           -python            +visual
+cmdline_info      +libcall           +python3           +visualextra
+comments          +linebreak         +quickfix          +viminfo
+conceal           +lispindent        +reltime           +vreplace
+cryptv            +listcmds          +rightleft         +wildignore
+cscope            +localmap          +ruby              +wildmenu
+cursorbind        -lua               +scrollbind        +windows
+cursorshape       +menu              +signs             +writebackup
+dialog_con        +mksession         +smartindent       -X11
+diff              +modify_fname      -sound             -xfontset
+digraphs          +mouse             +spell             -xim
-dnd               -mouseshape        +startuptime       -xpm
-ebcdic            +mouse_dec         +statusline        -xsmp
+emacs_tags        -mouse_gpm         -sun_workshop      -xterm_clipboard
+eval              -mouse_jsbterm     +syntax            -xterm_save
+ex_extra          +mouse_netterm     +tag_binary
+extra_search      +mouse_sgr         -tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/home/linuxbrew/.linuxbrew/share/vim"
Compilation: gcc-5 -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc-5   -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -L/home/linuxbrew/.linuxbrew/opt/libyaml/lib  -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/libyaml/lib<EMAIL_ADDRESS><EMAIL_ADDRESS>-L/home/linuxbrew/.linuxbrew/opt/readline/lib  -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/readline/lib -Wl,-E -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -lnsl   -lncurses -ldl   -Wl,-E -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE  -fstack-protector-strong -L/usr/local/lib  -L/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc  -L/home/linuxbrew/.linuxbrew/Cellar/python/3.7.4_1/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m -lcrypt -lpthread -ldl -lutil -lm  -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/ruby/2.6.4_2/lib -L/home/linuxbrew/.linuxbrew/Cellar/ruby/2.6.4_2/lib -lruby -lm

How about using :h verbose (and :h verbosefile)?

Can you try this as above to understand why the buffer is closed?

@haya14busa Neovim here.
I can't get that minimum example to reproduce either. It happens enough in the wild but not in that MRE for me.

That reproducing steps is including some another options. ( Sorry, I though they doesn't effect. )
I'll try to get minimum options.

set splitbelow
set hidden

let &rtp .= ',' .. getcwd()

let g:asterisk#keeppos = 1
map z*  <Plug>(asterisk-z*)

new a
new b
exe "normal! iabc\<ESC>"
normal z*
" now, current buffer is not b

How about this?

@alerque Please let me know whether you're using splitbelow/splitright .

@LumaKernel Negative, the only thing I see that might be related to your question is set inccommand=split.
You can see my full RC file here.

The versions I tested with {vim} -u issue34.vimrc below.

/usr/bin/vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 30 2020 08:31:37)
Included patches: 1-177
Compiled by luma
Huge version without GUI.  Features included (+) or not (-):
+acl               -farsi             -mouse_sysmouse    -tag_old_static
+arabic            +file_in_path      +mouse_urxvt       -tag_any_white
+autocmd           +find_in_path      +mouse_xterm       -tcl
+autochdir         +float             +multi_byte        +termguicolors
-autoservername    +folding           +multi_lang        +terminal
-balloon_eval      -footer            -mzscheme          +terminfo
+balloon_eval_term +fork()            +netbeans_intg     +termresponse
-browse            +gettext           +num64             +textobjects
++builtin_terms    -hangul_input      +packages          +textprop
+byte_offset       +iconv             +path_extra        +timers
+channel           +insert_expand     -perl              +title
+cindent           +job               +persistent_undo   -toolbar
-clientserver      +jumplist          +popupwin          +user_commands
-clipboard         +keymap            +postscript        +vartabs
+cmdline_compl     +lambda            +printer           +vertsplit
+cmdline_hist      +langmap           +profile           +virtualedit
+cmdline_info      +libcall           -python            +visual
+comments          +linebreak         -python3           +visualextra
+conceal           +lispindent        +quickfix          +viminfo
+cryptv            +listcmds          +reltime           +vreplace
+cscope            +localmap          +rightleft         +wildignore
+cursorbind        -lua               -ruby              +wildmenu
+cursorshape       +menu              +scrollbind        +windows
+dialog_con        +mksession         +signs             +writebackup
+diff              +modify_fname      +smartindent       -X11
+digraphs          +mouse             -sound             -xfontset
-dnd               -mouseshape        +spell             -xim
-ebcdic            +mouse_dec         +startuptime       -xpm
+emacs_tags        +mouse_gpm         +statusline        -xsmp
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/home/luma/bin/vim/8.2/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lacl -lattr -lgpm -ldl

/usr/local/bin/nvim --version
NVIM v0.5.0-330-g71ee46acc
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -O2 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/luma/neovim/build/config -I/home/luma/neovim/src -I/home/luma/neovim/.deps/usr/include -I/usr/include -I/home/luma/neovim/build/src/nvim/auto -I/home/luma/neovim/build/include
Compiled by luma
Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/share/nvim"
Run :checkhealth for more info

set hidden

let &rtp .= ',' .. getcwd()

let g:asterisk#keeppos = 1
map z*  <Plug>(asterisk-z*)

I realized that this is only happening with neovim.

Probably there could be a bug / an incompatible change in neovim.
What will happen when you type m` and <C-o> without moving cursor between the both commands?
In Vim, the cursor won't moved and <C-o> consume 1 jumplist internally.

Cursor will move !! Then, this is Neovim's bug...?
Sorry for my poor understanding about |jumplist|...

For now, I make an issue to neovim.

According to https://github.com/neovim/neovim/issues/10825 https://github.com/neovim/neovim/issues/9874#issuecomment-481369640, this behavior is a specification for neovim.

As I commented https://github.com/neovim/neovim/issues/9874#issuecomment-581501666, I strongly believe neovim behavior is weird and should be fixed, but I merged #36 to fix this issue for now.
Thank you @LumaKernel for the fix and investigation :+1:


How to get MAC address?

As this new firmware doesn't work with AT commands, is there any way to get MAC address of this module so I can use it in sketch?
Also, it will be very useful to use mDNS or other ways to find module in network. What are plans for that?

How about the IP address also ?

I am currently working on a modification of the firmware which will extend the wifiCb response. The response will now include mac and ip address as this information can be used in topics on MQTT side.

Hello,
When I upload software to esp8266 I get an error that is below. Please help me !!!.
pi@raspberrypi /usr/share/arduino/libraries/espduino $ sudo esp8266/tools/esptool.py -p /dev/ttyUSB0 write_flash 0x00000 esp8266/release/0x00000.bin 0x40000 esp8266/release/0x40000.bin
Could not find platform dependent libraries
Consider setting $PYTHONHOME to [:]
Traceback (most recent call last):
File "esp8266/tools/esptool.py", line 22, in
import serial
ImportError: No module named serial

Namphibian, how is it coming along ? I need that mac address (or unique id) too !

I would also love to have these extra info in the callback

Any love on a way to get the MAC or IP address of the ESP8266 via espduino? Working with Cactus Micro Rev2.   (I assume this is related to this thread, as to not hi-jack it ;)

Hi All.
I have made some modifications to the library which exposes the following:

MAC Address is now published back when connected to a WIFI access point.
New Function To Get Signal Strength Of Access Point.

I am happy to expand this with further API extensions.  I am going to expand the data sent back on call back to include IP Address, Gateway and all information I can for IP Configuration. Once that is done I will submit a pull and then hopefully Master Tuan is happy with my C-Fu!
End of week should be achievable!

Hi,
How is this coming?
MAC adress would be great, IP even better.
I would love RSSI value!
G


Fix options flow defaults

Proposed change

Fix options flow defaults
Add more debug logging to init_child_locks()

Type of change

[ ] Dependency upgrade
[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (which adds functionality)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR is related to issue: n/a

Codecov Report

Merging #179 (143e07b) into childlocks (61306e4) will decrease coverage by 0.21%.
The diff coverage is 80.48%.

@@              Coverage Diff               @@
##           childlocks     #179      +/-   ##
==============================================
- Coverage       90.78%   90.56%   -0.22%
==============================================
  Files               9        9
  Lines             944      954      +10
==============================================
+ Hits              857      864       +7
- Misses             87       90       +3

Impacted Files
Coverage Δ

custom_components/keymaster/helpers.py
88.60% <ø> (ø)

custom_components/keymaster/services.py
89.72% <41.66%> (-4.31%)
:arrow_down:

custom_components/keymaster/config_flow.py
95.74% <93.75%> (+3.36%)
:arrow_up:

custom_components/keymaster/__init__.py
90.42% <100.00%> (+0.24%)
:arrow_up:

custom_components/keymaster/const.py
100.00% <100.00%> (ø)

custom_components/keymaster/lock.py
100.00% <100.00%> (ø)


2119 new menu item gdt

🍰 Pullrequest
there is now a separate router entry for transaction and gradido transform.
Issues

fixes #2119

https://user-images.githubusercontent.com/1324583/183288276-f7a96dac-b2fd-4c7d-8db8-d2eedfdf9d8f.mp4

it would be conceivable to remove the tab system and create separate pages for each ...


Runtime error 12

Hi,
I tried compiling this against CUDA 11.0 on Ubuntu 18.04 with the nvidia HPC SDK version 2021_212, and running
../bin/gbfs ../data/small/chesapeake.mtx

prints a plethora of error messages:
Runtime error: reduceInner(val, accum, op, &u->sparse_, desc) returned 12 at /home/mgara/software/graphblast/./graphblas/backend/cuda/operations.hpp:1012

none of which are very informative. At this point I assume this project is highly experimental and unstable?

Sorry for taking a while on this one. Yes, this project is experimental and may be unstable. This PR should fix that bug.


Pass -c ${INPUT_CONFIG_FILE} to main.py

If the config_file: option was defined in the workflow, entrypoint.sh did call bandit once with -c ${INPUT_CONFIG_FILE}, but didn't pass the option on to main.py for the second bandit call.
See akaihola/darker#313 for the symptom this used to cause.
This patch makes sure all bandit calls use the same -c option value.

Any chance to get this merged and released? Meanwhile we're relying on my fork in the Darker repository, see akaihola/darker#345.

@akaihola thx and sorry for the delay :)


[BUG] Spell Attack Bonuses from Enchantment Activity are not Applied

I try to apply effect with system.bonuses.msak.attack and system.bonuses.rsak.attack increases via Enchantment Activity (I'm implementing Artificer's "Enhanced Arcane Focus" infusion). However, enchanted this way items with this effect do not change the spell rolls, unlike to items with the same effect, but set manually.
Steps to reproduce

Create a Feature with an Enchantment Activity.

In the Effects tab Add any value to system.bonuses.msak.attack attribute.
The same for system.bonuses.rsak.attack attribute.
Do not apply any restrictions to the Activity.

Grant this Feature to an Actor.
Use this feature and drag any item into the chat template (like Staff):

Equip the item for the Actor.
Use any spell with either "Ranged Spell Attack" or "Melee Spell Attack" attack type Activity.

Expected result: the attack roll is increased by the system.bonuses.msak.attack or system.bonuses.rsak.attack value of the created effect.
Actual result: both melee and ranged spell attacks do not have the system.bonuses.msak.attack or system.bonuses.rsak.attack value applied:

Additional Info
System version: 4.0.3
Foundry VTT version: 12 Build 331
If the same effect was added manually to an item, not granted by an Enchantment Activity:

All bonuses are applied correctly:

Effects to be added to the item like this need to be added as Additional Effects (or "Rider Effects") in the enchantment:

Thank you for the quick answer! I definitely overlooked this field's purpose somewhere in the docs. Closing the issue.


Example visualization. Geolocation

Cannot use namespace 'GeometryType' as a type.  TS2709
62 |
63 |                     <RInteraction.RDraw

64 |                         type={"Polygon" as GeometryType}
|                                            ^
65 |                         condition={shiftKeyOnly}
66 |                         freehandCondition={altShiftKeysOnly}
67 |                     />

https://github.com/openlayers/openlayers/issues/12497

This is my tsconfig.json before running the app and Geolocation.tsx doesn´t show any errors.
{   "compilerOptions": {     "target": "es5",     "lib": [       "dom",       "dom.iterable",       "esnext"     ],     "allowJs": true,     "skipLibCheck": true,     "esModuleInterop": true,     "allowSyntheticDefaultImports": true,     "strict": false,     "forceConsistentCasingInFileNames": true,     "noFallthroughCasesInSwitch": true,     "module": "esnext",     "moduleResolution": "node",     "resolveJsonModule": true,     "isolatedModules": true,     "noEmit": true,     "jsx": "react-jsx",     "baseUrl": "./",     "paths": {       "ol": [         "node_modules/@types/ol"       ],       "ol/*": [         "node_modules/@types/ol/*"       ]     },   },   "include": [     "src"   ] }
After running the app the tsconfig.json changed to (deletes paths attribute):
{   "compilerOptions": {     "target": "es5",     "lib": [       "dom",       "dom.iterable",       "esnext"     ],     "allowJs": true,     "skipLibCheck": true,     "esModuleInterop": true,     "allowSyntheticDefaultImports": true,     "strict": false,     "forceConsistentCasingInFileNames": true,     "noFallthroughCasesInSwitch": true,     "module": "esnext",     "moduleResolution": "node",     "resolveJsonModule": true,     "isolatedModules": true,     "noEmit": true,     "jsx": "react-jsx",     "baseUrl": "./"   },   "include": [     "src"   ] }
The Geolocatio.tsx file show this errors:

Yes, the new OpenLayers 6.6.0 native Typescript types are not compatible, you have to keep the paths for now
An eventual new rlayers 1.1 version will support the new Typescript types, but it won't be compatible with OpenLayers < 6.6.0
I am still waiting for the typings to stabilize - there was a new 6.6.1 release a few hours ago - and I will publish rlayers 1.1
For now the only way to use OpenLayers 6.6.0 with Typescript is to add the paths attribute


[Support/Filecoin] Add ERC20 tokens support for Filecoin

✅ Checklist

[ ] npx changeset was attached.
[ ] Covered by automatic tests.
[ ] Impact of the changes:

...

📝 Description
Add ERC20 token support for filecoin network. Adds new tokens specific to filecoin and enable send/receive.

❓ Context

JIRA or GitHub link:

🧐 Checklist for the PR Reviewers

The code aligns with the requirements described in the linked JIRA or GitHub issue.
The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
There are no undocumented trade-offs, technical debt, or maintainability issues.
The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
Any new dependencies have been justified and documented.
Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

Please have a look at my comments. Thanks a lot

Thanks for the review 🙌🏻, I tried to work on the comments. Please have another look when possible.

Seems like there's been some refac related to the files, I can resolve conflicts once we resolve the comments @hzheng-ledger

@lawRathod our CDN is available now: https://cdn.live.ledger.com/cryptoassets/evm/314/erc20.json
you can use it to retrieve filecoin evm tokens from there instead of hard code tokens in cryptoassets folder.


feat: Scrapping Documentations from website for building Knowledge Graphs

Implement Python Script for Scraping Documentation into Llama-Index Document Objects
Description
This issue invites contributors to develop a Python script that scrapes documentation from websites
Objective

Create a Python script to scrape documentation from a given website, including all sublinks.
Store the content from each link in a separate Llama-Index document object.
Each document object should have metadata that includes the source URL of the scraped data.
Compile all document objects into a list to form the complete Llama-Index.

Requirements

Scraping the Documentation:

Utilize Python libraries like Beautiful Soup, Scrapy, or Requests-HTML to scrape content from the main documentation page and all associated sublinks.
Ensure accurate extraction of relevant content, including text, code snippets, and descriptions.

Llama-Index Document Object Creation:

Store the data scraped from each individual link in a separate Llama-Index document object.
Attach metadata to each document object that records the URL of the link from which the content was scraped.
Compile all individual document objects into a list, representing the complete Llama-Index.

Documentation:

Document the script clearly, providing instructions on how to use it.
note-book implementation for various strategies and responses mostly research
Later we can build a module out of it.

Error Handling:

Implement robust error handling to manage issues such as broken links, failed requests, or unexpected data formats.

Submission Guidelines

Implementation: Develop the Python script ensuring it meets the outlined requirements.

Documentation: Include comprehensive comments and docstrings that explain the functionality and usage of the script.

Submit a Pull Request (PR):

Reference this issue in your PR.
Provide a description of your implementation, any challenges faced, and considerations made during development.

Resources

Explore Python libraries such as Beautiful Soup, Scrapy, and Requests-HTML for web scraping.
Refer to Llama-Index documentation for guidance on creating document objects and managing metadata.

Submission Checklist

[ ] Implement the scraping script in Python.
[ ] Create individual Llama-Index document objects with correct metadata.
[ ] Compile document objects into a list representing the Llama-Index.
[ ] note-book implimentation.
[ ] Submit a PR referencing this issue.

We look forward to your valuable contributions that will enhance our capability to integrate website documentation into our knowledge systems!

hi, is anyone working on this? can i do it?

hello, i want to work on this issue!!


copr: Add vectorize to_base64

Signed-off-by: chacha923<EMAIL_ADDRESS>PCP #5751
What have you changed?
add vectorize to_base64
What is the type of the changes?

New feature (a change which adds functionality)

How is the PR tested?
Please select the tests that you ran to verify your changes:

Unit test

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
None
Does this PR affect tidb-ansible?
None
Refer to a related PR or issue link (optional)
#5751
Benchmark result if necessary (optional)
None
Any examples? (optional)
None

@sre-bot /run-integration-copr-test copr-test=pr/114

@niedhui PTAL

@niedhui  PTAL

hi, the code LGTM. The implementation is actually the same as the non-vector version, so can we extract it into expr_util to eliminate code duplication?
And this will also fix a bug of the non-vector  version which should return None, but returns empty bytes : ),
Good work!

hi, the code LGTM. The implementation is actually the same as the non-vector version, so can we extract it into expr_util to eliminate code duplication?
And this will also fix a bug of the non-vector version which should return None, but returns empty bytes : ),
Good work!

i have moved implements into expr_util/strings.rs

@sre-bot /run-integration-copr-test copr-test=pr/114

/run-all-tests

/run-all-tests

@breeswish PTAL

@hicqu PTAL and the next deadline for reviewing is 2020-02-20 24:00:00

@hicqu  PTAL

/approve

/approve

/merge

/merge

/merge

/merge

@TennyZhuang (:з」∠) please /merge

/merge

Sorry for the delay, can you resolve the conflicts? I will merge it soon after that.

@chacha923 Hello, how's it going? Is there anything I can do to help?

/label status/waiting

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: TennyZhuang:x: chacha923You have signed the CLA already but the status is still pending? Let us recheck it.


Add 'rollback' command

The rollback command can:

Checkout a configuration at a tag (consistent across all repos).

If the tag is missing, pull the up-to-date branch.
Not Implemented: optionally fallback the "best" tag date.

Checkout all repos given a date/timestamp.
Checkout all repos based on a revision.

Find the repo with the revision, checkout that repo to the revision,
checkout all other repos to the date of that revision.

Modifications to existing interface:

'clone' subcommand introduced to provide existing behavior.
0-argument behavior is still supported and unchanged.
--save is now implied when explicitly using the 'clone' subcommand.

Other notable changes:

Additional dependency on argparse

I think the way this should work is by examining the associated Build repo, finding the tag/commit/date there, and determining the submodule commit from that. That's really the whole point of Build repos. http://code.logos.com/blog/2012/11/building-code-at-logos-build-repositories.html

Adding a feature to clone-leeroy to process commits from the Build repo without having to have the Build repo cloned locally would be really useful.

Pulling data from the Build repo was what I had in mind for v2. It's true, though, that without doing so, this feature isn't as reliable as perhaps it needs to be, and therefore much of the utility is lost. I'll update the implementation accordingly. And, I'll see what I can do to avoid cloning the Build repo.

I think you'd want to use the GitHub API to pull the latest (or tagged) commit, then read the tree to find the SHAs of the submodules.


[cscs] Make CSCS config more compact

The config was very sparsely written since it was auto-generated from the old config when we transitioned to ReFrame 3.0. I've now made it much more compact by removing redundant new lines.

@jenkins-cscs retry daint

Codecov Report

Merging #2282 (372ccda) into master (e25ba57) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2282   +/-   ##
=======================================
  Coverage   86.12%   86.12%
=======================================
  Files          56       56
  Lines       10206    10206
=======================================
  Hits         8790     8790
  Misses       1416     1416

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 e25ba57...372ccda. Read the comment docs.


add Human Cell Atlas

Please update the count as well on L55

Thanks I wish I would remember that :(
Next time.

All good :) Looks great, merging!


GO:0042775   mitochondrial ATP synthesis coupled electron transport, parentage

GO:0042775   mitochondrial ATP synthesis coupled electron transport
shouldn't this term  be a descendant of
GO:0009060    aerobic respiration
(not just respiration?)

should we look at this one?

This seems right
http://hyperphysics.phy-astr.gsu.edu/hbase/Biology/celres.html

oxidative phosphorylation ->

remove parent 'phosphorylation
add subclass 'aerobic respiration'

GO:0006120 mitochondrial electron transport, NADH to ubiquinone
GO:0006121 mitochondrial electron transport, succinate to ubiquinone
GO:0006122 mitochondrial electron transport, ubiquinol to cytochrome c

-> move down to  GO:0019646 aerobic electron transport chain

GO:0019646 aerobic electron transport chain
add:
'part of' some 'oxidative phosphorylation'

GO:0006119 oxidative phosphorylation
[is_a relation] GO:0042776 mitochondrial ATP synthesis coupled proton transport
change relation of 'part of' (also this will be consistent with  GO:0006119 oxidative phosphorylation
[part_of relation] GO:0042773 ATP synthesis coupled electron transport


Error: 'default' is not exported by node_modules/rollup-plugin-node-polyfills/polyfills/buffer-es6.js, imported by node_modules/rollup-plugin-node-polyfills/polyfills/crypto-browserify.js

index.js:
import { createCipheriv, createDecipheriv, pbkdf2Sync } from 'crypto'

rollup.config.js:
import nodePolyfills from 'rollup-plugin-node-polyfills';

export default {
  input: 'src/index.js',
  output: {
    dir: 'dist',
    format: 'iife'
  },
  plugins: [
    nodePolyfills({
      buffer: true,
      crypto: true
    })
  ]
}

I reproduce this error as well.
Noticed that the tests make mention of the crypto module being broken.

I reproduce this error as well.
Noticed that the tests make mention of the crypto module being broken.

@brandonros @NoneOfMaster
open crypto-browserify.js and change "import buffer$1 from 'buffer';" to "import * as buffer$1 from 'buffer';"

@brandonros @NoneOfMaster
open crypto-browserify.js and change "import buffer$1 from 'buffer';" to "import * as buffer$1 from 'buffer';"

This problem still seems to be present

This is reproducible without the buffer option and I believe is isolated to crypto.  I don't think #21 will resolve this problem as indicated.

fix #21 Isn't all that is needed to fix the build issues with crypto.  I found you also need a default export in pollyfills/string-decoder.js

This issue still happening, can we get a fixed merged in?
[ ERROR ]  Rollup: Missing Export: ../../node_modules/rollup-plugin-node-polyfills/polyfills/crypto-browserify.js:1:7
           'default' is not exported by ../../node_modules/rollup-plugin-node-polyfills/polyfills/buffer-es6.js,
           imported by ../../node_modules/rollup-plugin-node-polyfills/polyfills/crypto-browserify.js

      L1:  import buffer$1 from 'buffer';
      L2:  import stream from 'stream';


drivers: sensors: akm09918: make submit function more unblocking

The driver now does not wait for the completion of a measurement in the submit function.
Instead it schedule the fetch and the completion of the submission queue entry as delayed work to the system work queue.

Hi @FlorianWeber1018, may you check if #74435 already addresses your needs?

Hi @ubieda  I have tested before 10 minutes but your PR does not solve my problem. (debugged with logic analyzer)
My Problem with the api is that i must read out 4 sensors but infact that the driver waits for measurement completion before the next measurement get started there could only be one conversion / RTIO at a time. maybe you can split up the measurement start and fetch in different work and start the fetch delayed to the start instead let the work sleep for the time the conversion  needs. I think then my issue could also be solved  by your PR.

CI is failing because the system workqueue has the same priority (-1) than the test in sensors.generic_test.
After https://github.com/zephyrproject-rtos/zephyr/pull/74676 is merged CI should be pass.

My Problem with the api is that i must read out 4 sensors but infact that the driver waits for measurement completion before the next measurement get started there could only be one conversion / RTIO at a time. maybe you can split up the measurement start and fetch in different work and start the fetch delayed to the start instead let the work sleep for the time the conversion needs. I think then my issue could also be solved by your PR.

Thanks for the details!
I agree that one way to handle these delays during the execution (e.g: not because of a bus transfer, but because the sensor needs it) is by scheduling work item to execute when the delay is over. This can be accomplished by expanding the RTIO Work service here: https://github.com/ubieda/zephyr/blob/26970467243b50b3bc9f8ff30a0b6938a2579209/subsys/rtio/rtio_workq.c#L73.
I'd be happy to provide this feature expansion by following-up on a separate PR after #74435 it's merged.

@ubieda could you please extend the RTIO Workqueue service so that it is possible to start delayed work as you have already mentioned?
Many thanks and kind regards,
Florian

@ubieda could you please extend the RTIO Workqueue service so that it is possible to start delayed work as you have already mentioned?
Many thanks and kind regards,
Florian

I'll take a look soon and let you know. Thanks!

@ubieda at the moment it looks like that delayed work in the rtio workq (https://github.com/zephyrproject-rtos/zephyr/issues/77100) will not be available in the near future. As you have mentioned in the issue, it is not as straight forward as you have thought at the beginning.
Should i proceed with this PR by using the system workq instead like the code is written now?

@FlorianWeber1018 yeah - let's move forward without relying on it and refactor once the feature lands. Feel free to mark this PR as ready for review when it's finalized to get the process going.


[qt5] module "QtQuick.Dialogs" is not installed

Describe the bug
While #14594 fixed a few bugs related to QML deployment I still get the error
QQmlApplicationEngine failed to load component
qrc:/main.qml:4:1: module "QtQuick.Dialogs" is not installed

when I do import QtQuick.Dialogs 1.2 inside a QML file.
To Reproduce
Steps to reproduce the behavior:

./vcpkg install qt5
(./vcpkg install qt5-declarative should be enough in this case, but I tested with both to be sure)
import QtQuick.Dialogs 1.2 inside a QML file.
Build & run project.

Expected behavior
All imports inside a qml file should be deployed to the output folder.
Additional context
Inside {output path to binary}/qml/QtQuick the Dialogs folder is indeed missing.

cc @Neumann-A

@JackBoosY: My only comment to that is to use windeployqt instead of vcpkg own deployment script for qt. This solves this issue as well as the translation issue.

@Reveares Just curious - did you implement a workaround?

@ooeygui No, I'm not even sure how I got around the problem back then. But I ditched Qt sometimes ago.
I don't know if the problem still exists.


direct reply-to & bug in the fields serialization

Hey,
I've been playing around with RPC modes & priority queues and noticed that there is a bug:
https://github.com/dropbox/amqp-coffee/blob/master/src/lib/Connection.coffee#L438
Specifically if value of the field is 0

  if args[field.name]

that check wont pass and there would be inconsistency between headers payload and actual payload (example, priority: 0). That being said we should simply check for hasOwnProperty to fix that issue
On the second note - https://www.rabbitmq.com/direct-reply-to.html - this is a nice feature to have, but require that publisher & consumer uses the same channel, which is currently not possible as they are always on the separate channels. I looked at how to do it myself, but didn't come to any conclusion - could be a decent idea to write an RPC channel with capabilities of both, but then I wouldnt want to duplicate a lot of code from Publisher/Consumer channels
What do you think is the best way to implement it?

Good catch on the args[field.name], I think the fix there is just if args[field.name]? I am happy to cut a diff or merge a PR in.
I am playing with direct reply now I'll update this later today:)  I would hope this should be easy to use

published the pr, as far as DirectReplies give me a couple days and I think I can have something working, the issue is channel sharing as you pointed out.  The direction I was going to go was make a rpc channel like you suggested the extends either publish or consume (not sure which is easier) and then reference the other as a object method.   I want to make sure the rpc channel gets cleaned up at the right time, like if there are no outstanding requests or something like that.  This is a really nice feature to have so if you dont take a crack at it I will for sure

@barshow any thoughts on that? I might have time to tackle it myself, but then again I'd actually want to go through most sources and migrate it to something more manageable than coffee script
es6+flow or ts comes to my mind, what do you think about it? At the same time we could do a more straightforward implementation for direct reply than copying a lot of logic

Sorry for the super long delay, I'm actually no longer at Dropbox however I do think that moving to something like es6 would be great.


Can't get click event to register at all in desktop app... works in the browser

Running Electron + react set up according to your guide here. I added a simple app bar from material and created a react class from the component.
However the components in the window launched by electron.exe are not responsive. If I go to localhost:3000 then I find that the buttons are responsive and trigger events, everything works!
Any tips to help me investigate?

I don't know. If I add this to App.js, I see the messages in the console.
<button onClick={()=>{console.log("Button Pressed")}}>
          Push me
</button>
```I would start with simple buttons. There may be an issue with material-ui, but that unfortunately might mean debugging that side of things.

Interesting. I've removed material and tried the same experiment.
in the component constructor
 this.toggleWindowVisibility = this.toggleWindowVisibility.bind(this)
the function
toggleWindowVisibility(){
  if (document.visibilityState === "visible")
  {
    log.info("Clicked minimize!")
    window.dispatchEvent(new Event('minimize'))
    return
  }
  log.info("Window is not visible")
  window.moveTo(0,0);
}

In the render function
<button onClick={this.toggleWindowVisibility}}>           Push me </button>
still no event triggered.


EventBus Support Android 12 yet?

Has anyone known that the EventBus support on Android 12 yet?
Thank you.

There shouldn't be anything preventing you from using it. If there is, please file an issue with details!


Indexing with multi-dimensional integer arrays

I'd like to revisit the discussion from https://github.com/data-apis/array-api/issues/177 about adding support for indexing with arrays of indices, because this is by far the largest missing gap in functionality required for Xarray.
My specific proposal would be to standardize indexing with a tuple of length equal to the number of array dimensions, where each element in the indexing tuple is either (1) an integer or (2) an integer array. This avoids all the messy edge cases in NumPy related to mixing slices & arrays.
The last time we talked about it, integer indexing via __getitem__ somehow got held up on discussions of mutability with __setitem__. Mutability would be worth resolving at some point, for sure, but IMO is a rather different topics.

where each indexer is either (1) an integer or (2) an integer array.

What's an "indexer"? Each element in the tuple? Or the entire tuple?

Do you suggest a dedicated function for this?  Or is the oindex vs normal advanced indexing behavior not a problem?

where each indexer is either (1) an integer or (2) an integer array.

What's an "indexer"? Each element in the tuple? Or the entire tuple?

Clarified -- each element in the tuple should be an integer or integer array.

Do you suggest a dedicated function for this? Or is the oindex vs normal advanced indexing behavior not a problem?

I think we should standardize on a subset of vectorized indexing which is common to both vindex and standard NumPy advanced indexing.
oindex is certainly occasionally useful, but vectorized indexing can substitute -- and isn't too much harder to implement once you understand how it works.

Was there ever an analysis done of what integer array indexing the different array libraries support? I don't think it would show up in the existing API comparison data because that data only looks at function definitions.

Was there ever an analysis done of what integer array indexing the different array libraries support?

No, not in explicit detail.

Based on the history of NEP 21 (https://numpy.org/neps/nep-0021-advanced-indexing.html) and the following related discussions

Discussion: https://mail.python.org/pipermail/numpy-discussion/2015-April/072550.html (the first half of the thread is most relevant)
Discussion: https://github.com/numpy/numpy/pull/6256
Discussion: https://github.com/numpy/numpy/pull/11414
Orthogonal indexing: https://github.com/numpy/numpy/pull/5749

I wonder if we could standardize functional APIs which cater to the different indexing "flavors" instead of mandating a special form of advanced square bracket indexing. While bracket syntax is convenient in end-user code (e.g., in scripting and the REPL), functional APIs could be more readily leveraged in library code where typing extra characters is, IMO, less of an ergonomic concern. Functional APIs for retrieving elements would also avoid the mutability discussion (ref: https://github.com/data-apis/array-api/issues/177).
There's precedent for such functional APIs in other languages (e.g., Julia), and one can argue that functional APIs would make intent explicit and avoid ambiguity across array libraries which should be allowed to, e.g., support "orthogonal indexing" (as in MATLAB) or some variant of NumPy's advanced vectorized indexing. If we standardized even a minimal version of NumPy's vectorized indexing semantics via bracket syntax, given conflicting semantics, this might preclude otherwise compliant array libraries from choosing to support MATLAB/Julia style indexing semantics.
Instead, I could imagine something like
def coordinate_index(x: array, *index_args: Union[int, Sequence[int, ...], array]) -> array

where index_args must be integers, a sequence of integers, and/or one-dimensional arrays of integers and the number of index_args must match of the rank of x. Similar to existing NumPy semantics, the index arguments can broadcast to a common length. This is effectively what @shoyer describes in the OP. I use coordinate_index as this is a bit more descriptive than vindex (vectorized index, as described in NEP 21) and has somewhat of a precedent in, e.g., Zarr (get_coordinate_selection). When "zipping" integer arrays, one is effectively describing index coordinates ((0,0), (2,1), ...).
I think it is also worth including orthogonal_index, given its usage in MATLAB, R, Fortran, Julia, and elsewhere. Similarly, we'd define
def orthogonal_index(x: array, *index_args: Union[int, Sequence[int, ...], array]) -> array

where index_args must again be integers, a sequence of integers, and/or one-dimensional arrays of integers, with len(index_args) == rank(x). Similar to oindex in NEP 21, each index argument would independently index the dimensions of x, matching the existing specification semantics of multi-axis indexing.
The biggest omission in the above is the absence of slice support and much of the convenience associated with ellipsis and colons. I think this can be addressed by modifying the above APIs to accept an axes kwarg.
def coordinate_index(x: array, *index_args: Union[int, Sequence[int, ...], array], axes: Optional[Sequence[int]] = None) -> array

def orthogonal_index(x: array, *index_args: Union[int, Sequence[int, ...], array], axes: Optional[Sequence[int]] = None) -> array

When axes is None, the number of index arguments must match the rank of x. When axes is an integer sequence, the number of index arguments must match the number of provided axes. For omitted axes, this would be the equivalent of the colon operator (i.e., an integer sequence specifying all elements along a dimension). This design is a generalized extension of Julia's selectdim API and, for that matter, the current take specification.
Optionally, instead of variadic interfaces, one could do something like
def coordinate_index(x: array, index_args: List[Union[int, Sequence[int, ...]], array], /, *, axes: Optional[Sequence[int]] = None) -> array

def orthogonal_index(x: array, index_args: List[Union[int, Sequence[int, ...]], array], /, *, axes: Optional[Sequence[int]] = None) -> array

where index_args must be a list of index arguments.
While the axes kwarg gets us quite far in terms of ergonomics, we still would lack a bit of the power (and problems) of NumPy's advanced "mixed" indexing semantics. For example, one would not be able to provide a slice which reverses and skips every other element. However, should this sort of mixed indexing be desired, we could, potentially, either extend the above APIs to allow explicit slice objects or standardize new APIs supporting more generalized slicing. As it is, especially for arrays supporting views, the omission of generalized slicing is, at worst, an inconvenience.
>>> x = orthogonal_index(x, [0], [0,1], [1,1], [2], axes=(1,3,4,6))
>>> y = x[::-1,...,::-2,:]

Another possible future extension is the support of integer index arrays having more than one dimension. As in Julia, the effect could be creation of new dimensions (i.e., the rank of the output array would be the sum of the ranks of the index arguments minus any reduced dimensions).
In short, my sense is that standardizing indexing semantics in functional APIs gives us a bit more flexibility in terms of delineating behavior and more readily incrementally evolving standardized behavior and avoids some of the roadblocks encountered with the adoption of NEP 21 and discussions around backward compatibility.
Addendum
There are also various scatter/gather APIs in PyTorch, JAX, and TensorFlow; however, there is a decent amount of divergence in terms of kwargs, etc, and IMO additional complexity beyond what we are trying to do here.

Sorry, maybe this is answered elsewhere but, why not making coordinate_index and orthogonal_index properties/functions returning an object with a __getitem__ method, so that you can use slices and ellipsis? E.g.:
As a property:
x.coordinate_index[[1, 3, 4], :, [7, 1, 2], ...]

As a function:
xp.coordinate_index(x)[[1, 3, 4], :, [7, 1, 2], ...]

@vnmabus That is essentially NEP 21. Not opposed, but also that proposal was written in 2015 and still draft. There the naming conventions were oindex and vindex.
In general, in the standard, we've tried to ensure a minimal array object and moved most logic to functions.

I will note I liked orthogonal back in the day, but outer hints to the same concept and might already be a word that is being used elsewhere.

Just a brief ntoe: NEP 21 never was implemented in NumPy, butoindex and vindex were adopted elsewhere in the Python array ecosystem, by at least Xarray, Dask, Zarr-Python and TensorStore.
I still think the minimal option of adding support for all integer arrays like NumPy in __getitem__ would probably be enough for the Array API  In practice, libraries would implement this as a combination of two operations:

Broadcast indexes against each other
Coordinate based indexing.

Even libraries that don't currently support array-based indexing (like TensorFlow) could add this pretty easily as long as they have an underlying primitive for coordinate based indexing.
There are lots of variations of vectorized/orthogonal indexing, but ultimately if zip/coordinate based indexing is available, that's enough to express pretty much all desired operations -- everything else is just sugar.

The only comment I have is that I do not like the idea of having such functions in the main namespace if we think that .oindex is the obvious choice in NumPy.
I don't believe that functions make implementation meaningfully easier for NumPy.  The subclass problem is pretty much identical (you either do something sensible or refuse to do it).
The apparent convenience of being able to implement it in Python isn't any harder for a method, if you cut the corner of integrating it deeper.
Now, I don't mind having the functions.  I just think NumPy should have one obvious solution and that should probably be .oindex.  But then, I still don't see a problem with mild difference between the NumPy main and __array_namespace__ namespaces.

What do you mean by "the subclass problem"?
I think the functional suggestion was done for primarily two reasons:

It doesn't force one type of indexing into the main array.__getitem__.
Using __getitem__ also implies that __setitem__ will be defined, but that's more complicated.

My personal view is that it's fine to make __getitem__ default to the NumPy "coordinate" semantics. And also, despite the difficulties with __setitem__, it seems to be something that people actually need, so we will eventually have to standardize it at least optionally.
In fact, my general impression has been that standardizing __setitem__ or at least some functional equivalent is more important than advanced integer array indexing ("advanced" meaning more advanced than take). It would be good to get some feedback from scipy, scikit-learn, and others on what their needs are.

We discussed this topic in a call today, and concluded that given the number of incoming links and demand for it, it's time to move ahead with allowing indexing with a combination of integers and integer arrays. It seems like there is enough demand and consensus that this is useful, and it looks like there are no serious problems as long as it's integer-only (combining with slices, ellipses, and boolean arrays is still not supported).
A few more outcomes and follow-up actions:

It is necessary to verify that (a) this is supported or supportable with not too much effort by all known array libraries, and (b) it needs support via array-api-tests to ensure we can actually verify the PR with the spec for this without finalizing it.
The two main concerns (coordinate vs. outer indexing, and __getitem__ vs. __setitem__) didn't seem like blockers:

all known array libraries have numpy-style behavior, the "some new library may want to implement outer indexing in __getitem__ seems hypothetical and unlikely to occur in the future
__getitem__ and __setitem__ can be treated independently; we have larger fish to fry with __setitem__ still (mutability), and if we do get that done in the future, all-integer indexing should be supportable as well (and if not, that's still not a real problem)

the idea of either a new functional API for this or extending take was not received very enthusiastically, because (a) it'd be a lot more work, (b) it's less readable, and (c) it wouldn't as easily be extensible further (square bracket notation allows slices)

Some other details from the meeting:

The primary thing that should be supported is integers + integer arrays. Mixing other index types with integer arrays such as slices, newaxes, ellipses, and boolean arrays should not be supported.
We should support the NumPy behavior where all integer and integer arrays are broadcasted together first. This allows outer indexing, and @shoyer pointed out that it's often easier for libraries to make optimizations if index arrays are left unbroadcasted by the user. However, we should verify that these semantics are fully supported by existing libraries.
We should consider allowing an ellipsis to precede all integer arrays (like x[..., 0, arr]). We should determine if this is well supported among existing libraries.

We can always implement the minimal semantics now and expand what else is supported later. For instance, potentially in the future we could allow ellipses, slices, and newaxes to be mixed with integer arrays as long as they are all either at the start or end of the index (the confusing case in NumPy is when integer arrays are on either side of slices, which I think everyone agrees we should never try to standardize). Slices in particular might be important to support as that allows inserting empty slices in the index to select over a particular axis (like x[:, :, idx]).
@shoyer pointed out that a downside to implementing only a subset of NumPy behavior is that it isn't obvious to users what indexing semantics are and aren't part of the standard, but 1) this is already the case (for instance, the standard only allows a single boolean array index, and the standard leaves out-of-bounds integer and slices unspecified), and 2) users can check this using array-api-strict, which errors on unspecified indexing behavior.

Also it's probably worth pointing out: if any behavior isn't implemented in a library, we can't easily work around it in the compat library (the best we could do would be to add a helper function). So we should take that into consideration if anything actually isn't implemented somewhere.

For instance, potentially in the future we could allow ellipses, slices, and newaxes to be mixed with integer arrays as long as they are all either at the start or end of the index

👍 This is important for a bunch of my use cases (e.g. image[rr, cc] = [r, g, b]) but I agree that a staged roll-out is a good plan. Excited to see progress here! 😊🚀🙏

Another question to consider for __setitem__ is whether setting an array with a different dtype should be allowed. NumPy allows it but PyTorch does not:
>>> a = np.array([0])
>>> b = np.array([1], dtype=np.int32)
>>> a[np.array([0])] = b

>>> a = torch.tensor([0])
>>> b = torch.tensor([1], dtype=torch.int32)
>>> a[torch.tensor([0])] = b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: Index put requires the source and destination dtypes match, got Long for the destination and Int for the source.

(curiously, PyTorch does allow this sort of thing in other indexing contexts. For instance, a[:] = b works, as does a[0] = b[0]).

NumPy allows assignment of an array with any dtype, which is clearly broken:
import numpy as np
x = np.zeros(2, dtype=np.int32)
x[:] = np.array(np.nan)

This results in an array with garbage values, and a warning: RuntimeWarning: invalid value encountered in cast
If we allow casting, it should definitely be restricted to "safe" casting (e.g., assigning a strictly smaller dtype). The conservative choice would only be to allow matching dtypes or compatible Python scalar types.

Is anything in particular blocking this from moving forward? This is probably the highest priority array API feature for Xarray users.

@shoyer No known blockers. This should make it in v2024 and be included, ideally, sometime in January (after the holidays).


Allow creation of .classpath classpathentry tags which have no output attribute

This attribute is not required by Eclipse, so we shouldn't force it to be filled out that way we have the option of using the Eclipse default.

I don't know why this requires a major version bump, especially compared to the 0.12 stuff that #211 references


✨ Improve type definition of parse function

Now users can optionally supply the type of the parsed data like the following:
const myData = toml.parse<MyData>(myInput);
//        ^? MyData

instead of doing
const myData: MyData = toml.parse(myInput);

Notice that the default type is still any thus both approach above works.

As an workaround to this, I augmented toml with this ambient file:

toml.d.ts
declare module 'toml' {
  export function parse<TOutput = any>(input: string): TOutput;
}

Hi @BinaryMuse! can you please review this one? it should be pretty straightforward :smiley:

I fond that this is a bad style. We should return unknown instead


Improve usability of platform setup guide

The platform setup guide describes how to setup a K8s cluster for deploying Carbyne Stack. You need two of them to launch a CS Virtual Cloud. Currently, the commands in the guide have to be adapted to setup these two clusters manually. A feature of Material for mkdocs called Linked content tabs could be used to let the user select whether the apollo or starbuck cluster is to be launched. This would switch tabs containing instructions for the one or the other throughout the whole guide with a single click. This removes the need for manually adjusting commands and would greatly improve  user experience.

Blocked by #6

#6 has been completed. So we can go ahead with this.


THRIFT-2974 fix optional writeToParcel

Fix for THRIFT-2974 which causes NPEs whenever struct with an unset optional enum is written to an Android Parcel.
Thrift IDL docs specify that enum values must be greater than or equal to zero. We can write -1 to the parcel to represent an unset enum. The corresponding code for reconstructing the struct (see line 1728) uses the TEnum.findByValue method which will return null for any unused enum values, which will always include -1.

Changes Unknown when pulling fb9aec028a47f14ad8377799425277f4c77a7cfe on maxspencer:patch-1 into ** on apache:master**.


Can't connect vanna to MySQL

I'm trying to login to MySQL. I have used the correct mysql credentials and followed the instructions from the docs. But I get an error
when I try connecting.
This is the code I run;
!pip install -qU 'vanna[chromadb,mistralai,mysql]'

from vanna.chromadb import ChromaDB_VectorStore
from vanna.mistral import Mistral

vn.connect_to_mysql(host='localhost', dbname='***', user='****', password='*******', port=3306)
Expected behavior
I expected to be connected to MySQL.
Error logs/Screenshots
ValidationError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 99] Cannot assign requested address)")
I'm running this on Google Colab

Python: [3.10.12]
Vanna: [0.7.5]

Please help as I'm a newbie in VannaAI

localhost means a database in local environment, thus requires a mysql server on Google Colab. If you want to test your own mysql on your machine, Google Colab is not an option.

Hi @zifeiYv, yes you're right localhost points to my local environment while Google colab is pointing to Google servers. But after intensive research, I have managed to expose my local environment to the internet using ngrok which enabled me to access my local mysql in google colab.
@zainhoda, how do I contribute and include my solution is venna docs. I believe many people want to to use vanna in colab and this solution will be helpful. Guide me as I want to make my first contribution to the community. Thanks!


[Bug]-[Infinity]:JSObject this. doesn’t work similar to javascript for few cases

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Current JSObject logic to replace this. with JSObjectName. causes JSObject to not handle as expected according to javascript spec.
Intercom user query link
User shared screenshot

Steps To Reproduce

Create a JSObject

export default {
myFunc: () => {
     const obj = {
           test: [1,2,3],
           getList(){ return this.test; }
     }
     return obj.getList()
}
}

call myFunc and check output

Workaround
Instead of using this.test use obj.test to point the particular object.
export default {
myFunc: () => {
     const obj = {
           test: [1,2,3],
           getList(){ return obj.test; }
     }
     return obj.getList()
}
}

Version
1.7.9

@Rishabh-Rathod @arunvjn could you add an estimate for fixing this issue?


I get white out when I try to display an Iframe with srcdoc attribute and src=dataurl. InAppWebView(iOS17)

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.7.11

Plugin version
5.8.0 / 6.0.0 beta31

Android version

iOS version
17.1.2

macOS version
14.0

Xcode version
15.0.1

Google Chrome version

Device information:
Description
Expected behavior:
it should display iframe contents
Current behavior:
it displays blank screen
Steps to reproduce
if I try to display the following iframe with InAppWebView, the content will be blank.

https://jsfiddle.net/6bo8drk1/

This
Than that
Then

Images
Stacktrace/Logcat
no error on web inspector console log

I found solution.
https://stackoverflow.com/questions/41250162/wkwebview-not-loading-content-from-iframe-on-a-webpage

I have the same error and I fear @hisohiso3b's solution does not work. While it prevents the error, it also prevents loading the content of the iframe, at least for me. In my case, I am loading a TinyMCE editor. This only applies to iOS, not to Android.

still happening only with ios working well with android using 6.0.0

@hisohiso3b  can you post your answer I am not comfortable with swift code.

@Sumit258000
This issue is occurring because the Swift implementation of the inappwebview library does not consider iframes and is blocking all iframe communications.
As suggested in the Stack Overflow answer, allowing communications for frames other than the main frame (i.e., iframes) by using decisionHandler(.allow) will enable the communications.
I cloned the library locally and made the fix directly. However, it is too cumbersome, and I do not recommend this approach at all. I suggest contacting the developers, creating a pull request, or considering migrating to a library that does not have this issue.

@pichillilorenzo
but, inappwebview is pretty libraly. love it. best libraly. really reduce my larger time,,thankyou.. and maybe someone recreate all of them code,, I almost  gave up


Cinema4D R20: Py-Preference.pyp do not loading on startup

Traceback (most recent call last):
File "C:\Users\mikeu\AppData\Roaming\MAXON\CINEMA 4D R20_4FA5020E\plugins\Py-Preference\Py-Preference.pyp", line 105, in Init
self.InitValues(c4d.DescID(c4d.DescLevel(c4d.PYPREFERENCE_CHECK, c4d.DTYPE_BOOL, 0)))
AttributeError:'module' object has no attribute 'PYPREFERENCE_CHECK'

This is most likely due to symbolscache, try to remove it, it should solve the issue.
See https://plugincafe.maxon.net/topic/11361/dealing-with-symbolcache/6.
Cheers,
Maxime.


Stack [JAVA]

https://en.wikipedia.org/wiki/Stack_(abstract_data_type)
Following Functionalities I will add:

Print
Push
Pop
Peek
Get size

Will create a separate class for it and test in Main class.
Any suggestions over any particular thing I should use?

@singhpratyush @aviaryan @jsroyal @aashutoshrathi
Shall I use array or linked list for its implementation?

The Linked list would be good if you can implement.

@aashutoshrathi I will assign it myself when I am done with my current assignments, until then if anyone else is interested they might take the issue. 😄


feat(mikro-orm): provide the ability to set an isolation level

Information

Type
Breaking change

Feature
No

Usage example
By default, IsolationLevel.READ_COMMITTED is used. You can override it, specifying the isolation level for the transaction by supplying it as the isolationLevel parameter in the @Transactional decorator:
@Post("/")
@Transactional({isolationLevel: IsolationLevel.SERIALIZABLE})
create(@BodyParams() user: User): Promise<User> {
  return this.usersService.create(user);
}

The MikroORM supports the standard isolation levels such as SERIALIZABLE or REPEATABLE READ, the full list of available options see here.
Todos

[x] Tests
[x] Coverage
[x] Example
[x] Documentation

closes #1979

Perfect @derevnjuk  ;)

If it's good for you I can merge it ;)

@Romakita thanks, let's merge it)

:tada: This PR is included in version 6.117.0 :tada:
The release is available on:

v6.117.0
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.0.0-beta.13 :tada:
The release is available on:

v7.0.0-beta.13
GitHub release

Your semantic-release bot :package::rocket:


St/abstract forge message builder refactor

Going to close it because of the comment for the Tx types above.


fix: create hooks dir, when hooks dir not exists

create .git/hooks dir, when .git/hooks dir is not exists.

Hey, this is pretty useful. Thanks

Thanks!


Render command error: Cannot read properties of undefined (reading 'name')

And here is the log detail below about this error.

Command 'DGMLViewer: Render the dgml graph' resulted in an error (Cannot read properties of undefined (reading 'name'))

[2022-07-01 15:21:57.749] [exthost] [error] TypeError: Cannot read properties of undefined (reading 'name')
	at t.DgmlParser.parseDgmlFile (c:\Users\Administrator\.vscode\extensions\coderallan.vscode-dgmlviewer-2.2.3\dist\extension.js:1:12655)
	at c.execute (c:\Users\Administrator\.vscode\extensions\coderallan.vscode-dgmlviewer-2.2.3\dist\extension.js:1:6196)
	at c:\Users\Administrator\.vscode\extensions\coderallan.vscode-dgmlviewer-2.2.3\dist\extension.js:1:42575
	at o._executeContributedCommand (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:62521)
	at o.$executeContributedCommand (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:63225)
	at s._doInvokeHandler (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:13828)
	at s._invokeHandler (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:13512)
	at s._receiveRequest (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:12173)
	at s._receiveOneMessage (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:10843)
	at c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:8949
	at g.invoke (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
	at b.deliver (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265)
	at v.fire (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843)
	at a.fire (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19025)
	at c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:34863
	at g.invoke (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
	at b.deliver (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265)
	at v.fire (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843)
	at a.fire (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19025)
	at r._receiveMessage (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:23606)
	at c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:21140
	at g.invoke (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145)
	at b.deliver (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265)
	at v.fire (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843)
	at v.acceptChunk (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:15856)
	at c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:14986
	at Socket.R (c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:13798)
	at Socket.emit (node:events:390:28)
	at addChunk (node:internal/streams/readable:315:12)
	at readableAddChunk (node:internal/streams/readable:289:9)
	at Socket.Readable.push (node:internal/streams/readable:228:10)
	at Pipe.onStreamRead (node:internal/stream_base_commons:199:23) vscode-dgmlviewer.dgmlViewer {"value":"coderAllan.vscode-dgmlviewer","_lower":"coderallan.vscode-dgmlviewer"}

Thanks for the error report.
Can you provide a minimal dgml-file that reproduces the issue?
It would help a lot in the debugging :-)

The vcpkg depend-info opencv --dgml > opencv.dgml command creates this file, but I also tried your example file with the same error.
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
  <Nodes>
    <Node Id="libjpeg-turbo" />
    <Node Id="liblzma" />
    <Node Id="libpng" />
    <Node Id="libwebp" />
    <Node Id="opencv" />
    <Node Id="opencv4" />
    <Node Id="protobuf" />
    <Node Id="quirc" />
    <Node Id="tiff" />
    <Node Id="vcpkg-cmake" />
    <Node Id="vcpkg-cmake-config" />
    <Node Id="vcpkg-get-python-packages" />
    <Node Id="zlib" />
  </Nodes>
  <Links>
    <Link Source="libjpeg-turbo" Target="vcpkg-cmake" />
    <Link Source="libjpeg-turbo" Target="vcpkg-cmake-config" />
    <Link Source="liblzma" Target="vcpkg-cmake" />
    <Link Source="liblzma" Target="vcpkg-cmake-config" />
    <Link Source="libpng" Target="vcpkg-cmake" />
    <Link Source="libpng" Target="vcpkg-cmake-config" />
    <Link Source="libpng" Target="zlib" />
    <Link Source="libwebp" Target="vcpkg-cmake" />
    <Link Source="libwebp" Target="vcpkg-cmake-config" />
    <Link Source="opencv" Target="opencv4" />
    <Link Source="opencv4" Target="libjpeg-turbo" />
    <Link Source="opencv4" Target="libpng" />
    <Link Source="opencv4" Target="libwebp" />
    <Link Source="opencv4" Target="protobuf" />
    <Link Source="opencv4" Target="quirc" />
    <Link Source="opencv4" Target="tiff" />
    <Link Source="opencv4" Target="vcpkg-cmake" />
    <Link Source="opencv4" Target="vcpkg-cmake-config" />
    <Link Source="opencv4" Target="vcpkg-get-python-packages" />
    <Link Source="opencv4" Target="zlib" />
    <Link Source="protobuf" Target="vcpkg-cmake" />
    <Link Source="protobuf" Target="vcpkg-cmake-config" />
    <Link Source="quirc" Target="vcpkg-cmake" />
    <Link Source="quirc" Target="vcpkg-cmake-config" />
    <Link Source="tiff" Target="libjpeg-turbo" />
    <Link Source="tiff" Target="liblzma" />
    <Link Source="tiff" Target="vcpkg-cmake" />
    <Link Source="tiff" Target="vcpkg-cmake-config" />
    <Link Source="tiff" Target="zlib" />
    <Link Source="zlib" Target="vcpkg-cmake" />
  </Links>
</DirectedGraph>

I can't reproduce the error. The file renders correctly when I try it as you can see from the screenshot below.
What version of Visual Studio Code are you using? And what operating system? What version of the DGMLViever extension?

I have reproduced the exact error message you get. I did it by introducing an error in the xml file, removing a '<' from the  tag or the <?xml.. tag.
So you must have a similar error in you xml.
I will see if I can somehow make the error message more user friendly.

Em, I have to say, I got this message at two same windows hosts.
The version of vscode is shown below.

Where can I get more detail to debug this problem?

I reproduced the error by trying to render a corrupt xml file.
Have you verified that the xml you are trying to render is valid?

Of course, I rendered it in vs 2019, and everything's ok.

Can I get you to place the exact file you are testing with, in the examples folder and create a pull request. That way I can test with the exact same file you are having problems with. Maybe the issue is some hidden characters in the file.

Done

I cannot reproduce the error with the file you provided. It work fine when I render the file.
Try to uninstall the extension and the install it again to see if that helps.

Reproduce
When I debug it line by line, here is what I see about the XML file header.

And in Hex Editor

I'll upload this file latter.

BTW, this file is created by some windows command > opencv.dgml.
Maybe this could explain how the character comes from.

I can now reproduce the error with the file that have hidden characters.
I will work on a solution that will make vscode-dgmlviewer resilient to that.

Issue fixed in v2.2.4


Expense - Decimal numbers appear in RHP after refreshing the page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.12-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4766431
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Open https://staging.new.expensify.com/
Log in with HT account
Navigate to DM with any user
Tap on + Menu -> Submit expense -> Manual
Enter any amount -> Next
Navigate back to enter the amount "<"
Refresh the page

Expected Result:
Decimal numbers should not appear after refreshing the page with open input of the amount of expense in the RHP
Actual Result:
After refreshing the page with open input of the amount of expense, decimal numbers appear
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/b9f208e7-0611-438e-b3cc-e30ac905d2da
View all open jobs on GitHub

@mallenexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
After refreshing the page with open input of the amount of expense, decimal numbers appear
What is the root cause of that problem?
When we initial the amount, we always format the amount with decimals as the currency's decimals
https://github.com/Expensify/App/blob/61150f14e8346c8423af6d7660169377d1e72d01/src/pages/iou/MoneyRequestAmountForm.tsx#L153
What changes do you think we should make in order to solve the problem?
In convertToFrontendAmountAsString function, we should get the current decimal of the amount and we can minimize the decimals format if the decimals of the amount are less than the currency's decimal

Create a countDecimals function that returns the decimals of the amount

function countDecimals(amount: number): number {
    const frontendAmount = Math.trunc(amount) / 100.0;
    if (Math.floor(frontendAmount) === frontendAmount) {
        return 0;
    }
    return frontendAmount.toString().split('.')[1].length || 0;
}

Add an extra param shouldMinizeDecimal in convertToFrontendAmountAsString function and if it's true we will minimize the decimals if need

function convertToFrontendAmountAsString(amountAsInt: number | null | undefined, currency: string = CONST.CURRENCY.USD, withDecimals = true, shouldMinizeDecimal = false): string {
    if (amountAsInt === null || amountAsInt === undefined) {
        return '';
    }
    const decimals = withDecimals ? getCurrencyDecimals(currency) : 0;
    const amountDecimals = countDecimals(amountAsInt);
    const finalDecimals = shouldMinizeDecimal ? Math.min(amountDecimals, decimals) : decimals;
    return convertToFrontendAmountAsInteger(amountAsInt, currency).toFixed(finalDecimals);
}

Pass shouldMinizeDecimal as true here

const frontendAmount = newAmount ? CurrencyUtils.convertToFrontendAmountAsString(newAmount, currency, true, true) : '';

https://github.com/Expensify/App/blob/61150f14e8346c8423af6d7660169377d1e72d01/src/pages/iou/MoneyRequestAmountForm.tsx#L153
OPTIONAL: We can also pass  shouldMinizeDecimal as true here. So the amount can be displayed the same on the confirmation page or add an extra param in this function to know whether we should minimize the decimals and only pass it as true on the confirmation page and other places that we need.
const convertedAmount = convertToFrontendAmountAsInteger(amountInCents, currency);

https://github.com/Expensify/App/blob/61150f14e8346c8423af6d7660169377d1e72d01/src/libs/CurrencyUtils.ts#L116
What alternative solutions did you explore? (Optional)

Closing, posted in #expensify-open-source here

Expense - Decimal numbers appear in RHP after refreshing the page
Closing the above, seems frivolous and not worth fixing.
tl,dr: The amount initially shows ass 100 when submitting an expense, if you refresh the page with the RHP open it then shows as 100.00.
Comment and/or reopen if you disagree.


Bind additional contexts to flush requests

What is the context of this PR?
This binds new context vars to our logs on flush requests. New values are exercise id, schema name and schema url where applicable.
How to review
Two new unit tests added to test both logs with and without schema_url present.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

 Bind additional contexts to flush requests (1 SP)


Example for nested frontmatter

Hey @PaulHalliday , thanks for the amazing library. Great job!
How to serialize nested frontmatter, with freezed?
I tried to do as discussed here with no luck:
https://github.com/rrousselGit/freezed/issues/86#issuecomment-957956629
Error I get is :
type 'YamlMap' is not a subtype of type 'Map<String, dynamic>' in type cast,
An example how to serialize and access nested frontmatter would be a huge help!
I am trying to parse a frontmatter like this, place is being returned as YamlMap instead of Map<String,dynamic>
---
name: "foobar"
date: 1990-09-01
place:
  birth: "London"
  death: "Paris"
---

Sorry I missed this @mkhnpr!
Glad you've sorted it though!


Support Volumes on kind: Prometheus

It would be useful if we had the ability to express Volumes in the Prometheus Operator's CRD kind: Prometheus.  These volumes would be useful for passing data between initContainer instances that are part of a Prometheus instance pod.  A particular use case for this is when trying to use InitContainers to log into and fetch secrets from Vault, then insert them into template files (the 'vault-auth/consul-template' process).  Secrets could include things such as TLS certs, as well as login creds for scrap targets, etc.
InitContainers themselves are not currently supported in the operator's Prometheus object, either.  However, there is an existing issue that seeks to address that:
https://github.com/coreos/prometheus-operator/issues/1888

I'd like to focus on the end goal which is fetching secrets from vault to use by Thanos. initContainers seem like a poor mechanism for this, volumes on the other hand with something like this seems like a reasonable approach. What do you think of that?

@brancz -- To be clear, the initContainers in question here just run the Vault login and consul-template processes, in a defined order.
However, the fact that they can be used to prevent the rest of the Pod's containers from starting if they don't succeed is a desirable trait.  Such is the case where the initContainers are pulling secrets that are critical to the operation of the 'main' containers; this fast-fail prevents perhaps less obvious errors further down the line.  TBH, I thought there was a symmetry between the way the PromSpec allows for arbitrary Containers definitions, and this request for something similar but for initiContainers.  Aren't they kind of similar?
Also, when you're talking about 'something like' the secrets-store-csi-driver project -- did you mean that we should try using that, or were you proposing that having a solution (baked into the Prometheus Operator) that leverages volumes for secret passing would be a good model?

I was suggesting to use that csi volume provider to provide the secrets to the prometheus container as opposed to init containers (and us adding support for mounting volumes enabling to use that), as I fear they will cause inconsistent setups causing unreasonably higher support burden on us.

@brancz -- If any initContainer specs in the PrometheusSpec were simply propagated to the final StatefulSet configuration (the way that the PrometheusSpec.Containers are, what additional support burden would that place on the project?  If users specified invalid Volume information, that would be their error to deal with, no?

I think it would be ok to add specification of init containers, however, I want us to explicitly call out that these are only meant to be used for secret fetching use cases, all other use cases are unsupported and will not be triaged (eg. config modification, permission fiddling, etc.).

This work has been done, (see reference above) and is almost mergable.  Resolve some conflicts and update API docs to reflect intended use of initContainers

Two things:

The work to add initContainers the PrometheusSpec has already been done, and is almost ready to merge.  All that remains is resolving conflicts and updating the API doc to suggest that users only use initContainers to fetch secrets, and that other uses are not supported.

If we consider the initContainers issue sorted, thenVolumes would be a similar extension of the Prometheus CRD.  Does anyone have any objection to that in principle/theory?  I could do the work on that, modeled after the way @tongpu added initContainers.


Include equipment UID type in LIVD sync

Background
ReportStream has asked us to send equipment UID type for devices in our FHIR messages as part of their effort to onboard NY to the Universal Pipeline. This is a field in the LIVD table. In order to send this we need to add the field to our backend and sync with the LIVD table so we have that device info. This ticket also includes the work to add the field to our backend and in our database.
Action requested
Update our LIVD sync to include the field Equipment UID Type. We will also need to update our database to support persisting this field. Run the LIVD sync to update the values.
Acceptance criteria

new column in our Device Type Disease table for Equipment UID Type
for devices that sync with the LIVD table, the Equipment UID Type column is accurately populated with what's in the table when we run the LIVD sync
equipment UID type values are updated in our prod database. please run dry-run option first and do some verification that changes look good

sync done on 10/19 and validated by engineering members


Support com.schriftgestaltung.Glyphs.ComponentInfo glif lib key to round-trip anchor alignment information

Needed for e.g. assigning acutecomb to the circumflex' top_viet anchor for Vietnamese. The information is lost otherwise.
@schriftgestalt Out of curiosity, how are anchors ordered to serve as indices?

As far as I can see the index is for the component itself and has nothing to do with the anchors. It is a hint that the components were changed outside of Glyphs and thus the component info is invalid.
I just added support for storing the anchors.
      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
      <array>
        <dict>
          <key>anchor</key>
          <string>top_1</string>
          <key>index</key>
          <integer>1</integer>
          <key>name</key>
          <string>acutecomb</string>
        </dict>
      </array>

Huh. So how does Glyphs know which anchor a component attaches to when automatic alignment is enabled?

Mostly only by matching a "_XX" anchor with the "XX" counterpart. The UI presents an option to pick alternate anchors when there are multiple "XX_YY" anchors (for ligatures or possibly "top_viet"). Can you send me a sample that contains the "top_viet" anchor?

https://gitlab.gnome.org/GNOME/cantarell-fonts/blob/c7d72e2cd75522c3d522c946e4380cdc18a68ef8/src/Cantarell.glyphs

I see. By default, it will pick the _XX XX pair. But it shows all the extras anchos in as alternatives in the anchor menu. When the used selects one of it, it will use this one instead.

Yes. What data is stored in com.schriftgestaltung.Glyphs.ComponentInfo, aside from the anchor attachment?

It is only there to record the alignment state of the components.


How to save poses?

Hello, i want to get poses of every timestamp. How to use the "Save poses..." button?
There is nothing When i click it, thank you.

Hi @Lyusijie,
you have to enter a filename in the file dialog that should open. However, the default value was not very useful, therefore I changed it to a (hopefully) more sensible value.
Hope that solves your problem.

Thank you, but there isn't file dialog opened when i click "Save poses..." button.
But "select laserscan file" and "select output directory" is ok

This following code connects the button with the savePoses() function:
https://github.com/jbehley/SuMa/blob/1beb131cbad33edf157d0a2333fb6193ffd6cc23/src/visualizer/VisualizerWindow.cpp#L172
Unfortunately, it's not possible for me to reproduce your error...

@Lyusijie, if the problem still is relevant, please re-open the issue again. Thanks


tiny improvement in error message

this pr makes a tiny improvement to the error message when the epoch is < 0. it also removes the f-string because it's not needed.

Okay, thanks!


fix: enable 1d tensor transpose

This PR enables transposing of 1D tensors. This is also the default behaviour in other tensor libs.
Pull Request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

If you try to transpose 1D tensor, the program panics.
What is the new behavior?

The program doesn't panic, but returns the same tensor as is the input.
Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

@all-contributors add @Vid201 for code


Project Submission

Description

Splash screen
Sign up and log in pages
Home page (categories page)
Transactions page
"Add a new category" page
"Add a new transaction" page
All integration and unit tests

Live Demo: https://pocket-ledger.onrender.com/

Hi @utsargo 🙋 ,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request ❌
You have submitted a project, that lacks a 5 minute video presentation.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Can I have multiple  in a custom tooltip?

Question
How can I make the phone and directions to be pressable?

I could sure use some help with this one too... @robertmylne did you ever end up figuring this out on your own? if yes, any chance you can post an example?


Autopep8 corrupting notebooks with !pip command

autopep8 changing order of import and !pip install command so notebook became corrupted because I want my !pip install command to be the first cell in the notebook.
Is there some parameter that I can use with autopep8 to avoid it?
Cheers : )
Steps to recreate
before:
# cell 1
!pip install -q pandas
# cell 2
import pandas as pd

after:
# cell 1
import pandas as pd
!pip install -q pandas

pre-commit-config.yaml
repos:
  - repo: https://github.com/nbQA-dev/nbQA
    rev: 1.2.2
    hooks:
      - id: nbqa-autopep8

Thanks @subpath for the report - this feels like a bug, I'll have a look

@subpath having looked into this furter, I don't think there's a bug
I don't think there's a way to turn off reording imports in autopep8 (as far as I can tell, at least), so I'd suggest using a cell tag to skip the first cell
Do let me know if that doesn't work for you and I'll reopen - thanks again for the report though, much appreciated


Add Installation guide to README

you may use the guidelines below, in README.md ,create a subheading Installation then add these below;
The React UI repository uses PNPM Workspaces . To install dependencies, just simply run pnpm in the project root directory.
PS: pnpm is a package manger just like npm or yarn

I would like to contribute. Can you please assign me to this?

what's the minimum NodeJS version to use the package?
I see the GitHub pages deployment failed, is there any other live URL to the documentation website?

hi @jayanth-kumar-morem ,
please note that any node version >=16.14 should be compatible
https://github.com/OSCA-Kampala-Chapter/react-ui/blob/ee7d908871d7e4cbe30876e3fde56aa82b9a049a/reactui-docs/package.json#L41
for the deployment, please check again. there should be an active deployment

Hi @jayanth-kumar-morem any progress on this?


Problem with sending post requests

Hey, I have a problem with the API client. I can't send requests with a post budy if one of the values is a boolean. Am I doing something wrong?

Hi, body has to be Encodable, and the heterogeneous dictionary isn't. I would suggest either passing a dictionary of type [String: String], which is Encodable, or creating a custom Encodable struct to represent these parameters (recommended).


converting to jalali(gregorianToJalali method) calculate wrong date

Hi
There is a problem in converting date to jalali , a compare between the date used in unit test and
http://www.time.ir/ site reveals a bug in JalaliCalendar,for example date "2013, 2, 20"  is equivalent to "1391/12/02" in jalali not "1391/11/30"
or in my sample unit test was not passed test
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2015);
cal.set(Calendar.MONTH, 10);
cal.set(Calendar.DAY_OF_YEAR, 6);
Assert.assertEquals(JalaliCalendar.gregorianToJalali(new JalaliCalendar.YearMonthDate(cal)).toString(), "1394/07/14");
public static class YearMonthDate {
    public YearMonthDate(int year, int month, int date) {
        this.year = year;
        this.month = month;
        this.date = date;
    }

    public YearMonthDate(Calendar calendar) {
        this(calendar.get(YEAR),calendar.get(MONTH),calendar.get(DAY_OF_YEAR));
    }

Hi,
In default calendar of java, month starts with zero and the jalaicalendar follow this rule. for example value of 10 for month is equal to November and in your case "2013,2,20" is equal to 20 March 2013.
if you have any question let me know about it.
Thanks


Better description

Replaced awkward text with easier to understand version.

This file is autogenerated. You need to update the text in the source files (search).


How do I read a partitioned Parquet file on S3 from pandas?

I have data partitioned on S3 in the following way:
s3://mybucket/stock_bars_1min/ticker_agg/year=2018/2018.pq
s3://mybucket/stock_bars_1min/ticker_agg/year=2019/2019.pq
s3://mybucket/stock_bars_1min/ticker_agg/year=2020/2020.pq

How do I use this library to read this partitioned Parquet folder into Pandas DataFrame such that it will filter the data to 2020 if those are the only partitions I access/filter to in my DataFrame?
I read the documentation but I don't see an actual usage, just API docs.

Hi @rjurney, thanks for reaching out.
wr.s3.read_parquet(
    path=path,
    dataset=True,
    partition_filter=lambda x: x["year"] == "2020"
)

Ref: Tutorial

Closing by inactivity.

What about returning returning results from multiple partitions?
For example, using the example above, I would like results from multiple partitions:
s3://mybucket/stock_bars_1min/ticker_agg/year=2018/2018.pq
s3://mybucket/stock_bars_1min/ticker_agg/year=2019/2019.pq
s3://mybucket/stock_bars_1min/ticker_agg/year=2020/2020.pq
when passing in the partition filter = partition_query= lambda x: x["year"] in ['2018', '2019'],
I only get one of the partition's data being returned. what am I missing here?


Adds support for resources.arsc parsing

Adds handling for release APKs where Android Resources are obfuscated.
Updates tests to test with obfuscated APKs
Adds test to ensure non-obfuscated APKs are also tested

I think we should wait for this until we have tests. Too invasive
👍 Tests are now passing for obfuscated APKs, non-obfuscated APKs and bundles.

Let's wait until we address loading the assets into memory before merging this

Thanks, I've moved to a streamed approach.

Let's wait until we address loading the assets into memory before merging this

Thanks, I've moved to a streamed approach.

Looks good to me, but I noticed that with this change, some other code can go away. Once that is gone, this can be merged.

Let's wait until we address loading the assets into memory before merging this

Thanks, I've moved to a streamed approach.

Looks good to me, but I noticed that with this change, some other code can go away. Once that is gone, this can be merged.

Thanks, done!


[controller] Report push error if too many DVC instances are dead

[controller] Report push error if too many DVC instances are dead"

If many instances are not reporting  heartbeat status to DaVinci pushstatus store, we can assume the ongoing push is not healthy. In this PR if more than 50% instances are not alive, and its been  more 5 mins its returns ERROR and fails the push job.
How was this PR tested?

CI
Does this PR introduce any user-facing changes?

[x] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

There are a few tests failing. Could you share some motivation for this change? Is it a short-cut to fail job? Because at the end it will fail the job anyway.

Today it will skip recording any status for dead instances, so it push starts failing instances (isInstanceAlive returns false), we wont recognized as it failed. This PR sets some threshold on how many instances are going bad and fails the push

Today it will skip recording any status for dead instances, so it push starts failing instances (isInstanceAlive returns false), we wont recognized as it failed. This PR sets some threshold on how many instances are going bad and fails the push

Just want to make sure I understand. So, DVC instances can be DEAD or ERROR. We report failure for ERROR but nothing for DEAD?

Today it will skip recording any status for dead instances, so it push starts failing instances (isInstanceAlive returns false), we wont recognized as it failed. This PR sets some threshold on how many instances are going bad and fails the push

Just want to make sure I understand. So, DVC instances can be DEAD or ERROR. We report failure for ERROR but nothing for DEAD?

Right,   not live or dead instances are ignored completely. And aliveness is detected a instances reporting heartbeats.


Simplified using of starter

Thanks again for this cool starter, I have some experience with it in big scale projects,
The first issue is in actions because for simple fetching we should write a lot of code.
The Second one is not needed to call another action to check we should call api or not.
So, I have these changes:

create a simple middleware in configureStore.js
I added Promise base middleware and i comment it because i want know your opinion about this.(If you ok please say to uncomment it)
I added Async base middleware(But i recommend use from Promise in our middleware because we can access to data and error straightly in our component from that action).
change actions usage
we should remove redux-thunk library because we don't need it any more

@alirezavalizade
Very appreciate for this idea. I have spent time to think about this idea. What I think is to keep action creator flexible. I mean the middleware indeed simplified the API calling. But there're some other use cases might need to involve redux store in action creator. For example, I'm using the firestore of Firebase which isn't fetch by axios and I need to get the status from my reducer to decide the next step etc.
BTW, why we don't need to prevent user from calling action repeatedly? Just curious.

I'm with you on this, But for me speed up in development is very important. We are using this starter for develop our projects and time is also very important for us, create several actions step by step with this way can waste the time! we can publish this feature on another branch for use.

@alirezavalizade OK, good idea.

Thank you, I'm going to send pull requests for cleaning up and update it in next days.

@alirezavalizade I list the branch here.

Perfect @wellyshen

@alirezavalizade I need some help for fixing the unit testing for the branch. If you're interesting about it. I can invite you as the contributor. How do you think about it?

@wellyshen It's ok i'm interested, I can help you.

@alirezavalizade Great! I sent the invitation to you.