Failed to initialize pythonnet

I was trying to analyze .net samples with pythonnet in Nuitka compiled python binary. But I got the error that didn't load python.runtime.dll
Nuitka Version:
utku@utkutest:~/test$ python3.11 -m nuitka --version
1.7.6
Commercial: None
Python: 3.11.4 (main, Jun  7 2023, 12:45:49) [GCC 9.4.0]
Flavor: Debian Python
Executable: /usr/bin/python3.11
OS: Linux
Arch: x86_64
Distribution: Ubuntu (based on Debian) 20.04.6
Version C compiler: /usr/bin/gcc (gcc).

I used this code to install Nuitka:
python3.11 -m pip install nuitka
clr-loader and pythonnet versions:
pythonnet==3.0.1
clr-loader==0.2.5

The file that I use for test:
import clr
clr.AddReference("/home/utku/dnlib.dll")
import dnlib
from dnlib.DotNet import *
sad = ModuleDefMD.Load("../1cd346c54de5119303b2387f3341e8d20920d3e3c5ad8ace7f095457d71a12ce.exe")
print(sad)
print(sad.EntryPoint)

utku@utkutest:~/test$ python3 test.py
Client.exe
System.Void Client.Program::Main()

Fully Output:
utku@utkutest:~/test$ python3.11 -m nuitka test.py
Nuitka-Options:INFO: Used command line options: test.py
Nuitka-Options:WARNING: You did not specify to follow or include anything but main program. Check options and make sure that is intended.
Nuitka:INFO: Starting Python compilation with Nuitka '1.7.6' on Python '3.11' commercial grade 'not installed'.
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
Nuitka-Scons:INFO: Backend linking program with 6 files (no progress information available for this stage).
Nuitka-Scons:WARNING: You are not using ccache, re-compilation of identical code will be slower than necessary. Use your OS package manager to install it.
Nuitka:INFO: Keeping build directory 'test.build'.
Nuitka:INFO: Successfully created 'test.bin'
utku@utkutest:~/test$ ./test.bin
Failed to initialize pythonnet: System.TypeInitializationException: The type initializer for 'Delegates' threw an exception. ---> Python.Runtime.BadPythonDllException: Runtime.PythonDLL was not set or does not point to a supported Python runtime DLL. See https://github.com/pythonnet/pythonnet#embedding-python-in-net ---> System.MissingMethodException: Failed to load symbol Py_Main: ./test.bin: undefined symbol: Py_Main
  at Python.Runtime.Platform.PosixLoader.GetFunction (System.IntPtr dllHandle, System.String name) [0x00053] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Runtime+Delegates.GetFunctionByName (System.String functionName, System.IntPtr libraryHandle) [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
   --- End of inner exception stack trace ---
  at Python.Runtime.Runtime+Delegates.GetFunctionByName (System.String functionName, System.IntPtr libraryHandle) [0x00038] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Runtime+Delegates..cctor () [0x001ea] in <02a0d26b83f24e67b6a0456fd958e703>:0
   --- End of inner exception stack trace ---
  at Python.Runtime.Runtime.PyGILState_Ensure () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.PythonEngine.AcquireLock () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Py+GILState..ctor () [0x00006] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Py.GIL () [0x00007] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Loader.Initialize (System.IntPtr data, System.Int32 size) [0x00029] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Runtime.PyGILState_Ensure () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.PythonEngine.AcquireLock () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Py+GILState..ctor () [0x00006] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Py.GIL () [0x00007] in <02a0d26b83f24e67b6a0456fd958e703>:0
  at Python.Runtime.Loader.Initialize (System.IntPtr data, System.Int32 size) [0x00029] in <02a0d26b83f24e67b6a0456fd958e703>:0 Traceback (most recent call last):
  File "/home/utku/test/test.py", line 1, in <module>
    import clr

  File "/home/utku/.local/lib/python3.11/site-packages/clr.py", line 6, in <module>
    load()
  File "/home/utku/.local/lib/python3.11/site-packages/pythonnet/__init__.py", line 144, in load
    raise RuntimeError("Failed to initialize Python.Runtime.dll")
RuntimeError: Failed to initialize Python.Runtime.dll

Unhandled Exception:
System.InvalidOperationException: GIL must always be released, and it must be released from the same thread that acquired it.
  at Python.Runtime.Py+GILState.Finalize () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: GIL must always be released, and it must be released from the same thread that acquired it.
  at Python.Runtime.Py+GILState.Finalize () [0x00000] in <02a0d26b83f24e67b6a0456fd958e703>:0

I don't think I would have the files necessary to reproduce this, do I, can you please reproduce this in a way that is easier. I think I have seen this package work on Windows. Since it crashes on clr import, your reproducer is too large.

Since your not even using standalone, but using the actual Python install, and system mono (likely), things ought to work. I wonder if this is somehow catching a release during the DLL loading of the GIL that is gone wrong.
When I tried standalone for good measure, I got this

FATAL: Error, call to 'patchelf' failed: ['/usr/bin/patchelf', '--set-rpath', '$ORIGIN/../..', 'Mini.dist/pythonnet/runtime/Python.Runtime.dll'] -> b'patchelf: not an ELF executable'.

Seems we would have to actually treat these like data files on at least Linux, or know somehow that they are PE files and not ELF.

Also, with 3.10 I reproduced this on Ubuntu Python right now.  Not sure what kind of setup its lacking there, maybe threading was not initialized, but is later, and then GIL checks trigger that are kind of wrong.

It seems something there wants a symbol that Nuitka doesn't expose.
Failed to initialize pythonnet: System.TypeInitializationException: The type initializer for 'Delegates' threw an exception. ---> Python.Runtime.BadPythonDllException: Runtime.PythonDLL was not set or does not point to a supported Python runtime DLL. See https://github.com/pythonnet/pythonnet#embedding-python-in-net ---> System.MissingMethodException: Failed to load symbol Py_Main: Mini.dist/Mini.bin: undefined symbol: Py_Main

So, I think I have a suspect, that in accelerated mode, as you use it, it calls Py_Main after Nuitka did on its own create an interpreter, etc. already, and that code then duplicates stuff, which then causes the GIL conflict. I have no idea, why it would do that, and now in standard Python the reaction is supposed to be.

So, adding that function, and changing the assembly to be data files, I am having indeed success.
According to https://docs.python.org/3/c-api/veryhigh.html#c.Py_Main this function is for making sure the __main__ is executed when embedding Python. Nuitka is embedding Python already, and as such that function is allowed to just do nothing, and is probably only used on Linux, I didn't see anything about this on Windows.

Part of the 1.8 release I just made.


Playground not working

I have tried several languages, nvim-treesitter works but when I do :TSPlaygroundToggle the tree is always empty, for example, I have this javascript code:
function Hello() {
    this.hello = () => console.log("Hello!");
    this.howdy = () => console.log("Howdy!");
}

the tree is empty (but with the code there is nothing wrong, when I try to run it works) so every time that I refresh the tree, there is always this error:
E5108: Error executing lua /usr/share/nvim/runtime/lua/vim/treesitter/language.lua:33: ABI version mismatch for /home/dario/.config/nv
im/plugged/nvim-treesitter/parser/javascript.so: supported between 9 and 12, found 13

I don't have any particular configuration for nvim-treesitter, I just followed the nvim-treesitter guide.

Update your neovim to the latest nightly and update nvim-treesitter to the latest. Then reinstall the parsers with :TSUpdate. There was a breaking change recently in tree-sitter that requires all parsers to be updated.

I already have re-compiled neovim to the latest version and when I do :TSUpdate it says All parsers are up-to-date

Have you updated nvim-treesitter? Can you share the versions you are on for the plugins (nvim-treesitter and playground).

tree-sitter version is tree-sitter 0.19.3 and I updated all the plugins right now so I have the latest version of nvim-treesitter and latest version of treesitter playground.

Can you share the versions that you have? Also, are you using tree-sitter bundled with neovim?

If you tell me how to get the version i'm going to do that,
yes, I use tree-sitter bundled with neovim
and I installed neovim with yay -S neovim-nightly

So I figured out that my neovim was 0.5+ but was not the latest version, so once I updated everything worked properly (if you are in arch yay -S neovim-nightly-git is wrong and outdated just use yay -s neovim-git).

I had the issue of playground showing up blank until I switched from a manual install of lua-language-server to installing is via mason with :LSPInstall lua-language server. I also switched from fedora neovim to bob-nvim


Less verbose warnings for missing sub-packages

In the current tofu 1.4.1, when imas2tofu or mag are missiing, the warning message at import time also includes the whole traceback exceptions.
While useful for debugging, this is clearly too much for users, especially when they try to install tofu and beleive that the installation failed because they see these long warning messages.
=> reduce warning message to a minimum informative message (no traceback)

Fixed, in devel, by PR #244


Add ablity to verify organizations via the global admin portal

Description
Once organizations are created on signup support staff will need a way to find a way to find and enable organizations after the identity proofing is preformed
Proposed Solution

Create a new link on the global admin portal to view org pending identity verification

Create view of all organizations pending identity verification and a form to set the organization.identity_verified to true

Additional context
This is a temporary internal facing feature that will be removed when we add automated identity verification. This should be build in a way that minimizes engineering work

Closed in #1407.


Update faq.yml

Added an extra required step "Select Manage Tenants", which was missing in the original documentation (Maybe due to updated UI flow)

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

#label:"aq-pr-triaged"

@leobastin
Thank you for your contribution. I've incorporated your contribution to our product content in another PR since we couldn't commit our suggested changes.
#please-close


fixing rebases not finding the existing pull request due to directory

What are you trying to accomplish?

fixes #10310

In #10195 we added directory to the payload, which then came back in the existing-pull-requests data, which made these methods stop working because they didn't take directory into account.
The fix is to include it in the comparison, but we also need to support the older data as well so that check is done second.
In the future we can DRY this up, but for now it works!
Anything you want to highlight for special attention from reviewers?

How will you know you've accomplished your goal?
Rebases will start working again.

Checklist

[x] I have run the complete test suite to ensure all tests and linters pass.
[x] I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
[x] I have written clear and descriptive commit messages.
[x] I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
[x] I have ensured that the code is well-documented and easy to understand.

I verified this fixed rebases.


scaffolder/next: Added loading indicator for AsyncValidation

feat: added progress bar and disable buttons when async validation is running
chore: added changeset

#17318 is the followup


Fixes for dropdown

[x] Fix for toggle variants. Commit 16d0ef7.

Fixes for dropdowns in v4 -> v5 tasks + fix for variants :

[x] Docs > Components > Dropdown In both versions of Boosted, the vertical separation of the Split dropstart is not the same than for the right.

Commit 0368df0 for v5.

[x] Docs > Components > Dropdown Dropdown item's height is 38px instead of 40px.

Commit d210de5

[x] Docs > Components > Dropdown Single button Dropdowns menu spacing between button and dropdown menu isn't the same in v4 and in v5. Menu should stick on button as in v4 (should be below the border) maybe with dropdown options?

Changed with Popper, so, hard and maybe too long to change on our side.

[x] Docs > Components > Dropdown Sizing: Less padding for large variant? Border color?

Seems to be logical since the dropdown-toggle adopt input's design.

[x] Docs > Components > Dropdown Headers: dropdown header's padding different from v4.

It comes from #362, so I let it as is since we don't have specs : :warning: Maybe to see with design

[x] Docs > Components > Dropdown Dropdown divider has not the same color than in Boosted v4. Need to backport it to v4 ?

v5 is fine according the specs. :warning: Need to see if v4 needs to be updated

[x] Docs > Components > Dropdown Dropdown divider has not the same color than in Boosted v4: Remove the white space above and below the divider.

Closes #1323
Closes #1328
Closes #1492
Live preview

@MewenLeHo Could you please resolve outdated/fixed conversations in this PR?

@MewenLeHo Could you please resolve outdated/fixed conversations in this PR?

Done

This PR needs to be updated to resolve conflicts

This PR needs to be rebased

Done!

"Fun" fact: If I open a splitted dropdown menu and push any key, this happen (was already there): Small black border between buttons (same on white).

For the hover state, shouldn't we remove the black border as mentioned in the DSM?

Wondering if we should have the small transition on border-color like inputs have ?

As discussed in the "dropdown vs. select rendering", https://deploy-preview-1164--boosted.netlify.app/docs/5.2/components/dropdowns/#examples should rather look like a secondary button. But this is a topic that will be tackled with the design team in another release. Indeed, the DSM and the UI Kit should reflect this fundamental difference.
So for this PR, let's not change too much things to avoid a double migration for the users. Let's just keep everything consistent.

In https://deploy-preview-1164--boosted.netlify.app/docs/5.2/components/dropdowns/:

Shouldn't the items have a 40px height instead of around 37.75px?
Shouldn't we use the dark variant for the menu? Dropdown being in a dark background navbar

Answer from design, the background of the dropdown should definitely be black if the dropdown is a part of a dark background.

Gray visible focus seems awful IMO when navigating within the dropdown menu, but I suppose we don't care about it since the PR about visible focus changes everything right?

I'll try to tackle this in the next commit.

2. "Remove the white space above and below the divider." is mentioned in the desc but not implemented. Checked already with the designers? We need to keep the white space in this case?

Think this should be rather tackled in another PR.

3. One element mentioned in #1116 seems not fixed in this PR when `.active` is added to the `.btn .btn-secondary` in `/docs/5.2/components/button-group/#vertical-variation`:

Seen together, .active element shouldn't have any use case inside with this specific component so let's keep it as-is.

4. A lot of element in #1328 apparently need to be confirmed and worked with the designers. So is it normal that this PR closes this issue?

You're right, it only tackles some of the points present in there, I'll remove that.

Gray visible focus seems awful IMO when navigating within the dropdown menu, but I suppose we don't care about it since the PR about visible focus changes everything right?

I'll try to tackle this in the next commit.

Too much breakings for a thing that will change anyway later so, let's keep this version.


Add RxAndroid library

Add RxAndroid library

@aritraroy My mistake. Please drop this PL. Generating another one with sorting order.

@aritraroy I fixed issue. Can you look at.


feat: Add Ubuntu 24.04 to build matrix

Summary
This PR introduces the next LTS version of Ubuntu, and makes it the default Ubuntu version used for building PRs, the -ubuntu tagged docker images, etc.
Had to make some changes to get the build rolling on 24.04:

a libxcrypt patch that fixes some logic in their build scripts that wasn't adapted for modern perl
parameterize the GID and UID in the docker parts of the explain_manifest script (ubuntu is already UID 1000 in Noble Numbat)
add libsimdjson_ffi.so and libada.so to the new explain_manifest fixtures
add a new check-manifest-suite for docker such kong_uid and kong_gid can be passed

Checklist

[na] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix #KAG-4672
Replaces: https://github.com/Kong/kong/pull/13121

A separate PR addressing runs-on will have to come later.


Taking too much time to load first.

It is taking too much time to load its first time, and also taking long time to scan.

The same it's happening to me. It takes 5+ seconds to load camera and it doesn't scan the passport. @evermeer do you plan to fix this issue?

The phone speed and camera quality really matters here. I recommend using an iPhone 8 or later. When I use the demo project on my phone the scan starts within 2 seconds after pressing the button. The speed for recognizing the text depends much on the light plus the phone speed. On my phone it's able to do more than 2 OCR tests a second. A lot of filters are applied to the image to make the OCR as good as possible.
Using Tesseract as the OCR engine gives the best results. There are not any other open source OCR libraries that have better results. If you do know any OCR library with better results then please let me know. I already have done quite some optimizations to make the OCR as good as possible. You could try playing around with the filters. If you find a more optimal setting, then please let me know.

I am trying on an iPhone 8 and the first time it still takes around 5 seconds, then yes it loads fast. Anyway I wasn't able to scan my passport.


Create 0002-scope-of-emmet-models.md

The atomate2 documents contain some fields and changed field names compared to atomate1

Just to clarify, the changes are now simply additional fields added to the model?

atomate1 task documents use task_id whereas atomate2 documents use UUID as identifiers.

At a minimum, there needs to be an additional field with the task_id name. This will let us populate it at calculation ingestion with whatever tagging scheme is decided upon.

Many atomate2 document models contain logic for instantiating from raw calculation
outputs, e.g. from_vasp_files(). Should these live in the emmet document models, or
elsewhere?
The methods in item 3) may create dependency bloat. How to handle?

This is fine with optional dependencies.

I would still like to discuss the scope or relevance of emmet-core to users that would just like to use or build automations based on atomate2. Maybe we should clarify the documentation of emmet and atomate2 to educate users about when a scheme should exit in emmet-core and in which case not.

Maybe we should clarify the documentation of emmet and atomate2 to educate users about when a scheme should exit in emmet-core and in which case not.

Yes, I think this was @utf's point too -- to make progress on this issue, we really need to overhaul the emmet README and add documentation.
On this point, and it's a more dramatic change, I think there is a good case to be made that emmet should be renamed materialsproject -- it really is more of a Materials Project meta package, and materialsproject-core makes more sense to me. "Emmet" is a wonderful name, but is really more of an internal project name in my eyes.

I like the idea of emmet -> materialsproject. That also helps to clarify the project scope.

FYI: A more practical point about merging atomate1 and atomat2 tasks:
https://matsci.org/t/proper-usage-of-name-field/45560

@munrojm @tschaume as current Materials Project core staff, do you have views on a package rename? This got a few thumbs up.

I like that name change.

Though I like the name a lot, too, I think re-naming emmet into something more descriptive of MP makes sense if user adoption/confusion are an issue. As of now, the emmet repo contains the namespace packages *-{core,api,builders,cli}. Since materialsproject is very generic and also our organization name, we could consider renaming emmet to something like mpdata which would cause the namespace packages to be released as mpdata-core, mpdata-api, etc.

I also like @tschaume's suggestion.

mpdata sounds good as well.

I am very non-invested in this. But I think something simpler and more informative like mpdb? As a CLI, it is easier to use too. mpdata sounds unwieldy and does not describe what the tools actually do.

On this point, and it's a more dramatic change, I think there is a good case to be made that emmet should be renamed materialsproject -- it really is more of a Materials Project meta package, and materialsproject-core makes more sense to me. "Emmet" is a wonderful name, but is really more of an internal project name in my eyes.

I think changing the package name should only be done as a last resort since I'm sure there are many students still feeling their way around emmet and changing it will be frustrating.
The fact that emmet-core is for core materials project stuff can just be documented.
And for the name itself, I think our field is full of historical names (I think ***CAR is cartesian??) that are kept around.  The people that are invested enough to be looking at emmet are not going to be confused by a slightly quirky name.

Many atomate2 document models contain logic for instantiating from raw calculation
outputs, e.g. from_vasp_files(). Should these live in the emmet document models, or
elsewhere?

The methods in item 3) may create dependency bloat. How to handle?

Which documents go into emmet  can be decided on a case-by-case base.
Although I think that will be obvious to the person writing each one.
I think methods should go in emmet as much as possible and if atomate2 just imports from emmet and maybe add a field here or there.
Since we usually try to make emmet provenance agnostic I imaging atomate2 will only need to make a couple of minor tweaks.

Circling back to @JaGeo 's point - I think it's very important to send a clear message to atomate2 developers about what should and should not go in emmet. Especially if we rename, but even if not, it seems clear that emmet exists first and foremost to power MP and therefore new workflow stuff may not belong here if it is not used by MP.

I think methods should go in emmet as much as possible and if atomate2 just imports from emmet and maybe add a field here or there.
Since we usually try to make emmet provenance agnostic I imaging atomate2 will only need to make a couple of minor tweaks.

On this point, I think it makes a lot of sense for any / all provenance-agnostic document models to live in emmet. TaskDocument specific to particular codes (Q-Chem, VASP, etc.) should be decided on a case by case basis.
In general, I think we should recommend atomate2 developers building workflows for new codes (i.e., NOT VASP or Q-Chem) to develop their TaskDocument in atomate2. This lowers development friction and will give new doc models a chance to incubate for a while before we need to decide whether to adopt in emmet or not.

In general, I think we should recommend atomate2 developers building workflows for new codes (i.e., NOT VASP or Q-Chem) to develop their TaskDocument in atomate2.

Does it then sub-class the base TaskDocument in emmet?

Regarding a rename, I think there's consensus that a rename is good idea (noting dissent from @jmmshn), but it's not clear which name is best -- perhaps I'll send round a quick poll and we can make a decision.

I have updated the document with the decision outcome.

I have updated the document with the decision outcome.

Thanks @utf ! Your outcome says Option 2, but I think what you describe is Option 1?

Good spot. I've updated it.

One downside of this decision is that if you want to use the schemas that aren't in emmet-core in your own package, you have to make Atomate2 a dependency even if you don't need the various workflow sub-dependencies. But that's a price to pay I suppose!

@arosen93 You can pip install atomate2 --no-deps which will only install the package itself, none of its dependencies. You can then figure out the minimal set of deps that need to be importable for you to import just the schemas.

I was just looking for a way to specify --no-deps in pyproject.toml. I thought that's possible but maybe I'm wrong. Can't find it now. So for a package like quacc, maybe this isn't actually a solution.


ExplanationDashboard widget fails with PFI

Describe the bug
ExplanationDashboard widget fails with PFI because expected values are missing
To Reproduce
Steps to reproduce the behavior:

Run the multiclass notebook with PFI, see error when running widget

Expected behavior
Widget should work
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: windows
Browser any
Version master

closing as issue has been fixes


[Feature Request] Carry chat history across nodes

Is your feature request related to a problem? Please describe.
I have different llm and prompt nodes that have different templates. The different nodes need to carry the chat context between each other.
Here is an example repository with a basic flow that illustrate the problem. In the example, there is an (invalid) attempt to use the chat_history flow input for this purpose. The issue is that the list is not updated across nodes.
Describe the solution you'd like
Have the chat_history or some other mechanism provide all chat messages until a node's execution.
Describe alternatives you've considered
I have considered using a custom python tool for the purpose. This tool will aggregate the outputs and will be given as input to different nodes. I didn't know how to pass in the rendered jinja2 templates as input (i.e. the user messages).
Additional context
As mentioned, here is an example repository.
Thank you all for this great tool.

Hi @tglanz could you explain more about "the list is not updated across nodes"?
It would be helpful if you can have an example to show what is your expectation.
I also noticed that you are wrongly used the chat history in the node birthdate
{% for item in chat_history %}
user:
{{item.inputs}}
assistant:
{{item.output}}
{% endfor %}

Usually we use the chat_history like this:
{% for item in chat_history %}
user:
{{item.inputs.user_message}}
assistant:
{{item.output.assistant_message}}
{% endfor %}

Where user_message and assistant_message are one of the flow inputs and one of the flow outputs.

@thy09

could you explain more about "the list is not updated across nodes"?

When debugging, I see that the chat_history input is always [] in the birthdate node.

It would be helpful if you can have an example to show what is your expectation.

My expectation is that somehow I can accumulate all of the chat messages in the flow. Specifically in the example, i'd like the birthdate node to have access to all of the chat messages that occurred before it (in the introduction node) so I can add them as part of the birthdate node.
To ask the llm what is the birthdate of the person we are referring to, it requires the full context - the messages that were sent previously.
As a single llm node it could have looked like this:
system:
You are a helpful assistant.

user:
The following questions are about the person: {{person}}

// The response will be something like:
assistant:
Ok, ask me anything about {{person}}.

// Now we want to keep asking questions
user:
What is their birthdate?

// We expect the assistant to provide the birtdhate of the {{person}}
assistant:
{{person}}'s birthdate is 22/11/2023.

My scenario is that the chat is compose programaticly across different nodes (using python and prompt tools), it is not "interactive" (where the chat_history) is accumulated.

I also noticed that you are wrongly used the chat history in the node birthdate

Yea, understood. I didn't really know what to write here in this case. The standard usage (from what I understood) is when it refers to the same node, so the input and output are consistent between chat history items.
Not sure if chat_history is what I need or there is another mechanism I can use for the scenario. I am currently investigating whether I can leverage the echo attribute for this purpose.
Thanks

I guess chat_history is not what you want, you just need the output of a previous node, right?
According to your expectation, I guess one proposal is like this:
node: introduction
system:
You are a helpful assistant.

user:
The following questions are about the person: {{person}}

node: birth_date
system:
You are a helpful assistant.

user:
The following questions are about the person: {{person}}

assistant:
{{response}}

user:
What is their birthdate?

The flow definition of the two nodes:
- name: introduction
  type: llm
  source:
    type: code
    path: introduction.jinja2
  inputs:
    deployment_name: ${inputs.deployment_name}
    person: ${inputs.person}
  connection: open_ai_connection
  api: chat
- name: birthdate
  type: llm
  source:
    type: code
    path: birthdate.jinja2
  inputs:
    deployment_name: ${inputs.deployment_name}
    person: ${inputs.person}
    response: ${introduction.output}
  connection: open_ai_connection
  api: chat

IIUC not exactly, for the same reason that in interactive chat there is a full chat history (including previous user messages) and not only the assistant's response.
This approach is highly dependent on the response itself. For example, if the output of the introduction is something like:
Ok, I'm ready for your questions.

It doesn't provide enough context for the questions.
But if the input to birthdate will be the introduction's output in addition to it's prompts, it will have enough context. For example, such input will be:
user:
The following questions are about "Someone"

assistant:
Ok, I'm ready for your questions!

Then in the birthdate chat API call, we will send the entire history, providing it enough context for the question.
Also, this is a simple example to a larger scenario where I need to repeat this process multiple times and build the context incrementally. Therefore the single output from a specific llm node is not enough.

In general, your purpose is to repeat multiple rounds of chat completion until it can returns your expected result?
I think we do not have such supports for now and you need to do the loops in script tool.
chat_history is the record of all interactions between the user and the chatbot, which inlcudes both flow inputs and flow outputs, it is not the openai history.
The common practice is to use a "user_message" from flow_input to set as chat completion input, then put the chat completion output as "assistant_message" of the flow. Then we could refer to them. But we can only refer them in the next round of flow execution.
See the document here: https://microsoft.github.io/promptflow/how-to-guides/develop-a-flow/develop-chat-flow.html#flow-input-data

I am not sure how can I achieve this in a non-interactive way.

"Chat input refers to the messages or queries submitted by users to the chatbot"

I have a set predefined set of questions, only the initial input changes between flow executions.
Is there any example which implements such a scenario?

I'm not sure what do you mean by "a set predefined set of questions".
Like this?
system:
You are a helpful assistant.
user:
{{question1}}
assistant:
{{answer1}}
user:
{{question2}}
assistant:
{{answer2}}
user:
{{question3}}
assistant:
{{answer3}}

Where all questions are from some predefined value, and all the answers are from chat completion API.
If this is what you want, I think we don't have such native support, you have two options:

Do such stuffs in your script tool;
Use the interactive run with the following tricky prompt;

{% for item in chat_history %}
user:
{{predefined_questions[loop.index-1]}}
assistant:
{{item.outputs.chat_completion_output}}
{% endfor %}
user:
{{predefined_questions[chat_history|length]}}

In this implementation, I assume the predefined questions are in a list, then we put the question in the user message one by one, and put the chat completion output after each questions according to the loop.index (the round you talk to gpt)

@tglanz Could you help confirm whether your problem is resolved or do you have more concrete feature request for your requirement? Thanks

Its resolved, thanks.


Develop

minor changes to remove landscape.io warnings
docstrings now using Google style
travis-ci:

added directory caching
use tox-travis to test

renamed requirements files
use rtd sphinx theme
added requirements function on setup.py

Coverage increased (+3.5%) to 100.0% when pulling d8ee0af3319bc510d5f8bd7eceb7ac13a7a2cdae on develop into 71ef0d9886dff808b4f07c9d073e6761c17ea180 on master.


Question - Will you make this pluginj compatible with Affinity Photo 2?

Will you make this pluginj compatible with Affinity Photo 2?
It would be very interesting, Affinity Photo 2 is being used more and more, and having SD inside it would be amazing, the photoshop plugin should work, but there may be some small detail that is preventing it from being executed by Affinity, could be great if you could make it Affinity compatible.
Thanks!

+1 for me as well, as affinity photo has no dedicated A.I gens, and as i just left adobe's scam price hike, i'd love to be able to use SD/comfy to correct images with affinity photo.


Bugfix & prettier format example

There was a minor typo (double });) in the example code, and the indentation was wonky. I fixed the typo and formatted it with prettier so the indentation is clean. Makes it a little more readable I reckon.
PS> Thanks for sharing this package.

Thanks, I'll try to merge this in soon.


MCD-328: User can't add/change inventory quantity to 0

Summary
At the moment, if you try to add/change a inventory quantity with number "0" the API returns a bad request error
Description
This is happening because 0 is falsy, and on the buildBaseAttributesActions function it relies on the value return in order to define what to return
Changes made
I have added a variable to check the existence of the value (hasNow and hasBefore), so 0 wouldn't return false in this case.
Todo

Tests

[x] Acceptance

Coverage increased (+0.009%) to 96.242% when pulling 3497748ff5f086166cee7e9a5f6e6913077f0906 on MCD-328-cannot-insert-0 into e0056af6726cbcf57ef76ecd4be451430bac3675 on rewrite-2.0.

Hi @lufego, can you explain me why you are fixing for branch rewrite-2.0? I thought you use https://github.com/commercetools/nodejs for MC?

@lojzatran not all parts of the MC is using the new nodejs yet. We started using when we started implementing the Discounts UI.
Although, you have a point, this can be fixed directly on nodejs, and we change the import in MC.
That should work, right @PhilippSpo @lufego ?

Although, you have a point, this can be fixed directly on nodejs, and we change the import in MC.

Exactly yes 👍

Closing this in favor of https://github.com/commercetools/nodejs/pull/146/files


Expose demographic data on show page

@carohansen Kevin wanted his students to write narratives based on this data - including the other demographic data on the record show page would enrich this.
Should we go ahead and add?

I'm inclined to add everything from the source form - it's all in the JSON that folks can download.

sure, I'm fine with that

Would we add this to the index/search form as well?

There are some issues with consistency in some of the fields we'd like to add; I think it would merit review and cleanup.

complaint_of_* fields have mixed data types - integer and boolean
Some columns have "not_recorded" and some have blank fields, some have both, is this intentional?

I'll do some cleanup on this today.


People suggestions list doesn't stay open if @person mid sentence

If typing @ mid sentence, the people suggestion list is shown but as soon as you start typing, it disappears: One @pers two. This means you cannot narrow down the list and then choose a person/name to complete. It also means that you cannot create a new person because the "Create new note" option won't display.
If typing @ and the line's end, you'll notice that the suggestion list remains open and functions as intended while you partially type a name.
Thanks.

I'm sorry but I'm unable to recreate this from these details.
Are you saying when you type a space the popup closes? You can set the "Leave popup open for X spaces" to 1 or more to prevent this behavior

What I mean is: Type test test then insert your cursor after the first test, then type space and then @: test @ test. At this point to popup opens, but adding any letters after the @ immediately closes the suggestion list:

Only when @ is at the end of a sentence (meaning it's not between any text) does the suggestion list open when typing letters after @:

If I increase the X spaces option from 0 to 10 for example, I get what should be the default behaviour:

This is with the latest version recently release.

Yep same problem here. Doesn't work when there is preceding text. It seems the number of spaces before the @ is also included in the X spaces.

@jasal82 Since commenting, I've set Leave popup open for X spaces to 3 and had less problems.

Sorry about this one. Should be fixed in the latest release, 1.6.2
Turns out it was just a one line fix 😅 it was trying to look at an additional character which is often just a space, " " in the middle of a sentence so the popup thinks it needs to close unless you have the  Leave popup open for X spaces option set high enough to account for the additional space character it picked up


Add upto date database schema image to docs /data-architecture.md

Overview
We need to update our database architectural docs.
Action Items

[ ] Create a new section called Database Schema and add the following image:

[ ] Replace the current Database model diagram and replace with this image:

Hi @LouisVdwl, Thanks for volunteering for this ticket. You have been assigned!

Hey @LouisVdwl, we requested one minor change on your PR. Please check the PR discussions so we can merge. :)

Hey @LouisVdwl, we requested one minor change on your PR. Please check the PR discussions so we can merge. :)

Hey @kyleecodes, I updated the PR #424 :)


Bug on the gradients graph computation - C++ API

The gradient computation in the C++ API works as follow.
Let's say that we have the following graph:
                Tanh
                  |
         Assign MatMul
         /    \ /    \
      Const   Var   Const

Here our Output is Tanh and our Input is Var. The gradient method does a BFS from Var to Tanh to count for each node how many backprop we should expect. If a node has two outgoing edges, it will be ready only when both would have been backpropagated and the gradient summed. In our case, Var has 2, Assign 0, MatMul 1. These values are saved into a pending array.
Then the gradient method does a BFS from Tanh to Var, this is the actual backpropagation, the error is backpropagated until we reach Var. When a Node is reached, pending is decreased by one and if pending == 0, the Node is ready and is added to the queue of Nodes to be processed. If it is not ready, it will be reached again in the future and will be ready at some point.
In our case, doing a BFS from Var to Tanh give us 2 expected gradients, one from Assign and one from MatMul, whereas doing a BFS from Tanh to Var, we will reach Var only once, because we can't reach Assign from Tanh. In that case, the pending count will never reach Zero, Var will never be ready and the BFS will end. At the end, a check is done and if pending nodes are still there, an error is raised.
The PR https://github.com/tensorflow/tensorflow/pull/12397 updates the gradient method to ignore nodes that have 0 outgoing edges and are not in the list of Output (Tanh is the only one in the list of outputs in our case).
As @skye pointed it out as a comment in the PR, there is other cases where there is still a problem. I am working on it.

I updated the PR to handle the case outlined.

@skye Skye can you close this out once the PR is merged? Thanks..

@andydavis1 I'll do it if necessary.

Merged.


HMS- Map is Loading Incompletely

Description
I have integrated the HMS Map by making all the necessary settings.
I have activated the MapKit feature from AppGallery Connect.
I have created SHA256 fingerprint.
But the map is loading incompletely, it loads correctly in the first load, but it does not render afterward.
Has anyone ever experienced something like this and fixed it?
Screenshots

Environment

Platform: [e.g. React-Native]

similar problems, see: https://github.com/HMS-Core/hms-react-native-plugin/issues/207#issuecomment-1161395428

Ensure that the certificate fingerprint packed in the app on your device is consistent with that configured through SHA-256 certificate fingerprint in AppGallery Connect.
You can use either way to get your apk fingerprint and compare to make sure it's the same one: https://stackoverflow.com/a/71044020/13329100

I implemented all the features. Now nothing is missing. Settings and pairings done. But nothing changes. Map still incomplete loading

Could you kindly help us with some information to locate this issue?

The device model on which this issue happened.
A complete log record

We make the tests through Cloud Debugging, which is the feature AppGallery Connect. I send you the screenshot and log records.
It gives "ILLEGAL_FINGERPRINT" error but there is no such thing. All instructions are made, is there something different that we don't know?
Log Records:
2022-06-28 10_28_24.log

Yes I have set the APIKey in my code. I also checked the SHA256 certificate with the command you sent. Same as certificate found in AppGallery Connect.
But I still face the same problem

Can you send the APK file and the SHA256 screenshot on AGC to me?
My email is<EMAIL_ADDRESS>

I have sent the relevant email, I am waiting for your feedback.

The signature seems OK, When I tried to login your app, I met this verification, can you tell me how to handle it?

I sent user login information via mail.

Thank you. I tried your app in my test phone.
You can check my mail just sent.

Thank you very much for your support

Welcome.
It may be the cloud debug test phone problem.

Thank you very much for your support.
coolleizhu @.***>, 30 Haz 2022 Per, 09:34 tarihinde
şunu yazdı:

Welcome.
It may be the cloud debug test phone problem.
—
Reply to this email directly, view it on GitHub
https://github.com/HMS-Core/hms-react-native-plugin/issues/209#issuecomment-1170823409,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AONBSERFY3UUKMW2LVH33OLVRU5XFANCNFSM5Z5QPY3Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Kazım Fırat SUCUK
Telefon: 0507 185 73 40
*Web: *www.kfsyazilim.com


Phytensor.QuantumCrypt

@Phystro I'm about to PR feature to main pending the release of v<IP_ADDRESS> where are you with the development of Phytensor.QuantumCrypt and should I forego it instead for this release? Thismaker.Thoth is not yet in @main but it is very complete.

Forego it for now ju sijaongeza any worthwhile code hapo kwa a long time, nikipata an ease in tasks i should have something by then

Alright then, but also you still have some time, since I've postponed the release coz I'm adding a new type of Aba.Client that uses Thismaker.Mercury, I noticed that the other Hub based one is not suitable for all scenarios, for example in Alox and Cosmos, so the newer client should be suitable to work in that environment.


Sorbet wrongly flags Array#[]= assigning array to slice

Input
→ View on sorbet.run
arr = [0, 1, 2, 3, 4, 5]
arr[1..2] = [100, 200]
puts arr.inspect

Observed output
editor.rb:2: Expected Integer but found T::Range[Integer] for argument arg0 https://srb.help/7002
     2 |arr[1..2] = [100, 200]
        ^^^^^^^^^^^^^^^^^^^^^^
    https://github.com/sorbet/sorbet/tree/master/rbi/core/array.rbi#L586: Method Array#[]= has specified arg0 as Integer
     586 |        arg0: Integer,
                  ^^^^
  Got T::Range[Integer] originating from:
    editor.rb:2:
     2 |arr[1..2] = [100, 200]
            ^^^^

editor.rb:2: Expected Integer but found [Integer(100), Integer(200)] for argument arg1 https://srb.help/7002
     2 |arr[1..2] = [100, 200]
        ^^^^^^^^^^^^^^^^^^^^^^
    https://github.com/sorbet/sorbet/tree/master/rbi/core/array.rbi#L587: Method Array#[]= has specified arg1 as Integer
     587 |        arg1: Elem,
                  ^^^^
  Got [Integer(100), Integer(200)] originating from:
    editor.rb:2:
     2 |arr[1..2] = [100, 200]
                    ^^^^^^^^^^
Errors: 2

Expected behavior
Code is valid. The new value array is splatted into the slice defined by the range argument. Running with Ruby outputs
[0, 100, 200, 3, 4, 5]

https://sorbet.org/docs/faq#it-looks-like-sorbet-s-types-for-the-stdlib-are-wrong


region switch isnt working

I think the region switch isnt working since yesterday.
Would be cool if you can check it :)

Yes

Can confirm, not working for me either

Thanks for checking back. I'm away from home this weekend and can not check logs until tomorrow evening.


Lock down services which accept URLs to require https where possible

Let's continue to nudge our ecosystem toward using https. For the most part, when we accept and refactor new services, we steer things that way, by using https endpoints and assuming https for user-provided URLs.
Let's push that forward wherever we can, perhaps by requiring https wherever we're accepting a user-provided URL.
In cases where we think there are sources which can't be migrated, we could add a flag ?allow_insecure. This would provide an extra hurdle, and would nudge them to use https if possible.

In cases where we think there are sources which can't be migrated, we could add a flag ?allow_insecure. This would provide an extra hurdle, and would nudge them to use https if possible.

I like the sound of that!


Wrap v19.0.0

Newly released v19 should be wrapped up here with all new functions

Update documentation


Dark background overlay on cover slides not showing in pdf export, making some text almost unreadable

Describe the bug
Dark background overlay on cover slides not showing in pdf export, making some text almost unreadable
To Reproduce
Steps to reproduce the behavior:

Use a bright background image with cover text
(tested for default theme) slidev export
Look at the difference between the browser version and the pdf

Desktop (please complete the following information):

OS: MacOS Big Sur
Browser: Safari
Slidev version: 0.20.x

Duplicate of #80
Just try yarn export --dark, it will export the pdf that use dark theme

That wasn't really what I meant. However, I guess it was some kind of bug with the pdf viewer which appearently lead to the overlaying gradient to not be displayed ¯_(ツ)_/¯

Couldn't spot it again right now, so it seems to have resolved itself. Thank you anyway! 🙌


Import setup from setuptools

setuptools 60 uses its own bunlded version of distutils, by default. It injects this into sys.modules, at import time. So we need to make sure that it is imported, before anything else imports distutils, to ensure everything is using the same distutils version.
In this case, let's just remove distutils, entirely.
This change in setuptools is to prepare for Python 3.12, which will drop distutils.

FWIW, the underlying bug I was describing is https://bugs.debian.org/1025216 but this change is still a worthwhile cleanup, I think.


subscribe is not working with new v2 release in wsl

hi @michalvasko ,
i am not able to use subscribe from netopeer2-cli , i tried only subscribe and also with stream.
attaching server side debug prints for both .
at client
> subscribe                                                                                nc ERROR: Received a <rpc-reply> with an unexpected message-id 11 (expected 14).
cli_send_recv: Unexpected reply received - ignoring and waiting for the correct reply.
nc ERROR: Received a <rpc-reply> with an unexpected message-id 12 (expected 14).
cli_send_recv: Unexpected reply received - ignoring and waiting for the correct reply.
cli_send_recv: Timeout for receiving a reply expired.

at server
[ERR]: SR: Internal error (/home/M-Plane-Scripts/sysrepo/src/common.c:4276).
[ERR]: SR: Waiting for subscription of "/notifications:create-subscription" failed, previous event "(null)" with ID 1 was not processed.
[ERR]: NP: Failed to send an RPC (Timeout expired).
[INF]: NP: Session 1: thread 0 event new RPC.
[INF]: NP: Session 1: thread 0 event reply error.
[ERR]: SR: Internal error (/home/M-Plane-Scripts/sysrepo/src/common.c:4276).
[ERR]: SR: Waiting for subscription of "/notifications:create-subscription" failed, previous event "(null)" with ID 1 was not processed.
[ERR]: NP: Failed to send an RPC (Timeout expired).
[INF]: NP: Session 1: thread 0 event new RPC.
[INF]: NP: Session 1: thread 0 event reply error.
[ERR]: SR: Internal error (/home/M-Plane-Scripts/sysrepo/src/common.c:4276).
[ERR]: SR: Waiting for subscription of "/notifications:create-subscription" failed, previous event "(null)" with ID 1 was not processed.
[ERR]: NP: Failed to send an RPC (Timeout expired).
[INF]: NP: Session 1: thread 0 event new RPC.
[INF]: NP: Session 1: thread 0 event reply error.

for stream
at client
 > subscribe --stream o-ran-trace

nc ERROR: Received a <rpc-reply> with an unexpected message-id 13 (expected 15).
cli_send_recv: Unexpected reply received - ignoring and waiting for the correct reply.
nc ERROR: Received a <rpc-reply> with an unexpected message-id 14 (expected 15).
cli_send_recv: Unexpected reply received - ignoring and waiting for the correct reply.
cli_send_recv: Timeout for receiving a reply expired.

at server
[ERR]: SR: Internal error (/home/M-Plane-Scripts/sysrepo/src/common.c:4276).
[ERR]: SR: Waiting for subscription of "/notifications:create-subscription" failed, previous event "(null)" with ID 1 was not processed.
[ERR]: NP: Failed to send an RPC (Timeout expired).
[INF]: NP: Session 1: thread 4 event new RPC.
[INF]: NP: Session 1: thread 4 event reply error.

am i doing anything wrong here?
and i am using wsl ubuntu 20

I have no idea what could be the cause, standard subscribe is working fine for me, of course. There were major issues with WSL and sysrepo in the past and I cannot risk wasting time debugging something possibly still caused by WSL so unless you can provide steps for reproducing it on standard Linux distribution, I cannot help you.


Add zipformer to peoples_speech

Thanks for your train and decode code. Currently, we're in need of trained models and decoding results. This is the reason this PR is stuck.


Add some unit tests

I wanted to do some larger refactorings, but felt uncomfortable without some existing test coverage so I tried to add some ChefSpec tests around this cookbook—the coverage is by no means complete but I'm hoping it's a good start. You should be able to invoke the tests with rake test:unit.
You might have to do something like this if you have issues with Faraday and SSL.
I'm hoping to do more work refactoring. However, I figured those changes might be objectionable and I think the value of these tests hopefully stand by themselves.
I moved a bunch of methods from default provider into the helper module to make substituting test doubles easier, hope that's okay.

This was awesome but looks like it got forgotten about and then #63 brought in kitchen tests so I am closing.


Backport DATAJDBC-604 (Support empty IN lists) to 2.0.x branch [DATAJDBC-639]

Mark Paluch opened DATAJDBC-639 and commented

Reference URL: https://github.com/spring-projects/spring-data-r2dbc/issues/508
Issue Links:

DATAJDBC-604 Usage of In operator with emptyList

Closing this since 2.0.x is out of OSS support


Q: what is a good option for FA with Boolean Data?

Problem: Currently there is a binary data (Yes/No question dataset) that could benefit from dimensionality reduction, and be applied to feature selection and regression. The data is ves_data.csv.zip
Currently there are options for doing this:

Boolean Matrix Factorization (to be tested https://github.com/LifanLiang/EM_BMF
Binary Polychoric Correlation Matrix (to be tested https://github.com/inuyasha2012/pypsy
Correlation Explanation (to be tested) https://github.com/gregversteeg/CorEx
Positive Pointwise Mutual Information (note: only good for implicit data) https://github.com/Bollegala/svdmi
Logistic PCA (note: native Python implementation is memory-consuming) https://github.com/brudfors/logistic-PCA-Tipping

Some information to get the data started

from pandas import read_csv
table = read_csv('ves_data.csv')
total = table[[i for i in table if ('MM01' in i and i not in [
    'MM01001','MM01BR','MM01003A','MM01003B',
    'MM01003C','MM010567','MM010568','MM010569','MM010570','MM010571',
    'MM010572','MM010573','MM010574','MM010575','MM010576','MM010577',
    'MM010578','MM010579','MM010580','MM010581']) or
    i in ["PA", "GIT", "AFQT", "WAIS_BD", "WAIS_GI", 'VERAW','ARRAW','VESS','ARSS']]]
total = total[[i for i in table if ('MM01' in i and i not in [
    'MM01001','MM01BR','MM01003A','MM01003B',
    'MM01003C','MM010567','MM010568','MM010569','MM010570','MM010571',
    'MM010572','MM010573','MM010574','MM010575','MM010576','MM010577',
    'MM010578','MM010579','MM010580','MM010581']) or i in ['AFQT']]].dropna() # 'GIT' is good too

from sklearn.utils import shuffle

X, y = shuffle(total.drop(['AFQT'], axis=1), total['AFQT'], random_state=13)
X = X - 1 # calibrating the range from 1~2 to 0~1
X = X.to_numpy() # needed for some code to function

I'm closing this because I'm not sure what there is more to say. There might indeed be better methods for handling boolean data. Feel free to contribute one if you can show it's relevant.


Add color picker

Add color picker which wraps html5 builtin input

Thanks! I have updated the name because we might add Colors.jl in the future to return an actual Color.

@fonsp Color.jl would be cool!


Auto-updates dependencies, and skips installation as a whole if not run as root.

It skips installing Python and Git, not Python dependencies.


fix: dependabot: removes and upgrades developer dependencies

SUMMARY:
Removes unused @storybook/addon-info package
Upgrades the following packages to address sub dependency alerts:
@storybook/addon-storyshots
@storybook/react
@svgr/webpack
standard-version
Technically developer deps do not effect the security of the dist library, but should be addressed nonetheless.
JIRA TASK (Eightfold Employees Only):
ENG-25503
CHANGE TYPE:

[X] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[X] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:
NA

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@022151e). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #267   +/-   ##
=======================================
  Coverage        ?   88.36%
=======================================
  Files           ?      384
  Lines           ?    10335
  Branches        ?     3464
=======================================
  Hits            ?     9133
  Misses          ?     1182
  Partials        ?       20

Continue to review full report at Codecov.

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


added option for mounting unlocked fs for non root users and support for cryptdevice kernel parameter

also disabled verbose expect output

done :wink:

Thanks. Very nice additions.

Good job!


Private foreign function should result in parser error

Follow-up of #10060
The following snippet:
private foreign js js_func = """
    return 42;

Should result in parsing error. Currently, the parser returns:
(Private (Function (Ident foreign) #((() (Ident js) () ()) (() (Ident js_func) () ())) () "=" (TextLiteral #((Section "return 42;")))))

but it should result in an invalid tree. Or even better in (Private (ForeignFunction ...)).
Failed attempts
diff --git a/lib/rust/parser/debug/tests/parse.rs b/lib/rust/parser/debug/tests/parse.rs
index b9d7e0489..c1e0c3ce6 100644
--- a/lib/rust/parser/debug/tests/parse.rs
+++ b/lib/rust/parser/debug/tests/parse.rs
@@ -492,6 +492,12 @@ fn foreign_functions() {
             #((() (Ident a) () ()) (() (Ident b) () ()))
             "="
             (TextLiteral #((Section "42")))));
+
+    test!("private foreign python my_method a b = \"42\"",
+        (Private (ForeignFunction foreign python my_method
+            #((() (Ident a) () ()) (() (Ident b) () ()))
+            "="
+            (TextLiteral #((Section "42"))))));
 }

 #[test]
diff --git a/lib/rust/parser/src/macros/built_in.rs b/lib/rust/parser/src/macros/built_in.rs
index f06804ac6..cd1fdefd7 100644
--- a/lib/rust/parser/src/macros/built_in.rs
+++ b/lib/rust/parser/src/macros/built_in.rs
@@ -753,9 +753,29 @@ fn private_keyword<'s>(
     precedence: &mut operator::Precedence<'s>,
 ) -> syntax::Tree<'s> {
     use syntax::tree::*;
-    let segment = segments.pop().0;
-    let keyword = into_private(segment.header);
-    let body_opt = precedence.resolve(segment.result.tokens());
+    let segment = segments.pop();
+    let matched_segment = segment.0;
+    let rest_of_segment = segment.1;
+    println!("private_keyword: matched_segment={:#?}", matched_segment);
+    println!("private_keyword: rest_of_segment={:#?}", rest_of_segment);
+    let cloned_result = matched_segment.result.clone();
+    let cloned_tokens = cloned_result.tokens();
+    let first_item = cloned_tokens.first().unwrap().clone();
+    println!("private_keyword: first_item={:#?}", first_item);
+    let first_ident = try_into_token(first_item)
+    .and_then(try_token_into_ident);
+    if let Some(mut id) = first_ident && id.code == "foreign" {
+        println!("private_keyword: first token in body is 'foreign' identifier");
+        id.left_offset += matched_segment.header.left_offset;
+        // TODO: Add left offset of the private keyword?
+        let foreign_body_opt = try_foreign_body(id, cloned_tokens, precedence);
+        if foreign_body_opt.is_ok() {
+            println!("private_keyword: body is a foreign function");
+            return foreign_body_opt.unwrap();
+        }
+    }
+    let keyword = into_private(matched_segment.header);
+    let body_opt = precedence.resolve(matched_segment.result.tokens());
     match body_opt {
         Some(body) => {
             let statement = crate::expression_to_statement(body);

### Tasks
- [ ] Update [documentation](https://github.com/enso-org/enso/pull/10060#discussion_r1615865405)

Currently we treat the body of any macro as expression context. For private, we need a new behavior in the macro resolver: When handling Step::StartSegment(header), leave the context unchanged so that if private is in statement context, we recognize functions etc in its body.
One way to do this would be to add a new field to macro::Definition to mark whether it has this context-preserving property, and in the resolver include that information in Step::StartSegment (maybe as an Option<Context>, that is either None: preserve or Some(Context::Expression): set to Expression).


Replace rust-lang-nursery/rust-wasm links in issues

Issues can be helpful to search through when you have questions that may not be relevant to the main written documentation, but there are a few broken links still knocking about the rustwasm repos that point to the old repository at https://github.com/rust-lang-nursery/rust-wasm.
I can't think of an easy way to find/replace them since it's difficult to find them all in github's search, which probably leaves it as either a manual process or writing a script for GitHub's API
e.g. in #82

I think we'll definitely do this as they pop up but otherwise this problem should solve itself in time!


Update AutoRest C# version

Update AutoRest C# version to 3.0.0-beta.20210115.1

@KrzysztofCwalina @pakrym can you help us in merging this pr?
We need to get autorest.csharp upgraded to pull in the modelerfour update that addresses this issue :
FATAL: Error: Circular $ref in Model -- #/components/schemas/schemas:34 :: ["#/components/schemas/schemas:34"]
  Error: Plugin prechecker reported failure.

This has been resolved in modelerfour 4.15.442
https://github.com/Azure/autorest/issues/3630
I confirmed when I upgrade locally the error goes away.

@KrzysztofCwalina @pakrym can you help us in merging this pr?
We need to get autorest.csharp upgraded to pull in the modelerfour update that addresses this issue :
FATAL: Error: Circular $ref in Model -- #/components/schemas/schemas:34 :: ["#/components/schemas/schemas:34"]
  Error: Plugin prechecker reported failure.

This has been resolved in modelerfour 4.15.442
https://github.com/Azure/autorest/issues/3630
I confirmed when I upgrade locally the error goes away.

This update is blocked on https://github.com/Azure/autorest/issues/3786

This update is blocked on https://github.com/Azure/autorest/issues/3786


Codelab does not give instructions to open cloud shell vs. terminal

https://kiosk-dot-codelabs-site.appspot.com/codelabs/offline/index.html?index=..%2F..nodejs-interactive#0
Codelab does not give instructions to open cloud shell vs. terminal, key for demo environments

I'm doing this codelab right now and noticed a couple more things:
It also

doesn't tell you to cd into the directory after cloning (which might not be obvious to someone who doesn't use git)
doesn't tell you to use the git HTTPS URL (the SSH url doesn't work)
it uses Python 2, which issues a warning
it doesn't give instructions on "how to open the site in Chrome" (i.e. what URL) in step 3. You need to find the button and also change the port
the FAQ on step 7 renders incorrectly as a single unordered list, instead of a series of questions and answers
step 8's code snippet is incorrectly formatted


LMS511

Hello,
Recently I've started to work on the project, which includes usage of scan data received from LMS511.  As a first step, I was using SOPAS ET  to gain .log file with the data. Now I'm trying to implement communication and data retrieving from the LiDAR sensor into my program, using sick_scan_xd.I've succeeded to continuously write data into the CSV file, by modifying function plotPointcloudToJpeg in sick_scan_xd_api_test.cpp. But during tests with sick_scan_xd_api_test.exe, I had several questions regarding principles of work.

Setting configuration in the LMS511 launch file. First of all, as I find out by reading existing issues, not all parameterization may be set up in launch file and some of them have to be configured in SOPAS ET. On the other hand, it's not possible to generate launch files using SOPAS ET.  What is more, after several rounds of using sick_scan_xd_api_test I discovered that RSSI was reset to "enable", although I haven't found any mentioned about that parameter in the launch file. My question is, is there a way  to read all parameters from scanner, such as start and stop angles, and avoid their resetting by using a launch file?
Is it possible to gain a log file with data, similar to one created by SOPAS ET? If so, is there any information about how to do it?

Thanks for reporting these questions and issues. It is correct, that not all of the parameters supported in SOPAS ET can be configured by the sick_scan_xd launchfile. We recommend to configure the lidar using SOPAS ET and to store the configuration in its EEPROM. Currently it is not possible to create and export a sick_scan_xd launchfile in SOPAS ET.
You can activate resp. deactivate intensity values in the launchfile by parameter "intensity". Set parameter "intensity" to "false" to disable them:
<param name="intensity" type="bool" value="false"/>
<param name="intensity_resolution_16bit" type="bool" value="false"/>

Start and stop angles are configured in radians by parameters "min_ang" and "max_ang" the launchfile:
<param name="min_ang" type="double" value="-1.658062789" />
<param name="max_ang" type="double" value="1.658062789" />

Note that the validity of start and stop angle configuration depends on the lidar. You might e.g. determine suitable start and stop angles with SOPAS ET and use these values in the launchfile. Currently there is no way to set this automatically.
The sick_scan_xd driver provides the scan data and basic settings. Further data processing incl. export and logging has to be done in the application.

Thank you for the reply and suggested solution.
I will try to  disable transport of intensity values.
Regarding validity of start and stop angle, I find out, that for LMS511 the conversion formula from degrees to radians is next:  angle° / 180 * Pi - Pi/2.

Thanks for your feedback. I'm closing this issue for now. Please do not hesitate to reopen the ticket in case of further issues.


Fix incorrect doc string type information.

Fix type information in doc string.
Description
The get from family function iterates through the project list. If you
pass in a string, it will iterate through the string instead of considering
the string a list with one element.
Status
done, ready for review
Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[ ] Documentation
[x] Tests
[ ] ICLA (required for bigger changes)

I merged the change into trunk - thanks!
You could also add isinstance check and throw ValueError is the argument is not of a correct type, but that's optional.
if not isinstance(ex_project_list, (list, tuple, type(None)):
    raise ValueError(....)

Feel free to open a new PR though if you do want to add that change :)


fontSize prop renders to font-size attribute

When using ${fontSize} function in my custom component, such as

	Something...

React apparently treats is as HTML attribute and renders it as font-size on the respective tag.

	Something...

What can be done to override / circumvent this behavior

Just noticed it's the same behavior with color:

	Something...

renders to

	Something...

It does add the color (and font-size) to the styles properly, but I guess it shouldn't leak it to HTML tags.

See this and let me know if that helps https://github.com/jxnblk/styled-system/blob/master/README.md#troubleshooting

It’s sort of a long standing issue with styled-components and how it whitelists html attributes

I've looked at it a few times, not quite sure how to apply it. Will give it a try

Do clean-element or clean-tag work as intended for anybody? For me, they do not change the behavior wrt. to e.g. fontSize.

@eugenkiss could you provide a code example?

Added an example here: https://github.com/jxnblk/styled-system/tree/examples/examples/clean
Also, please let me know how we could make the docs better here: https://github.com/jxnblk/styled-system/tree/master/clean-tag

@jxnblk wait - where is it defined what an actual HTML element <Text> is going to be in your example?
Sorry for noobish question, but it really doesn't make sense to me

Thanks a lot for your example @jxnblk. I just ran it locally and found my issue. I didn't set a custom theme. When I use ThemeProvider with a custom theme in my project everything works as expected.
What I did: I removed <ThemeProvider theme={theme}> from the App in the example. I thought that in that case the default theme will take over which seems to have fontSizes defined. Do you know why the defaultTheme doesn't take over in this situation?

@jxnblk Or - how can I use say h1 instead of default
 in clean-tag?

@jxnblk ok I got it finally! Seems to work!
It'd be really good to have some basic documentation for clean-tag in place. I could try to put together something quick

clean-tag accepts an is prop for the element, but you can also use something like Tag.h2 in the component definition. And yeah, noticed the missing default font sizes thing, so that’s a bug

@jxnblk awesome! Exactly what I wanted!

@jxnblk by the way - why there's no GitHub repo for your clean-tag NPM package?

This is a monorepo, so that package is in this repo, in the clean-tag/ folder


ng serve is not working after updating angular/cli

Greetings,
I am at beginner level in Angular JS. I'm facing an issue that the code is not updating after running ng serve. Thoroughly search the web and apply all the mentioned steps but still it couldn't solved.
1- uninstall and reinstall angular
2- Create a new project
The issue persists that the listener on localhost:4200; browser is not automatically opened on ng serve. Although before updating the angular/cli; the code was working fine.
Your cooperation will be highly appreciated in this regard. Thanks in advance!

Thanks for reporting this issue. However, you didn't provide sufficient information for us to understand and reproduce the problem. Please check out our submission guidelines to understand why we can't act on issues that are lacking important information.
If the problem persists, please file a new issue and ensure you provide all of the required information when filling out the issue template.


Fixes QAInsights / JEval#14

Fixes #14
Change Log:

Update color print in exception.py for CSV Data Set and CookieManager

Thanks @leelaprasadv :) It works fine.


dnsmasq not resolving docker cloud links

Hi All,
I am trying to get Kong properly working on Tutum/Docker Cloud (as it is now called).
https://cloud.docker.com
The issue is that kong always fails when using docker links on Tutum/DockerCloud.
It appears that DNSmasq is not using the search element of the resolve.conf to add the FQDN to the request and as such it just fails.
So if I set in kong.yml :
contact_points:
    - "cassandra:9042"

Kong will fail to start unable to connect to cassandra. It should resolve to casasndra.a72c1fd7-97e3-423b-ac69-d02a5dee5d8e.local.dockerapp.io
Example of resolve.conf on docker cloud:
search a72c1fd7-97e3-423b-ac69-d02a5dee5d8e.local.dockerapp.io
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

How can I get kong/dnsmasq to properly use the search option in resolve.conf?
If we can solve this issue then I will no longer have to  host a custom version of Kong for Docker Cloud
https://github.com/holidaywatchdog/docker-cloud-kong
I should mention that cassandra resolves correctly from within the docker container just not via dnsmasq
root@api-gateway-1 /]# ping cassandra
PING cassandra.a72c1fd7-97e3-423b-ac69-d02a5dee5d8e.local.dockerapp.io (<IP_ADDRESS>
2) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=1.79 ms

I have moved this to docker-kong issues


[Publisher App] Stream inform button is missing from the share screen view

On the Publisher app, publisher cannot see the stream info of the share screen view since the stream info button is missing.
STEPS:

Open the publisher app
Add the Screen Share source with the camera source
Go live
Publisher is able to view the stream info stats of the camera source but not of the share screen source
Stream inform button is missing from the share screen view

Int Branch: int-issue-145-multisources
Environment:
OS: MAC
Browser: Chrome
Screenshot:

Closing the issue: This issue is fixed.


Refactor IncentivizedOutboundChannel to accept and pay fees

Automated tests are work in progress.

@rubydog looks good overall now - next step is to implement the actual fee payment/integrate with SnowDOT and DOTApp

@musnit @denalimarsh I don't think we can use AccessControl.sol. It only lets an account with admin role to grant any other role to an account. In our case we want to let only feeController change itself, not an admin.

Closing this for now. I'm gonna incorporate the various learnings and discoveries from this work into a new PR. thanks @rubydog!


[CAMEL-9657] Move container management of camel contexts to start method

Also ignore CDI proxied camel contexts when invoking contextCreated()
from CamelContextTrackerRegistry

I wonder whether the "WeldClientProxy" could be left to the client as the CamelContextTrackerRegistry provides the CamelContext instance. If the client deal with CDI Camel contexts, it is likely that it can reason at the bean level (as opposed to the class level which is what the CamelContextTrackerRegistry is doing) or it has the knowledge to do the filtering. Besides, the client would have the knowledge of the CDI implementation used.

Fair comment. I've no issues removing the filter for clients to implement. I guess it's a more valid approach to let individual clients decide what to do with the CamelContext instance that they consume.
I'll remove the check and push the changes later today.

New version pushed. I removed the filter logic from CamelContextTrackerRegistry.

When CDI creates a proxy is there no way to know that? It is not a java.lang.Proxy or something?
Though for the name check we could check if the class name has Proxy in the name, as there is no CamelContext classes that use that in their names, its spring, cdi, default, guice, osgi etc.

Yeah, the lazy all-encompassing class name check would be to match on Proxy.
The question is, do we want that check done in Camel? Or do we delegate this responsibility to clients who implement their own CamelContextTracker, which may or may not care whether the consumed camel context is a CDI proxy.

Both Weld and OpenWebBeans use subclass proxying as it enables more use cases than JDK proxy. They suffix the class being proxied for the proxy subclass names like ...$Proxy$_$$_WeldClientProxy and ...$$OwbNormalScopeProxy0.
Spring suffered from the same limitation until they relax that default constructor call in Spring 4.x http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html#_core_container_improvements. I haven't check their proxy naming strategy.
Weld supports that non default constructor call as well. It's just that it's only activated by default in Weld SE.
So filtering on Proxy in Camel core may be a good enough compromise.
I think the issue only affect particular clients that happen to deal with multiple kind of Camel contexts (plain Java, Spring, CDI, ...):

Plain Java clients rely on CamelContextTracker to track their Camel contexts using the CamelContextTrackerRegistry centralised place / registry and don't face that issue.
DI-based clients rely on the container as a central place to track their Camel context beans using the container provided APIs. For example in CDI, you can get then using @Any Instance<CamelContext> contexts (and the container is immutable).

So my understanding is that only hybrid clients face the issue which I would tend to think are seldom and delegating the filtering to them would be a good compromise as well :grinning:.

Thanks for the details. Yeah that make sense. I have pushed this PR to master and 2.16 branch

@jamesnetherton can you close this PR

Thanks for your inputs on this :smiley:
Closing.


Failing all exposures from 20190630

I am failing all the exposures from 20190630 (exposures 00016873-00016888). Running qqa monitor on them causes a KeyError: "Keyword 'EXPTIME' not found.", and only empty files are generated within the plot directory. Below is a screenshot of one of the logfiles:

Fixed in desispec master. Please check and close if it solves the problem.

Yup, works fine now.


Timelag between switch from 'Power consumption' to 'Power delivery'

I do not know if the problem is related to the Discovergy API itself or to the adapter:
I have a PV-Installation. When the PV produces more power than needed, the surplus goes to the grid and is accounted on the Discovergy meter as 'power delivery'. I takes between 30-50 seconds before the new value is delivered when power switches from 'power consumption' to 'power delivery' or vice-versa, even the update interval is set to 3 seconds. I have submitted this also to Discovergy as I do not know if the cause of this behavior is the API itself or the adapter. Could you please have a check?

Hi @kleinjn.. hmmm that would be an api issue as the data is not provided earlier.
Adapter request all data on API based on provided interval but indeed if the value are not easier available in API results the adapter shows previous data.
I think there is nothing I can do at adapter side but would be interested if you get any feedback from discovery about it

solved in v0.5.11


Fix(Revit) : getting project info can throw and kills conversion

Description & motivation
Retrieving project info can throw if the project info object has custom attributes with characters that are not allowed for base property names. This pr fixes that issue.
We may want to consider wrapping this whole operation in a try catch because throwing here will kill the entire send operation

Changes:

To-do before merge:

Screenshots:

Validation of changes:

Checklist:

[x] My pull request follows the guidelines in the Contributing guide?
[x] My pull request does not duplicate any other open Pull Requests for the same update/change?
[x] My commits are related to the pull request and do not amend unrelated code or documentation.
[x] My code follows a similar style to existing code.
[ ] I have added appropriate tests.
[ ] I have updated or added relevant documentation.

References

made the changes per your comment @AlanRynne. Would be good to get another look at it


example crashes on windows

I'm not sure if i am doing something wrong, but i am having trouble getting app to run on windows just the simplest test app from example
I've tried copying these dlls into same folder from which i am running built app
https://github.com/webview/webview/tree/master/dll/x64
error i get:
Exception 0xc0000005 0x0 0x0 0x7ffd77e20787
PC=0x7ffd77e20787
signal arrived during external code execution

github.com/webview/webview._Cfunc_webview_create(0x0, 0x0, 0x0)
        _cgo_gotypes.go:120 +0x50
github.com/webview/webview.NewWindow.func1(0x7b2d00, 0x0, 0x300000002)
        C:/Users/vfist/go/pkg/mod/github.com/webview/webview@v0.0.0-20210216142346-e0bfdf0e5d90/webview.go:162 +0x5d
github.com/webview/webview.NewWindow(0xc00004e000, 0x0, 0xc00004e000, 0xc0000d7f78)
        C:/Users/vfist/go/pkg/mod/github.com/webview/webview@v0.0.0-20210216142346-e0bfdf0e5d90/webview.go:162 +0x55
github.com/webview/webview.New(...)
        C:/Users/vfist/go/pkg/mod/github.com/webview/webview@v0.0.0-20210216142346-e0bfdf0e5d90/webview.go:152
main.main()
        C:/Users/vfist/go/pkg/mod/lumiere/app/test/main.go:11 +0x48
rax     0x0
rcx     0x2f05f1d0640
rdi     0x2f05f1a1a40
rsi     0x2f05f1a1a40
rbp     0x0
rsp     0xf7bb3feab0
r8      0x0
r9      0xff000000
r10     0xff0000
r11     0x246
r12     0x1
r13     0x1
r14     0x0
r15     0x2f05f1d3ee0
rip     0x7ffd77e20787
rflags  0x10202
cs      0x33
fs      0x53
gs      0x2b
exit status 2

What OS are you using (uname -a, or Windows version)?
Windows 10, version 20H2

What programming language are you using (C/C++/Go/Rust)?
gcc.exe (tdm64-1) 9.2.0
clang version 11.0.0
go version go1.16.2 windows/amd64
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOHOSTARCH=amd64
set GOHOSTOS=windows

ps. , on mac it works.

I also get the same error on windows. I also had to copy the dll saved in the project to the executables path for anything to run... There may be something wrong with the build commands?

Same here....

I also get the same error on windows. I also had to copy the dll saved in the project to the executables path for anything to run... There may be something wrong with the build commands?

copying latest dll didn't do a thing for me, had to checkout  master 10 commits ago and get dll from there in order for it to work, anyways since upstart time was also a huge pita on windows i've decided to give lorca a shot.

That issue may be fixed on #551

Closing because the repo no longer bundles DLLs. Please see the updated readme if you wish to try Go examples.


Sia renterd overrided old consensus folder

Current Behavior
I tried to save consensus folder to load renterd faster with backups.
But it overrided old consensus folder, and loads from beginning.
Expected Behavior
How could renterd read old consesus folder to make it faster at beginning?
Steps to Reproduce

Old consensus, data, slab
Run sia from docker with volume to old folder
It deletes old files, and loads from beginning

Version
1ed897e
What operating system did the problem occur on (e.g. Ubuntu 22.04, macOS 12.0, Windows 11)?
docker:master
Autopilot Config
{ 	"contracts": { 		"set": "autopilot", 		"amount": 50, 		"allowance": "3808000000000000000000000000", 		"period": 6048, 		"renewWindow": 2016, 		"download":<PHONE_NUMBER>000, 		"upload":<PHONE_NUMBER>000, 		"storage":<PHONE_NUMBER>000, 		"prune": false 	}, 	"hosts": { 		"allowRedundantIPs": false, 		"maxDowntimeHours": 336, 		"minProtocolVersion": "1.6.0", 		"minRecentScanFailures": 10, 		"scoreOverrides": null 	} }
Bus Config
{"default":"autopilot"} {"hostBlockHeightLeeway":6,"maxContractPrice":"1000000000000000000000000","maxDownloadPrice":"800000000000000000000000000","maxRPCPrice":"1000000000000000000000","maxStoragePrice":"64814814815","maxUploadPrice":"40000000000000000000000000","migrationSurchargeMultiplier":10,"minAccountExpiry":86400000000000,"minMaxCollateral":"10000000000000000000000000","minMaxEphemeralAccountBalance":"1000000000000000000000000","minPriceTableValidity":300000000000} {"minShards":10,"totalShards":30} {"enabled":true,"slabBufferMaxSizeSoft":4294967296}
Contract Set Contracts
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100 41316    0 41316    0     0  5935k      0 --:--:-- --:--:-- --:--:-- 6724k 50
Anything else?
I remember it not to delete old consensus at former versions.

When did it switch to? That means I could save new consensus for future, doesn't it?

Closing this since it's expected behavior starting from v1.1.0.
@cmdntd yes, you can save the new consensus now like you did the old one.


List of tasks in Obsidian

Hey!
Task creation has been working great! Any possibility you could add a way to list all of the tasks in a certain List that are Open in Obsidian. I don't need to interact with them, just listing them would be really useful!
Thank you,
Robin

Due to the TickTick open API limit, I am unable to fetch all tasks in a certain list.  https://developer.ticktick.com/docs#/openapi

Due to the TickTick open API limit, I am unable to fetch all tasks in a certain list.  https://developer.ticktick.com/docs#/openapi

Huh, count me surprised. Does "Get Project with Data" not provide the tasks for a project/list? It seems that in the Example on the page it includes tasks in there.


Short solution needed: "How to rename a file in CLI" (ubuntu)

Please help us write most modern and shortest code solution for this issue:
How to rename a file in CLI (technology: ubuntu)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to rename a file in CLI


JavaScript best practices

This pull request is created for a code review between coding partners to see it follows best coding practices.
Checking the quality of the code. The following will be checked:

JavaScript best practices.
DRY, KISS, and YAGNI.
HTML & CSS best practices

[ ]  As per the issues that you ought to follow, I kindly request that you look into this to avoid the repetition and adhere to JavaScript best practices.

https://github.com/stephenkati/To-Do-List/blob/26815a244d5fe75870721f79dc1fe4df37ec7ef9/src/modules/Task.js#L75

[ ]   As per the issues that you ought to follow, I kindly request that you look into this to avoid the repetition and adhere to JavaScript best practices.

https://github.com/stephenkati/To-Do-List/blob/26815a244d5fe75870721f79dc1fe4df37ec7ef9/src/modules/Task.js#L75

Thanks for the comment

Thanks for the comment


"Failed to load resource" with 401 on a file that exists and should be accessible

Getting Failed to load resource: the server responded with a status of 401 () on a file/resource that exists and should be accessible.

This was triggered by pinning a view for an extension as an editor tab (in this case, commit graph of GitLens), upgrading the extension (or switching from release to pre-release or vise versa), and reloading VS Code.
Version: 1.83.1 (user setup)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:48:05.904Z
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045

I'm running into the same issue right now, trying to create a new extension. if anyone has a workaround for it, ping me. thanks

Please start by filing this against gitlens

@mjbvz this is from the GitLens team. VS Code seems to be failing to load the js in this scenario and GitLens isn't really involved in that flow.

Please provide a minimal repo then (one not using gitlens)

We are experiencing the same issue on the Asciidoctor VS Code Extension.
You can reproduce this issue using version 3.1.8 of the Asciidoctor VS Code Extension (using Windows)

Create a folder named A

In the A folder:

Add image named mountain.jpeg
Create a file named index.adoc with the following content:

image:mountain.jpeg[]

Open a terminal (PowerShell)

Navigate to the A folder and run code .

Open index.adoc and use the command "AsciiDoc: Open Preview to the Side"

The HTML in the WebView is <img src="mountain.jpeg" alt="mountain">.
Please note that the exact same request works in the Markdown Extension:

It's also interesting to note that if I open the A folder using a new VS Code Window, then "File > Open Folder..." it does work!
https://github.com/microsoft/vscode/assets/333276/a2145871-d40f-4ae2-86ed-33b9ccaf4fcf
https://github.com/asciidoctor/asciidoctor-vscode/issues/819

Same here. In all of the Antora projects I work on the, the asciidoctor extension no loner shows images. They're all blocked with 401 Unauthorized.

@mjbvz I think I found the root cause. The following line returns undefined:
const resourceToLoad = getResourceToLoad(requestUri, options.roots);

https://github.com/microsoft/vscode/blob/b1cddfafe0c054fbeb346a3d3dc9a58f504eb55b/src/vs/workbench/contrib/webview/browser/resourceLoading.ts#L57
In my case, options.root is equals to:
[
    {
        "$mid": 1,
        "fsPath": "c:\\Users\\gross\\.vscode\\extensions\\asciidoctor.asciidoctor-vscode-3.1.8\\media",
        "_sep": 1,
        "external": "file:///c%3A/Users/gross/.vscode/extensions/asciidoctor.asciidoctor-vscode-3.1.8/media",
        "path": "/c:/Users/gross/.vscode/extensions/asciidoctor.asciidoctor-vscode-3.1.8/media",
        "scheme": "file"
    },
    {
        "$mid": 1,
        "fsPath": "c:\\Users\\gross\\.vscode\\extensions\\asciidoctor.asciidoctor-vscode-3.1.8\\dist",
        "_sep": 1,
        "external": "file:///c%3A/Users/gross/.vscode/extensions/asciidoctor.asciidoctor-vscode-3.1.8/dist",
        "path": "/c:/Users/gross/.vscode/extensions/asciidoctor.asciidoctor-vscode-3.1.8/dist",
        "scheme": "file"
    },
    {
        "$mid": 1,
        "fsPath": "c:\\users\\gross\\documents\\a",
        "_sep": 1,
        "external": "file:///c%3A/users/gross/documents/a",
        "path": "/c:/users/gross/documents/a",
        "scheme": "file"
    }
]

As you can see, the folder "a" is in lowercase but the requestUri is using "A" uppercase:
{
    "$mid": 1,
    "fsPath": "c:\\Users\\gross\\Documents\\A\\mountain.jpeg",
    "_sep": 1,
    "external": "file:///c%3A/Users/gross/Documents/A/mountain.jpeg",
    "path": "/c:/Users/gross/Documents/A/mountain.jpeg",
    "scheme": "file"
}

As far as I know, URI are case sensitive but Windows is case-insensitive. I believe that the correct URI in options.root should be:
    {
        "$mid": 1,
        "fsPath": "c:\\users\\gross\\documents\\A",
        "_sep": 1,
        "external": "file:///c%3A/users/gross/documents/A",
        "path": "/c:/users/gross/documents/A",
        "scheme": "file"
    }

fsPath could either use a or A since Windows is case insensitive but for consistency it should probably use A.

I forgot to mention that when it works it's because we are in a workspace and somehow the image is cached! So it returns a 304.

It's actually a bug in the Asciidoctor Extension where we apply toLowerCase on the path 😥

@eamodio could you please check if this applies to Gitlens too ?

In GitLens this is a narrow case. It happens when users have a webview open, upgrade GitLens to a new version, and reload VS Code. On that first reload the webview fails to be restored properly -- vscode restores it but my guess it tries to restore the js bundle from the old extension location, not the new one.
If the user closes the webview and reopens it everything works from then on until the next upgrade.

My guess is that the localResourceRoots on the WebView is configured to: /c:/Users/<user>/.vscode/extensions/<path-to-gitlens-with-version>/dist. For instance:
/c:/Users/<user>/.vscode/extensions/eamodio.gitlens-2023.10.3105/dist

When you install a new version, let's say 2023.11.1914, the WebView won't allow to load assets from /c:/Users/<user>/.vscode/extensions/eamodio.gitlens-2023.11.1914/dist since only /c:/Users/<user>/.vscode/extensions/eamodio.gitlens-2023.10.3105/dist is configured as loadResourceRoots (hence the 401).
Not sure what's the best approach here. Should extensions forcibly recreate WebView when the extension is updated? Should VS code take care of it? Should we allow regular expression/glob pattern in localResourceRoots to prevent issues (i.e., eamodio.gitlens-.*).

Great investigation and finds!

Should extensions forcibly recreate WebView when the extension is updated

@eamodio  @axosoft-ramint Can you try setting localResourceRoots when restoring the webview too?
I'm hesitant to adding logic on the VS Code side that does this automatically as there's a chance we get this wrong. Better I think to make this explicit on the extension side, especially because the fix should be pretty easy since extensions already need to set the roots for new webviews


WL_Flash add API for access to attributes

Inherit and add get methods for needed structs and info

current form of inheriting in #19. access to attributes in the form of writing them in JSON format to buffer. no need to add functions then

current implementation of WL_Advanced is presumably the thing, closing issue


iOS build crashes in release mode

In release and profile modes XCode optimizes the app and removes "unused" symbols from native libs.
We dynamically load symbols from a statically linked library so all of our exported functions are "unused".
We have a workaround for this but we didn't add new backend API functions there.
We didn't catch this on iOS CI because the CI uses debug mode to test the app.
We should modify the CI to use profile mode.

We didn't catch this on iOS CI because the CI uses debug mode to test the app.
We should modify the CI to use profile mode.

I don't think we will be able to implement this on our current CI.
We test using iOS Simulator, and Flutter is only able to launch the app in debug mode in a Simulator.
After some experiments I was able to launch the app with --profile flag but it seems that the app was not recompiled, and it still launched in debug mode.
Launching the app in profile or release mode directly from XCode also doesn't work.
We may fix this by using a physical device, for example from Firebase but I don't think this should be done in this issue.
I think we should address this after we move our iOS CI to a cloud service.


Overwatch effect whit Logitech mouse and headset

When I play Overwatch my G633 headset and G303 mouse lights will turn off, only G910 keybroad has Overwatch effect. Is that normal?

Yes it's normal, Overwatch profile does not have any mouse effects yet. I will be addressing that later.

On a G502, the G light on the mouse is on, but the lights that indicate DPI setting never turn on. This isn't ideal.

It seems like it's only happening in Overwatch though. The normal functionality is that the DPI lights come on when you make an adjustment. That also happens if Aurora is turned off or in other games. But if Aurora is turned on in Overwatch, DPI adjustments don't turn the DPI lights on.

Added mouse effects for Overwatch in version 0.5.0


Unclear/outdated screenshot on "Get a Free Account on SAP BTP Trial" tutorial, step 8

Tutorials: https://developers.sap.com/tutorials/hcp-create-trial-account.html

Tutorial: "Get a Free Account on SAP BTP Trial"
Step: STEP 8 Learn about the service marketplace
Issue: Screenshot of location of "Service Marketplace" tab/mean is slightly unclear / outdated. Currently the "Service Marketplace" menu is grouped under the "Services" heading. A click on the heading is necessary to show the required subitem. The screenshot could include this information.
Browser: Google Chrome Version 112.0.5615.49 (Official Build) (x86_64), Safari Version 16.3 (186<IP_ADDRESS>.6)

Thanks, fixed!


Uncaught Exception: Command failed:<PHONE_NUMBER>

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.0.0
Time: Mon Mar 07 2016 14:24:00 GMT 0100 (W. Europe Standard Time)
Error:
Command failed:<PHONE_NUMBER>
Error: Command failed:<PHONE_NUMBER>
System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The remote name could not be resolved: 'update.googleplaymusicdesktopplayer.com'
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
   at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.FileDownloader.<DownloadUrl>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerS
...Some of the stack is missing

This issue was created automatically inside the uncaughtException handler

client side dns issues


Update free-programming-cheatsheets.md

What does this PR do?
Add resource(s)
For resources
Description
Terraform Cheat Sheet
Why is this valuable (or not)?
Free
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Solved


feat: Adding internal keyword

Description
Adding internal as a keyword for functions to specify that only the contracts itself can execute this function.
Problem*
When building noir contracts for Aztec, we want to support flows such as:

Private functions does some access check and calls a public function to mint tokens

Currently, we could do this by inserting a commitment from private and then nullify it in public, but that is very wasteful.
Instead we can introduce internal as a keyword and store is_internal as part of the contracts tree, which allows the kernel to check that the contract itself is the caller, and reject anyone else from calling it.
Similar to solidity internal.
Summary*

Adds internal keyword.
Adds is_internal to json output

Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.
[ ] I will request for and support Dev Rel's help in documenting this PR.

For documentation only of interest to contract noir, which don't seem to have documentation at the moment.
Additional Context

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Looks good, sans one more parser comment.
Since this is still a draft, what work remains on this?

Looks good, sans one more parser comment.
Since this is still a draft, what work remains on this?

The idea was that it should be behind a feature flag to see how easily we could use those to get things into noir for Aztec without wrecking master, just have not gotten around to it.


Password Display

Password Display
User Story
AS AN employee with access to sensitive data
I WANT to randomly generate a password that meets certain criteria
SO THAT I can create a strong password that provides greater security
Acceptance Criteria
GIVEN I need a new, secure password
WHEN the password is generated
THEN the password is either displayed in an alert or written to the page

Feature/display