[FEATURE] Add support for AWS Sigv4 request signer

Add support for signed requests via AWS sigv4.

Note https://github.com/opensearch-project/opensearch-js/issues/264#issuecomment-1203289432 which has a complete example of how to do this with an interceptor with the current version.


Add babel build script

I'm not very happy that the main file in the package.json points to the transpiled es5 version. However it's necessary to include the dist folder in the git source, since it should be possible to use stylebuddy with npm install as well as with a regular git clone.
As a consequence npm version will run the build script and includes the artefacts in the new tag. Unfortunately using stylebuddy with nodejs will require the transpiled version, even if all the es6 language features are fully supported.
This PR closes https://github.com/davidspinat/stylebuddy/issues/14

I'm not aware of any better way to do it, but maybe not up to date w/ latest and greatest on npm publishing, would there be?

Some work with .npmignore and so on, but they all end up with not supporting git clone.
Thanks for approving the PR.


Allows for proper finish()ing of Activities when the AppLockActivity is ...

...onBackPressed().

If a subclass of AppLockActivity allows for backing out of the AppLock.UNLOCK_PIN then this better handles that scenario.
Enables all classes that extend from PinFragmentActivity or PinActivity to listen for a local broadcast for when the user backs out of entering their pin. When this happens the Activities are finish()ed.
Adds pinChallengeCancelled to AppLock to ensure that rapid exiting and entering of the AppLockActivity does not bypass the challenge.

Existing functionality still works great:

New tests to test optional functionality coming soon!


Added Image generation example

Pretty self explanatory :)
Felt this could be useful for someone who wants to utilize image generation.  Currently using something like this myself for my discord bot :)
Fwiw, below is the image generated when I ran the example

Thank you!


#72: add only if nobody answer before option to elephant reminder (closes #72)

Issue #72
Test Plan

Add a reminder 'only if nobody answer before'

you should see

if you refresh the page, you should see the same

add a comment to the issue/pr, and refresh

you shouldn't see the reminder set anymore

Add a reminder 'always'

you should see

if you refresh the page, you should see the same
add a comment to the issue/pr, and refresh
you should still see the reminder

👍


Add Either.tryPromise

Add a helper for streamlined wrapping of promise in an Either. I'd like to introduce Effect into our codebase, without going all in on the Effect type yet. I think this will help illustrate the value of using things like Either, Data.TaggedError, Match and Schema without needing to adopt fully effectual code paths.
Feedback welcome if there is another approach or a way to use an effect in a similar manner
// Example
function getUser(id: number): Promise<Either.Either<UserNotFound, User>> {
  return Either.tryPromise({
    try: async () => {
       const result = await db.sql("...");
       // process result
    },
    catch: (error) => new UserNotFound(...)
  });
}

I believe the absence of anything async/Promise related in the Either module is not by coincidence.
Either is a result/output type, where as Effect (Task/TaskEither equivalent in fp-ts) models operations.
Of course for a softer landing you could always put the proposed utility somewhere in user app land.

As to using an Effect in similar manner:
<E, A>(eff: Effect.Effect<never, E, A>) => Effect.runPromise(Effect.either(eff))
or if you have a Runtime with some Context prepared:
const runPromise = Runtime.runPromise(rt)
<E, A>(eff: Effect.Effect<typeof rt["context"], E, A>) => runPromise(Effect.either(eff))`


Global Toast mechanism for better feedback

Is your feature request related to a problem? Please describe.
There are several actions in SN that don't offer any visual feedback to indicate success/failure e.g.

Subscribing to a post
Bookmarking an item
Probably others

Additionally, in places that do offer feedback, it's usually statically placed on the page. If you're scrolled down too far, like editing user settings or making a post, you don't immediately see the feedback.
Describe the solution you'd like
I'd like to propose a global toast system that displays notifications in a fixed position on the screen so that you can see them regardless of your scrolling position on the page.
The toast messages should probably be auto-dismissed, at least for success messages. Maybe not for error, but they should still be dismissable by the user.
As far as styling goes, they can be styled just like how messages are displayed today.
Describe alternatives you've considered
N/A
Additional context
react-bootstrap has toasts that we should be able to use, though I haven't explored them yet.

Probably others

There is in general no feedback after clicking on anything in the context menu
(except for the OTS timestamps which redirect to a new page):

The menu just closes which can be confusing. Therefore, I agree with this proposal

I can think of a few others where it might be useful:

settings page saves (maybe we can rid ourselves of the 'save' button all together and make it save on change)
form error/success

settings page saves (maybe we can rid ourselves of the 'save' button all together and make it save on change)

I like this idea, but it would probably necessitate other changes e.g. checkboxes -> toggles, to provide a better UX aligning with immediate save, IMO anyway.

I agree. Not an mvp type change


Add a solid background color selection

Encode this and every other selection into the URL which allows sharing settings easy.


Builtin combinators (at least) break custom errors

(this is verbatim what I just wrote in the Gitter, but seeing how long it is I'm making an actual issue)
I could be wrong, but it seems that custom errors aren't well supported (use a specific type, say an enum as the E of Err then do stuff like ErrorKind::Custom(MyErrors::TypelessArgError)). At least some combinators (like tag!) seem to break them.
After I ran into hiccups in a real parser, I did the following minimal example:
#[macro_use]
extern crate nom;

use nom::ErrorKind::Custom;

fn main() {
  let a = &b"efg"[..];

  let res_a = err_test(a);
  println!("{:?}", res_a);
}

#[derive(Debug)]
enum E {
  ME,
  OE
}

named!(
  err_test <&[u8], &[u8], E>,
  error!(
    Custom(E::ME),
    tag!("ef")
  )
);

Gave this type error, as if the error type was still u32:
<nom macros>:9:59: 9:60 error: mismatched types:
 expected `nom::internal::Err<&[u8], E>`,
    found `nom::internal::Err<&[u8]>`
(expected enum `E`,
    found u32) [E0308]
<nom macros>:9 $ crate:: Err:: NodePosition ( $ code , $ i , Box:: new ( e ) ) ) } } } ) ; (

After expanding the code, it turns out tag! somewhere returns a IResult<_, _> (only 2 parameters). Replacing it with IResult<_, _, _> fixed everything (including the custom error being reported on a failure).
If I'm not mistaken, some of the code use 2 parameters for IResult (probably from the time where custom errors did not exist), forcing it back to its default u32 and breaking code using custom errors when it tries to chain the errors together (e.g. using PositionNode).
Anyway I'd love to make a huge replace-all of the codebase to fix that (that's why I just cloned it) but I'm afraid I'm not knowledgeable enough on the existing code not to break everything in the process.
So... thoughts? :-D

I could fix tag! with this simple diff: Geogi@19e584b.
The example above works with this, however my actual parser does not (it's of course more complex). I'm trying to track down what causes this, chaining_parser! and tuple_parser! (both internals) seem like good candidates but they're not exactly as simple as tag!.

Got it, it's because I use multispace.

Just noticed the fix_error combinator. This might change everything (including needing a fix for this issue).

After this long monologue, I can say fix_error! works. Issue wrongly filed!


Bug in categories filtering with only one level

There is a bug when the categories only has one level, as the filter ability renders incorrectly (see below). But when you add a secondary level, it renders properly.

@luisvasq or @mrkwanzaa Do either of you want to pick this one up?

I'm happy to check it out


Annotate SVs

Closes #281, #383, #384, #282.

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Oops, missing docs.

Probably blocked by https://github.com/nextflow-io/nf-schema/issues/55 after template update.


Release v0.5.0 requirements

Targeting release around April 10th, 2024.
Must haves

[x] https://github.com/kubernetes-sigs/jobset/issues/440
[x] https://github.com/kubernetes-sigs/jobset/issues/279
[x] #427
[x] https://github.com/kubernetes-sigs/jobset/issues/447
[x] https://github.com/kubernetes-sigs/jobset/issues/466

Nice to haves

[ ] https://github.com/kubernetes-sigs/jobset/issues/262
[ ] https://github.com/kubernetes-sigs/jobset/issues/422
[ ] https://github.com/kubernetes-sigs/jobset/issues/429
[ ] #428
[ ] #401

I think we're good to proceed with the release, I'll do it tomorrow.

I think we're good to proceed with the release, I'll do it tomorrow.

Can we include the status update PR?

I think we're good to proceed with the release, I'll do it tomorrow.

Can we include the status update PR?

I'll try, it's almost done but after rebasing to include the TTL changes, there seems to be some bug / race condition causing the TTL feature to not work. The TTL integration test passes when I step through in debug mode sometimes, but not when run at full speed.
These kind of issues sometimes take a while to determine the root cause (and I have other deadlines coming up this month I need to mindful of) and I don't want to delay the v0.5.0 too much if we can avoid it, since we are trying to coordinate the release with Kueue's next release on April 15th, so that our changes in #407 can be utilized in their Multi-Kueue work.
I'll see if I can figure it out tomorrow.

@dejanzele that would be super helpful! You can checkout the feature branch in #494 locally and run the integration tests. This line which checks that the expected number of jobs have been deleted fails. Adding print statements, it shows the jobs being listed do not have the deletion timestamp set when the test is run at full speed.
When I add breakpoints in the JobSet controller and step through the logic, the test passes.

@danielvegamyhre I think this should fix it https://github.com/kubernetes-sigs/jobset/pull/494/files#r1560773603

v0.5.0 was released in #515


ZNJS site: portable and installer Windows downloads

Moved to: https://github.com/ZeroNetJS/zeronetjs.github.io/issues/1.

Please label it as "invalid".


stream_info: wire the request and the connection infos

Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>Description: pass the connection-level stream info to the request-level stream info. Initialize connection stream info with the right life span. Expose the filter state as mutable to the child filter state.
Risk Level: low
Testing: tests pass
Docs Changes: none
Release Notes: none

/retest
clang got killed

Gentle ping @dio.

Anything I can do to move this forward?

Sorry, a question, re: Expose the filter state as mutable to the child filter state. What is the motivation of doing this?

@dio Sorry, this fell off my radar. The reason for the mutable filter state is the following change how the request and connection filter state interacted:
Before:

request filter state would receive a null shared pointer owned by connection handler as the connection-level filter state.
connection stream info filter state is not hooked into request stream info filter state.

After:

request filter state receives the actual filter state from the connection stream info.
connection filter state is correctly assigned the life span DOWNSTREAM_CONNECTION.

To allow writes from request stream info to connection stream info, the filter state needs to be exposed as mutable.


Ocelot lifetime/http context question.

Hi,
I have Ocelot gateway running on IIS, and there are multiple services such as Authentication behind it.
My problem is when user one starts to call the services through ocelot, The next user (user two) from a different computer connects to services with user one's token. I tried to authenticate directly through Authentication Service without going through the gateway. Once I get the token and use it to call other services through the gateway, gateway holds on to that token despite different subsequent calls from other users.  It almost seems like the gateway is holding on to the same application lifetime and context. Any idea what might be wrong with my setup?
gateway startup.cs:
public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors();
            services.AddHttpContextAccessor();
            services.AddOcelot();
            services.AddControllers();
            services.AddAuthorization();

            var appSettingsSection = Configuration.GetSection("AppSettings");
            services.Configure<AppSetting>(appSettingsSection);
            var appSettings = appSettingsSection.Get<AppSetting>();
            var key = appSettings.Secret;
            var authenticationProviderKey = appSettings.ProviderKey;

            services.AddAuthentication(x =>
            {
                x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(authenticationProviderKey, x =>
            {
                x.RequireHttpsMetadata = false;
                x.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey = key.GetRsaSecurityKey(),
                    ValidateIssuer = true,
                    ValidIssuer = "AuthenticationService",
                    ValidateAudience = false,
                    ValidateLifetime = true,
                    RequireExpirationTime = true
                };
            });

            services.AddCors(o => o.AddPolicy(MyAllowSpecificOrigins, builder =>
            {
                builder.WithOrigins(appSettings.CorsAllowedOrigins.ToArray())
                       .AllowAnyMethod()
                       .AllowAnyHeader()
                       .AllowCredentials();
            }));

        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseCors(MyAllowSpecificOrigins);

            if (env.IsDevelopment())
            {
                _logger.LogInformation("In Development environment");
                app.UseDeveloperExceptionPage();
            }
            else if(env.IsStaging())
            {
                _logger.LogInformation("In Staging environment");
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }
            app.UseCors(x => x
                .AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader());

            app.UseAuthentication();
            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseEndpoints(x => x.MapControllers());
            app.UseOcelot().Wait();

        }
    }

Gateway program.cs:
public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config
                .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json")
                .AddJsonFile($"Ocelot.{hostingContext.HostingEnvironment.EnvironmentName}.json")
                .AddEnvironmentVariables();
            }).UseIIS()
                .UseStartup<Startup>();
    }

Ocelot.Development.json:
{
"ReRoutes": [
    {
      "DownstreamHostAndPorts": [
        {
          "Host": "dev",
          "Port": 8083
        }
      ],
      "DownstreamPathTemplate": "/{everything}",
      "DownstreamScheme": "https",
      "UpstreamPathTemplate": "/AuthenticationWebApi/{everything}",
      "UpstreamHttpMethod": [ "Post", "Get" ]
    },
    {
      "DownstreamHostAndPorts": [
        {
          "Host": "dev",
          "Port": 8082
        }
      ],
      "DownstreamPathTemplate": "/{everything}",
      "DownstreamScheme": "https",
      "UpstreamPathTemplate": "/GraphQLWebApi/{everything}",
      "UpstreamHttpMethod": [ "Post", "Get" ],
      "ReRouteIsCaseSensitive": false,
      "AuthenticationOptions": {
        "AuthenticationProviderKey": "AuthenticationService",
        "AllowedScopes": []
      }
    }
],
  "GlobalConfigguration": {
    "BaseUrl":  "https://dev:8081"
  }
}

I just found a workaround for now. Setting AuthPresisSingleRequest to true fixed it for now. IIS has AuthPresisSingleRequest to false by default for performance reasons therefore authentication persisted for the remaining session. By setting AuthPresisSingleRequest to true in IIS, the user will be authenticated per request and no authentication info will be persisted. Now I need to make sure the sessions are not persisted for other services.


Push live

null
Microsoft Reviewers: Open in CodeFlow

Docs Build status updates of commit a4ea84b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 49b1b77:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/authoring-cards/universal-action-model.md
:bulb:Suggestion

Details

AdaptiveCards/rendering-cards/actions.md
:bulb:Suggestion

Details

AdaptiveCards/rendering-cards/renderer-behaviour.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/android/host-config.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/ios/render-a-card.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/javascript/extensibility.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-renderin-xamarin-android-renderer-actionhandler-icardactionhandler.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-objectmodel-adaptivecard.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-objectmodel-featureregistration.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-adaptivecardrenderer.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-cardrendererregistration.md
:bulb:Suggestion

Details

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-renderedadaptivecard.md
:bulb:Suggestion

Details

AdaptiveCards/rendering-cards/renderer-status.md
:white_check_mark:Succeeded

AdaptiveCards/resources/partners.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/react-native/getting-started.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/react-native/theme-config.md
:white_check_mark:Succeeded

AdaptiveCards/toc.yml
:white_check_mark:Succeeded

AdaptiveCards/authoring-cards/universal-action-model.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/rendering-cards/actions.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/rendering-cards/renderer-behaviour.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/android/host-config.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/ios/render-a-card.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/javascript/extensibility.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-renderin-xamarin-android-renderer-actionhandler-icardactionhandler.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-objectmodel-adaptivecard.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-objectmodel-featureregistration.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-adaptivecardrenderer.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-cardrendererregistration.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

AdaptiveCards/sdk/rendering-cards/xamarin/android/adaptivecards-rendering-xamarin-android-renderer-renderedadaptivecard.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Persistent Storage for DataStore Redis

Hi I'm trying to setup kubernetes cluster with netflix/conductor Dynomite and ElasticSearch
However i have options to provide volume mounts for Elastic Search , But I dont see an option to have the volume mount for dynomite , This way I can ensure that updates / container disposal doesnt affect the workflow storage ,
Such that the workflow  ( redis - storage )  is preserved and also is scalable
Any documentation  links , suggestions or an added feautre will be helpful

I have the same problem. Did you find a solution to this issue?


chore(weave): Add client-side quoting for object names

Summary

Adds client-side checks to ensure names are valid before hitting the Trace Server layer

NOTE: Do not merge until companion UI fixes land
Resolves:

https://wandb.atlassian.net/browse/WB-20402

Related to:

https://github.com/wandb/weave/issues/1380#issuecomment-2291658250 (invalid char caught at lower level)

Close in favour of https://github.com/wandb/weave/pull/2145


ARM64 Build ???

hi,
does Firebase supports on android ARM64 [v8] ?
i can't find any libraries of that on v8 build !!

Hi,
It looks like you need to run the resolver after changing the build target settings.
Choose Assets > Play Services Resolver > Android Resolver > Resolve from the Unity menu. If that doesn't work, you can Force Resolve to ensure it includes the correct library versions.
Please let me know if that works. Thanks!

thanks ...
its solved :]


lhexec aka longhorn cli, documentation where?

Just discovered lhexec and tried to use it, listed replicas, and something more, snapshots, and so on, but tried to list backups and not found how to use it.. any help..

In fact, lhexec wasn't designed to te the Longhorn CLI. It's more like a dev tool and provides the access to a single volume engine when it's attached. We are planning to have an official Longhorn CLI in v1.2.0.
backup commands are a bit more complicated. We don't have documentation about it at the moment. What's your use case?

Sorry for be so late, i expressed my use case at slackware channel, but to clear, i need smething along the lines of
lhexec backup --pvc ns/pvc
in a source cluster
lhexec restore --pvc ns/pvc --latest
in a target one

@IJOL We will publish a python client reference (https://github.com/longhorn/longhorn/issues/1976) to help with backup/restore commands.
Close this in favor of #1976


Compatibility with Atom 1.12?

Is this package still compatible with Atom 1.12? I'm asking because whenever I add the code to my package.json/main.coffee, I get dozens of these errors in my console:
state-store.js:33 Uncaught (in promise) DOMException: Failed to execute 'put' on 'IDBObjectStore':
    An object could not be cloned.(…)

Hi Jan! Thx for this report. I just released 0.2.1 which should fix this problem.

That was quick, thank you!


De-janked Y-Axis Labels

Closes #180

Removed y-axis labels during a drawRect: to prevent subviews from being added over and over and over and over. This isn't terribly efficient so it should be addressed in the future when adding in the value change animations for the bars.
Reduced font size for y-axis labels back to what it was before #173.
Fixed y-axis label size so that font can be reduced in the case where the number is too large.

cc: @jancavan

@astralbodies looks good :+1:


Improve signal already connected error message

The signal already connected message is improved to provide the names of the objects involved.
Notes

Adding as a draft to work on later.
This was originally added as part of the merging PR, in order to investigate a possible bug, which may be an existing engine bug (rather than caused by merging).

I don't understand why you add _get_name_internal() as virtual. get_name() seems to be the go-to method to get the class and ID of an object.

to_string() looks interesting, but it seems to do this in node:
String Node::to_string() {
	if (get_script_instance()) {
		bool valid;
		String ret = get_script_instance()->to_string(&valid);
		if (valid) {
			return ret;
		}
	}

	return (get_name() ? String(get_name()) + ":" : "") + Object::to_string();
}

So I'm presuming if there is a script, it prints the script name instead of the node name, which doesn't seem very useful (at least for this purpose in this PR).

No that code doesn't print the script's name, it calls to_string() if you override it in a Node's script, which you only do if you specifically want to customize hos the node should be represented by print().

No that code doesn't print the script's name, it calls to_string() if you override it in a Node's script, which you only do if you specifically want to customize how the node should be represented by print().

Ah I see. :+1: That should be fine then we should just be able to call it directly. (It was not at all clear from the code what this would do).

Thanks!


Musings on GetView

Fixes #736 but also illustrates that its becoming increasingly difficult to make changes to C++/WinRT's stock implementations. I was always a little hesitant to add collection implementations to C++/WinRT because its so very difficult to write them in a general purpose way. But we needed something... Now that we have both single- and multi-threaded implementations and helpers for creating your own implementations, its almost impossible to make improvements without breaking something or other.
This PR attempt manages to tear apart the implementations of IVectorView and IMapView so that they're distinct objects so that GetRuntimeClassName can return different values to satisfy .NET but at considerable expense in complexity and potential to destabilize.
It also requires us to retire support for abi_guard. I don't actually think that's a bad thing - that feature was never used as far as I can tell. It's removal makes it easier to write generic implementations that forward their implementation efficiently. So I do like this change, but it does illustrate again how difficult it is to change the internals of C++/WinRT. A consequence of success. 😉
Then there's the convertible single_threaded_observable_vector and multi_threaded_observable_vector implementations that implement collection interfaces for both T and IInspectable to satisfy Xaml. I haven't managed to tear off their GetView implementations.
Ultimately, I don't know that we want to take this change at all. Better for anyone bothered by #736 to provide their own dedicated implementation.
@benstevens48 also offered a simple solution here: #820. While simple, the trouble is that it impacts the performance of practically every use of the stock collections. There's also @jlaanstra's solution #743 that is also quite simple by offering alternatives.
I also don't think that fixing #736 is going to matter in the long run. The fact that .NET crashes because GetRuntimeClassName returns a value it doesn't expect is a .NET bug and one that the new .NET 5 language projection doesn't (or shouldn't) suffer from.  @Scottj1s may be able to confirm. GetRuntimeClassName is meant to return the name of the Windows Runtime class that the object represents. Relying on what it returns in other cases is rather dubious since an implementation can naturally implement multiple interfaces and there is no hard and fast rule on what to return in those cases. Ironically, we could try to fool .NET simply by reordering the interfaces so that IVectorView is always listed before IVector but who knows whether that will work reliably.
Also adding @DefaultRyan, @dunhor, and @oldnewthing for their opinions.
If I could turn back time I would have never introduced the helper functions for creating collections, single_threader_vector and all the rest, and left such things to applications and other libraries to provide.

@kennykerr - should you also add
auto acquire_exclusive() const
{
    return m_base->acquire_exclusive();
}

auto acquire_shared() const
{
    return m_base->acquire_shared();
}

because although the view is read-only, the underlying collection may be updated?
I admit that #736 ought to go away in the long run, but the problem is that 'anyone bothered by #736' is potentially a large number of people. If MS are developing the Windows OS or Project Reunion using C++/WinRT, then the devs all need to be aware not to use the GetView() on an IVector created by single_threader_vector, otherwise anyone consuming the API using .Net Native is going to potentially see a crash. Unfortunately there's not going to be an alternative to .Net Native for maybe up to 2 years (which is very disappointing considering it was meant to released with .Net 5.0, and now the .Net 6.0 ambitions are quite small with statements like "Early adopters can experiment with Native AOT"). Also, it would be good to confirm that the problem does indeed go away with the new .Net 5 projections.
In conclusion, I would say that not including this fix is OK, provided it is clearly stated in the docs for single_threader_vector that there is a problem with GetView when using .Net Native, and the workaround #743 is suggested, and also that any MS developers who are producing a library using C++/WinRT that may be consumed by code compiled using .Net Native know this. On the other hand the fix looks quite clean apart from the abi_guard issues.
It's definitely a good thing that C++/WinRT contains implementations for the collections. In fact it's essential in my opinion. Otherwise it would be a significant barrier to using C++/WinRT. Not having them would mean that every single developer (not just developers of the MS libraries) would have to implement their own version, and they probably don't have the same C++ expertise as the contributors of this project.

re GetRuntimeClassName, C#/WinRT only uses it internally as an optimization - instantiating a specific projected runtime class with knowledge of all its implemented interfaces, which can be lazily QI'd and cached.  If C#/WinRT cannot resolve GetRuntimeClassName to a projected type, it simply leaves it as type-erased Object (IInspectable) and it's up to callers to cast to the appropriate interface.  The problem is with callers that are expecting a type-erased runtime class instance, and attempt to cast to that.  For better or worse, that's the precedent that was set in .NET Core WinRT support.  C#/WinRT tries to honor that where possible.

That makes me think that perhaps a better solution is for GRCN to return a per-interface value instead of a per-instance value.

Issue #736 has broader impact than just .NET. Consider the case of code that wants to grant read-only access to an internal vector.
// Things.idl
runtimeclass Thing { ... }

runtimeclass ThingManager
{
   IVectorView<Thing> Things { get; };
}

// Things.h
struct ThingManager
{
    // Return a read-only view of our internal vector.
    IVectorView<Thing> Things() const { return m_things.GetView(); }

    IVector<Thing> m_things = multi_threaded_vector<Thing>();
};

The current implementation allows the client to cast the IVectorView<Thing> back to an IVector<Thing> and gain access to what was supposed to be a read-only collection.
Many Windows Runtime objects use the pattern of "return a read-only view to an internal collection", with the expectation that the view cannot be promoted to read-write access.
This has serious security implications for out-of-process objects.

Yes, there's merit in adding vector_view and map_view functions as #736 does for the purpose of not leaking writable access to a view. That would indirectly solve the .NET crash, so perhaps that's enough.

@oldnewthing - ah I see, the security implication is probably why the GetView function exists in the first place, rather than having the IVector interface implement IVectorView. @kennykerr - that doesn't completely solve the case @oldnewthing is taking about because you might want to be able to modify the collection internally, and the solution of #743 would require returning a complete copy of the collection very time.

#734 prevents writes by not implementing the IVector and IMap interfaces. This is sufficient.

743 doesn't help in the common case where the vector is dynamic, so the container needs to maintain read-write access, but it also wants to hand out read-only views. 734 lets you create a read-only view on an existing vector, but you lose the ability to mutate that vector.
For example, CoreApplication.Views returns an IVectorView<CoreApplicationView>. Apps can get a read-only list of views, but if the app calls CreateNewView() or destroys an existing view, then the CoreApplication needs to mutate that vector to include the new view / remove the old one. Similarly, WebViewControl.DeferredPermissionRequests gives read-only access to the list of active permission requests. New entries are added to the list when the web page requests a permission (and the PermissionRequested event is raised); entries are removed when the app calls the Allow() or Deny() method on a permission request.

Seems like a need for a "cppwinrt collections" library - I'm just not sure we can retrofit that into cppwinrt itself nor do I think we should. I'd rather see a rich library of collections for C++/WinRT come from a dedicate library + repo.

Sounds reasonable. I've no idea what the best approach is, but I'd be happy if it was a header-only library and it just meant I had to add another NuGet package reference in order to use the collections.


OSV-Scanner reporting package locations to give user information on remediation externally

Hi there !
First of all, thanks a lot for the work on this tool, it is really a pleasure to work with it.
Coming from Datadog, where we are using osv-scanner to scan our customer repositories to extract packages they use and later match packages with advisories to resurface vulnerabilities in our platform.
To do so, we only need packages as we use our own platform to match vulnerabilities, but we also need to have the location where it has been found when parsed (file and start/end line and column).
We started implemented this in our fork, and I will work in the next months on creating PRs for each of them to be able to discuss them individually with you to check if it matches your vision for the future of this tool or not. (Don't hesitate to tell me if that suits you or if you would prefer me to do it in another way)
Here's a quick list of features we have implemented in our fork :

Recursive parsing of maven files (mainly to be able to resolve more properties)
Reporting packages in the CycloneDX 1.4 and 1.5 format
Reporting location of the entire dependency definition for maven, go, requirements.txt, pipenv, poetry, yarn, npm and pnpm
Reporting location of each components of the dependency definition (name and version) individually for the same ecosystem than above

Thank you so much for upstreaming the CycloneDX support @marcwieserdev ! Are you planning to upstream more patches for the features you listed?
Regarding Maven, you may be interested in https://osv.dev/blog/posts/announcing-transitive-dependency-support-for-maven-pomxml-in-osv-scanner/ (in case you haven't seen it!)


fix:(area/monitoring) Add unique label for exporter pod

Signed-off-by: chandan kumar<EMAIL_ADDRESS>
What this PR does / why we need it:
This change is required to scrape the metrics exporter pod by Prometheus.
Note: Prometheus is looking for the pod with label chaos-exporter.
Special notes for your reviewer:
Checklist:

[ ] Fixes #
[ ] Labelled this PR & related issue with documentation tag
[ ] PR messages has document related information
[ ] Labelled this PR & related issue with breaking-changes tag
[ ] PR messages has breaking changes related information
[ ] Labelled this PR & related issue with requires-upgrade tag
[ ] PR messages has upgrade related information
[ ] Commit has unit tests
[ ] Commit has integration tests

BCH failed reason is expected because I have made some changes in function which is not following the BCH guideline


chore(main): release 2.4.0

🚀 Introducing library for saving summaries and answers
2.4.0 (2024-11-01)
Features

add library feature, closes #145 (e6ec639)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.4.0
:sunflower:


Add CommandManager to allow plugins to register their own ingame commands

This will allow plugins to register their own commands similar to ::displayfps.

As discussed on discord, I think it would be better to add a hook in the cs2 scripts. I think this handleCommand() can get inlined.

I will be hooking into the cs2 script, I already made some progress but its not working fully yet.

I have tested this with my branch over at clue-command


feat(cdk/testing): add the ability to dispatch arbitrary events

Allows for arbitrary events to be dispatched through a TestElement. This covers the following use cases:

Some events can't be simulated easily without a user interaction (e.g. change event on an input).
Allows for custom DOM event handlers to be triggered.

I've removed the data argument based on our discussion.


Use direct endpoint entries in default configuration

As done in the examples in the documentation, we originally had an
opinionated template for the endpoints which would only allow for
setting one endpoint to one backend. While this was nice for testing,
this is not ideal if we want to allow folks to have more control over
their endpoints.
So, we now are switching to allowing a raw endpoint configuration
insertion via Krakend's flexible configuration partials [1]. While
service authors will need be more acquainted with lura configuration,
specifically the endpoint constructs [2], it allows us to iterate faster
on verifying the krakend gateway and getting that deployed.
[1] https://www.krakend.io/docs/configuration/flexible-config/
[2] https://www.krakend.io/docs/endpoints/
Signed-off-by: Juan Antonio Osorio<EMAIL_ADDRESS>

cc @alombarte


Oracle: View with the name of already existing view could be created

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 6.2.5

Connection specification:

Database name and version Oracle

Describe the problem you're observing:
View with the name of already existing View could be created and save. Existing view is replaced by the new one.
Steps to reproduce, if exist:

Create View named e.g. NEW_VIEW and save it
Create View with the same name that contains another info and save it
Check View that was created at the step 1 - it contains all the info from view created at the step 2.

Fixed (+ new view name validation added)

verified


Lock continuation before calling event handler.

After further deploying builds with the asserts in handleEvent we have seen several variants of the following stack.  In the cases I've dug into the continuation called from reply_to_cont is a HttpSM.  And indeed  it is unlocked.
Grabbing the lock at the top of probeEvent and rescheduling if either lock cannot be obtained should solve the problem.  To simply the lock scope problem, we get the action.mutex lock again if the continuation lock is not present.  Should only be a compare and increment overhead.
 0  ] libc-2.17.so       __GI_raise                                                   ( :undefined         )
[ 1  ] libc-2.17.so       __GI_abort                                                   ( :undefined         )
[ 2  ] libtsutil.so.7     ink_abort                                                    ( ink_error.cc:99    )
[ 3  ] libtsutil.so.7     _ink_assert                                                  ( ink_assert.cc:37   )
[ 4  ] traffic_server     Continuation::handleEvent(int, void*)                        ( Continuation.cc:32 )
[ 5  ] traffic_server     reply_to_cont                                                ( HostDB.cc:491      )
[ 6  ] traffic_server     HostDBContinuation::probeEvent(int, Event*)                  ( HostDB.cc:1736     )
[ 7  ] traffic_server     HostDBContinuation::dnsPendingEvent(int, Event*)             ( HostDB.cc:1193     )
[ 8  ] traffic_server     Continuation::handleEvent(int, void*)                        ( Continuation.cc:33 )
[ 9  ] traffic_server     HostDBContinuation::remove_trigger_pending_dns()             ( HostDB.cc:1793     )
[ 10 ] traffic_server     HostDBContinuation::dnsEvent(int, HostEnt*)                  ( HostDB.cc:1487     )
[ 11 ] traffic_server     Continuation::handleEvent(int, void*)                        ( Continuation.cc:33 )
[ 12 ] traffic_server     DNSEntry::postEvent(int, Event*)                             ( DNS.cc:1282        )
[ 13 ] traffic_server     Continuation::handleEvent(int, void*)                        ( Continuation.cc:33 )
[ 14 ] traffic_server     EThread::process_event(Event*, int)                          ( UnixEThread.cc:132 )
[ 15 ] traffic_server     EThread::process_queue(Queue<Event, Event::Link_link>*, i... ( UnixEThread.cc:171 )
[ 16 ] traffic_server     EThread::execute_regular()                                   ( UnixEThread.cc:231 )
[ 17 ] traffic_server     EThread::execute()                                           ( UnixEThread.cc:326 )
[ 18 ] traffic_server     spawn_thread_internal                                        ( Thread.cc:85       )
[ 19 ] libpthread-2.17.so start_thread                                                 ( :undefined         )

when EThread::process_event(Event*, int) is called, it is not acquiring the HttpSM mutex? DNS/HostDB mutex should be same as that of HttpSM, right ?

No. The lock in HostDBContinuation should be the lock on the bucket in which the HostDB record resides, so that the continuation can updated it safely.

In any case, this stack has the HttpSM mutex not held because the assert went off.

it makes sense to hold the bucket mutex. If the theory is right, we should be able to reproduce the scenario as it should crash if DNS takes longer than transaction time.

Cherry picked to 8.1.0


[Communication]: Update chat ChangeLog.md to be consistent with other languages

/azp run java - communication - ci


stage0: touch status directory when using overlay fs

When using overlayfs, we read the status directory from its upper layer
since the fs might be unmounted or in another mount namespace. If the
directory is not modified it won't be in the upper layer causing the
status command to fail.
We touch the directory to force the status directory to be in the upper
layer of the overlayfs.
Fixes #856

Lgtm, thx
Am 11.05.2015 03:56 schrieb "Iago López Galeiras"<EMAIL_ADDRESS>
:

When using overlayfs, we read the status directory from its upper layer
since the fs might be unmounted or in another mount namespace. If the
directory is not modified it won't be in the upper layer causing the
status command to fail.
We touch the directory to force the status directory to be in the upper
layer of the overlayfs.
You can view, comment on, or merge this pull request online at:
https://github.com/coreos/rkt/pull/883
Commit Summary

stage0: touch status directory when using overlay fs

File Changes

M stage0/run.go
https://github.com/coreos/rkt/pull/883/files#diff-0 (8)

Patch Links:

https://github.com/coreos/rkt/pull/883.patch
https://github.com/coreos/rkt/pull/883.diff

—
Reply to this email directly or view it on GitHub
https://github.com/coreos/rkt/pull/883.


Git: Show State

I really like that smartgit indicates that a repository is in "merging-state":

They even offer a simple mechanism to abort.
VS Code doesn't show this:

I think it would be a great addition.

Highlighting the merge, rebase, and even cherry-pick status somewhere would be awesome! Need to implement Continue for cherry-pick (#193042) and Abort for all of these workflows.


I would like a swastika symbol to be added to your web page because it is a very useful icon. It would look like this - 卐.

If you'd like to request an icon, please provide the following information:

icon name
at least one use case
screenshots of similar icons

Please create one issue for each icon request.

This issue is in direct violation of the Code of Conduct. I will not tolerate the use of any hateful language or symbols. This violation has been reported to GitHub.


feat: Enable customizing the docker admin password

SUMMARY
This PR modifies the docker-compose setup to enable customizing the password used for the admin user. This is useful in scenarios where we want to use the docker-compose setup to spin up a self-contained superset instance but when we don't want to risk someone being able to log in as an admin with the known default credentials.
TESTING INSTRUCTIONS

Configure password override: echo 'ADMIN_PASSWORD=supersecret' > docker/.env-local
Run the stack: TAG=4.0.2 docker compose -f docker-compose-image-tag.yml up
Go to http://localhost:8088 and log in using username admin and the password from step 1

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks for the contribution!


config: use ext and only set defaults

Step in the right direction but may not be enough yet. If it runs after invenio-records-rest config, that wouldn't do: I think we need to have invenio-app-rdm hard set the config from this module to close that loophole.

Yup, like I said, on its own this is not enough (although I should not have said "may" in that first sentence, but rather "will" :) )

we need to have invenio-app-rdm hard set the config from this module to close that loophole

That's the approach that I think could work best. We have invenio-rdm-records define the configuration it needs in its own config.py and set_defaults it in its own ext.py. Then, invenio-app-rdm would *set invenio-rdm-records' config.py in its config.py (via config entrypoint). We split definition and setting for 2 reasons:
1- so we can still keep coupled things together and, in particular,
2- test invenio-rdm-records with the correct configuration.
What do you think about that?


Corrijan este error

[Enter feedback here]

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

ID: c3c3004b-49f9-09d4-5bc2-0358e82949bf
Version Independent ID: 278c9b16-9d05-91bf-8f7c-f9e9e603f04c
Content: Compiler Warning (level 1) CS1030
Content Source: docs/csharp/misc/cs1030.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @DavidMarin11
Did you have more details that you can add to this issue? Is there something in the article that we need to address?


[Video calls] MicroProfile Site Improvement sessions

Hi @Emily-Jiang @jclingan ,
Can you please upload the working sessions for the MP website improvements to a playlist website?

dias @jclingan,
Can you please help create a Website Playlist under MP youtube? https://www.youtube.com/channel/UC_Uqc8MYFDoCItFIGheMD_w/playlists
I just checked and it doesn't exist yet. thank you.

@cesarhernandezgt we are not using Youtube anymore...
I will close this ticket while requesting an update on where the Q3 and Q4 recordings are hosted.


stages: add coreos.live-iso stage

This adds a new org.osbuild.coreos.live-iso stage to build a CoreOS live ISO. The code is heavily based on the cmd-buildextend-live script from coreos-assembler, but a lot of things had to be adapted:

the stage is provided the deployed oscontainer tree, metal, and metal4k images as inputs
we use bwrap instead of supermin to execute some commands in the context of the target oscontainer
we use a loopback device to create efiboot.img instead of libguestfs
a bunch of calls that were wrapped by libguestfs for us (e.g. mkfs.vfat, mksquashfs), we now have to call ourselves; to retain maximum compatibility, I ensured that we still effectively use the same args that libguestfs passed

And various other minor adjustments.
Of course, this is not really in the spirit of the osbuild philosophy of having smaller-scoped stages. The goal should be to eventually break this down in many stages that we can then assemble into a pipeline. However, this will take a lot of time and effort. The CoreOS live ISO
has many special things going on and exposes APIs that are heavily relied on by both OpenShift and end-users. Having this code live here at least gives a way to do this incrementally.
It also more quickly unlocks a major benefit: customized CoreOS live ISOs. The only real top-level input is the oscontainer (the metal images are derivations from that), and this new stage can be used with customized CoreOS oscontainers.

This works but not fully. It still needs a lot of adjustments and testing.

I haven't read through the whole thing in detail but I felt it'd be useful to get my initial thoughts here anyway.
This stage is way too big, not just in lines of code, but in the number of things it does, many of which are a bit too automatic and implicit.  In the past we had units called assemblers (they're still in the assemblers/ directory, but not in use anymore).  We moved away from using them and broke them down into smaller components when we realised that they were inflexible, hard to use, and hard to maintain.  This stage is bigger than any of the assemblers we had before.  I'm pointing this out to illustrate that maintaining this stage would be a massive burden.
I see two options here:

Break down the stage into smaller stages, each one doing at most a couple of things.
Package and distribute the stage separately, have it install into /usr/lib/osbuild/, and own the stage and package for your own manifests.

Personally, I prefer the first option.  In fact, even if you decide to go with option 2, I'd still recommend breaking it down for your own benefit.  I'd like to offer to help with this beyond just reviewing iterations.  Let's work together on this and the outcome will be better for everyone.
I can't overstate how much easier and pleasant it is to work with smaller stages that do one thing and have very explicit options.  The best stages are the ones that thinly wrap a command line utility.  They are simpler to write, maintain, troubleshoot, and make the manifest (almost) human-readable.  If we start breaking this one down, I think a big chunk of it will be replaced by stages that already exist, perhaps with a few enhancements to their options to accommodate these new requirements, which will be better for the whole project in general.  I understand it's not easy, at least in the beginning, to reason about osbuild pipelines and stages and it's very appealing to do everything in one step in code, but I guarantee it pays off in the long run.
I hope I'm not coming off too critical and harsh, I understand where you're coming from.  But I really think working to adapt this to the project's principles is worth everyone's time.

I haven't read through the whole thing in detail but I felt it'd be useful to get my initial thoughts here anyway.

Thanks for the thoughts.
To be clear (and as mentioned in the commit message), I strongly agree this stage is very atypical and an anti-pattern. There's no question that the ideal goal should be to get this broken down into smaller stages (I hope you would agree at least that this is a useful first step towards making that easier).
The question is more one of timeline and prioritization.
I think it should indeed be possible to have this live outside of osbuild for now until it's ready to live in-tree. It would require more hoops to jump through for end users, but that's probably OK in the short-term.

(I hope you would agree at least that this is a useful first step towards making that easier).

Totally agree.  I didn't mean to imply that the PR shouldn't be opened or presented in any way.

The question is more one of timeline and prioritization.

Unfortunately, I'm very very bad at this.  I'm easily distracted and this looks like a fun project.  I'd love to start digging in but there are other priorities right now.  If we're targeting a RHEL 9.6 timeline for this though, I think that's very doable.


Company Fees Contract Page - When attach service quick setting button is disabled

Describe the bug

When we attach service first time quick setting button is disabled but after closed and reopen auto billing popup it is active
https://www.berrycast.com/conversations/72dee6a6-01db-507a-aefa-d70cb02fe602

https://www.berrycast.com/conversations/dfdd976a-cc6c-5d9f-b8ff-da75ccdb9814


[WIP] Support GL_ARB_shader_objects

cc #343
Remains to do:

Fix the bugs (apparently I broke something)
Use glUniform*ARB instead of glUniform

With this PR, the triangle example works on a machine that only has OpenGL 1.4 available.


Custom JS tracers default disabled

Describe the bug
I believe this is a divergence from geth / erigon where these are default enabled.
At present, custom JS tracers seem to require a change to Cargo.toml
diff --git a/Cargo.toml b/Cargo.toml
index 189681e32..b82602c22 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -377,7 +377,7 @@ reth-provider = { path = "crates/storage/provider" }
 reth-prune = { path = "crates/prune/prune" }
 reth-prune-types = { path = "crates/prune/types" }
 reth-revm = { path = "crates/revm" }
-reth-rpc = { path = "crates/rpc/rpc" }
+reth-rpc = { path = "crates/rpc/rpc", features = ["js-tracer"]}
 reth-rpc-api = { path = "crates/rpc/rpc-api" }
 reth-rpc-api-testing-util = { path = "crates/rpc/rpc-testing-util" }
 reth-rpc-builder = { path = "crates/rpc/rpc-builder" }

Steps to reproduce
Compile Release build and JS tracers are disabled and inaccessible without recompile.
Node logs
No response
Platform(s)
Linux (x86)
What version/commit are you on?
HEAD
What database version are you on?
NA
Which chain / network are you on?
NA
What type of node are you running?
Full via --full flag
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

ah shoot...
features...


Error while loading 5dim_enemies

I'm getting the error below when i try to load your mod:

Am i doing something wrong?

Show me the modlist please.

Show me the modlist please.

Sorry for my late reply didn't see my e-mail in time. Normally i use a bunch of mods, so at first i thought there was a conflict with another mod, however when i turn off every mod except yours i still get the error.
This is the modlist

When i click confirm i will get the error shown in my first post.

Sorry for my late reply didn't see my e-mail in time. Normally i use a bunch of mods, so at first i thought there was a conflict with another mod, however when i turn off every mod except yours i still get the error.
This is the modlist

When i click confirm i will get the error shown in my first post.


Connection exception during topology update

Bug Report
I encountered an issue with Lettuce when sending commands while it updates the cluster topology, leading to exceptions. In my test, I continuously called Lettuce's read and write commands while performing a master-slave switch in a Redis cluster. Occasionally, Lettuce throws a connection exception, which appears as if the connection for normal commands was forcibly terminated.
Current Behavior
In most cases, no exceptions are thrown. However, there is a low probability of encountering the following exceptions:

io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s)
io.lettuce.core.RedisException: Connection closed

io.lettuce.core.RedisException: Connection closed
io.lettuce.core.RedisException: Connection closed
        at io.lettuce.core.protocol.DefaultEndpoint.lambda$notifyDrainQueuedCommands$7(DefaultEndpoint.java:677)
        at io.lettuce.core.protocol.DefaultEndpoint$Lazy.getNullable(DefaultEndpoint.java:1182)
        at io.lettuce.core.protocol.DefaultEndpoint$Lazy.get(DefaultEndpoint.java:1167)
        at io.lettuce.core.protocol.DefaultEndpoint.lambda$notifyDrainQueuedCommands$8(DefaultEndpoint.java:678)
        at io.lettuce.core.protocol.DefaultEndpoint.cancelCommands(DefaultEndpoint.java:799)
        at io.lettuce.core.protocol.DefaultEndpoint.notifyDrainQueuedCommands(DefaultEndpoint.java:678)
        at io.lettuce.core.protocol.CommandHandler.channelInactive(CommandHandler.java:368)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
        at io.lettuce.core.protocol.RedisHandshakeHandler.channelInactive(RedisHandshakeHandler.java:79)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
        at io.lettuce.core.ChannelGroupListener.channelInactive(ChannelGroupListener.java:54)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1352)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
        at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:850)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:811)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasksFrom(SingleThreadEventExecutor.java:428)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:377)
        at io.netty.incubator.channel.uring.IOUringEventLoop.run(IOUringEventLoop.java:222)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1575)

io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s)
io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s)
    at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:63)
    at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:233)
    at io.lettuce.core.cluster.ClusterFutureSyncInvocationHandler.handleInvocation(ClusterFutureSyncInvocationHandler.java:136)
    at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:84)
    at jdk.proxy6/jdk.proxy6.$Proxy67.set(Unknown Source)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at io.lettuce.core.support.ConnectionWrapping$DelegateCloseToConnectionInvocationHandler.handleInvocation(ConnectionWrapping.java:200)
    at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:84)
    at jdk.proxy6/jdk.proxy6.$Proxy67.set(Unknown Source)
    at tair.Main.main(Main.java:47)
    at org.codehaus.mojo.exec.ExecJavaMojo.lambda$execute$0(ExecJavaMojo.java:283)
    at java.base/java.lang.Thread.run(Thread.java:1575)

Packet Capture Analysis
io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s):

The main thread calls Lettuce to send a SET command.
While waiting for the SET response, Lettuce completes the topology update and sends a FIN to the old connection.
The database replies with MOVED, and Linux directly sends a RST.
Lettuce waits for the SET command response until a timeout occurs.

Additionally, it is speculated that another exception, io.lettuce.core.RedisException: Connection closed, may follow this sequence:

The main thread calls Lettuce to send a SET command, but the command is not sent.
Lettuce completes the topology update and sends a FIN to the old connection.
The actual SET packet is sent, resulting in a Connection closed error.

Steps to Reproduce

Continuously execute Lettuce read and write commands.
Perform a master-slave switch in the Redis cluster.
Observe the connection exceptions thrown by Lettuce.

Input Code
package tair;

import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

import io.lettuce.core.RedisURI;
import io.lettuce.core.SocketOptions;
import io.lettuce.core.SocketOptions.KeepAliveOptions;
import io.lettuce.core.SocketOptions.TcpUserTimeoutOptions;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import io.lettuce.core.cluster.RedisClusterClient;
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
import io.lettuce.core.protocol.ProtocolVersion;
import io.lettuce.core.support.ConnectionPoolSupport;
import org.apache.commons.pool2.impl.GenericObjectPool;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;

public class Main {

    private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");

    public static void main(String[] args) throws InterruptedException {
        String host = "xxxxxxxx.redis.rds.aliyuncs.com";
        int port = 6379;

        RedisURI redisURI = RedisURI.Builder.redis(host).withPort(port).build();

        ClusterTopologyRefreshOptions refreshOptions = ClusterTopologyRefreshOptions.builder()
                .enablePeriodicRefresh(Duration.ofSeconds(3000000)).dynamicRefreshSources(true)
                .enableAllAdaptiveRefreshTriggers().adaptiveRefreshTriggersTimeout(Duration.ofSeconds(20)).build();

        RedisClusterClient redisClient = RedisClusterClient.create(redisURI);
        redisClient.setOptions(ClusterClientOptions.builder().protocolVersion(ProtocolVersion.RESP2)
                .validateClusterNodeMembership(false).topologyRefreshOptions(refreshOptions).build());

        // GenericObjectPool<StatefulRedisClusterConnection<String, String>> pool = ConnectionPoolSupport
        //         .createGenericObjectPool(() -> redisClient.connect(), new GenericObjectPoolConfig());
        StatefulRedisClusterConnection<String, String> connection = redisClient.connect();
        for (int i = 0; i < 1000000; i++) {
            try {
                // StatefulRedisClusterConnection<String, String> connection = pool.borrowObject();
                long begin = System.currentTimeMillis();
                for (int j = 0; j < 5000; j++) {
                    connection.sync().set("" + i + j, "" + i + j);
                    connection.sync().get("" + i + j);
                }
                long end = System.currentTimeMillis();
                String now = LocalDateTime.now().format(formatter);
                System.out.println("now: " + now + ",i: " + i + ", cost: " + (end - begin) + "ms");
                // pool.returnObject(connection);
            } catch (Exception e) {
                System.out.println("\nException throwed!\n");
                e.printStackTrace();
            }
        }

    }

}

Expected behavior/code
No exceptions.
Environment

Lettuce version(s): the main branch
Redis version: Redis 7.0

Hey @suxb201 ,
Could you comment on what your expectation is for the driver to handle these cases?

@tishun I want the client to handle cluster topology changes without throwing any exceptions, as exceptions are difficult to handle and retrying non-idempotent commands on exceptions can lead to data inconsistencies. We can achieve this by fully utilizing the MOVED response during topology changes:

If the client accesses the correct node, it returns the result normally.
If the client accesses the wrong node, it receives a MOVED response to redirect to the correct node and updates the topology.
Nodes scheduled for shutdown remain active for a while to allow clients to complete redirections.

In practice, most clients(Jedis, redis-py, etc.) remain unaffected during cluster topology changes, experiencing only slight increases in latency. Lettuce is an exception; even with the correct configuration, it sometimes throws exceptions, which I believe is a bug related to how Lettuce handles connection closures.

Let me try to address all the things you said separately.

We can achieve this by fully utilizing the MOVED response during topology changes:

I am really confused by your example, because Lettuce always reacts to a MOVED response. In your initial description you mention that there is a command waiting for a response - during the topology update - that eventually times out. If it times out then it never receives a response from the server (MOVED is a valid response that the driver can and will handle) in the first place. So the problem does not seem to be related to not handling a MOVED response, but instead not knowing what to do when the topology changed during sending a command.
This is why I asked what do you think we should do - if the command was sent during a transitional state of the system and we can't know if ...

a) it was executed successfully or not
b) it was executed against the right node or not
c) it should be retried or ignored
... so this is left to the user application to handle (by utilizing a try-catch block and implementing some fallback logic)

[!IMPORTANT]
Please have in mind that the topology updates are being sent on a separate connection and are sent asynchronously from any other connection / connections that the user application might have established. Lettuce in also a non-blocking client. When you use this pattern you need to accept the fact that there would be events that would be happening in the same time, for example cluster topology refresh and command execution.

In practice, most clients(Jedis, redis-py, etc.) remain unaffected during cluster topology changes, experiencing only slight increases in latency. Lettuce is an exception; even with the correct configuration, it sometimes throws exceptions, which I believe is a bug related to how Lettuce handles connection closures.

Jedis is a synchronous client, while Lettuce is asynchronous. Lettuce also allows several threads to multiplex the same connection. So it is a bit of an odd comparison to make in the first place, because the problem you are describing does not really exist in the first place in Jedis. Depending on how you use redis-py this might be the case there too.
In conclusion
All that said if there is a reasonable way we can improve the resilience of the driver during topology refresh I am more than happy to discuss it. We need to identify the specific problem and discuss a solution to it that would fit the common use cases of the driver.
If you have evidence that the driver is not reacting to a MOVED response, please let me know how I can reproduce that.

I think I wrote too much and should have instead simplified my answer.
There are basically two ways to handle that:

block all requests while a topology refresh is happening, and only after it completes start issuing commands again
execute topology refresh asynchronously and never block command execution

Tradeoff is between application speed vs command execution consistency.
And the possibilities of a refresh are:
A. Refresh was successful and results in new topology
B. Refresh was either unsuccessful or did not result in new topology
Now if we assume there are much more situations that result in B) rather than A) we will obviously choose to set 2) as the default way the driver should work, as - in most cases - we should not block the operation of the driver during topology refresh.

Let me see if we can spend some more time thinking about how we can improve driver resilience here.
PRs / suggestions are welcome.

Currently unable to reproduce, using the code provided.

Perform a master-slave switch in the Redis cluster.
What steps do you take in order to achieve that? Calling CLUSTER FAILOVER on the replica?


Excessive memory usage when using fit_generator()

fit_generator() seems to keep consuming memory throughout an epoch if objects defined inside the generator class are not converted into a numpy array. RAM keeps on getting filled until an epoch ends. For large enough datasets, this leads to RAM completely filling up before a single epoch is completed.
Is it possible that the objects keep getting duplicated?
Python = 3.6.6
Keras = 2.2.4
Tensorflow = 1.12.0
Here is a sample script to reproduce the issue.

The Sequence object is duplicated workers time. Also, if you are on UNIX, by default the process is forked which consumes more memory than using spawn.
I think that when you use np array, only the pointer is duplicated? If I'm right, this is not process-safe.

Same problem. I can load 1184 large np arrays using fit() but only 16 such arrays using fit_generator before memory hits 7.6GB and crashes. Is there a workaround?

@sziraqui  it depends on your fit_generator call.
Let's say you have (workers=4, max_queue_size=10)
Then, you load 16 arrays * workers * max_queue_size * 2 (train and validation)
It grows rather quickly.

I have workers=1, max_queue_size=2
My generator function yields X, which has 32 numpy arrays of shape 15,50,100,3 and Y which has 32 arrays of shape 15,28. I m pre-allocating both arrays and reusing them for every batch.
Using fit, I can load 1184 samples and train them without a crashing. But with fit_generator, processing 512 samples in batches of 32 or even 16 fills memory after 4-5 epochs. Before posting previous comment, I was not pre-allocating X,Y and the situation was even worse. But now memory consumption increases less rapidly but still is higher than loading whole sample at once.

I have observed the effect to depend on sample_size/batch_size instead of only batch_size.

I found the issue related to the numpy version.
if I used keras 2.2.4, tf 1.12.0, python 3.6.5 and numpy>=1.16,0 then I encountered the same issue.
but when I downgraded the numpy version from 1.16.0 to 1.14.3, with keras 2.2.4, tf 1.12.0, python 3.6.5. the problem solved.
The problem was also solved when using  python 3.6.8, numpy==1.16.4
tensorflow 1.12, keras 2.2.4.
Thus, I believe the problem is related with the version between python and numpy.
@Dref360

@y-bai thank you, that's helpful

https://fantashit.com/linearly-increasing-memory-with-use-multiprocessing-and-keras-sequence/#comment-254237


Fixes issues with Dependabot::SharedHelpers::HelperSubprocessFailed - Python

What are you trying to accomplish?
Preface: Unhandled exceptions related with Python ecosystem
Issues: Issues related to Dependabot::SharedHelpers::HelperSubprocessFailed in Python ecosystem
The Poetry configuration is invalid - Invalid configuration specified in project.toml file
Could not parse version constraint - Version constraint mentioned in project.toml is unresolvable
No valid distribution links found - Python package link mentioned in  project.toml is invalid
Fixes: Adds exception handlers to above mentioned error responses and raises valid exceptions with messages

Anything you want to highlight for special attention from reviewers?

How will you know you've accomplished your goal?

Checklist

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

@honeyankit ,

@sachin-sandhu: The below errors which you trying to raise, I do not see those errors in the sentry error message. Am I missing anything here?
The Poetry configuration is invalid - Invalid configuration specified in project.toml file
Could not parse version constraint - Version constraint mentioned in project.toml is unresolvable
No valid distribution links found - Python package link mentioned in project.toml is invalid

@honeyankit , replied


Can't clear logs

Click the clear button in logs panel, but it doesn't work.

Can't reproduce. Closed for now.


Bug in reading ParcelItems properties

Hi,
We have a major problem when getting the shipment from Sendcloud.
The json payload is correct, but this case is quite special.
We actually have multi level properties, and it only allows for key and a value.
This is the payload from Sendcloud:
{ 	"next": null, 	"previous": null, 	"results": [{ 		"address": Mystreet", 		"address_2": "", 		"allowed_shipping_methods": [1883, 2021, 1951, 3486, 91, 3744, 3745, 2830, 89, 193, 3480, 111, 85, 78, 3808, 3807, 3806, 3805, 176, 250, 216, 127, 122, 316, 8], 		"barcode": "PS0000000171863582", 		"city": "MyCity", 		"company_name": "", 		"country": "DE", 		"created_at": "2021-10-27T09:15:12.490785Z", 		"currency": "EUR", 		"customs_invoice_nr": "#1033", 		"customs_shipment_type": 2, 		"email"<EMAIL_ADDRESS>		"external_order_id": "4189342302402", 		"external_shipment_id": "", 		"house_number": "1", 		"integration": 123456, 		"name": "Me", 		"order_number": "#1033", 		"order_status": { 			"id": "unfulfilled", 			"message": "Unfulfilled" 		}, 		"parcel_items": [{ 			"description": "Product1", 			"hs_code": "", 			"origin_country": "", 			"product_id": "6109169156290", 			"properties": { 				"_upsell_discount_percent": 0.25, 				"_upsell_discount_label": "Angebot" 			}, 			"quantity": 1, 			"sku": "LG1311tt", 			"value": "18.00", 			"weight": "0.150" 		}, { 			"description": "Product2", 			"hs_code": "", 			"origin_country": "", 			"product_id": "6109173219522", 			"properties": { 				"1. Mini Lipstick": "Royal Red", 				"2. Mini Lipstick": "Rosy Pink", 				"3. Mini Lipstick": "Rusty Red", 				"_MemberCustomAttributes": [{ 					"Qty": 1, 					"SKU": "Mini-LS-26", 					"Name": "Mini Lipstick - Royal Red", 					"Barcode": "4260645340367", 					"variantGid": "gid://shopify/ProductVariant/123434434" 				}, { 					"Qty": 1, 					"SKU": "Mini-LS-25", 					"Name": "Mini Lipstick - Rosy Pink", 					"Barcode": "4260645340350", 					"variantGid": "gid://shopify/ProductVariant/3213331233" 				}, { 					"Qty": 1, 					"SKU": "Mini-LS-22", 					"Name": "Mini Lipstick - Rusty Red", 					"Barcode": "4260645340329", 					"variantGid": "gid://shopify/ProductVariant/43244344" 				}] 			}, 			"quantity": 1, 			"sku": "SET-018", 			"value": "32.00", 			"weight": "0.300" 		}], 		"payment_status": { 			"id": "paid", 			"message": "Paid" 		}, 		"postal_code": "1400", 		"sender_address": 111923, 		"shipment_uuid": "66efad62-2807-4dc8-bf62-6a2441acef0b", 		"shipping_method": 2830, 		"shipping_method_checkout_name": "Standard", 		"telephone": "", 		"to_post_number": "", 		"to_service_point": null, 		"to_state": null, 		"total_order_value": "54.99", 		"updated_at": "2021-10-27T09:15:12.490790Z", 		"weight": "0.450", 		"width": null, 		"height": null, 		"length": null 	}] }
So it fails when it tries to parse the _MemberCustomAttributes because there is an array and not a single value. In our case we could not care less about these properties, but it fails when we trying to get the shipment.

I was testing with setting the properties definition to Dictionary<string,object> and that seems to avoid the error message. It will work as normal on the single properties, and on the special one the Value will be object.

Changed ParcelItem.Properties to Dictionary<string, object>


Support custom scheme handling by WKURLSchemeHandler

Platforms affected
iOS
Motivation and Context
Support custom scheme handling for loading resources from custom folders.
Description
In method createConfigurationFromSettings, the PR reads custom preference from config.xml, then sets all custom schemes and handlers by setURLSchemeHandler. The value of preference is a JSON object, it will be converted to dictionary after loading.
Testing
I have tested it in my own cordova project by adding plugin from my own git repository. In my project custom WKURLSchemeHandler subclass redirects custom scheme requests to cordova library path.
Checklist

[x] Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
[x] I've updated the documentation if necessary

As part of Cordova-iOS 6.x, the WKWebView engine is being merged into the platform, and will use custom schemes by default.
This plugin will remain, not using custom schemes, for anyone that needs to avoid data migration issues.


Pdfx depends on device_info_plus

Because pdfx >=2.0.1+3 <2.1.1 depends on device_info_plus ^3.2.4 and pdfx <2.0.1+3 depends on device_info_plus ^3.2.1, pdfx <2.1.1 requires device_info_plus ^3.2.1.
And because pdfx >=2.1.1 depends on device_info_plus ^4.0.0, every version of pdfx requires device_info_plus ^3.2.1 or ^4.0.0.
Current version of device_info_plus is 8.2.0
Could you update pdfx?
Thanks
Frederico Rodrigues

I am facing the same conflict with upgrader package

Same issue here, please update dependencies 🙏

Facing this conflict too

I found out that the device_info version is already updated on the main branch but not published yet
so for now you can just use it like this
pdfx:
    git:
      url: "https://github.com/ScerIO/packages.flutter"
      path: packages/pdfx

Great, thank you!


Add pread64 CFLAGS

Related: https://github.com/conda-forge/proj.4-feedstock/issues/112
@conda-forge-admin please rerender.

Looks like those flags only work for linux?
sqlite3.c:34493:42: error: use of undeclared identifier 'pread64'
  { "pread64",      (sqlite3_syscall_ptr)pread64,    0  },
                                         ^
sqlite3.c:34511:42: error: use of undeclared identifier 'pwrite64'
  { "pwrite64",     (sqlite3_syscall_ptr)pwrite64,   0  },


Remove/ Disable Breaks and respect breaks on drag/swipes

Hello, first let me thank you for this component.
I'm trying to use in my new project that uses Angular and Ionic.
I want to add two panes and make them have different behaviors.
The first one must be able to start "middle" and reach "top", but not "bottom".
This pane should not be able to close.
The second one must be able to start "middle", but should not have "top" or "bottom".
This pane should not be able to close, go "bottom" or "top".
this.BottomDrawerOne = new CupertinoPane("#bottom-drawer-details",
{
            animationType: "ease-in-out",
            clickBottomOpen: false,
            buttonClose: false,
            breaks:
            {
                top: { enabled: true, offset: window.screen.height },
                middle: { enabled: true, offset: 430 },
                bottom: { enabled: false },
            },
});

this.BottomDrawerOne.present({ animate: true });

The first one starts middle can go to top, but it's also possible to closed it on drag/swipe bottom.
this.BottomDrawerTwo = new CupertinoPane("#bottom-drawer-tracking",
{
animationType: "ease-in-out",
clickBottomOpen: false,
showDraggable: false,
bottomClose: false,
buttonClose: false,
initialBreak: "bottom",
breaks:
{
top: { enabled: false },
middle: { enabled: true, offset: 270 },
bottom: { enabled: false },
},
});
The second one starts middle can't go to top, it's fixed middle, but it's also possible to closed it on drag/swipe bottom.
How can I setup my panes to work as expected?

The first one must be able to start "middle" and reach "top", but not "bottom". This pane should not be able to close.
With config you provided it works for me as expected. Pane not close, it's return to previous position.

The second one must be able to start "middle", but should not have "top" or "bottom".
This pane should not be able to close, go "bottom" or "top".
Here pane also doesn't close, it's return to previous position.

Do you mean stop drag lower/upper than maximum available pane position ? Do you need this feature ?

@eduboxgithub Try to enable freeMode, it's disable drag lower than minimal bottom break, should works as you need.
{
            freeMode: true,
            animationType: "ease-in-out",
            clickBottomOpen: false,
            buttonClose: false,
            breaks:
            {
                top: { enabled: true, offset: window.screen.height },
                middle: { enabled: true, offset: 430 },
                bottom: { enabled: false },
            },
});


Prevent inconsistency between release and release_files tables.

The work in PR #1448 was meant to replicate the information of the
requires_python of the release table to the release_files table
for efficiency when generating the list of available packages for pip.
While the work on #1448 seem sufficient for warehouse itself, it need to
consider that legacy-pypi also access the same database, and legacy-pypi
violate some constraint.
In particular when using setup.py register followed by twine upload,
the file upload insert files into release_files after inserting into
releases. Thus the value in releases is not propagated, leading to an
inconsistency and a listing in pip missing information about
python-version compatibility.
While I doubt there are any packages released between the merge of #1448
and a fix, this update the tables, and bind an already existing trigger
to update the information during insertion in release_files

See discussion pass this comment on the merged pr in PyPI legacy.
cc @dstufft.

Other than the lint failure this looks fine to me.

I can try to write  test that make sure releases files is updated even if
insertion is made after the release conterpart.
I'm in a shaky train right now but I can try to do that tomorrow.
On Fri, Dec 2, 2016 at 8:08 PM, Donald Stufft<EMAIL_ADDRESS>wrote:

Other than the lint failure this looks fine to me.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pypa/warehouse/pull/1513#issuecomment-264615015, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAUezyBCt0e_4PV9ias0dZjDZ68_SGM6ks5rEOtRgaJpZM4LCF3G
.

I'm unsure how to write test for that. it seem to require changes in ReleaseFactory and other things I'm uncomfortable with and clearly don't understand all the magics of the metaclasses.
I should have fixed the linting error though.

No Problem!

@Carreau The migrations have forked since you created this PR. You'll need to either do the logic equivalent of a "rebase", or do a merge with alembic. The rebase is probably simplest, just update the down_revision to e7b09b5c089d I think.

The migrations have forked since you created this PR. You'll need to either do the logic equivalent of a "rebase", or do a merge with alembic. The rebase is probably simplest, just update the down_revision to e7b09b5c089d I think.

Done with a rebase. Travis seem to be happy.

Thanks !

Is that also automatically deployed to testpypi ?

The code is automatically deployed, but database migrations are not automatically ran. I've gone ahead and ran the migrations now.

The code is automatically deployed, but database migrations are not automatically ran. I've gone ahead and ran the migrations now.

Thanks I appreciate !
Old version of py3onlytest now have the data-requires-python field, and the new one I just uploaded has is as well ! Pip also installs the right version[*].
[*] well I had one version where the requires_python in the db was not matching the one in the package metadata, but I'll put that on me fiddling with the debugger in twine. And that allowed me to check that even then the error message is good.
Thanks for guiding me through the process ! And for working on Python packaging in general !


Hot Module Replacement?

I have a pretty technical pickle I've waded myself into. I've gotten myself in an insane project of trying to get hot loading working in Weex. I'm so close I can taste it - but I'm missing something fundamental and I've already spent more time than I can justify. The steps I've already done:

Patched an existing ObjC eventsource client to support HMR (It didn't work with large frames. sigh).

Created a "Weex" target mode for Webpack (by cloning the webworker target and changing things around to use the stream.fetch() mechanism) so that the webpack modules can fetch things reasonably.

Created a weex-aware HMR client (pretty easy, if you throw away all checks & safety)

Created a layer on top of the weex-loader that turns on hot reloading on a per-file basis

Copypasta'd vue-hot-reload-api, and am trying to modify it to work. I'm stuck trying to understand what's going on here:

if (version[1] < 2) {
  // preserve pre 2.2 behavior for global mixin handling
  record.Ctor.extendOptions = options
}

var newCtor = record.Ctor.super.extend(options);
// var newCtor = Vue.extend(options)

record.Ctor.options = newCtor.options

I don't understand the "pre 2.2 behavior" note, and I cant find any references to extendOptions in the docs. I also don't understand why the super.extend( call doesn't work - the render call in newCtor.options afterwards is the same as record.Ctor, not the same as options.render. What's going on? What am I missing? How soon is someone competent going to add hot-module-replacement-aware Weex support?
It occurs to me after sleeping on it, that part of the issue could be that I'm using the version of the WeexSDK that ships with weex-hackernews, and not the latest (presumably newer versions of WeexSDK come with more modern versions of Vue).

I think I've figured it out.  I believe something inside weex_require_module is causing the  hash to have the _Ctor of the original element.  By deleting the _Ctor element off of options before extending it, hot module replacement works like a charm.


Examples using correct executors

When I run the current examples, e.g. 01_cardio_tiny_dataset, things run until labeling. With no executor set for labeling, it tries to run on a GPU node (see https://github.com/fractal-analytics-platform/fractal-server/issues/76 for issues with current GPU executors). But even if I force the labeling to run on a cpu-mid executor, the example then tries to run Replicate Zarr structure on a GPU executor. That then never finishes (due to bug in https://github.com/fractal-analytics-platform/fractal-server/issues/76). I can force it to use e.g. cpu-low executor. Then it runs correctly and finishes fast.
But tasks like Replicate Zarr structure and Maximum Intensity Projection should not default to using a GPU executor. And having a GPU executor somewhere in the chain of tasks to be run should not make other tasks default to that.

This is the setup I used that then works to run through 01_cardio_tiny_dataset:
SUBTASK_ID=`$CMD_CORE_TASKS "Per-FOV image labeling"`
echo "{\"labeling_level\": 4, \"executor\": \"cpu-mid\"}" > ${TMPDIR}/args_labeling.json
$CMD task add-subtask $WF_ID $SUBTASK_ID --args-file ${TMPDIR}/args_labeling.json

SUBTASK_ID=`$CMD_CORE_TASKS "Replicate Zarr structure"`
echo "{\"executor\": \"cpu-low\"}" > ${TMPDIR}/args_replicate.json
$CMD task add-subtask $WF_ID $SUBTASK_ID --args-file ${TMPDIR}/args_replicate.json

SUBTASK_ID=`$CMD_CORE_TASKS "Maximum Intensity Projection"`
echo "{\"executor\": \"cpu-low\"}" > ${TMPDIR}/args_mip.json
$CMD task add-subtask $WF_ID $SUBTASK_ID --args-file ${TMPDIR}/args_mip.json

Also for some other examples, some tasks defaulted to using a GPU node and would never progress there. But when I set executors explicitly to CPU on all of them, they ran through.
It was the 10 well example, so couldn't debug in too small steps. But it contained no task that should default to GPU (no labeling tasks at all)

Unexpected behaviors were probably linked to the issue solved in https://github.com/fractal-analytics-platform/fractal-server/issues/76. @jluethi could you check whether this issue is still relevant after that fix?

I'll run some tests without specifying the executors in some later tasks and will check what happens :)


Blank render, no errors in console. Works fine <= <IP_ADDRESS>

What happens?
We're using Scalar to render our API docs here https://docs.decodable.co/api/data-plane.html
We noticed that it had stopped working - the API reference doesn't render. There's no error in the console.

Nothing had changed on our side. By process of trial and error we found that the latest working version of Scalar is 1.18.7. Versions 1.19.1 and above don't work.
What did you expect to happen?
It should work, like it did previously.
How can we reproduce the issue?
This works:
<!DOCTYPE html>   <title>API Reference [Decodable]</title>

…But now both work fine. Which is good, I guess.
Thanks for following up…fingers crossed this was just a glitch in the matrix :D


[GLUTEN-7100][CH] support function timestamp_seconds/timestamp_millis/timestamp_micros

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #7100)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

2 uts are excluded because of https://github.com/apache/incubator-gluten/issues/7169

store and retrieve column stats in different time zones
GLUTEN - store and retrieve column stats in different time zones


Valgrind errors when running CI commands locally

While I can't reproduce the assertion failure with valgrind (#730), running the exact commands as the CI always fails locally for me.
I noticed that the outcome depends on which tests are executed. The commented-out tests reliably cause valgrind errors:
local matches = {
	-- ["async"] = true, -- test-async.lua
	-- ["callbacks"] = true, -- test-callbacks.lua
	["conversions"] = true, -- test-conversions.lua
	["coroutines"] = true, -- test-coroutines.lua
	-- ["dns"] = true, -- test-dns.lua
	-- ["fs"] = true, -- test-fs.lua
	["handle"] = true, -- test-handle.lua
	["loop"] = true, -- test-loop.lua
	["metrics"] = true, -- test-metrics.lua
	-- ["misc"] = true, -- test-misc.lua
	["pipe"] = true, -- test-pipe.lua
	["prepare-check-idle-async"] = true, -- test-prepare-check-idle-async.lua
	["process"] = true, -- test-process.lua
	-- ["req"] = true, -- test-req.lua
	-- ["signal"] = true, -- test-signal.lua
	["tcp"] = true, -- test-tcp.lua
	-- ["thread"] = true, -- test-thread.lua
	["timer"] = true, -- test-timer.lua
	["tty"] = true, -- test-tty.lua
	["udp"] = true, -- test-udp.lua
	-- ["work"] = true, -- test-work.lua
}

For quick-and-dirty testing I modified run.lua so that it's easier to run a subset of the tests:
  -- Replaces: if match then ...
  if matches[match] then

This is on Linux. As soon as I enable one of the other tests, individually or in combination, valgrind fails. Enabling all tests:
==92871== HEAP SUMMARY:
==92871==     in use at exit: 6,390 bytes in 17 blocks
==92871==   total heap usage: 55,609 allocs, 55,592 frees, 58,973,245 bytes allocated
==92871==
==92871== 272 bytes in 1 blocks are possibly lost in loss record 6 of 11
==92871==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==92871==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
==92871==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
==92871==    by 0x5036322: allocate_stack (allocatestack.c:622)
==92871==    by 0x5036322: pthread_create@@GLIBC_2.2.5 (pthread_create.c:660)
==92871==    by 0x5008187: uv_thread_create_ex (thread.c:172)
==92871==    by 0x4FE2646: luv_new_thread (thread.c:382)
==92871==    by 0x12CC91: precallC (ldo.c:529)
==92871==    by 0x12CFBC: luaD_precall (ldo.c:595)
==92871==    by 0x1384F8: luaV_execute (lvm.c:1682)
==92871==    by 0x12D220: ccall (ldo.c:637)
==92871==    by 0x12D29D: luaD_callnoyield (ldo.c:655)
==92871==    by 0x13C517: f_call (lapi.c:1038)
==92871==    by 0x12BBBD: luaD_rawrunprotected (ldo.c:144)
==92871==
==92871== 816 bytes in 3 blocks are possibly lost in loss record 9 of 11
==92871==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==92871==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
==92871==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
==92871==    by 0x5036322: allocate_stack (allocatestack.c:622)
==92871==    by 0x5036322: pthread_create@@GLIBC_2.2.5 (pthread_create.c:660)
==92871==    by 0x5008187: uv_thread_create_ex (thread.c:172)
==92871==    by 0x4FEC5ED: init_threads (threadpool.c:234)
==92871==    by 0x4FEC6BD: init_once (threadpool.c:261)
==92871==    by 0x503E4DE: __pthread_once_slow (pthread_once.c:116)
==92871==    by 0x50088A0: uv_once (thread.c:433)
==92871==    by 0x4FEC6F8: uv__work_submit (threadpool.c:270)
==92871==    by 0x4FFB845: uv_fs_stat (fs.c:2177)
==92871==    by 0x4FD1EB3: luv_fs_stat (fs.c:678)
==92871==    by 0x12CC91: precallC (ldo.c:529)
==92871==
==92871== LEAK SUMMARY:
==92871==    definitely lost: 0 bytes in 0 blocks
==92871==    indirectly lost: 0 bytes in 0 blocks
==92871==      possibly lost: 1,088 bytes in 4 blocks
==92871==    still reachable: 5,302 bytes in 13 blocks
==92871==         suppressed: 0 bytes in 0 blocks
==92871== Reachable blocks (those to which a pointer was found) are not shown.
==92871== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==92871==
==92871== For lists of detected and suppressed errors, rerun with: -s
==92871== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

I don't have time to investigate right now, but maybe someone can reproduce the error? Not sure if related to the assertion failure.

valgrind fail