azure-storage-queue can't connect to Azurite if url doesn't start with <IP_ADDRESS> or localhost

Package Name: azure-storage-queue
Package Version: 12.1.6
Operating System: Ubuntu 21.04
Python Version: 3.8

Describe the bug
When connecting to a local Azurite instance (through <IP_ADDRESS> or localhost), everything works. However, if the azurite url does not start with <IP_ADDRESS> nor localhost (for example, if trying to connect between Docker containers using the container name) it fails with a ValueError("Unable to determine account name for shared key credential.").
I've found that in the azure/storage/queue/_shared/base_client.py, there is a special case only for urls starting with <IP_ADDRESS> or localhost, so I suspect that might be causing the issue:
if not self.account_name and parsed_url.netloc.startswith("localhost") or parsed_url.netloc.startswith("<IP_ADDRESS>"):
        self.account_name = parsed_url.path.strip("/")

To Reproduce
Steps to reproduce the behavior:
Try to connect to an Azurite instance with the following code:
queue_client = QueueClient.from_queue_url(
        f'http://azurite:10001/devstoreaccount1/my_queue',
        'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='
    )

Expected behavior
The connection should be created and I should be able to connect to the queue.

hey @JoaquinLeonArg , thanks for your feedback, we'll investigate ASAP.
adding @xiafu-msft to take a look.

@tasherif-msft / @xiafu-msft fyi

Hi @JoaquinLeonArg, thank you for reporting this, I will investigate this issue and get back to you!

@JoaquinLeonArg Apologies for the late reply. We will update this thread once we have more details on this.
@tasherif-msft @xiafu-msft Could you please provide an update on this request ? Awaiting your reply.

Hi @JoaquinLeonArg Joaquín, I just wanted to touch base with you to see if this has not been resolved yet? I do see that the issue may lie our parsing so that may require further investigation and we will get back to you if there are any updates. In the meantime, perhaps this work-around would help to unblock your workflow:
from_queue_url accepts a `credential parameter as seen here. With that being said, you can alternatively provide the credentials directly in a dictionary format.
The format of this dictionary should be the following:
cred_dict = {"account_name": <ACCOUNT_NAME>, "account_key": <ACCOUNT_KEY>}
Then ensure you are passing this in as the credential= param for your call to the from_queue_url API.
Please give that a try if your problem is still persisting and hopefully that should do the trick!
Thanks!


docs: replace @note with @remarks

Updated TSDoc comments by replacing @note with @remarks across the codebase. This aligns with TSDoc's preferred conventions, where @remarks is used for supplementary explanations and additional context.

The changes were merged into the following branches: main, 19.0.x


[object_store] Should object_store retry on broken pipe errors when calling put?

Which part is this question about

object_store
Describe your question

We've been using object_store, and occasionally, we see logs like this (some details omitted for brevity) when calling put():
2024-03-20T14:22:18.239+00:00 ERROR (src/rust/apps/flusher/src/upload_task.rs:50) - Error while trying to flush file to object store: error resolving file 'file[...]': internal error
Caused by:
    0: internal error
    1: Generic S3 error: Error after 0 retries in 1.096125ms, max_retries:10, retry_timeout:60s, source:error sending request for url (https://s3.us-east-1.amazonaws.com/...): error writing a body to connection: Broken pipe (os error 32)
    2: Error after 0 retries in 1.096125ms, max_retries:10, retry_timeout:60s, source:error sending request for url (https://s3.us-east-1.amazonaws.com/...): error writing a body to connection: Broken pipe (os error 32)
    3: error sending request for url (https://s3.us-east-1.amazonaws.com/...): error writing a body to connection: Broken pipe (os error 32)
    4: error writing a body to connection: Broken pipe (os error 32)
    5: Broken pipe (os error 32)
  ...

This is despite having retries configured, so this was confusing to us why it was saying 0 retries. Should this be something that gets retried?
Additional context

This seems to be a similar issue to https://github.com/apache/arrow-rs/issues/5106.
I've also done a bit of digging - this looks like it's a hyper error when there's a BodyWrite error.
It looks like in object_store we check for hyper errors here, but it looks like the BodyWrite error isn't checked. Unfortunately, I don't think hyper exposes a public interface for this check at the moment.
For now what we've done is manually wrap the put with our own retry and check for the error Display implementation, but that's pretty jury-rigged.

Could you provide a bit of context on how you're running into this issue. I wonder if you are multiplexing CPU bound tasks on the same threadpool and thereby starving out the IO tasks?

Unfortunately, I don't think hyper exposes a public interface for this check at the moment.

Perhaps you might file an upstream issue in the hyper repo to get feedback on exposing this upstream? I'd be interested to know the circumstances in which this error might occur, and if there is a reason it isn't currently exposed

We're doing a lot of frequent writes, so that could be possible. That said, we're not hitting rate limits as far as I'm aware and it seems to be pretty sporadic when it happens.
I can file an issue upstream to ask, thanks for the pointer.

Could you provide a bit of context on how you're running into this issue.

I encountered this performing a GET request (part of ObjectStore::head) to fetch an objects size.  We get failures like this very infrequently so I'm assuming it is just an exceptional event on the cloud storage servers.  We used to have this problem more reliably with get_range but we ended up surrounding get_range with our own retry loop (we now also surround size with a similar retry loop so this isn't urgent for us).

I wonder if you are multiplexing CPU bound tasks on the same threadpool and thereby starving out the IO tasks?

Yes, we do perform quite a few tasks in parallel, but we do quite a bit of profiling and CPU bound tasks shouldn't generally be starving the thread pool.

Perhaps you might file an upstream issue in the hyper repo to get feedback on exposing this upstream?

I don't have any evidence to believe that hyper is doing anything incorrect here.  I think a much more likely explanation is an error / bug in the GCS server (or some kind of throttling / load balancing component).

Closed by #5609


Addition of Casa Wealth Security Protocol

Added the new Wealth Security Protocol by Casa

Merged - though perhaps a security section would be a good idea!


Added character carousel page

https://github.com/codersforcauses/foodbank/tree/s26-character-page-carousel is messy since its got code merged from other branched. I've extracted just the character carousel stuff. Ty Peter + Shuang for most of the work 🙏
Changes include:

API function to retrieve characters from a particular town (from Notion)
Components for character carousel including single page display and individual carousel items
Dynamic routing for carousel page
Townbox links to carousel page
Added hook that listens to window size and returns width of viewport
Max number of characters that display on the page based on viewport width
Characters render in a grid so each one takes same amount of space even when numCharsOnPage < maxNumCharsOnPage
Fixed pagination issue (previously only two pages ever rendered)

Closes #226 #230

The functioning is fantastic!!! Works great.
However, styling may need a bit of work 😅

The functioning is fantastic!!! Works great.
However, styling may need some small changes 😅

Make the images preserve their original aspect ratios so that they don't appear stretched

Also it would be nice to have arrows as buttons, but that can be done as a different pr.

Ok I think this is ready for merge now. Things I've done:

Fixed issue where background was not extending to whole screen (min-h-screen fixed it)
Positioned carousel centrally (previously would be too close to top for large screens, and was skewed to the left when carousel width was much lower screen width)
Changed page toggle buttons to arrows
When you can't go to next/prev page, greyed out unclickable button renders to ensure carousel doesn't shift due to buttons disappearing/reappearing

Still to do:

Fix small screen display - char images look a bit too big and cramped too close to button


cannot find SimpleMailgunAdapter after upgrading 2.2.6

After change "parse-server": "~2.2.5" to "parse-server": "~2.2.6" in package json and run
npm install and restart parse server, I keep getting the following error.
at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Function._load (/usr/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/opt/wishlist-parse-server/index.js:15:28)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
Error: Cannot find module 'parse-server/lib/Adapters/Email/SimpleMailgunAdapter'

And I noticed parse-server/lib/Adapters/Email/SimpleMailgunAdapter.js is gone. It is used to be there in 2.2.5

try:
emailAdapter: {
module: 'parse-server-simple-mailgun-adapter',
options: {
fromAddress: 'adress',
apiKey: 'key',
domain: 'domain',
}
}

@Bragegs that's what I have in my index.js, still the same error

ok, I fixed it.
removing
var SimpleMailgunAdapter = require('parse-server/lib/Adapters/Email/SimpleMailgunAdapter');
fixed it. thanks.


NeoVim editor does not spawn on Mac OS X 10.13.3

When trying to run Oni (0.3.0) for the first time on my Mac (10.13.3), the GUI and folder list open, but the actual neovim editor does not, it just appears as a blank screen:

I then have to force quit it to get it to actually close.
When I look at the console, I see this error when I try to open a file to edit:
0.bundle.js:182 Uncaught (in promise) TypeError: Cannot read property 'request' of undefined
    at T.command (0.bundle.js:182)
    at ee.<anonymous> (1.bundle.js:58)
    at Generator.next (<anonymous>)
    at 1.bundle.js:58
    at Promise (<anonymous>)
    at Z (1.bundle.js:58)
    at ee.openFile (1.bundle.js:58)
    at p.<anonymous> (1.bundle.js:34)
    at Generator.next (<anonymous>)
    at 1.bundle.js:34

The full log is here: https://pastebin.com/RzEBGK2V
Some possible issues I can think of:

Some conflict with my config (https://github.com/MikeDacre/nvim)
Some conflict with the homebrew installed nvim

Note: I also have an Arch Linux machine, and Oni just worked perfectly there with the exact same config, so that makes the first option much less likely. I also tried deleting my entire config from the ~/nvim and ~/.oni directories, so that probably eliminates the config as an issue, unless Oni is caching it somehow.

@MikeDacre, sorry to hear that sometimes if theres a conflict or error with the init.vim the editor might not start can I ask what's the output of the :messages command and what version of nvim are you running locally?

Hi @Akin909, unfortunately I couldn't run :messages because it would hang before I got there. I had both nvim version 0.2.2 from brew installed and also VimR. Output of :version:
NVIM v0.2.2
Build type: Release
LuaJIT 2.0.5
Compilation: /usr/local/Homebrew/Library/Homebrew/shims/super/clang -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -I/tmp/neovim-20180209-92407-udkzoo/neovim-0.2.2/build/config -I/tmp/neovim-20180209-92407-udkzoo/neovim-0.2.2/src -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/opt/gettext/include -I/usr/include -I/tmp/neovim-20180209-92407-udkzoo/neovim-0.2.2/build/src/nvim/auto -I/tmp/neovim-20180209-92407-udkzoo/neovim-0.2.2/build/include
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +jemalloc +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/0.2.2_1/share/nvim"

Run :checkhealth for more info

I tried:

Deleting Oni with AppCleaner to delete all caches and configs, then deleting ~/.oni and ~/nvim, and then resintalling Oni. That did not work, the editor still failed to load.
Uninstalling the homebrew version of nvim, and then deleting and reinstalling Oni with the ~/nvim folder still gone, and that also didn't work.
Uninstalling VimR and Oni with AppCleaner, with the homebrew nvim and ~/nvim still gone, then reinstalling Oni

None of those helped at all. I tried looking in ~/Library/Logs/Oni and the Mac Console app, and I only found three messages there relating to Oni:
*** WARNING: Textured window <AtomNSWindow: 0x7fe51dd00890> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.

GVA info: preferred scaler idx 0

LSExceptions shared instance invalidated for timeout.

None of those look too serious, so I am kinda stumped about what to do next.

@MikeDacre can you try running oni from the command line using oni --debug this will open the developer tools and we should be able to see whatever error is crashing oni?

Alright, so running /Applications/Oni.app/Contents/Resources/app/oni.sh with or without the --debug flag results in it running just fine, but clicking the app icon results in the same error (no nvim editor, the rest of the GUI works fine) as before.
Here is the debug log from running from the command line (works):
oni_debug.log
Here is the debug log from running from the app icon (doesn't work):
oni_error.log
Getting similar errors to the one in my first report:
0.bundle.js:182 Uncaught (in promise) TypeError: Cannot read property 'request' of undefined
    at T.<anonymous> (0.bundle.js:182)
    at Generator.next (<anonymous>)
    at 0.bundle.js:182
    at Promise (<anonymous>)
    at w (0.bundle.js:182)
    at _inputQueue.enqueuePromise (0.bundle.js:182)
    at n (0.bundle.js:64)
    at r._currentPromise.then (0.bundle.js:64)
    at <anonymous>
bundle.js:1 TypeError: Cannot read property 'request' of undefined
    at T.<anonymous> (0.bundle.js:182)
    at Generator.next (<anonymous>)
    at 0.bundle.js:182
    at Promise (<anonymous>)
    at w (0.bundle.js:182)
    at _inputQueue.enqueuePromise (0.bundle.js:182)
    at n (0.bundle.js:64)
    at r._currentPromise.then (0.bundle.js:64)
    at <anonymous>
t.error @ bundle.js:1
0.bundle.js:182 Uncaught (in promise) TypeError: Cannot read property 'request' of undefined
    at T.<anonymous> (0.bundle.js:182)
    at Generator.next (<anonymous>)
    at 0.bundle.js:182
    at Promise (<anonymous>)
    at w (0.bundle.js:182)
    at _inputQueue.enqueuePromise (0.bundle.js:182)
    at n (0.bundle.js:64)
    at r._currentPromise.then (0.bundle.js:64)
    at <anonymous>

@MikeDacre I just check locally and found that I'm running neovim 2.3 which isn't to say that definitely the cause as I imagine it would have come up sooner but you can try upgrading version

Alright, so running /Applications/Oni.app/Contents/Resources/app/oni.sh with or without the --debug flag results in it running just fine, but clicking the app icon results in the same error (no nvim editor, the rest of the GUI works fine) as before.

This is interesting! This suggests that potentially there is some difference in environment (when starting from the terminal, it inherits environment variables from the terminal instance, whereas when starting from the dock / app icon, it may not get the same set of environment variables).
@MikeDacre - if you press a key in Oni while the blank screen is present when starting from the dock / app icon, does Neovim start at the point? We have an unfortunate experience today where if there is an error when Neovim starts, the editor simply does not load - but pressing a key bypasses that, and then you can try :messages to see the actual error is. (This was fixed in #1354 but isn't in a release build yet - just master).
We've seen issues in the past with Python virtualenvs causing issues with the python provider not loading for Neovim (which then causes problems for Oni...).

I have the same issue, with the same error message. Funny, because @MikeDacre mentioned it works for him under Arch Linux, which is the platform I am on. Let me know if I can help getting to the bottom of this.

@Akin909: The issue is the same even if I completely uninstall neovim everywhere except in Oni, and delete my init.vim file and all configs, so I don't think this is the issue.
@bryphe: You might be onto something with the python virtualenvs point—I have altogether too many instances of python installed:

The Mac OS versions of python, with no extra modules installed, definitely not neovim
Homebrew python 3.6 and python 2.7, with a bunch of modules installed, including neovim
Pyenv python versions for testing stuff, with no neovim modules
An anaconda version for some scientific work, with neovim modules installed

Quite possibly what is happening is that when I launch from the shell it is using the python environment defined there, which would be the anaconda one, whereas when I run from the app icon it is using the system python, which has nothing installed. Does that seem plausible? I am not at my laptop now, but I can test it when I get home. Any suggestions?
To answer your first question: no, no keypresses do anything, I tried everything I could to try and get it to launch or debug it myself, and the screen just remains blank. If I do too many things, then I can't even quit it without force quitting from the doc.
@modiho: Do you use python environments like I do? If so, do you have the neovim module installed in your root system python?
I did a quick experiment on my Arch Linux machine at work uninstalling the neovim modules in the system python, but it did not replicate the error.

@MikeDacre I have python 3 and 2 installed via pacman (the built-in package manager on arch-linux). I didn't have the python neovim modules installed, but with or without them oni behaves the same. I uninstalled python 3 and tried again without success.
I have not gotten oni to freeze, it's just that the actual editor doesn't show at all. I can use the rest of the GUI just fine and can quit via the menu.
I'll try debugging this by building oni from scratch to get a source-mapped error once I have the time.

The error is TypeError: Cannot read property 'request' of undefined at NeovimInstance.eval (NeovimInstance.ts), referring to this line.
this._neovim is undefined because NeovimProcessSpawner.startNeovim, called from NeovimInstance.start, does not resolve successfully.
I got the neovim editor to open by commenting out the try block in mergeSpawnOptions in Process.ts. Something goes wrong when executing shellEnv, and for some reason, execution is not resumed in the catch block.
I have not figured out yet why a) shellEnv() fails and b) why the try {} catch() doesn't work. Especially b) confuses me.

@modiho thats interesting there's definitely been an issue re the neovim process starting up which is what leads to the request of undefined and other issues as you point out. I wonder if you try the sync version of shell env aka (shellEnv.sync) so no promises or try having it imported at the top of the file as opposed to a dynamic import does that change anything?
ShellEnv is how we get a user's env variables which neovim requires of loads of things like pyenv, goroot etc. and not having them was a source of major issues, but I'm wondering if how were importing it and using it is causing some issues

@MikeDacre that definitely a place where shellEnv / oni start up can fall down as we check a users shell to get the path so if there is some issue re how the path is set tbh I'm not really sure how shell env would behave.
When you say you have to explicitly call a path helper can I ask what you mean are you exporting a PATH variable or using shell fn?
Also if you open oni --debug and type process.env in the console can you post what the output of that command is?

@Akin909 I mean that in my zshrc I have to add this command:
# Use Mac Path Helper
if [ -x /usr/libexec/path_helper ]; then
	eval `/usr/libexec/path_helper -s`
    PATH="/usr/local/bin:/usr/local/sbin:$PATH"
fi

Without those lines, I have no $PATH set at all by default.
Here is the result of process.env when launch Oni from the app icon without --debug (just opening developer tools directly):
process.env
Object {TMPDIR: "/var/folders/v4/j87mz36d4r94q5hvw8nwd22m0000gn/T/", __CF_USER_TEXT_ENCODING: "0x1F5:0x0:0x0", HOME: "/Users/dacre", SHELL: "/usr/local/bin/zsh", Apple_PubSub_Socket_Render: "/private/tmp/com.apple.launchd.dLt1Jfk3jb/Render"…}

Here is the result of process.env (with some variables deleted) when starting Oni from the command line with --debug:
process.env
Object {LSCOLORS: "Gxfxcxdxbxegedabagacad", ITERM_SESSION_ID: "w0t0p0:D7F57F18-81C2-4CC6-B2B9-34EC0F8F307D", DISABLE_AUTO_UPDATE: "true", __CF_USER_TEXT_ENCODING: "0x1F5:0x0:0x0", PER_DIRECTORY_HISTORY_TOGGLE: "^h"…}DISPLAY: "/private/tmp/com.apple.launchd.KDsgo5yjln/org.macosforge.xquartz:0"EDITOR: "nvim"GOOGLE_API_KEY: "AIzaSyAQfxPJiounkhOjODEO5ZieffeBv6yft2Q"ITERM_PROFILE: "Default"KEYTIMEOUT: "1"LANG: "en_US.UTF-8"LC_ALL: "en_US.UTF-8"LC_CTYPE: "C"LESS: "-FX"LOGNAME: "dacre"LSCOLORS: "Gxfxcxdxbxegedabagacad"LS_COLORS: "no=00:fi=00:rs=0:di=00;38;5;74;48;5;232:ln=00;38;5;159:or=00;38;5;159;48;5;236:mh=00:pi=48;5;230;38;5;136;01:so=48;5;230;38;5;136;01:do=48;5;230;38;5;136;01:bd=48;5;230;38;5;244;01:cd=48;5;230;38;5;244;01:su=48;5;160;38;5;230:sg=48;5;136;38;5;230:ca=30;41:tw=48;5;64;38;5;230:ow=48;5;235;38;5;33:st=48;5;33;38;5;230:ex=00;35;5;35:*.tar=00;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=00;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=00;31:*.7z=01;31:*.rz=01;31:*.apk=01;31:*.gem=01;31:*.jpg=00;38;5;136:*.JPG=00;38;5;136:*.jpeg=00;38;5;136:*.gif=00;38;5;136:*.bmp=00;38;5;136:*.pbm=00;38;5;136:*.pgm=00;38;5;136:*.ppm=00;38;5;136:*.tga=00;38;5;136:*.xbm=00;38;5;136:*.xpm=00;38;5;136:*.tif=00;38;5;136:*.tiff=00;38;5;136:*.png=00;38;5;136:*.PNG=00;38;5;136:*.svg=00;38;5;136:*.svgz=00;38;5;136:*.mng=00;38;5;136:*.pcx=00;38;5;136:*.dl=00;38;5;136:*.xcf=00;38;5;136:*.xwd=00;38;5;136:*.yuv=00;38;5;136:*.cgm=00;38;5;136:*.emf=00;38;5;136:*.eps=00;38;5;136:*.CR2=00;38;5;136:*.ico=00;38;5;136:*.tex=00;38;5;245:*.rdf=00;38;5;245:*.owl=00;38;5;245:*.n3=00;38;5;245:*.ttl=00;38;5;245:*.nt=00;38;5;245:*.torrent=00;38;5;245:*.xml=00;38;5;245:*Makefile=00;38;5;245:*Rakefile=00;38;5;245:*build.xml=00;38;5;245:*rc=00;38;5;245:*1=00;38;5;245:*.nfo=00;38;5;245:*README=00;38;5;245:*README.txt=00;38;5;245:*readme.txt=00;38;5;245:*.md=00;38;5;245:*README.markdown=00;38;5;245:*.ini=00;38;5;245:*.yml=00;38;5;245:*.cfg=00;38;5;245:*.conf=00;38;5;245:*.c=00;38;5;245:*.cpp=00;38;5;245:*.cc=00;38;5;245:*.sqlite=00;38;5;245:*.log=00;38;5;240:*.bak=00;38;5;240:*.aux=00;38;5;240:*.lof=00;38;5;240:*.lol=00;38;5;240:*.lot=00;38;5;240:*.out=00;38;5;240:*.toc=00;38;5;240:*.bbl=00;38;5;240:*.blg=00;38;5;240:*~=00;38;5;240:*#=00;38;5;240:*.part=00;38;5;240:*.incomplete=00;38;5;240:*.swp=00;38;5;240:*.tmp=00;38;5;240:*.temp=00;38;5;240:*.o=00;38;5;240:*.pyc=00;38;5;240:*.class=00;38;5;240:*.cache=00;38;5;240:*.aac=00;38;5;166:*.au=00;38;5;166:*.flac=00;38;5;166:*.mid=00;38;5;166:*.midi=00;38;5;166:*.mka=00;38;5;166:*.mp3=00;38;5;166:*.mpc=00;38;5;166:*.ogg=00;38;5;166:*.ra=00;38;5;166:*.wav=00;38;5;166:*.m4a=00;38;5;166:*.axa=00;38;5;166:*.oga=00;38;5;166:*.spx=00;38;5;166:*.xspf=00;38;5;166:*.mov=00;38;5;166:*.mpg=00;38;5;166:*.mpeg=00;38;5;166:*.m2v=00;38;5;166:*.mkv=00;38;5;166:*.ogm=00;38;5;166:*.mp4=00;38;5;166:*.m4v=00;38;5;166:*.mp4v=00;38;5;166:*.vob=00;38;5;166:*.qt=00;38;5;166:*.nuv=00;38;5;166:*.wmv=00;38;5;166:*.asf=00;38;5;166:*.rm=00;38;5;166:*.rmvb=00;38;5;166:*.flc=00;38;5;166:*.avi=00;38;5;166:*.fli=00;38;5;166:*.flv=00;38;5;166:*.gl=00;38;5;166:*.m2ts=00;38;5;166:*.divx=00;38;5;166:*.webm=00;38;5;166:*.axv=00;38;5;166:*.anx=00;38;5;166:*.ogv=00;38;5;166:*.ogx=00;38;5;166:*.savedSearch=01;105:*.fa=1;4;35:*.pep=1;4;35:*.fasta=1;4;35:*.afa=1;4;35:*.phy=1;4;35:*.phy_phyml_tree.txt=4;36:*.phb=4;33:*.xls=32:*.xlsx=32:*sub.log=37:*hup.out=37:*.pl=01;38;5;124:*.py=01;38;5;124:"MODULEPATH: ""MYZSH: "/Users/dacre/.my-zsh"ONI_CWD: "/Users/dacre"PAGER: "less -r"PATH: "/Users/dacre/anaconda3/bin:/Users/dacre/anaconda/bin:/Users/dacre/.local/bin:/Users/dacre/usr/bin:/Users/dacre/tools/bin:/Users/dacre/mike_tools/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/Users/dacre/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Applications/Oni.app/Contents/Frameworks/Oni:Helper.app/Contents/MacOS:/Users/dacre/.antigen/bundles/zsh-users/zsh-completions:/Users/dacre/.antigen/bundles/zsh-users/zsh-syntax-highlighting:/Users/dacre/.antigen/bundles/zsh-users/zsh-autosuggestions:/Users/dacre/.antigen/bundles/MikeDacre/cdbk"PER_DIRECTORY_HISTORY_TOGGLE: "^h"PWD: "/Users/dacre"PYTHON3PATH: ""PYTHONPATH: "/Users/dacre/mike_tools/python"ROOTSYS: "/usr/etc/root"R_HISTFILE: "/Users/dacre/.Rhistory"SHELL: "/usr/local/bin/zsh"TERM: "xterm-256color"TERM_PROGRAM: "iTerm.app"TERM_PROGRAM_VERSION: "3.1.6beta3"TERM_SESSION_ID: "w0t0p0:D7F57F18-81C2-4CC6-B2B9-34EC0F8F307D"TMPDIR: "/var/folders/v4/j87mz36d4r94q5hvw8nwd22m0000gn/T/"TZ: "America/Los_Angeles"USER: "dacre"VIM_CRONTAB: "true"VIM_MARKDOWN: "1"VIM_YCM: "1"VISUAL: "vim"XPC_FLAGS: "0x0"XPC_SERVICE_NAME: "0"ZSH: "/Users/dacre/.oh-my-zsh"ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE: "fg=12"mapfile: "zsh/mapfile"_: "/usr/bin/env"__CF_USER_TEXT_ENCODING: "0x1F5:0x0:0x0"__proto__: Object

So when I launch from the command line it gets my entire shell profile, when calling from the app icon it gets almost nothing at all... but it is trying to use the ZSH shell, but without sourcing my zshrc.

@MikeDacre shell-env works by looking for an exported path variable, not an expert on the nuances of shell scripting but I'm wondering if the snippet above from your zshrc actually results in an accessible $PATH aka in terminal if try to print the path do you have one accessible, if so then it seems very likely that shell env is unable to access it.
Oni doesn't actually read a user's zshrc as tbh all we actually need is the exported path variable for nvim, which I think is very likely the reason for oni not opening as I believe nvim depending on your config needs access to you python path etc.
One thought is that you can explicitly set those in your init.vim using python host prg setting cant remember the specifics but the docs have them.
Another alternative is to trying to set up a regular path export EXPORT PATH ="path" not sure the circumstances around the function helper but it seems like the only way to access the path variable is by first executing the shell command in the if statement

In my case, the issue was that I launched another shell at the end of my .bashrc, so the command that is executed by shell-env never terminated. My bad!
This might be filed as a user error, but maybe we should add a timeout to the shell-env execution to get a proper error message.


Add port exclusions from dynamic port range

Adding a recommendation to exclude one port when SQL Server engine, SQL Listener, or Health probe port is using one port that belongs to the dynamic port range for TCP/IP.
This will prevent any system task of taking this port, sometimes when SQL Listener or health probe is using ports from this pool can be taken in one SECONDARY replica and this could prevent complete the failover process to this replica.

@DBAlberto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

This looks good, but we need to make corresponding changes to https://docs.microsoft.com/azure/azure-sql/virtual-machines/windows/hadr-cluster-best-practices

Hi @DBAlberto , thanks so much for your contribution! We've pulled your change into the private repository and it will be live later this week.  I'll close out this PR but please feel free to comment should you need anything further.
Thanks again for helping improve our documentation, and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team
#please-close


workbench.action.terminal.new should accept cwd as an argument

I cannot deprecate terminal here just yet because people want to be able to configure keybindings to do both open in workspace root and current file's directory.
Allowing configuring cwd via keybindings would fix this:
{
  "key": "ctrl+shift+`",
  "command": "workbench.action.terminal.new",
  "args": {
    "cwd": "${fileDirname}"
  }
}

See https://twitter.com/borekb/status/1161229132627402752

To verify make sure a keybinding like this works with various variables and hardcoded paths:
{
    "key": "cmd+shift+h",
    "command": "workbench.action.terminal.newWithCwd",
    "args": {
        "cwd": "${fileDirname}"
    }
}


RFC 9266: Channel Bindings for TLS 1.3 support

Can you add the support of RFC 9266: Channel Bindings for TLS 1.3?

https://datatracker.ietf.org/doc/html/rfc9266

Little details, to know easily:

tls-unique for TLS =< 1.2
tls-exporter for TLS = 1.3

Thanks in advance.

We can look at supporting that in TlsContext.exportChannelBinding, but it should already be possible to use TlsContext.exportKeyingMaterial (with TLS 1.3) as described in section 2 of the RFC.
Beware that TlsContext.exportKeyingMaterial was initially incorrect, and was fixed in release 1.71.

@peterdettman: Thanks for your reply!
The goal is to be compatible with all, TLS =< 1.2 (tls-unique) and TLS = 1.3 (tls-exporter) to be perfect.
Of course, better to use TLS 1.3 than TLS 1.2...
It is easy to found "tls-unique": https://github.com/bcgit/bc-java/search?q=tls-unique
For example, there is:
"tlsContext.exportChannelBinding(ChannelBinding.tls_unique);"
Maybe you can use the same base, and maybe you can add in the code the new RFC like RFC5929...

I've now added support for TlsContext.exportChannelBinding(ChannelBinding.tls_exporter).

@peterdettman: Thanks for your improvement!
But there is not yet in this repository to compare tls-unique vs tls-exporter :/
Unique:

https://github.com/bcgit/bc-java/search?q=tls-unique
https://github.com/bcgit/bc-java/search?q=tlsunique
https://github.com/bcgit/bc-java/search?q=tls_unique

Exporter:

https://github.com/bcgit/bc-java/search?q=tls-exporter
https://github.com/bcgit/bc-java/search?q=tlsexporter
https://github.com/bcgit/bc-java/search?q=tls_exporter

ChannelBinding:

https://github.com/bcgit/bc-java/search?q=ChannelBinding

@peterdettman: GitHub has a problem about search and link to this ticket!
I have found your commits:

https://github.com/bcgit/bc-java/commit/1906d5e07ed11797f0c737e3764e141e6305e233
https://github.com/bcgit/bc-java/commit/fa01bbc2774c034616dc2ad6fbedb363454d9e16

There is no problem. This is a mirror and takes time to update from our private repo.


Automatic Transaction Re-submission in Chain-Component

Why
Transactions driving the head state-machine may not end up in a block even though they have been submitted successfully for a variety of reasons (local rollback, forks later in the network, intermittent network failure...). But, we want (still valid) transactions to end up on-chain, eventually! This is particularly important for contest which are security-sensitive.
What
Automatically re-submitting transactions until they are including in a block should alleviate part of the problem and make sure that any valid transaction end up being inserted in the ledger. This is a simple strategy which won't handle conflicting transitions but will cope with rollbacks and intermittent propagation failures. Users only have to trigger actions once for them to (eventually) happen.
How
On submission:

[ ] If the transaction fails at submission, meaning that it's no longer valid from our local state standpoint, we drop it and log.
[ ] If it's successfully submitted, then back to square 1 and wait for next block.

[ ] Put the transaction in a pending set

Asynchronously, on every block tick (i.e. when observing a new block)

[ ] Trim transactions from the pending set when seen in the block.
[ ] Automatically re-submit any transaction left from the pending set

Tasks

[ ] Implement it
[ ] Check whether we need getUTxO still (#493)

I'd say this is pretty well-defined. Shall we make it a 💬 feature item @KtorZ? Anything to add since we discussed this also as a solution to some of our problems in handling time (ADR in #450)?

We recently added getUTxO to the Chain interface to avoid a race-condition which could be solved by proper re-submission as well. We should review whether the getUTxO is still needed after implementing this feature.

Asynchronously, on every block tick (i.e. when observing a new block)

Trim transactions from the pending set when seen in the block.
Automatically re-submit any transaction left from the pending set

Regarding the trimming of the transaction from the pending set, would that be enough to manage transactions lost because of forks? Would it make sense to wait for a given number of blocks before trimming the transaction for more security?
Regarding the re-submit, it's not clear to me if there is some sort of pool of pending transactions in Cardano like it exists in Bitcoin. If so, what if our transaction is not yet on the next block but is still pending to being inserted into the next block? Wouldn't we have to wait a bit to avoid submitting our transaction twice eventhoug it would not be needed?
(pardon my, yet, poor understanding of Cardano protocol)

Regarding the trimming of the transaction from the pending set, would that be enough to manage transactions lost because of forks? Would it make sense to wait for a given number of blocks before trimming the transaction for more security?

It probably won't, but it's not the purpose of this story to be resistant to rollbacks. It's merely handling the realistic chance that our node had unfriendly peers/relays which ended up not diffusing the transaction robustly into a block. For handling rollbacks we have a dirt-road solution (not crashing), where the cobblestone road is in #185.

Regarding the re-submit, it's not clear to me if there is some sort of pool of pending transactions in Cardano like it exists in Bitcoin. If so, what if our transaction is not yet on the next block but is still pending to being inserted into the next block? Wouldn't we have to wait a bit to avoid submitting our transaction twice eventhoug it would not be needed?

There is a mempool in every node, so it might be stuck in there, or anywhere between our node and the next block producing nodes. We could wait longer than trying to resubmit on every block received, but there is no danger in submitting a transaction multiple times, if we handle the error response as somewhat expected.

(pardon my, yet, poor understanding of Cardano protocol)

I'd say your understanding is already middle-class rich.

Summary of convo on slack (https://input-output-rnd.slack.com/archives/CR599HMFX/p1664438601525909):

When a tx is accepted in the mempool of a cardano-node, it will end up being included in a block except in the folllowing cases:

The tx becomes invalid with respect to the current ledger state of the node -> it's dropped from the mempool (silently?)
The tx validity upper bound is exceeded -> dropped from the mempool
The tx is included in a block the node forges but this block is later dropped and superseded by another  fork -> tx "disappears"
The node has connectivity problems -> tx stays forever in the mempool

If one resubmits the exact same tx to a node, then it has same idea and if it's still in the mempool it's silently dropped
If one resubmits a tx that's not in the mempool anymore, this means it's either:

been adopted in a block so the resubmitted tx is invalid and is immediately rejected
been discarded for one of the reasons above

Our pending set of tx is exactly what the mempool is so there's probably no interest in maintaining one on our own side?
We should not be using node2node protocol to "resubmit" tx as this could be considered adversarial behaviour and would lead the node to blacklist us

It seems the only sensible thing to do is to wait for the tx to appear on-chain (eg. wait for the OnChainTx to be observed) for "some time". Defining the amount of time to wait seems somewhat tricky, Neil Davies suggested we could use 𝚫Q framework to compute wait time bounds (http://www.pnsol.com/public/TP-PNS-2003-09.pdf, https://iohk.io/en/research/library/papers/mind-your-outcomes-the-dqsd-paradigm-for-quality-centric-systems-development-and-its-application-to-a-blockchain-case-study/)

If one resubmits the exact same tx to a node, then it has same idea and if it's still in the mempool it's silently dropped

We tried this yesterday by just submitting every transaction twice. It turns out that the second submission fails with a ledger error indicating the TxIn is unknown (already spent by the first tx). So our observation tells otherwise, the node-to-client tx submission is not indempotent and we would need to handle these errors as being expected.
Anyhow, I concur in that we might only want to observe & notify clients instead of actively re-submitting as in "normal circumstances" a locally submitted transaction (without error) will end up in a block.

We close the ticket as this is not something that would make sense with our current understanding of cardano-node.
We should improve feedbacks on chain events and errors to the user.

Just to clarify, this ticket was originally created in response to specifically that case:

The tx is included in a block the node forges but this block is later dropped and superseded by another fork -> tx "disappears"

The reason why a fork could happen is because of benign slot battles, or because of an actual attack conducted by one of the head participant (trying for example to drop another participant contestation by creating a fork of the chain where this contestation doesn't exist). This is a plausible attack vector which has to be acknowledged.
Discussing with @ch1bo, it's true however that in such a scenario, a local node would see this as a "rollback" event and could thus react accordingly to that rollback (seeing that the contestation is absent in the new fork). Happy, to see this ticket close provided that there is at least something done with regards to re-submission of contestation in the event of rollbacks.

We realise we don't strictly need this to be secure (check https://hydra.family/head-protocol/core-concepts/behavior for a high-level overview and the paper for formal stuff)  BUT from a user experience perspective, not seeing a submitted tx after a while is problematic and should be reported.


Moves doctr build to the script section.

Seems to be the recommended way to do this according to doctr docs.

OK. Let's see if this builds and pushes the docs up properly...


Ember octane update 🤓

Update the addon to octane
Remove the component lifecycle hook for better glimmer compatibility

This can be an exercise to capture what are the things we need to do for Octane migration for helpkit-ember. Can we capture these details somewhere in Confluence?

This can be an exercise to capture what are the things we need to do for Octane migration for helpkit-ember. Can we capture these details somewhere in Confluence?


buildRubyGem: fixes gemspec UTF-8 loading issue

Motivation for this change
Fixes https://github.com/manveru/bundix/issues/5
This should probably be back-ported to 16.09 too
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

If a gemspec has UTF-8 characters in it, ruby will fail loading it with
invalid multibyte char (US-ASCII)

This change forces the encoding to be correct, we assume everyone now
uses UTF-8.

can confirm this worked for me to build huginn with this patch.

looking at the failed check has nothing to do with the code change in question

can this be cherry picked into 16.09?  I would like my huginn package to be pushed to that as well at somepoint and it depends on it

pushed as 5387f325d6dca37a946ad8e8481cc0e3b07c7975

thank you


Agent ID Cards

About the PR
Classic traitor item that will go well with identity.
Preemptively: No, I am not adding a doafter.
Screenshots

https://user-images.githubusercontent.com/60792108/157344795-6a4f406e-8c88-4bee-a696-fb57af68bd04.mp4
Changelog

:cl: Rane

add: Added Agent ID cards to the uplink, a traitor item that allows you to copy accesses from other cards and change the name and job title to whatever you want.

Does the trim also change depending on the job?

No
On Tue, Mar 15, 2022, 1:09 PM CrudeWax @.***> wrote:

Does the trim also change depending on the job?
—
Reply to this email directly, view it on GitHub
https://github.com/space-wizards/space-station-14/pull/7041#issuecomment-1068237242,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOPZ2LASFUNV2LCEJRBU3I3VAC72RANCNFSM5QH5PCYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>


Add docs for tabBarOnLongPress and animated switch navigator

Added docs for tabBarOnLongPress (https://github.com/react-navigation/react-navigation.github.io/issues/384)
Added API section for createAnimatedSwitchNavigator and updated the auth-flow guide to enable animations.

thanks! it's usually best to split separate changes up into different prs but that's fine for now. left a couple of comments

thanks for the feedback! I have updated the docs for transition option as well.


"IDX10500 ..." Error

After I download code, and run the Step 2 . It shows "IDX10500 ..." Error
IDX10500: Signature validation failed. Unable to resolve SecurityKeyIdentifier: 'SecurityKeyIdentifier
(
IsReadOnly = False,
Count = 2,
Clause[0] = X509ThumbprintKeyIdentifierClause(Hash = 0x6152B1D25071BFE1A85DE2B0430918B74667AB44),
Clause[1] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause
)
',
token:....
Do you have any idea ?
Thanks,
Step 2:  Run the sample in Visual Studio 2013
The sample app is preconfigured to read data from a Demonstration company (GraphDir1.onMicrosoft.com) in Azure AD. Run the sample application, and from the main page, authenticate using this demo user account<EMAIL_ADDRESS> graphDem0

Able to reproduce this issue too. The issue is relative to the test tenant, I suggest that you use you own tenant to run this code sample.


Added annotations in metadata propagation test

Added new test covering #859

@alex-zaitsev
Hm, why test is not correct? Test checks annotations excluding \ including propagation and change config for that, what is wrong in this scenario?


Rename get_column_names to column_names and make property

Similar to #245 and #246, trying to improve ergonomics whilst we're still "beta"
I think we've agreed that although the number of rows (and their ordering) isn't always known, we do always know the number of columns (if we didn't, then get_column_names would already be broken), and that this shouldn't really involve any compute

there weren't any objections last time, and schema is already a property, and nobody's commented in 3 weeks, so I'll go ahead and merge


dbt sometimes writes a .user.yml and ignores configs

Issue
If you pass dbt a relative path to --profiles-dir or the DBT_PROFILES_DIR environment variable and execute from a subdirectory, dbt will look for the user cookie and profiles.yml in different places (the latter correct, the former incorrect).
Results
What happened? What did you expect to happen?
I got a ./profiles/.user.yml and my settings were ignored. I expected my settings to be respected or to receive an error, and to not have a new file.
Suggested fixes:
My preference: don't allow users to run dbt from subdirectories.
Other option: defer loading of the user config until after we've found dbt_project.yml.
System information
The output of dbt --version:
0.14.0

The operating system you're running on:
Any
The python version you're using (probably the output of python --version)
Any
Steps to reproduce
In as much detail as possible, please provide steps to reproduce the issue. Sample data that triggers the issue, example models, etc are all very helpful here.

Make a dbt project in ${project_root}
put your profiles.yml in  ${project_root}/profiles
Make a subdirectory (${project_root}/models) and cd into it
Run dbt with the relative path to the profiles directory as an argument to --profiles-dir: dbt run --profiles-dir profiles
You will now have a ${project_root}/models/profiles/.user.yml with cookie information. Also, any settings in your profiles.yml won't be respected.

Let's definitely preserve the behavior where you can execute dbt from subdirs of the project. Let's instead pursue this approach:

defer loading of the user config until after we've found dbt_project.yml


Python repo need to have a sub module repo that contains the proto file.

Currently the proto files are only available in Azure Repo. But the protos are common for Azure, Labview , and Python measurement service repos. need to move protos to a individual repo and add it as a sub module to the python repo.
Related item:

[ ]  Update the Updating gRPC stubs when a .proto file is modified section in Contributing.md.

AB#2267424

Tracked elsewhere as an NI company effort.


Add Style to Users

Description
Completes Issue #36
Type of change

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

Notes

Adding stylePreferences column to users table so that we can save the user's style preference
Add knex.js library to project

Good point. Let's chat about about it this morning.

Great catch, Andy. Other than that Im glad wee were able to get a good start on this.

Committing so Derek and I can start working on tests.


Update versions

And some typos.

Coverage remained the same at 97.505% when pulling 5e09a7c92753741fdf3d4e76e0c20371e7a8d700 on hugovk:patch-1 into 83a1ba596a5bb4c572fd69226cdfe9b44e4db63f on hMatoba:master.

Thank you!


feat: 🎸 get portfolio tx history

JIRA Link
https://polymesh.atlassian.net/browse/DA-79
Changelog / Description

adds endpoint to fetch the transaction history for a portfolio

Checklist -

[x] New Feature ?
[x] Updated swagger annotation (if API structure is changed) ?
[x] Unit Test (if possible) ?
[x] Updated the Readme.md (if required) ?

small comment but lgtm otherwise

:tada: This PR is included in version 2.5.0-alpha.3.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Release diagnostics libraries version 5.0.0

Changes in Google.Cloud.Diagnostics.AspNetCore3 version 5.0.0:
This is the first version of this package to depend on GAX v4.
There are some breaking changes, both in GAX v4 and in the generated code. The changes that aren't specific to any given API are described in the Google Cloud documentation. We don't anticipate any changes to most customer code, but please file a GitHub issue if you run into problems.
The most important change in this release is the use of the Grpc.Net.Client package for gRPC communication, instead of Grpc.Core. When using .NET Core 3.1 or .NET 5.0+ this should lead to a smaller installation footprint and greater compatibility (e.g. with Apple M1 chips). Any significant change in a core component comes with the risk of incompatibility, however - so again, please let us know if you encounter any issues.
Previously deprecated members have been removed. This reduces confusion, where there were previously multiple similarly-named classes and methods due to moving functionality into the common package.
Changes in Google.Cloud.Diagnostics.Common version 5.0.0:
This is the first version of this package to depend on GAX v4.
There are some breaking changes, both in GAX v4 and in the generated code. The changes that aren't specific to any given API are described in the Google Cloud documentation. We don't anticipate any changes to most customer code, but please file a GitHub issue if you run into problems.
The most important change in this release is the use of the Grpc.Net.Client package for gRPC communication, instead of Grpc.Core. When using .NET Core 3.1 or .NET 5.0+ this should lead to a smaller installation footprint and greater compatibility (e.g. with Apple M1 chips). Any significant change in a core component comes with the risk of incompatibility, however - so again, please let us know if you encounter any issues.
Previously deprecated members have been removed. This reduces confusion, where there were previously multiple similarly-named classes and methods due to moving functionality into the common package.
Additionally, ErrorReportingOptions.CreateInstance has been renamed to just Create for consistency. (commit 610320e)
Packages in this release:

Release Google.Cloud.Diagnostics.AspNetCore3 version 5.0.0
Release Google.Cloud.Diagnostics.Common version 5.0.0

Note: this PR was created "empty" in order to just re-release Diagnostics after fixing the docs build.


Establish user's connection with a company on contributor acknowledgement on both GitHub and Gerrit

When a user acknowledges that they are in approved list, EasyCLA API needs to call a user service or organization service api to associate this user with this company.
Need to figure out how this can be done in Gerrit also.

Tested for github and observed below issues. Since user with LFID flow is not working have not tested the user without LFID
1. Corporate Contributor who has LFID and is acknowledged for CLA group and  also signs ICLA is not assigned with any role to be associated with the organization

2. Corporate Contributor who has LFID and is acknowledged for CLA group and need not sign ICLA is not assigned with any role to be associated with the organization

Contributor Info

@wanyaland @rinkeshbhutwala can you make this endpoint without an Authorization header? For this flow, we don't have a login screen,

@wanyaland @amolsontakke3576
What is the fix for this ticket. What am I supposed to test in this ticket

@nirupamv test whether user has been given contributor role associated with the organization

Verified in #1478


GZipped requests when using recording and playback feature

We use the WireMockRule in a way, that we record requests using WireMockServer::enableRecordMapping when we make a call to a third-party service. If the recorded mapping (we check it in) is already there, we read it with the option WireMockConfiguration::usingFilesUnderClasspath.
This works usually great for us, since these integration tests only need to send a request to the real service once.
There is one thing though, which breaks this: If the client sends a gzipped request body, Wiremock will unzip the body and forwards it to the real service in plain text. This has the consequence, if the real service, does not accept gzipped request bodies, we won't notice it and tests are green, even though it won't work in production.
Is there way to fix this? Maybe adding an option to the RequestPattern so that we store the request body in plain text, but zip it when calling through?
I am more than happy to provide a PR, just let me know if this feature is something you would accept and please point me into some directions on how and where to implement it.
Btw, here is our extension of the WireMockRule, just in case the intension behind this is unclear:
package com.flaregames.microservice.commons.testutil;

import com.github.tomakehurst.wiremock.common.FileSource;
import com.github.tomakehurst.wiremock.common.SingleRootFileSource;
import com.github.tomakehurst.wiremock.core.WireMockApp;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
import com.github.tomakehurst.wiremock.junit.WireMockRule;

import java.net.URI;
import java.util.Arrays;
import java.util.List;

import javax.ws.rs.core.HttpHeaders;

import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl;

public class WireMockProxyStubRule extends WireMockRule {

    private static final List<String> REQUEST_HEADERS_FOR_MATCHING = Arrays.asList(HttpHeaders.AUTHORIZATION, HttpHeaders.ACCEPT,
            HttpHeaders.CONTENT_TYPE);

    private static final String STUBS_DIR = "stubs/wiremock";
    private static final String RESOURCES_DIR = "src/main/resources";
    private static final int PROXY_PRIORITY = 10;

    private final URI remoteUrl;
    private final int port;

    public WireMockProxyStubRule(URI remoteUrl) {
        this(remoteUrl, OpenPortProvider.getUri().getPort());
    }

    private WireMockProxyStubRule(URI remoteUrl, int port) {
        super(WireMockConfiguration.options().recordRequestHeadersForMatching(REQUEST_HEADERS_FOR_MATCHING).usingFilesUnderClasspath
                (String.format("%s/%s", STUBS_DIR, remoteUrl.getHost())).port(port));
        this.remoteUrl = remoteUrl;
        this.port = port;
    }

    public URI getLocalUrl() {
        return URI.create(String.format("http://localhost:%d", port));
    }

    @Override
    protected void before() {
        super.before();
        enableRecordMapping();
        setupProxyStub();
    }

    private void enableRecordMapping() {
        this.enableRecordMappings(getFileSource(WireMockApp.MAPPINGS_ROOT, remoteUrl.getHost()), getFileSource(WireMockApp.FILES_ROOT,
                remoteUrl.getHost()));
    }

    private void setupProxyStub() {
        stubFor(any(anyUrl()).atPriority(PROXY_PRIORITY).willReturn(aResponse().proxiedFrom(remoteUrl.toString())));
    }

    private FileSource getFileSource(String type, String hostname) {
        SingleRootFileSource singleRootFileSource = new SingleRootFileSource(String.format("%s/%s/%s/%s", RESOURCES_DIR, STUBS_DIR,
                hostname, type));
        singleRootFileSource.createIfNecessary();
        return singleRootFileSource;
    }

}

New recorder is being implemented in #674


✨ updated demo env script to a point where it works consistently for 0.25

Summary
Related issue(s)
Fixes #

I rebased onto #2521, removed the commands discussed in my review comments above, and tested. My modified version succeeded, and took 336 seconds on my laptop.

And you no longer need to worry about the ko goofup. https://github.com/kubestellar/kubestellar/pull/2521#issuecomment-2436832307


Remove loc for the time being

We're not using for anything at the moment and it's getting in the way.

Removed in https://github.com/semantic-math/math-parser/commit/8565caf8fec17948d82b20c7febe13a7cb089a5b.


The requested URL /acc/Auth/login was not found on this server.

Hi
How to resolve ?
Not Found
The requested URL /acc/Auth/login was not found on this server.
Thanks ?

Can you show me the screenshot?
Pada tanggal 16 Jun 2017 16.54, "โรเบิร์ต ทิงนองนอย" <
<EMAIL_ADDRESS>menulis:

Hi
How to resolve ?
Not Found
The requested URL /acc/Auth/login was not found on this server.
Thanks ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/auwfar/AdminLTE-CRUD-With-Codeigniter/issues/2, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASmV5Nc8NIu9MX93fllQVjwfv_xVUX3Pks5sElDWgaJpZM4N8Qr1
.

Screenshot

That is error result after login

in windows, there is no error like that, maybe this link can solve your problem https://www.youtube.com/watch?v=UExwuaneFpg

ok, Thanks.


Update css for Desktop Project Selection

Original:

Edit 1:

Edit 2:

Take a look at: https://itwindemo.bentley.com/view
I think its supposed to look like this, without the create project button
Also, make sure you update the same file in the template/desktop-viewer

Looks solid, @aruniverse not sure if you want the search on the right, in which case should be a simple fix.

Looks solid, @aruniverse not sure if you want the search on the right, in which case should be a simple fix.

Yea lets, do the search on the right
@maggiemah


Email service

@moficodes closing, reopen with a PR to master when you get this working with the new templates


pulley: Ungate SIMD proposal to enable more tests

This commit removes the simd proposal from "known panicking compiler
features" for Pulley by filling out some minor ABI bits around
loads/stores of v128 in the Cranelift ABI code. This unlocks running
spec_testsuite/*.wast in CI and expecting it to pass as otherwise
everything was rejected since that test suite requires SIMD and it never
even got to the Cranelift backend.
This then fixes a few minor issues here and there to get existing tests
passing now that they're actually being run. Some examples are:

Fix some copy/paste typos around callee-save clobbers and float
registers.
Add vector load/store support to avoid panicking in ABI code (not well
tested yet though).
Zero-extend the condition in brif's lowering to ensure that the
entire register is defined. In the future more variants of br_if in
Pulley are probably desired.
Limit store lowerings to just integer types, not vector types.
Fix Func::call with Pulley when the callee is a host function.

Note that this is currently based on https://github.com/bytecodealliance/wasmtime/pull/9775


API docker through portainer: {'message': 'No such container: id_container'}

Bug description
Hi !
I'm trying to execute a command in a container using docker API through portainer one.
But sometimes I have a "No such container" and I don't know the reason. My container still up without problem
Expected behavior
I would like to be able to execute my command with your API without unstable behavior
Portainer Logs
No log to display
Steps to reproduce the issue:
data = { "username": USERNAME, "password": PASSWORD }
data_json = json.dumps(data)
r = requests.post(URL_PORTAINER + "/api/auth", data=data_json)
jwt = r.json().get("jwt")
headers = { "Authorization": jwt, "Content-Type": "application/json" }
id_container = "035dfa157d77b21fccfb07baa298462ec7c2e5319d972e922777ac1da0a8873c" #TODO put your container id
data = { "AttachStdout": True, "AttachStderr": True, "Cmd": ["date"] }
data_json = json.dumps(data)
r = requests.post(URL_PORTAINER + '/api/endpoints/2/docker/containers/' + id_container + "/exec", headers=headers, data=data_json)  ### <---- After here it write No such container id so can't execute
data = { "Detach": False, "Tty": False }
data_json = json.dumps(data)
id_exec = str(r.json().get("Id"))
print("id " + id_exec)
r = requests.post(URL_PORTAINER + '/api/endpoints/2/docker/exec/' + id_exec + '/start', headers=headers, data=data_json)
print(r.text)

Technical details:

Portainer version: 2.11.0
Docker version (managed by Portainer): 20.10.12
Platform (windows/linux): linux (ubuntu 20.04)
Have you reviewed our technical documentation and knowledge base? Yes

Additional context
It's a swarm cluster with 2 nodes.
I can make it works for long with a loop of spamming test but at a moment it will no works for long too ...

@D0wn3r
Can you confirm the node (master or node) that the container is running on when its failing to retrieve through docker API proxy?

You may have pass on x-portaineragent-target: <nodename>  as part of header..

@samdulam Thank you for your suggestion. I don't send specific headers, as you can see in my little script.

@D0wn3r Can you confirm the node (master or node) that the container is running on when its failing to retrieve through docker API proxy?
Both, it's random. The container can be on master and works well for 30 mins, then doesn't work for some minutes without touching the container.

Sorry, typo in my comment. I meant you will have to pass on the header so that Portainer knows exactly which docker host to target.
Unlike Services and stacks, containers endpoint in docker api is host specific.

Ok so in my script I should get information about where is the container (with services and stack) then execute things on it without docker host in header right ? Portainer have documentation about that ? To help next people like me
I will search arround that so.
Thank you for your help !


Adding test dependency

One of the recently added tests depends on std_srvs. This updates the package.xml to include it.

Instead of adding this test dependency can you just check the content of the service definition in that package?

@dirk-thomas You mean just checking in the method whether std_srvs.srv.SetBool is actually imported?
This came up because I did a ci build up to rqt_py_common and std_srvs wasn't built.
https://ci.ros2.org/job/ci_linux/5859/console
def test_get_service_text_from_class(self):  # noqa: D102
02:25:17 1:         from rqt_py_common.message_helpers import get_service_text_from_class
02:25:17 1: >       from std_srvs.srv import SetBool
02:25:17 1: E       ModuleNotFoundError: No module named 'std_srvs'

You mean just checking in the method whether std_srvs.srv.SetBool is actually imported?

No, the current test checks the return value of get_service_text_from_class for the service std_srvs/SetBool: https://github.com/ros-visualization/rqt/blob/3f0f2054bbff23e88b1d24a00171014e238d8c45/rqt_py_common/test/test_rqt_message_helpers.py#L65-L72
I am suggesting to check the content of the service file present in the test folder of that package: https://github.com/ros-visualization/rqt/blob/3f0f2054bbff23e88b1d24a00171014e238d8c45/rqt_py_common/test/srv/AddTwoInts.srv That would avoid the need for an external dependency.

Superseded by #175.


Chant Create: fix bug in chant suggestions

This PR fixes a bug on the Chant Create page in the Suggested Chants feature (i.e. fixes #998, #815). Previously, we created a bunch of functions, each named after the Cantus ID of one of the suggested chants/cantus_ids, that we would call when the corresponding button was pressed. If the Cantus ID had a period in it, however, the function name would be invalid, preventing the button from working.
This PR:

changes how these functions are named, ensuring the function name does not contain any periods or colons
adds title attributes to various elements in the Suggested Chants panel (this way, if a Cantus ID is too long for its button, or if the full text is truncated with an ellipsis, the user can mouse over these elements to see the entire value)
renames a variable in the templates: previously, we iterated through each of the suggestions with {% for chant in suggested_chants %}. But each suggestion was really a Cantus ID rather than a chant, so this has been changed to {% for cantus_id in suggested_chants %}

I initially removed all the .s from function names and thought everything was solved. But then I looked through a couple of the documents on the Cantus Index site, and found that hymn verses sometimes have :s, and these break chant suggestion buttons too. @annamorphism, can you confirm no other interesting characters ever appear in Cantus IDs? #?

Could you not just have the function names be something like the number index of the suggested chant? Then you don't have to worry about the cantusid characters now or any being added in the future....
Also, are you sure that taking out these characters will never cause conflicts (ie. are 12345.6 and 123456 not both valid cantus id's?)

Could you not just have the function names be something like the number index of the suggested chant? Then you don't have to worry about the cantusid characters now or any being added in the future....
Also, are you sure that taking out these characters will never cause conflicts (ie. are 12345.6 and 123456 not both valid cantus id's?)

This is a good point. I'm pretty sure that every Cantus ID needs to be 6 digits before any . or : suffixes, but I'm not certain of this. I'll make this change.

Could you not just have the function names be something like the number index of the suggested chant? Then you don't have to worry about the cantusid characters now or any being added in the future....

I'm not sure what you mean by this...

Also, are you sure that taking out these characters will never cause conflicts (ie. are 12345.6 and 123456 not both valid cantus id's?)
The base Cantus ID is six digits (sometimes preceded by a letter); in some cases the 6 digits are followed by a period or colon, and then one or two digits or letters designating a variant, hymn verse, or language.  There are some exceptions (the h prefix gets 5 digits, the Lamentations chants are "Lamen4:16), but none that rely on the period or colon to distinguish between otherwise identical digit strings. in other words, 12345.6 is simply not a valid Cantus ID because it's not long enough. BUT it may be wise to avoid this problem anyway, in case seven-digit strings become valid IDs in the future.

Could you not just have the function names be something like the number index of the suggested chant? Then you don't have to worry about the cantusid characters now or any being added in the future....

I'm not sure what you mean by this...

Rather than have functions like autoFill123456 where 123456 is the Cantus ID, just have autoFill1 be the function for the first suggested cantus id, autoFill2 be the suggestion for the second cantus id, etc.

Or just have a single autofill function and pass the id in as a parameter… they al do the same thing so making a duplicate function for each one is … inefficient.

Or just have a single query selector select all the buttons and subscribe them to the click event. With this you get the current button as the event "target" so you can get any attributes from the element. So you can remove the onclick attribute from the buttons altogether, and manage the subscription and the behaviour all in one place.

Or just have a single query selector select all the buttons and subscribe them to the click event. With this you get the current button as the event "target" so you can get any attributes from the element. So you can remove the onclick attribute from the buttons altogether, and manage the subscription and the behaviour all in one place.

Sorry for taking a while to get back to this.
Currently, in our template, for every chant in suggested_chants, we're making a new function where the suggested fulltext/etc. is hard-coded into the function declaration. If I understand your suggestion, @ahankinson, we could instead use a single function. Each button could call the function with a unique argument, the CantusID. The function would know which suggested fulltext to use because we attach the relevant fulltext/etc. to each button using custom attributes, along the lines of <input type="button" style="width: 80px" value="{{ chant.cid }}" onclick="autoFill({{ chant.cid }})" cantus_id={{ chant.cid }} fulltext={{ chant.fulltext }} genre_id={{ chant.genre_id }}></input>.
Is this correct? A little bit of googling suggests that we can create our own custom attributes. Is everyone confident that such custom attributes work with all browsers, and/or are there any other gotchas we need to be careful of?

Not quite.
In JS, you can subscribe elements to events, if you know how to target them. If you use querySelectorAll, for example, with a class name you can query the DOM for all buttons with a given class and subscribe them to a custom click event.
See here: https://fjolt.com/article/javascript-multiple-elements-addeventlistener
When you subscribe them, your click handler gets an argument, (usually called e or evt) which is the event itself. This has e.target, which is the element instance being clicked.
In the Django template, you create data attributes with the data you want to pass.
<input type="button" value="{{ chant.cid }}" data-cid="{{ cantus.cid }}" data-fulltext="{{ chant.fulltext }}" data-genre="{{ chant.genre_id }}"></input>
So now in your click event, e.target.dataset holds all of the values for your data attributes, e.g., e.target.dataset.cid. You don't need the onclick attribute at all.
Just be aware that you need to subscribe your elements only after they've been added to the DOM, so you probably want to wrap your subscription code in a block that runs on the DOMContentLoaded event.
https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event
If you really want to keep the onclick attribute, passing this gives you the element too.
<input onclick="someFn(this)" />
Then this.dataset works the same way.

In the interests of fixing this quickly, I just pushed another commit ensuring that the function names will always be unique by replaced dots and colons instead of removing them.
I'll open an issue flagging this as a good place for refactoring. Thanks for the feedback and suggestions, @dchiller, @annamorphism and @ahankinson!


[BUG] download contract on ethereum got empty folder

VS Code Version: 1.64.2
OS Version: OSX Monterey
Contract Viewer Version: v0.0.5

Describe the bug
contract address is https://etherscan.io/address/0x960b7a6bcd451c9968473f7bbfd9be826efd549a#code
download success, but just got empty folder. I retried twice.

Fixed the unexpected analysis


How could I input chr2:83300000:106000000:dup to get result In Varsome api?

Hi,
I have a problem about Varsome api in Linux use Like this
Varsome api support to find this format cnv? or What is correct input method ?
thanks!
``
(varsome) [luohaosen@P-01 Varsome_test]$ varsome_api_run.py -u https://stable-api.varsome.com -q chr2%3A83300000%3A106000000%3Adup -g hg19 -p add-all-data=1 expand-pubmed-articles=0 -o ./test.json
Traceback (most recent call last):
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/lib/python3.9/site-packages/varsome_api/client.py", line 104, in _make_request
r.raise_for_status()
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/lib/python3.9/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://stable-api.varsome.com/lookup/chr2%3A83300000%3A106000000%3Adup/hg19?add-all-data=1&expand-pubmed-articles=0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/bin/varsome_api_run.py", line 190, in
annotate_variant()
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/bin/varsome_api_run.py", line 110, in annotate_variant
result = api.lookup(
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/lib/python3.9/site-packages/varsome_api/client.py", line 183, in lookup
return self.get(url, params=params)
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/lib/python3.9/site-packages/varsome_api/client.py", line 124, in get
response = self._make_request(path, "GET", params=params)
File "/ifs1/home/luohaosen/software/anaconda3/envs/varsome/lib/python3.9/site-packages/varsome_api/client.py", line 112, in _make_request
raise VarSomeAPIException(response.status_code, error_message)
varsome_api.client.VarSomeAPIException: 404 (Not found)
``

Hi @Luosanmu,
since the variant you want to query is a cnv you should change the -q parameter to start with /cnv. The following works:
./varsome_api_run.py -g hg19 -u https://stable-api.varsome.com -q 'cnv/chr2:83300000:106000000:dup' -p add-all-data=1
We'll also update the README to include an example for cnv.


DCOS-40861: right-align "Tasks" column header

Use the updated ui-kit components to right-align the Tasks column header
Closes: DCOS-40861
Testing
Navigate to the Nodes page
The text of the "Tasks" header should be right-aligned with the text of the other column cells
Trade-offs
None
Dependencies
Nothing
Screenshots
Before:

After:

Looks like snapshots here just need to have className="css-19m5nce" replaced with className="css-1l7ir3d"

I agree with Natalie and Tommy.

I added a sync discussion about the lockfile being out of date with package.json. I think we should omit it from this PR

:tada: This PR is included in version 2.21.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


profiles like @ firefox

with function to move a profile to user-selected dir
and also export to SOLID (MIT one)
and import from SOLID

@ daemon & ui

import profile from a dir

-p command line option


How to create my own model with GGUF file??

I follow the instructions to create my own model. Bu failed.
The steps are as following:

I have a own gguf file in /opt/cllama2-13b-16k/chinese-alpaca-2-13b-16k.Q4_0.gguf .

And I create the Modefile in /opt/cllama2-13b-16k:
################################
FROM /opt/cllama2-13b-16k/chinese-alpaca-2-13b-16k.Q4_0.gguf

I create my own cllama2 with:
root@144server:/opt/cllama2-13b-16k# ollama create cllama2-13b-16k -f ./Modelfile
parsing modelfile
looking for model
pulling model file
⠧ pulling manifest Error: pull model manifest: model not found

How to create my own model?? It seems the instructions are not OK.

Based on the examples, I'm guessing you're using this model from Hugging Face?
I've tried your steps and it's worked for me. Here are the exact steps, as root:

Create the directory /opt/cllama2-13b-16k as root
cd /opt/cllama2-13b-16k
Download the Q4_0 from Hugging Face:# wget https://huggingface.co/shaowenchen/chinese-alpaca-2-13b-16k-gguf/resolve/main/chinese-alpaca-2-13b-16k.Q4_0.gguf

Create the ModelfileFROM /opt/cllama2-13b-16k/chinese-alpaca-2-13b-16k.Q4_0.gguf

Call ollama create# ollama create calpaca -f ./Modelfile
parsing modelfile
looking for model
creating model layer
creating config layer
using already created layer sha256:81b2578c6456219373ddc8515bee1b970bf2391d534aaedecdca4de84f3d3063
using already created layer sha256:b3bff570b0be7d987a67c0d09db81e4de564b91f3ca5efb29d6feed6b7d5714d
writing manifest
removing any unused layers
success

I have a couple of follow up questions:

What version of Ollama are you using? You can check with ollama -v
How did you install Ollama?
What are the permissions of /opt/cllama2-13b-16k

I recently created a custom model and pushed it to the registry as well.
I wanted to play with tinyllama, a 1.1B parameter model.
First, I downloaded it on my local machine.

Next, I ran the following command to create a custom model:
ollama create saikatkumardey/tinyllama:latest -f modelfile
I pushed the model to ollama.ai registry. You can find it here.
To use the model now, simply run:
ollama run saikatkumardey/tinyllama

I recently created a custom model and pushed it to the registry as well.
I wanted to play with tinyllama, a 1.1B parameter model.
First, I downloaded it on my local machine.

Next, I ran the following command to create a custom model:
ollama create saikatkumardey/tinyllama:latest -f modelfile
I pushed the model to ollama.ai registry. You can find it here.
To use the model now, simply run:
ollama run saikatkumardey/tinyllama

the modelfie is too abstract,  can you show me a more detailed example?

@wertyac thanks for the issue! Check out https://github.com/jmorganca/ollama/blob/main/docs/import.md#importing-gguf which walks through create a custom model from GGUF

I have met the same question
llamaproj % ollama create phi2 -f Modelfile transferring model data pulling model pulling manifest Error: pull model manifest: Get "https://./v2/llamaproj/ggml-model-q4_0.gguf/manifests/latest": dial tcp: lookup .: no such host
but when I checked the  Modelfile, I found the path to the gguf is wrong, so ,change to the right path , then worked
llamaproj % ollama create phis2 -f Modelfile transferring model data creating model layer using already created layer sha256:fd506d24a4beexxxxxxxxxxxxxxxx7a74b467badc5727ca writing layer sha256:692e4d9xxxxxxe9e2xxxxxxxxxxxxxxxa78d4b99faf writing manifest success

I recently created a custom model and pushed it to the registry as well.
I wanted to play with tinyllama, a 1.1B parameter model.
First, I downloaded it on my local machine.

Next, I ran the following command to create a custom model:
ollama create saikatkumardey/tinyllama:latest -f modelfile
I pushed the model to ollama.ai registry. You can find it here.
To use the model now, simply run:
ollama run saikatkumardey/tinyllama

the modelfie is too abstract, can you show me a more detailed example? (maybe use llama2)

Regarding the defined template, is it the example to be returned or is it the default template being passed to the model?


Nodes and llama idnex

when using the llama index example
from llama_index.readers.schema.base import Document
from llama_index import VectorStoreIndex
index = VectorStoreIndex([])
for chunk in doc.chunks():
index.insert(Document(text=chunk.to_context_text(), extra_info={}))
are the chunks converted to nodes??? I'm tyring to use pinecone but it requires documents or nodes for ingestion but this happens after the index is created

This code is creating a llamaindex document with the chunk's text. I am not sure how llamaindex handles it internally to pass it on to pinecone.


Collapsed outlining has multiple classes/methods on the same line

Input code:
class Class1:
    def __init__(self, hello):
        self._hello = hello

    def method1a(self):
        for handler in self._hello:
            if hasattr(handler, 'file'):
                handler.file.close()

class Class2:
    def __init__(self):
        self._list = []

    def method2a(self, num_bytes):
        if num_bytes > 40:
            raise NotImplementedError(
                "Sorry!"
            )

class Class3:
    """
    HELLO
    """
    def __init__(self, stream):
        self.stream = stream

    def __next__(self):
        try:
            data = self.stream.read(1)
        except InputStreamExhausted:
            raise StopIteration()
        if data:
            return data
        else:
            raise StopIteration()

    def __iter__(self):
        return self

Collapse to definitions:

Click the '+' and you get this:

Reported at https://developercommunity.visualstudio.com/content/problem/328855/python-global-class-collapse-merge-method-defs.html

Could be a bug in OutliningWalker (language server) or in ProjectAnalyzer.ConvertOutliningTags (in PTVS).

Another example from https://developercommunity.visualstudio.com/content/problem/346608/incorrect-and-confusing-code-folding-in-python.html
One case I isolated is if a function ends more than one level nested deep. For example, the following will be folded incorrectly, with foo and bar ending up on the same line:
def foo():
	if True:
		x = 6
def bar():
	pass

Another way code folding is incorrect is when there's only one line to fold. E.g. the second function in the above example erroneously cannot be folded:
def bar():
	pass

Another example at https://developercommunity.visualstudio.com/content/problem/353053/python-code-collapsing-does-not-distinguish-betwee.html
VS will not collapse method correctly, unless "return" or "return none" is at the end of the method. If those aren't present, the code editor will collapse the first line of the next method along with the current method.

Also reported at https://developercommunity.visualstudio.com/content/problem/379523/wrong-outlining-in-python.html

Note to self:
OutliningWalker uses FunctionDefinition.HeaderIndex + 1 and FunctionDefinition.EndIndex to create the span.
In this working example, FunctionDefinition.EndIndex does not include the CRLF:
def foo():
    x = 6
    y = 7
def bar():
    pass

In this problematic example, FunctionDefinition.EndIndex includes CRLF (it's the index for d in def bar)
def foo():
    if True:
        x = 6
def bar():
    pass

If I manually change the EndIndex in the debugger, the results are correct. So it appears the bug would be in the parser when processing the body of the function.

This commit https://github.com/Microsoft/PTVS/commit/33bf79ebb758f4592f683b44587bd3e096cabae2 changed the way the end index is calculated to use GetEndForStatement which takes current token's location, which has already advanced past the new line chars.
The previous way of taking the end index of the previous node gives us the correct index, before the new line chars (I tested a change in ParseIfStmtTest).
The scenario that currently works:
def foo():
    x = 6
    y = 7
def bar():
    pass

is setting the body's EndIndex to the last statement's EndIndex, ie. it's one of the few places that's not using GetEndForStatement.


polish collapsable menu bar

Option to have the menu bar auto collaps (force on small screens) into a small row with icons only unless hovered over. To maximize screen realestate

Hover I don't personally like because it diverges from a mobile workflow: only clicky-clicky there. Collapse the menu on page load sounds like something to discuss/consider.

16.1.15 will have improvements here, no collapse needed.


Fixed error when EPISODE_LIMIT is larger than actual episode count

Current dependencies on/for this PR:

main

PR #304   👈

This comment was auto-generated by Graphite.


Unable to build without libcairo

I want to compile FreeRDP without libcairo support. So I specify -DWITH_CAIRO=OFF in my cmake args. Unfortunately that doesn't seem to be enough as cmake still looks for it and unfortunately finds it -- Found Cairo: /usr/local/lib/libcairo.dylib.
Any way to get -DWITH_CAIRO=OFF to actually work and force it to be disabled?
thx,
felix

@lemonmojo thx for the info. Fixed the dependency (it was detected as part of some other dependency and we only checked if it was available, not if it was requested)

@akallabeth Just saw the PR coming in. Thx for the quick fix!


Adding a colorbar matching a filled contour

Here is a MWE to start with
using GLMakie
using KernelDensity
using Random
Random.seed!(0)
# Fake data
N = 1000
x = 2randn(N) .+ 1
y = sin.(x) + randn(N)
# density
D = kde((x, y))
# quantiles of density
δx = step(D.x)
δy = step(D.y)
Q = vec(D.density) * δx * δy
idx = sortperm(Q)
Q_sorted = Q[idx]
Dcum = similar(D.density)
Dcum[idx] .= 1 .- cumsum(Q_sorted)
# plot
fig = Figure()
levels = 0.1:0.1:0.9
ax, co = contourf(fig[1,1], D.x, D.y, Dcum; levels)
fig[1,2] = Colorbar(fig; vertical=true, width=30, levels)

which produces something like

There are multiple issues here:

Colors of the colorbar and filled contour don't match

the colors of the filled contour are discrete but those of the colorbar are continuous
the levels don't match (the levels kwarg is actually not taken into account in the Colorbar call)

Colors beyond the levels: they are not defined here, but it would be great, in the same vein as https://github.com/JuliaPlots/Plots.jl/issues/2266, if we could have an extend keyword to add those.

Potentially related Makie.jl issues that I found are https://github.com/JuliaPlots/Makie.jl/issues/406 and https://github.com/JuliaPlots/Makie.jl/issues/596, but maybe there are others?

I just found an old branch where I already added the triangles for the colorbar, I don't remember why I didn't merge it.
With contourf, what decides if the end bands are shown as triangles or not in the colorbar? They need to be explicit anyway, as opposed to heatmaps where this is really a clipping operation. So you should always know the endpoints and therefore don't really need triangles (although they might look nicer).
Basically the colorbar needs new internals that can draw any arbitrary number of color bins for even / uneven categorical / continuous color maps.

I just found an old branch where I already added the triangles for the colorbar, I don't remember why I didn't merge it.
With contourf, what decides if the end bands are shown as triangles or not in the colorbar? They need to be explicit anyway, as opposed to heatmaps where this is really a clipping operation. So you should always know the endpoints and therefore don't really need triangles (although they might look nicer).
Basically the colorbar needs new internals that can draw any arbitrary number of color bins for even / uneven categorical / continuous color maps.

With contourf, what decides if the end bands are shown as triangles or not in the colorbar?

IMHO, if they are bands with finite bounds, they should appear inside. If a band has an infinite bound, I think it should be represented with a triangle. Anyway, as you said, I think the user should specify them. I do like matplotlib's approach, where there is a kwarg extend which defaults to :neither IIRC.

I'll also copy paste my comment from that issue because I think it's an important bit

Just to be clear, I am not only asking for the little triangle extensions on the colorbar (which is really a detail), but importantly to actually fill in the countours that go beyond the levels. This corresponds to the yellow and magenta colors in the top right subplot in the image above. This is important to distinguish Missing (or NaN) data from data that is beyond the range of the colorbar.

With contourf, what decides if the end bands are shown as triangles or not in the colorbar?

IMHO, if they are bands with finite bounds, they should appear inside. If a band has an infinite bound, I think it should be represented with a triangle. Anyway, as you said, I think the user should specify them. I do like matplotlib's approach, where there is a kwarg extend which defaults to :neither IIRC.

I'll also copy paste my comment from that issue because I think it's an important bit

Just to be clear, I am not only asking for the little triangle extensions on the colorbar (which is really a detail), but importantly to actually fill in the countours that go beyond the levels. This corresponds to the yellow and magenta colors in the top right subplot in the image above. This is important to distinguish Missing (or NaN) data from data that is beyond the range of the colorbar.

Should I close this, then?

Should I close this, then?

If there's not anything missing, sure!

If there's not anything missing, sure!

I'll just reopen it if I find a nasty detail to bother you with! 😈
Joking aside, thanks for the amazing turnover!

I'll just reopen it if I find a nasty detail to bother you with! 😈
Joking aside, thanks for the amazing turnover!

Hi, as per advice a few days ago, I would like to reopen this issue for colorbar extensions.
Currently, the :auto: option for extending the colorbar results in the following:

But I would like something like this instead:

Where the colormap is automatically extended to fit.


RuntimeError : CUDA out of memory.

Hello. I tried to down batch size because my NVIDIA Driver(GTX750 Ti) is  not good to run this demo.
but, I can not find where is batch size value. Could you let me know the place that batch size value is located?
---[Error infomation]---
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 2.00 GiB total capacity; 1.15 GiB already allocated; 0 bytes free; 1.20 GiB reserved in total by PyTorch)

The batch size is always 1, which is the absolute minimum, when you run the demo, so you cannot set a lower value. If you don't have enough GPU RAM, then I'm sorry about that.


Add random seed generator to NCH

@qbarthelemy NCH+RANDOM+QAOACV still has some variability.
I think it could be because of the SPSA optimizer which is used together with QAOACV.

Thanks @qbarthelemy !
They indicated we can use this seed here:
qiskit_algorithms.utils.algorithm_globals.random_seed

Still some variability but better:


rename river beaver to towns points

I will create a proposal to rename the actual contract from RiverPoints to just Points in a future PR.


Elements follow logical structure regarding styling and positioning

User Story
AS A marketing agency
I WANT a codebase that follows accessibility standards
SO THAT our own site is optimized for search engines

Acceptance Criteria
GIVEN a webpage meets accessibility standards
WHEN I view the structure of the HTML elements
THEN I find that the elements follow a logical structure independent of styling and positioning

updated in 99fb1fc0d6784d146d04c687e4ebc84c9b5e7114
all elements are now semantic elements where appropriate, and duplicate classes were removed from css.


Client do not remove dead connections

Added more tests, this is ready to be merged in.
When Server grace fully closes a connection, client ignores the
connection close. After this an operation that gets this connection
fails with EOFException as read/write returns -1 which causes the
operation to fail. Mostly this is fine as the backup operation generaly
succeeds, but when a cluster is bounced due to upgrade or other reasons,
and if a client ends up caching all dead connections, it causes the
operation to fail.
After a client operation is done, previously the socket is registered
with the selector for no-intention. For the next operation we start with
write.
With this change, the socket will be left in read mode. So FIN packet
from the server will be processed and the socket will be closed. Any
connection checkout from the pool needs to validate the connection.
There is a race condition as the returned connection from the cache
could still be killed later, that is handled as well.
AysncRequestHandler close is called so the stream resources are freed.
Test is added to verify this situation.

LGTM. Thanks for the comments. Are you going to squash before committing?


Redirect to the previous page after logging in

For some reason, it behaves weirdly. I get an error from the API if 'continue' is passed to iframe!

@Joozty could you please review this?
The code seems to be the only correct one but I face 2 silly problems all the time described below.
Unhandled promise rejection
I unexpectedly get unhandled promise rejection with 401 when I think that it should be handled in the Root Store
Weird API redirect
When continue property is passed to login.html, after performing a login I get the following error in console:

Access to fetch at 'https://api.dev.core.ac.uk/%2Fdata-providers%2F27%2Foverview' (redirected from 'https://api.dev.core.ac.uk/login_check') from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I could not find any continue parameter sent to the API but this seems like API tries to detect a continue prop (maybe from the Referer) and redirect. I wonder if it really behaves like that but before checking this I would like to hear your qualification about.

I unexpectedly get unhandled promise rejection with 401 when I think that it should be handled in the Root Store

If you mean next overlay warning which needs to be closed in order to continue then there is nothing to do about it I am afraid.Nextjs subscribe for that event sooner than us. We could create some sort of decorator for all our actions which would catch 401 errors and redirect to login or change stack frame to something else than string.

Regarding your second point, I was unable to reproduce it. Tried to compare master with this branch and didn't see any difference. You sure about it? (tried localhost, <IP_ADDRESS> and core.dashboard)

I have no idea why it happens. Let me try another browser, clear caches, cookies and other basic troubleshooting techniques. I will come back with a screenshot or recording.
Despite that, does it work as expected? Did you try logout and visit specific page, kind of /data-providers/27/deposit-compliance and then log in again?

@Joozty I checked again in Firefox with cleared cache and cookies. It's the same. The last error in the console appears after pressing 'log in' button.

Ouch! 🤯
The API really checks Referer header for a continue parameter and redirects to that if it was present. @oacore/api could you please fix this?


openxcom: <IP_ADDRESS>9.10.18 -> <IP_ADDRESS>3.08.12

Description of changes
Updates openxcom to the latest version available. Just finished 3+ hours play without any issues.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 208280 run on x86_64-linux 1

1 package built:

openxcom

Dear @jakubpawlowicz,
I just updated to the latest version and fixed the conflict.
I know that this PR is 6 months old, but do you mind testing this?

Hey @drupol, thanks for updating to the most recent version of openxcom. I'll do some testing in the coming days and will let you know.

I wish I could test it too ! I loved that game.

I just tested this PR with my new OpenXCom installation, everything works so well and I'm super happy !
Merging this!!!

Awesome, thanks @drupol!

Keep PRs coming :)


Compile problems

What can be the problem here?
/media/nasFiler/Programmering/Arduino/sketchbook/libraries/GUIslice/src/GUIslice_drv_tft_espi.cpp: In function 'bool gslc_DrvGetTouch(gslc_tsGui*, int16_t*, int16_t*, uint16_t*)':
/media/nasFiler/Programmering/Arduino/sketchbook/libraries/GUIslice/src/GUIslice_drv_tft_espi.cpp:822:21: error: 'class TFT_eSPI' has no member named 'getTouch'
   bPressed = m_disp.getTouch(&nX,&nY);
                     ^
exit status 1
Error compiling for board WeMos D1 mini Lite.

I have a ST7735-baseddisplay without touch.

Hi @bphermansson --
It sounds like you don't require touch support yet GUIslice may have been configured to enable it for the TFT_eSPI library. Can you confirm that GUIslice_config_ard.h has enabled #define DRV_TOUCH_NONE and commented out #define DRV_TOUCH_TFT_ESPI?
Thanks!

Yes it's set that way.
  #define DRV_TOUCH_NONE            // No touchscreen support
  //  #define DRV_TOUCH_ADA_STMPE610    // Adafruit STMPE610 touch driver
  //  #define DRV_TOUCH_ADA_FT6206      // Adafruit FT6206 touch driver
  //  #define DRV_TOUCH_ADA_SIMPLE      // Adafruit Touchscreen
  //  #define DRV_TOUCH_TFT_ESPI        // TFT_eSPI integrated XPT2046 touch driver

Thanks Patrik for providing your config. Given the line number reported in the error it seems like you might be running an older version (before May 21) of the GUIslice_drv_tft_espi.cpp code which had an issue involving DRV_TOUCH_NONE (addressed in 6e8fa4800cdc6d8292e986ce2d727d11435292a5).
If this might be the case, could you re-test with the latest version?
thanks!

Indeed. I used the version from Arduinos library manager which was 0.10.0 I think released in march. I now tried to replace it with the git-version, "git clone..." and now it compiles.
Maybe time to upgrade the library version?


[5.3] Auth:api -- Token only as GET Variable?

Laravel Version: 5.3
PHP Version: 7.0.9

Description:
Hello!
I have a problem by useing the Auth:Api in Laravel. If I put the token into the URL everythink is working fine. If I put it into the post data, there will be an 401 Unauthorized.
Here are my code:
// Working

$.ajax({
  url: "https://***.***/api/v1/test?api_token=y1Ctd8pEmbwq4mQHQYlKpmanXEI5vTy8OOgmvCqvu",
  type: "POST",
  data: "value=isworking",
  success: function(result) {
    alert(result);
  },
  error: function() {
   alert("error");
  }
});

// Don't Working

$.ajax({
  url: "https://***.***/api/v1/test",
  type: "POST",
  data: "api_token=y1Ctd8pEmbwq4mQHQYlKpmanXEI5vTy8OOgmvCqvu&value=isworking",
  success: function(result) {
    alert(result);
  },
  error: function() {
   alert("error");
  }
});

Route::group(['middleware' => 'auth:api'], function () {

	Route::post('/test', function() {

		$user = Auth::guard('api')->user();

		return $user->email . " " . $_POST["value"];

	});

});

Maybe I just have a simple error in the js syntax, but I think it is okey.
Can someone help me?
Best greetings,
Stefan

Helle as a general rule of thum not try to access a variable through the Super globals arrays use the request class for this.
Now: as for your issue itself its not possible as a post parameter, however it is possible through the authorization header if you prefix it with bearer.

If you send the token through the authorization header by prefixing it as a bearer, it will work fine.

Helle as a general rule of thum do not try to access a variable through the Super globals arrays use the request class for this.

Thanks! Normaly I use the request class for it, but in this time I was just a demo.

Now: as for your issue itself its not possible as a post parameter, however it is possible through the authorization header if you prefix it with bearer.

Thanks! Everything is working fine now!