Make FMCS check bond stereo.

Reference Issue
Fixes issue discussed in https://github.com/rdkit/rdkit/discussions/5000
What does this implement/fix? Explain your changes.
the RMCS checkBondStereo function only compared if the bond stereo was defined for one bond, and not for the other.  It didn't check to see that if they were both set, that they matched.  Thus CC\C=C\CC and CC\C=C/CC were deemed a match.
Any other comments?
Tested on macOS and C++ only.

I don't think the failures are mine, although they both fail in testRGroupDecomp which smells a bit suspicious.  That test works on my MacBook Pro.  I don't have a windows build environment.

@DavidACosgrove https://github.com/rdkit/rdkit/blob/0d8e985c381080a87adad96ab3b0372850005de1/Code/GraphMol/RGroupDecomposition/testRGroupDecomp.cpp#L1319
https://github.com/rdkit/rdkit/blob/0d8e985c381080a87adad96ab3b0372850005de1/Code/GraphMol/RGroupDecomposition/testRGroupDecomp.cpp#L1321

Thanks @ptosco, that's done the job nicely.

Thanks @DavidACosgrove! I'll merge this once the tests pass.


Find out whether we should remove the cc deployment updater

Is your feature request related to a problem? Please describe.
The CC deployment updater freezes when the database goes away.
It doesn't die, so it also doesn't recover.
The description of the job in its spec says "experimental" - is this component needed? and how does it work?
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered

Letting the component be as it is for upstream.
Using this port for readiness

Additional context
#1589

See also #1355 and #1595
Note: Current readiness probe is more like a liveness probe. The current liveness checks only process presence, and the other probe checks that the update loop is actually active, which looks to be stricter, and better than process presence.

Removed in #1637 and upgrade should work after #1632


Supporting async-only jstransformers; fixes #166

The core of this PR is to switch from calling jstransformer's renderFile function to instead calling renderFileAsync. Because of the sync fallback support in jstransformer (https://github.com/jstransformers/jstransformer/blob/69fd94c47500fe4d4c8d9f1ac2918c2a55075db0/index.js#L345), calling the async function should work for both async and sync template engines.
The only additional change in this PR is to move code unrelated to the async operations out of the scope of the promise code.
I looked for a place to add tests to verify, but all of the test fixtures in the repository were more granular than this specific change. All current tests pass, though.

Addresses #166

Published in 2.3.0, thanks for the PR!


Wraps tests that test width in explicitly sized containers

Wraps tests that test width in explicitly sized containers
Trying to get this in to fix tests on master before we move forward with any more PR merges.

Gonna merge, not trying to bypass you. Just trying to get master passing again so we can slam the rest of those PR's out tomorrow.


[GHSA-3h5c-v4x2-h5xf] Use After Free in NPM radare2.js prior to 5.6.2.

Updates

Affected products
Source code location
Summary

Hi @p-w similar to #521 this package does not seem to exist
https://www.npmjs.com/package/radare2

@darakian sorry, the correct package is r2core.
I can't change the commit in the open pull request. Can you edit it or should I submit a completely new one?

Closing this issue to follow https://github.com/github/advisory-database/pull/521


freetds: 1.4.2 -> 1.4.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/freetds/versions.
meta.description for freetds is: Libraries to natively talk to Microsoft SQL Server and Sybase databases
meta.homepage for freetds is: https://www.freetds.org
meta.changelog for freetds is: https://github.com/FreeTDS/freetds/releases/tag/v1.4.6
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.4.6 with grep in /nix/store/395sbaqi8vv5wz1prgqj69bqpza6y90z-freetds-1.4.6
found 1.4.6 in filename of file in /nix/store/395sbaqi8vv5wz1prgqj69bqpza6y90z-freetds-1.4.6

Rebuild report (if merged into master) (click to expand)

30 total rebuild path(s)

30 package rebuild(s)

First fifty rebuilds by attrpath
check-mssql-health
freetds
haskellPackages.odbc
perl536Packages.DBDsybase
perl538Packages.DBDsybase
pgloader
php81Extensions.pdo_dblib
php82Extensions.pdo_dblib
php83Extensions.pdo_dblib
postgresql11JitPackages.tds_fdw
postgresql11Packages.tds_fdw
postgresql12JitPackages.tds_fdw
postgresql12Packages.tds_fdw
postgresql13JitPackages.tds_fdw
postgresql13Packages.tds_fdw
postgresql14JitPackages.tds_fdw
postgresql14Packages.tds_fdw
postgresql15JitPackages.tds_fdw
postgresql15Packages.tds_fdw
postgresql16JitPackages.tds_fdw
postgresql16Packages.tds_fdw
postgresqlJitPackages.tds_fdw
postgresqlPackages.tds_fdw
rubyPackages.tiny_tds
rubyPackages_2_7.tiny_tds
rubyPackages_3_0.tiny_tds
rubyPackages_3_1.tiny_tds
rubyPackages_3_2.tiny_tds
rubyPackages_3_3.tiny_tds
sqsh

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/395sbaqi8vv5wz1prgqj69bqpza6y90z-freetds-1.4.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A freetds https://github.com/r-ryantm/nixpkgs/archive/441d0d44d0099a1e97d5a2d2ed04410bce43d6c0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/441d0d44d0099a1e97d5a2d2ed04410bce43d6c0#freetds

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/395sbaqi8vv5wz1prgqj69bqpza6y90z-freetds-1.4.6
ls -la /nix/store/395sbaqi8vv5wz1prgqj69bqpza6y90z-freetds-1.4.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

hasura-graphql-engine

25 packages built:

check-mssql-health
freetds
perl536Packages.DBDsybase
perl538Packages.DBDsybase
pgloader
php81Extensions.pdo_dblib
php82Extensions.pdo_dblib
php83Extensions.pdo_dblib
postgresql11JitPackages.tds_fdw
postgresql11Packages.tds_fdw
postgresql12JitPackages.tds_fdw
postgresql12Packages.tds_fdw
postgresql13JitPackages.tds_fdw
postgresql13Packages.tds_fdw
postgresql14JitPackages.tds_fdw
postgresql14Packages.tds_fdw
postgresqlJitPackages.tds_fdw (postgresql15JitPackages.tds_fdw)
postgresql15Packages.tds_fdw
postgresql16JitPackages.tds_fdw
postgresql16Packages.tds_fdw
rubyPackages.tiny_tds
rubyPackages_3_0.tiny_tds
rubyPackages_3_2.tiny_tds
rubyPackages_3_3.tiny_tds
sqsh

Maintainer pings
cc @peterhoeg for testing.

@ofborg eval


Fix: Sparse arrays in rules with spacing and commas

Added fixes for disallowCommaBeforeLineBreak and
requireCommaBeforeLineBreak
Fixes: #1909

Coolsies


With the new resolution (g_designSize: 960, 640) I get this exception on cpp_test: void Sweep::EdgeEvent(SweepContext& tcx, Point& ep, Point& eq, Triangle* triangle, Point& point) {

latest
48 node::SpritePloygon -> after 7

I revert design size: https://github.com/axmolengine/axmol/commit/56d4140628d2166c3ba93904539f8f4dc3c6cfcf

Should we not fix tis bug?

Can take a look does some tests of cpp-tests design for specific design-size

@aismann This issue caused by clipper2, when I revert to clipper1, works well, can you take a look?

Yes.

@halx99
Please add pinned.

Some hint log:
    /*
    * clipper1
    ##################### outPoints count: 5772, cost 250.085 (ms)
    ##################### outPoints count: 5772, cost 252.699 (ms)
    ##################### outPoints count: 5772, cost 251.789 (ms)
    ##################### outPoints count: 5772, cost 250.371 (ms)
    ##################### outPoints count: 5772, cost 250.287 (ms)

    * clipper2:
    * ##################### outPoints count: 5827, cost 43.250 (ms)
    */

@aismann Caused by duplicate outPoints, remove duplicated points will solve this issue(notes: the outPoints generate by clipper1 no duplicates):
struct point64_less
    {
        bool operator()(const Clipper2Lib::Point64* lhs, const Clipper2Lib::Point64* rhs) const
        {
           return lhs->x < rhs->x || (lhs->x == rhs->x && lhs->y < rhs->y);
        }
    };

    std::set<const Clipper2Lib::Point64*, point64_less> pointSets;
    for (auto&& p2 : out)
    {
        if (!p2->IsHole())
        {
            outPoints.reserve(outPoints.size() + p2->Polygon().size());
            for (auto&& so : p2->Polygon())
            {
                const Vec2 pt(so.x / PRECISION, so.y / PRECISION);
                if(pointSets.emplace(&so).second)
                    outPoints.emplace_back(so.x / PRECISION, so.y / PRECISION);
            }
        }
        else
        {
            AXLOG("Clipper2 detect a hole!");
        }
    }

@halx99
Thanks.
I have seen it too.
But no time at the Moment

About duplicates outPoints, refer to

https://github.com/AngusJohnson/Clipper2/issues/253
https://github.com/AngusJohnson/Clipper2/discussions/286

@halx99 Thanks. I have seen it too. But no time at the Moment
Edit: Clipper has:  cl.StrictlySimple(true); Clipper2 not. For me its looks more as a "bug/Missing function" of Clipper2 or a wrong implementation on AutoPolygon::expand. I dont want add a "workaround" without ask the Clipper2 developer too. => I have to write an 'example' for the clipper2 issue stuff

You can ask the clipper2 developer.

Maybe this "function" helps: (not tested)
 Clipper2Lib::SimplifyPath(out.Polygon(), epsilon, false);

I have tested it and it looks very fast!
Changing also the tester: (0.5 => 1.0)
 auto pinfo  = AutoPolygon::generatePolygon("Images/sprite_polygon_crash.png", Rect::ZERO, 1.0);
Can you send me the code snippet for this performance line too?
 * ##################### outPoints count: 5827, cost 43.250 (ms)

with
Clipper2Lib::SimplifyPath(out.Polygon(), epsilon, false);
auto pinfo  = AutoPolygon::generatePolygon("Images/sprite_polygon_crash.png", Rect::ZERO, 2.0);
it looks also "fine" and its very very fast (of course!)
only  13419 vertices

with epsilon 1.0:

##################### outPoints count: 5827, cost 43.250 (ms)  it's the original clipper2 perf

with
 Clipper2Lib::SimplifyPath(out.Polygon(), epsilon, false);
 auto pinfo  = AutoPolygon::generatePolygon("Images/sprite_polygon_crash.png", Rect::ZERO, 2.0);

it looks also "fine" and its very very fast (of course!) only 13419 vertices

will test on my machine with your solution

Notes: upstream: https://github.com/axmolengine/axmol/commit/0bb8c89ef350fa233b04850f9008337e68e4d5bc
#################### #outPoints count : 5813, cost 41.439(ms)
#################### #outPoints count : 5813, cost 42.136(ms)
#################### #outPoints count : 5813, cost 41.424(ms)
#################### #outPoints count : 5813, cost 41.933(ms)
#################### #outPoints count : 5813, cost 41.414(ms)
#################### #outPoints count : 5813, cost 41.721(ms)

Clipper2Lib::SimplifyPath(out.Polygon(), epsilon, false);

Still crash with the code snippet:
std::vector<Vec2> outPoints;
    for (auto&& p2 : out)
    {
        if (!p2->IsHole())
        {

            Clipper2Lib::SimplifyPath(p2->Polygon(), epsilon, false);
            outPoints.reserve(outPoints.size() + p2->Polygon().size());
            for (auto&& so : p2->Polygon())
            {
                outPoints.emplace_back(so.x / PRECISION, so.y / PRECISION);
            }
        }
        else
        {
            AXLOG("Clipper2 detect a hole!");
        }
    }


Reuse dashboards across Juju applications with the same charm and version

Grafana dashboards in Grafana should be shared across all versions of the same charm.
Dashboards in Grafana should be identified by <charm_name>/<charm_version>, so that we can use the grouping inside the dashboard to handle multiple instances of the same charm and allow quick comparison of, e.g., performance of various Cassandra clusters in one go.

Done as part of "stable UIDs" in #114


svg extension

Would it be possible to make simple svg extension that would just add data- to describe color and fill? Then you could open/preview/draw the files anywhere, and convert them with EmbMod.

Can you supply a sample file showing this?
Using data doesn't sound like a good idea because the word is so generic.

<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
 <g>
  <ellipse ry="100" rx="100" cy="200" cx="200" fill="#FF0000" data-fill-type="standard01" />
  <ellipse ry="100" rx="100" cy="200" cx="200" stroke-width="5" stroke="#000000" />
  <path d="m160,187c-1,0 -95,50 -95,50c0,0 428,-8 428,-8c0,0 -85,-40 -85,-40" stroke-width="5" stroke="#000000" />
 </g>
</svg>

Thinking to use standard fill, stroke for color differentiation, and order for layering. Then, when we need to attach more info (how to fill or stroke), use attributes like data-fill-type.

I think I understand what you are trying to do now. Is there a solid filling pattern that you plan on using other than tatami? The idea is that fills are a solid singular color (the svg spec even does this). Gradients and what we are going to be calling "hatch patterns" are covered under the linearGradient, radialGradient and pattern elements in the SVG spec ( http://www.w3.org/TR/SVG/pservers.html ).
I think creating a list of all stitch fill types should be done first before getting too deep into this. Tatami would be 1.

Also relevant standard properties: ‘stroke-linecap’ and ‘stroke-linejoin’ http://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty

libembroidery does handle conversion to and from SVG and machine formats. Currently there are some things that need fixed or implemented for SVG though. If you plan on generating your patterns programmatically, using the CSV format is the best route but SVG would work too. If you plan on designing something in Inkscape for example, you're going to run into several issues unless you use the inkscape extension I hacked together which resides in the experimental folder and even then it has a few problems( @stesie appears to tweaked it some but I haven't seen a pull request yet ).
The API changes to libembroidery I made earlier should allow the Inkscape extension to be modified to output any format using libembroidery (I just haven't tested it yet) It should fix several issues with the python bindings as well as other language bindings, but breaks the delphi binding (sorry @x2nie).
The fill angle and possibly x/y offsets is the only other data I think that would be needed for a proper svg extension. Like I mentioned previously, I think using the word data is too generic. If you look at how Inkscape adds their own data into an SVG file, you will see sodipodi and inkscape littered throughout the file, so using  embroidery-fill-angle or possibly a more brief emb-fill-angle would be best for that type of approach.
Try converting any embroidery file into an SVG and you will see that our SVG writer produces raw polyline output. That output is much more suitable for a machine or viewing in other apps but is not suitable for easy editing, so do you propose making these new extensions available under an "Embroidermodder SVG" versus a "Plain SVG"? If it is possible to have both work when being present in the same SVG file, I would prefer that, but I'm not sure if it's possible.

no worry when delphi binding broken. I think current delphi binding is proof of concept, it doesn't yet do nothing than convert from one to other embroidery format. I can fix-up it later. Thanks you.

It would be awesome to make a web-based svg path/pattern editor, then use https://github.com/Embroidermodder/Embroidermodder/tree/master/experimental/javascript to directly make binaries to copy to the machine. I'd be into building a proof-of-concept.
Have you tried the emscripten port recently?

Forrest,
I haven't tried the emscripten port for awhile, but I tried it tonight to refresh myself on where it was at.
The libembroidery-convert-js shell script works fine for outputting the basic usage, but our error handling reports that it's not able to open files for reading, so that's where it is at.
 SDL2 recently added Emscripten support to their library so I will eventually dig into how they implemented file reading/writing and also see if there is an official way that Emscripten might suggest to use so that we can determine the proper fix.
I would really like to see your proof-of-concept because I feel that in the future, using Emscripten for the javascript binding is really the way to go.

https://github.com/evil-mad/robopaint is web-based (electron shell) and quite advanced for

opening and editing SVG (works fine for sizing, moving, editing SVGs produced with Illustrator and Inkscape)
converting to cnc commands (variety of path and fill options)
controlling watercolorbot

... could make a mode within Robopaint that uses their work and outputs CSV. Then we just need a working convert.js to output the formats needed.

It would be in error to attempt to modify the given SVG format. SVG specification gives a variety of different methods to extend the SVG format and use that extendability for non-standard elements and foreignObjects within a switched context. I'm currently authoring a different embroidery program for Android (Touch Embroidery) which works natively with SVGs but is hitting a roadblock with how to describe the higher level elements without including them directly in the SVG.
So, I've thought a lot about this. The biggest problem is that the embroidery formats are a clusterfrack. Some include various bits of information that are completely pointless others include different pointless data others include sometimes shape data other-times images in various thread colors from a magic list. So there's all this data which is going to be lost if you save into a format that is less powerful than you can currently describe. If you have a DST file, that might as well be a compiled file binary because you have some start and stop data (cuts are a weird -2,-2,+4,+4,-2,-2 stitch thing) but there's no color data or the higher level data and some like .EMB include this stuff but it's certainly not open. So really extending SVG to not only do the path data (which is great) but to basically be the core format for embroidery. Without this things are a lot more difficult to save your progress and reload accordingly.
The proper format would be something akin to:

         <polyline stroke="#000" stroke-width="3" points="[actual-stitches of a tatami filled ellipse]/>

This is a valid and actually open format (an SVG Extension here is needed) and would allow max compatibility and power (it would need to do everything any embroidery format does and more).
Opening this in say Inkscape would read the foreign object has a non-standard requiredExtension skip that and then do the ellipse because it understands that. Many direct readers could then skip the ellipse object and find a polyline object which is certain to be directly able to be converted into stitch data.
Viewing this in a compatible embroidery program would see the tatami filled ellipse at a 40° angle with centered underpathing made with Isacord thread. An svg reader would see the black ellipse and show that to the user (a pretty good representation mind you). And a quick and dirty svg to stitches converter could well just access the stitch data from the polyline object, and feed that to whatever clusterfrack of proprietary embroidery formats that is required.
The trick here then is to determine a goodly set of acceptable and useful embroidery fills and objects and then map those out. The original question has one, but that's not actually anywhere near the amount of ways to fill in a even a circle. Not only can you do radial fills but guilloches with multiple colors. There's significant utility in having a fill that does a normal back and forth pattern but steps down two lines each time. This would allow your fill area to be a loop and have no need for underpathing, as geometrically loops can just be pasted into another set of lines etc.

But things like "Gradients and what we are going to be calling "hatch patterns" are covered under the linearGradient, radialGradient and pattern elements in the SVG spec" this is not what the SVG spec is covering, it covers actual gradients. You want to extend a foreign object that defines a specific hatch-pattern type and applies that to a shape.
You're going to be left scratching your head if you keep trying to just use the graphics elements in SVG as some kind of secret handshake code for embroidery when they aren't. It needs an SVG extension which stores that actual data in a very understandable and usable format which directly allows reuse and valid fully realized descriptions of the actual objects. Then when you save, you save them in a switch tag which saves the embroidery object, the graphics svg object, and the stitch data.
Then the program can very well load up an SVG and then show the graphics. Then a given embroidery program can modify that to give it specific instructions on how those lines are filled in, and what they look like filled in. Describing the fill and any modifications to the fill pattern, and producing stitch data from those settings which are also saved in the file that can be rebuilt when things are resized etc.
So you'd end up with gradients objects that draw on graphics objects and crosshatch objects that draw on embroidery objects and the stitch data all in the same file AND in valid SVG format.

Also, while neither here nor there. Having mapped a lot of the math out, tatami is not a fill pattern. It's an algorithm. Well, its a class of algorithms which fill in an object with some kind of proper fill (zig-zag, z, E, parallel lines) and connects the non-monotone parts of the given polygon/shape through (typically) underpathing.
Fills are built on smaller bits, typically a proper fill would be how map out a space filling curve, into a given envelope, and the mathematical restrictions this engenders. For example a satin stitch is often a sweepable fill of an object in zig-zag, with turn corrections. So it only works in sweepable polygons. Whereas a flat fill is typically parallel boustrophedon pathing in a monotone shape. Such shapes are by definition sweepable, but not all sweepable polygons are monotone. But, really both typical fills flat and satin are properly fills. And if one misses this, and supposes that tatsumi is a type of fill and basically the fill they utterly miss the point. And fall into the same errors of traditional embroidery software.
A really proper system would break down a tatsumi fill into the sequences of flat fills and underpathing that it actually is, thus allowing a person better access, control, and the ability to more or less maintain the same rendering of the embroidery objects at a higher level even if the implementation of tatsumi locally does not exist or would path objects completely differently.


Consider a disclaimer or example for setting image sampler filter to Nearest to avoid sprite bleed

Consider adding an example that sets the image sampler to use nearest filtering to avoid sprite bleed. I didn't know linear filtering was set by default and it took quite a while to a) diagnose the issue and b) determine the best way to fix it. Along the way I tried padding which helped, but ultimately wasn't the real issue.
This is addressed generally in https://github.com/bevyengine/bevy/discussions/1289, so if you feel a full example isn't warranted with boilerplate to actually set the value, consider at least linking to this issue?
With bleed:

After padding but still border issues

After setting filter to Nearest

My code. Note this won't work out of the box because you don't have the required files on disk:
use bevy::{
    asset::{self, LoadState},
    diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin},
    ecs::schedule::ScheduleLabel,
    math::{uvec2, vec2},
    prelude::*,
    render::{render_resource::FilterMode, texture::ImageSampler},
    window::PresentMode,
};
use bevy_fast_tilemap::{map::DefaultUserData, FastTileMapPlugin, Map, MapBundleManaged};

mod mouse_controls_camera;
use mouse_controls_camera::MouseControlsCameraPlugin;

#[derive(Resource)]
struct TileTerrainIndices(Vec<u32>);
#[derive(Resource)]
struct TextureAtlasHandle(Handle<Image>);

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins.set(WindowPlugin {
                primary_window: Some(Window {
                    title: String::from("Fast Tilemap example"),
                    resolution: (1820., 420.).into(),
                    // disable vsync so we can see the raw FPS speed
                    present_mode: PresentMode::Immediate,
                    ..default()
                }),
                ..default()
            }),
            LogDiagnosticsPlugin::default(),
            // FrameTimeDiagnosticsPlugin::default(),
            MouseControlsCameraPlugin::default(),
            FastTileMapPlugin::default(),
        ))
        .add_systems(Startup, startup)
        .add_systems(Update, ensure_texture_filter)
        // .add_systems(FixedUpdate, update_map)
        // Performance-wise you can step this much faster but it'd require an epillepsy warning.
        .insert_resource(Time::<Fixed>::from_seconds(0.2))
        .run();
}

fn ensure_texture_filter(
    mut commands: Commands,
    asset_server: Res<AssetServer>,
    mut materials: ResMut<Assets<Map>>,
    mut images: ResMut<Assets<Image>>,
    mut done: Local<bool>,
    handle: Res<TextureAtlasHandle>,
    tile_terrain_indices: Res<TileTerrainIndices>,
) {
    if dbg!(*done) {
        return;
    }

    let handle = handle.0.clone();
    if dbg!(asset_server.load_state(&handle)) != LoadState::Loaded {
        return;
    }

    let atlas = images.get_mut(&handle).unwrap();
    atlas.sampler = ImageSampler::nearest();

    let map = Map::builder(uvec2(100, 100), handle, vec2(16., 16.))
        .with_padding(vec2(2., 2.), vec2(0., 0.), vec2(0., 0.))
        .build_and_initialize(|m| {
            // Initialize using a closure
            // Set all tiles in layer 0 to index 6
            for y in 0..m.size().y {
                for x in 0..m.size().y {
                    m.set(x, y, tile_terrain_indices.0[(x * 100 + y) as usize] - 1);
                }
            }
        });

    commands.spawn(MapBundleManaged {
        material: materials.add(map),
        ..default()
    });

    *done = true;
}

fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2dBundle::default());
    let handle = asset_server.load::<Image>("sprite_images/atlas-1.png");
    commands.insert_resource(TextureAtlasHandle(handle));

    let tiled_map_json = std::fs::read_to_string("./assets/SimpleMap.json").unwrap();
    let json = serde_json::from_str::<serde_json::Value>(&tiled_map_json).unwrap();
    let data = json
        .get("layers")
        .unwrap()
        .as_array()
        .unwrap()
        .get(0)
        .unwrap()
        .get("data")
        .unwrap()
        .as_array()
        .unwrap();
    let data = data
        .iter()
        .map(|v| serde_json::from_value::<u32>(v.clone()).unwrap())
        .collect::<Vec<_>>();
    commands.insert_resource(TileTerrainIndices(data));
}

We're doing something very similar automatically in https://github.com/Droggelbecher/bevy-fast-tilemap/blob/master/src/map.rs#L402 but it seems for some reason that does not (reliably) work, but it's completely unclear to me as to why currently.

Ahh I believe your code will work only if the map was built before the image asset was loaded, right?
In my app there's an asset loading state, then everything is initialized once it's been loaded already.

I think I fixed it in 0.7.4, would you care to give it a go for your usecase?


How to trigger env.timeout?

Hello,
I'm trying to set up an environment with simpy but in combination with the package osbrain to work with agents.
If I look into debugging the environment is set at default time 0 and can be printed. Now I want to let some time pass with env.timeout(4) in my process and then the parameter 'height' is send to another agent, but nothing happens to the time. Due to the documentation and examples I thought I need to yield my time, but if I do so, I get the error: AttributeError: 'Tree' object has no attribute 'height' and I have a problem with the environment and the information I want to send.
So, I'm not sure, if the env.timeout is triggered without yield and why is then a problem with my other parameters?
I have tried different possibilities like a inner function, a inner class, call a function, etc. and don't know how to solve it.

import simpy
from osbrain import run_agent
from osbrain import run_nameserver
from osbrain import Agent

class Tree(Agent):
    def on_init(self):

        self.height=30

        self.env = simpy.Environment()
        self.env.timeout(4)
        #yield self.env.timeout(4)
        print(self.env.now)

class Fruit(Agent):
    def on_init(self):
        self.height=[]

def sende_height(agent, value):
    agent.height = value
    agent.log_info('Height %s' % value)

if __name__ == '__main__':
    # Initialisation of the name Server and the agent
    ns = run_nameserver()
    baum1 = run_agent('TreeAgent_01', base=Tree)
    apple1 = run_agent('FruitAgent_01', base=Fruit)

    # Communication between the agents
    addr1 = baum1.bind('PUB', alias='kanal1')
    apple1.connect(addr1, handler=sende_height)

    baum1.send('kanal1', baum1.get_attr('height'))

    env = simpy.Environment()
    tree = Tree(env)
    fruit = Fruit(env)
    env.run(until=20)

    ns.shutdown()

I'm probably missing something obvious, but I have been stuck on it for awhile. Does anyone have any suggestions?
Thanks so much!

Hello,
I am a bit unsure what you try to achieve, but this is how I would use osbrain with simpy:
import simpy
from osbrain import run_agent
from osbrain import run_nameserver
from osbrain import Agent

class Tree(Agent):
    def on_init(self):
        self.height=30

class Fruit(Agent):
    def on_init(self):
        self.height=[]

def sende_height(agent, value):
    agent.height = value
    agent.log_info('Height %s' % value)

def run_stuff(env):
    yield env.timeout(10)
    baum1.send('kanal1', baum1.get_attr('height'))
    yield env.timeout(10)
    baum1.send('kanal1', baum1.get_attr('height'))

if __name__ == '__main__':
    # Initialisation of the name Server and the agent
    ns = run_nameserver()
    baum1 = run_agent('TreeAgent_01', base=Tree)
    apple1 = run_agent('FruitAgent_01', base=Fruit)

    # Communication between the agents
    addr1 = baum1.bind('PUB', alias='kanal1')
    apple1.connect(addr1, handler=sende_height)

    env = simpy.Environment()

    env.process(run_stuff(env))

    env.run(until=30)

    ns.shutdown()

Rationale: simpy process are Python generator functions that need to yield special simpy objects. The generated simpy objects need to be captured by the process method. Osbrain's on_init is not supposed to be a generator and its output is not captured by simpy.
Let me know if this helps.

Hello,
I am a bit unsure what you try to achieve, but this is how I would use osbrain with simpy:
import simpy
from osbrain import run_agent
from osbrain import run_nameserver
from osbrain import Agent

class Tree(Agent):
    def on_init(self):
        self.height=30

class Fruit(Agent):
    def on_init(self):
        self.height=[]

def sende_height(agent, value):
    agent.height = value
    agent.log_info('Height %s' % value)

def run_stuff(env):
    yield env.timeout(10)
    baum1.send('kanal1', baum1.get_attr('height'))
    yield env.timeout(10)
    baum1.send('kanal1', baum1.get_attr('height'))

if __name__ == '__main__':
    # Initialisation of the name Server and the agent
    ns = run_nameserver()
    baum1 = run_agent('TreeAgent_01', base=Tree)
    apple1 = run_agent('FruitAgent_01', base=Fruit)

    # Communication between the agents
    addr1 = baum1.bind('PUB', alias='kanal1')
    apple1.connect(addr1, handler=sende_height)

    env = simpy.Environment()

    env.process(run_stuff(env))

    env.run(until=30)

    ns.shutdown()

Rationale: simpy process are Python generator functions that need to yield special simpy objects. The generated simpy objects need to be captured by the process method. Osbrain's on_init is not supposed to be a generator and its output is not captured by simpy.
Let me know if this helps.

Thank you very much for the explanantion and example.
I thought I have to work in the 'main' part and had problems with functions I tried. As a beginner in Python it's a bit complicated with functions and generators.
Now it's working thanks to you, I also tried more tasks and yielding.

Glad I could help!


[FX-4802] Fix flaky happo visual test

FX-4802
Description
Test Highlight fields with default value is flaky. We need to wait for appearance of Button element on the page before taking a screenshot
How to test

Run Happo Visual tests

Development checks

N/A Add changeset according to guidelines (if needed)
N/A Read CONTRIBUTING.md and Component API principles
N/A Make sure that additions and changes on the design follow Toptal's BASE design, and it's been already discussed with designers at #-base-core
N/A Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
N/A Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[ ] Self reviewed
N/A Covered with tests (visual tests included)

All development checks should be done and set checked to pass the
GitHub Bot: TODOLess action

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

Wondering if the same can be applied in another failing visual test?

Wondering if the same can be applied in another failing visual test?

Also decided to fix it. It's not a Storybook test, but Visual. Will see


feat: limit execution and add actions cron job

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description

This PR adds delayed execution to the populate supabase action.
Related Tickets & Documents

closes #26
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?

change commit username (use env?)

[optional] What gif best describes this PR or how it makes you feel?

Did you test this with the live supabase db or set up a test?
Also add an update to the readme about the action now running on a crib too?

Did you test this with the live supabase db or set up a test db?
Also add an update to the readme about the action now running on a crib too?

Tested with both DBs you provided, actually updated some content without adding it to the json. Will update the readme shortly!

Just merged https://github.com/open-sauced/actions/pull/30. It adds new columns to the user and stars table and presented some conflicts here.

Just merged #30. It adds new columns to the user and stars table and presented some conflicts here.

Checking it out now :D

Think it's ready now, should run free forever! 🍕

Tested locally with admin-flava credentials and the following commands:
npm run populate:dev
npm run seed:dev

Just a thought but the id:bigint fields could be replaced with UUID and we could keep all *_id fields relevant to the GitHub REST API/GQL node.id values. That would simplify a lot of the gatekeeping and references across tables.

Happy to merge this and see it run in the background. Give me a heads when you want to approach migrating the open-sauced/hot specific things over to that repo.


USGS Org not available when creating plan

I can set my affiliation in my profile to USGS but it doesn't appear in the Participating Institutions list (related issue #162 ) or for the Org selection on Q2 when I create a new plan. This prevents me from accessing USGS internal templates.

USGS is a funder only on the stage server.

When I update their record to funder+organization they again appear in the research org list on the create plan page.

well that explains that. mysterious how they became a funder only. i'll test and make sure everything is working as expected. thanks for sleuthing.

all better now and serving up all the templates. closing.


Fix bug in normal map decompression

Not clamping the range here leads to dithering artifacts.
Fixes #43309
This seemed obviously wrong in the canvas shader which was leading to artifacts, see the full discussion in #44285. Although the latter issue shows a problem in the sprite 3d, my very quick look suggested the scene shaders were not suffering from the same flaw.
There may be another fix that can be applied for the scene shaders. I'm just doing this as a separate PR as I have to rush off.
Notes

The current version in the canvas shader is incorrect and this fixes that bug
There is still some dither, I'm not clear as to whether this is a cost of compression, or there is something else we could do to improve this
If the dither is a cost of compression, we should investigate having uncompressed normals option. Especially as this may be cheaper on mobile anyway.

Example before / after

Thanks!


D#/add pandas pyarrow verified source

Tell us what you do here
This PR adds a simple starting point for creating pipelines with arrow tables or panda dataframes

Think about templating in the dlt init.


signature = cipher.get_signature(js, stream['s']) key error 's'

hey,
I'm trying to download with Youtube module and some videos throws this error :
Traceback (most recent call last):   File "download2.py", line 81, in <module>     isSuccess = downloadYouTube(row['video_id'],path_videos)   File "download2.py", line 17, in downloadYouTube     yt = YouTube(url) # gerer video unavailable   File "/home/aub.haddad/anaconda3/envs/youtube/lib/python3.6/site-packages/pytube/__main__.py", line 88, in __init__     self.prefetch_init()   File "/home/aub.haddad/anaconda3/envs/youtube/lib/python3.6/site-packages/pytube/__main__.py", line 97, in prefetch_init     self.init()   File "/home/aub.haddad/anaconda3/envs/youtube/lib/python3.6/site-packages/pytube/__main__.py", line 133, in init     mixins.apply_signature(self.player_config_args, fmt, self.js)   File "/home/aub.haddad/anaconda3/envs/youtube/lib/python3.6/site-packages/pytube/mixins.py", line 49, in apply_signature     signature = cipher.get_signature(js, stream['s']) KeyError: 's'
can you help me please.
Thank youuu

Pull request #395 fixes this.
In  pytube/mixins.py chage line 41 from
if 'signature=' in url:
to
if ('signature=' in url) or ('&sig=' in url) or ('&lsig=' in url):


Integrate Live Chat to the website

Integrate Live Chat into the website with tawk.to

Do you want to be assigned for it @okerekechinweotito?

Yes @BatoolMM


Feature Request: Thread method handle_interrupt

According to the documentation in Ruby's vm.c file we can handle exceptions per thread with this method.

With the addition of the class method ::handle_interrupt, you can now handle exceptions asynchronously with threads.

I found this while looking for an alternative for rb_protect since I haven't gotten #85 working.

I'm not sure we need this…


GVIM not reporting correct byte offsets

Steps to reproduce
using this file (inside, not the zip):
https://github.com/vim/vim/files/13720982/index_video_5_0_1.zip
If I open the same file in GVIM and enter /mdat, enter, g, ctrl+g I get:
Byte 2785

Expected behaviour
if I run this Go program:
package main

import (
   "bytes"
   "os"
)

func main() {
   b, err := os.ReadFile("index_video_5_0_1.mp4")
   if err != nil {
      panic(err)
   }
   i := bytes.Index(b, []byte("mdat"))
   println(i)
}

I get 2578. why is Vim off by over 200 bytes?
Version of Vim
https://github.com/vim/vim-win32-installer/releases/tag/v9.0.2175
Environment
https://github.com/vim/vim-win32-installer/releases/tag/v9.0.2175
Logs and stack traces
No response

You need to edit the file with vim -b or :edit ++bin, otherwise Vim will convert the file encoding and the line endings.

if I use your option I get 2579, which is OK since Vim starts with 1. thank you!

On 2023-12-19, 3052 wrote:

Steps to reproduce
using this file (inside, not the zip):
https://github.com/vim/vim/files/13720982/index_video_5_0_1.zip
If I open the same file in GVIM and enter /mdat, enter, g, ctrl+g I get:
Byte 2785
Expected behaviour
if I run this Go program:
package main
import (
"bytes"
"os"
)
func main() {
b, err := os.ReadFile("index_video_5_0_1.mp4")
if err != nil {
panic(err)
}
i := bytes.Index(b, []byte("mdat"))
println(i)
}
I get 2578. why is Vim off by over 200 bytes?
Version of Vim
https://github.com/vim/vim-win32-installer/releases/tag/v9.0.2175
Environment
https://github.com/vim/vim-win32-installer/releases/tag/v9.0.2175

I can replicate it with vim 9.0.2130 on Ubuntu 20.04, but I can't
explain it.  Rather than use a custom program to count the bytes,
I just used hexdump.  The full output of g Ctrl-G in vim is this:
Col 551-983 of 1063-1559; Line 8 of 4914; Word 713 of 35890; Char 2579 of 1282363; Byte 2785 of 1920490

Note that it reports "Char 2579", which should be byte 2579.
Regards,
Gary

I think I agree with the previous user. the byte offset is 2578 (or 2579 in VIM), so its should not be possible for VIM to be returning any higher number such as 2785. so I would consider that an error. the byte is the smallest "unit of measurement", so it should always be the highest quantity. reopening this.

As I said in the previous comment, if 'binary' is not set, Vim converts the line endings of a file to be LF, CR or CRLF.

that does explain the increased count. can you please clarify?

And, some bytes in the file correspond to a multibyte char in latin-1 encoding, so such a byte counts as two bytes.

OK that makes sense. just wanted a proper reason, sorry for the noise

To be clearer, in Vim, 'encoding' is set to utf-8 by default, while the file is recognized as a latin1 file. g_CTRL-G returns the byte count in Vim's current 'encoding', and some bytes in the file correspond to a single-byte char in Latin-1, but a multi-byte char in UTF-8.
Therefore, this will also not happen if you run Vim with --cmd 'set encoding=latin1'.

On 2023-12-20, zeertzjq wrote:

And, some bytes in the file correspond to a multibyte char in latin-1 encoding,
so such a byte counts as two bytes.

I didn't understand that statement at first, but now I do.  Thanks.
When Vim's 'encoding' is utf-8 and it reads a file it sees as having
a 'fileencoding' of latin1, it expands the latin1-encoded characters
into utf-8-encoded characters in the buffer.  Latin1-encoding uses
1 byte per character while UTF-8 uses 1, 2, 3 or 4 bytes per
character.  So the number of bytes in Vim's buffer may exceed the
number of bytes in the file, as it does in the OP's case.
If that's a problem, you can fix it by forcing Vim to use latin1
internally:
$ vim --cmd 'set enc=latin1 nofixeol' index_video_5_0_1.mp4

or set binary mode:
$ vim -b --cmd 'set noeol' index_video_5_0_1.mp4

Regards,
Gary


can I  broadcast a Transaction to the Bitcoin network if I use this plugin

can I  broadcast a Transaction to the Bitcoin network if I use this plugin

@YunhuiLiu140502, Unfortunately, this is not possible, this is an offline library that does not link the bitcoind node. If you wanna broadcast your raw hex transaction, you have to install your own bitcoind node, or using UI like https://www.blockstream.info/tx/push, or finding a third party service which providing public broadcast API like https://www.blockcypher.com/quickstart/. Just Sign Up and generate a secret token to call their API

if I have a bitcoind node,How do you use it in flutter.

@YunhuiLiu140502 , You can using https://pub.dev/packages/dio package to call sendrawtransaction JSON RPC API to your own node

@longhoangwkm Ok. Thank you for your answer. Thank you very much


Recompiling with a different line count.

Firstly, sorry to submit an issue, but I wasn't sure how else to contact you (I don't have enough rep on AskDifferent to comment).
I'm not overly familiar with macOS and don't have Xcode installed. Is there a way to recompile the app with 1 or 2 lines (or ~1.5; are decimals possible?) of scrolling? My mouse has a particularly fast scroll wheel, and 3 is a bit quick. If not, could you upload a binary with slower scrolling or some configuration mechanism.
Thank-you for your work, mind! As quick as it is, this scrolling is heaps better than the OS's.

Hi,
I uploaded two new binaries as part of release v0.1.1.
As far as I know, the CoreGraphics API does not expose a way to scroll for a fraction of a line and when I set LINES to a decimal value it seems to get truncated to an integer.
I intend to one day write a preference pane out of this program with configuration at runtime but currently I do not have enough time to learn more Cocoa programming.

Ah, thank-you, I didn't see that. That's fine, I think 1L should work nicely.


Support module offsets and kinds of improvement

Previously, we changed way to load kernel modules in order to get fixed loaded address, discussion at https://groups.google.com/g/syzkaller/c/1Pnm_BjrZO8/m/7ZJzJn6RBAAJ, and now, in this PR, I use module+offset to decode cover PC returned.
Also this PR replaces https://github.com/google/syzkaller/pull/2667 to fix more issues
Add support of llvm-addr2line which can decodes more compared to gnu addr2line
Auto detect module symbol load offset as some device has 0x18 offset while newer device has 0x24
Only use .rela.text section for modules
Fix /rawcoverfiles page

Some comments on the overall approach.

The discussion you pointed to seems to have been concluded by sticking to loading modules at the same addresses. What convinced you afterwards that we must still handle the case when they are at different addresses?
As I see, what these changes essentially do is that they declare the layout of modules of the first connected sys-fuzzer to be the “canonical” layout. If we go with this approach, it would probably be better to do it in a more explicit way. E.g. to introduce some  MemoryLayoutConverter, which would convert cover PCs back and forth, given the layouts of modules. In that case you don’t seem to need to introduce Offsets and will be able to do without that many changes.

2. MemoryLayoutConverter

We are still facing issue to load into fixed address for some device which still under active development. So I think we still need to add the offset feature to syzkaller.
I'm not sure I understand the MemoryLayoutConverter. Are you talking about use module base addr + offset on syz-fuzzer instead of inside syz-manager?
For other comments above, uploaded the new patchset.

signal also diffs, so close


[SPARK-33272][SQL] prune the attributes mapping in QueryPlan.transformUpWithNewOutput

What changes were proposed in this pull request?

For complex query plans, QueryPlan.transformUpWithNewOutput will keep accumulating the attributes mapping to be propagated, which may hurt performance. This PR prunes the attributes mapping before propagating.
Why are the changes needed?

A simple perf improvement.
Does this PR introduce any user-facing change?

No
How was this patch tested?

existing tests

cc @maropu @viirya

Test build #130375 has started for PR 30173 at commit 4f94664.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34978/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34978/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34978/
Test PASSed.

Test build #130375 has finished for PR 30173 at commit 4f94664.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130375/
Test PASSed.

Thanks@ Merged to master.

hi @cloud-fan, can you help to open backport PRs for 3.0.2? thanks!
I found that prunes the attributes mapping is not only performance optimized, it also circumvents the bug of rewriting attributes for some complex queries, e.g.  https://issues.apache.org/jira/browse/SPARK-36815

@gaoyajun02 can you cherry-pick this commit and open the backport PR? I'm quite busy this week and I can do the backport next week if you are not able to do it.


Update to gimli 0.29.0

It will block all the renovate PRs, that's the main reason for me wanting to update now. If  we fix it to version 0.28 then we will probably just forget to update it...


Is there an API to know all the meters associated with a Virtual Machine?

After I create a new VM, is there an API to get all the meters(Contains the meter guid) for this VM?

Not through Usage Details

For example, the following JSON content is my Virtual machine details, obtained through the API (Virtual Machines - Get).
From the vmSize field, you can know the specifications of my virtual machine. I want to know the meter GUID of this virtual machine.
Microsoft also provides an API that get Azure rate card resources. To facilitate the query, I store this data locally in MySQL.
I tried to query the Meter Id through the VM info, such as, location, vmSize, osType. I can't find exactly.
So, Is there an API to get all the meters associated with a Virtual Machine?
{
  "name": "KFEAUS00NESS-01",
  "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/KFEAUS00NESS-01",
  "type": "Microsoft.Compute/virtualMachines",
  "location": "eastus",
  "properties": {
    "vmId": "00f3f81c-26f0-****-****-d7156d92db9e",
    "hardwareProfile": {
      "vmSize": "Standard_DS2_v2"
    },
    "storageProfile": {
      "imageReference": {
        "publisher": "MicrosoftWindowsServer",
        "offer": "WindowsServer",
        "sku": "2016-Datacenter",
        "version": "latest",
        "exactVersion": "14393.3326.1911120150"
      },
      "osDisk": {
        "osType": "Windows",
        "name": "KFEAUS00NESS-01_OsDisk_1_54c823ff72cd424db0a8aaf386bbbfb2",
        "createOption": "FromImage",
        "caching": "ReadWrite",
        "managedDisk": {
          "storageAccountType": "Premium_LRS",
          "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Compute/disks/KFEAUS00NESS-01_OsDisk_1_54c823ff72cd424db0a8aaf386bbbfb2"
        },
        "diskSizeGB": 127
      },
      "dataDisks": []
    },
    "osProfile": {
      "computerName": "KFEAUS00NESS-01",
      "adminUsername": "kfadmin",
      "windowsConfiguration": {
        "provisionVMAgent": true,
        "enableAutomaticUpdates": true
      },
      "secrets": [],
      "allowExtensionOperations": true,
      "requireGuestProvisionSignal": true
    },
    "networkProfile": {
      "networkInterfaces": [
        {
          "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Network/networkInterfaces/kfeaus00ness-01924"
        }
      ]
    },
    "diagnosticsProfile": {
      "bootDiagnostics": {
        "enabled": true,
        "storageUri": "https://***.blob.core.windows.net/"
      }
    },
    "provisioningState": "Succeeded"
  },
  "resources": [
    {
      "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/KFEAUS00NESS-01/extensions/IaaSAntimalware"
    },
    {
      "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/KFEAUS00NESS-01/extensions/Microsoft.Insights.VMDiagnosticsSettings"
    },
    {
      "id": "/subscriptions/********/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/KFEAUS00NESS-01/extensions/MicrosoftMonitoringAgent"
    }
  ]
}

select * from az_ratecards
where category = "Virtual Machines"
	AND name like '%DS2%'
	AND subcategory  like '%Windows'
	AND region ='US East'

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

ID: 59f6d32e-df7a-ac7a-6bf2-7f29ad16824b
Version Independent ID: ad65a6c5-0e83-d171-275f-c779b0fcae91
Content: Review your individual Azure bill
Content Source: articles/cost-management-billing/understand/review-individual-bill.md
Service: cost-management-billing
GitHub Login: @bandersmsft
Microsoft Alias: banders

@xdmushui Thanks for the comment. Appreciate if you could elaborate your ask with more details.

@xdmushui Thanks for the comment. Appreciate if you could elaborate your ask with more details.

Updated.

@xdmushui Please send mail to AzCommunity [at] microsoft dot com with subject: ATTN: Sadiqh Ahmed include a link to this GitHub thread (for context) and I will share with you MeterID list.

@SadiqhAhmed-MSFT Thank you. The mail was sent.

@xdmushui Thanks for describing in detail. Will check with the concerned team and get back to you soon.

#reassign:prkumarms-zz

prkumarms-zz is not a valid GitHub ID, or is not a collaborator on this repo.

@xdmushui Here is the retail rate card API that will give you the desired results with the right filters
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Please note this is in preview mode.

@mumami Thank you for the information, it has helped me a lot.
Can I get more information about this API?
For example, is there documentation for the API?
The one drawback of this API is that it doesn't have a field for the type of operating system of VM.
Only the productName field, if it value contains 'Windows' it means the meter is for Windows, if it doesn't contain 'Windows' it means the meter is for Linux. It's a bit of a bad feeling if it's automatically recognized by the program and there are no clear field markers.

@mumami Hi,
I found a lot of the data on the API (https://prices.azure.com/api/retail/prices) to be erroneous or ambiguous.
I save the data for this API locally. I found problems with all units that recorded Reservation, and I couldn't know which one was 1 year and which one was 3 years.

Therefore, I want to know what the API documentation links to.
I'd like to submit some feedback and some questions.

@xdmushui Thanks for reaching out. In the API response, you have "reservationTerm" to determine whether its for 1 year or 3 years. Let me know if you don't see this in the response.
{
"currencyCode": "USD",
"tierMinimumUnits": 0.0,
"reservationTerm": "1 Year",
"retailPrice": 6595.0,
"unitPrice": 6595.0,
"armRegionName": "westeurope",
"location": "EU West",
"effectiveStartDate": "2017-07-17T00:00:00Z",
"meterId": "003e1713-c374-4003-9a73-27b3ccc80c38",
"meterName": "E16 v3/E16s v3",
"productId": "DZH318Z0BQ4L",
"skuId": "DZH318Z0BQ4L/003V",
"productName": "Virtual Machines Ev3 Series",
"skuName": "E16 v3",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "Reservation",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_E16_v3"
},
{
"currencyCode": "USD",
"tierMinimumUnits": 0.0,
"reservationTerm": "3 Years",
"retailPrice": 12652.0,
"unitPrice": 12652.0,
"armRegionName": "westeurope",
"location": "EU West",
"effectiveStartDate": "2017-07-17T00:00:00Z",
"meterId": "003e1713-c374-4003-9a73-27b3ccc80c38",
"meterName": "E16 v3/E16s v3",
"productId": "DZH318Z0BQ4L",
"skuId": "DZH318Z0BQ4L/003W",
"productName": "Virtual Machines Ev3 Series",
"skuName": "E16 v3",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "Reservation",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_E16_v3"
}

@xdmushui Do you have all the information needed to close this issue?

Yes. This issue can be closed.
Thank you all.


Jaxon behind load balancer -  needs to detect X-FORWARDED proxy settings

Make sure load balancer is sending through HTTP_X_FORWARDED_PROTO and HTTP_X_FORWARDED_POR, then
In URI.php replace line 70 to [port] with :
    // Fill in the empty values
    if(empty($aURL['scheme']))
    {
        if(!empty($_SERVER['HTTP_SCHEME']))
        {
            $aURL['scheme'] = $_SERVER['HTTP_SCHEME'];
        }
        else
        {
			$aURL['scheme'] = 'http';
			if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
				$aURL['scheme'] = 'https';
			}
			elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
				$aURL['scheme'] = 'https';
			}
        }
    }

    $this->getHostFromServer($aURL, 'HTTP_X_FORWARDED_HOST');
    $this->getHostFromServer($aURL, 'HTTP_HOST');
    $this->getHostFromServer($aURL, 'SERVER_NAME');
    if(empty($aURL['host']))
    {
        throw new \Jaxon\Exception\URI();
    }

    if(empty($aURL['port'])) {
    	if (!empty($_SERVER['HTTP_X_FORWARDED_PORT']))
    	{
			$aURL['port'] = $_SERVER['HTTP_X_FORWARDED_PORT'];
    	}
    	else if (!empty($_SERVER['SERVER_PORT']))
    	{
			$aURL['port'] = $_SERVER['SERVER_PORT'];
		}
	}

You can change the request uri to whatever value you want.
// Request processing URI
$jaxon->setOption('core.request.uri', $uri);

I saw that. But doing that rather defeats the purpose of this class and with a few hundred sites using this call it is much easier to change the detector than to alter the calls to handle it. The only reason for wanting it on the code branch is to save us having to reinsert the fix every time we update composer.


[Docs] Improve the "Using the store" section.

What problem is this solving
The "Using the store" section starts from explaining the gotchas. Usually docs are written in a different way - the very first example is usually dead simple, but yet complete, code snippet that explains how do do things right - a code snippet that a user can just copy/paste without analyzing it.
In Pinia docs it's the opposite - the sections starts from an examples that tell the user how not to use Pinia - these are all valid and necessary information but the most important piece information is at the very bottom of the page.
Proposed solution
I would start from a very basic example:
export default defineComponent({
  setup() {
    const store = useStore();

    return {
      firstName: computed(() => store.firstName),
      lastName: computed(() => store.lastName),
    }
  },
})

It might be also a good idea to include the source code for the useStore() function.
Then I would explain that destructuring will break reactivity, that useStore() needs to be called in setup(), etc.

BTW, I would also consider moving the "Using the store" section outside the "Defining a store" section. I think that a better Idea would be to put it after "Actions" but before "Plugins".  The reason for it is that first the user needs to learn how to define state/getters/actions before they can import the store and use it.

Yeah, thanks for the feedback. I will

Put the component example first
Still explain why we have 2 functions (define vs use)
Move the example for SSR somewhere else and still link it there


Enforce Eq trait on field types

Fixes #43. It does not only allow skiping, but actually enforces Eq on every type like std does.

I believe it makes sense to automatically skip whatever PartialEq skips, what do you think?

yeah, maybe we should generally group things like Eq, PartialEq, ParialOrd, Ord and Hash  as they should always ignore the same right?
Not entirely sure related to the ordering but generally Eq means Ord should be Equal and Hash should be the same as well.

Maybe there are other Traits where this also makes sense?

The reason why I was proposing Eq to take in account skips for PartialEq is because Eq doesn't have it's own implementation, it uses the implementation of PartialEq. Basically Eq is just a marker trait for PartialEq.
I don't think we should group any others together because they aren't really the same, but I understand where you are coming from, this isn't an uncommon use-case. But I think skip without specifying any specific trait already covers that. Otherwise we could introduce grouped skips somehow.

yeah, but IIRC Ord, PartialOrd and Hash have requirements on how Eq has to behave, so generally I think it would make sense to have some way of saying skip for all comparisons.
The usefulness really depends on how often you want to skip all of those, but not skip them for other traits.

yeah, but IIRC Ord, PartialOrd and Hash have requirements on how Eq has to behave, so generally I think it would make sense to have some way of saying skip for all comparisons.

Hash doesn't require any of the others. In any case, there is already way of skipping all, that's just using #[derive_where(skip)], this skips Eq, Hash, Ord, PartialEq, PartialOrd, Zeroize and ZeroizeOnDrop. The only trait that includes that might be undesirable is Zeroize and ZeroizeOnDrop. We could introduce a group, like #[derive_where(skip(AllButZeroize))] (requires some serious bikesheding).

Hash doesn't require any of the others.

What I meant was not Hash depends on Eq but if Eq is also implemented, it needs to behave the same way: https://doc.rust-lang.org/std/hash/trait.Hash.html#hash-and-eq

But I agree, that there is probably no need to support skipping all but one or two in 90% of cases, at least with the current limited set of supported traits

Hash doesn't require any of the others.

What I meant was not Hash depends on Eq but if Eq is also implemented, it needs to behave the same way: https://doc.rust-lang.org/std/hash/trait.Hash.html#hash-and-eq

Ah, I think now I see what you were talking about until now ... this is a really good point. I'm gonna merge this for now and we should discuss this separately.


[INTERNAL] Update copyright year to 2023

Coverage: 94.617%. Remained the same when pulling 80b6919a7b8d3515bee5bf15eb6f46c5267c83fe on update-copyright-2023 into e36e3a50cd1c15d2cfa5389294b74c106b2e82d8 on main.


Trade signs with multiple costs down work

Expected behavior
Players should be allowed to trade with a sign with multiple costs as a sudo "crafting" system.
I am using special custom items through naming, lore, and enchants, but I also tried with very vanilla items and the same problem arose.
Observed/Actual behavior
It disregards all items and just says "You do not have (number of items) Various!"
Steps/models to reproduce
Make a sign with multiple costs and right click it to buy.
Plugin list
Citizens, DamageIndicator, Dungeons, Eco, EcoEnchants, Essentials, EssentialsChat, floodgate, Geyser-Spigot, HealthBar, Ilira (Custom one made by a friend to kill entities when they get to close), ItemEdit, KeepChunks, LibsDisguises, LPC, Luckperms, LuckPermsGUI. Minepacks, MyPet, Nicknames, OpenInv, ToolandFoodFX, TradeShop, WorldEdit, WorldGuard.
TradeShop version and Minecraft version (CraftBukkit/Spigot/Paper/...)
TradeShop 2.5.0 STABLE
1.18.2 Paper
Agreements

[X] I have searched for and ensured there isn't already an open issue regarding this.
[X] My version of Minecraft and TradeShop are supported by the TradeShop Dev Team (when in doubt, first ask on the Discord).

Other
No response

This is already fixed in the dev version which should be releasing as v2.5.1 soon(#124)


The car goes over the pavement when turning

Hi, I have a problem now. I hope someone can help me!
When I'm running the automatic_control.py program, the car goes over the pavement when turning as shown in the video.
The problem occur at junctions and on turning roads.
I made map by using RoadRunner, but The waypoints are created without problems.
When running generate_traffic.py, that doesn't happen, as shown in the video.
If anyone has an idea to solve my problem, I would appreciate it if you could let me know!
thanks.
https://user-images.githubusercontent.com/93071901/142082518-0c2e8f22-950a-4edf-9f37-6d089e004673.mov
https://user-images.githubusercontent.com/93071901/142082544-85cca67e-8072-4416-9001-cf3eb66a1e73.mov
https://user-images.githubusercontent.com/93071901/142082553-1fd57031-7f76-4447-8ad6-943cb4827e4a.mov
CARLA version: 0.9.12
Platform/OS: Ubuntu18.04

Hi! The main issue is that automatic_control.py doesn't run the Traffic Manager. You're probably running the behavior agent. If you want to still keep doing that, you will probably need to change the PID values for that agent. Otherwise, if you are interested in the pygame interface, you can use manual_control.py and press P to activate the Traffic Manager.
Let me know if this solves your issue!

Thank you for replying me.
What I want to do is to drive the car along WayPoints and get the control values of the car (e.g. steering, throttle), RGB images and Seg images.
I implemented it by editing Automatic_Control.py. But the problem is that cars drive on the pavement.
You said it was because I am not using Traffic_Manager.
Looking at the code, I think it's running using Traffic_manager, is there any way to enable this if it's not?
thanks.

Thank you for replying me. What I want to do is to drive the car along WayPoints and get the control values of the car (e.g. steering, throttle), RGB images and Seg images. I implemented it by editing Automatic_Control.py. But the problem is that cars drive on the pavement. You said it was because I am not using Traffic_Manager. Looking at the code, I think it's running using Traffic_manager, is there any way to enable this if it's not?
thanks.

well done work! but i want to know how do you creat the new road? what's the soft ware you used?

Thank you for replying me. What I want to do is to drive the car along WayPoints and get the control values of the car (e.g. steering, throttle), RGB images and Seg images. I implemented it by editing Automatic_Control.py. But the problem is that cars drive on the pavement. You said it was because I am not using Traffic_Manager. Looking at the code, I think it's running using Traffic_manager, is there any way to enable this if it's not?
thanks.

Why don't you do this in the while True loop in generate_traffic.py? You just get the control values and generate images from there. There's no need to use automatic_control.py for that. If you need the pygame interface, just use manual_control.py as I specified in the last comment.
Also, automatic_control.py doesn't use Traffic Manager. It only creates the client, but if you don't use set_autopilot on the vehicle that has been created, it will use another agent. To use Traffic Manager then, you'd have to change the script to enable Traffic Manager and not use any of the other agents.

@Phd-Ma

well done work! but i want to know how do you creat the new road? what's the soft ware you used?

Hi! Thank you for replying me.
I am using RoadRunner to create new road. It is MatLab software. I highly recommend it because you can create a new map like a game.
If you are interested in this, please refer to the URL below.
https://carla.readthedocs.io/en/0.9.12/tuto_M_generate_map/
https://carla.readthedocs.io/en/0.9.12/tuto_M_add_map_source/
Thanks

Why don't you do this in the while True loop in generate_traffic.py? You just get the control values and generate images from there. There's no need to use automatic_control.py for that. If you need the pygame interface, just use manual_control.py as I specified in the last comment.
Also, automatic_control.py doesn't use Traffic Manager. It only creates the client, but if you don't use set_autopilot on the vehicle that has been created, it will use another agent. To use Traffic Manager then, you'd have to change the script to enable Traffic Manager and not use any of the other agents.

Thank you for replying me.
I didn't have that idea. Your reply is very good for me. I'll try it with traffic_manager.py.
I really appreciate your teaching.

@iohnishijima
Thanks you very much!
I have install RoadRunner software used to Create custom maps， I am try to export "Carla (*.fbx, *,osdx)" .  and then make launch for UE4editor, import the named.fbx to /content/carla/Maps, the scene had succeed import in the UE4.
While , when i click "Play" button, and perform the command "python generation_traffic.py or manucontroll.py" thow out error:
ERROR: unable to parse the OpenDRIVE XML string
RuntimeError: failed to generate map
The server could not send the OpenDRIVE (.xodr) file:
Make sure it exists, has the same name of your town, and is correct.
Have you encountered such a problem, how to solve it？

@Phd-Ma
I didn't have the same problem in my case.
Please try again the way I did. I'll show you the steps below.

delete all files and folder in carla/import (without ReadMe)
delete "map_package" folder in carla/Unreal/CarlaUE4/Content
do "make import" on home/carla terminal.
when "make import" done, do "make launch" to open UE4Editor.
when you open UE4Editor, you should see some words like "built mesh[3802...]" in the bottom right corner.
Press Play when finished building mesh.

i hope these steps will be useful to you!
thanks.


Update spawn_config to support spawning robots and bridges separately

Signed-off-by: Ian Chen<EMAIL_ADDRESS>Ported changes from https://github.com/osrf/mbzirc/pull/97 to spawn_config.launch.py. The changes are mainly for separating the logic for spawning robots models from spawning bridges in preparation for running the simulation on multiple machines
Easier to review without whitespace diff:
https://github.com/osrf/mbzirc/pull/107/files?w=1
To test:
# launch simulation only with no competition topic bridges
ros2 launch ros_ign_gazebo ign_gazebo.launch.py ign_args:="-v 4 -r simple_demo.sdf"

# spawn a UAV into simulation with no bridges. This is to be run ion the sim container.
ros2 launch mbzirc_ign spawn_config.launch.py world:=simple_demo config_file:=./src/mbzirc/mbzirc_ign/config/single_uav_config.yaml sim_mode:=sim

# launch bridge processes for the UAV. This is to be run on the bridge container
ros2 launch mbzirc_ign spawn_config.launch.py world:=simple_demo config_file:=./src/mbzirc/mbzirc_ign/config/single_uav_config.yaml sim_mode:=bridge

To spawn more robots into the simulation locally, you'll need to disable the competition topic bridges:
# spawn USV with no bridges
ros2 launch mbzirc_ign spawn_config.launch.py world:=simple_demo config_file:=./src/mbzirc/mbzirc_ign/config/single_usv_config.yaml sim_mode:=sim

# spawn USV bridges but disable competition topics since those were already bridged (for local testing only)
ros2 launch mbzirc_ign spawn_config.launch.py world:=simple_demo config_file:=./src/mbzirc/mbzirc_ign/config/single_usv_config.yaml sim_mode:=bridge bridge_competition_topics:=False

ros2 launch mbzirc_ign spawn_config.launch.py world:=simple_demo= config_file:=./src/mbzirc/mbzirc_ign/config/single_uav_config.yaml sim_mode:=sim
Is the simple_demo= a typo?

oops yes, fixed the cmds in the  description


libidn2 error: Library not loaded

dyld[91021]: Library not loaded: /usr/local/opt/libidn2/lib/libidn2.0.dylib
  Referenced from: <822EF38A-1AB2-3BFC-A3FE-92E2005CA7C5> /Users/me/Documents/mydir/curl-impersonate-chrome
  Reason: tried: '/opt/homebrew/Cellar/libidn2/2.3.4_1/lib//libidn2.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/libidn2.0.dylib' (no such file), '/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file), '/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file), '/usr/local/lib/libidn2.0.dylib' (no such file), '/usr/lib/libidn2.0.dylib' (no such file, not in dyld cache)
[1]    91021 abort      ./curl-impersonate-chrome

Building from the source is also failing:
zsh: correct 'gmake' to 'make' [nyae]? n
curl -L "https://github.com/google/brotli/archive/refs/tags/v1.0.9.tar.gz" \
        -o "brotli-1.0.9.tar.gz"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  475k    0  475k    0     0   682k      0 --:--:-- --:--:-- --:--:--  682k
tar xf brotli-1.0.9.tar.gz
cd brotli-1.0.9
mkdir -p out
cd out
# Convert autoconf style os name to CMake style os name.
case darwin23.0.0 in           \
  linux*)                    \
    system_name=Linux        \
    ;;                       \
  darwin*)                   \
    system_name=Darwin       \
    ;;                       \
  *)                         \
    system_name=darwin23.0.0   \
    ;;                       \
esac
cmake -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=./installed \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_CXX_COMPILER=g++ \
        -DCMAKE_C_COMPILER=gcc \
        -DCMAKE_SYSTEM_NAME=$system_name \
        -DCMAKE_SYSTEM_PROCESSOR=aarch64 \
        ..
cmake --build . --config Release --target install
CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is AppleClang <IP_ADDRESS>00040
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type is 'Release'
-- Performing Test BROTLI_EMSCRIPTEN
-- Performing Test BROTLI_EMSCRIPTEN - Failed
-- Compiler is not EMSCRIPTEN
-- Looking for log2
-- Looking for log2 - found
CMake Warning at CMakeLists.txt:319 (message):
  Test file tests/testdata/alice29.txt does not exist.

CMake Warning at CMakeLists.txt:319 (message):
  Test file tests/testdata/asyoulik.txt does not exist.

CMake Warning at CMakeLists.txt:319 (message):
  Test file tests/testdata/lcet10.txt does not exist.

CMake Warning at CMakeLists.txt:319 (message):
  Test file tests/testdata/plrabn12.txt does not exist.

-- Configuring done (0.8s)
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   brotlicommon
   brotlidec
   brotlienc

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done (0.1s)
-- Build files have been written to: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out
gmake[1]: Entering directory '/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/brotli-1.0.9/out'
[  1%] Building C object CMakeFiles/brotlicommon.dir/c/common/constants.c.o
[  3%] Building C object CMakeFiles/brotlicommon.dir/c/common/context.c.o
[  4%] Building C object CMakeFiles/brotlicommon.dir/c/common/dictionary.c.o
[  6%] Building C object CMakeFiles/brotlicommon.dir/c/common/platform.c.o
[  7%] Building C object CMakeFiles/brotlicommon.dir/c/common/transform.c.o
[  9%] Linking C shared library libbrotlicommon.dylib
[  9%] Built target brotlicommon
[ 10%] Building C object CMakeFiles/brotlidec.dir/c/dec/bit_reader.c.o
[ 12%] Building C object CMakeFiles/brotlidec.dir/c/dec/decode.c.o
[ 13%] Building C object CMakeFiles/brotlidec.dir/c/dec/huffman.c.o
[ 15%] Building C object CMakeFiles/brotlidec.dir/c/dec/state.c.o
[ 16%] Linking C shared library libbrotlidec.dylib
[ 16%] Built target brotlidec
[ 18%] Building C object CMakeFiles/brotlienc.dir/c/enc/backward_references.c.o
[ 19%] Building C object CMakeFiles/brotlienc.dir/c/enc/backward_references_hq.c.o
[ 21%] Building C object CMakeFiles/brotlienc.dir/c/enc/bit_cost.c.o
[ 22%] Building C object CMakeFiles/brotlienc.dir/c/enc/block_splitter.c.o
[ 24%] Building C object CMakeFiles/brotlienc.dir/c/enc/brotli_bit_stream.c.o
[ 25%] Building C object CMakeFiles/brotlienc.dir/c/enc/cluster.c.o
[ 27%] Building C object CMakeFiles/brotlienc.dir/c/enc/command.c.o
[ 28%] Building C object CMakeFiles/brotlienc.dir/c/enc/compress_fragment.c.o
[ 30%] Building C object CMakeFiles/brotlienc.dir/c/enc/compress_fragment_two_pass.c.o
[ 31%] Building C object CMakeFiles/brotlienc.dir/c/enc/dictionary_hash.c.o
[ 33%] Building C object CMakeFiles/brotlienc.dir/c/enc/encode.c.o
[ 34%] Building C object CMakeFiles/brotlienc.dir/c/enc/encoder_dict.c.o
[ 36%] Building C object CMakeFiles/brotlienc.dir/c/enc/entropy_encode.c.o
[ 37%] Building C object CMakeFiles/brotlienc.dir/c/enc/fast_log.c.o
[ 39%] Building C object CMakeFiles/brotlienc.dir/c/enc/histogram.c.o
[ 40%] Building C object CMakeFiles/brotlienc.dir/c/enc/literal_cost.c.o
[ 42%] Building C object CMakeFiles/brotlienc.dir/c/enc/memory.c.o
[ 43%] Building C object CMakeFiles/brotlienc.dir/c/enc/metablock.c.o
[ 45%] Building C object CMakeFiles/brotlienc.dir/c/enc/static_dict.c.o
[ 46%] Building C object CMakeFiles/brotlienc.dir/c/enc/utf8_util.c.o
[ 48%] Linking C shared library libbrotlienc.dylib
[ 48%] Built target brotlienc
[ 50%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/constants.c.o
[ 51%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/context.c.o
[ 53%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/dictionary.c.o
[ 54%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/platform.c.o
[ 56%] Building C object CMakeFiles/brotlicommon-static.dir/c/common/transform.c.o
[ 57%] Linking C static library libbrotlicommon-static.a
[ 57%] Built target brotlicommon-static
[ 59%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/bit_reader.c.o
[ 60%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/decode.c.o
[ 62%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/huffman.c.o
[ 63%] Building C object CMakeFiles/brotlidec-static.dir/c/dec/state.c.o
[ 65%] Linking C static library libbrotlidec-static.a
[ 65%] Built target brotlidec-static
[ 66%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references.c.o
[ 68%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/backward_references_hq.c.o
[ 69%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/bit_cost.c.o
[ 71%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/block_splitter.c.o
[ 72%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/brotli_bit_stream.c.o
[ 74%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/cluster.c.o
[ 75%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/command.c.o
[ 77%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/compress_fragment.c.o
[ 78%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/compress_fragment_two_pass.c.o
[ 80%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/dictionary_hash.c.o
[ 81%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/encode.c.o
[ 83%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/encoder_dict.c.o
[ 84%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/entropy_encode.c.o
[ 86%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/fast_log.c.o
[ 87%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/histogram.c.o
[ 89%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/literal_cost.c.o
[ 90%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/memory.c.o
[ 92%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/metablock.c.o
[ 93%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/static_dict.c.o
[ 95%] Building C object CMakeFiles/brotlienc-static.dir/c/enc/utf8_util.c.o
[ 96%] Linking C static library libbrotlienc-static.a
[ 96%] Built target brotlienc-static
[ 98%] Building C object CMakeFiles/brotli.dir/c/tools/brotli.c.o
[100%] Linking C executable brotli
[100%] Built target brotli
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/bin/brotli
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlienc.1.0.9.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlienc.1.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlienc.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlidec.1.0.9.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlidec.1.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlidec.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlicommon.1.0.9.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlicommon.1.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlicommon.dylib
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlienc-static.a
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlidec-static.a
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/libbrotlicommon-static.a
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/include/brotli
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/include/brotli/port.h
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/include/brotli/types.h
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/include/brotli/encode.h
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/include/brotli/decode.h
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/pkgconfig/libbrotlicommon.pc
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/pkgconfig/libbrotlidec.pc
-- Installing: /Users/me/Documents/mydir/curl-impersonate/build/brotli-1.0.9/out/installed/lib/pkgconfig/libbrotlienc.pc
gmake[1]: Leaving directory '/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/brotli-1.0.9/out'
curl -L https://github.com/google/boringssl/archive/3a667d10e94186fd503966f5638e134fe9fb4080.zip \
        -o boringssl.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 32.9M    0 32.9M    0     0  7549k      0 --:--:--  0:00:04 --:--:-- 9653k
unzip -q -o boringssl.zip
mv boringssl-3a667d10e94186fd503966f5638e134fe9fb4080 boringssl
cd boringssl/
for p in /Users/me/Documents/mydir/curl-impersonate/build/../chrome/patches/boringssl-old-ciphers.patch; do patch -p1 < $p; done
touch .patched
patching file 'ssl/internal.h'
patching file 'ssl/ssl_cipher.cc'
mkdir -p /Users/me/Documents/mydir/curl-impersonate/build/boringssl/build
cd /Users/me/Documents/mydir/curl-impersonate/build/boringssl/build
# Convert autoconf style os name to CMake style os name.
case darwin23.0.0 in      \
  linux*)               \
    system_name=Linux   \
    ;;                  \
  darwin*)              \
    system_name=Darwin  \
    ;;                  \
  *)                    \
    system_name=Linux   \
    ;;                  \
esac
# The extra CMAKE_C_FLAGS are needed because otherwise boringssl fails to
# compile in release mode on some systems with gcc 12 (e.g. Fedora).
# In addition, guard these options with -Wno-unknown-warning-option to
# prevent clang from failing on them.
cmake -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_POSITION_INDEPENDENT_CODE=on \
                -DCMAKE_C_FLAGS="-Wno-unknown-warning-option -Wno-stringop-overflow -Wno-array-bounds" \
                -DCMAKE_CXX_COMPILER=g++ \
                -DCMAKE_C_COMPILER=gcc \
                -DCMAKE_SYSTEM_NAME=$system_name \
                -DCMAKE_SYSTEM_PROCESSOR=aarch64 \
                -GNinja \
                ..
ninja
# Fix the directory structure so that curl can compile against it.
# See https://everything.curl.dev/source/build/tls/boringssl
mkdir -p lib
ln -sf ../crypto/libcrypto.a lib/libcrypto.a
ln -sf ../ssl/libssl.a lib/libssl.a
cp -Rf ../include .
-- The C compiler identification is AppleClang <IP_ADDRESS>00040
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00040
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Perl: /usr/bin/perl (found version "5.30.3")
-- The ASM compiler identification is AppleClang
-- Found assembler: /Library/Developer/CommandLineTools/usr/bin/gcc
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/me/Documents/mydir/curl-impersonate/build/boringssl/build
[189/424] Building C object crypto/CMakeFiles/crypto.dir/x509/t_x509.c.o
FAILED: crypto/CMakeFiles/crypto.dir/x509/t_x509.c.o
/usr/bin/gcc -DBORINGSSL_IMPLEMENTATION -I/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/boringssl/third_party/googletest/include -I/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/boringssl/crypto/../include -Wno-unknown-warning-option -Wno-stringop-overflow -Wno-array-bounds -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla -Wshadow -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes -D_XOPEN_SOURCE=700 -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk -fPIC -MD -MT crypto/CMakeFiles/crypto.dir/x509/t_x509.c.o -MF crypto/CMakeFiles/crypto.dir/x509/t_x509.c.o.d -o crypto/CMakeFiles/crypto.dir/x509/t_x509.c.o -c /Users/me/Documents/mydir/curl-impersonate/build/boringssl/crypto/x509/t_x509.c
/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/boringssl/crypto/x509/t_x509.c:321:18: error: variable 'l' set but not used [-Werror,-Wunused-but-set-variable]
    int ret = 0, l, i;
                 ^
1 error generated.
[198/424] Building C object crypto/CMakeFiles/crypto.dir/curve25519/curve25519.c.o
ninja: build stopped: subcommand failed.
gmake: *** [Makefile:268: /Users/me/Documents/mydir/curl-impersonate/build/boringssl/build/lib/libssl.a] Error 1

Key error:
/Users/me/Documents/mydir/cli/curl/curl_impersonate_build/curl-impersonate/build/boringssl/crypto/x509/t_x509.c:321:18: error: variable 'l' set but not used [-Werror,-Wunused-but-set-variable]
    int ret = 0, l, i;
                 ^
1 error generated.
[198/424] Building C object crypto/CMakeFiles/crypto.dir/curve25519/curve25519.c.o
ninja: build stopped: subcommand failed.
gmake: *** [Makefile:268: /Users/me/Documents/mydir/curl-impersonate/build/boringssl/build/lib/libssl.a] Error 1

I also tried brew reinstall nss && brew reinstall ca-certificates, as well as brew reinstall libidn2 (Using force parameters where needed)

The binary seems to fail because it is built for x86 and you are on arm64 (mac m1 or m2).
The build from source seems like an issue that needs to be fixed.
There are no automatic builds on m1/m2 so these issues are not detected in advance.

Yeah, I figured because of the have 'arm64', need 'x86_64', but Homebrew is showing support for mac Apple Silicon for that dep, so I thought it was likely an issue with this project somehow not selecting the right one

FYI #205 a brew receipt you may try

With #217 merged, curl-impersonate now builds fine on Mac M2. Moreover, libidn2 id not a dependency for the pre-compiled binaries anymore (a new set of binaries will be released in the upcoming days). So I mark this as closed, please reopen if the errors persist.


Added volumes for persistent data (db+cassandra)

Closes #23 if merged.

Shouldn't we turn ./services/storage/data:/data into volume too?

For the storage, having the files easily accessible on the local file-system is much more convenient.
In the case of the databases(PG, Cassandra), the files only make sense when interpreted by an application and thus being a volume is fine (you can mount them in a new PG/cassandra container to browse the data). But the file storage backend uses regular files, that a user may want to access directly, without having to start a new docker image to browse them and extract them.


waytrade/ib-gateway:latest not found: manifest unknown: manifest unknown

Is this project being updated?
 InteractiveBroker docker pull waytrade/ib-gateway
Using default tag: latest
Error response from daemon: manifest for waytrade/ib-gateway:latest not found: manifest unknown: manifest unknown

Nevermind, seems unlike other the tags are based on IB Versions.


Update .asf.yaml

closes: #ISSUE_Number

Change logs
Update .asf.yaml.
Contributor's checklist
Here are some reminders before you submit your pull request:

Make sure that your Pull Request has a clear title and commit message. You can take the Git commit template as a reference.
Sign the Contributor License Agreement as prompted for your first-time contribution (One-time setup).
Learn the code contribution and doc contribution guides for better collaboration.
Make sure that your changes deployment preview is successful.
List your communications in the GitHub Issues or Discussions (if has or needed).
Feel free to ask for the @cloudberrydb/doc team or other people to help review and approve.

As has fixed, so close this pr.


RangeError: Maximum call stack size exceeded with version 1.8.5

Oops! Something went wrong! :(

ESLint: 8.15.0

RangeError: Maximum call stack size exceeded
Occurred while linting C:\p\monorepo\apps\web\assets\notificationData.tsx:30
Rule: "big-number-rules/parseFloat"
    at Function.[Symbol.hasInstance] (<anonymous>)
    at C:\p\monorepo\node_modules\eslint-plugin-big-number-rules\dist\index.js:7:1208

Thanks for the report. Can you share any code or steps to reproduce?

Minimum reproduction:
const notificationData = ({ t }) => {
  return t()
}

export default notificationData

Thank you, I think I've found the source of the problem.
Please try 1.9.1.

Thanks, this issue appears fixed in the latest version 1.9.1

Thanks again!


add node path autocompletion for get_node outside of a method

Operating system or device - Godot version:
ALL
Issue description:

when write code
onready var node = get_node() outside of a method, there is no node path autocompletion.
Steps to reproduce:
Link to minimal example project:

Can confirm this. Autocompletion works with the new alternative syntax for get_node() $node_name or $"path_to_node

I can confirm too.


mixtral support

please add it if you can!

We're discussing adding support for this currently!

@martinshkreli we now have support for mixtral models. You will need DeepSpeed v0.12.6 for support.


share buttons

We need share buttons:
Facebook https://developers.facebook.com/docs/plugins/share-button#configurator

with preview metadata

Twitter https://dev.twitter.com/web/tweet-button

sample Tweet: I just sponsored a virtual taco truck. You can, too. Save The  #Tacos.

Pinterest
No final URL yet; use a placeholder for now.

do we have graphics created for the share images?

No, just standard Facebook and Twitter buttons

share URL will be http://tacotruck.party

I meant the graphics that show up on the user’s Facebook timeline or in the Tweet (if we wanted to make it a Twitter Card).

fixed by https://github.com/DevProgress/more-tacos/pull/27

I could be wrong, but this one doesn't seem to be complete. There aren't any Facebook/Twitter buttons on main page yet.
I'm just learning GitHub, but for some reason I can't see #27. Maybe I have my filters set wrong?

hi @silasmeredith this shows up after the user shares a truck.

That’s where the initial “design” had them. If they also need to be in the main HTML, I can add them there as well.

I made them always appear on the top right of the map, but am having alignment issues (see https://github.com/DevProgress/more-tacos/issues/40)