fix(winpr-json): typos causing make errors

I've tried to compile the latest master changes on a fresh install of PopOS 22.04 LTS running the following:
git clone https://github.com/FreeRDP/FreeRDP.git
cd FreeRDP
mkdir build
cd build
cmake ..

(I had to install a couple of additional packages to be able to move forward)
However, in the end, I ended up with the following error:
/home/User/Test/FreeRDP/winpr/libwinpr/utils/json/json.c:255:16: warning: argument 1 null where non-null expected [-Wnonnull]
  255 |         return nan(NULL);
      |                ^~~

To move forward and get rid of that error, I had to change the return nan(NULL); with return nan("");
After fixing the above error, I've faced another one:
[  8%] Building C object winpr/libwinpr/CMakeFiles/winpr.dir/utils/json/json.c.o
In file included from /home/User/Test/FreeRDP/winpr/include/winpr/json.h:24,
                 from /home/User/Test/FreeRDP/winpr/libwinpr/utils/json/json.c:23:
/home/User/Test/FreeRDP/winpr/libwinpr/utils/json/json.c: In function ‘WINPR_JSON_AddItemToArray’:
/home/User/Test/FreeRDP/winpr/libwinpr/utils/json/json.c:626:22: error: ‘object’ undeclared (first use in this function)
  626 |         WINPR_UNUSED(object);
      |                      ^~~~~~

Looking at the code it seemed like the else statement of WINPR_JSON_AddItemToArray was not aligned "after it was copied" with the func args, so I changed it from:
WINPR_UNUSED(object);
WINPR_UNUSED(name);

To:
WINPR_UNUSED(array);
WINPR_UNUSED(item);

I'm submitting those code changes as I see them as trivial code patches to prevent somebody else from facing the same errors.

@ivelin91 thx for the fixes.
will check next week, jenkins needs some love to run again (currently don´t have full access until back)

@freerdp-bot test


Initial Service Filtering using Spel Expression

This PR includes an initial filter implementation using an SPEL expression.
You can add a filter for your services by setting the property:
spring.cloud.kubernetes.discovery.filter = metadata.additionalProperties['spring-boot']

@spencergibb all comments done!, sorry about the formatting, let me know if there is someone else to change.

Squashed and merged with some polish via a12eef989af9de300634bab0af1d5b9c926d2f2b


Disabled cji smoke tests in pr_check

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[x] Tests update

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] 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
[ ] I run go fmt ./... to check that my code is properly formatted
[ ] I run go vet ./... to check that my code is free of common Go style mistakes

Codecov Report

Merging #426 (1c3d95b) into main (5cff0c4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #426   +/-   ##
=======================================
  Coverage   30.97%   30.97%
=======================================
  Files          31       31
  Lines        3112     3112
=======================================
  Hits          964      964
  Misses       2065     2065
  Partials       83       83

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 5cff0c4...1c3d95b. Read the comment docs.

/retest


only fetch googletest when needed

Currently, googletest is always fetched when building the client, leading to gtest and gmock includes and libraries being installed. However, this dependency is only needed for the examples and the perf client, so it should only be fetched when those are enabled.

Thanks for catching this, Kevin 🙏.


Link to supported OSes

Fixes #8421

@scottaddie Just adding a link here to surface the other Linux OSes supported. I shouldn't bother Sourabh with this.


documented build method is insufficient

Ok, so in the distant past I downloaded a codemirror.js file (version 4.0.4) and was well on my way to using it.  Today I decided I should probably update to the latest version, and apparently it is no longer so easy to start using CodeMirror.
The quickstart is insufficient for me to figure out what I am supposed to do.  Happily I already have node 6.6 installed, but "npm install && npm build" don't look right to me.  I have just enough experience with using npm to know that "install" always requires an argument (and not enough to know what it means when you don't specify an argument).  However, it appears that I can "npm install https://github.com/codemirror/codemirror".  When I do this it actually appears to install correctly under my node_modules subdirectory.
However, I haven't been able to actually build the "lib/codemirror.js" file.  I have tried "npm build" by itself.  This took almost no time to run, and resulted in nothing happening as far as I could tell.  I tried "npm build https://github.com/codemirror/codemirror" but this produced errors as it thought the URL was a sub-directory.  I tried "npm build codemirror" but it seemed to think codemirror was a direct sub-directory so I tried "npm build node_modules/codemirror".   This ran almost instantly with no messages and appears to have done nothing.
So, how do I actually build codemirror?  It would be helpful if the documentation was updated with commands that would actually work.

We use Angular-UI-Codemirror and the codemirror.js file is not being created and hence breaking our builds.

https://github.com/codemirror/CodeMirror/issues/4333#issuecomment-255184832: I think it has to do with #4334

@pselden Is the documented build method making some assumptions about what build process you are using?  I'm not using anything like bower (that I'm aware of), only npm - I'm just literally (trying) following the directions on the main page.

@michael-ts -- if you install via npm -- "npm install codemirror" it will install the pre-built version into your node_modules folder (should have a file at lib/codemirror.js).
It's only if you install via the url directly (or clone from git) that you need to run the build process.
If you do want to run the build process, you'll have to change directories to be inside of codemirror and then run "npm install && npm run build"
(the npm install without an argument tells npm to look at the package.json for dependencies).
However, in your case just run npm install codemirror and see that it's prebuilt

There was a typo in the README, the correct command to build is npm run build. Attached patch corrects this.
As for the bower issues, see #4328

@pselden thanks, the part of having to run it directly in the node_modules/codemirror directory was the big one I wasn't aware of.


Cant uninstall files anymore

Description
I want to reinstall files because i cant update it. thing is i have no uninstaller for files.
Searched for an unstaller with void tools everything.
Tried uninstall with Revo but there files isnt in the list.
Tried manually removing the folder but that operation fails (C:\Program Files\WindowsApps\Files_3......
Tried removing the folder through cmd(admin) but dont have permission.
How to i remove this now?
Steps To Reproduce

Have a messed up installation
Try to remove it

Requirements

Try to uninstall

Files Version
<IP_ADDRESS>
Windows Version
10.0.23585.1001
Log File
debug.log

You can right Files in the start menu > Uninstall


Typo in docker-compose file?

So there is docker-compose file with volumes section:
    volumes:
      - ./:/opt/node_app/app:delegated
      - ./package.json:/opt/node_app/package.json
      - ./package-lock.lock:/opt/node_app/package-lock.lock
      - notused:/opt/node_app/app/node_modules

Is package-lock.lock a typo or not? Because npm lock file actually called package-lock.json.

looks like a typo @kbariotis

Hi there! I submitted a Pull Request to fix it .
I hope it helps to close this!


Implemented spy.returns method

server.isAvailable = chai.spy.returns(true);

expect(server.isAvailable()).to.be.true;

While I love the idea of having a returns method, I wonder if it'd be better on the spy prototype - because we can use it in multiple places then. e.g:
server.isAvailable = chai.spy().returns(true);
// or
chai.spy.on(server, 'isAvailable').returns(true);

expect(server.isAvailable()).to.be.true;

server.isAvailable.returns(false);

expect(server.isAvailable()).to.be.false;

@keithamus I don't like the idea of mutating inner implementation of spy function. If you want to return false just create another spy. That's more clear:
server.isAvailable = chai.spy.returns(true);
expect(server.isAvailable()).to.be.true;

server.isAvailable = chai.spy.returns(false);
expect(server.isAvailable()).to.be.false;

@stalniy a spy is already mutable, that precedent has been set. The spy isn't just a function, it has a prototype, it has .reset() which mutates the state. We're far from the only spy framework to do so (Sinon and Jasmine).
I'm quite comfortable adding .returns() to the prototype. And using spy.on to subsequently override behaviour could also be quite useful.
Thoughts?

@keithamus  I have been thinking about this for a while, for example jasmine has and.returnValue and and.callFake because their spy constructor doesn't accept implementation like yours does. Immutable state is good because you have guarantee that nobody can change it and you protect yourself from writing mess like:
var spy = spy(function() {
  // some complex logic
  return 1;
});
expect(spy() + 1).to.equal(2);

spy.returns(2); // why would somebody overrides my complex logic (single responsibility!)?
expect(spy() + 1).to.equal(3);

spy.returns(3);
expect(spy() + 1).to.equal(4);

People will put in the code too much resetting logic and complexity will grow.
I disagree with jasmine style of spyOn. For example, lets take a look at design:

Chai-spies
Jasmine
Comment

chai.spy.on(foo, 'getBar')
spyOn(foo, 'getBar').and.callThrough();
spy on object method sounds more clear and straightforward than spy on object method and call through. spy on emphasize that I want to spy existing object's method but in jasmine it replaces implementation instead (unclear behavior, there is a difference between what I write and what I get)

foo.getBar = chai.spy.returns(true)
spyOn(foo, 'getBar').and.returnValue(true)
here I want to replace the implementation of method and code tells you about this in the most clear manner. chai-spies - set foo.getBar to chai spy which returns true, jasmine - spy on foo getBar and return value

And again if you want to change method implementation no need to use spy.on just create regular spy, spy.on is a sugar for cases when you want to spy existing object's method (also in the next major version spy.on will return passed object, so you won't be able to write spy.on(foo, 'bar').returns(true)).
I haven't worked with sinon but what I see in chai-spies is clear, simple and the most intuitive implementation of spy framework. So, lets keep it simple and intuitive =)
P.S.: I disagree with having reset method for spy. I can't imagine the proper use case for this, instead of changing spy's state you always can create new one (it's not smth that takes too much memory or time).

any resolution on this? this would be a great feature to have

@stalniy you make some good points. I've merged this for now - because I think this is a pretty safe starting point. It'd be nice to get a good roadmap in place for chai-spies - to properly bikeshed out what we do in situations like these; formulate a kind of "design policy" if you will.


For performance reasons for WSL2, we should put the /src folder in the linux file system.

When using WSL 2, Microsoft recommends you "store your files in the WSL file system".  Maybe instead of having the /src volume in the Windows filesystem, it should be in the Linux file system.  As it is, I've gotten this docker compose setup to work, but a page load takes a long time.
https://docs.microsoft.com/en-us/windows/wsl/compare-versions

Hi, @tkoop Could you please elaborate on this? I am facing slow page loads too. Also, mysql container always exits with code 1.

In docker-compose.yml, I set the volume(s) to be this: ~/src:/var/www/html:delegated
The second part (after the ":") refers to the location in the docker container.  The first part (before the ":"), refers to the location in WSL.  Neither of these point to the Windows file system.  The way I got the page loads to be fast is to do this:  In Windows command prompt, "cd" to your git project/docker-compose directory. Then run the "wsl" command there.  This will bring up the Linux terminal with you in the correct directory.  Then run the "docker-compose up -d site" command from there, from wsl (not from in Windows).  Then if you "cd ~/src", you can navigate to your src directory in your Linux's home folder.  This is where your website will live. If you're using VS Code, you can type "code ." there and bring up VS Code in Windows.
I'm sorry, I can't help you with mysql.  But try setting the volume to be something like this: ~/mysql:/var/lib/mysql  And delete that directory first, so docker can create it.
I've stopped using Windows.  I use Linux Mint now, and everything just works better.

Hey thanks for your reply, I have switched back to Linux (Ubuntu 20.04) as well. Things just work so well natively. Now I use the same dev environment without any problems as well. :smile:

Closing this out, but @tkoop is 100% correct. If you're using WSL2 on Windows, it's highly recommended to put your application and mounted volume on the Linux filesystem. When using the WSL2 terminal, you can find where that filesystem resides at by going to the home directory,  cd ~, and keeping your project anywhere in there.
If you do this, you should notice a decent response time from your local app's dev environment!


How can this be achieved with the client credentials grant type?

I am trying to get API Management to access blob storage using AD authentication. I can't use any libraries because API Management doesn't support this. The example given uses a redirect URI, which my solution doesn't have. I'm trying to use grant_type=client_credentials, and I can get an access token simulating this method with PostMan, but the token returned is rejected with 403 when I supply it on a PUT Blob request. What do you have to do to create the correct token for clients that only support the client credentials grant?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d02de0bf-09d7-a7fc-1b4a-213426e96b2d
Version Independent ID: 36f6c8fe-6bc1-6643-4b66-2c38bcd2e5f0
Content: Authenticate with Azure Active Directory to access blob and queue data from your applications (Preview)
Content Source: articles/storage/common/storage-auth-aad-app.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

Found it. I was missing the x-ms-version header which this documentation does specify, but it's annoying that there is no way of knowing from the response received that this is the problem, not any logic that I am aware of as to why this makes a difference to token validation.

@TWolverson Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@TWolverson - Thanks so much for your feedback.
I've added the necessary information to the article on which you commented, and also provided a link to the full explanation in the REST API. This change should go live today.
Please let us know if there's anything further that we can do.
#please-close


Added Crucible Overlay, Tools action/heat overlay, Lava/waterfall prediction overlay, Border highlighting

Added crucible content and alloy quality calculation and overlay
Added tools action/heat status overlay
Added lava/waterfall action prediction and overlay
Added border highlighting

Other changes:

Includes logical reorganization of the code base
Added and applied checkstyle.xml from runelite/runelite for code style consistency
Rewrote readme. Added images/gifs.

Crucible Alloy Quality (also, border highlight)
Heating/Cooling Prediction

Low/High Heat Warning (also, tools info overlay)

Config Panel

https://github.com/Toofifty/easy-giantsfoundry/assets/30028569/deda2626-0567-45e3-a39f-7421df4135e2
Here you can see it added an extra dunk that wasn't needed. Maybe the acceleration of the temperature change the more dunks you do isn't accounted for?

The "Highlight Alpha" config name suggests that it applies to both the border and the clickbox option but it only applies to the border. Either make it apply to both or rename it to "Border Alpha".

EastGiantsFoundryState.java you can get rid of the commented out code with parseCrucibleText etc
and same file line 41 this method is not called and can be deleted:
public int getBarCount()
{
return client.getVarbitValue(VARBIT_STEEL_COUNT);
}

I would floor this and cast as an integer for display to the player both in game chat and on the crucible overlay

EastGiantsFoundryState.java you can get rid of the commented out code with parseCrucibleText etc and same file line 41 this method is not called and can be deleted: public int getBarCount() { return client.getVarbitValue(VARBIT_STEEL_COUNT); }

The "Highlight Alpha" config name suggests that it applies to both the border and the clickbox option but it only applies to the border. Either make it apply to both or rename it to "Border Alpha".

done!  @pwatts6060


ldd-like functionality?

For https://github.com/probonopd/linuxdeployqt I am looking for a ldd replacement that could show library dependencies independently of the architecture of the currently running system (for cross-compilations). Can elfkit do this or could ldd-like functionality be added to it?

nice project! About time somsone does macdpeloyqt for linux :)
Here's how i do exactly what you need in archon (an image packager for elf binaries):
https://github.com/korhalio/archon/blob/4132ac180fb4b55a858bfa835f28a137a5eaa675/src/build.rs#L27
essentially you iterate through each section, findind the one thats elfkit::types::SectionType::DYNAMIC.
for each entry in that dynamic section, filter out the NEEDED entries. those are what ldd shows.
note that this does of course not work on plugins, but you probably know that.

nice project! About time someone does macdpeloyqt for linux :)

Thanks :-)

Here's how i do exactly what you need in archon (an image packager for elf binaries):
essentially you iterate through each section, finding the one thats elfkit::types::SectionType::DYNAMIC.
for each entry in that dynamic section, filter out the NEEDED entries. those are what ldd shows.

Is there any chance this could be made into a standalone executable that could easily be consumed as a replacement for the ldd command?

note that this does of course not work on plugins, but you probably know that.

Indeed. linuxdeployqt has its own logic for those.

there any chance this could be made into a standalone executable that could easily be consumed as a
replacement for the ldd command?

should be fairly easy to do. do you have any preferred output format?

The same output format as the normal ldd would be preferred, because then it could be used in place of ldd within existing applications that would not need to be changed.
--
By the way somehow I have the feeling that you know a lot about ELF files that could be beneficial to the AppImage project. Among others, we have to deal with glibc backward compatibility issues and are looking for efficient ways to deduplicate, delta-update, and peer-to-peer distribute AppImages (squashfs files containing ELF binaries and ELF libraries...)

i don't have automated stasis builds setup yet, so try this one for now:
ek-ldd.zip
$ ./ldd /bin/bash /usr/lib
/usr/lib/libreadline.so.7
/usr/lib/libncursesw.so.6
/usr/lib/libc.so.6
/usr/lib/ld-linux-x86-64.so.2
/usr/lib/libtinfo.so.6
/usr/lib/libdl.so.2

ldd needs to be able to find the libraries for recursive lookup, so add your sysroots library paths as additional arguments. Let me know if you prefer a different method
--
i quickly had a look at appimage and it definitely is the right idea. this should help alot of companies create better packages, especially for proprietary games.
I'll be happy to answer any questions you have on ELF, linking, loading etc. My company korhal.io is located in Berlin/Ritterstrasse. my email is<EMAIL_ADDRESS>. Drop me an email if you want to hang out. We do some pretty wild stuff that probably aligns well with app-image.

Thank you very much for this super useful tool. Do you think you could make it observe /etc/ld.so.conf to figure out the library paths? (Not a big thing otherwise, I am sure I could script around it.)
# This crashes:
$ Downloads/ldd /bin/bash
thread 'main' panicked at 'unable to find dependcy libtinfo.so.5 in ["/lib", "/usr/lib"]', bin/ldd.rs:43:12
note: Run with `RUST_BACKTRACE=1` for a backtrace.

# This works:
$ Downloads/ldd /bin/bash /usr/lib/x86_64-linux-gnu/ /lib/x86_64-linux-gnu/
/lib/x86_64-linux-gnu/libtinfo.so.5
/lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
/lib/x86_64-linux-gnu/libdl.so.2

So one needs to pass in the paths to libraries (which one can determine from parsing /etc/ld.so.conf).
The next example is a bit harder as it requires knowledge of ELF internals - any chance you could make it work?
$ Downloads/ldd /usr/bin/pulseaudio  /usr/lib/x86_64-linux-gnu/ /lib/x86_64-linux-gnu/
/lib/x86_64-linux-gnu/libsystemd.so.0
(...)
thread 'main' panicked at 'unable to find dependcy libpulsecore-8.0.so in ["/usr/lib/x86_64-linux-gnu/", "/lib/x86_64-linux-gnu/"]', bin/ldd.rs:43:12
note: Run with `RUST_BACKTRACE=1` for a backtrace.

$ ldd /usr/bin/pulseaudio
	(...)
	libpulsecore-8.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-8.0.so (0x00007fd80f5ff000)

$ patchelf --print-rpath /usr/bin/pulseaudio
/usr/lib/x86_64-linux-gnu/pulseaudio

Do you think you could build in rpath/runpath support?

Yes, I noticed the interesting work you are doing. Definitely will watch the videos and drop you a note if I happen to be in Berlin.

both of those would require knowing the sysroot, and would the assumption that the sysroot is ubuntu style. If that's ok for you i'll add a --sysroot option that will cover both.

Yes, that'd be awesome. Thank you! :+1:

that should do it. although i didnt read the ld code that parses ld.so.conf so there might be more features than "include". let me know if something doesnt work.
ek-ldd-2.zip
./ldd -R /tmp/j/k /bin/bash
/tmp/j/k/usr/lib/libreadline.so.7
/tmp/j/k/usr/lib/libncursesw.so.6
/tmp/j/k/usr/lib/libc.so.6
/tmp/j/k/usr/lib/ld-linux-x86-64.so.2
/tmp/j/k/usr/lib/libtinfo.so.6
/tmp/j/k/usr/lib/libdl.so.2

Looks like it isn't picking up RPATHs:
$ Downloads/ldd /usr/bin/pulseaudio -R /
//lib/x86_64-linux-gnu/libsystemd.so.0
//lib/x86_64-linux-gnu/libselinux.so.1
//lib/x86_64-linux-gnu/libpcre.so.3
//lib/x86_64-linux-gnu/libpthread.so.0
//lib/x86_64-linux-gnu/libc.so.6
//lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
//lib/x86_64-linux-gnu/libdl.so.2
//lib/x86_64-linux-gnu/librt.so.1
//lib/x86_64-linux-gnu/liblzma.so.5
//lib/x86_64-linux-gnu/libgcrypt.so.20
//lib/x86_64-linux-gnu/libgpg-error.so.0
thread 'main' panicked at 'unable to find dependcy libpulsecore-8.0.so in ["//usr/local/lib", "//lib/x86_64-linux-gnu", "//usr/lib/x86_64-linux-gnu", "//usr/lib/x86_64-linux-gnu/mesa-egl", "//usr/lib/x86_64-linux-gnu/mesa"]', bin/ldd.rs:49:12
note: Run with `RUST_BACKTRACE=1` for a backtrace.

This is where the library is located:
$ patchelf --print-rpath /usr/bin/pulseaudio
/usr/lib/x86_64-linux-gnu/pulseaudio

@probonopd oh sorry, forgot to implement that. here you go.
ek-ldd-3.zip

also -R is optional. / is the default

Thank you very much. Highly appreciated. :+1:


cinny, cinny-desktop: build from source

Description of changes
Builds cinny and cinny-desktop from source using buildNpmPackage and buildRustPackage. This allows cinny to use OpenSSL 3 and not be marked outdated anymore.
Didn't do too much testing of cinny but building it from source as cinny-desktop needs it to build from source.
@wahjava
@aveltras

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1087


[Bug]: 3D terrain does not show with Mapbox v11

Mapbox Implementation
Mapbox
Mapbox Version
11.4.0
React Native Version
0.74.5
Platform
iOS
@rnmapbox/maps version
10.1.29
Standalone component to reproduce
import React from 'react';
import { StyleSheet, View } from 'react-native';
import MapboxGL, { Terrain } from '@rnmapbox/maps';

export default function App() {
  return (
    <View style={styles.container}>
      <MapboxGL.MapView style={{ flex: 1 }}>
        <MapboxGL.RasterDemSource
          id="mapbox-dem"
          url="mapbox://mapbox.mapbox-terrain-dem-v1"
        >
          <Terrain style={{exaggeration: 1}}/>
        </MapboxGL.RasterDemSource>
        <MapboxGL.Camera
          zoomLevel={11}
          centerCoordinate={[7.658596832896972, 45.976536103548355]}
          pitch={60}
        />
      </MapboxGL.MapView>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

Observed behavior and steps to reproduce
Component above should pan to the Matterhorn, and show extruded 3D terrain. If I switch to using mapbox v10, it works. In v11, the 3D terrain is not shown. No errors or traces, neither from react / expo nor from native code in Xcode.

Things I tried:

Using 'import Mapbox' instead of 'import MapboxGL'
Using direct component imports
Explicitly setting the source id for the terrain
Adding and removing sky layers according to the example (the sky layer works, but doesn't affect terrain)

I have not verified this on Android.
Expected behavior
The maps pans to a beautiful 3D view on the iconic Matterhorn.
Or in boring terms: terrain is shown in 3D, not flat.
Notes / preliminary analysis
I wish I had, but since there's no error emitted I'm at a loss. Of course, I genuinely hope I just made a typo somewhere and this is easy to fix 😄
Additional links and references
Example can be found here:
https://github.com/GBPeters/TerrainMWE
I included download and public tokens, I will invalidate these once the issue is closed.

Oh, only now I find this is a duplicate of https://github.com/rnmapbox/maps/issues/3567


Assign to new local

Something we use all the time in Eclipse is a quick fix that creates a variance declaration from the currently selected expression. i.e. if I have:
"hello" + ' ' + "world"

And I hit ⌘2 P, then I get:
value string = "hello" + ' ' + "world";

Note that this is different to #71, which is about extracting an expression in an existing statement.

Clarification: #71 will do that as well, that the default expected behaviour in IntelliJ.


TODO List

[x] Move catalog files into their own dir
[x] Update RBAC for minimal required permission
[ ] Add analytics & RBAC for that.
[x] Update paths to appscode/service-broker
[x] Readiness probe / liveness probe
[x] Remove unused yamls
[x] Update docs.

https://github.com/appscode/service-broker/pull/16


device_tracker on tplink C5 router

Hi I am a new user of Homeassistant. I loved this project. Everyday I am trying to add new functionality.
Home Assistant release (0.36.1):
Python release (Python 3.4.2):
Component/platform:
device tracker
Description of problem:
I have a tplink C5 router I made config as described but homeassistant gave these errors. Fisrt I thpught my router model is not supported I read python code but it seemed valid. I can succesfully get MAC addreses from router when I ran just a sample code from Tplink4DeviceScanner. So code must work but home assistant cant even login. So I dont know is it a bug.
I see these logs in my log file:
17-01-21 17:45:09 homeassistant.components.device_tracker.tplink: Couldn't fetch auth tokens!
17-01-21 17:45:09 homeassistant.components.device_tracker.tplink: Router didn't respond with JSON. Check if credentials are correct.
17-01-21 17:45:09 homeassistant.components.device_tracker.tplink: Router didn't respond with JSON. Check if credentials are correct.
17-01-21 17:45:09 homeassistant.components.device_tracker: Error setting up platform tplink
Expected:
Is there any way that I can debug more detail about this problem.
Problem-relevant configuration.yaml entries and steps to reproduce:
device_tracker:
platform: tplink
host: <IP_ADDRESS>
username: admin
password: admin

yes: enable the logger component

Sorry for not closing this issue. Its working for a while. Thnx


Serialise to YAML with comments

Parsing / deserialising YAML with comments will throw them away due to libyaml skipping them. However, we could still have comment serialisation, which would be very useful for config files that are intended to be edited by the user.
I propose a new YAML::Field, :comment, for YAML::Serializable.
Example:
struct Config
  include ::YAML::Serializable

  @[YAML::Field(converter: Time::EpochConverter, comment: "Unix time of the last update")]
  property last_update : Time = Time.utc.to_unix

  @[YAML::Field(comment: "Update interval in days")]
  property update_interval : Int32 = 7

  property sources : Array(String) = ["1", "2"]
end

would result in:
---
# Unix time of the last update
last_update:<PHONE_NUMBER>
# Update interval in days
update_interval: 7
sources:
- 1
- 2

I think this would fit into the module quite well, and annotations could potentially be used for deserialising as well if it's ever implemented in the future.

I think comments are important. Even for serialization/deserialization. The point of YAML is that it's a very human-friendly format. And thus it's typically used for documents that are supposed to be read and edited by humans, rather than pure data-exchange (there are better data formats for that). Allowing to put comments in generated YAML documents can improve their user experience.
Unfortunately, as mentioned above, libyaml has no support for parsing or emitting comments (https://github.com/yaml/libyaml/issues/42). There might be a clever way to jerry-rig serialization by writing directly to the underlying IO. But I'm not sure if that could safely work. If someone want's to take a look at that, be my guest.
But otherwise I don't think we can do much without upstream support.


Using INCLUDE+ with parametrized builds

Hi, would it be possible to use INCLUDE+ with parameterized builds?  PostGIS repo uses this approach, where several basic templates are used with bash param substitution to build many different images.  In an ideal case, there would be a simple dockerfile that sets up a few ARG/ENV parameters before importing a common file.  Also, are there any limitations to the INCLUDE+, e.g. with multi-stage builds, etc?
Thanks for an awesome extension, sad that upstream hasn't resolved these types of use cases despite user's requests.

In my experiments this works (well env stays on default during build)
You can see this here and here.


Replace cached_property with backports.cached_property

A minor one, but I'm getting typing errors due to cached_property not being type annotated.
I've tested https://github.com/penguinolog/backports.cached_property and the types are working fine so I'd say we can move to that library instead.
Unless there's any reason not to move 😊

I would like to do it, can you tell where i can find the code

We have it in a couple of places: https://github.com/strawberry-graphql/strawberry/search?q=cached_property
You need to remove the old dependency with poetry remove cached_property, add the new one and then replace the imports :)

Assign it to me , i will do this

Assign it to me , i will do this

Done :)

Please do review , I have updated as you suggested

@BryceBeagle  Hi, Actually while discussing the issue i thought i have to just update the references wherever cached_property is present , first I removed cached-property with poetry remove cached-property then added backports.cached_property with poetry added  backports.cached_property and the renamed everywhere where cached_property was present.
but now i understood how to import , i would like to ask one more thing do i have to change @cached_property annotations too?

@patrick91 @BryceBeagle I have done the changes can you review the PR now and let me know


ci: cache the Ollama install script and downloaded models.

Looks like the CI fails with that. Not sure why.

Looks like you can't actually cache the models 😢
If we can't do that I don't think it's worth adding the caching.


ModelRunner cannot specify GPU

System Info
I encountered a problem specifying the GPU when using the Python API of TensorRT-LLM v0.7.0. When I load the engine using ModelRunner.from_dir, it defaults to using the GPU with index 0, even if I use the CUDA_VISIBLE_DEVICES parameter to specify the GPU. Is there any way to specify the GPU?
Who can help?
No response
Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[X] My own task or dataset (give details below)

Reproduction

Build a tensorrt engine, in any precision.
Load model using Triton-Inference-Server's python backend, load engine using ModelRunner.from_dir.
Serving with two instances using 2 GPUS.

Expected behavior
Each GPU serving one inference instance.
actual behavior
All inference instances are using GPU 0.
additional notes
Using Tensorrt-LLM v0.7.0

I did not test v0.7.0, but v0.7.1 is OK.
Do you use CUDA_VISIBLE_DEVICES like this?
CUDA_VISIBLE_DEVICES=1 python xxx
If you set env in your python code, I think you should make sure the code is running before "import tensorrt_llm".

I did not test v0.7.0, but v0.7.1 is OK. Do you use CUDA_VISIBLE_DEVICES like this? CUDA_VISIBLE_DEVICES=1 python xxx If you set env in your python code, I think you should make sure the code is running before "import tensorrt_llm".

Yes！That's the issue, I should set CUDA_VISIBLE_DEVICES before import tensorrt_llm
, thank you.


Some code can be actually executed

In some cases syntax check may result in executing the code, which might be a problem if somebody opens a file from untrusted source, here's an example with Perl:
$ echo test > /tmp/foobar.txt
$ ls /tmp/foobar.txt
/tmp/foobar.txt
$ echo "BEGIN { unlink '/tmp/foobar.txt' }" > unlink.pl
$ vim unlink.pl # just open the file and exit
$ ls /tmp/foobar.txt
ls: cannot access /tmp/foobar.txt: No such file or directory

wouldn't it make sense to keep all the checkers disabled by default and make users to explicitly enable those that they need?

For which linter? Linters typically shouldn't execute much code by default, and those that do should be disabled by default.

All linters will remain enabled by default, except for those which might actually cause problems.

it's perl -c, it executes BEGIN blocks

Okay, I updated the issue.

Now -w is the default for perl instead of -c. The documentation explains the security problems and tells you how to change the option if you want to. That will be the default now and forever because it's safer.

I'm sorry, but that's completely wrong. -w is essentially the same as -Mwarnings it enables warnings, so perl -w file.pl will execute the whole script, not just BEGIN and CHECK blocks as perl -c. The previous implementation was correct, perl -c is what you run if you want to check the syntax of the perl script, but by design it executes BEGIN and CHECK blocks, there's simply no way to check the syntax of perl script without executing them. And that's fine when you are using it to check the syntax of your scripts, but if script comes from untrusted source it might be a problem, which is why I suggested you to disable it by default. My guess is that average person, not familiar with Perl, doesn't expect that opening a perl script in their favorite text editor may result in executing some code.

Okay then, I'll disable it completely by default.

Try being more respectful when you speak.

Now it's disabled by default.


Update Providers.md

          1 Warning

:warning:
Consider also updating the English docs. For Chinese translations, request the modified file(s) to be added to the list here for someone else to translate, if you can’t do so yourself.

          3 Messages

:book:
iOS: Executed 253 tests, with 0 failures (0 unexpected) in 11.364 (11.601) seconds

:book:
tvOS: Executed 253 tests, with 0 failures (0 unexpected) in 11.471 (11.642) seconds

:book:
macOS: Executed 253 tests, with 0 failures (0 unexpected) in 11.763 (11.934) seconds

  Generated by :no_entry_sign: Danger

Thanks for helping out here @zhongwuzw ❤ 🥇


Reset Pulse to 0

Hello,
I am working on a project where I dispense a certain amount of liquid on a press of a button. The pump will pump as long as the flow meter has not reached the desired value. I got everything to work. But when I try to run again (unless I restart the Arduino), I am already above the value as the pulses are not reset.
I didn't find a function in the library and was wondering if that is something that we could implement?
Or am I missing something?
Regards

I added this into the library, call Sensor.reset() to restart.
`/**

@brief reset pulse

*/
void FlowSensor::reset()
{
this->_pulse=0;
this->_totalpulse=0;
this->_volume=0;
}`

Hello,
I've added the resetVolume function in the latest update
Thank you


Context Size for RAG in Chat

We should set a limit on how many tokens are available for RAG in chat. rn it takes all available tokens

one solution is
@tokens N
command


Basic structure

FEATURES ADDED

[ ] used NavLink React components to style active links in the NavBar element.

Hi @MMhaidari ,
I have resolved the merging conflict by merging the development branch into the basic structure branch.
Kindly continue with the review process.


Potential issue in iteration with multiple tiers

While working on #165, I realised that we may have an issue when iterating on multiple tiers.
Currently, the iteration happens at the AuthoritativeTier level and will remove expired entries. But I believe this happens without looking at the pinning state, which means we may end up in weird state.
Did not write a test to confirm yet, so this may be bogus ... though I doubt it.

I confirm this bug: iterating expired entires of a n-tier caches won't make the caching tier immediately flush their mappings. On the other hand, once expiration happened in the authority, it will eventually happen from the caching tier too which will flush the value that will instantly be dropped to the floor by the authority, and the cache will return null as it should. Not ideal, but not broken from a user's perspective.
On the other hand, there is a nasty side-effect: iterating the authority means iterating a store that doesn't have its metadata up-to-date as those happen only get updated in the caching tier as long as the mapping doesn't get flushed down.
This means that iterating an authority can very well prematurely expire perfectly valid mappings (think TTI).

Resolving #825 first would make fixing this bug much simpler in the light of keeping the implementation JSR-107 compliant.

Related to https://github.com/jsr107/jsr107spec/issues/337 as well.


Remove try-json-parse dependency

Coverage increased (+0.01%) to 93.932% when pulling e3f46edeebb2a7d2f13357c42ebacc46f5a6a51b on zswang:master into d9df16c3d20274845051a29d2e24143c95f2d9c8 on jgable:master.

The current code looks better.
Write the detailed description of your patch next time.


manually-merge: cache data-sources in CollectionNameResolver

abandoned in favour of https://github.com/arangodb/arangodb/pull/4837 as per review request


Add featured on Unzip.dev badge

I've written a developer trend issue about Search as a service on Unzip.dev and found about meilisearch. I created a badge that will show you are one of the key players in the field.
Unzip.dev is a developer trends newsletter with over 2200 tech founders (and growing). Hopefully, this badge PR will be helpful for potential users of meilisearch🙏
Pull Request
Related issue
Fixes #<issue_number>
What does this PR do?

Adds a badge that shows meilisearch as a key player in the field as written on https://unzip.dev.

PR checklist
Please check if your PR fulfills the following requirements:

[ ] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Hello @agamm
Thanks a lot for making Meilisearch part of it and to have written this blog post. It's really appreciated, and the whole Meili team thanks you for this 😄
Unfortunately, we don't accept this kind of badge or reference on our README, but we have an awesome-meilisearch repository: this is definitely the right place to highlight your blog post.
Also, we have a Discord where you can share it.
Thanks again, and hope we will see you around!

Thank you for creating an awesome open-source product! I totally understand, thanks for the detailed explanation.


Search results not in monospace font

The preview of lines in the search results aren't using a monospace font. Syntax highlighting would also be great.
This is what it currently looks like:

This is a quick mock-up I've made:

@jrieken @bgashler1 fyi

The search query itself should also use a monospaced font. In the end, you are searching in code, so you write code inside this text box and it should be formatted like code. It is very hard to write complex regexps with a non-monospaced font.

Any progress on this? I'm continually squinting at the tiny search panel.
Also: Syntax highlighting both in the search field and the matches. Regular expressions should have a grammar for groups and other non-literals. And search results should be syntax-highlighted just like the editor.
Also: Maybe do something to make the file name sections a bit more prominent. There's no distinction between a file name and the subsequent match within a file, since they are all rendered in the same font and colour, and it gets muddled. A slightly different background colour would help a lot.

+1
Supporting comment color in query results would be very helpful to find results in code rather than in comments or visa versa.

You can achieve this with the Custom CSS and JS Loader extension:
.search-view .monaco-inputbox > .wrapper > .input,
.search-view .match {
  font-family: Menlo, Monaco, 'Courier New', monospace;
}

If this is ever gets implemented (I hope so) the quick search and the search in the left sidebar should be treated equally.

It worries me a little that it may reduce the amount of text it fits before overflowing. Should it be a little larger? Specially on large screens.

We tried this in the past, also in similar places like the "find all references" peek view, it was very divisive and most people considered it ugly. One problem is that you have monospace code mixed in with non-monospace file names/paths, another is that it will never be syntax highlighted, this is not possible with the way search currently works, and monospaced but non-highlighted code looks bad. And finally the search widget just isn't a place optimized for reading code. Some day we will show search results in an editor and hopefully that will look nicer for you.

it was very divisive

So make it configurable?

I don't even understand why you closed this issue.

It seems strange to me that VSCode is opinionated about something being ugly, where it leaves such decisions to the users in all other places. Mixing monospaced fonts with non-monospaced ones isn't ugly, it's a visual hierarchy that makes it clear what the different texts are: One is code, and one is a UI element describing where this code is from. Also, monospaced fonts not being syntax highlighted isn't necessarily a problem. It still makes it clear that what you're looking at is part from your code document, and hence it's using the same font. It's a visual clue that helps the eye parse the information it is looking at faster. And as such, it does make a whole lot of sense.

Having said that, I now use the Customize UI extension with this setting to achieve what I want:
    "customizeUI.stylesheet": {
        ".search-widget textarea, .find-widget textarea, .search-view .results .match": "font-family: Menlo, Monaco, 'Courier New', monospace !important"
    }

Some day we will show search results in an editor and hopefully that will look nicer for you

FYI, in case this is useful to anyone, the part from @roblourens' quote above about "show search results in an editor" can now be accomplished with the "Search Editor" feature (just like in Sublime Text):
https://code.visualstudio.com/updates/v1_43#_search-editors

Having said that, I now use the Customize UI extension with this setting to achieve what I want:
"customizeUI.stylesheet": {
  ".search-widget textarea, .find-widget textarea, .search-view .results .match": "font-family: Menlo, Monaco, 'Courier New', monospace !important"
}

And here how this looks in action (using Akkurat Mono by Lineto.com, my all time favorite coding font):

Does this still work with the same selector? I cannot get it to work on my machine

@doivosevic I just checked, it still works for me.

Having said that, I now use the Customize UI extension with this setting to achieve what I want:
"customizeUI.stylesheet": {
  ".search-widget textarea, .find-widget textarea, .search-view .results .match": "font-family: Menlo, Monaco, 'Courier New', monospace !important"
}

@lehni This works perfectly, thanks!
How did you find the classnames for the search field UI elements? I'd like to also apply the style to the files to include and files to exclude textareas:

I tried using these class names found in the vscode.dev online editor, but none of them worked:

.search-widgets-container textarea
.query-details textarea
.file-types textarea


[MISC] Report artifacts

Artifacts available for download:

Artifact Name
Download Link

clang.versions
https://github.com/seqan/actions/actions/runs/11295875891/artifacts/2046231019

gcc.versions
https://github.com/seqan/actions/actions/runs/11295875891/artifacts/2046230150

intel.versions
https://github.com/seqan/actions/actions/runs/11295875891/artifacts/2046230276


Live Color Preview in Text Editor

I've been using your text editor module with MUI and TipTap integration and it's been invaluable in my project.
I was wondering, is there currently a way to see the applied text color without having to save and manually deselect the text? If not, I'd like to suggest a feature. It would be great if there was an option for a preview that automatically deselects the text while it's still in focus, so users can instantly see the chosen color.

@xHati44 great to hear that mui-tiptap has been useful to you! This is an interesting idea which I hadn't considered. I'm not sure how it ought to work in practice, since I'd imagine you'd have to set the color temporarily in the Tiptap editor state but still allow "canceling" to undo (and also re-select after), which seems to tricky to get right, so I'd have to think about it a bit more and play around with it. I'll keep this in mind for later.

Owner

I imagine it's harder to implement this within tiptap. I have implemented similar thing. Definitely looking forward to this feature.


fix comment error

fix comment error

Hey, thanks for your contribution @hantmac.
Please rebase this on master.


Update render.yaml to use smallest paid starter plan

Worker type instances are not supported on the free plan, so use the smallest starter plan that works
Relevant docs: https://docs.render.com/blueprint-spec#instance-types

Actually @anandvc, I just saw the discussion about "Render minimum plan requirement" on basecamp. I just chimed in. Maybe we solve this a different way rather than bumping to the paid plan.

(Convert to Issue)


New requirements and bugs

Should we consider adding the function of uploading and downloading files? And I found that in the shell situation, I cannot use the backspace key.

I've debated on adding the ability to export/import files from bot machines and I don't think I'll end up doing so. As for the shell bug, that whole target needs to be rewritten to use a nice readline() implementation instead of rolling my own. My instinct is to use something like linenoise but I haven't completely decided yet. Sorry for the late reply!


added embedded API Viewer

Very cool!

@sheehan yes it is! Thanks to your single page app design! I did not expect that it will be so easy.


Still working?

HI, is this still working? because i tried your example and its not showing any tweets.

Yes, it should, just tried with:

I tried the same example and getting nothing in result.

I did run the code in cli but same, no empty result.

In the example
->onChunk(function (array $tweets, int $totalTweets) { // optional
		//...
	}, true) // than flush? (useflul when processing lot of tweets and avoid memory exhausted errors)

when set the flush to true, after the call to the closure you will get an empty array when calling the getTweets.
As written in the readme that useful when parsing thousands of tweets.
Use the code like in my screen if you dont need that feature.


Feedback for Other vendors page

Why is the Google Pixel phone not listed? Not sufficiently popular or "can't be anything wrong"?

Hello, they are here in the winners section :) https://dontkillmyapp.com/google


Remove unnecessary heap allocated copies in Transformation actions

what
Remove unnecessary heap allocated copies in most Transformation classes.
why
The current implementation of most Transformation classes are copying the std::string values in order to modify them and then return them. This can be optimized by updating the signature of Transformation::evaluate to receive a reference of the value to be modified, and if the transformation allows it, modify it in-place.
This change increases performance of the benchmark test by about 11%-12,5%.
changes

Updated transformations to work inplace on the std::string buffer of the value where the transformation is being applied, instead of copying to a temporary (heap-allocated) string.
Updated Transformation::evaluate signature to receive the value by reference and perform the transformation inplace, if possible (some transformations cannot be performed in place because they need a bigger buffer to produce the new value, such as base64 encoding).

Additionally, the signature of the method has been updated to return a bool value to indicate if the value has been changed. This removes an additional string comparison in RuleWithActions::executeTransformation to compare the original and transformed value further improving performance.

This required many of the transformations to detect when a change is produced in the input value to produce this in an efficient way (look for the changed bool flag in their implementation). Some transformations always transform their input value, so they just return true. Notably, a few of the transformations had implementations that would compute a changed flag, but that was currently unused.

Made inplace transformations methods inline and moved them out of the class interface as almost all of them are not used outside of them.
Simplified & shared implementation of several transformations, removing duplicate code.
Removed unnecessarily included header files.

references
While working on updating the configuration to build on C++17 (and C++20), I found out through this comment that a PR to make the transformations in-place was submitted before in PR #2368 and was integrated into the v3.1 branch (though curiously the changes are not currently included in that branch).
This PR goes further in the review of the different in-place transformations to simplify and make their implementations more consistent and efficient. Additionally, because of the signature change of Transformation::evaluate included in this PR, an allocation and copy is avoided.
misc
This is part of a series of PRs to improve performance of the library (4/n). Previous: #3222

This change increases performance of the benchmark test by about 11%-12,5%.

These results were obtained running the benchmark test with 100'000 iterations with the OWASP CRS v4 and are presented as a reference:

Mac mini (1st generation)

v3/master: 96.15 secs
This PR: 84.11 secs (12.52% improvement)

Debian (bullseye) container running on WSL on Windows Dev Kit 2023

v3/master: 143,34 secs
This PR: 127,37 secs (11,14% improvement)

The unit tests for each transformation were executed (using a different number of iterations, as some take more time than others).
These results were obtained on a Debian (bullseye) container running on WSL on Windows Dev Kit 2023, and are provided as a reference.
(Times in milliseconds)

Transformation
Iterations
v3/master
This PR
Difference

base64decode
1500000
2,404.83
2,111.14
-12.21%

base64decodeExt
1250000
2,129.00
1,886.29
-11.40%

base64encode
2000000
2,205.14
1,890.67
-14.26%

cmdLine
2000000
2,586.29
2,290.14
-11.45%

compressWhitespace
800000
2,291.43
1,875.29
-18.16%

cssDecode
1600000
2,155.43
1,931.00
-10.41%

escapeSeqDecode
500000
1,899.67
1,704.14
-10.29%

hexDecode
1750000
2,505.14
2,213.50
-11.64%

hexEncode
600000
933.00
924.29
-0.93%

htmlEntityDecode
500000
1,596.67
1,465.83
-8.19%

jsDecode
600000
2,249.14
2,009.57
-10.65%

lowercase
1750000
2,295.33
2,040.57
-11.10%

md5
1500000
3,321.80
3,270.86
-1.53%

normalisePath
250000
2,581.00
2,375.17
-7.97%

normalisePathWin
200000
2,217.86
2,004.67
-9.61%

parityEven7bit
1500000
2,259.00
2,003.00
-11.33%

parityOdd7bit
2000000
2,829.00
2,475.00
-12.51%

parityZero7bit
1750000
2,488.83
2,222.33
-10.71%

removeComments
300000
2,300.67
2,156.86
-6.25%

removeCommentsChar
300000
2,280.67
2,201.86
-3.46%

removeNulls
1000000
2,444.17
2,361.43
-3.39%

removeWhitespace
1250000
2,448.00
2,335.86
-4.58%

replaceComments
250000
2,007.57
1,913.57
-4.68%

replaceNulls
1250000
2,963.17
2,794.43
-5.69%

sha1
2000000
3,141.14
3,067.50
-2.34%

sqlHexDecode
8000000
3,004.86
2,777.60
-7.56%

trim
750000
2,637.43
2,498.00
-5.29%

trimLeft
750000
2,528.14
2,387.43
-5.57%

trimRight
750000
2,598.33
2,454.29
-5.54%

urlDecode
300000
2,657.33
2,448.00
-7.88%

urlDecodeUni
150000
2,850.83
2,535.80
-11.05%

urlEncode
250000
2,469.86
2,378.00
-3.72%

utf8toUnicode
30000
4,194.29
4,061.29
-3.17%

Regenerated PR to divide changes to make transformations in-place into multiple commits to simplify review. The original commit can be found in eduar-hte/ModSecurity@0a2dd1a.
NOTE: This required making the first commit in the PR include the changes to the signature of Transformation::evaluate and temporarily adjust each derived class for the code to still compile and work.

Hi @eduar-hte,
first of all, many thanks for this very impressive PR.
I was able to measure about a 10% performance increase with the modifications, which is amazing of course.
I am concerned about two things:

Sonarcloud reports 50 new issues. I see those are very trivial issues (for eg. this one or any other), but we have an intention to decrease and eliminate all (possible) issues sooner or later. If we are increasing this number then it will be harder to fix them later
this PR contains many other modifications than restructuring of Transformation actions, for eg. the transaction.cc is strictly unaffected. This is not a problem but it makes harder the review process. Also it will also be difficult to understand the intent and context of the amendments in the future.

So in the future please consider to split these modifications and send only the strictly affected ones. (But now you don't need to split them up.)
For the Sonarcloud: I don't know how to handle this now. As I explained above we want to decrease the number of issues, not increment :smile:. If you don't want or can't fix them, I'm going to do that later, but I think it's more easier to finish them now, than later.
What do you think?

this PR contains many other modifications than restructuring of Transformation actions, for eg. the transaction.cc is strictly unaffected. This is not a problem but it makes harder the review process. Also it will also be difficult to understand the intent and context of the amendments in the future.

As I mentioned in #3233, this PR, PR #3222 & PR #3233 were originally on the same branch about removing unnecessary heap-allocations and copies (mostly of std::string objects). I ended up splitting that branch into these separate PRs for them to be more specific.
I'd argue that all the commits in this PR are specific to the Transformation related changes.

The first commit (commit 9d773cf)

Sets up the change to the signature of Transformation::evaluate that allows for in-place modification of the value.
This requires updating RuleWithActions::executeTransformation, which is where this method is called.

I opportunistically updated the signature of this method to receive const paramters (and, if possible, references), which is aligned with some of the issues reported by a newer version of cppcheck (which I've been running on the codebase).
I also moved the declaration of this function to the private section because it was not used outside this class.

As I was going through all the headers in src/actions/transformations, I removed unnecessarily included header files (to improve build/rebuild times) and simplified the namespace definition. For the sake of consistency, I took the time to go and to the same for the rest of the actions, which goes beyond the scope of this PR. I wonder whether I'd have submitted a separate PR with these changes otherwise.

The rest of the commits are pretty much limited to updating, if possible, each Transformation to make them in-place.

There are a couple of opportunistic changes to refactor and remove code duplication in transformations that were clearly copy & pasted and where integrating the implementation favors their maintenance.

Sonarcloud reports 50 new issues. I see those are very trivial issues (for eg. this one or any other), but we have an intention to decrease and eliminate all (possible) issues sooner or later. If we are increasing this number then it will be harder to fix them later

I actually did take some time and did multiple iterations to address issues reported by Sonarcloud (see the multiple force-pushed entries in the PR history).
After addressing many of the things reported by Sonarcloud, I think all the current ones exist in the current codebase, and are only flagged now because the PR updates some of the code.
The following are my notes on the currently reported issues:

Add a using-declaration to this derived class to inherit the constructors of "Action", and remove the ones you manually duplicated. Note that this may add other constructors to your derived class.

This is a nice suggestion, and I applied it in all the Transformation classes. This can be seen with the line using Transformation::Transformation; to simplify the definition of each Transformation derived class, instead of having each class write a constructor such as:

    explicit RemoveNulls(const std::string &action)
        : Transformation(action) { }

However, I don't think that we should address the rest of the reported issues because they introduce additional constructors in the derived classes, which is something the issue itself mentions (see Note that this may add other constructors to your derived class). This could be applied to Transformation derived classes, because Transformation has a single constructor with the same signature that was used in all derived classes, but it's not true of Action.
Use the init-statement to declare "t" inside the if statement.

This is reported in Action::set_name_and_payload, where I replaced an unnecessary heap-allocated std::string everytime the function is executed for a constant string (t:). I looked at the report and even though I like the feature of declaring variables in if statements, I don't think it's idiomatic (and readable) to replace this:

        const char t[] = "t:";

        if (data.compare(0, std::size(t) - 1, t) == 0) {

with:
        if (const char t[] = "t:"; data.compare(0, std::size(t) - 1, t) == 0) {

Reduce the number of nested "goto" statements from 5 to 1 authorized.

There are a few of these reported in this PR, and all of them are related to how some of the transformation algorithms are (currently) implemented. I'm not a fan of any goto statement, but I don't think we should try and address them, with the risk of introducing bugs, just for the sake of removing Sonarcloud issues. Even though I updated most of the transformations in the context of this PR, I tried to minimize my changes to how the buffers were handled and referenced, without changing the existing/functioning algorithm because of this reason.

Refactor this function to reduce its Cognitive Complexity from 59 to the 25 allowed.

The same as above.

Use "std::string" instead of a C-style char array.

Sonarcloud reports this a couple of times in src/actions/transformations/html_entity_decode.cc where using a stack allocated fixed-size buffer is clearly a better option than creating a heap-allocated std::string.

Replace "reinterpret_cast" with a safer operation

Sonarcloud reports this a couple of times where I introduced an explicit reinterpret_cast instead of a naked cast in the current codebase to cast char to unsigned char, which is something most of the Transformation algorithms do.

Use "std::byte" for byte-oriented data manipulation.

I briefly looked into this and I'm not sure the issue is right in the suggestion, as you can see the parity algorithms actually extend the unsigned char byte to an unsigned int in order to implement its logic.

Modify the macro definition so that it needs to be followed by a semicolon, or remove this empty statement.

This is reported in one of the many uses of the macro ms_dbg_a in the codebase.

Replace this use of "push_back" with "emplace_back".

These two are present in the current codebase, I could probably try and address them.

Either add a parameter list or the "&" operator to this use of "mbedtls_md5".

This is reported a couple of times when using the function name to instantiate a template introduced to remove code duplication for the implementation of the md5 & sha1. I'll take a look into whether I can address them.

Define each identifier in a dedicated statement.

These are reported on multiple variables used to implement some of the transformation algorithms in the current codebase. I think introducing each of them in a separate line unnecessarily increases the function length just for the sake of keeping Sonarcloud happy.

* The first commit (commit [9d773cf](https://github.com/owasp-modsecurity/ModSecurity/commit/9d773cfbc8cee5ce9f76738c160caa550430095b))

that's okay.

PS: The change in transaction.cc is necessary because utils::urldecode_nonstrict_inplace was updated in the context of the in-place transformation updates (see src/actions/transformations/url_decode.cc), so this other call had to be updated as well.

ah, you're right, I get it wrong, sorry.

Replace this use of "push_back" with "emplace_back". (3)
Either add a parameter list or the "&" operator to this use of "mbedtls_md5". (2)

I've just pushed an update (integrating these changes into the corresponding existing commits) to address these.

After addressing many of the things reported by Sonarcloud, I think (almost) all the current ones exist in the current codebase, and are only flagged now because the PR updates some of the code.

Yes, I knew that - I just asked you about this to know what do you think in long term.
Thank you for all explanations - we discussed the Sonarcloud issues with @gberkes and we agreed that we have to review all issues (not just these ones) later, and fix them by category.
Anyway, these summaries are awesome here and everyone can see that these are not new issues. Thanks again, and thanks for the great PR.
I'm going to merge this now.

Submitted PR owasp-modsecurity/secrules-language-tests#10 to add more tests for the sqlHexDecode transformation updated in this PR.


ldc: 1.17.0 -> 1.20.1

Motivation for this change
Current ldc uses an extremely old version of ldc 0.x to bootstrap the latest ldc 1.x, causing more and more issues as the gap between the two versions widens.
Things done

Using precompiled binaries from GitHub of vLatest-1 to bootstrap latest version. This is similar to the work done in #82694 .

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

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@ThomasMader Feel free to ping me for merge on this PR and the dmd one.
(though I'm not sure because I see "WIP")

@worldofpeace It's WIP because I'm getting a failure during check phase on my local MacBook. Need to dig in.

@lionello What failure? Can you elaborate? Mostly I can't help without digging in too but maybe we are lucky.

@lionello What failure? Can you elaborate? Mostly I can't help without digging in too but maybe we are lucky.
@ThomasMader Actually, it's dmd that still has a failure on macOS: https://github.com/NixOS/nixpkgs/pull/82694#issuecomment-616120511

@worldofpeace @ThomasMader Locally, this now builds successfully on macOS and NixOS with tests passing.

@GrahamcOfBorg build ldc

@worldofpeace would it be possible to get this into 20.03 or is the release already frozen?

@worldofpeace would it be possible to get this into 20.03 or is the release already frozen?

We've been go for the final release for a week https://discourse.nixos.org/t/go-no-go-meeting-nixos-20-03-markhor/, so we're very past the freeze.

@GrahamcOfBorg build ldc

I issued the build command @ThomasMader because I didn't see it build on macos for you. So I guess that means you aren't in "trusted users" in ofborg, which basically means you can build on darwin plus other minor stuff.

I used to be able to build on Darwin too. Never mind.

Thanks!

  Use `opBinary(string op)(...) if (op == "*")` instead.
dmd/complex.d(57): Deprecation: `opMul_r` is deprecated.  Use `opBinaryRight(string op)(...) if (op == "*")` instead.
dmd/complex.d(62): Deprecation: `opMul` is deprecated.  Use `opBinary(string op)(...) if (op == "*")` instead.
dmd/complex.d(62): Deprecation: `opMul_r` is deprecated.  Use `opBinaryRight(string op)(...) if (op == "*")` instead.
dmd/complex.d(67): Deprecation: `opDiv` is deprecated.  Use `opBinary(string op)(...) if (op == "/")` instead.
dmd/constfold.d(98): Deprecation: `opNeg` is deprecated.  Use `opUnary(string op)() if (op == "-")` instead.
dmd/constfold.d(214): Deprecation: `opAdd` is deprecated.  Use `opBinary(string op)(...) if (op == "+")` instead.
dmd/constfold.d(317): Deprecation: `opSub` is deprecated.  Use `opBinary(string op)(...) if (op == "-")` instead.
dmd/constfold.d(369): Deprecation: `opMul` is deprecated.  Use `opBinary(string op)(...) if (op == "*")` instead.
dmd/constfold.d(369): Deprecation: `opMul_r` is deprecated.  Use `opBinaryRight(string op)(...) if (op == "*")` instead.
dmd/constfold.d(411): Deprecation: `opDiv` is deprecated.  Use `opBinary(string op)(...) if (op == "/")` instead.
make[1]: *** [posix.mak:472: ../generated/linux/release/64/dmd] Error 1

Oh, did we need to merge dmd together?

Yes merging https://github.com/NixOS/nixpkgs/pull/82694 should fix those problems.
Nobody knew in advance, the version difference was just too big.


request_free gauge going negative

While doing some debugging on travis problems I noticed request_free having a value of -1 after doing a simple get to an empty key https://travis-ci.org/seppo0010/pelikan/jobs/205298464

looking


Add generic definition of certain calls

This allows the developer to assign an output type for the calls
i.e. broker.call<number>("test.add", { x: 1, y: 2 }) will return Bluebird<number> instead of Bluebird<any>

Coverage remained the same at 98.112% when pulling de0f2c18705af2434320b7f4ccc3ca673bddf4f7 on rmccallum81:master into b8b98ae2ced3dcaa6337055d29c16a653b525335 on ice-services:master.

@dani8art, please review.

Hi, I think it is correct.
Regards!


optimize:make log more clearly and remove the useless code

Ⅰ. Describe what this PR did
make log more clearly and remove the useless code
Ⅱ. Does this pull request fix one issue?
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #3117 into develop will decrease coverage by 0.11%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop    #3117      +/-   ##
=============================================
- Coverage      50.57%   50.46%   -0.12%
+ Complexity      3105     3103       -2
=============================================
  Files            599      599
  Lines          19510    19483      -27
  Branches        2406     2363      -43
=============================================
- Hits            9868     9832      -36
+ Misses          8650     8637      -13
- Partials         992     1014      +22

Impacted Files
Coverage Δ
Complexity Δ

...eata/core/rpc/netty/NettyClientChannelManager.java
63.15% <0.00%> (ø)
19.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (-4.77%)
3.00% <0.00%> (ø%)

... and 27 more

Codecov Report

Merging #3117 into develop will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop    #3117      +/-   ##
=============================================
- Coverage      50.39%   50.35%   -0.05%
+ Complexity      3140     3114      -26
=============================================
  Files            598      594       -4
  Lines          19772    19629     -143
  Branches        2433     2440       +7
=============================================
- Hits            9965     9885      -80
+ Misses          8782     8748      -34
+ Partials        1025      996      -29

Impacted Files
Coverage Δ
Complexity Δ

...eata/core/rpc/netty/NettyClientChannelManager.java
61.01% <0.00%> (-2.15%)
19.00 <0.00> (ø)

...a/tm/api/transaction/SuspendedResourcesHolder.java
37.50% <0.00%> (-37.50%)
1.00% <0.00%> (ø%)

.../src/main/java/io/seata/rm/GlobalLockTemplate.java
75.00% <0.00%> (-25.00%)
2.00% <0.00%> (-3.00%)

...o/seata/integration/http/AbstractHttpExecutor.java
62.96% <0.00%> (-3.14%)
10.00% <0.00%> (-1.00%)

...a/sqlparser/druid/mysql/MySQLDeleteRecognizer.java
78.94% <0.00%> (-2.01%)
6.00% <0.00%> (-2.00%)

.../rm/datasource/exec/BaseTransactionalExecutor.java
58.13% <0.00%> (-0.92%)
27.00% <0.00%> (+1.00%)
:arrow_down:

...java/io/seata/spring/tcc/TccActionInterceptor.java
11.36% <0.00%> (-0.64%)
2.00% <0.00%> (ø%)

.../seata/rm/datasource/exec/LockRetryController.java
92.30% <0.00%> (-0.55%)
4.00% <0.00%> (-4.00%)

...o/seata/server/coordinator/DefaultCoordinator.java
54.63% <0.00%> (-0.52%)
28.00% <0.00%> (-1.00%)

...ing/annotation/GlobalTransactionalInterceptor.java
28.47% <0.00%> (-0.50%)
9.00% <0.00%> (ø%)

... and 45 more


[Feature] ds visual deployment

1.At present, the front end has completed the development of three module pages, namely cluster management, configuration management and host configuration.
2.The specific page is as follows：

3.At present, the back-end partners are required to complete the development of the corresponding interfaces, and the front-end can fully cooperate
4.If you are interested in ds visual deployment, you can join in and complete

I want to join in, but where should I start? Where can I get the front-end and back-end code.

There is currently no code in the backend, and framework and development interfaces need to be rebuilt

Is there a developed program in the front end now? Where do I get it? Do you have any plans now, such as what development language is selected for the backend.

Is there a developed program in the front end now? Where do I get it? Do you have any plans now, such as what development language is selected for the backend.

The front end wrote some pages and simulated data, and the back end considered using Java https://github.com/break60/ds-deploy


How to read I/O pins throug ROS

How to read I/O pins through ROS
Any link /examples are available to read io pins through ROS
Version : kinetic

同问


docs(README): fix CircleCI image

Codecov Report

Merging #3128 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3128   +/-   ##
=======================================
  Coverage   99.92%   99.92%
=======================================
  Files         163      163
  Lines        2742     2742
=======================================
  Hits         2740     2740
  Misses          2        2

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 49955ac...d649bc7. Read the comment docs.

Released in<EMAIL_ADDRESS>


Kernel MRU for web and desktop

Codecov Report

Merging #11969 (e4b7591) into main (c0b8e35) will increase coverage by 0%.
The diff coverage is 86%.

:exclamation: Current head e4b7591 differs from pull request most recent head e1f4619. Consider uploading reports for the commit e1f4619 to get more accurate results

@@           Coverage Diff           @@
##            main   #11969    +/-   ##
=======================================
  Coverage     62%      62%
=======================================
  Files        496      498     +2
  Lines      35191    35283    +92
  Branches    5675     5686    +11
=======================================
+ Hits       22091    22203   +112
+ Misses     11004    10993    -11
+ Partials    2096     2087     -9

Impacted Files
Coverage Δ

src/notebooks/controllers/connectionMru.web.ts
85% <84%> (ø)

src/notebooks/controllers/connectionMru.node.ts
88% <90%> (+59%)
:arrow_up:

src/notebooks/controllers/connectionMru.ts
100% <100%> (ø)

src/notebooks/controllers/serviceRegistry.node.ts
93% <100%> (ø)

src/kernels/common/delayedFutureExecute.ts
4% <0%> (-47%)
:arrow_down:

src/kernels/common/chainingExecuteRequester.ts
83% <0%> (-6%)
:arrow_down:

...c/platform/common/process/pythonDaemonPool.node.ts
77% <0%> (-3%)
:arrow_down:

...otebooks/controllers/controllerPreferredService.ts
71% <0%> (-2%)
:arrow_down:

src/kernels/execution/cellExecutionQueue.ts
77% <0%> (-2%)
:arrow_down:

...els/jupyter/finder/remoteKernelFinderController.ts
61% <0%> (-1%)
:arrow_down:

... and 13 more


Requirement Request: Diagnostics Report: Visualize Metric Relations

Description
Generate a TiDB dababase pprof just like golang pprof, base in time cost in each module, such as :

total time
avg time
P999 time
P99 time

And we can put some related information together, such as pool-size config value.

Category

Feature

Usability

Value
The pprof is more understandable and put information together is better for usage.

Score: 4

Workload Estimation

40 Person Day

This feature is already implemented.


Added 'Sessions' Migration File for BrowserSessions feature

Added 'Sessions' Migration File for BrowserSessions feature

https://laravel.com/docs/11.x/session#database
php artisan make:session-table
php artisan migrate


Add License

Hi!
Would it be possible to clarify the license?  Preferably Apache 2.0 by adding a LICENSE file.
Thanks!

Done: https://github.com/dlew/android-headset-blocker/commit/01e4c89bc8a0545a196da80de64dad46172c9cd5


Object Storage Get request deprecated

Get Request count seems to be done from the docs and throws 404 errors in the OCI Object Storage plugin: https://docs.oracle.com/en-us/iaas/Content/Object/Reference/objectstoragemetrics.htm

Hi. The OCI metrics plugin actually is agnostic on the kind of MQL queries you are setting on your dashboard. In other terms, you are free to use or query any metric, in this case, for Object Storage. Am I missing something here ?


The latest pypi package (3.3.1) does not contain the adslib anymore

This issue is addressed by #185 and fixed with release 3.3.2.

This issue is addressed by #185 and fixed with release 3.3.2.


[storage-preview] Bump azure-mgmt-storage to 2021-08-01

pending on swagger PR https://github.com/Azure/azure-rest-api-specs/pull/16659 get merged

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

storage-preview


AI proxy spin app

copied code from https://github.com/petersalomonsen/near-openai/pull/11
hash conversation_id when calling the smart contract from the proxy to ensure that the smart contract does not reveal the conversation id that the AI proxy accepts

@race-of-sloths include

@petersalomonsen Thank you for your contribution! Your pull request is now a part of the Race of Sloths!
Weekly streak is on the road, smart strategy! Secure your streak with another PR!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command. Alternatively, autoscoring [1,2] will be applied for this pull request
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths and receive a reward
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Invite contributor @race-of-sloths invite to invite the contributor to participate in a race or include it, if it's already a runner.
Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

🥁  Score it!
@petersalomonsen, please ask your peers to score the PR using @race-of-sloths score [1/2/3/5/8/13].
If no scoring is provided within 24 hours, this PR will be scored as 1 🦥

🥁 Score it!
@petersalomonsen, please ask your peers to score the PR using @race-of-sloths score [1/2/3/5/8/13]. If no scoring is provided within 24 hours, this PR will be scored as 1 🦥

would you be able to give a score @Tguntenaar ?

@race-of-sloths score 8

⏰ Scoring closed
24 hours have already passed since the merge


[BUG] ModuleNotFoundError: No module named '_cffi_backend'

python version: >=3.7, <= 3.11
function version: 4
Starting Host (HostId=redacted, InstanceId=18e5b7f9-c832-4b7f-abe4-8c27109f3c84, Version=<IP_ADDRESS>, ProcessId=1937, AppDomainId=1, InDebugMode=False, InDiagnosticMode=False, FunctionsExtensionVersion=~4)
Contents of the requirements.txt file:
azure-functions
msal

On my computer function runs fine but after deployment there are errors:
Host initialized (201ms)
ModuleNotFoundError: No module named '_cffi_backend'
thread '<unnamed>' panicked at /github/home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.18.3/src/err/mod.rs:790:5:
Python API call failed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I have no clue what I'm doing wrong, it looks like some dependencies are missing.

Thanks for reporting pls share the all repro steps with your  sample code.invocation id,timestamp,region etc.


E621 ripper now accepts urls with order:Score at the end

Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[X] a bug fix (Fix #692)
[ ] a new Ripper
[ ] a refactoring
[ ] a style change/fix

Description
Tweaked how getGID works so it now accepts urls with order:Score at the end
Testing
Required verification:

[ ] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[ ] I've verified that this change works as intended.

[ ] Downloads all relevant content.
[ ] Downloads content from multiple pages (as necessary or appropriate).
[ ] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[ ] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[ ] I've added a unit test to cover my change.

Coverage increased (+0.02%) to 36.56% when pulling 135e55fb0e4fe0a6da56e9c6ef4f541af3f90fd8 on cyian-1756:e621UrlRegexFix into 160df31497a8a09fe42a7c5fd2578616e9ae97a1 on RipMeApp:master.


Access the Editor Subsystem

Hi, I wonder if this is a missing feature or maybe I am missing something, but I've been trying to get the editor subsystem by using the EditorEngine class and calling the method GetEngineSubystem to pass the MoviePipelineQueueSubsystem object.
I've tried to use it directly EditorEngine().GetEngineSubystem(MoviePipelineQueueSubsystem) and by using something like EditorEngine().call_function("GetEngineSubystem", MoviePipelineQueueSubsystem) without success, it says the function can't be found.
Any help around this would be appreciated.

Have you tried calling to see if the function is accessible first with the call:
_GetEngineSubystem_func = EditorEngine().find_function('GetEngineSubystem') print('_GetEngineSubystem_func: {}'.format(_GetEngineSubystem_func))
... to see if it returns a None or UFunction handle?


Display ids as decimal, not hexa

Reopening !19 properly

Why do we need this change?
hexa (%x) used to align with etcd logs https://github.com/etcd-io/raft/blob/main/node.go#L370


feat: enable JobLogs and JobStreams log categories

Enables monitoring of which jobs (JobLogs) and their outputs (JobStreams).

TestBasicExample passes 🎉 (TestCompleteExample should be removed, see #22 )


Form Builder - Translate feature is getting both languages mixed when switching from one side to the other

https://user-images.githubusercontent.com/1763961/203582853-05e00352-70d3-4ee0-b2fe-2fbe94c10bed.mov

Appears to be happening with the RichText component.


Pipeline example

Hi, I'm unable to find any example showing how to use the pipeline to send multiple commands at the in a single call?
Please provide an example code showing this that also reads replies from the returned result

Assuming you are talking about the blocking context, here is an example about how to do that:
#include <hiredis/hiredis.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char **argv) {
    redisContext *c;
    redisReply *r;
    int i, n;

    n = argc > 1 ? atoi(argv[1]) : 1000;
    if (n < 1) {
        fprintf(stderr, "Error:  Must send more than zero commands\n");
        exit(-1);
    }

    c = redisConnect("localhost", 6379);
    if (c == NULL || c->err) {
        fprintf(stderr, "Error:  Can't connect to redis\n");
        exit(-1);
    }

    /* Calling redisAppendCommand will append to the output buffer */
    for (i = 0; i < n; i++) {
        if (redisAppendCommand(c, "INCR %s", "my_int_key") != REDIS_OK) {
            fprintf(stderr, "Error:  Can't send command %d\n", i);
            exit(-1);
        }
    }

    /* The first time you call redisGetReply the whole output buffer is sent */
    for (i = 0; i < n; i++) {
        if (redisGetReply(c, (void**)&r) != REDIS_OK) {
            fprintf(stderr, "Error:  Can't get reply %d\n", i);
            exit(-1);
        }
        freeReplyObject(r);
    }
}

https://github.com/redis/hiredis#pipelining

Assuming you are talking about the blocking context, here is an example about how to do that:
#include <hiredis/hiredis.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char **argv) {
    redisContext *c;
    redisReply *r;
    int i, n;

    n = argc > 1 ? atoi(argv[1]) : 1000;
    if (n < 1) {
        fprintf(stderr, "Error:  Must send more than zero commands\n");
        exit(-1);
    }

    c = redisConnect("localhost", 6379);
    if (c == NULL || c->err) {
        fprintf(stderr, "Error:  Can't connect to redis\n");
        exit(-1);
    }

    /* Calling redisAppendCommand will append to the output buffer */
    for (i = 0; i < n; i++) {
        if (redisAppendCommand(c, "INCR %s", "my_int_key") != REDIS_OK) {
            fprintf(stderr, "Error:  Can't send command %d\n", i);
            exit(-1);
        }
    }

    /* The first time you call redisGetReply the whole output buffer is sent */
    for (i = 0; i < n; i++) {
        if (redisGetReply(c, (void**)&r) != REDIS_OK) {
            fprintf(stderr, "Error:  Can't get reply %d\n", i);
            exit(-1);
        }
        freeReplyObject(r);
    }
}

https://github.com/redis/hiredis#pipelining


fix typo

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

#sign-off
Thank you @YoungjaeKim!


[AEM] Awkward spacing above TOC on md and sm breakpoints

Detailed description

I'm not sure if this space is to accommodate for the L0 header, but for AEM and I think according to the TOC design specs only the TOC should stick to the top of the page as the user scrolls. After talking with Christian Schimanski, it sounds like this is something that needs to be fixed on your guys' end.

Is this a feature request (new component, new icon), a bug, or a general
issue?
Not sure if this is a bug or a general issue.

Is this issue related to a specific component?
This is related to the TOC component.

What did you expect to happen? What happened instead? What would you like to
see changed?
I expect the TOC on md and sm breakpoints to lock to the top of the browser without any spacing between the TOC bar and the browser chrome.

What browser are you working in?
Chrome

What version of Carbon for IBM.com are you using?
Not sure.

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?
We are going live next week and would be nice to have this fixed by then.

Additional information

Hey @kirbyevans, do you know if you are using the ToC - default (vertical), or are you testing using the ToC – horizontal release candidate? Will be helpful for us to know, thanks!

@oliviaflory right now, we are seeing this issue for the ToC - default (vertical) version. We haven't started implementing the ToC – horizontal just yet.

@kirbyevans following up: the original implementation of TOC did not have the masthead scrolling out of view, so you're seeing the space allocated for the masthead. However I'm not sure how the masthead was removed...so that is not the correct behavior either. It seems to be working in our Dotcom shell example
The feature to scroll the masthead out of view and pin the TOC to the top of the browser has not been added quite yet, here's the issue tracking scroll behavior #5573

Hey @oliviaflory, there might be some inconsistencies between the Carbon for IBM.com site, the ToC design specs, and Storybook. The L1 example on Storybook has the L0 and L1 sticking to the top of the page, but on Carbon for IBM.com we say that the L1 should stick and the L0 should not.

But, also, according to our design specs for TOC the TOC bar on md and sm breakpoints should then push the masthead (L1) out of view as well leaving only the TOC at the top of the page.

Anna will reach out to the AEM engineering to get more implementation details.  Need to determine where the fix has to be made.

After speaking with Christian, the masthead disappearing on scroll is done through AEM. Our mobile TOC doesn't have the functionality to lock to the top yet (as Olivia mentioned we have a ticket to track this #5573) which is why we have this awkward spacing.

@kirbyevans following up with this, I would recommend adding back the masthead on scroll for now as we already have a ticket in place to remove masthead and lock toc to top on scroll.


Profile thumbnail doesn't update from default unless you refresh

Tested with serena.williams/tennis

fixed. Changed around timing on image loading, and added a listener on the thumbnail itself to the navigation


Remove extra whitespace

Allows for more consistent usage of { and } for navigation, and removes extra trailing whitespace.

I realized there was a fair amount of trailing spaces as well, so I removed those as well. Since it's all whitespace changes I figure a separate PR wasn't necessary.

Looks good thank you for contributing!


general salvage term

Hello,
I was wondering if it would be valuable to have a
general salvage process term that had all of the
current salvage terms as children:
GO new:  "metabolic compound salvage"
definition:  Any process which produces a useful
metabolic compound from deriviatives of it without de
novo synthesis.
parent id: "metabolism" GO:0008152
If all of the current salvage terms became children of
this term it would allow someone to quickly find all
genes involved in salvage pathways if they wanted to.
Do you think this would be useful?
Also, I think the term "photorespiration" should be a
child of this new term if it gets created.  The
photorespiration system is a pathway to retain carbon
skeleton from a not-so-useful by-product of RuBisCo,
phophoglycolate.  It is "carbon salvage" and maybe that
should be a new term too, child of the general one
above and parent of "photorespiration".
Thanks for your time,
Michelle
Reported by: mlgwinn
Original Ticket: "geneontology/ontology-requests/1464":https://sourceforge.net/p/geneontology/ontology-requests/1464

thanks www.movied.org


CM-1014 - Update live-connect-js dependency

Type of change

[x] Other

Description of change
This update disables identity resolution cache and makes caching rely on browser cache in order to minimize the cookie footprint.

Opened a PR in the Prebid organisation: https://github.com/prebid/Prebid.js/pull/10693


Add a page to display benchmarks

Add a page to display benchmarks

Simple IFRAME to an OSD dashboard
The page is temporarily excluded from search engines

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

This is amazing @AMoo-Miki @bbarani - thank you.
I've asked @jhmcintyre to review some of the wording included at the top of the page to see if we need to be more descriptive -- I expect he'll be able to get time for that on Monday - thanks!

@AMoo-Miki @bbarani -- are we ready on this one?

@AMoo-Miki @bbarani -- are we ready on this one?

I am good with merging this PR.


Added WEBSITE_CONTENTOVERVNET to the Networking section

Added the WEBSITE_CONTENTOVERVNET app setting to the Networking section, as this is now used with File Share mounts in App Service over a VNET.

@cephalin
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


MAINT/TST: improved test coverage for DIRECT optimizer

Reference issue
The test coverage for _direct_py.py is only 46%. https://app.codecov.io/gh/scipy/scipy/tree/master/scipy/optimize
What does this implement/fix?
Additional tests for all the input validation and return messages are added.
It turned out that two input validation if statements are actually not necessary (covered by the Bounds class or by the check that lower bounds must be indeed lower than the upper bounds), so they were removed
Additional information
CC @czgdp1807 : would you have time to review? I guess it would be a lot easier for you than any other scipy maintainer.

Can be merged from my side.


Manifest schema: allow specifying a graft base

This is needed to enable using the functionality in https://github.com/graphprotocol/graph-node/pull/1572

Rebased to latest head


[BEAM-11805] Replace user-agent for spanner

This patch contains the workaround to replace the user-agent for spanner.
R: @TheNeuralBit  @nielm

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@TheNeuralBit  - This patch has the following checkstyle violation. Can you help with this?
[ant:checkstyle] [ERROR] /usr/local/google/home/alxavier/spannerio/apbeam/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerAccessor.java:35: You are using raw guava, please use vendored guava classes. [ForbidNonVendoredGuava]

@TheNeuralBit - This patch has the following checkstyle violation. Can you help with this?
[ant:checkstyle] [ERROR] /usr/local/google/home/alxavier/spannerio/apbeam/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerAccessor.java:35: You are using raw guava, please use vendored guava classes. [ForbidNonVendoredGuava]

Replace the import
com.google.common.util.concurrent.ThreadFactoryBuilder
With
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.ThreadFactoryBuilder

Run Java PreCommit

@nielm  @thiagotnunes  - Thanks
Please take a look.
I have fixed the checkstyle issues and added the support for checking emulator connection.

Run Java PreCommit

@allenpradeep could you also cherry-pick the the version update commits from #13765? They were rolled back in #13792. I'd like to apply both changes at once to make sure they pass CI before merging.

There were some spanner test issues with the previous commit. I'll cherry pick #13765 after the integration tests passes and resend.

@allenpradeep could you also cherry-pick the the version update commits from #13765? They were rolled back in #13792. I'd like to apply both changes at once to make sure they pass CI before merging.

@TheNeuralBit  - cherry-picked the the 2 commits from #13765.
Waiting for the tests to complete.

Run Java PreCommit

Run Java PreCommit

@allenpradeep  The merge conflict looks to be due to https://github.com/apache/beam/pull/13804, which upgraded guava. I don't think it's an actual conflict, it's just that 007c0ab is upgrading gRPC, which is on an adjacent line. The resolution should be to just make sure we upgrade both.

@allenpradeep The merge conflict looks to be due to #13804, which upgraded guava. I don't think it's an actual conflict, it's just that 007c0ab is upgrading gRPC, which is on an adjacent line. The resolution should be to just make sure we upgrade both.

@TheNeuralBit
Done. PTAL

Run Java PostCommit

Failure is a flake in FhirIOReadIT. I'll go ahead and merge.