history-substring-search not working after recent update

I updated oh-my-zsh on monday and the history-substring-search plugin stopped working without error messages. Zsh version is 5.0.8.

Working for me on OS X 10.9.5 with zsh 5.0.2 and 5.1.1, and on OS X 10.11 with zsh 5.0.8.
Could you post the output of omz_diagnostic_dump as a new Gist, so we can see some details on what's going on with your OMZ setup?

Here it is https://gist.github.com/fbbdev/b12abaa00c89d6799015
I suspect it's a key mapping problem, home and end keys also stopped working on the command line.

Could well be. Your bindings look right, but that stuff is tricky, and there could be something I'm not seeing. I'm assuming that the "stopped working" part is that up and down arrow no longer do the history substring search? What do they (and home/end) do now, if anything?
These are the up and down arrow bindings from your diagnostic dump.
"^[OA" history-substring-search-up
"^[OB" history-substring-search-down

And the home and end bindings:
"^[OF" end-of-line
"^[OH" beginning-of-line

Those look right for an xterm-256color tty, which your $TERM is set to. (Just make sure the terminal you're using is actually emulating an xterm.)
Those bindings probably depend on the application mode hooks working. If something is messing with those, it could cause you problems. (We should probably add those and other well-known zsh hook functions to the diagnostic dump.)
You could try doing Ctrl-V and then up/down arrow to verify what sequences they're sending.
You also have a custom zsh-syntax-highlighting plugin. There is at least some interaction between zsh-syntax-highlighting and history-substring-search, though I don't know the details. Try running without zsh-syntax-highlighting and see if that makes a difference.

Up/Down keys scroll through the history (normal behavior, without substring search).
Home/End keys when pressed emit beeps and do nothing.
I'm using gnome-terminal which is based on libvte. It should emulate an xterm.
Using Ctrl-V gives the following results:

↑: ^[[A
↓: ^[[B
Home: ^[[H
End: ^[[F

Disabling zsh-syntax-highlighting did not help.

Well, that's a good clue: those up and down arrow sequences do not match the xterm-256color key bindings you have for the history-substring-search-* actions. However, they do match the key sequences sent by xterm when it's in "local echo" keypad mode instead of "application" (aka "transmit") keypad mode. This is what happens when that smkx/rmkx logic in the lib/key-bindings hooks isn't working. (smkx/rmkx are what enable "keypad transmit" mode while the command line editor is running.)
You can see #2735 for a full, gnarly example of this in action, where the issue broke this same plugin for other users.
There's at least three possibilities:

Something in the recent update broke the smkx/rmkx logic for you, and now your terminal is sending different codes for the keypad button while you're editing the command line
You were running a really old version  of history-substring-search (from early 2014, before this commit which used hardcoded key bindings and the "local mode" xterm key codes instead of the "transmit mode" key codes. Your terminal has been sending the same codes all along, but history-substring-search changed what it was binding to. (The new way is probably what you actually want, since it's what terminfo supports and zsh itself seems to be settling on.)
Something else outside of OMZ changed recently and it's affecting something in this chain of bindings.

Welcome to the unpleasant fiddly parts of terminal configuration. One of OMZ's goals is to take care of this for you and make it work by default. But we're still getting there.
Regardless of the underlying cause, I think the best approach to fix it (and to determine what went wrong) is to figure out why your smkx/rmkx isn't working. What are your zle-line-init and zle-line-finish functions defined as?
[~]
$ which zle-line-init
zle-line-init () {
	echoti smkx
}
[~]
$ which zle-line-finish
zle-line-finish () {
	echoti rmkx
}
[~]
$

I was having a similar problem just now but I noticed that i had bindkey -v set in my .zshrc.  when I commented that out it seamed to fix it so you might look into a conflict with vi mode.  I noticed that you do have the same setting in /etc/zshrc so commenting that out could solve the problem for you (although then you lose your vi mode which is kind of a big trade off so it is up to you)
I hope this helps some.

@jtbairdsr: Yeah, that's one of the problems. The thing about bindkey is that it installs a key binding into the current keymap, the one which is aliased to main. In OMZ, that is the emacs keymap, because lib/key-bindings.zsh sets bindkey -e early on in the initialization process.
Unless you load the vi-mode plugin, which switches to the vi keymap, so all bindings made before loading vi-mode are in the emacs keymap, and all bindings made after that (including in subsequently loaded plugins) are made in the vi keymap.
If you do the bindkey -v after loading OMZ, then you lose all the bindings made by OMZ and its plugins (unless you also load the vi-mode plugin). (I'm guessing this is what happened to you, @jtbairdsr). If you do bindkey -v before loading OMZ, it has no effect (except for key bindings you then make yourself also before loading OMZ), because OMZ switches back to the emacs keymap. Same with the setting in /etc/zshrc: OMZ will switch back to the emacs keymap. So the end effect depends on whatever else is also switching keymaps.
It's a bit of ping-pong, and hard to get things entirely consistent or understandable this way. We might want to add a keymap preference to OMZ to tell it which keymap to default to. And some plugins which are keymap-specific (like vi-mode) might want to switch to explicitly installing their bindings into a specific keymap, instead of the current main one.
zsh's own keymap default depends on the values you have set for $EDITOR or $VISUAL.

@apjanke: That makes things much more clear.  Thanks!
I have been fiddling with it and I have found that if I have the vi-mode plugin active it doesn't like to work even if I put that plugin first.  I think it has to do with detecting the wrong keybinding from terminfo but I don't really know why.
I have found a rather hacky (and therefore temporary) fix.  I put the vi-mode plugin first and then simply explicitly declare the binding in the section that says Customize to your needs....
plugins=(
	vi-mode                  # This plugin increase vi-like zsh functionality.
        ...
	zsh-syntax-highlighting  # commandline syntax highlighting
	history-substring-search # This is a clean-room implementation of the Fish shell's history search
)

source $ZSH/oh-my-zsh.sh

# Customize to your needs...

# ********************************** BINDKEY ********************************* #

# ----------- hack to fix the broken history-substring-search plugin --------- #
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down

I know that this isn't really a fix but it is working to give me both history-substring-search and vi-mode for now until a real fix can be found.

@jtbairdsr: That's a related issue. The vi-mode plugin currently breaks the smkx/rmkx support, so $terminfo based key bindings for the up and down arrows won't work if you load vi-mode; see #2735. It's waiting on #4191 to fix it.
But @fbbdev doesn't have vi-mode loaded, so something else may be breaking it for him.

Thank you for pointing me to the zle-line-init widget. My theme is overriding it, I'm opening an issue there. Closing this since it is not related to oh-my-zsh.


Old version on pip/easy_install installation

I believe there is an issue with spotipy pip and easy_install installation. I installed the library today through both install methods, but both came with old versions of the source code. I noticed some lines in spotipy/oauth2.py that were different from the most current version. The discrepancy is from a change made in a Jan 2017 commit that fixed a scope issue. My installation versions with pip and easy_install both did not have this fix.
This could easily just be me and my own mistakes, but I wanted to see if others were having a similar issue. Other than this I've been loving the API wrapper :)

I'm seeing the same discrepancies on my end. For instance, the API devices() from client.py is not present when using pip. pip states that version is 2.4.4, which would be the most recent one.

+1 on this. Spent a while trying to debug why a simple function wasn't working... Turns out it doesn't exist in my version of the code. I ran pip3 install spotipy to install it.

Same here. pip3 install spotipy echoes Successfully installed spotipy-2.4.4. Anyway, spotipy.VERSION in python3.5 produces 2.0.1.

Ah! This just bit me too.. Glad I'm not alone. Would be super awesome to get a more up-to-date version 😄
These are the steps that I took:

Go to https://pypi.python.org/pypi/spotipy/2.4.4
Download and untar package and navigate to location in conosole
cat Downloads/spotipy-2.4.4/spotipy/__init__.py  gives output VERSION='2.0.1'
Also note oauth2.get_authorize_url() doesn't support state or show_dialog parameters in this version, though they are listed in the repo

+1 on this. It seems a lot of the newer functions are missing, too. Keep running into AttributeErrors because of this. Will install this manually.

+1. Some playlist function prototypes are missing some newer parameters (like description) but the repository code already have them

it would be great if @plamere could tag a new release (no git tags currently?) and upload a new version to pypi so that other can enjoy the goodies from the latest version of the code.

I second that request, right now distributions have to add various patches to have a proper spotipy package. Please do a new release on pypi that we can package.

+1

+1, both pip and a manual install from the tar.gz on pypi install 2.0.1, even though the pypi version is called "spotipy-2.4.4". Keep getting AttributeErrors as a result.

If you're running into issues still, you can install the package directly from the github repo.
pip install git+https://github.com/plamere/spotipy.git --upgrade

Bump would like to see this working let me know if i can help!

I, I read this issue and I have tried to solve the problem.  Running !pip freeze it results that the spotipy version is 2.4.4, so why it doens't recognize the new functions as current_user_recently_played ???? Help me please!

+1 ! I have the 2.4.4 verison but it still does not work for me 👎

+1, I had the same issue. This fix worked for me

@plamere Hey plamere. What's the best way to push the current spotipy repo to pypi? Even if there's no future maintenance, it'd be great to update the pypi package!

@zhammer Do you know how to solve these above issues by any chance?
I still get the following -
File "testing.py", line 50, in
devices = sp.devices()
AttributeError: 'Spotify' object has no attribute 'devices'

This issue isn't fixed, still getting the wrong version on pip. Any chance this will ever get fixed?

Can't change descriptions anymore.

pypi package is still outdated ;(

As this is a fairly popular thread as well, it might be worth mentioning that several updated / rewritten versions of Spotipy are brewing.

Just released 2.5.0 which contains everything from 2.4.4 as well as everything that was merged to master but never released
pip install spotipy --upgrade

If doing so, also make sure to remove git+https://github.com/plamere/spotipy.git from your requirements.txt


Generate PEP 440 direct reference whenever possible

This PR converts a requirement as a direct reference whenever possible, to mimic pip's behavior.
See these links for more information:

https://github.com/jazzband/pip-tools/pull/1392#issuecomment-881797464
https://www.python.org/dev/peps/pep-0440/
https://www.python.org/dev/peps/pep-0508/

Contributor checklist

[x] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog
[x] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[x] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

@FlorentJeannot thanks!


BUG: Repo owner text overlaps on mobile

Describe the bug
The repo owner name and text overlaps the profile picture and social media links.
Expected behavior
the heading and name should always be above the profile picture
Screenshots (Mandatory)
mobile:

desktop and tablet:

Additional context (Mandatory )
Contributing under gssoc 24'

@Stiffpixels you are assigned.

@Stiffpixels you are assigned.

Can you add the level label as well

@Stiffpixels you are assigned.

Can you add the level label as well

I have added


Allow for custom user agent.

This lets the end user provide the user agent to pass. Reason: React Native is currently passing okhttp for android and I am not sure what for iOS at this moment off the top of my head. This doesn't tell GA very much info. This hand-in-hand with https://github.com/rebeccahughes/react-native-device-info/pull/13 gives users the ability to report the REAL user agent and thus get better information out of GA.

Thanks!


Document editorconfig and nixfmt, remove manual rules

Description of changes
This documents editorconfig and nixfmt in CONTRIBUTING.md. Ping @NixOS/nix-formatting @eclairevoyant

Add a :+1: reaction to pull requests you find important.

Thanks for the quick reviews, I see no reason to wait with merging this, let's go! :rocket:


Holy cow, I can't search for users

Actual Behavior:
Batman is looking for a user so he heads over to the manage user section. He searches.
NO USERS ARE RETURNED.
Batman panics.
User is in the DB but permissions prevent search.
Robin is going to fix it!

Should be resolved in next build


Error with<EMAIL_ADDRESS>when building for cloudflare

Environment

node 18.17.1
nitro 2.7.2
postgres 3.4.0
drizzle 0.29.0

Reproduction
all code is here
on powershell, run..
$env:NITRO_PRESET='cloudflare'
pnpm run build

Describe the bug
When I build the app to deploy it to cloudflare workers, I get an error about "cloudflare:sockets" in the postgres package.
Cannot resolve "cloudflare:sockets" from<EMAIL_ADDRESS>and externals are not allowed!
Additional context
No response
Logs
No response

you can solve this by adding an additional piece in the config as follow
//https://nitro.unjs.io/config
export default defineNitroConfig({
  preset: "cloudflare-pages",
  rollupConfig: {
    external: ["cloudflare:sockets"],
  },
});


Create MachineTest

Hi Megha,
We could not find your resume with us. Can you please contact the HR consultant to send us your resume at the earliest.
Regards,
Rajesh


Unable to pair with Google Home

Steps to reproduce:

launch Google Home
click "+" / "set up device" to add a new device
Select "New device"
Select location then click "next"
Wait until it times out to find a new device
Click "Matter-enabled device"
Scan node-matter QR code
Click "I agree" to accept Google Home role
"Connecting device to Google Home..." fails after a timeout "Can't find your device"

From Wireshark, the issue might be that node-matter doesn't support IPv6 yet.
I will add the support for it this week then...

Have you added the matter device in Google Home Developer Console? I'm not 100% certain, but it is implied that test vendor/product IDs will only show up if you do this.

Any Matter device that has passed CSA Matter certification works in the Google Home ecosystem.

(implies that any device that hasn't passed certification will not work)

Reboot your hub to ensure that it receives the most recent Matter integration project configuration. If you have to change the VID or PID later, you'll also need to reboot after saving the project for the change to take effect.

(implies that Google Home will download the developer console configuration on reboot)
https://developers.home.google.com/codelabs/matter-device-virtual#2

I did not added up in Google Home Developer Console.
The troubles I have:

the "Add a Matter Device" is now gone in Google Home on my main phone. Before it was gone, I was able to pair the CHIP lighting app (but appeared afterward as unreachable) but not node-matter
I revived an old Android phone: "Add a Matter Device" is not in Google Home as well but "Matter devices" is in Settings app > Google > Devices & sharing. Pairing the CHIP lighting app fails after a few exchanges, when trying to pair node-matter, Android doesn't even try to connect so something is wrong from the start.
Pairing from chip-tool is still working fine
I have now added IPv6 support so this is not the issue

@andyearnshaw : if you have some time, can you try compiling CHIP lighting app and pair it with your phone (Android or iOs)?
I would love to know a working configuration...

Regarding the "Add a Matter Device" going missing. You can get it back by opening the camera app, focusing on the node-matter QR code and then pressing the "Tap to Set Up" button that appears. This will go through the same sequence as usual from Google home. Then the button will also appear as it previously did in the Google Home setup. At least until Google pushes another update. Unfortunately, the setup still fails with a lot of debug messages on screen.

Thanks for the tip!
Yes, that did the trick: I can now try to pair again from my main phone!
Still not working though, digging through Wireshark logs now

In the Android logs, there is an error : "Commissioning failed with state Failure obtaining credentials."
I now added the VID and PID in Google Home Developer Console but that didn't fix the issue.
The failure seems to be because of a Timeout rather then test credentials missing, I think...
@andyearnshaw @JimBuzbee : where you able to pair CHIP lightning app or a virtual device?
If yes, which instructions did you follow?

I'm a novice at this and have only tried to pair with Google Home and with the Android Alexa app. I've not been successful with either. Here's the output when trying to pair with Alexa:
2022-11-4 19:39:17.534 INFO Device<EMAIL_ADDRESS>2022-11-4 19:39:17.547 INFO Device Listening
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ ██▀▄▀▄█ ▄▄▄▄▄ █
█ █   █ █▄▀▄▀▄█ █   █ █
█ █▄▄▄█ ██ ▀▀▄█ █▄▄▄█ █
█▄▄▄▄▄▄▄█ █ ▀▄█▄▄▄▄▄▄▄█
█   █  ▄▄ ▀ █  ▄▀██ █▀█
█▀ ███▀▄▄▀█  ▀▄▄██▄▀█▀█
████▄██▄▄██▄▀ ▀██▄▀ ▄▀█
█ ▄▄▄▄▄ █ █▄█▄█▄▄█▀██ █
█ █   █ █▄▄██▄ ▄█▀▄▄▀██
█ █▄▄▄█ █ ▀ █▄█ ▀▀ ▀▀ █
█▄▄▄▄▄▄▄█▄█▄█▄████▄▄█▄█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
QR Code URL: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT:-24J0AFN00KA0648G00
Manual pairing code:<PHONE_NUMBER>2
2022-11-4 19:39:17.549 ERROR MdnsBroadcaster Error: send EMSGSIZE ff02::fb:5353
2022-11-4 19:40:35.763 DEBUG MessageExchange onMessageReceived id:0/39861/53639255 t:0/32 reqAck:true payload:<PHONE_NUMBER>2ff9b9b17dab4a8cc9ce35d10a0ac6d479a041e74a285d06b92f000849a6d125024d11240300280418
2022-11-4 19:40:35.765 INFO PaseServer Pase server: Received pairing request from udp://<IP_ADDRESS>:5541
2022-11-4 19:40:35.768 DEBUG ExchangeManager sending id:0/39861/1875800731 t:0/33 acked:53639255 reqAck:true payload:<PHONE_NUMBER>2ff9b9b17dab4a8cc9ce35d10a0ac6d479a041e74a285d06b92f000849a6d13002209b7dec9ec007ff6b7ae1d4ed2f1d8aea7e3601ea4e5ad55c5d5547dffad041a325035c5e35042501e803300220d32014b423023625731ae603911844634568839becf37028ef49d4fc55f5d0ba1818
2022-11-4 19:40:35.785 DEBUG MessageExchange onMessageReceived id:0/39861/53639256 t:0/16 acked:1875800731 reqAck:false payload:
2022-11-4 19:40:35.865 DEBUG MessageExchange onMessageReceived id:0/39861/53639257 t:0/34 acked:1875800731 reqAck:true payload:<PHONE_NUMBER>7d1dd9853006379d1e63f5d603d23915f3aa3d2a41809369f0afb01a67fcbf251343d530153a16efa849e4ba154bc99bf065df5d7078c11eebefa7c508b8c8dc18
2022-11-4 19:40:35.905 DEBUG ExchangeManager sending id:0/39861/1875800732 t:0/35 acked:53639257 reqAck:true payload:<PHONE_NUMBER>699d72603dcf1ebbe0a45a3e0f9fea3a09cf9e3dd0c5f11a49bb21f87670c3365c362fc2a519ed3cba3f9a1a996d00960db1784dde01869e0532798fb243eb2f300220e3fe67a01d6e91595c664944862ef56be8c24aa9bf5e43b40ab4b6ecfebbbd7f18
2022-11-4 19:40:35.921 DEBUG MessageExchange onMessageReceived id:0/39861/53639258 t:0/16 acked:1875800732 reqAck:false payload:
2022-11-4 19:40:35.993 DEBUG MessageExchange onMessageReceived id:0/39861/53639259 t:0/36 acked:1875800732 reqAck:true payload:<PHONE_NUMBER>f85f36e849481862ca0cae47fbfa2b05c806ac0a315dae6830ecf10e002d5118
2022-11-4 19:40:35.994 DEBUG ExchangeManager sending id:0/39861/1875800733 t:0/64 acked:53639259 reqAck:true payload:<PHONE_NUMBER>000000
2022-11-4 19:40:36.016 DEBUG MessageExchange onMessageReceived id:0/39861/53639260 t:0/16 acked:1875800733 reqAck:false payload:
2022-11-4 19:40:36.016 INFO PaseServer Pase server: session 24156 created with udp://<IP_ADDRESS>:5541
2022-11-4 19:40:36.115 DEBUG MessageExchange onMessageReceived id:24156/39862/180847106 t:1/10 reqAck:true payload:<PHONE_NUMBER>24ff0118
2022-11-4 19:40:36.117 ERROR InteractionMessenger Error: Unsupported message type 10
at InteractionServerMessenger. (/Users/jimbuzbee/matter/node-matter/build/matter/interaction/InteractionMessenger.js:80:31)
at Generator.next ()
at fulfilled (/Users/jimbuzbee/matter/node-matter/build/matter/interaction/InteractionMessenger.js:5:58)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2022-11-4 19:40:36.117 DEBUG ExchangeManager sending id:24156/39862/1875800734 t:1/1 acked:180847106 reqAck:true payload:<PHONE_NUMBER>ff0118
2022-11-4 19:40:36.172 DEBUG MessageExchange onMessageReceived id:24156/39862/180847107 t:0/16 acked:1875800734 reqAck:false payload:
2022-11-4 19:40:51.464 DEBUG MessageExchange onMessageReceived id:0/39863/53639261 t:0/32 reqAck:true payload:<PHONE_NUMBER>2f5643efe0bed155112015d7e681f522337c10e8d059c242f20efe822a1c6525024e11240300280418
2022-11-4 19:40:51.464 INFO PaseServer Pase server: Received pairing request from udp://<IP_ADDRESS>:5541
2022-11-4 19:40:51.465 DEBUG ExchangeManager sending id:0/39863/1875800735 t:0/33 acked:53639261 reqAck:true payload:<PHONE_NUMBER>2f5643efe0bed155112015d7e681f522337c10e8d059c242f20efe822a1c653002202e08757adde8ffc6eb03a9677371af84fe7c20b6910e7a4c6dcf236b60ca3d5a25035d5e35042501e803300220d32014b423023625731ae603911844634568839becf37028ef49d4fc55f5d0ba1818
2022-11-4 19:40:51.486 DEBUG MessageExchange onMessageReceived id:0/39863/53639262 t:0/16 acked:1875800735 reqAck:false payload:
2022-11-4 19:40:51.563 DEBUG MessageExchange onMessageReceived id:0/39863/53639263 t:0/34 acked:1875800735 reqAck:true payload:<PHONE_NUMBER>e5fb98d7878400d7ff04aacc00182e155e3bc81821804f8e92cacdc44544e733acf0881a6634c5cfb52a70720fb8ce75ce545d7a363d16254202dd62017b87c618
2022-11-4 19:40:51.600 DEBUG ExchangeManager sending id:0/39863/1875800736 t:0/35 acked:53639263 reqAck:true payload:<PHONE_NUMBER>20babd73930d1bdb9b0a71b83330a2a59dd30be8f99c2019aab2c33c2a5b6c44ab26182b8e8b45aa03a33783e3e0fc7e57b7ff366ff3bce2085f83505f083c5b30022073e49f3f7233208dbeac5f7c661a64a0dc8847a6f07c7cae78951215bc2eaa1418
2022-11-4 19:40:51.616 DEBUG MessageExchange onMessageReceived id:0/39863/53639264 t:0/16 acked:1875800736 reqAck:false payload:
2022-11-4 19:40:51.688 DEBUG MessageExchange onMessageReceived id:0/39863/53639265 t:0/36 acked:1875800736 reqAck:true payload: 15300120d49af0c59e0b15978fa846c6e05154f88fcc67a99689bc7e6e05a0187437f42218
2022-11-4 19:40:51.688 DEBUG ExchangeManager sending id:0/39863/1875800737 t:0/64 acked:53639265 reqAck:true payload:<PHONE_NUMBER>000000
2022-11-4 19:40:51.709 DEBUG MessageExchange onMessageReceived id:0/39863/53639266 t:0/16 acked:1875800737 reqAck:false payload:
2022-11-4 19:40:51.709 INFO PaseServer Pase server: session 24157 created with udp://<IP_ADDRESS>:5541
2022-11-4 19:40:51.809 DEBUG MessageExchange onMessageReceived id:24157/39864/59025 t:1/10 reqAck:true payload:<PHONE_NUMBER>24ff0118
2022-11-4 19:40:51.809 ERROR InteractionMessenger Error: Unsupported message type 10
at InteractionServerMessenger. (/Users/jimbuzbee/matter/node-matter/build/matter/interaction/InteractionMessenger.js:80:31)
at Generator.next ()
at fulfilled (/Users/jimbuzbee/matter/node-matter/build/matter/interaction/InteractionMessenger.js:5:58)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2022-11-4 19:40:51.810 DEBUG ExchangeManager sending id:24157/39864/1875800738 t:1/1 acked:59025 reqAck:true payload:<PHONE_NUMBER>ff0118
2022-11-4 19:40:51.827 DEBUG MessageExchange onMessageReceived id:24157/39864/59026 t:0/16 acked:1875800738 reqAck:false payload:

Thanks for testing!
The bug you have above is fixed in a PR not merged yet. Look at the PR saying TimedRequest and sync to that branch.
Were you able to get the config giving by Andy working?
https://developers.home.google.com/codelabs/matter-device-virtual#2
I think I am stuck at the point where Google Home is expecting credentials to be provisioned in the dev console in all my configurations...

Hi Jim,
Looks like you are able to go further in the pairing flow than me!
I am stuck at 0/62/4 command, Google Home says "Something went wrong" after that.
Can you help me reproduce your configuration so I can debug from there?
I will need those info:

version of Google Home app? I have <IP_ADDRESS>
version of Home service? I have v224814000 (command "adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home")
do you set something in Google Home Dev Console? If yes, which name / vendor ID / product ID
do you have a Google Matter-compatible device in your house? On my side, I have a Google Nest speaker but I have no clue if it is Matter-compatible

Thanks!

Marco

Marco - To be clear, the long debug output is not from my Google Home. It's from the Amazon Alexa app running on Android when I try and add the node-matter "device".  I've tried both Google Home and Alexa. I think I get similar behavior to you on Google Home.

Sorry, I missed that part...
Can you create a new bug "Pairing with Alexa not working" with your logs above so I can work on it in parallel?
Thanks!

Marco

Apologies, I'm temporarily without a personal computer so am unable to contribute at present.

Google just pushed an update (com.google.android.gms.home [v224915000]) so things are working much better.
I am now able to pair the example from the official codebase and node-matter is going a little further in the pairing flow.
I will probably have node-matter pairing with Android  by the end of the week.

Seems like it was easier than I thought. After fixing one bug and adding the implementation for one additional cluster, I am now able to pair node-matter from Google Home: branch add-android-support
It appears as "offline" so I cannot operate it after pairing, but I think this is due to a misconfiguration of my Nest Speaker: I will investigate this tomorrow.

I can now pair but there is some issues to control it after pairing.
The hub subscribe to //* (all attributes from all clusters from all endpoints) instead of just the one it needs and node-matter incorrectly assumes that it is possible to subscribe to all attributes, which is not the case, which is not the case.
So I need to:

refactor all cluster definitions to clearly declare which ones can be subscribe to
add support in the server to pass the subscribe info
when a client asks to subscribe to //*, filter attributes based on if they can be subscribe to or not.

I take csare about first todo today

@mfucci Verified for the existing clusters ... only the onoff attrible of onoff is "reportable" for now (BUT the specs do not contain this, but the chip XML file does, so it is already in our code as comment "reportable: true".

Ahh ... ok then I think we misunderstood that ... Thank you!
@mfucci I will have a look but I did not discovered "changes omitted" so far in any of our defined-out clusters ...

@bzbarsky-apple : thanks for clarifying the expected behavior!
That was not my understanding but this actually match the current implementation in node-matter: since "reportable" or "changes ommitted" were not implemented, all attributes can be subscribed to and changes will be reported.
However chunking is not implemented either, and reporting all attributes in one message probably goes beyond the max length. I will work on adding this mechanism then. Alexa and Home Assistant only subscribe to onoff attribute so don't trigger this issue.

Chunking implemented! It was actually easier than I thought: https://github.com/mfucci/node-matter/pull/176
node-matter is now working with Android!!!!!
Closing this issue.

btw: do we know if Google home on ios also works? Else I can also test that later


Fix pending forwards considered paid by client

Description
Fix #1707
This excludes pending forwards from ever being considered for something by the client.
I think this is a change that should really only affect the bug regarding failed forwards and doesn't cause any regression during other payments.
Additional Context
Maybe the server should set a pending field in the invoice which the client can use to know that it shouldn't use this state to determine something about the invoice? I don't like how the client becomes more aware of individual transitions because it might see them just so it can ignore them.
Checklist
Are your changes backwards compatible? Please answer below:
yes
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
7.  Tested with failed forwards, successful forwards and no forwards.
For frontend changes: Tested on mobile, light and dark mode? Please answer below:
n/a
Did you introduce any new environment variables? If so, call them out explicitly here:
no

Why not just change waitFor = i => actionState === 'PAID' in the case of send wallet being present?

I thought it's okay to assume that useInvoice is only used in the case of send wallets so we can hide the complexity in there and that's also why I thought that is reasonable limiting of waitFor.

... waitFor should maybe be refactored somehow though. It's not clear where the function is coming from and most of the time we're using a default param from somewhere else in the code base.

I agree, good time to also refactor useInvoice as you mentioned in the past. But I would rather fix this without a refactor first so this doesn't block a release.
I'll fix this in useAct the way you described it. I'll keep waitFor in useQrPayment as-is since it doesn't affect this bug but is related to #1712.


Resolve suggestions and update validations

I split some validations into two separate validation.
Additionally I added some other validations

I was looking at the SRP for this week. Realised that validator should be a class of its own


nfs: fix nfs with external ceph cluster support

This commit refact and fix the nfs deployment with external ceph cluster
support.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1814942
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

jenkins test centos-container-update


fix(docs): Updating docs and commenting out debug logs

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


allow newer nokogumbo?

linkedddata depends on the gem nokogumbo, at "~> 1.5". https://github.com/ruby-rdf/linkeddata/blob/develop/linkeddata.gemspec#L45
nokogumbo released a 2.0.0 in October 2018, but no app depending upon linkeddata can use them, because it insists on only 1.x.
Would it be possible to update linkeddata to allow nokogumbo 2.x?  Possibly in addition to 1.x as well.
Here are the nokogumbo 2.0 release notes . It looks like there are few if any significant backwards incompat changes, so it's possible linkeddata would just work with nokogumbo 2.x as well as 1.x.

Sorry to have missed this, it affects a couple of gems. I’ll update them too be more permissive. For the 3.2 release, I’m doing a more general dependence update and I’ll require 2.0 of Nokogumbo along with other gem updates.

Cool thanks. Based on the nokogumbo release notes, you might be able to get away with allowing either 1.x or 2.x of nokogumbo, instead of requiring 2.x only (and forcing dependent apps to upgrade), but I'm not totally sure, maybe not.

Actually, I'm also not quite sure why you are depending on nokogumbo at alli? I'm a bit new to what nokogumbo is, but it's descirbed as "A Nokogiri interface to the Gumbo HTML5 parser", and the example code in it's readme show doing: Nokogiri.HTML5 and Nokogiri::HTML5 -- it looks like it adds those HTML5 methods onto the Nokogiri constant from the nokogiri gem. nokogumbo does depend on the nokogiri gem.
But searching through the sourcecode on linkeddata... I'm not sure you're using those HTML5 methods that nokogumbo adds to nokogiri?  I can't find em?
Is it possible that you don't need to depend on nokogumbo at all, just nokogiri?
The README describes even nokogiri as a "soft dependency", but this isn't exactly true, it's in the gemspec as a normal dependency, the linkeddata can't be used without nokogiri being installed.
Sorry if i'm missing something! This is of interest to me, because I'm not even using linkeddata myself directly, I'm using a gem (qa) which has linkeddata as a dependency, and I'm not even necessarily using linkeddata-relevant functions of qa, but by using it it's whole dependency tree gets brought into my app, so I'm interested in if there's a way to minimize (and/or make more liberal) linkeddatas dependencies.

The linkeddata gem is a rollup which includes all of the other Ruby RDF gems. Among them are rdf-rdfa, rdf-microdata, and json-ld, which all do HTML processing. Since Nokogiri doesn't properly handle HTML5, we use Nokogumbo, if available.
You can, of course, just include the specific RDF gems you need, but we include the Nokogiri and Nokogumbo gems as part of the linkeddata gem to get everything in place. If you include gems individually, you can do so with no native dependencies.
The were "soft" dependencies, and they could be again, if there was enough demand by the community, but the documentation should be updated. They are soft dependencies from rdf-rdfa, rdf-microdata, and json-ld. It looks like the linkeddata gem is a development dependency for qa, so it could probably be deconstructed.
Since most people that want the complete linkeddata suite are like to want JSON-LD, Microdata or RDFa, it makes sense to have the native parsers as part of that. Otherwise, we'd need to have yet another gem which included them all.
But, I certainly like to hear feedback from the community.

What code is using Nokogumbo if available? I can't find it in this repo. Is it one of the gems "rolled up"? If so, should nokogumbo be a dependency (in the gemspec) of that gem specifically, rather than of linkeddata?
It wouldn't make any difference to me in the end, cause I depend on the qa gem, which depends on linkeddata, which depends on all it's "rolled up" gems -- so my app would get the "nokogumbo" gem anyway.  But would probably be more and reliable to have the gem actually using nokogumbo express it as a dependency, rather than linkeddata that is not doing so?
I def understand the convenience of including everything you might want all together, the cost is my app now gets all these dependencies it's not actually using... but it's a trade off, and I think I'd make the same tradeoff, too hard to keep track of a bunch of microdependencies depending on exactly what functionality you are using.
Hmm, you're right that linkedata is expressed as just a development dependency of qa -- it seems to end up in my app dependency tree just the same as if it were a runtime dependency, I might have to read up on how development dependencies work exactly. qa has got a bunch, they all end up in my dependency tree.

qa should probably not depend on linkeddata, which includes many gems that it won't use.

Fixedin 3.0.2.

@no-reply oh my gosh, I misdiagnosed, this stuff gets confusing.
Since qa only has a development_dependency on linkeddata, it's not that that is effecting my app, the developmetn dependencies practically have no effect on my app.
INSTEAD, it's that qa has a runtime_dependency on ldpath, and ldpath has a runtime dependency on linkeddata.
So the development dependencies are indeed irrelevant. And qa may be blameless -- if it's dependency on ldpath is correct.
Instead, the question is, does ldpath actually need a runtime dependency on the full linkeddata? Anyone familiar with that gem? I can go make an issue there....  it would be nice for my app that depends on qa not to have to pull in quite so much.

Instead, the question is, does ldpath actually need a runtime dependency on the full linkeddata?

probably not. cc: @cbeer

Filed it as an issue on ldpath. Tried to explain it as best I could, this stuff gets confusing to talk about. https://github.com/samvera-labs/ldpath/issues/19


[DPE-1626] Private key changes after CSR is issued causing certification validation failure

Issue
The private key was regenerated on every admin certificate request. This causes an issue on CA rotation when the node gets certificates and restarts it generates new CSRs which generate a new private key. Upon startup, the certificate that was being loaded was generated using an old private key and can no longer be validated with the stored key.
Solution
Use the same private key to request a new admin cert if it is found stored.

I'm also still testing with the manual tls operator. I think there's still a bug there I need to work out.


memos-editor-wrapper does not have rounded corners

Describe the bug
The memos-editor-wrapper does not have rounded corners which results in a visible element behind the editor when the background color is changed via the custom CSS themes.

Steps to reproduce

In the settings menu add these two lines of custom CSS
.memo-list-container {background-color: #5a7684;}
.page-container {background-color: #5a7684;}

Return to the home page and view the Memo

easy to fix, i will handle it

easy to fix, i will handle it

No need. I submitted a PR with the fix!

This can be closed now


Python Device controller break in real device and virtual cirque mobile controller test since PR 6705

Problem
Device controller breaks since https://github.com/project-chip/connectedhomeip/pull/6705
chip-device-ctrl > zcl OnOff Toggle 12344321 0 0
CHIP:DMG: ICR moving to [AddCommand]
CHIP:DL: Chip stack locking error at '../../../../../src/system/SystemLayer.cpp:204'. Code is unsafe/racy
CHIP:IN: Secure message was encrypted: Msg ID 3
CHIP:IN: Sending msg from 0x000000000001b669 to 0x0000000000bc5c01 at utc time: 240797430 msec
CHIP:IN: Sending secure msg on generic transport
CHIP:IN: Secure msg send status No Error
CHIP:DMG: ICR moving to [ Sending]
CHIP:DMG: Time out! failed to receive invoke command response from Exchange: 39020
CHIP:DMG: ICR moving to [Initialize]
Failed to receive command response: None
chip-device-ctrl > zcl OnOff Toggle 12344321 1 0
CHIP:DMG: ICR moving to [AddCommand]
CHIP:DL: Chip stack locking error at '../../../../../src/system/SystemLayer.cpp:204'. Code is unsafe/racy
CHIP:IN: Secure message was encrypted: Msg ID 4
CHIP:IN: Sending msg from 0x000000000001b669 to 0x0000000000bc5c01 at utc time: 240846240 msec
CHIP:IN: Sending secure msg on generic transport
CHIP:IN: Secure msg send status No Error
CHIP:DMG: ICR moving to [ Sending]
CHIP:DMG: Time out! failed to receive invoke command response from Exchange: 39021
CHIP:DMG: ICR moving to [Initialize]
Failed to receive command response: None
Device log
CHIP:DL: Got IP address on interface: wlan0 IP: <IP_ADDRESS>
CHIP:DL: HandlePlatformSpecificBLEEvent 32770
CHIP:DIS: Found admin paring for admin 0, node 0x0000000000bc5c01
CHIP:DIS: Using wifi MAC for hostname
CHIP:DIS: Advertise operational node<PHONE_NUMBER>000000-0000000000bc5c01
CHIP:DIS: CHIP minimal mDNS configured as 'Operational device'.
CHIP:IN: Secure transport received message destined to node ID (12344321)
CHIP:EM: Received message of type 8 and protocolId 327680
CHIP:EM: ec pos: 1, id: 39020, Delegate: 0xe1855a28
CHIP:DMG: ICR moving to [Initialize]
CHIP:DMG: InvokeCommand =
CHIP:DMG: {
CHIP:DMG: CommandList =
CHIP:DMG: [
CHIP:DMG: CommandDataElement =
CHIP:DMG: {
CHIP:DMG: CommandPath =
CHIP:DMG: {
CHIP:DMG: EndpointId = 0x0,
CHIP:DMG: ClusterId = 0x6,
CHIP:DMG: CommandId = 0x2,
CHIP:DMG: },
CHIP:DMG:
CHIP:DMG: CommandData =
CHIP:DMG: {
CHIP:DMG: },
CHIP:DMG: },
CHIP:DMG:
CHIP:DMG: ],
CHIP:DMG:
CHIP:DMG: }
CHIP:ZCL: Received Cluster Command: Cluster=6 Command=2 Endpoint=0
CHIP:ZCL: On/Off set value: 0 2
CHIP:ZCL: Toggle on/off from 0 to 1
CHIP:SVR: LightingManager::InitiateAction(ON_ACTION)
CHIP:ZCL: Unknown cluster ID: 8
CHIP:DMG: ICR moving to [AddCommand]
CHIP:IN: Secure message was encrypted: Msg ID 3
CHIP:IN: Sending msg from 0x0000000000bc5c01 to 0x000000000001b669 at utc time: 184092547 msec
CHIP:IN: Sending secure msg on generic transport
CHIP:IN: Secure msg send status No Error
CHIP:DMG: ICR moving to [ Sending]
CHIP:DMG: ICR moving to [Uninitiali]
CHIP:IN: Secure transport received message destined to node ID (12344321)
CHIP:EM: Received message of type 8 and protocolId 327680
CHIP:EM: ec pos: 1, id: 39021, Delegate: 0xe1855a28
CHIP:DMG: ICR moving to [Initialize]
CHIP:DMG: InvokeCommand =
CHIP:DMG: {
CHIP:DMG: CommandList =
CHIP:DMG: [
CHIP:DMG: CommandDataElement =
CHIP:DMG: {
CHIP:DMG: CommandPath =
CHIP:DMG: {
CHIP:DMG: EndpointId = 0x1,
CHIP:DMG: ClusterId = 0x6,
CHIP:DMG: CommandId = 0x2,
CHIP:DMG: },
CHIP:DMG:
CHIP:DMG: CommandData =
CHIP:DMG: {
CHIP:DMG: },
CHIP:DMG: },
CHIP:DMG:
CHIP:DMG: ],
CHIP:DMG:
CHIP:DMG: }
CHIP:ZCL: Received Cluster Command: Cluster=6 Command=2 Endpoint=1
CHIP:ZCL: On/Off set value: 1 2
CHIP:ZCL: ERR: reading on/off 86
CHIP:DMG: ICR moving to [AddCommand]
CHIP:IN: Secure message was encrypted: Msg ID 4
CHIP:IN: Sending msg from 0x0000000000bc5c01 to 0x000000000001b669 at utc time: 184141355 msec
CHIP:IN: Sending secure msg on generic transport
CHIP:IN: Secure msg send status No Error
CHIP:DMG: ICR moving to [ Sending]
CHIP:DMG: ICR moving to [Uninitiali]
CHIP:DIS: Replying to DNS-SD service listing request
CHIP:DIS: Broadcasting mDns reply
CHIP:DIS: Broadcasting mDns reply

It would be fixed in [IM] Decouple CommandSender with CHIPDevice #6802


fix a bug that if someone is using a rectangular picture will cause image distortion

You mean "non-rectangular" picture, right?

Right?


Introduce code splitting with lazymapto for angular SPA

Description
Uses the ivy compiler to dynamically import the core components, demonstrating on how to perform code splitting + lazy loading using the SPA editor. Uses the LazyMapTo instead of MapTo, to load in these modules only when needed instead of bundling up a huge javascript file.
Related Issue
https://github.com/adobe/aem-project-archetype/issues/710
Motivation and Context
Improves load times
Improves SEO performance
Demonstrates a complex issue
How Has This Been Tested?
Tested using a local AEM instance against generated archetype projects
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Pending PR: https://github.com/adobe/aem-angular-core-wcm-components-base/pull/2/files


The dark theme is hard to view

This project is using element-plus.

hi @Axxi3 , so happy to have you working on this issue.

Hi @Axxi3 how is going? Do you need any kinds of help?

hi @Axxi3 I'm going to cancel the asign status due to no response from you in a long time.

Hi @LinuxSuRen
I would like to take charge of this issue

That's great. I'm not familiar with the front-end tech. So glad that you could improve it.
By the way, do I need to assign this issue to you?

It would be nice if you did

hi @kuv2707, I'm thinking that we could just add a switch button to switch the theme between light and dark for now. Then improve the view later.

We can surely do that.
Right now its using media queries.
I had faced problems trying to work with element-plus, but adding a button won't be difficult.

I totally understand that we could do it step-by-step.

Is this issue over? I'd like to try that

hi @suoaiyisheng , thanks for your attention. Please go ahead.

hi👋！你看看这个效果可以吗？
黑暗模式效果

@suoaiyisheng 看起来效果还不错，可以把 PR 提上来看看

hi @suoaiyisheng ，方便的时候，可以提个 PR 哈


Update demo form on the preview page

Problem: The demo form for PhilSA Disaster Incidence report isn't working.
Solution: We want to update that form with one from the Red Cross, so that people can see a working form.
Copy
Distribution Site Assessment
Public form used by the International Red Cross and Red Crescent Movement to distribute cash-aid.

I found this image:


deposit: advanced record workflow with edit and REST API support

[ ] Port generic parts of https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/workflows/upload.py to core Invenio by making new generic deposition type similar to (https://github.com/inveniosoftware/invenio/blob/pu/invenio/modules/deposit/types/simplerecord.py)
[ ] Support for editing records not submitted through deposit

Closing this for now as no one is working on it.


Tests to verify we are not leaking any validation info before authentication

Tests to verify that issue #768 is no longer a problem in Dropwizard
8.x, presumably after the switch to Jersey 2.x.

Coverage increased (+1.11%) to 69.45% when pulling 2ca53e73b98467246e76efcbb4fed4f792a3e33f on glennmcallister:data-rep-leak into 7401bd28c220f44f2a58965701a84a498de94219 on dropwizard:master.

Thanks, Glenn. If other collaborators don't mind, I will take a look at this.

It's still failing: https://gist.github.com/joschi/9ff2c3d40f08bd5a8c86
The problem is the injection order in the resource method which occurs in order of the arguments. That's why the problem doesn't happen if the parameter annotated with @Auth is the first method parameter or if there is a class field annotated with @Auth (which is being injected before any method parameter).

I too have doubts about resolving this problem.
I've tried to reproduce a validation error in the AuthBeforeValidateTest and wasn't able to do it. But in
your test case the error is clearly showed. It's bugging me. What the difference between the tests?

And that would be why I wanted other people to look at this; I'm not that
familiar with the JerseyTest framework and how to push it through it's
paces. That being said, the tests I wrote have the @Valid parameter first,
which was a requirement of the original problem.
I'll incorporate the tests Jochen has written and proceed with resolving
this. I'm at work, where I'm in theory forbidden from working on any of
this, so hopefully I can poke at it tonight.
On Mon, Feb 23, 2015 at 5:30 AM, Artem Prigoda<EMAIL_ADDRESS>wrote:

I too have doubts about resolving this problem.
I've tried to reproduce a validation error in the AuthBeforeValidateTest
and wasn't able to do it. But in
your test case the error is clearly showed. It's bugging me. What the
difference between the tests?
—
Reply to this email directly or view it on GitHub
https://github.com/dropwizard/dropwizard/pull/891#issuecomment-75519461.

I think I found the differences.

Jochen's tests are for Jackson's deserialization and validation (the @Valid annotation is not actually needed).
Glenn's tests are in turn for Jersey's Bean Validation (Jackson's deserialization and validation
works because JSON is always correct).

But I have a feeling that GrizzlyWebTestContainer doesn't support bean validation, so Glenn's
tests can't throw 400 error.
For future testing I also created a simple resource in dropwizard-example and run it in the real Jersey container.
@Path("/protected")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class ProtectedResource {

    @POST
    public String showSecret(@Valid Saying saying, @Auth User user) {
        System.out.println(saying);
        return String.format("Hey there, %s. You know the secret!", user.getName());
    }
}

public class Saying {
    private long id;

    @Length(max = 3)
    private String content;

    public Saying() {
        // Jackson deserialization
    }

    public Saying(long id, String content) {
        this.id = id;
        this.content = content;
    }

    @JsonProperty
    public long getId() {
        return id;
    }

    @JsonProperty
    public String getContent() {
        return content;
    }

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("id", id)
                .add("content", content)
                .toString();
    }
}

Tested it with curl:
curl -v -H 'content-type:application/json' -d '{"id":2 , "content":"trash"}'
http://<IP_ADDRESS>:8080/protected

The response was:
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)
> POST /protected HTTP/1.1
> User-Agent: curl/7.39.0
> Host: <IP_ADDRESS>:8080
> Accept: */*
> content-type:application/json
> Content-Length: 28
>
* upload completely sent off: 28 out of 28 bytes
< HTTP/1.1 422
< Date: Mon, 23 Feb 2015 18:27:51 GMT
< Content-Type: application/json
< Content-Length: 65
<
* Connection #0 to host <IP_ADDRESS> left intact
{"errors":["content length must be between 0 and 3 (was trash)"]}

So, unfortunately, this issue doesn't seem to be fixed for me.

BTW, if I do manage to resolve this I'll squash my commits down so we have a clean pull, either here (if possible) or in a new PR.


Adapt to jdk1.8

Adapt to jdk1.8

Hello @kang2086 have you tried to build the plugin using Gradle shadowJar command? We have libs that are using JAVA 11 as the minimum version. Not sure that the changes you made are working ...

I don't see any dependencies that use JAVA 11 as the minimum version
I was able to run Gradle shadowJar command successfully in my local environment with these changes

Rejected


[BUG] Incorrect return type output when using jest.mocked

Before you begin...

[X] I have searched the existing issues
[X] I am not using version 13.x of node  (if so, please upgrade)

Description of the problem
Incorrect return type output when using jest.mocked (Uint8Array instead of string)
for example:
jest.mocked(v4).mockReturnValue('str');
in webstorm:

suggesting use of generic to typify buf as it was in @types/uuid:
function v4<T>(options?: Version4Options, buf?: T, offset?: number): T;
instead
function v4(options?: Version4Options, buf?: Uint8Array, offset?: number): Uint8Array;
Recipe for reproducing
1. install uuid
2. setup jest
3. use `jest.mocked(v4).mockReturnValue('str');`

Additional information
No response
Environment
No response

Incorrect return type output when using jest.mocked (Uint8Array instead of string)

I think this is the gist of the problem.  But that's a jest issue, not an issue with this project.
The TS types bundled with uuid@11 are  auto-generated by tsc from the source code, and are an accurate reflection of what is permitted by the uuid API.
If this worked before, it's only because the types defined in @types/uuid were hand-rolled, and [somehow] defined that didn't trigger this [jest] issue.

function v4(options?: Version4Options, buf?: T, offset?: number): T;

I'm gonna give this a pretty hard, "no".  Unnecessarily loose types are less helpful and generally considered a code smell.  This is also not how v4() is defined in @types/uuid, which is a bit more complicated.
That said, I'll tentatively suggest you could put up a PR if you wanted to propose some alternate incantations for the function overloads in src/v4.ts and I'll take a look.  Just be aware my priority is that the types accurately reflect the allowable inputs and outputs of that method, and the code needs to npm build.  And also, I say "tentatively" because, as I said, I'm not convinced this is an issue this project should be trying to solve.
I'll leave this issue open for now as it seems other people may be affected by this, but for paths forward I'd suggest ...

Look into jest's mocking utils to see if there's a workaround of some sort
Open an issue with the jest project to see what they suggest
Pin your dependencies to uuid@10 and @types/uuid@10

There is a typing cleanup that can be applied to the v4 signature where options and buf are required for the Uint8Array

@robbtraister Can you elaborate?

There is a typing cleanup that can be applied to the v4 signature where options and buf are required for the Uint8Array

@robbtraister Can you elaborate?

https://github.com/uuidjs/uuid/pull/831

There is a typing cleanup that can be applied to the v4 signature where options and buf are required for the Uint8Array

@robbtraister Can you elaborate?

#831

I tried with version 11.0.3 which includes the mentioned PR changes and the typing issue still persists in Jest

There is a typing cleanup that can be applied to the v4 signature where options and buf are required for the Uint8Array

@robbtraister Can you elaborate?

#831

I tried with version 11.0.3 which includes the mentioned PR changes and the typing issue still persists in Jest

Sorry for any confusion. The fix in 11.0.3 ensures that a string is returned when v4() (or other versions) is invoked with no arguments. However, as I suggested in my original comment, it will not fix the mocking issue. The test runner cannot guarantee that your code only ever invokes the function with no arguments, so your mock must support the entire range of signatures of the original function. I would suggest looking into covariance to better understand.
A possible workaround is to create your own function that wraps v4 and mock it. Because this only ever invokes the original function with no arguments, it is guaranteed to return a string.
import { v4 as uuidV4 } from "uuid";

export function v4(): string {
  return uuidV4();
}

Another scenario in which the new types are quite annoying:

happens for me in vitest vi.spyOn(uuid, "v4").mockImplementation(() => "token123");

@theskillwithin, @veksa : Try casting the mock to typeof uuid.v4.  (This seems to fix the issue withvitest at least)
vi.spyOn(uuid, 'v4').mockImplementation((() => 'token123') as typeof uuid.v4);

Here is my workaround:
    jest
      .mocked(
        uuidv4 as (
          options?: Version4Options,
          buf?: undefined,
          offset?: number,
        ) => string,
      )
      .mockReturnValue('mock_uuid');

Investigated this a bit further...
Solution
Use mockImplementation() instead of mockReturnValue(), and cast the mock to typeof v4:
import { jest } from '@jest/globals';
import { v4 } from 'uuid';

jest.mocked(v4).mockImplementation((() => 'str') as typeof v4);

Fundamentally, what @veska was trying to do here was inaccurate.  v4() can return either a string or UInt8Array, so attempting to mock it with a function that only ever returns a string is "imperfect", and it's actually good that typescript complains about that.
The ideal solution would be to improve the mocking function to return the correct type depending on the arguments, the way the real v4() does.  But, failing that, making the above change will at least get typescript to shut up about the issue.

to fix my issue i just made a util that imports and exports like this:
import { v4 } from "uuid";

export const uuid = () => v4();

so now instead of doing: import * as uuid from "uuid";
now i just do
import * as uuidUtils from "~/utils/server/uuid.server";
vi.spyOn(uuidUtils, "uuid").mockReturnValue("token123");

i feel like maybe my "Cannot redefine property" was not related to what this issue is about. my bad.  still strange


PBFT batch should be defined as default

Currently batch is a configurable mode and the default is batchsize: 2, which is not reasonable default. We should set the default to be batch and size around 500; no magic about this number, but it is supposed to be batched for better performance :-)

A few of us are thinking about combining batch and classic into one codebase with classic becoming the special case where batchsize=1
@corecode  @jyellick
Also,  now that we've merged PR #1325,  trying to find some time to do performance measurements at different batch sizes

I don't know whether the number of transactions is a good metric to limit a batch.  If the reason is to limit the size of the resulting block, we should limit by size, not by count.

In any case, this is not a bug.

Is it better performance with batch = 2 or batch > 2 ?

I agree with @corecode this should be removed from the bug list and tagged as consensus.


2957 filter log by text

What does this PR do?
filter log by text or regex
Screenshot?

Hi @vanduc1102 Thanks for the awesome PR - Can you make sure to sign your commits, so that we can confirm it's authenticity?
https://docs.docker.com/opensource/workflow/create-pr/

hi @FrenchBen ,
Updated signed off , PR description
Could you please check the issue: https://github.com/docker/kitematic/issues/2944
I want to create local release for my team-mate.
Thanks you


Error updating status: 0, message='Attempt to decode JSON

When you follow the installation steps and run it, it sends the following message infinitely and the bot does not work.
Error updating status: 0, message='Attempt to decode JSON with unexpected mimetype: text/xml
Is this script functional or is it a test prototype?
Is the project active or abandoned?

config.yaml needs the good icecast_status_url. Icecast provides an url to check the mount-points: "http://<server_address>/status-json.xsl". But it doesn't work if we don't specify the channel. If we suppose that  the channel url is "http://<serveur_address:port>/radio.mp3", then the url needed would be "http://<server_address:port>/status-json.xls?mount=/radio.mp3". (This should be explained in the Readme, I spend hours to find that url.)
However I don't manage to make the bot working. I fill config.yaml correctly I think, the bot connects to discord, it displays the current track but it does'nt connect to the vocal room. I checked the room'ID several times in config.yaml, the value is correct. Maybe a right trouble ? I try to run the bot with admin rights with no result.
Thank you for reading.
1nss3yn

It was just a small thing I whipped up in an hour. Haven't used it in several months. I'll take a look though. Kind of surprised anyone else ever tried it.

Okay i've updated the script and it should both work and be easier to use now

removed the need to supply he status-json url. It'll figure that out on it's own now from the stream url

the bot will now join the voice channel without the user having to leave and re-enter

if the status page doesn't supply artist / track metadata, the bot will fall back to some other alternatives before finally just settling on displaying the hostname of the icecast server


Add disconnected service doc and diagram

@mattgreene @jlongstaf @jgruber
What issues does this address?
Fixes #157
What's this change do?
Adds documentation for hierarchical port binding.
Where should the reviewer start?
View the docs in the test site at http://lbaasv2-test.readthedocs.io/en/feature.disconnected-service/includes/topic_hierarchical-port-binding.html.
Any background context?
Note to self: Once this branch is merged into Liberty, I'll need to add this doc to the TOC and update refs to other feature docs (if needed).

Done with review.

All set! Fixes are incorporated in the staged docs: http://lbaasv2-test.readthedocs.io/en/feature.disconnected-service/includes/topic_hierarchical-port-binding.html


Contact Me page: Change title to "Oracle WebLogic Server on Azure Solution Overview"

Modified the title on Microsoft Partner Center and I see the changes are now live


Add more checks on generic plugin to discover discrepancies from the desired state

Summary
This PR does the following things:

Adds additional test coverage for OnNodeStateChange() function to indicate when we are draining the node
Adjusts NeedToUpdateSriov() helper function to ensure that:

VF MAC Address is set when we are in Ethernet mode
VF GUID is set when we are in Ethernet mode and RDMA is enabled
VF GUID is set when we are in Infiniband mode
PF Link is up

(API Change) Adds necessary fields in the SriovNetworkNodeState struct to facilitate the above

Partial Reconciliation
Today we reconcile on .spec change since we skip reconciliation if the generation of the object is the same as the object that was last reconciled successfully. Therefore, changes in .status, like what we try to detect with that PR, are not reconciled unless the .spec changes when the config daemon runs continuously (i.e. no restart). On daemon restart, the .status field will be reconciled the first time until the last successfully reconciled generation is saved in memory.
Decisions

Decided to add tests on the OnNodeStateChange() instead of NeedToUpdateSriov() because that one looks to be the most impactful for the whole system (i.e. decides whether to drain). I can add on both Apply() and OnNodeStateChange() if we choose to split the NeedToUpdateSriov() (see open questions below).
Decided to just look for Node GUID and not the Port GUID since we expect both of them to be populated together on bind/unbind. This is the case because we parse the GUID from the RDMA link, and the node GUID is populated there on bind/unbind.

Open questions

[ ] Is it enough to partially reconcile or do we need to change the logic to take into account changes on .status (i.e. full reconciliation of changes that the controller does to the system)? (relatively big change in the operator behaviour I suppose)
[ ] Do we need to drain on any of the discrepancies we find? (e.g. link is not up). If not, we will need to adjust the function that is used in Apply() and OnNodeStateChange() to be something different than NeedToUpdateSriov().
[ ] Are there additional end to end tests to be added? I would appreciate if you can point out the place I should be putting those (if we want to test end to end).
[ ] Do we prefer getting info by reading directly /sys/class/net/* or use netlink? I see both approaches:

https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/09c987aaa8e5b1913f3306b3f889209e06adb8a1/pkg/host/network.go#L195-L205
https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/09c987aaa8e5b1913f3306b3f889209e06adb8a1/pkg/host/sriov.go#L618-L635
Based on the answer I will use or discard https://github.com/k8snetworkplumbingwg/sriov-network-operator/pull/587/commits/d18aae1e1e975cdf9b5fca18172a1d0cafc9ca0e

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 23.46%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
2315

Relevant Lines:
9868

💛  - Coveralls

/test-e2e-all

Today we reconcile on .spec change since we skip reconciliation if the generation of the object is the same as the object that was last reconciled successfully. Therefore, changes in .status, like what we try to detect with that PR, are not reconciled unless the .spec changes when the config daemon runs continuously (i.e. no restart). On daemon restart, the .status field will be reconciled the first time until the last successfully reconciled generation is saved in memory.

PR #530  aims to tackle that

I can make the commits more compact if you feel strong about it. 14 commits are way too many for this change.

@SchSeba could you please make another pass here?

@zeeke and @SchSeba bump on that one if you could take a look.

@SchSeba please have a look, I addressed your comments.


1.2 World Format Changed

The LevelDB format changed a bit causing mcedit to be unable to read 1.2 worlds.
The changes were published on Mojang's github here: https://github.com/Mojang/leveldb-mcpe
Attached is a 1.2 world using the latest beta as an example.
1.2 Test World.mcworld.zip

That test world I gave isn't a good example. Here's a new world generated in 1.2 and I placed some blocks.
Also included is a compiled DLL from the PE version of MCCToolChest  for the new leveldb format (64bit version). If I use this DLL, when I load the map it gives an error about the chunks being empty, but if I ignore the error, it loads up the world. I then did a quick fill replace, saved it, and opened it back up in 1.2 and the changes in MCEdit worked.
So the questions are:

why does mcedit complain about the chunks being empty, but successfully load the map?
Is there anything else broken?

Testing 1.2 Crash.mcworld.zip
LevelDB-MCPE.zip (64bit DLL file zipped up since github doesn't allow them to be uploaded)

I guess we won't use this DLL because we don't know which commit on Mojang's repo was used and we don't know how it was compiled.
Regarding the world you sent in your second message, here is what I see when I open it in the current dev MCEdit (on Linux and Windows):

Filling a random area in an existing chunk with stone also worked. But I could not verify this in game...

I tested with a 1.2 world and the set biome filter doesn't work anymore. I can't give the exact error currently, but if you attempt to change the biome on the 1.2 worlds, it gives an error on the amount of arguments given.

The cause of the 'create chunk' bug has been found. This may also cause the biome filter error.

That's why I removed my comment, worked on some world's, so I thought it was just me :smile:

Can confirm this is working now. A newer version of LevelDB-MCPE.dll than what comes with source is required, but I no longer get the 'create chunk' bug.

Any chance that this is still being looked at?

We're looking to this.
A new version of the binary support will be provided once we could rebuild and test it.

We think we've successfully added support for the new world format, we're currently testing all of the maps we can to make sure

Not sure why it's still open if everything works now... Newer LevelDB-MCPE does not mean supporting the newer version since LevelDB is the code that knows to read the type of file, not the MCPE format. They probably fixed issues that they had with the phone support for the type of file so updating it does not mean better support for the new format and if we'll decide it's needed, we'll do it. If you still have issues like the "Create chunk" ones, we'd love if you could report those, we really try to fix them as quickly as we can and hope we'll soon have the new release out with MCPE support :)


Player kicked from panel doesnt display kicked by

Describe the bug
A clear and concise description of what the bug is.
So when you kick someone from the admin panel it would just show "disconnected from the server - your message ".
To Reproduce
Steps to reproduce the behavior:

Open player profile in admin panel and kick a player with a message
The fivem disconnection reason shows disconnected from the server

Expected behavior
A clear and concise description of what you expected to happen.
It should display " Disconnected by server: You have been kicked by ______ for reason  test. Just incase someone forgot to write their name in kick message while kicking from the panel this would make it simpler
Screenshots
If applicable, add screenshots to help explain your problem.
https://gyazo.com/875072739ce4e162b9d6ec77ddc0b799 kick reason from the admin panel
https://gyazo.com/d26089a994a0fea70568653ee73a6901 kick reason ingame

Has been fixed, will be in next update


new htmlToPdf does not automatically split pages, always limited to 1 page

Steps:

Go to latest feature localhost:8000/examples/html2pdf/showcase.html and notice the generated pdf,
was expecting it to split the page to 2 pages since the content is long , but it always result to only 1 page.

Is there a way to automatically split pages? also checked your example auto_break.html and it seems it has the same issue which always display 1 page no matter how long the list.

#190

@arasabbasi #190 is not work. because There is no use pdf.addHTM in showcase.html.

Visual of the repro.

Yeah i know this issue, thats I didnt close it. It is something in the plugin-code/html2canvas-code. Annoying and I dont have time to make a deep analysis.


[RFC] Proposition to clean up coreblocks

Hi,
as agreed on the last meeting, here is a proposition with new structure of directories in coreblocks:

coreblocks

frontend (as is)
lsu (as is)
fu

csr_unit.py (part of csr.py)

control

csr_register.py (part of csr.py)
csr_instances.py (now csr_generic.py)
exception.py
instr_counter.py
interrupt_controler.py

structs_common (all which has now and isn't moved to control)
core_constructors (alternatives: core_builder, core_abstractions)

rs_func_block.py
func_blocks_unifier.py

<place_holder> (propositions: ender, commiter, cleaner, arch_state_organizer, deoutoforderer)

announcement.py
retirement.py

layouts
constants

isa.py
optypes.py

utils

keys.py
instr.py

constants

core_topologies.py (hardcoded configurations from params/configurations.py)

And as promised, my proposition:
coreblocks/
    frontend/
        decoder/
            isa.py (only enums from isa.py)
            optypes.py
        fetch/
    func_blocks/
        interface/
            func_protocols.py (now utils/protocols.py)
            func_blocks_unifer.py
        csr/
        lsu/
        fu/
            common/ (or maybe it can be merged with func_blocks/interface/ as func_blocks/common/)
                fu_decoder.py
                rs.py
                rs_func_block.py
            alu, div, ...
    scheduler/
    backend/
        annoucement/ (current backend/)
        retirement/
    core_structs/
        rat.py rob.py rf.py
    priv/
        structs/
            exception.py
            instr_counter.py
            interrupt_controller.py
        csr/
            csr_register.py
            csr_instances.py
    layouts/
    params/
        core_configurations.py
        genparams.py
        icache_params.py
        fu_params.py
        isa_params.py (only ISA class)
        keys.py (?, maybe somehow together with layouts?)

It think that we should wait until next meeting, to discuss how to merge best parts of both propositions


Grace period for meeting search

Since Yap only provides results for meetings that haven't started yet, even at 2 minutes after the meeting started it would not be part of the results. Can a grace period (?) be built in so that meetings that started within the last 15? 20? minute be included in the results? Or maybe a custom configurable grace period?

Implemented in the master branch.  Will be included in the next stable release.


Can it work with any HF GPT like model?

Revolutionizing work! Thanks for the contribution.

Thanks for the kind words.
Yes, this repo works with any HF causal LM. See the customizing training section of the README. You can either add a new config yaml for the model, or just use the built-in blank_model and pass in the HF name.


incompleteMethods in Configuration keep non empty  cause java.lang.IllegalArgumentException: Mapped Statements collection already contains value for****

MyBatis version
3.3.0
Database vendor and version
postgresql-9.4.1208.jre6
Exception
java.lang.IllegalArgumentException: Mapped Statements collection already contains value for *****.selectByPrimaryKey
        at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:802)
        at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:774)
        at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:598)
        at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:300)
        at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseStatement(MapperAnnotationBuilder.java:313)
        at org.apache.ibatis.builder.annotation.MethodResolver.resolve(MethodResolver.java:33)
        at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:724)
        at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:688)
        at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:683)
        at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:183)
        at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:44)
        at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:59)
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
        at $Proxy182.countByExample(Unknown Source)

https://github.com/mybatis/mybatis-3/blob/7acd1c29e1a910f030379655aba54386563e5ebf/src/main/java/org/apache/ibatis/session/Configuration.java#L759
I fix my exception like this
/*
   * Parses all the unprocessed statement nodes in the cache. It is recommended
   * to call this method once all the mappers are added as it provides fail-fast
   * statement validation.
   */
  protected void buildAllStatements() {
    if (!incompleteResultMaps.isEmpty()) {
      synchronized (incompleteResultMaps) {
        // This always throws a BuilderException.
//        incompleteResultMaps.iterator().next().resolve();
        Iterator<ResultMapResolver> iter = incompleteResultMaps.iterator();
        while (iter.hasNext()) {
          try {
            iter.next().resolve();
            iter.remove();
          } catch (IncompleteElementException e) {
          }
        }
      }
    }
    if (!incompleteCacheRefs.isEmpty()) {
      synchronized (incompleteCacheRefs) {
        // This always throws a BuilderException.
//        incompleteCacheRefs.iterator().next().resolveCacheRef();
        Iterator<CacheRefResolver> iter = incompleteCacheRefs.iterator();
        while (iter.hasNext()) {
          try {
            iter.next().resolveCacheRef();
            iter.remove();
          } catch (IncompleteElementException e) {
          }
        }
      }
    }
    if (!incompleteStatements.isEmpty()) {
      synchronized (incompleteStatements) {
        // This always throws a BuilderException.
//        incompleteStatements.iterator().next().parseStatementNode();
        Iterator<XMLStatementBuilder> iter = incompleteStatements.iterator();
        while (iter.hasNext()) {
          try {
            iter.next().parseStatementNode();
            iter.remove();
          } catch (IncompleteElementException e) {
          }
        }
      }
    }
    if (!incompleteMethods.isEmpty()) {
      synchronized (incompleteMethods) {
//        incompleteMethods.iterator().next().resolve();
        Iterator<MethodResolver> iter = incompleteMethods.iterator();
        while (iter.hasNext()) {
          try {
            iter.next().resolve();
            iter.remove();
          } catch (IncompleteElementException e) {
          }
        }
      }
    }
  }

Hi @wangchong666
We need to know 'how to reproduce the problem' before fixing it.
Could you create a test case or an example project?

Hi @harawata
I have 16 instances running on 8 servers bu only 2 of the servers have this exception,I am not sure what the Reproduction condition is.Can you give me some suggestions?

Hi @wangchong666 ,
Could you clarify a few basic things first?

You wrote that your MyBatis version is 3.3.3, but there is no such version. Could you check again?
Which version of Java do you use?
Are these 8 servers running on the same environment? (i.e. OS, Java version, MyBatis version, etc.)

Hi @harawata ,

MyBatis version is 3.3.0.
My Java version is jdk1.6.0_31.
Yes,I have tried to find any difference many times.

the only thing i can make sure is the size of  incompleteMethods in configuration is not 0 after server start，but on the other servers it is 0.

@wangchong666 ,
Thanks for the info.
I am not sure, but buildAllStatements() may be called before all mappers are parsed for somehow.
Try setting breakpoints on this line and this line and see how they are hit.
And could you show us how you register your mappers? (config XML, @MapperScan, etc.)


More precise useQueryResult type

Hey,
I've been using the urql client for a while and I've been noticing that maybe the hooks could leverage some typings to give some guarantees and skip some if in the code.
Basically if these 3 assumptions hold:

If fetching is true, data is undefined and error is undefined
If fetching is false, and data is not undefined, then error is undefined
If fetching is false, and error is not undefined, then data is undefined

Then we can write a type union that encompasses these cases so that impossible states are unrepresentable but more importantly the type checker will restrict the type avoiding to do some null checks along the way.
export type UseQueryState<T> =
  | {
      fetching: boolean,
      stale: boolean,
      data?: T,
      error?: CombinedError,
      extensions?: Record<string, any>,
    }
  | {
      fetching: true,
      data: undefined,
      error: undefined,
    }
  | {
      fetching: false,
      data: undefined,
      error: CombinedError,
    }
  | {
      fetching: false,
      data: T,
      error: undefined,
    };

Hiya 👋
Unfortunately none of these states are mutually exclusive, which is why the type isn’t more precise. Let me quickly list them out 😅
If you’ve already fetched before and are changing the inputs, you’ll be back at fetching new state, but will still have access to the previous state’s data. Hence fetching may become true again while data and error are still accessible.
The error and data states can also coexist. In GraphQL any query may deliver partial data. If a resolver on an optional field (which may cascade even) has errored, then the server will still send some available data, null out some fields, and will deliver one or more GraphQLErrors (per errored resolver).
This is why urql abstracts this with the CombinedError already, to make this part a little more user-friendly.
Apart from this there’s also some other (less common) states. The stale flag for instance hints at data being fetched in the background while some cached data is already available.
Hope this makes sense! 🙌

It totally makes sense, thanks for the quick clarification — as long these checks are legit I'm fine with having them there.
Cheers!


Revert "Master"

Reverts aaqibb13/DjangoBlogApp#2

Reverted Merge of master -> Revertedchanges

The branches will now be deleted!


Add support for virtual IPoIB interfaces (ipoib subinterface) & partition keys

Add support for virtual IPoIB interfaces.  These are similar to ethernet macvlan.  It prevents the device being moved only into a single container.
Also added is support for Infiniband Partition Keys (which are similar to the ethernet VLAN).
Use like the following:
pipework ib0 $CONTAINERID <IP_ADDRESS>/24
pipework ib0 $CONTAINERID <IP_ADDRESS>/24 @8001  # for PKEY 8001 which must be set up in your subnet manager.

I've also updated the Readme for reflect the changes.

Hi @hookenz, are you still working on this pull request?

@haggale - I've been a bit busy but I should be able to update it.  But unfortunately, not for a few months because I'm currently overseas and the hardware to test it on is back home.
If you need this yoursef sooner, feel free to take a look at what I did, merge and test.

Okay, I'll try to do that if I get the time.

I think this is superseded by #168, correct?

Yes.

OK, I'll close this PR then. Thank you!


Empty layers export to DXF

Hi
I need to prepare some empty layers that will be exported to  DXF together with the rest of the model. Is there a way to create empty layers with names that will just be there when imported to ex. LibraCAD ,eventually with  more settings like font size etc.  ?

I've marked this as an enhancement, so I won't get around to it until after some other work.
Meanwhile, I wonder if you can get by with this workaround: using a degenerate path, meaning either:

a circle with radius 0
a line with both ends on the same point

Currently, the dxf export code will create the layer table from the paths in the drawing. Then my question is if in your process, will LibraCAD ignore these "invisible" entities?

I will try and let you know
thanks

it works by using Rectangle
var l1 = new makerjs.models.Rectangle(0,0);
l1.layer='layer1';

And then in the
var model={
    models: {
        objects: otherobjects,
          l1:l1,
         }
     }


New Firefox Permissions unnecessary

The <IP_ADDRESS>0 version of "Twitter View Original Images" requires new Firefox permissions "Access browser tabs", which gives these rights:

Access tab details to enable bookmarking
Order and group tabs
Move tabs between windows
Provide an alternative way of listing tabs

Why are any of those required?

Provide an alternative way of listing tabs

This is my purpose.
Since version <IP_ADDRESS>1, this permission has been added to reload all Twitter tabs when changing option valuess.

I figure I'd chime in and mention that those same permissions in Chrome gives the warning that the extension wants to read your browser history, which might be alarming to users.

@furyutei , thanks for your quick reply, and my apologies for this slow response.
While i applaud your effort to improve twOpenOriginalImage, this escalation of Firefox permissions gives the addon access to both URL and title for all open tabs, in exchange for a minimally used  feature, and which is beyond the scope of the addon.
Please, would you consider instead of escalating tab details access, write a short text in the Options description, like "Reload open Twitter/TweetDeck tabs after changing options".


Update autodraft workflow to skip bots

Auto draft workflow shouldn't run on dependabot[bot] and 'renovate[bot]' PRs.
JIRA: https://issues.redhat.com/browse/OSPRH-7175
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/approve

/lgtm


Replace "GuiMiniTabMenu" with "GuiTabMenu" and tweak it

Made "GuiTabMenu" to be slimmer as "GuiMiniTabMenu" was. It's still looks good in the TabContainer:

Fixes #32323.

Thanks!

For the reference, the new version is aligned quite far to the right compared to what the previous icon looked like. Not sure which I prefer (tend to like the "Before" more, but I'm slow to adapt to changes in general :P), just mentioning it so that we're aware of the impact on the overall design.
Before:

After:


Bug in Ocelot App

Expected Behavior
It should allow users to select from the available Emoji's without any error
Actual Behavior
Each time any Emoji is clicked on, the app crashes
*Test Tools

Operating system : Android 6.0
Phone : Infinix hot s
Ocelot version 0.1

How to produce the bug
Open the App, set up your account (it won't take up to 30sec)
After opening, click on the text area to input text, select the Emoji icon to bring out all available emoji, now select any Emoji, it'll definitely Crash
Recording of the bug is shown below......
https://youtu.be/fZlKY-Wp4OE
Posted on Utopian.io -  Rewarding Open Source Contributors

Thanks for the report, I'll see what I can do.

You're welcome

This should be fixed in 181c27791e828bcf2bbc76d8d16e300631b6f457


[FEATURE] Costum X & Z settings for CA extrap

just like Y+ and Y- but for XZ, it should make extrap better and smarter
also add Y+z Y-Z Y+X Y-X settings since sometimes i see in the extrap render the Y extraps just sometimes go all the way down/up (even when player is moving forward/backwards and upwards/downwards)
this should fix it by extrap moving better diagonaly

I might add a horizontal XZ-Factor, thats it.

👍

also if you could bring back old 1.0.0 ca (it had AutoCrystal and CrystalAura) that'd be cool, or maybe as a plugin bcs tbh the current ca is bloated and for cc you dont need all of this bloat i feel its making ca less effective


[Cosmetic] Readme logo not compatible with GitHub dark mode

Should change to transparent background

New logos deployed via https://github.com/python-hyper/documentation/pull/39


Fix Spanish dialect selection

[ x ] Updated Unreleased in CHANGELOG.md to reflect the changes in code or data.

One open question I have is whether to include additional country selectors for Latin America (i.e. Columbia, Chile, etc) to the scrape's config, but I don't know how prevalent these are wiktionary or if they're wanted in the wider Latin America dialect file.

One open question I have is whether to include additional country selectors for Latin America (i.e. Columbia, Chile, etc) to the scrape's config, but I don't know how prevalent these are wiktionary or if they're wanted in the wider Latin America dialect file.

We don't have any discoverability for dialect strings. Ideally there'd be some way to get a list of them in descending frequency order and then you could manually cluster and write back into languages.json. Nice feature request though.

Sure, I can run that in the next couple of days.  I did do some work for getting single parse for multiple dialects working, but it's a bit hacky and I'll rerun the scape using just this current branch.

Sure, I can run that in the next couple of days. I did do some work for getting single parse for multiple dialects working, but it's a bit hacky and I'll rerun the scape using just this current branch.

Excited to see this, this will be a huge improvement we've wanted forever.


Imported types don't cause typecheck error when they should.

I'm having trouble getting imported types to work.
In file1.js
export type StringAlias = string;

In file2.js
import type {StringAlias} from './file1.js'
var x: StringAlias = 12;

Surprisingly, running flow check shows no errors !
Moving the expression in file2.js to file1.js produces the expected error from flow.
Has anyone else run into this ? Is there a special trick to getting imported types to typecheck ?

You're probably forgetting to add @flow to both files (or to call check with the --all flag). Couldn't repro otherwise.

@avikchaudhuri Thanks for taking a look !
Having @flow is not the issue, but you're right that recreating a minimal setup in another directory does not have this problem.
Any theories on what might be the issue ? I've tried a bunch of tweaks to the .flowconfig file, including having just an empty one but the issue remains in one directory but not the error. Extremely frustrating :-(

Sorry about the frustrating experience. I'd love to help you get to the bottom of this issue, but without more information it is difficult to speculate. Since the code in the original issue wasn't sufficient to reproduce, can you share more?

@samwgoldman @avikchaudhuri
After tinkering around a bit I've been able to narrow it down. Very weirdly, it looks like the problem occurs when the module exporting the type also exports an object with a parameterized function !!
It could very well be that I'm doing something wrong. A set of files illustrating the problem are attached. The flow version is
flow version
Flow, a static type checker for JavaScript, version 0.22.1

flowProblem.zip

Thanks, @arunabha. Would you mind putting that code up as a gist instead of a zip file? Thanks.

@samwgoldman  Here you go.
https://gist.github.com/arunabha/58330076b3801f4df654

@arunabha I haven't tried to run that yet, but can you explain again what is different between doesntWork1 and works1 or between doesntWork2 and works2? They look identical. Is it possible there's a mistake in the gist?

In doesntWork1 the foo member is
foo: function(cb) {},

in works1
foo: function() {},

The files that work do not export foo with a parameter, the one that don't work export foo with a parameter. I admit it sounds weird, but I just checked again :-)

Bizarre!

So, were you able to repro ? or is it just my machine / hallucination :-)

I haven't had a chance yet, but this is high on my list!

I don't know exactly where the problem is, however as flow requires parameter types, flow complains about doesntWork2.js saying:
  7:   foo(cb) {},
           ^^ parameter `cb`. Missing annotation

Adding cb:any i.e, test.js correctly reports:
  4: var x: StringAlias = 12;
                          ^^ number. This type is incompatible with
  4: var x: StringAlias = 12;
            ^^^^^^^^^^^ string

If you try to add any annotation, does the code typecheck?

Yep, adding a cb: any  to doesntWork2.js causes test.js to start complaining about x being assigned an incompatible value.

You should have gotten a missing annotation error. Did you?

Yes, I did get the missing annotation error for cb in both doesntWork1.js and doesntWork2.js before adding the cb: any.
Adding cb: any causes the missing annotation error to go away and the incompatible type error in test.js to show up

Right, so Flow requires annotations on module boundaries, which is a pretty huge performance win since we can do more type checking in parallel. (We might strategically relax this restriction in the future.)
That totally explains the behavior you saw, too. If you have missing annotations like this, the module becomes any-typed.

Hmm ok. Thanks for looking into it !
The docs do state that annotating module boundaries is a good idea, however it might be good to call out that failing to do so will make the entire module any-typed. Also adding a warning about this in the output would help a lot of users.
Thanks again !

This is still an issue, because flow shows test.js as having 100% coverage.
For imported modules that flow decides to type as any, it should show anything referencing those modules as not covered.
billschalle-mbp:flow-fiddle billschaller$ flow coverage test.js
Covered: 100.00% (3 of 3 expressions)

Closing in favour of https://github.com/facebook/flow/issues/3522


Mocked fetch response cannot dynamically change HTTP status, status text or headers

When mocking fetch responses, we should have full dynamic control over all aspects of the Response object, including:

body
status
statusText
headers

Currently, we only have this:

body: static object or dynamic based on request (when setting the mocked response to a function)
status: static number; no ability to dynamically change it based on request
statusText: no control at all
headers: no control at all

Example use case
I have a fetch endpoint that various authentication tasks and they all use the same URL; the endpoint returns different data, status codes and headers depending on the request body.
In one story, I have a page component that needs to have the client credential request respond with HTTP 200 immediately followed by another request to the same endpoint that should respond with HTTP 500 (mocking a user validation error).

would be nice indeed to have that ability

@yormy This missing feature was a deal breaker for me; I needed to test successful endpoint responses and failures. I ended up writing my own Storybook wrapper around the fetch-mock library.
https://github.com/JohnAlbin/storybook-addon-fetch-mock

@JohnAlbin your code only mocks fetch, but Angular uses XHR, so it's important to note that it's not compatible with Angular apps. Unlike this module =)

your code only mocks fetch, but Angular uses XHR, so it's important to note that it's not compatible with Angular apps.

Fair enough. But if an app needs XHR mocking, it's pretty clear storybook-addon-fetch-mock only does fetch mocking.

And yeah, this module is mockingly powerless to do real mocking. Can't set headers etc, that's just pathetic.

Don't be unkind. Just because storybook-addon-mock doesn't solve our issues, doesn't mean it can't solve lots of other people's issues.

Don't be unkind. Just because storybook-addon-mock doesn't solve our issues, doesn't mean it can't solve lots of other people's issues.

Well, after I invested time into integrating this module, it just stops working. That's quite unkind from the module.
Imagine you take a car, it goes 10km and stops. Not what you'd expect ;(

Added MR for customized status code returns


content(cms): create Post "git-version-control-via-command-line/index"

Automatically generated by Netlify CMS

restore branch for changes


Now running tasks are stored in memory.

This issue targets hisenbug of asycio. In most cases is should not be a problem and taskiq haven't received any related issues yet. But it might be problematic.

Codecov Report

Merging #220 (faefae3) into develop (e66f3aa) will increase coverage by 6.07%.
Report is 138 commits behind head on develop.
The diff coverage is 74.09%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##           develop     #220      +/-   ##
===========================================
+ Coverage    67.62%   73.69%   +6.07%
===========================================
  Files           37       55      +18
  Lines          942     1627     +685
===========================================
+ Hits           637     1199     +562
- Misses         305      428     +123

Files
Coverage Δ

taskiq/__init__.py
100.00% <100.00%> (ø)

taskiq/abc/formatter.py
100.00% <100.00%> (ø)

taskiq/abc/middleware.py
100.00% <ø> (ø)

taskiq/abc/result_backend.py
100.00% <ø> (ø)

taskiq/abc/serializer.py
100.00% <100.00%> (ø)

taskiq/acks.py
100.00% <100.00%> (ø)

taskiq/api/__init__.py
100.00% <100.00%> (ø)

taskiq/cli/common_args.py
100.00% <100.00%> (ø)

taskiq/cli/watcher.py
0.00% <ø> (ø)

taskiq/cli/worker/log_collector.py
100.00% <ø> (ø)

... and 42 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Restyle and restructure left navgation panel

Motivation:
The assignment of information and functional elements should be improved by the transformation and restructuring.
Changes:

Information concerning the current document is summarized by the dark background.
The orange background is used for grouping the parent level (documentation server)
Information and selection of the version is assigned to the title of the document and only displayed if the document exists in several versions.
The search is clearly recognizable by the magnifying glass icon which also acts as a submit button
Distances and horizontal alignment improve the visibility of the structure

I'm adding an image to visualize the current status and results for the ideas.
I'm not changing anything of the original ideas, I used the screenshot above and compare it with the current rendering result.


Prevent ktx from closing the user's shell

This PR addresses #16 by replacing the use of exit with return to prevent ktx from closing the user's shell on an error.

looks good to me (also tested and works great!), I'm going to rebase this and merge it since there are no conflicts.


Saffron finance strategy

Single invocation of multicall with increased use of type checking

Merged into snapshot-labs/master. Closing this pull request to avoid confusion.


Java indexer: scan annotation arguments [phab:D1732]

Created by schroederc at 2017-06-23 18:12:39:

fromberger accepted this revision at 2017-06-23 18:14:49

schroederc closed via commit<PHONE_NUMBER>d6a0fdcefa65d565acedb51e136bf7 at 2017-06-23 18:15:23


num of tokens taken from a passage

@canjiali Hello,
I wanted to ask about the  "convert_to_bert_input" function (bert/tokenization), and specifically, this line. When add_cls=True we do need to subtract 2 for both CLS and SEP, but when we use this function to convert a passage to tokens we call it with add_cls=False, so we actually need to subtract 1 for SEP only.
It is also visible in the produced tensors:

whereas if you fix this (by subtracting 1 only if add_cls=False):

notice that now another token is added before the SEP token (102).
What do you think?
Thanks

hi @lironT74,
I think you're right! but I guess it wouldn't hurt the performance much.😄


x/website: 'Packages' link mistakenly points to search box instead of standard package docs

New go.dev website's Packages link should go to the standard package docs (https://pkg.go.dev/std), not a search box. That is the new site has a regression in usability and should be reverted to the direct link.

golang.org and go.dev were inconsistent in what the top bar 'Packages' link pointed to.
On golang.org it pointed to the standard library (like https://go.dev/pkg/?m=old).
On go.dev it pointed to pkg.go.dev.
We have to pick just one, and it seems far more useful to me
to go to a page that lets you find any package,
instead of a page that only shows some packages.
I believe the current behavior, of linking to pkg.go.dev, is working as intended.

/cc @jamalc @julieqiu @dmitshur in case I am wrong about this.

It makes sense for the Packages item on https://go.dev/ to go to the general pkgs search, but how do you discover https://pkg.go.dev/std now? Searching for "std" on https://pkg.go.dev/ doesn't work.
There has to be a way to find out what packages Go actually ships with. The quickest way appears to click on Docs to reach https://go.dev/doc/, then scrolling down to

Package Documentation
The documentation for the Go standard library.

which then links to https://pkg.go.dev/std, under the cryptic "Package Documentation" title (what package?) But that's like two thirds down, in a page with other 25 links, all equally prominent.
IMO there should be a link to https://pkg.go.dev/std prominent on https://pkg.go.dev/. So I would see something like "Standard library documentation" that jumps to https://pkg.go.dev/std, or I'd use the search bar if instead I wanted to look for 3rd party packages.

I believe that part is #40785

Ah, that's right. I forgot about that one. It certainly got more relevant now that the migration to go.dev is in progress.

I sent a CL to put "Standard Library" in the footer menu under "Packages".