C++ LSP Support

Sorry, I'm a bit of a newbie when it comes to buck2 so this might already be a solved problem:
I started a C++ project, but I can't figure out how to get LSP support for the output. I'd really like to get as much help as possible from my editor (VSCode or Vim), but can't get buck2 to output the compilation database for my target. Any suggestions?

buck2 can already output a compilation database for an individual target.  You can do this by building the compilation-database subtarget.  For example, given the target root//src:foo, you can build a compilation database for that target by doing buck2 build root//src:foo[compilation-database].
Unfortunately, buck2 currently only supports generating a compilation database per-target.  This doesn't really map well to how most LSPs operate, which expect a compilation database for your entire project.  I actually just finished (5 minutes ago actually!) writing a bxl that can generate a compilation database for your entire build.
It probably has some imperfect edge cases, but I've tested it locally and it works very well with VSCode.  Put this file somewhere in the root of your tree (let's say you put it at <root>/bxl/compile_commands.bxl) and then generate the compilation database as buck2 bxl root//bxl/compile_commands.bxl:gen_compilation_database > compile_commands.json.
This will dump a compile_commands.json into the root of your source directory.
I'm actually interested to see if you run into any problems with it.  Perhaps I should try upstreaming this into the examples folder.

Thanks, I will try it out.

@zjturner the script outputs an empty json file.

What is the full cell path to your target?  Something like root//something:my_target?

Yes, it follows this path. This is what happens when I try to build compilation-database:
buck2 build root//my_project:my_binary[compilation-database]

zsh: no matches found: root//my_project:my_binary[compilation-database]

zsh: no matches found: root//my_project:my_binary[compilation-database]

The problem is that [ (and ]) is a special shell character, so you have to quote it.
buck2 build 'root//my_project:my_binary[compilation-database]' should work. But you better use the version that includes the header file information: buck2 build 'root//my_project:my_binary[full-compilation-database]'.
In my vcpkg Example and Conan Example I used a Python script to concat all jsons to a single compile_command.json:
Cxx-Buck2-vcpkg-Examples - concat_compile_cmds and Cxx-Buck2-Conan-Examples - concat_compile_cmds
The usage:
load("//concat_compile_cmds:defs.bzl", "concat_compile_cmds")

concat_compile_cmds(
    name="compile_commands",
    files=[
        "//app:app[full-compilation-database]",
        "//lib:library[full-compilation-database]",
        "//test:test[full-compilation-database]",
    ],
)

Cxx-Buck2-vcpkg-Examples - BUCK

Thanks for the help @Release-Candidate. Unfortunately I'm having no luck with these efforts. The command now runs, but it produces an empty json file. The binary imports a mix of .hpp internal to the project and external .h files. Could the .hpp files cause adverse issues?

No, that shouldn't be a problem, I'm doing the same.
The empty JSON is the one this
buck2 build '/my_project:my_binary[full-compilation-database]' --show-ouput

points to, I suppose?
If that's the case and the binary successfully compiles - as you've said - the problem is elsewhere. May be a bug in the generation of the compile_commands.json too. It now depends on your actual C++ toolchain configuration and target configurations.

Id be curious what buck2 aquery deps(//my_project:my_binary) —output-all-attributes shows.  Because it really sounds like your toolchain definition is messed up.

Id be curious what buck2 aquery deps(//my_project:my_binary) —output-all-attributes shows. Because it really sounds like your toolchain definition is messed up.

And don't forget to quote the parens (again, special shell characters) and use two hyphens instead of the long one above:
buck2 aquery 'deps(//my_project:my_binary)' --output-all-attributes

This is how it looks:
File changed: root//my_project/src/lib/output_writing.hpp
Build ID: f07d2779-c5ab-4253-ac08-84fb6f45c651
Jobs completed: 2. Time elapsed: 0.0s.
{
  "root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)": {
    "kind": "analysis"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `1`)": {
    "kind": "symlinkeddir",
    "category": "symlinked_dir",
    "identifier": "buck-private-headers",
    "inputs": "",
    "outputs": "",
    "executor_configuration": "Local + use persistent workers false"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `4`)": {
    "kind": "write",
    "category": "write",
    "identifier": ".cpp.argsfile",
    "inputs": "",
    "outputs": "",
    "contents": "-Xclang\n-fdebug-compilation-dir\n-Xclang\n.\n-fcolor-diagnostics\n-I\nbuck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/buck-private-headers\n-I/opt/homebrew/include/pcl-1.13\n-I/opt/homebrew/include/eigen3\n-I/opt/homebrew/include\n-I/opt/homebrew/include/vtk-9.2\n\"-std=c++17\"",
    "absolute": "false",
    "executor_configuration": "Local + use persistent workers false"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `6`)": {
    "kind": "run",
    "category": "cxx_compile",
    "identifier": "src/my_target.cpp (pic)",
    "inputs": "",
    "outputs": "",
    "cmd": "[clang++, -o, buck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/__objects__/src/my_target.cpp.pic.o, -fPIC, @buck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/.cpp.argsfile, -c, my_project/src/my_target.cpp]",
    "executor_preference": "Default",
    "always_print_stderr": "false",
    "weight": "1",
    "dep_files": "[]",
    "metadata_param": "None",
    "no_outputs_cleanup": "false",
    "allow_cache_upload": "false",
    "allow_dep_file_cache_upload": "false",
    "executor_configuration": "Local + use persistent workers false"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `24`)": {
    "kind": "write",
    "category": "write",
    "identifier": "filelist-executable.txt",
    "inputs": "",
    "outputs": "",
    "contents": "buck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/__objects__/src/my_target.cpp.pic.o",
    "absolute": "false",
    "executor_configuration": "Local + use persistent workers false"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `25`)": {
    "kind": "write",
    "category": "write",
    "identifier": "my_target.linker.argsfile",
    "inputs": "",
    "outputs": "",
    "contents": "-o\nbuck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/my_target\n-Wl,-oso_prefix,.\n-L/opt/homebrew/lib\n-lvtkCommonCore-9.2\n-lvtkCommonDataModel-9.2\n-lvtkCommonMath-9.2\n-lvtkCommonExecutionModel-9.2\n-lvtkIOImage-9.2\n-lvtksys-9.2\n-lvtkFiltersCore-9.2\n-lvtkRenderingCore-9.2\n-lvtkRenderingLOD-9.2\n-lvtkFiltersSources-9.2\n-lvtkImagingCore-9.2\n-lpcl_visualization\n-lpcl_common\n-lpcl_io\n-lpcl_filters\n-lfmt\n-Xlinker\n-filelist\n-Xlinker\nbuck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/filelist-executable.txt",
    "absolute": "false",
    "executor_configuration": "Local + use persistent workers false"
  },
  "(target: `root//my_project:my_target (prelude//platforms:default#213ed1b7ab869379)`, id: `26`)": {
    "kind": "run",
    "category": "cxx_link_executable",
    "identifier": "",
    "inputs": "",
    "outputs": "",
    "cmd": "[clang++, @buck-out/v2/gen/root/213ed1b7ab869379/my_project/__my_target__/my_target.linker.argsfile]",
    "executor_preference": "LocalPreferred",
    "always_print_stderr": "false",
    "weight": "1",
    "dep_files": "[]",
    "metadata_param": "None",
    "no_outputs_cleanup": "false",
    "allow_cache_upload": "false",
    "allow_dep_file_cache_upload": "false",
    "executor_configuration": "Local + use persistent workers false"
  }
}

--output-all-attributes seems to output something in the buck-out directory, so I'll probably be able to work with that. Thanks for the help!

VSCode C++ extension works if compile_commands.json output file of the following command is added as the compilation database:
buck2 build '//my_project:my_target[full-compilation-database]' --show-output
Copy compile_commands.json from buck-out folder to project root if desired.

It sounds like we should probably document the C++ LSP better. Where should such documentation go? What should it say? (We use an internal version of VS Code, but with enough differences that I'm not sure we at Meta know how to make it work)

Good question, I'm not sure either. Maybe the examples?
The steps are as follows for clangd, which works in VS (if I'm not mistaken), VS Code, Emacs, vim and similar, IntelliJ's Lion, .... Should work with MS' LSP in VS Code too:

run the full-compilation-database subtargets for all targets
concatenate these JSONs into one
change the relative path in the field directory to an absolute one
copy that concatenated JSON into the repository's root directory (or wherever the editor/LSP wants it)

I've made a Python script that does that for my C++ Examples: Cxx-Buck2-vcpkg-Examples - concat_compile_cmds (and Cxx-Buck2-Conan-Examples - concat_compile_cmds)

Talking about LSP support, for OCaml this could be documented somewhere too, a .merlin file has to be generated for Merlin and/or the LSP, and the LSP needs the argument --fallback-read-dot-merlin.
Using Buck 2 with OCaml-LSP or Merlin

Those are really good notes!

@ndmitchell  The bxl I post earlier, with some modifications I have not published yet, is about 10x faster than merging all compilation databases.  Is there interest in me upstreaming it?


Rows not visible in cookie table when too many cookies are listed

When adding multiple cookies in the same category (one per row), only the first few rows are correctly shown (I noticed that depends also from the number of columns).
Being that having one cookie per row is needed to activate the autoclear_cookies feature, it would be great not to have limits there. I think it's just a matter of some css properties in the table size because the rows are actually created, but somehow overflowing and not visible.
Thanks in advance!
(btw, great script, thanks a lot for it!)
EDIT:
for the moment I solved it with the following css:
#s-bl .c-bl.b-ex+.c-bl.b-ex {
margin-top: 0;
height: fit-content;
}

Hi @FrancescoGrani-3,
I can't seem to reproduce this issue on my end, even with very large cookie tables (5000+ rows), tested on 2-5 column tables. In which browser/s does this issue occur on? Could you please provide a minimal reproducible example with the described issue?


Enhance MiKo_3106 to detect patterns 'is null', 'is false' and 'is true'

Today, MiKo_3106 reports issues if someone uses equality or comparison operators in assertions.
It should be enhanced to cover also following cases:
Assert.That(b is true);
Assert.That(b is false);
Assert.That(o is null);

Implemented in f42583bddfdf44025483c9aaa0d9cbf10688b67b


Problem with assert_redirected_to in rspec-rails 3.7 and Rails 5.2

Hi there, I'm having an issue I hope you can help me out with. I can't find information about it anywhere, but Turbolinks is showing up in the stack trace, and this post on StackOverflow suggests somebody has had a similar issue with an older version of Turbolinks. When you get a chance I'm hoping you can point me in the right direction.
Environment

Rails 5.2
RSpec-Rails 3.7
Turbolinks 5.1.1

Summary
assert_redirected_to is returning an error saying I've given 0 arguments when I have included an argument. Although the test still fails in Turbolinks 2.5.4, this particular error seems to be limited to Turbolinks 5.
I'm getting the following error when I use RSpec's redirect_to matcher (which calls the Turbolinks assert_redirected_to method):
  1) Admin registrations new sign-up redirects to home
     Failure/Error: expect(subject).to redirect_to(root_path)

     ArgumentError:
       wrong number of arguments (given 0, expected 1..2)
     # /Users/dana/.rvm/gems/ruby-2.5.1@inview-info-site/gems/rack-test-1.0.0/lib/rack/test.rb:116:in `request'
     # /Users/dana/.rvm/gems/ruby-2.5.1@inview-info-site/gems/turbolinks-5.1.1/lib/turbolinks/assertions.rb:37:in `turbolinks_request?'
     # /Users/dana/.rvm/gems/ruby-2.5.1@inview-info-site/gems/turbolinks-5.1.1/lib/turbolinks/assertions.rb:6:in `assert_redirected_to'
     # ./spec/requests/devise/admin_registrations_spec.rb:11:in `block (3 levels) in <top (required)>'

Details
My test code looks like this:
RSpec.describe "Admin registrations", type: :request do
  describe "new sign-up" do
    subject { get new_admin_registration_path }

    it "redirects to home" do
      expect(subject).to redirect_to(root_path)
    end
  end
end

And my controller code looks like this:
class Admins::RegistrationsController < Devise::RegistrationsController
  def new
    redirect_to root_path
  end
end

I did have the same issue with tests using non-Devise controllers.
I don't understand why I'm getting this error given that I am passing root_path to the redirect_to matcher. I used byebug to verify that root_path is defined when the test runs (its value, as expected, is "/").
Using byebug, I've traced the issue to the turbolinks_request? method - specifically, the call to the request method. This is the point where the error is raised.
Apologies in advance if this issue is not with Turbolinks - I appreciate your time looking into this.

Using byebug, I've traced the issue to the turbolinks_request? method - specifically, the call to the request method. This is the point where the error is raised.

This is odd! I've tried to reproduce with the environment you detailed but have been unable to do so. It looks like request is being called on a Rack::Test::Session (see Rack::Test::Session#request) rather than an ActionDispatch::Request  🤔 So I'm guessing something might be configured differently? If you've not managed to solve this, please copy this issue to https://github.com/turbolinks/turbolinks-rails/issues Thanks.

Thank you!

@danascheider did you fix it ?

Same here... In my rails_helper.rb I had to remove config.include Rack::Test::Methods, type: :request.


Added run_liftoff process to pipeline, and added dependencies to Dock…

…erfile
Paired with feature-liftoff branch on iii-companion/annot-web
Tested locally

tested on both devcompanion and companion-build


Latest version does not compile on stable release of Rust

Cannot compile using a stable release due to:#![feature(ptr_internals)] line 2 of lib.rs
error[E0554]: #![feature] may not be used on the stable release channel  --> /..../rust-tsp-5c599386875a2e57/39d001d/src/lib.rs:2:1\   | 2 | #![feature(ptr_internals)]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
This is on OS X using rustc 1.28.0
I think this is due to the use of  std::ptr::Unique in tcpserver which is a nightly only feature.  Note std::ptr::Unique does not even appear in the 1.28 docs.

This is resolved in pull request #18


Improve accuracy of per-region signals

Per region accounting is inaccurate.  We aggregate the signal first, and aggregate region id separately.  If not all ranks are in the same region, this aggregated region id is always unmarked, so the sampled signal value is attributed to the unmarked region.  It would be more accurate to read the signal at the finest granularity possible along with per-cpu region ID.
This may require some refactoring of the code that handles combined signals and per-region signals.

I can see a few solutions for improving the accuracy of the per-region totals, all of which will be large changes to PlatformIO.

Sample the signal at its native domain and aggregate region id to that domain, and then attribute the signal value to the aggregated region id (which may still be unmarked if not all ranks in that domain are in the same region).  The problem with this is that different signals in the report have different domains, so we cannot really compare them anymore.  For example, sync-runtime is using the board-scoped TIME signal but energy is per-package. It could happen that each package was running in a single region, so the energy was attributed to the correct region, but the time for the whole board would be assigned to unmarked.

Introduce disaggregation functions for non-cpu signals that divide their values among the CPUs in the domain.  For example, if half the cores on a package were in region A and half in region B, we could assign half the energy to each region instead of assigning all of it to the unmarked region.  This is based on the incorrect assumption that both ranks are using the same amount of energy.

Leave it up to users (e.g. the Reporter) to choose smaller domains if they want more accuracy.  This may also have the same problems with comparing signals from different domains as in (1).

A secondary issue with these interfaces is that push_region_signal_total() takes a signal index, not a signal name, so we don't currently know the native domain of the signal.  A workaround is to store a mapping from signal index to signal name, but I think it would be better to change the API so that push_region_signal_total() takes in a signal name and returns a signal index like the other push methods, and sample_region_total() uses this returned index.  This would also get around the case where the given signal_idx was for a domain index that does not overlap with the requested domain index.
An incomplete implementation of (1) with debug prints can be found on my branch here: https://github.com/dianarg/geopm/tree/dianarg-region-energy


Support for Solid.js html template tag.

It would be neat to support Solid's html template tag.
There are also more than one way to author Custom Elements with Solid:

https://github.com/solidjs/solid/tree/main/packages/solid-element

A function-based approach, very similar to Solid's non-custom-element components.

https://github.com/lume/element

More similar to Lit, where you write custom element classes directly, and decorate the class and properties for reactivity.

The html template tag has slightly different syntax than Lit's. I'll be back to post a breadth of examples.

Alight, here a Solid playground with examples:
https://playground.solidjs.com/anonymous/d438cbc6-2c01-4a28-b8b2-106bbd1b4321
There are some other things I didn't include yet, like class and style handling.

Thanks! I'll look into what we can currently support

I think supporting language server features inside of the html template literals could be easy. The quirks of a bit of a different syntax from the "Native" one is something I'm a bit scared of but I'll have to see how it handles when I get there.
As for supporting the custom elements built with Solid, I think it would be beneficial for both parties is the team supporting solid-element provided a way of generating a Custom Elements Manifest for those components.
One approach towards that would be to create a plugin that plugs into the CEM Analyzer, that would be able to analyze those solid-element files.
The Language Server bases 95% of it's decisions on the data provided by the Custom Elements Manifest, therefore being able to query a CEM for solid elements would make them pretty much "pluggable" into the system with no sweat.
There are some examples on CEM plugins in the "official" repo of the analyzer https://github.com/open-wc/custom-elements-manifest/tree/master/packages/analyzer/src/features/framework-plugins
So in short:

Custom Elements Language Server relies on CEM and the data it provides

Relying on this data makes the LS more library agnostic, and relying on a spec

Solid Element could generate a CEM for it's elements and information, providing immediately pluggable info for CELS.

Support for JSX and solid html tag came in ver 1.0.0.
If you are making custom elements with Solid, we would require a CEM analyzer plugin to analyze them to get the full juice out of them.
If that's on the roadmap, I'd be happy to help


Key mapping for NumPadDecimal

Describe the bug
androidx.compose.ui.input.key.Key doesn't provide a constant for NumPadDecimal.
Affected platforms

Desktop

Versions

Kotlin version*: 1.9.22
Compose Multiplatform version*: 1.6.0
Compose Plugin version: 1.5.12
OS version(s)* (required for Desktop and iOS issues): Win11
OS architecture (x86 or arm64): x86_64
JDK (for desktop issues): 21.0.1

To Reproduce
Steps and/or the code snippet to reproduce the behavior:

Press the decimal key on numpad

fun main() = application {
    minimalApp()
}

@Composable
fun ApplicationScope.minimalApp() {
    Window(onCloseRequest = ::exitApplication,
        onPreviewKeyEvent = {
        if (it.type == KeyEventType.KeyUp) {
            when (it.key) {
                Key.Delete -> println("not triggered") // alternate label on the key
                Key.NumPadDot -> println("not triggered")
                Key.NumPadComma -> println("not triggered")
                Key(KeyEvent.VK_DECIMAL, KeyEvent.KEY_LOCATION_NUMPAD) -> println("Is triggered")
                else -> println(it)
            }
        }
        true
    }) { }
}

Expected behavior
Possible solutions:

Add new constant NumPadDecimal
Add new constant NumPadDelete
NumPadDot or NumPadComma should be triggered (dependend on keyboard layout)

Screenshots
German numpad:

Additional context

German operation system
German keyboard

Duplicate to #4211

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Build fails with electron-forge 5.4.2 (dependency on node-gyp) with vs 2019 Github CI image

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
5.4.2 (npm)
Electron version
6.0.2 (npm)
Operating system
Windows 10 Github Image 2019
Last known working Electron Forge version
5.4.2 with Windows 10 Github Image 2016
Expected behavior
With Github CI image windows_2016 (using vs 2017) build is OK
npm install -g node-gyp
npm config set msvs_version=2017

Actual behavior
With migration to Github CI image windows_2019 (using vs 2019) build fails:
see https://github.com/actions/virtual-environments/issues/5238
npm install -g node-gyp
npm config set msvs_version=2019

An unhandled error has occurred inside Forge:
Traceback (most recent call last):
  File "D:\a\app\app\node_modules\node-gyp\gyp\gyp_main.py", line 16, in <module>
    sys.exit(gyp.script_main())
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/__init__.py", line 545, in script_main
    return main(sys.argv[1:])
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/__init__.py", line 538, in main
    return gyp_main(args)
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/__init__.py", line [51](https://github.com/anynomous/app/runs/5599217426?check_suite_focus=true#step:10:51)4, in gyp_main
    options.duplicate_basename_check)
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/__init__.py", line 98, in Load
    generator.CalculateVariables(default_variables, params)
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/generator/msvs.py", line 1916, in CalculateVariables
    generator_flags.get('msvs_version', 'auto'))
  File "D:\a\app\app\node_modules\node-gyp\gyp/pylib/gyp/MSVSVersion.py", line 434, in SelectVisualStudioVersion
    versions = _DetectVisualStudioVersions(version_map[version], 'e' in version)
KeyError: '2019'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (D:\a\app\app\node_modules\node-gyp\lib\configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
gyp ERR! System Windows_NT 10.0.177[63](https://github.com/anynomous/app/runs/5599217426?check_suite_focus=true#step:10:63)
gyp ERR! command "C:\\hostedtoolcache\\windows\\node\\10.24.1\\x[64](https://github.com/anynomous/app/runs/5599217426?check_suite_focus=true#step:10:64)\\node.exe" "D:\\a\\app\\app\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=4.0.0" "--arch=ia32" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd C:\Users\RUNNER~1\AppData\Local\Temp\electron-packager\win32-ia32\app-win32-ia32\resources\app\node_modules\@eove\vent-com-transport-node-usb\node_modules\@serialport\bindings
gyp ERR! node -v v10.24.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Steps to reproduce
Cannot provide code, but It should reproductible with some open source projects, too.
Additional information
electron-forge 5.4.2 seems to have a dependancy on node-gyp 3.8
node_modules/.bin/node-gyp --version
v3.8.0

cat node_modules/node-gyp/package.json
{
  "_args": [
    [
<EMAIL_ADDRESS>      "/home/user/Github/app"
    ]
  ],
  "_development": true,
  "_from"<EMAIL_ADDRESS>  "_id"<EMAIL_ADDRESS>  "_inBundle": false,
  "_integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
  "_location": "/node-gyp",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw"<EMAIL_ADDRESS>    "name": "node-gyp",
    "escapedName": "node-gyp",
    "rawSpec": "3.8.0",
    "saveSpec": null,
    "fetchSpec": "3.8.0"
  },
  "_requiredBy": [
    "/electron-forge",
    "/electron-rebuild"
  ],
  "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
  "_spec": "3.8.0",

To support VS 2019, node-gyp >= 5.0 is required

Use Electron Forge v6 or install an older version of visual studio on the image.


linearElementPoint-handles pickable but not visible

The linearElementPoint-handles should be rendered on top of the elements.
Below a solid filled element the handle is pickable, but not visible.

Yea, I noticed this and forgot about it.


How to use jsonrpc when I register wss server? Use Freeswitch Verto

Now I the SIP.js in my project to build a softphone application,
when I start to register Wss server , I find some difference between Freeswitch's demo ( picture above ) and SIP.js.
The above demo image use jsonrpc, I can't find the solution in api file ;
Can you give me some help? Thanks.

I am not familiar with jsonrpc, so I can't say whether it works with SIP.js or not. In terms of our documentation, the configuration parameters for setting up a user agent are here: https://sipjs.com/api/0.14.0/ua_configuration_parameters/
And we also have a guide: https://sipjs.com/guides/user-agent-construction/
In the future, please use our google group for questions like these, we like to keep this space for primarily bug requests: https://groups.google.com/forum/#!forum/sip_js


Adds Remix Example

Fixes part of #357

Great work @sonylomo!

Oh hey, @sonylomo, I'm realizing this is missing:
Docs:

Add your example to the top-level README in the ## Component Library Agnostic section

Add your example to the sub-level README in the ## Component Library Agnostic section.

Add your example to our documentation in the docs/ folder

Add your example to the list in the app here: https://github.com/Mirrorful/mirrorful/blob/main/packages/core/src/components/ExportSuccessModal.tsx (screenshot below):

Could you add this? Per the directions in the issue? https://github.com/Mirrorful/mirrorful/issues/357 Thank you!


Setting up GnuPG

On WSL, you can use GnuPG data on the host.

For using subkeys:
https://qiita.com/moutend/items/5c22d6e57a74845578f6
For using ECC keys:
http://text.baldanders.info/openpgp/using-ecc-with-gnupg/

Use Yubikey related settings.

Subkeys: done.
ECC keys: done.
Yubikey: postpone until new machine with usb-c.
forwarding of gpg-agent: done

gpg public keys setting for clients is needed.
gpg secret keys setting for hosts (currently WSL ones) are needed.

gpg public keys setting for clients is needed.
gpg secret keys setting for hosts (currently WSL ones) are needed.


Get rid of deprecated division of thests into Dasharo modules

Dasharo modules concept was never correctly described nor introduced in a consistent way. Despite that, it is widely used. We should educate ourselves on the practices of test organization and apply that methodology, especially if some or all of those tests will drive product development.
My expectation is to stop using modules:

dasharo-compatibility,
dasharo-security,
dasharo-performance,
`dasharo-stability

And creation of structure for test division which better express segments of functionalities which Dasharo support.

Do you have any concrete ideas in mind how it can be improved?

It originates from here: https://docs.dasharo.com/value-prop/compatibility/ and even before

Is this issue still relevant at this time? Currently, there is a bit of chaos within the test directories. Similar subjects are split into multiple directories, or even files within them, for example, TPM tests are split into dasharo-security/tpm-support.robot, dasharo-security/tpm2-commands.robot, dasharo-stability/tpm-detect.robot dasharo-stability/tpm-detect-heads.robot


Filter instances by tags

OCI supports tagging for different resources.
Tag is made of namespace-key-value, and can group for example several instances as a cluster, or determine wether an instance is for prod or test env.
This is why it will be useful to have a filter that will get more specific instances from what the plugin currently enables.

Not just compute instances, but I would also like to do dimensions based on tags of load balancer assets.

Hey, thank you for your response
I don't see where I can use the filter by tag - can you give an example?


added on_disk param to qdrant configs

Description
Added the on_disk param to Qdrant configs, which will enable persistent storage locally.
Fixes #1623
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (does not change functionality, e.g. code style improvements, linting)
[ ] Documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Please delete options that are not relevant.

[ ] Unit Test
[x] Test Script

Test script:
import os
from mem0 import Memory

config = {
    "vector_store": {
      "provider": "qdrant",
      "config": {
        "on_disk": True,
        "path": "./qdrant-db",
        }
    },
}

m = Memory.from_config(config)
result = m.add("I am working on improving my pickle-ball skills. Suggest some online courses.", user_id="Joe", metadata={"category": "hobbies"})
result = m.add("The Tree is on fire", user_id="Joe", metadata={"category": "hobbies"})
all_memories = m.get_all()
print(all_memories)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

@NavyaAlapati13 Thanks for the contribution, this looks good.


Conflicting keys in bblgum opts and the command opts

There could be a scenario when using the higher level API the keys to bblgum could collide with the ones that are intended as opts to the command being executed.
Example: if in the future one of gum's commands has an opt called --in, --as, --gum-path these would collide and they are interpreted as opts to bblgum as of now.
One possible solution could be to namespace them like :bblgum/in, :bblgum/as and :bblgum/gum-path. This could even simplify the opts merging process. Or use the lower level API. It could be a non-intuitive error if user run into the problem first.
cc @licht1stein

Wouldn't it be a premature optimization? It seems gum's api is already stabilized.

Yeah I'm thinking in the future some command could take these options maybe. Let's reopen this when it's needed.


Feature/stereoset

Description
This PR adds StereoSet as a task/dataset to the LangTest library.  This test checks the probabilities of alternative (one stereotypic, one anti-stereotypic) sentences and evaluates the model.
➤ Fixes #729
Type of change

[ ] New feature (non-breaking change which adds functionality)

Usage
Tutorial Notebook:
harness = Harness(
    data={"data_source":"StereoSet"},
    model={"model":"bert-base-uncased", "hub":"huggingface"},
    task="stereoset",
    config={
    "tests": {
        "defaults": {
            "min_pass_rate": 1.0
        },
        "stereoset": {
            "intersentence": {
                "min_pass_rate": 0.70,
                "diff_treshold":0.15
            },
            "intrasentence": {
                "min_pass_rate": 0.70,
                "diff_treshold":0.1
            },
        }
    }
})

Checklist:

[x] I've added Google style docstrings to my code.
[x] I've used pydantic for typing when/where necessary.
[x] I have linted my code
[ ] I have added tests to cover my changes.

Screenshots (if appropriate):

@alytarik add notebook. Also explain the evaluations in the description.


Get-ChildItem -Path $null does not throw an error

Steps to reproduce
Get-ChildItem -Path $vardoesnotexist
Get-ChildItem -Path $null

Expected behavior
Get-ChildItem : Cannot bind argument to parameter 'Path' because it is null.

Actual behavior
Get-ChildItem is ran against the current working directory

Environment data

Name                           Value
----                           -----
PSVersion                      6.1.2
PSEdition                      Core
GitCommitId                    6.1.2
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

This can cause expected results on a script based on whatever CWD happens to be at the time.
The problem also exists in 5.1

One of the side effects of this bug could be to delete your system.
That is exactly what happened when I refactored my code
From :
Get-ChildItem -Path C:\SourceCodeTLM\testRunResults-Include * -File -Recurse | foreach { $.Delete() }
To:
$testRunResults= "C:\SourceCodeTLM\testRunResults"
Get-ChildItem -Path $testRunResults-Include * -File -Recurse | foreach { $.Delete() }
and forgot to initialise the variable while doing a debug. In the worst case, I expected an error but instead the cmd ran and started deleting my current dir content (Which by default was PS C:\windows\system32>).  Before I could understand what happend and press ctrl+c enough files were deleted to delete my system. I had to restore and much of my work was lost. May be giving an error or keeping this parameter (not optional) would be better from a risk standpoint :).

The parameter doesn't need to be mandatory to prevent null input.
We can tag it with [ValidateNotNullOrEmpty()] and PS should still allow no input to be provided. However, if a value is provided that is $null, an error will be thrown.


Rector on Security Group with using neutron and nova

Motivation
The security group in nova will deprecate in 2.35 So, it is necessary for us to refactor it so that the security group would create with using neutron rather than nova
Description
Currently, I have it working with this PR and a small modification in libcloud. However, I am still considering a better way of doing this since it is not ideal to modify the source code of libcloud.
The creation of security group and "set rules" are purely OpenStack API(s). However, launching instance currently is still libcloud. In other words, libcloud has to pick up the security group and assign it to the instance. This is the reason why we still depend on liblcoud.
Update March 9th:
okay, so I uncommented my change in libcloud and this PR doesn't work due to that. Since even though we have security_group created by neutron, we still need to use liblcoud to have the security_group assigned to the instance. In other words, it is expecting a libcloud security group class but we only have a neutron object (or even None) here.
And like what we have done for the floating_ip So far, libcloud hasn't supported neutron yet. It is still using nova That's why I modified the source code of libcloud to "cheat".
The only solution that I could come up with now is to assign security group to an instance with using neutron as well. Just like the task of assigning floating_ip. Make it independent with libcloud so we don't have to modify libcloud.
Update March 13th:

[x] Refactor that we don't have to change the source code of libcloud

Update March 23th:

[x] Fix CI errors and ready for review

Next Step:

[ ] Review

Working on the CI now. Need to have a better way of handling the DICTs.

Need to make this completely independent with libcloud. Use nova to assign security groups instead.

user_nova= network_driver.nova
server_instance = nova.servers.get(instance_alias)
server_instance.add_security_group(security_group_name)

No need for unit test for this PR since only uses neutron and nova api. And added try/except block to prevent uncaught exceptions.

see the comment above

I will give you a pass this time.  However there should be some way to test this in the future.

@kamfonik  Thanks, and I will make sure to use find() in the get_or_create()


fix: add mat exportAs and class aliases

Caretaker note: when syncing this, we need to remove the transformation that adds the mat exportAs aliases and blacklist mat-exports.ts from import


filter_by() got an unexpected keyword argument 'base'

   Data failed to compile:
----------
    Rendering SLS "base:nfs.mount" failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/salt/utils/templates.py", line 77, in render_tmpl
    output = render_str(tmplstr, context, tmplpath)
  File "/usr/lib/python2.7/dist-packages/salt/utils/templates.py", line 169, in render_jinja_tmpl
    output = jinja_env.from_string(tmplstr).render(**unicode_context)
  File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "<template>", line 1, in top-level template code
  File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 1013, in make_module
    return TemplateModule(self, self.new_context(vars, shared, locals))
  File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 1070, in __init__
    self._body_stream = list(template.root_render_func(context))
  File "/var/cache/salt/minion/files/base/nfs/map.jinja", line 15, in top-level template code
    {% set nfs = salt['grains.filter_by'](map, merge=salt['pillar.get']('nfs:lookup'), base='default') %}
TypeError: filter_by() got an unexpected keyword argument 'base'

salt-master --version
salt-master 2015.8.3 (Beryllium)
salt '*' test.versions_report
           Salt: 0.17.5
         Python: 2.7.6 (default, Jun 22 2015, 17:58:13)
         Jinja2: 2.7.2
       M2Crypto: 0.21.1
 msgpack-python: 0.3.0
   msgpack-pure: Not Installed
       pycrypto: 2.6.1
         PyYAML: 3.10
          PyZMQ: 14.0.1
            ZMQ: 4.0.4

Things seems to work after I removed the , base='default' in the formula.

The issue is +2yr old, and map.jinja has been refactored. Closing.


Add SPM Support

Done ✅

Done ✅

.../SourcePackages/checkouts/Insomnia/Package.swift: https://github.com/ochococo/Insomnia has no Package.swift manifest for version 2.0.0 in https://github.com/ochococo/Insomnia

@uniqby you are correct, forgot to release version for SPM. Will be added in tag 2.0.1, stay tuned. Thank you!

Done.


Lure encoding fix

Short Description:
Undo encoding and format to unicode.
Make it consistent with move_to_fort.py
Fixes:

UnicodeDecodeError: 'ascii' codec can't decode ....

This closes #2718, #2686, #2678, #2677, #2641 and possibly #2722

UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128)
2016-08-07 02:38:24,915 [sentry.errors.uncaught] [ERROR] [u'OSError: dlopen(encrypt.so, 6): image not found', u'  File "pokecli.py", line 500, in ', u'  File "pokecli.py", line 129, in main', u'  File "pokecli.py", line 138, in report_summary', u'  File "pokemongo_bot/metrics.py", line 76, in capture_stats', u'  File "pokemongo_bot/api_wrapper.py", line 106, in call', u'  File "pokemongo_bot/api_wrapper.py", line 63, in _call', u'  File "pgoapi/pgoapi.py", line 210, in call', u'  File "pgoapi/rpc_api.py", line 85, in activate_signature', u'  File "ctypes/init.py", line 443, in LoadLibrary', u'  File "ctypes/init.py", line 365, in init']

@sandroid10 please do not comment the error here. This is a place for code review and errors should be placed in the issues tab.

@dkim1000 Is there some piece of information that is pointing you to this specific encoding call being the problem? I don't see it in the stack trace and we do this kind of thing in a bunch of places.

Fix worked for me to fix my issue #2718
Thanks

Please merge this, couldn't work without it !

@TheSavior I had to look at the information being printed out. It always failed when a pokestop had special characters in it.
The exception is being caught in pokecli.py but no where else (which I think is a problem). This is why we always get the stacktrace pointing to pokecli.py

By popular demand, I'm merging this. :)


Update release to update market place without manual step

Description
https://github.com/digitalocean/marketplace-partners#update-your-app-image-via-api

Done, but failing.


unable to subscribe to topic with MarkerArray messages under ROS 2 Galactic

I'm trying to use the Marker plugin with a Mapviz install under ROS 2 Galactic to display MarkerArray messages, but am getting the following error:
[mapviz-1] [ERROR] [1648669993.058815599] [mapviz]: Unhandled RCLError in Qt event loop: could not create subscription: failed to create topic, at /tmp/binarydeb/ros-galactic-rmw-cyclonedds-cpp-0.22.4/src/rmw_node.cpp:2552, at /tmp/binarydeb/ros-galactic-rcl-3.1.2/src/rcl/subscription.c:105

I had an earlier installation of Mapviz under ROS 2 Eloquent that was able to subscribe to the same topic and messages I'm attempting to visualize under Galactic. I reran colcon build on the publisher package under Galactic and confirmed that the messages were publishing with the command ros2 topic echo /poi_marker_array visualization_msgs/msg/MarkerArray. Any thoughts on whether this is a problem with Mapviz or with my publisher, or additional troubleshooting tips?

Sorry for such a late reply, but this appears to be caused by multiple subscriptions with different names:
https://github.com/swri-robotics/mapviz/blob/ros2-devel/mapviz_plugins/src/marker_plugin.cpp#L126
I tested this by commenting out the Marker subscription and was able to subscribe to MarkerArray. This will likely need to be handled in a different way than it currently is (potentially just by looking up they type of the topic)


Integration with Peer Sharing

Integration with https://github.com/input-output-hk/ouroboros-network/pull/4019

I dropped the stylish-haskell changes; this CI check is not enforced.

This needs This needs #5160 to unbreak master first.

#5160 was just merged 🥳

I addressed 2/3 hlint complains; I left one for two reasons: I prefer explicit arguments over eta reduction, and it wasn't introduced in this PR.

I also rebased the branch, everything still compiles locally.

Thank you for addressing this while I was out @coot ! Hurray!


encrypt data at-rest

This PR add encryption for data at-rest.

Would it be possible to use an ECC-based algorithm instead of RSA for improved performance? 👀

@angristan Currently, RSA is only used to encrypt the secret per object (about 1ms per object), there is still some room to improve. Can you provide more details on ECC-based algorithm?


addMedia of type='online' not working?

I have created a pptx using the library and am trying to include and embedded youtube clip in the presentation.
let pptx = new PptxGenJS();
let videoSlide = pptx.addNewSlide();
videoSlide.addMedia({
    type: 'online',
    link: 'https://www.youtube.com/embed/Dph6ynRVyUc',
    x: 0,
    y: 0,
    w: slideWidth,
    h: slideHeight
});
pptx.save(filename);

This creates a presentation with and error

After accepting this error, the media object is empty with the message "The picture can't be displayed." Also it seems to have overridden slide masters previously created. Is this no longer working properly or have I added the online media object incorrectly?

Hi @lndev1,
Thanks for reporting this.
The preview image (a circle-triangle play-button type png) was missing for online videos, hence the "picture can't be displayed" error.
I've fixed the preview image so it's no longer broken (YouTube would still play correctly in presentation mode).

YouTube Notes:

YouTube videos only work in PowerPoint online (Office 365)
The videos only show in presentation mode (a tooltip hint appears on hover saying as much)


Update migration guide

Summary
Updated migration guide to fix spelling errors.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.635%

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
4365

Relevant Lines:
4816

💛  - Coveralls


chore: rename messages_gKt

Description
Resolves #63

@defuncart published as part of 1.2.7. Thanks for your contribution.


It is unclear how a user should configure LD_LIBRARY_PATH after pip install tensorflow[and-cuda]

Issue type
Build/Install
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
v2.16.1-0-g5bc9d26649c 2.16.1
Custom code
No
OS platform and distribution
Debian GNU/Linux 12 (bookworm)
Mobile device
No response
Python version
3.9.19
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
See below
GPU model and memory
n/a
Current behavior?
Overview
It is unclear how a user should manage the CUDA dependencies installed with pip install tensorflow[and-cuda].
LD_LIBRARY_PATH is used to load CUDA libs.  However, the install/install docs do not tell the user how to add the installed CUDA libs to the LD_LIBRARY_PATH.  I had to add every venv/python*/site-packages/nvidia/<name>/lib the  LD_LIBRARY_PATH, since the linker does not recursively search a directory.
Dependencies

Container CUDA RuntimeVersion: 12.3
CUDA Diver Version (what is linked by nvidia-smi - a nuance of containerized NVIDIA): 12.2
Misc other NVIDIA dependencies installed with [and-cuda]: https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/tools/pip_package/setup.py#L174

Final Note
I might be missing something obvious.  But my impression is that the process required to use the pip installed CUDA dependencies is a bit involved and not documented.  I would appreciate any insight your teams' expertise can provide here!  Thank you!
Standalone code to reproduce the issue
======================== Dockerfile ========================
FROM python:3.9

ENV NVARCH=x86_64
ENV NVIDIA_VISIBLE_DEVICES=all
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH}
ENV NVIDIA_REQUIRE_CUDA "cuda>=11.6, arch<9,driver>=450"

WORKDIR /app
ENV PATH /app/venv/bin:${PATH}
RUN python3 -m venv /app/venv && \
    pip install --upgrade pip setuptools wheel

RUN pip install tensorflow[and-cuda]

COPY entrypoint.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

======================== entrypoint.sh ========================
#!/bin/bash
set -e
set -o xtrace

# Uncomment for solution.
# The LD_LIBRARY_PATH cannot have nested directories, so I link each pip installed nvidia lib.
#export LD_LIBRARY_PATH=$(find /app/venv/lib -type d -path "*/python*/site-packages/nvidia/*" -prune -exec printf ':%s/lib' {} +):${LD_LIBRARY_PATH}

LD_DEBUG=libs python -c "import tensorflow as tf; print(f'Devices List: {tf.config.list_physical_devices()}')"

======================== command line from host ========================
docker build -t tensorflow-test .
docker run --gpus all tensorflow-test:latest

Relevant log output
# ======================== logs when LD_LIBRARY_PATH isn't properly set ========================
+ python -c 'import tensorflow as tf; print(f'\''Devices List: {tf.config.list_physical_devices()}'\'')'
2024-04-16 13:49:18.866268: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-16 13:49:20.778286: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
2024-04-16 13:49:22.322541: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2251] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
Devices List: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')]

# ======================== logs when LD_LIBRARY_PATH is properly set ========================
+ LD_LIBRARY_PATH=:/app/venv/lib/python3.9/site-packages/nvidia/cudnn/lib:/app/venv/lib/python3.9/site-packages/nvidia/cuda_cupti/lib:/app/venv/lib/python3.9/site-packages/nvidia/cufft/lib:/app/venv/lib/python3.9/site-packages/nvidia/nccl/lib:/app/venv/lib/python3.9/site-packages/nvidia/__pycache__/lib:/app/venv/lib/python3.9/site-packages/nvidia/cublas/lib:/app/venv/lib/python3.9/site-packages/nvidia/nvjitlink/lib:/app/venv/lib/python3.9/site-packages/nvidia/cuda_runtime/lib:/app/venv/lib/python3.9/site-packages/nvidia/cuda_nvrtc/lib:/app/venv/lib/python3.9/site-packages/nvidia/cusolver/lib:/app/venv/lib/python3.9/site-packages/nvidia/cuda_nvcc/lib:/app/venv/lib/python3.9/site-packages/nvidia/curand/lib:/app/venv/lib/python3.9/site-packages/nvidia/cusparse/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:
+ python -c 'import tensorflow as tf; print(f'\''Devices List: {tf.config.list_physical_devices()}'\'')'
2024-04-16 13:50:41.598098: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-16 13:50:43.546095: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Devices List: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:1', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:2', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:3', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:4', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:5', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:6', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:7', device_type='GPU')]

@jackhart We had a long discussion about it and figured it out: https://github.com/tensorflow/tensorflow/issues/63362
It's a path issue. Supposedly, there's a pull request where this gets fixed either in 2.16.2 or 2.17.

@jackhart it seems practically impossible for someone owning a PC with CUDA-enabled GPU to perform deep learning experiments with TensorFlow version 2.16.1 and utilize his GPU locally without manually performing some extra steps not included (until today) in the official TensorFlow documentation of the standard installation procedure of TensorFlow for Linux users with GPUs at least as a temporal fix! That's why I submitted the pull request in good faith and for the shake of all users as TensorFlow is "An Open Source Machine Learning Framework for Everyone".
Hope that the next patch version of TensorFlow will fix the bug as soon as possible!
https://github.com/tensorflow/docs/pull/2299

I am having an incredibly frustrating experience. I followed the exact steps outlined here, and despite my best efforts and hours of searching I keep getting TF-TRT Warning: Could not find TenorRT.
I keep reading something about the LD_LIBRARY_PATH however I cannot find an obvious fix especially as I am using a python venv! I miss the days when tf-gpu worked on windows. This is pushing me to pytorch because I am exhausted trying different commands and path configurations to no avail. Why is it so difficult to use my GPU with Tensorflow?

I am having an incredibly frustrating experience. I followed the exact steps outlined here (https://www.tensorflow.org/install/pip), and despite my best efforts and hours of searching I keep getting "Cannot dlopen some GPU libraries" .. "Skipping registering GPU devices...".
I keep reading something about the LD_LIBRARY_PATH however I cannot find an obvious fix especially as I am using a python venv! I miss the days when tf-gpu worked on windows. This is pushing me to pytorch because I am exhausted trying different commands and path configurations to no avail. Why is it so difficult to use my GPU with Tensorflow?

@Edfrost321 a revised document addressing the issue of TensorFlow installation for Linux users with GPUs is pending review. Here is the link: https://github.com/sgkouzias/docs/blob/patch-1/site%2Fen%2Finstall%2Fpip.md
I hope it helps!

Hi @jackhart ,
Sorry for the delay, discussion is going on belongs to this issue already #63362 , #2299. Once we get update, let you know.
Thank you!

@sgkouzias
That's a huge help, thank you!

Thank you! Closing.


[apptools] Update '--platforms' to '--platform' for apptools

Impacted tests(approved): new 0, update 54, delete 0
Unit test platform: [Android]
Unit test result summary: pass 54, fail 0, block 0
https://crosswalk-project.org/jira/browse/XWALK-5909

LGTM


Highlight the new "Manage Organization" features in docs

Now that Zulip has a web UI for configuring org-level setttings like name, description, and logo, it would be good to highlight how this works in the docs. Some specific ideas:

Include an overview of org-level config in https://zulipchat.com/help/getting-your-organization-started-with-zulip

Add inline docs indicating that the org "description" can be Markdown

Yeah, this would be a great improvement.  Tagging it as a priority because this is a new and valuable featureset that would be great to have more clearly documented.

@zulipbot claim
Will submit a PR tomorrow!


Vertical scroll on mobile

Using the following options:
new ScrollBooster({
    viewport: scrollCanvas,
    scrollMode: 'transform',
    direction: "horizontal'
});

Scrolling the page on the Y axis with drag doesn't work, because the viewport catches the events. The users cannot scroll the page on the Y axis, if the canvas occupies the whole screen on mobile.
I can provide an example of a page where the correct behaviour can be observed (our services section): https://www.instrument.com/what-we-do/
The possible fix is to check the first pointer drag event. If it's not in the same direction as the configured direction, then do nothing. Perhaps a more robust solution is to calculate the angle of the two lines and apply a threshold.

Hello! Thank you for suggestion. I might implement it in the future, for now I added a new property pointerDownPreventDefault to disable window scroll lock on mobile

Thank you @ilyashubin !

pointerDownPreventDefault doesn't work well when dragging with mouse, it is highlighting text, selecting ghost images, etc.
Do you have any suggestions? Or maybe implement this property just for touch events and not mouse events also..

@ilyashubin i have a suggestion, it's better to turn pointerDownPreventDefault  off when viewport stop scrolling else keep it on; so it would works perfectly


bug-invalid_tree_root

@Drakulix I've started on this, but may not be able to finish it tonight, feel free to take a look, but this is obviously still in-progress.

@Drakulix I'd like your input on this one (if you don't mind).
I think it's technically done, but the code needs to be cleaned up a bit for sure.  I won't be able to clean it up until tomorrow morning though.

pinging @Drakulix
Alright, I've cleaned it up a bit now.  There is still a little bit of code repetition, but I think it is more readable the way it is.
Let me know your thoughts on this if you have time.  I would especially appreciate it if you looked at the tests that I've added.  I think I covered all of the cases, but a second set of eyes on that would help very much.

Sorry for the late reply. I am quite busy this weekend, but be sure I will happily read through all of this at monday.

No problem at all :) take your time!

Alright, I'm done with this one.
The only thing that remains is to resolve the discussion in #11 because there is a question in there about this method's behavior in one specific scenario (moving down the tree when there is more than one Node directly between the Node being moved and its new "target parent").
Whatever the outcome on that though, it shouldn't be too hard to adjust the current behavior if needed.

I am hugely in favor of your current solution. The second one also makes sense, but it moves to much around. I would claim the solution doing the least modifications to the overall structure of the whole tree is the best.
Disconnecting the trees is far to difficult to express through the API and also certainly not expected.
Code-wise is looks very good, especially the extensive testing is very nice to see. I have not found any errors in this implementation and in the tests, which make me very confident in that statement.

@Drakulix I agree. Less shifting seems more logical.  My only concern now is coming up with the proper wording to describe this behavior very precisely so that it is very clear what this function does.
I almost want to make a small drawing in the docs, but that seems like it's not appropriate.  I'll see if I can come up with some wording that is clear and we can just include a small (ascii-art) drawing as a last resort.
Thanks so much for reviewing this!  I know you said you've been busy and haven't had time lately, but this is very much appreciated!
By the way, feel free to add yourself (name, github link, or whatever you want) to the Contributors section of the Readme in one of your PRs.  You've helped me out very much on this project so far and I would love to recognize you for it (it's totally up to you of course).

Fixes #11
@Drakulix I've updated the documentation for that method.  Please let me know if you think that wording is clear enough to convey the proper message.

The only slightly problematic part is
... the direct child of `A` that is between it and `B` ...

This might be confusing, if B is the direct child itself.
What about:
.. the first child of `A` on the path from `A` to `B` ...

Also I do not think including an additional drawing is a bad idea, even if the wording is clear.
Graphic representations of tree's are always easier to grasp and the same markdown code we use here should work just fine in rustdoc as well.

I like that wording much better. I've made the change.
Also, I tried to include an ascii-art drawing of the tree, but I couldn't get it to render properly.  I think there might be a bug with the behavior listed here because using ```text didn't help at all.  In any case, that can be update later if need be.

Nope, no other issues.
I will try to update #6 in the next days once this is merged.

v0.2.8 has been pushed up to crates.io


[MXNET-11241] Avoid use of troublesome cudnnFind() results when grad_req='add'

Description
The problem of issue #11241 arises because cudnnFind() measures convolution algorithm runtimes with an assumed "output blending parameter" beta of 0.  However, algorithms may have specialized kernels for the beta==0 case, different and faster than the generalized beta kernels.  Should the generalized kernels have issues with the problem size different than the beta==0 kernels, then the algos returned by cudnnFind() might fail when invoked with beta==1 (as it is when the convolution op grad_req='add' argument is present).
The demonstrated problem area involves a large 'c' value of 64K, where for the backprop-to-filter kernel only algo 1 handles the beta==1 case.  CudnnFind() was shown to occasionally return algos 0 or 3 as fastest, and both of these return error 8 "execution failed" when run.
The fix is based on the observation that cudnnGet() returns algo 1 for the backprop-to-filter kernel for the troublesome problem sizes.  Thus,  the fix is to avoid cudnnFind() when grad_req='add' and force use of cudnnGet() instead.  The fix maintains the effectiveness of the caching of algo lookups and convolution op instances, so neither cudnnFind() nor cudnnGet() is called repeatedly.  Deconvolution was similarly updated with this fix.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[X ] Changes are complete (i.e. I finished coding on this PR) [1st commit includes test, 2nd the fix]
[X ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[X ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[X ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

My second commit did not pass because the CI exposed a flaw in the logic of the fix: while cudnnGet() returned the required algo 1 on Volta, it did not for the Maxwell GPUs that were part of the CI cluster.  A third commit narrows the scope of the fix to the observed failure scenarios (grad_req='add' and c>=64K).  The fix is to force the problematic backprop-to-filter kernel to use algo 1 in this case.  The CI failed on this commit as well, but for seemingly unrelated reasons.  Will try an empty commit.

do you mind rebase on mxnet master and see if CI works?


Custom parser options

Thank you for the great extension! It really helps!
So, I need to parse some custom markdown tokens from own tokenizer extension. I can add functions to custom renderer but is there an option to make parser recognize new token types?

What are you trying to parse here besides the usual?

I have keyword that indicates following block should be wrapped into my component. And I need to handle this keyword in parser to properly set token type.

Hi, Currently the parser accepts only tokens that are parsed by marked. See https://github.com/sibiraj-s/marked-react/blob/6fbd187307fea86d0b65de58d4510627e4534bba/src/Markdown.ts#L39-L41
I'am open to suggestions to solve this, if marked allows to extend and parse into custom tokens, we could allow here as well. Why not.

I wondered for a while what you might be able to do here. Reading the documentation, you can see - we need to define a custom object as shown in the example. Maybe you can expose the lexar variable to the client in order to return a custom token. I am not completely sure how we go about doing that. Perhaps you can test it :)

Currently I am working something with <Marked instance={customMarkedInstance} /> and planning to support extensions as well but it can be only done after https://github.com/markedjs/marked/pull/2805, because the current @types/marked is messed up and doesn't exactly reflect marked library giving several errors with typescript.
Boy its not easy. I'll try but even if I support extensions, It might help your case, but it might not be possible to provide 100% support for extensions, as the renderer part in marked returns html and not react elements so it might be omitted

Any updates here?
I think I am running into some related issue.
https://github.com/bent10/marked-extensions/issues/107
It is as if this.lexer is not shared between inline and blocker parser?

Some marked extensions cannot be used, since the renderer is different. Marked extensions returns html and here react component is expected.
You can now to <Markdown instance={your marked instance} to override the default instance which allows some customization.


Add immutable rule to cache-control header

Adds the Cache-Control immutable to the response headers, supported browsers benefit greatly, and unsupported browsers will (should) ignore it safely.

Warnings

:warning:

This PR modified the server but none of the service tests. That's okay so long as it's refactoring existing code.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @Quezler!

  Generated by :no_entry_sign: dangerJS

Not sure about this as it is still experimental, with very limited browser support.

Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.

I think a long max-age is a better way to handle this. What if we tweak the svg?


Fix stack overflow on assembly resolution

Well .... this is embarrassing ... as I have said before our build is dependent on a very old build of the coreclr for testing.
We had a bug based on a badly implemented LoadContext (Sorry about that ... all my fault), that works on this very old coreclr but was fixed soon after ... only .... well  we couldn't update at that time.  On a fixed coreclr this old bad but working code becomes a stack overflow.  Because I believed it only impacted fsi.exe, and there is a lot more I want to do for that tool I wasn't in any rush to fix it --- bad descision because it also impacts TypeProviders which I forgot about.
Anyway ... because we still need to use the old coreclr for a bit longer ... only for testing of course ...  the fix here tests to see if the mscorlib is of a very specific version ... the one we use for testing.  We do the old thing ... if instead it is any other version in existence we do the right thing.
Anyway please don't hate on me ... I am doing plenty of that myself.  I wish that I was smart enough to come up with a good excuse that blamed others but this one was all on me ...
Fixes: #3658

@dsyme @xenocons , do either of you have a repro to test.  This fixes the issue that I know of but that one doesn't use a TP.
Thanks
Kevin

Hi Kevin, We all have bugs :)
I have difficulties to compile fsharp on netcore 2 with debian at the moment, however as a repo:
dotnet /usr/share/dotnet/sdk/2.0.0/FSharp/fsc.exe --noframework -r:/usr/share/dotnet/sdk/NuGetFallbackFolder/netstandard.library/2.0.0/build/netstandard2.0/ref/mscorlib.dll -r:/usr/share/dotnet/sdk/NuGetFallbackFolder/netstandard.library/2.0.0/build/netstandard2.0/ref/System.Runtime.dll -r:/usr/share/dotnet/sdk/NuGetFallbackFolder/netstandard.library/2.0.0/build/netstandard2.0/ref/netstandard.dll -r:/home/xenocons/.nuget/packages/sqlprovider/1.1.11/lib/FSharp.Data.SqlProvider.dll test.fs

test.fs can be anything, and the bug occurs with the inclusion of sqlprovider (you will need to modify the path in the above command). For anyone else reading this links to https://github.com/Microsoft/visualfsharp/issues/3654

Great to have this fixed. If it unblocks development of type providers for .NET Core I'll be very very happy

Okay this addresses the stack overflow report.  However it moves the cheese down the line a bit:
There are two further issues from this:

when building f# with the dotnet/cli f# somehow ... I don't know how picks the dotnet/cli from the path.

c:\temp\repro>c:\microsoft\visualfsharp\Tools\dotnet20\dotnet.exe build /v:normal

   ... a ton of logging elided

         C:\Program Files\dotnet\sdk\2.0.2-vspre-006949\FSharp\RunFsc.cmd -o:obj\Debug\netcoreapp2.0\repro.dll

ProvidedType definition doesn't implement IReflect.

C:\microsoft\visualfsharp\tests\testbin\release\coreclr\FSC>C:\microsoft\visualfsharp\Tools\dotnet20\dotnet C:\microsoft\visualfsharp\Tools\dotnet20\sdk\2.0.0-preview2-006502\FSharp\fsc.exe @c:\temp\repro\repro.rsp
Microsoft (R) F# Compiler version 4.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

error FS3033: The type provider 'FSharp.Data.Sql.SqlTypeProvider' reported an error: Unable to cast object of type 'ProviderImplementation.ProvidedTypes.ProvidedTypeDefinition' to type 'System.Reflection.IReflectableType'.

error FS3020: One or more errors seen during provided type setup

is a dotnet sdk issue not ours :-)

@dotnet-bot test Windows_NT Release_ci_part2 Build  please

@KevinRansom could you confirm if the point 2. that you raised above would be remediated by implementing IReflectableType on https://github.com/fsprojects/FSharp.TypeProviders.StarterPack ?

@xenocons
I have been looking at it and am kind of confused.  It is possible to GetTypeinfo() from a Type despite Type not implementing IReflectableType.  So I need to understand why the runtime is failing to do it.
On CoreClr type doesn't implement IReclectableType.
CoreClr type

Anyway ... working on it ...

@dsyme we can't implement IReflectableType because TypeInfo does not have a public constructor.  I think this may be a reference assemblies thing.  But I am still worrying about p2p refs right now.

@dsyme, @brettfo, @cartermp, @Pilchie
I had another chat with Immo.  This is clearly a bug in the framework and it is unclear how it can be fixed.  Type extensibility by deriving from Type is incompatible with reflection using TypeInfo.

The most correct fix would be to make the TypeInfo() constructor protected or public, allowing us to implement a TypeInfo() which would then delegate to the generated type.  However, there exists no dotnet runtime anywhere with that public, so it would be somewhat limited in terms of reach.

What we will do is this ... build the compiler for netcoreapp2.0 and ensuring that we don't use GetTypeInfo().  This will mean that either ...
we enable build for both netcoreapp2.0 and FSharp.Core 1.0 or we stop shipping with dotnet/cli 1.1.*

Given that VS now has a dotnet core 2.0 install, I doubt the dotnet core 1.0 release matters much to us now.
Obviously all of the usual Kevin is embarrassed about this excuses spring to the fore here.  I don't believe we use GetTypeInfo in FSharp.Core so I think we can stick with a NetStandard 1.6 FSharp.Core.dll


Created using Colaboratory

I've added the DKL notebook for molecules to the contrib.

I've updated the notebook with additional comments for the major blocks.


feat: introduce styles package

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


exit with code 1, when flow is failing

fixes #147
TODO: Implement a CLI/configuration option for this

__tests__/integrations/cli/test-badge-reporter.js
-   // Expect flow-coverage-report to exit with 2 on low coverage.
-    expect(exitCode).toBe(2);
+   // Expect flow-coverage-report to exit with 1 on flow error.
+    expect(exitCode).toBe(1);


Live tests are failing with chai 4.4.0

after recent rush full update, running tests on .js input files is broken because of the ?? syntax in chai 4.4.0, which isn't supported by esm package.

we removed esm dependency


codeblocks: ad libX11 build dependency to fix 16.03 hydra build

Things done:

[X] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[X] NixOS
[ ] OS X
[ ] Linux

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

http://hydra.nixos.org/build/33296816/nixlog/1

Travis failure is due to exceeding the log length, this looks ok to me.

It would make a bit more sense if this was posted against a branch where the error actually exists, tho


How could I format .vue files?

You could take a look at https://www.npmjs.com/package/vue-formatter
and write your own formatter definition for it.
If you like, you can then provide a pull request here with your definition added to the defaults, such that other people may benefit from your definition.


A check fail can be triggered in TridiagonalSolve

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
Yes
Source
binary
Tensorflow Version
2.13.0-dev20230331
Custom Code
No
OS Platform and Distribution
Linux Ubuntu 20.04
Mobile device
No response
Python version
3.10
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
CUDA 11.8
GPU model and memory
No response
Current Behaviour?
The following code can trigger a crash in `tf.raw_ops.TridiagonalSolve` due to check-fail in the latest version of TensorFlow.

Standalone code to reproduce the issue
import tensorflow as tf
with tf.device("GPU:0"):
    partial_pivoting = True
    perturb_singular = False
    diagonals = tf.complex(tf.random.uniform([2, 13, 0, 13,<PHONE_NUMBER>98382018], dtype=tf.float32, minval=-1024, maxval=1024),tf.random.uniform([2, 13, 0, 13,<PHONE_NUMBER>98382018], dtype=tf.float32, minval=-1024, maxval=1024))
    rhs = tf.complex(tf.random.uniform([15, 15, 12, 1, 10, 16], dtype=tf.float32, minval=-1024, maxval=1024),tf.random.uniform([15, 15, 12, 1, 10, 16], dtype=tf.float32, minval=-1024, maxval=1024))
    res = tf.raw_ops.TridiagonalSolve(
        partial_pivoting=partial_pivoting,
        perturb_singular=perturb_singular,
        diagonals=diagonals,
        rhs=rhs,
    )

Relevant log output
2023-04-01 16:22:38.864472: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-04-01 16:22:38.915491: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-04-01 16:22:39.745143: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
2023-04-01 16:22:41.321428: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1635] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 14561 MB memory:  -> device: 0, name: Tesla V100-PCIE-16GB, pci bus id: 0000:2f:00.0, compute capability: 7.0
2023-04-01 16:22:41.585403: F tensorflow/core/framework/tensor_shape.cc:201] Non-OK-status: InitDims(dim_sizes) status: INVALID_ARGUMENT: Encountered overflow when multiplying 13 with<PHONE_NUMBER>98382018, result: -7305677791930585382
Aborted (core dumped)

@sachinprasadhs I was able to replicate the issue on colab using TF v2.12 and tf-nightly(2.13.0-dev20230403), please find the attached gists. Thank you!


Add DynamoDB Streams Lambda input

Hi @Jeffail, as promised I am releasing the input source I did for DynamoDB Streams running in a Lambda.
The setup is quite straightforward:

Enable Streaming in the DynamoDB table
Compile & zip the executable
Properly setup IAM & VPC (if needed)
Create the lambda & add a DynamoDB trigger

This input has no config parameters and it's as simple to use as:
input:
  type: dynamodb_streams_lambda

In my setup I use environment variables to pass the configuration, it should be possible to pass a cli flag containing the config file path (which should be shipped together with the .zip)
This code runs in production and I have tested it with few hundreds events/s.

Hey @asiragusa, thanks! This is very interesting. Your config ticket makes a lot more sense to me now. I think rather than having lambda invocations exist as an input type this might be better suited as a separate distribution of Benthos that specializes in this type of deployment. I'm going to create a ticket for dumping my thoughts about this.

Hey @asiragusa, I'd like to proceed with the approach we have in https://github.com/benthosdev/benthos-lambda, for your specific use case here it means you'd need to handle dynamodb events (converting records into messages of a batch) using Benthos processors:
pipeline:
  processors:
  - type: jmespath
    jmespath:
      query: Records
  - type: unarchive
    unarchive:
      format: json_array
  - type: awk
    awk:
      program: |
        {
          metadata_set("dynamodbstreams_event_id", json_get("eventID"));
          metadata_set("dynamodbstreams_event_name", json_get("eventName"));
          metadata_set("dynamodbstreams_event_source", json_get("eventSource"));
          metadata_set("dynamodbstreams_event_source_arn", json_get("eventSourceArn"));
          metadata_set("dynamodbstreams_event_version", json_get("eventVersion"));
          if (json_get("userIdentity") != "null") {
            metadata_set("dynamodbstreams_user_identity_type", json_get("userIdentity.type"));
            metadata_set("dynamodbstreams_user_identity_principal_id", json_get("userIdentity.principalID"));
          }
        }

Ok, looks good. Performance-wise which is the impact of doing this?

It should be negligable, the awk  processor is the highest impact, if your throughput is an issue we can always look at more specialised processors.

I set the metadata in order to filter the messages by eventType, so probably I will be able to avoid the awk processor.
I was thinking about the double json encode/decode, or even to avoid the json encode at all if the message is filtered out later. This could benefit some Benthos pipelines too, but I understand that it can be confusing to work with interfaces in some pipelines and json (or []byte) in others.


Controlbiztalkapp task should report failures

The controlbiztalkapp NAnt task does not always report error messages from the BizTalk object model.  This can cause an app start to appear successful, when in fact the app did not start.  The task should print error messages to the NAnt log and report failure if necessary.
This work item was migrated from CodePlex
CodePlex work item ID: '3211'
Assigned to: 'tfabraham'
Vote count: '0'

[UnknownUser@10/8/2008]
Resolved with changeset 16201.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]


[PECO-1687] Fixed the issue of infinite blocking in case of invalid credentials

Added the error handling for the Invalid Credentials error, that caused the connection retry to be stuck in an infinite loop

@kravets-levko Sure, I will make those changes

@jprakash-db please also remove the .idea folder from this PR

@jprakash-db please also remove the .idea folder from this PR

Removed it @kravets-levko

@jprakash-db Can you please resolve conflicts, so I can merge this PR? Thanks!

@kravets-levko Resolved the merge conflicts

@jprakash-db when you resolved conflicts, I got confused, because I clearly remember that your PR definitely contained a code for handing 401 status. And then, I realized that recently we merged databricks/databricks-sql-python#408 🤦♂ Sorry for asking you to do the job which is no longer needed. Fortunately, such overlaps don't happen often

@kravets-levko Ya, while merging I too saw, that someone had already fixed it 😅


Rebuild for framecpp-3.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

IT turns out we need a new release of ldas-tools-frameapi to support ldas-tools-framecpp 3.x.


Update binary builds to use Mapnik v3.0.6

now targeting in https://github.com/mapnik/node-mapnik/commit/29a32d2e3389bec60747a25c78b71035cf7224b9. Next step is to ensure builds are passing:

[ ] windows binaries are missing currently due to https://github.com/mapbox/windows-builds/issues/62

watching https://travis-ci.org/mapnik/node-mapnik/builds/84198879


ENH: add method to inject rate limiting logic

This is a very quick implementation of what I proposed in #19 .
Still needs tests, typing, and documentation (and better names!), but I think is a reasonable proof of concept.
Closes #19

@tacaswell are you still working on this? I think rate limit is still a problem users face.

I have not had time to come back to this (obviously).  I have been working around this by putting thing like if n % 100 == 0: await sleep(1) in my code.
I can not promise that I will have time come back to this, but it can get pushed up the queue.  I would not be quite happy if someone else took over this PR (or some other implementation).