Updated graphql request

This should fix speed issue and bugs in production

Summary by CodeRabbit

Refactor

Improved packet request handling to better manage different types of responses.
Added specialized functions for processing specific packet response types, enhancing code readability and maintainability.

Were you able to test this against prod graphql endpoint?

Were you able to test this against prod graphql endpoint?

Yup


Property precedence

Fixes #56

@mindplay-dk Now that you understand the issue better (I presume) can you summarize why this change is necessary and what benefit do we get?

The main benefit is we no longer pollute the DOM with meaningless attributes, nor do we waste resources doing so - for example, before, if someone were to set the className property, you'd also end up with a meaningless className attribute in the DOM.
See also description of #56 for details.

Note that uglify currently fails, so this is probably not ready for merge.
> uglifyjs dist/picodom.js -o dist/picodom.js --mangle --compress warnings=false --pure-funcs=Object.defineProperty -p relative --in-source-map dist/picodom.js.map --source-map dist/picodom.js.map

Parse error at picodom.js:95,8

    let empty = null == value || false === value;

        ^

SyntaxError: Unexpected token: name (empty)

    at JS_Parse_Error.get (eval at <anonymous> (/home/travis/build/picodom/picodom/node_modules/uglify-js/tools/node.js:27:1), <anonymous>:86:23)

    at /home/travis/build/picodom/picodom/node_modules/uglify-js/bin/uglifyjs:384:39

    at time_it (/home/travis/build/picodom/picodom/node_modules/uglify-js/bin/uglifyjs:620:15)

    at /home/travis/build/picodom/picodom/node_modules/uglify-js/bin/uglifyjs:345:9

    at tryToString (fs.js:449:3)

    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:436:12)

I've never used uglify, but perhaps this is due to the fact I automatically use ES2016 syntax by now? Looks like the tests are targeting an older version of Node?

@mindplay-dk Would the following work as well?
function setElementProp(element, name, value, oldValue) {
  if (name === "key") {
  } else if (name === "style") {
    for (var name in merge(oldValue, (value = value || {}))) {
      element.style[name] = value[name] != null ? value[name] : ""
    }
  } else {
    var empty = null == value || false === value

    if (name in element) {
      try {
        element[name] = value == null ? "" : value
      } catch (_) {}
    } else if (typeof value !== "function") {
      if (null == value || false === value) {
        element.removeAttribute(name)
      } else {
        element.setAttribute(name, value === true ? "" : value)
      }
    }
  }
}

What's the difference? Just var instead of let?
That'll work of course. I'm in the habit of using var/let/const by now, it's hard not to 🙄

Codecov Report

Merging #70 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #70   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines         115    117    +2
  Branches       34     36    +2
=====================================
+ Hits          115    117    +2

Impacted Files
Coverage Δ

src/patch.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@mindplay-dk No, I mean the code I posted above.

Looks functionally equivalent to me, but maybe change it and run the test?

@mindplay-dk Is there any way we could simplify or compact this code a bit more? It's adding 20 bytes. It seems that setting some properties, like id, will cause the attribute to be set automatically, so that's why we need:
if (empty) {
  element.removeAttribute(name)
}

...near the end, regardless of previous conditions.

I'm honestly not interested in the file-size - I'm interested in simple, idiomatic, readable code.
If you can do both, that's fine - but "pre-minifying" the code really doesn't help with comprehension.
Isn't there a tool that can aggressively rewrite if/else clauses into compounded ternary expressions and so on? It's really not helpful to anybody - especially given how young this project still is...
Just my two cents.

@mindplay-dk Not that kind of easy minification, but actualy simplification by rewriting the logic altogether like I did. That didn't really work though, so this looks good. Could you run npm format (or make sure to run prettier on all the files you changed) so I can merge this?
Also, I left you a comment.

Thanks @mindplay-dk! 🎉 😄

@mindplay-dk I ported this change to Hyperapp and it broke SVG! 😆 #509


Copy diffopt state to original optimizer

Hi, Thanks for making this awesome library.
I am working on a problem, which requires to copy the values/states of fmodel and diffopt back to their original model/optimizer.
I can do this for the model by simply copying the state_dict.
model_phi.load_state_dict(fmodel.state_dict())
However, I can't do this for the optimizer. Do you have any suggestions how to do this?

I'm sure we can work something out. Can you write a minimum "working" (minus the state copy) example?

If I may contribute my own example solution.
The following so that data structures contatining tensors only contain leaf-nodes.
This is necessary because copy.deepcopy() with tensors only works with leafnodes at the moment,
and there will be problems in torch.optim.Optimizer.load_state_dict without using this.
def recursive_detach(x):

    if isinstance(x, torch.Tensor):
        x = x.detach()
        return x
    elif isinstance(x,dict):
        return {k:recursive_detach(v) for k,v in x.items()}
    elif isinstance(x,list):
        return [recursive_detach(v) for v in x]
    else:
        return x

Now this function for repackaging the diffopt's state in the way that torch.optim.Optimizer expects it.
def diffopt_state_dict(diffopt):
    param_mappings = {}
    start_index = 0

    def pack_group(group):
        nonlocal start_index
        packed = {k: v for k, v in group.items() if k != 'params'}
        param_mappings.update({id(p): i for i, p in enumerate(group['params'], start_index)
                                                      if id(p) not in param_mappings})
        packed['params'] = [param_mappings[id(p)] for p in group['params']]
        start_index += len(packed['params'])
        return packed

    res = defaultdict(dict)

    param_groups = [pack_group(g) for g in diffopt.param_groups]
    for group_idx, group in enumerate(diffopt.param_groups):
        for p_idx, p in enumerate(group['params']):
            res[p] = {
                k:v for k,v in diffopt.state[group_idx][p_idx].items()
            }

    packed_state = {(param_mappings[id(k)] if isinstance(k, torch.Tensor) else k): recursive_detach(v)
                                                  for k, v in res.items()}
    return {
        'state':packed_state,
        'param_groups':param_groups
    }

And now the how this works with the higher.innerloop_ctx context manager
with higher.innerloop_ctx(model,opt) as (fmodel,diffopt):
    # Do some training here
    out = fmodel(inputs)

    inner_loss = loss_fn(out,targets)
    diffopt.step(inner_loss)

opt.load_state_dict(diffopt_state_dict(diffopt))

I was testing the library by using the innerloop_ctx without any meta learning, and the performance was poor compared to normal training with torch.optim.Adam since the optimizer was being reset every step. With this trick, I can train models normally as if we were using torch.optim.Adam
If you don't mind @egrefen, could I add this to the library? just have a state_dict() method as part of diffopt's base class


numberpad problem

when I try the numberpad buttons it says "null".

i think it only happens on some of the kade engine .exes i believe
idk how you should fix that tho

i think it only happens on some of the kade engine .exes i believe

Bruh wdym? It's literally hardcoded in cuz new input doesn't support numpad

we don't support numpad keybinds.


Animation from GLB file not playing properly

Godot version
v4.0.1.stable.official [cacf49999]
System information
macOS M1 ARM
Issue description
A GLB file with a single animation (which was created in Houdini) imports without warnings in Godot. The mesh and material loads properly and the presence of the animation is detected, but trying to play the animation results in no movement.
Steps to reproduce

Open attached Godot project
Open repro.tscn in the editor.
Select the AnimationPlayer node and open the Animation tab along the bottom.
Play the animation.

Expected result:
The cube explodes into a number of pieces. To see the expected behavior, try an online gltf viewer like this one or this one. Note in particular that this GLB file passes the Khronos GLTF validator
Note: the GLB file does not load at all in Blender, an issue I am still investigating.
Actual result:
Godot seems to think that the animation is 1 frame long (it is actually 24 frames long). As no actual movement occurs in the first frame of the animation in the file, nothing happens.
Minimal reproduction project
glb_animation_test.zip

As noted, the same file has trouble in Blender as well (but not in the same way - it doesn't load at all in Blender). While I suspect that this is unrelated, I have also filed a ticket for Blender.

Julien is right :) The bug is in Extras (Application specific data), compare bad / ok (fixed by me):
repro.zip

Bug fixed – will work in future blender versions...


Java: 4.1.2 example: Missing opening brace in else if

The Java Style Guide states:

4.1.1 Braces are used where optional
Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

But the example in the immediately following section contains:

4.1.2 Nonempty blocks: K & R style
    } else if (otherCondition()) {

There is no opening brace { after the else!
I think the example is wrong, it doesn't follow the rule stated in the previous section.

I think you're misinterpreting the text.  else if is not banned, and braces are used with the if statement there.

@vapier In Java there is no such thing as elseif, those are two separate if statements, so the second one should be surrounded by braces.

I think it is the rule rather than the example that could be addressed. The intent is certainly not to require people to write
if (foo) {
  bar();
} else {
  if (baz) {
    ...
  }
}

Also, while we are nitpicking, the rule says "Braces are used with if, else, for, do and while statements", but else is not a statement.

no one said elseif is a keyword.  you seem to have misread what i wrote.
seeing as how you're a Googler, you know the public issue tracker is not where you need to debate/convince because no one in charge of the Java style guide is here.  talk to the internal Java style guide maintainers, or send them a CL to the internal version and get them to approve it.

I think it is the rule rather than the example that could be addressed.
@eamonnmcmanus Agreed, should be added as an exception to the rule.

@vapier I would if I was a Googler.

I am one of the internal Java style guide maintainers, though I'm not convinced anything needs to be changed here.

@eamonnmcmanus that is why I closed the report: I don't think anything needs to be changed as no one reasonably should read it and conclude "else if" should be treated as "else { if ... }", and if it did need changing, it should be done internally, and driven by someone who believes it should be done.


Extension Dialing/Auto Attendant

If a customer wants extension dialing but always wants to have a live person answer the phone, can they enable the Auto attendant feature but have incoming calls bypass the auto attendant and go straight to the receptionist?  If so, how would they do this?

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

ID: 016be911-545f-28e4-97d2-549f1078a196
Version Independent ID: 9021aad0-83c0-1173-01ae-6cc68217e8d4
Content: Auto attendant and call queue dialing and voice recognition reference - Microsoft Teams
Content Source: Teams/dial-voice-reference.md
Service: msteams
GitHub Login: @DaniEASmith
Microsoft Alias: danismith

@CLYVR Sorry I should have been more specific.  The customer would like to have extension dialing between internal users, or for transferring calls to other users, but not for inbound callers to use with the Auto Attendant.

@MBExatt Thanks for the clarification.  You will need two AAs.
The first AA is for the external callers.  During business hours it will just forward the call to the operator (which may be a person or you may want to put the operator in a Call Queue if there are multiple operators).
The second AA is for internal users and for external callers outside of business hours and when the operator doesn't answer.

@CLYVR Thank you.  The customer intends to have calls answered live 24/7.  So with that said, the first AA would always forward to an Operator.  In this case, do they still need the 2nd AA?

@MBExatt The second AA is needed for the internal callers.

@CLYVR Thanks.  So with the 2nd AA for the internal callers, will they also be able bypass the AA and just dial the 3 or 4 digit extension of the person they are trying to call, or will they need to go through AA prompts first?


rootlessport: handle SIGPIPE

when a sigpipe is received the stdout/stderr pipe was closed, so
reopen them with /dev/null.
Closes: https://github.com/containers/libpod/issues/5541
Signed-off-by: Giuseppe Scrivano<EMAIL_ADDRESS>

when a sigpipe is received the stdout/stderr pipe was closed

How is this happening?

How is this happening?

that happens when the parent process exits and the two pipes
cmd.Stdout = &stdout
cmd.Stderr = io.MultiWriter(logFile, &logrusDebugWriter{"rootlessport: "})

are not valid anymore.  Thus if an error happens and the process tries to write to the stdout/stderr it gets terminated by the SIGPIPE

LGTM
@haircommander @mheon @baude PTAL

LGTM, but would appreciate the original reporter checking this out and confirming it's fixed

/lgtm

LGTM


feat: [PIPE-21631]:Add documentation for following feature flags for execution list page

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66f2fefc2daefb0c1eced9fa--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66f3a9051a1e20d06085e2f1--harness-developer.netlify.app


Using active_callback Inside Repeater Controls

Hi @aristath,
I made a solution to enable the [active_callback] in repeaters controls and hope to add it as soon as you can.
And here's a complete tested example

Kirki::add_field( KIRKI_CONFIG_PREFIX, array(
    'type'        => 'repeater',
    'settings'     => '_builder_repeater',
    'label'       => esc_html__('Builder', 'text-domain'),
    'description' => '',
    'help'        => '',
    'section'     => 'section_id',
    'default'     => '',
    'priority'    => 10,

    'row_label' => array(
        'type'  => 'field',
        'value' => esc_html__('Layout', 'text-domain' ),
        'field' => 'layout',
    ),

    'default'     => array(),

    'fields' => array(
        'layout' => array(
            'type'        => 'select',
            'label'       => esc_html__( 'The Box Layout', 'text-domain' ),
            'description' => '',
            'default'     => 'classic',
            'choices'       => array(
                'classic'   => esc_html__( 'Classic', 'text-domain' ),
                'horizontal'     => esc_html__( 'Horizontal', 'text-domain' ),
                'vertical'      => esc_html__( 'Vertical', 'text-domain' ),
                'review'       => esc_html__( 'Best Reviews', 'text-domain' ),
            )
        ),

        'title' => array(
            'type'        => 'text',
            'label'       => esc_html__( 'Title', 'text-domain' ),
            'description' => '',
            'default'     => '',
        ),

        'category' => array(
            'type'        => 'select',
            'label'       => esc_html__( 'Category', 'text-domain' ),
            'description' => '',
            'default'     => 'img',
            'choices'       => array(
                'img'   => esc_html__( 'Images', 'text-domain' ),
                'video'     => esc_html__( 'Video', 'text-domain' ),
                'audio'      => esc_html__( 'Audio', 'text-domain' ),
            ),
        ),

        'title_2' => array(
            'type'        => 'text',
            'label'       => esc_html__( 'Title #2', 'text-domain' ),
            'description' => '',
            'default'     => '',
            'active_callback'      => array(
                array(
                    'setting'  => 'layout',
                    'operator' => '==',
                    'value'    => 'vertical',
                ),
                array(
                    'setting'  => 'category',
                    'operator' => '==',
                    'value'    => 'video',
                )
            )
        ),
        'cat_2' => array(
            'type'        => 'select',
            'label'       => esc_html__( 'Category #2', 'text-domain' ),
            'description' => '',
            'default'     => 'animal',
            'choices'       => array(
                'animal'   => esc_html__( 'Animals', 'text-domain' ),
                'flys'     => esc_html__( 'Flys', 'text-domain' ),
            ),
            'active_callback'      => array(
                array(
                    'setting'  => 'layout',
                    'operator' => '==',
                    'value'    => 'vertical',
                )
            )
        ),

        'rev_title' => array(
            'type'        => 'text',
            'label'       => esc_html__( 'Review Title', 'text-domain' ),
            'description' => '',
            'default'     => '',
            'active_callback'      => array(
                array(
                    'setting'  => 'layout',
                    'operator' => '==',
                    'value'    => 'review',
                )
            )
        ),

    )

) );

When will this be merged?

Why this code isn't merged? @Oxibug

Same question, when this will be added to release? We are waiting for this for 3 years.

This change still have some issues:

Select elements with multiselect option renders incorrectly (does not allow to search within Select2() library for entries). Looks like changes break select2.
If you selected item that should display something, while customizer is loading for new content, and you select item that should hide option while customizer is still loading - option remain visible. This works properly only if you change options AFTER customizer is fully loaded page.

@ravishakya @chandra-deb @dedalx
Hey Guys, I think @aristath need to build repeater from scratch in version 3.1 But I need it urgently so I decide to fix it now until version 3.1 released.
@dedalx

I noticed  that multiple repeaters not working together so I upload the new commit right now.
For multiselect I think the repeater doesn't support it.
I noticed that the page doesn't listening for new values while reloading sometimes before this fixes, It happened with me a lot and I don't know the reason so far.

Like  said you can make your own Kirki with version 9.0.0 for example to stop updating until Aristath commit these changes or build it from scratch.
Thanks

I haven't been actively involved in Kirki in more than a year... Please read https://wptavern.com/david-vongries-takes-over-as-new-owner-of-the-kirki-customizer-framework and more recently https://twitter.com/MapSteps/status/1374278880895365120. Replying to that tweet might be the best way to see what can be done.

@ravishakya @chandra-deb @dedalx
Hey Guys,
A new commit to enable active_callback in the newer version 4.x.x is available here https://github.com/kirki-framework/kirki/pull/2468
Like I said you can make your own Kirki with version 9.0.0 for example to stop updating until commit these changes in the master.
Best,
Hady Shaltout

Hi, it's still don't working.


Add maven dependency for JMH framework.

In order to provide patch for LANG-1110, required dependcy on JMH lib.
Current commit add benchmark profile and ability to run JMH based benchmark by
executing "mvn test -P benchmark" command, moreover it's also possible to
specify exact benchmark name by running "mvn test -P benchmark
-Dbenchmark=benchmark.full.class.name".

Coverage decreased (-0.02%) to 93.413% when pulling 9f4c0ec4197331687e410aca492d4071eded2462 on C0rWin:LANG-1256 into 648eebba22d6398a01b0924975bedced8469ac80 on apache:master.

No Java code was involved in this PR, how that possible coverage reduced?

@C0rWin The OpenJDK 7 Build did not finish: https://travis-ci.org/apache/commons-lang/jobs/151969189 maybe that caused the change. Or there is a random element in the existing test?

@PascalSchumacher As far as I know coverage could be reduced only if I've added new code which is not tested or not covered by existing tests.

Hi @C0rWin
Some time ago I found this pull request and had to learn what was JMH :-) added a comment on LANG-1110, and today had time to revisit the issue and take a look at the replies.
So Commons CSV and Commons RNG use JMH too. Both projects apply a similar approach, with the main difference being that Commons RNG - maybe for being a multi-module project - contains a jmh Maven module.
However, the dependencies and plug-in execution are part of a benchmark profile. Following the suggestions in LANG-1110, would be nice if we:

Used a similar approach, such as profile, class names, etc
Update jmh dependencies to the latest

I wanted to check with you before I opened a separate pull request. Would you be willing to update this pull request again with these changes? If so, just ping me and I'll reply here as soon as possible. Have plenty of time to work on Open Source projects in the next two months :-)
Cheers
Bruno

Hi Bruno,
On Sun, Feb 12, 2017 at 6:35 AM, Bruno P. Kinoshita <
<EMAIL_ADDRESS>wrote:

Hi @C0rWin https://github.com/C0rWin
Some time ago I found this pull request and had to learn what was JMH :-)
added a comment on LANG-1110
https://issues.apache.org/jira/browse/LANG-1110, and today had time to
revisit the issue and take a look at the replies.
So Commons CSV
https://github.com/apache/commons-csv/blob/a7757849d3e9b2a37967ce208ab22f6d14567c98/pom.xml#L389
and Commons RNG
https://github.com/apache/commons-rng/tree/688f3611131e05a072d998edb93e13492c3ed256/commons-rng-jmh
use JMH too. Both projects apply a similar approach, with the main
difference being that Commons RNG - maybe for being a multi-module project

contains a jmh Maven module.

However, the dependencies and plug-in execution are part of a benchmark
profile. Following the suggestions in LANG-1110
https://issues.apache.org/jira/browse/LANG-1110, would be nice if we:

Used a similar approach, such as profile, class names, etc
Update jmh dependencies to the latest
http://search.maven.org/#search|ga|1|jmh-core

I wanted to check with you before I opened a separate pull request. Would
you be willing to update this pull request again with these changes? If so,
just ping me and I'll reply here as soon as possible. Have plenty of time
to work on Open Source projects in the next two months :-)

I can update my pull request to align it with according to your request.
Thanks,
Artem Barger.

Coverage remained the same at 94.536% when pulling d38aea4c5b82f0bdd4800fa4153a55ba6e8fa4b9 on C0rWin:LANG-1256 into b715d18f09591c510dded3a447a3ad1aacfa2173 on apache:master.

I guess this is ready to merge?

I was waiting for @C0rWin to update the pull request, to have an approach similar to what we have in other commons projects. If he has updated it, then +1 to merging (or maybe check with Emmanuel Bourg if it looks good too?)

As far as I can tell @C0rWin updated the pull request 9 days ago (after your conversation).
By the way merging this only makes sense if commons lang actually uses JHM. Do you (or somebody else) plan to work on this?

Oh, missed that one, will take a look today to compare with [csv].
I've never seen it failing in Jenkins or Travis CI, but I suspect it is run manually, whenever someone needs to work on the classes involved in the benchmark tests for new features or debugging issues in different environments.

Tried running the following to test the pull request:
$ mvn clean install
$ mvn test -Pbenchmark -e -X

And it kept failing with:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.718 s
[INFO] Finished at: 2017-02-22T20:00:57+13:00
[INFO] Final Memory: 32M/486M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (benchmark) on project commons-lang3: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (benchmark) on project commons-lang3: Command execution failed.
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
	at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:302)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	... 20 more
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
	at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
	at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
	at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:764)
	at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:711)
	at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:289)
	... 22 more

Tried playing with dependency versions and settings, using Commons CSV as example (which works for me, as long as manually install one maven dependency as per pom.xml comment) with no luck.
Will give it another try tomorrow at work.
$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T05:41:47+13:00)
Maven home: /opt/maven
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-62-generic", arch: "amd64", family: "unix"

I'd guess it fails since there is no JMH tests available in the project, so it fails to execute them.

Actually once this one will be in, I have a few tests based on JMH which I can push.

@C0rWin what about trying to add the test from LANG-1110 to the pull request? Look at the attachments section.

I'm fine with it, will add the test from LANG-1110.

Thanks!


added DB_TYPE required for postgresql

when starting the container without the DB_TYPE, i got this error message :
ERROR:
  Please specify the database type in use via the DB_TYPE configuration option.
  Accepted values are "postgres" or "mysql". Aborting...

In the master DB_TYPE is renamed to DB_ADAPTER, please refer to the readme of the particular version that you are using.


Fix issues generating v4 packages

Tried to generate some v4 packages, and found these issues.

@larioj I also have this change:
diff --git a/repo/meta/schema/v4-repo-schema.json b/repo/meta/schema/v4-repo-schema.json
index 35593c3..2a26772 100644
--- a/repo/meta/schema/v4-repo-schema.json
+++ b/repo/meta/schema/v4-repo-schema.json
@@ -591,9 +591,6 @@
         },
         "config": {
           "$ref": "#/definitions/config"
-        },
-        "command": {
-          "$ref": "#/definitions/command"
         }
       },
       "required": [


Question: What makes GDash think a caveset is multilevel?

What makes GDash think the /caves/Arno_Weber/Future_Dash.bd is multilevel?

What is a multilevel?

Multilevel means that GDash thinks that a caveset has 5 levels and add /{level} to cave name:

It the depends on the height of the title screen, how many lines with cave infos are added: titlescreenactivity.cpp

Excuse me, @revvv I didn't understand your answer.
Why GDash think the /caves/Arno_Weber/Future_Dash.bd is multilevel
and /caves/Arno_Weber/Exploding_Dash.bd is not?

What difference between two these cavesets?

Actually I was asking about
caveset_has_levels = app->caveset->has_levels();
How GDash defines that caveset has levels?
In my opinion /caves/Arno_Weber/Future_Dash.bd has no levels, but something makes GDash think that it has.

Sorry, this was a misunderstanding. Future Dash Cave 14 has different AmoebaThreshold values...
It was probably me, to make it playable, but I (always) only fix level 1. I thought this was a good idea, so I can see what the original value was... bad idea... fixed...


CI and packaging suggestions

Some suggestions on packaging and CI, for discussion.
development flow

move to GitHub flow, main plus dev, and release on GitHub trigger
requires changing the GHA trigger in release.yml workflow to on: release: types: [published] (that's it)
ensure CI triggers on PR to main, I think that's anyway how it is at current

packaging

I would move all information from setup.py to pyproject.toml, it is easier to maintain there
should __version__ not be exported by sequence, e.g., in sequence.__init__? Right now the version number is sequence.__version__.__version__, but it is espected by a single __version__ afaik

testing
I would refactor the tests to make the extension contract simpler, i.e., not require users to add a test, at the same level of coverage. This could be done as follows:

SequenceTestSuite is already great, but it requires the developer to add a test in a file somewhere.
instead, it should automatically collect all sequences from sequentium, so developers need to add only the sequence class
the ground_truth data etc could be added to the sequence class itself, as it is specific to the sequence class. It is useful not just for testing, but can be used for caching, in cases where numbers are hard to compute.

on a side note, sequences can have a cache mode and a compute mode which could be switched up to configuration. State-of-art frameworks which handle sequences - e.g., digits of pi - such as wolfram/mathematica do this as well, it's a good idea.

requires changing the GHA trigger in release.yml workflow to on: release: types: [published] (that's it)
This trigger make the release happens when the PR is closed (and mergerd) ?

I would move all information from setup.py to pyproject.toml, it is easier to maintain there
Yes I was thinking in doing that and possibly use poetry to release

should version not be exported by sequence, e.g., in sequence.init? Right now the version number is sequence.version.version, but it is espected by a single version afaik

Probably it is better just to have the version number in the init.py
About Testing:
My idea was more or less as you said: there is a file (yml or toml or python script) where you add just the informations about your sequence (name, class name, is_finite, ground_truth) and then a script create all the tests using the SequenceTestSuite, i.e. for every sequence a sequenceTestSuite is triggered. But i didn't menage to make it happen. So you have to add your test class extending from SequenceTestSuite.

This trigger make the release happens when the PR is closed (and mergerd) ?

No, it happens when you go in the "releases" manager and press the green button on a release, details here:
https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository
It's a separate, graphical user interface based workflow, so it is near impossible to trigger by accident (e.g., merge/push/git console magic).


Fix init

Hi @brightsider! What is the purpose of this change?

Can't init view in code

The proposed change added manually, please check the latest version.


Consider to add more firmware information for alternative boards

To me it's not clear if the nrf52 branch works for the following boards:
Adafruit Feather nRF52840 Express
Particle.io Xenon
Arduino Nano 33 BLE
STM32WB55
How much work is needed for each of them?
If you know please add a note to the wiki page. Thank you!
https://github.com/joric/nrfmicro/wiki/Alternatives#adafruit-feather-nrf52840-express

I have no idea really. That would require buying every board in the list.


React 16 supported in plusbeta? or on regular release

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Observed Behavior
I create a new project without plusbeta and the package.json still references to React Version 15.6.2 and not 16.x.x
Does support mean you can use it but have to upgrade manually or is it just available in plusbeta?
What possible implication may I expect when the Online Workbench for example only supports an older version?

React 16 support is planned to come out in SharePoint Framework 1.6. It is not currently available from either of the available versions. We will need to do some server-side dependency updates to make this work for 1st party components and this is now planned to be in 1.6.


diskplot --compress

For some reasons, I can only use diskplot --compress, please open as soon as possible, thank you very much

not enabled yet, known issue


18a tda notebook

This pull request merges a branch containing the TDA working notebook, removing it from the main TDA workin branch, with the branch containing the other notebooks that require cleaning up.

Closing as unnecessary.


Upload CT Coin

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[x] Image format: png
[x] Image size: 256 by 256 px

where does 0x55296f69f40ea6d20e478533c15a6b08b654e768 exist? it's not ethereum network

where does 0x55296f69f40ea6d20e478533c15a6b08b654e768 exist? it's not ethereum network
0x55296f69f40ea6d20e478533c15a6b08b654e768 is wrong typing, my fault, sorry bro.
Btw, why I can't see my first pushed icon in my wallet?

@jasongxpv it has to be approved before showing in the wallet.

@vikmeup How long does this process take?

can you delete 0x55296f69f40ea6d20e478533c15a6b08b654e768.png and you should be good to go

Done.


[BUG] Router scrolls to top whenever server state is finished being updated.

Describe the bug
The router will scroll to the top of the page whenever the server state is finished being updated.
To Reproduce

https://stackblitz.com/edit/shopify-hydrogen-oknvzz

Go to the collections page
Scroll down and click the "load more" button
Note the screen scrolls to the top despite there being no navigation event

Expected behaviour
The client router should only scroll to the top when an actual navigation event occurs rather than any time the server state is updated.
Additional context

Hydrogen version: v0.11.1
Node version: v16.14.0

This seems to be occurring again in v0.17.0


Speed up unit tests

One or more of the unit tests is rather slow when the others are all pretty fast. We should identify the bottleneck and trim that test so that unit tests can be run in 10s or less.

Active development is being moved to our main repo, https://github.com/snorkel-team/snorkel, which has blazing fast unit tests 🏎


Cryptodome breaks projects where pycrypto is used

How about moving to cryptodomex which uses a different namespace and allows cryptodomex and pycrypto to cohesist?

Ah, I see that 8a757f78b9f49ec6e20bc82ebc42fe98b5e9e801 fixes this. How about a new release to pypi?

Yeah, it’s about time !
4 juni 2016 kl. 10:11 skrev Iacopo Spalletti <notifications<EMAIL_ADDRESS>Ah, I see that 8a757f7https://github.com/rohe/pyjwkest/commit/8a757f78b9f49ec6e20bc82ebc42fe98b5e9e801 fixes this. How about a new release to pypi?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/rohe/pyjwkest/issues/60#issuecomment-223743388, or mute the threadhttps://github.com/notifications/unsubscribe/AAGGPE7uNJM2CROV4iss9W1142jcuMhwks5qITM5gaJpZM4IuFLJ.

That would be great, thanks

Yes, please release a new version. And tag it ;)

@rohe any news for the new release?

I released a new version June 7th.
26 juni 2016 kl. 17:26 skrev Iacopo Spalletti <notifications<EMAIL_ADDRESS>@rohehttps://github.com/rohe any news for the new release?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/rohe/pyjwkest/issues/60#issuecomment-228606648, or mute the threadhttps://github.com/notifications/unsubscribe/AAGGPFniYtUcNjmws6SFDqCx6sH4cIIgks5qPppCgaJpZM4IuFLJ.

@rohe Sorry, I only checked the github releases instead of pypi. Cosing this, thanks


Update README.md

Observed a few changes. Suggesting the same. Kindly check

Thanks for your contribution! Could you explain what this PR fixes? The text you’re changing is correct English, as is your new text. What are the changes that you observed?

Hi, This PR is suggesting an alternative way of expressing the context. I understand the existing isn't wrong, however, I thought the suggestions might be an acceptable request.


On the possible ambiguity when decoding.

Hi,
First of all, cool project! After implementing it myself, I wanted to share some thoughts.
Since TypeIDs have a fixed length with known padding, they can be encoded and decoded in a straightforward manner. However, this does not resolve a certain ambiguity that arises when decoding the suffix, depending on the leftmost character. This is likely already known, but I believe its implications could be made more explicit.
Imagine the first three bits of a UUID to be 100. With padding, that would be 00100.  However, decode('c'), decode('m'), and decode('w') lead to this exact same result, as their binary representation is XX100. After discarding the first two bits, 100 remains in all cases. In short, this implies that if two TypeIDs are identical except for their leftmost suffix characters, and both characters map to the same binary representation after stripping the first two padding bits, the resulting UUID is the same. 32 TypeId suffixes that only differ in the first character map to only 8 unique UUIDs.
Yes... strictly speaking, no TypeID suffix that was encoded as described in the formal specification can ever start with another character than '0'-'7', as these are the only characters with a binary representation beginning with 00..., which is exactly the padding. But the specification does not explicitly restrict a TypeID suffix not to begin with '8'-'z', syntactically, those are still valid TypeIDs.
I'm not suggesting this is a problem. The specification is not incorrect. It just does not (in mathematical terms) describe a bijective function, and I'm concerned that end users of TypeID libraries may intuitively expect the encoding and decoding process to be bijective.
An illustration

This behavior can be observed with the current implementation of the command-line tool from this repository.
First, let's decode and re-encode a TypeID suffix starting with a character from between '0' and '7':
$ typeid decode prefix_01h2xcejqtf2nbrexx3vqjhp41
type: prefix
uuid: 0188bac7-4afa-78aa-bc3b-bd1eef28d881

$ typeid encode prefix 0188bac7-4afa-78aa-bc3b-bd1eef28d881
prefix_01h2xcejqtf2nbrexx3vqjhp41

As expected, the encoded result is equal to the original TypeID.
Now, let's take the same TypeID, but replace the leftmost character of the suffix with something between '8' and 'z', which still constitutes a syntactically correct TypeID:
$ typeid decode prefix_81h2xcejqtf2nbrexx3vqjhp41
type: prefix
uuid: 0188bac7-4afa-78aa-bc3b-bd1eef28d881 # same as above

$ typeid encode prefix 0188bac7-4afa-78aa-bc3b-bd1eef28d881
prefix_01h2xcejqtf2nbrexx3vqjhp41

But now: prefix_81h2xcejqtf2nbrexx3vqjhp41 != prefix_01h2xcejqtf2nbrexx3vqjhp41
As mentioned above, if we try this for all 32 characters, the command-line tool decodes 32 different TypeIDs to only 8 unique UUIDs:
[0,8,g,r]1h2xcejqtf2nbrexx3vqjhp41 -> 0188bac7-4afa-78aa-bc3b-bd1eef28d881
[1,9,h,s]1h2xcejqtf2nbrexx3vqjhp41 -> 2188bac7-4afa-78aa-bc3b-bd1eef28d881
[2,a,j,t]1h2xcejqtf2nbrexx3vqjhp41 -> 4188bac7-4afa-78aa-bc3b-bd1eef28d881
[3,b,k,v]1h2xcejqtf2nbrexx3vqjhp41 -> 6188bac7-4afa-78aa-bc3b-bd1eef28d881
[4,c,m,w]1h2xcejqtf2nbrexx3vqjhp41 -> 8188bac7-4afa-78aa-bc3b-bd1eef28d881
[5,d,n,x]1h2xcejqtf2nbrexx3vqjhp41 -> a188bac7-4afa-78aa-bc3b-bd1eef28d881
[6,e,p,y]1h2xcejqtf2nbrexx3vqjhp41 -> c188bac7-4afa-78aa-bc3b-bd1eef28d881
[7,f,q,z]1h2xcejqtf2nbrexx3vqjhp41 -> e188bac7-4afa-78aa-bc3b-bd1eef28d881

My thoughts:

You could argue that for properly generated TypeIDs, the leftmost suffix character is always between '0'-'7'. That's true, but the problem arises not during encoding, but during decoding. Input strings from external sources (users, clients, etc.) are not inherently trustworthy. Even syntactically correct TypeIDs lead to this ambiguity (as demonstrated above).
Possible solutions:

Keep everything as it is. Maybe it's not that much of a problem.
Or: Do not allow '8'-'z' as the leftmost characters, as no properly generated suffix should ever begin with those characters. This is what I did in my Java implementation that I submitted yesterday, because I initially assumed it was not permitted. Only later I found out that it isn't explicitly specified.

I hope this feedback is in some way helpful.

@fxlae Thanks for reporting. I agree with you: we want a bijective function, the following should always hold:
typeid == decode(encode(typeid)) for all possible typeids. I'm going to update the spec so that the first character has to be 7 or less, and I'll add test cases to the spec for it.
@TenCoKaciStormy, @cbuctok, @sloanelybutsurely, @faustbrian, @akhundMurad, @broothie, @conradludgate, @Frizlab and @ongteckwu this will affect your implementations. I'll update this issue once I have the updated test cases, and that way you can all update your implementations to handle that edge case?

Makes sense to me 👍

PR under review: https://github.com/jetpack-io/opensource/pull/75

Closing. Spec now addresses this case.

swift-typeid 0.3.0 released, with overflow check and tests update.

Same for .Net Standard 2.0 pull request and NuGet.

https://github.com/BombenProdukt/typeid/commit/38a6710ab1bfa4aa586ef378afbf2a7ac07c59e4

Rust: https://github.com/conradludgate/type-safe-id/commit/9a4d3bfb10ccad6bdbbd1dec9cc5c990b51295b3

Amazing, thank you all for the quick response!


patch: publish correct ports

The fix was bigger than just this and was merged in 38021d959988d9c0eb20f5e636ba189e8d91443a

The fix was bigger than just this and was merged in 38021d959988d9c0eb20f5e636ba189e8d91443a


script setup在transform后，终端eslint报错Extra semicolon

script setup的transform顺序有问题，代码应该在eslint校验后，再transform

I would not recommend using eslint at the building/bundling phase.

It is an error reported after Vue cli is started

@catNano 你能给我一个最小可复现的 demo 吗？我看看怎么配。

We temporarily close this due to the lack of enough information. Please provide a minimal reproduction to reopen the issue. Thanks.


Navigation Controller Interactive pop gesture in IOS10

Hi! This is great work. Congrats!
I'm working on a project for IOS10. I'm not using ZoomTransitioning, but I do use your approach  to retrieve the navigation controller's default interactivePopGesture recogniser and tie it to the behavior of my own gesture, which drives my custom transition.
It worked great on IOS9 but not at all in IOS10.
At first i thought there was something wrong with my code, but I tried your zoomTransitioning Demo and it showed the same result as mine: on IOS10 the edge pan gesture drives the default pop animation and  not the custom animation transition :(
I tried to fix this with some fine tuning of the ZoomInteractiveTransition gesture delegate but nothing worked. I can't see anything wrong with the code.
Was wondering if you might know of a fix.
Thanks!

Hi, thank you for opening the issue. I realized the same problem. In iOS 10, it seems that UINavigationControllerDelegate does not call navigationController:interactionControllerFor: and navigationController:animationControllerFor:from:to:. But I solved this problem. Check this commit (https://github.com/WorldDownTown/ZoomTransitioning/commit/b043764ffad9d084c6122f57742b921cb0739c25). Furthermore I made branches for new Swift version. You can build this immediately in Xcode 8 GM seed.
https://github.com/WorldDownTown/ZoomTransitioning/tree/swift-2.3
https://github.com/WorldDownTown/ZoomTransitioning/tree/swift-3

Wow, that's great! Thank you for the quick reply.
I'll check it out.
Have a great weekend!

It's looking better, but once you start the edge pan gesture there's no way of canceling the transition. Apparently the UIPercentDrivenInteractiveTransition's cancel() method does not interrupt the pop transition once it's initiated. ( UIKit shenanigans i suspect )
To work around this, you might consider replacing the cancel() call with update(0.0), to revert the animation back. It will look like this:
 case .cancelled, .ended:
        guard let view = recognizer.view else { return }
        let progress = recognizer.translation(in: view).x / view.bounds.width
        let velocity = recognizer.velocity(in: view).x

        if progress > 0.33 || velocity > 1000.0 {
            finish()
        } else {
             update(0.0)
        }
        interactive = false
    default:
        break
    }

Thanks again. Was really helpful 👍

Just noticed that the approach I suggested above works fine for the edge pan gesture transition, but will freeze the back button on navigation controller, sorry. 🙁

I think this time i found a IOS10 workaround that works,  :
// MARK: - UIGestureRecognizerDelegate
extension ZoomInteractiveTransition: UIGestureRecognizerDelegate {

public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
    interactive = true
    if #available(iOS 10.0, *) {
     // store the popped viewController, to be added back to the navigation stack
      vc = navigationController?.popViewController(animated: true)
    }
    return true
}

On ZoomInteractiveTransition class
weak var vc: UIViewController?
  . . .

    // on handlePanGestureRecognizer(_:)
  case .cancelled, .ended:
        . . .
        if progress > 0.33 || velocity > 1000.0 {
            finish()
        } else {
            // add back the popped view controller into the navigation stack
            navigationController?.viewControllers.append(vc!)
            update(0.0)
            cancel()

        }
        interactive = false
    default:
        break
    }

On ZoomTransitioning's animateTransitionForPop(_:), call  transitionContext.completeTransition always with true
fileprivate func animateTransitionForPop(_ transitionContext: UIViewControllerContextTransitioning) {
   ...
    UIView.animate(
       ..
        },
        completion: { _ in
           ...

           transitionContext.completeTransition(true)
    })
}

This is the best i could come up with. It's pretty awful. Give it a try, hope it helps.

So the problem was solved, I close this issue.


Use ESM modules

Current code uses a mix of require() and import statements, but main problem is that TypeScript is configured to output CommonJS code instead of transpile to ESM modules. This makes it impossible to modify the code to use ESM-only modules.
I've tried multiple alternatives, including usage of dynamic import() of ESM modules, but transpilation converts them to __importStar(require(...)), so it's not working either. Only solutions I can think are:

Change EduMeet Typescript configuration to transpile to ESM modules (ideal, and future proof)
Update other projects to generate a CommonJS output in addition of an ESM one (unrealistic)

Not sure if this can be easily done, or should be set for the upcoming 4.0 version.
Bonus ball: debug package is disabled by default except if you define DEBUG environment variable, so nothing is logged in console and that error got silenced until I started adding traces directly in the transpiled code. A better alternative logging library should be found too.

There is now a new effort to modernize and rewrite edumeet code to typescript. See the edumeet-client and edumeet-room-server repos. The client is typescript from the ground up, and the room server will be next. There is a proposal for the next gen architecture here:

Great! Are you talking about https://github.com/edumeet/edumeet-client and https://github.com/edumeet/edumeet-room-server?

Yes, indeed. The names may change, but for now those are the new server and client repos.

Ok, thank you for the update :-)


[fix][metrics]wrong metrics text generated when label_cluster specified

Motivation
If label_cluster specified cluster_123, the expected metrics text is:
metrics_xxx_total{cluster="cluster_123"} 1.0

but the exactly metrics text is :
metrics_xxx_totalcluster="cluster_123"} 1.0

High light: lost a char {
Modifications
Make metrics text generate correct
Documentation

[ ] doc-required

[ ] doc-not-needed

[ ] doc

[ ] doc-complete

This PR should merge to the following branches:

master
branch-2.10

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

Hi @Technoboy-
Can this PR merge? (^_^)


Various Build issues

Ran into some trouble and wanted to mention a few things.

The VM did not have git installed and so was failing the first git command in the bash script.
Resolved by sudo  git install

The tup building for Artoo seems to be broken.
We have tup complaining here. Python is mad about a list out of bounds. Line 278 of assetgen.py seems to be the issue.

All the git:// links in source_sync.sh need to be replaced with https for github changes.

Nothing actually happens..... doing a set -x in the build shell got me some info. I need some @davidbuzz  help I think.

vagrant@vagrant-ubuntu-trusty-64:/vagrant/solo-builder$ time ./builder.sh -a false -m controller

git config --global http.sslverify false

MACHINE_BUILD=both

ARTOO_BUILD=true

CLEAN_BUILD=false

NUKE_BUILD=false

SCRIPT_MODE=false

getopts a:m:c:n:s: option

case ${option} in

ARTOO_BUILD=false

getopts a:m:c:n:s: option

case ${option} in

MACHINE_BUILD=controller

getopts a:m:c:n:s: option

false

false

echo

read -p 'Proceed with build? (y/n):' choice
Proceed with build? (y/n):y

echo

case "$choice" in

echo 'Yes! Proceeding with build.'
Yes! Proceeding with build.

echo

false

/vagrant/solo-builder/source_sync.sh

M       meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
HEAD is now at bee7e37... eglibc-initial.inc: Drop duplicate include
HEAD is now at af392c2... gst-fsl-plugin: Activate gstreamer AAC decoder.
HEAD is now at eb4563b... ntfs-3g-ntfsprogs: Fix runtime dependency for development package

HEAD is now at 07ad83d... linux-imx (3.0.35): Fix Congatec board build to use 3.0.35-4.0.0
HEAD is now at 5a12677... README: update branches of layers meta-fsl-demos depend on (danny -> dora)
HEAD is now at fc3969f... firefox: add nss libraries to PRIVATE_LIBS and add dependency on external nss, nspr

'[' '!' 0 -eq 0 ']'
cd /solo-build
export MACHINE=imx6solo-3dr-1080p
MACHINE=imx6solo-3dr-1080p
EULA=1
source ./setup-environment build
++ shopt -s xpg_echo
+++ grep -c processor /proc/cpuinfo
++ NCPU=12
+++ pwd
++ CWD=/solo-build
++ PROGNAME=setup-environment
++ SHORTOPTS=h
++ LONGOPTS=help
+++ getopt --options h --longoptions help --name setup-environment -- build
++ ARGS=' -- '''build''''
++ '[' 0 '!=' 0 -o 1 -lt 1 ']'
++ eval set -- ' -- '''build''''
+++ set -- -- build
++ true
++ case $1 in
++ shift
++ break
+++ whoami
++ '[' vagrant = root ']'
++ '[' -z imx6solo-3dr-1080p ']'
+++ ls -1 /solo-build/sources/meta-3dr/conf/machine /solo-build/sources/meta-fsl-arm/conf/machine /solo-build/sources/meta-fsl-arm-extra/conf/machine
++ LIST_MACHINES='/solo-build/sources/meta-3dr/conf/machine:
imx6solo-3dr-1080p.conf
imx6solo-3dr-artoo.conf

/solo-build/sources/meta-fsl-arm/conf/machine:
imx23evk.conf
imx28evk.conf
imx31pdk.conf
imx35pdk.conf
imx51evk.conf
imx53ard.conf
imx53qsb.conf
imx6dlsabreauto.conf
imx6dlsabresd.conf
imx6qsabreauto.conf
imx6qsabresd.conf
imx6slevk.conf
imx6solosabreauto.conf
imx6solosabresd.conf
include
twr-vf65gs10.conf
/solo-build/sources/meta-fsl-arm-extra/conf/machine:
cfa10036.conf
cfa10037.conf
cfa10049.conf
cfa10055.conf
cfa10056.conf
cfa10057.conf
cfa10058.conf
cgtqmx6.conf
imx233-olinuxino-maxi.conf
imx233-olinuxino-micro.conf
imx233-olinuxino-mini.conf
imx6qsabrelite.conf
include
m28evk.conf
m53evk.conf
nitrogen6x.conf
nitrogen6x-lite.conf
wandboard-dual.conf
wandboard-quad.conf
wandboard-solo.conf'
+++ echo -e '/solo-build/sources/meta-3dr/conf/machine:
imx6solo-3dr-1080p.conf
imx6solo-3dr-artoo.conf
/solo-build/sources/meta-fsl-arm/conf/machine:
imx23evk.conf
imx28evk.conf
imx31pdk.conf
imx35pdk.conf
imx51evk.conf
imx53ard.conf
imx53qsb.conf
imx6dlsabreauto.conf
imx6dlsabresd.conf
imx6qsabreauto.conf
imx6qsabresd.conf
imx6slevk.conf
imx6solosabreauto.conf
imx6solosabresd.conf
include
twr-vf65gs10.conf
/solo-build/sources/meta-fsl-arm-extra/conf/machine:
cfa10036.conf
cfa10037.conf
cfa10049.conf
cfa10055.conf
cfa10056.conf
cfa10057.conf
cfa10058.conf
cgtqmx6.conf
imx233-olinuxino-maxi.conf
imx233-olinuxino-micro.conf
imx233-olinuxino-mini.conf
imx6qsabrelite.conf
include
m28evk.conf
m53evk.conf
nitrogen6x.conf
nitrogen6x-lite.conf
wandboard-dual.conf
wandboard-quad.conf
wandboard-solo.conf'
+++ grep 'imx6solo-3dr-1080p.conf$'
+++ wc -l
++ VALID_MACHINE=1
++ '[' ximx6solo-3dr-1080p = x ']'
++ '[' 1 = 0 ']'
++ echo 'Configuring for imx6solo-3dr-1080p'
Configuring for imx6solo-3dr-1080p
++ '[' -z '' ']'
++ SDKMACHINE=i686
++ '[' -z '' ']'
++ DISTRO=3dr
++ OEROOT=sources/poky
++ '[' -e sources/oe-core ']'
++ updated=
++ for f in '$CWD/sources/base/'
+++ basename /solo-build/sources/base/conf
++ file=conf
++ '[' conf = conf ']'
++ continue
++ for f in '$CWD/sources/base/'
+++ basename /solo-build/sources/base/README.md
++ file=README.md
++ '[' README.md = conf ']'
++ echo README.md
++ grep -q '~$'
++ cmp -s README.md /solo-build/sources/base/README.md
++ for f in '$CWD/sources/base/'
+++ basename /solo-build/sources/base/setup-environment
++ file=setup-environment
++ '[' setup-environment = conf ']'
++ echo setup-environment
++ grep -q '~$'
++ cmp -s setup-environment /solo-build/sources/base/setup-environment
++ for f in '$CWD/sources/base/'
+++ basename /solo-build/sources/base/SOURCE
++ file=SOURCE
++ '[' SOURCE = conf ']'
++ echo SOURCE
++ grep -q '~$'
++ cmp -s SOURCE /solo-build/sources/base/SOURCE
++ '[' '' = true ']'
++ cd sources/poky
++ . ./oe-init-build-env /solo-build/build
+++ '[' -z '' ']'
+++ '[' x./builder.sh = x./oe-init-build-env ']'
+++ '[' -n ./oe-init-build-env ']'
++++ dirname ./oe-init-build-env
+++ OEROOT=.
+++ '[' -n '' ']'
++++ readlink -f .
+++ OEROOT=/solo-build/sources/poky
+++ export OEROOT
+++ . /solo-build/sources/poky/scripts/oe-buildenv-internal
++++ '[' -z /solo-build/sources/poky ']'
++++ '[' '!' -z '' ']'
+++++ /usr/bin/env python --version
+++++ grep 'Python 3'
++++ py_v3_check=
++++ '[' '' '!=' '' ']'
+++++ python -c 'import sys; print sys.version_info >= (2,7,3)'
++++ py_v26_check=True
++++ '[' True '!=' True ']'
++++ '[' x = x ']'
++++ '[' x/solo-build/build = x ']'
++++ BDIR=/solo-build/build
++++ '[' /solo-build/build = / ']'
+++++ echo /solo-build/build
+++++ sed -re 's|/+$||'
++++ BDIR=/solo-build/build
+++++ readlink -f /solo-build/build
++++ BDIR=/solo-build/build
++++ '[' -z /solo-build/build ']'
++++ '[' x '!=' x ']'
++++ expr /solo-build/build : '/.'
++++ BUILDDIR=/solo-build/build
++++ unset BDIR
++++ '[' x = x ']'
++++ BITBAKEDIR=/solo-build/sources/poky/bitbake/
+++++ readlink -f /solo-build/sources/poky/bitbake/
++++ BITBAKEDIR=/solo-build/sources/poky/bitbake
+++++ readlink -f /solo-build/build
++++ BUILDDIR=/solo-build/build
++++ test -d /solo-build/sources/poky/bitbake
++++ NEWPATHS=/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:
+++++ echo /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
+++++ sed -e 's|:/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:|:|g' -e 's|^/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:||'
++++ PATH=/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
++++ unset BITBAKEDIR NEWPATHS
++++ export BUILDDIR
++++ export PATH
++++ export 'BB_ENV_EXTRAWHITE=MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR'
++++ BB_ENV_EXTRAWHITE='MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR'
+++ /solo-build/sources/poky/scripts/oe-setup-builddir
+++ '[' -n /solo-build/build ']'
+++ cd /solo-build/build
+++ unset OEROOT
+++ unset BBPATH
+++ echo /solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
+++ sed 's/(:.|:):/:/g;s/^.?://;s/:.?$//'
++ export PATH=/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
++ PATH=/solo-build/sources/poky/scripts:/solo-build/sources/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
++ generated_config=
++ '[' '!' -e conf/local.conf.sample ']'
++ '[' -z 1 ']'
++ '[' 1 = ask ']'
++ grep -q '^ACCEPT_FSL_EULA\s*=' conf/local.conf
++ sed -i 's/^#ACCEPT_FSL_EULA\s=.*/ACCEPT_FSL_EULA = "1"/g' conf/local.conf
++ cat
Welcome to Freescale Community BSP
The Yocto Project has extensive documentation about OE including a
reference manual which can be found at:
http://yoctoproject.org/documentation
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
You can now run 'bitbake '
Common targets are:
core-image-minimal
meta-toolchain
meta-toolchain-sdk
adt-installer
meta-ide-support
++ '[' -n '' ']'
++ echo 'Your configuration files at build have not been touched.'
Your configuration files at build have not been touched.
++ clean_up
++ unset EULA LIST_MACHINES VALID_MACHINE
++ unset NCPU CWD TEMPLATES SHORTOPTS LONGOPTS ARGS PROGNAME

export_return=0
'[' 0 -eq 0 ']'
echo 'Build environment ready'
Build environment ready
false
false
MACHINE=imx6solo-3dr-1080p
bitbake -c clean -f -k sololink shotmanager sololink-python pymavlink mavproxy arducopter gimbal-firmware
'[' '!' 1 -eq 0 ']'
exit 1

real    0m37.336s
user    0m5.582s
sys     0m1.881s
vagrant@vagrant-ubuntu-trusty-64:/vagrant/solo-builder$

install-vagrant-deps.sh specifically goes to the trouble of downloading and building a special version of git that is new enough to be useful, but also doesn't rely on the old gnutls library that is part of (the very old) ubuntu 14, which we do by getting git from sources and compiling it with --with-openssl    this allows git to do modern https/tls to communicate with the remote server/s like github without having to upgrade the whole OS, which is much much harder.

... this is failing to build the latest git release so, i'm testing it with changes to tell it to explicitly use git v2.32.2 , which is a bit older, and it appears to work here, but i won't know if it runs to completion for a few hrs.

fingers cross, this fixes it...   https://github.com/OpenSolo/OpenSolo/commit/abbe08fc184a9025390d6c631565aad296cb728a


cost estimate updates

update bridge spans to 15 for phase 2 sites to get cost estimates closer to reality

added 5m to 10m structures and 3m to others

methods should be updated similiar to parsnip

scripts that calculate length of span should be updated too.


Update dependency eslint-plugin-jest to v27.1.6

This PR contains the following updates:

Package
Type
Update
Change

eslint-plugin-jest
devDependencies
patch
27.1.5 -> 27.1.6

Release Notes

jest-community/eslint-plugin-jest
v27.1.6
Compare Source
Bug Fixes

ensure rule fixes produce valid code when function params and args have trailing commas (#1282) (8eca0b7)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=renovate%2Fsidecar&tag=latest: dial unix /var/run/docker.sock: connect: permission denied


CommonJS or AMD dependencies can cause optimization bailouts

Steps to reproduce
When doing a --prod build the following warning is presented: .
WARNING in<EMAIL_ADDRESS>depends on '@ant-design/colors'. CommonJS or AMD dependencies can cause optimization bailouts.

What is actually happening?
Shows a warning when it doesn't need to.

Environment
Info

ng-zorro-antd
10.1.2

Browser
Chrome

Angular
10.1.4

I produced a solution like this.
Try it if you wish.
"architect": {   "build": {     "options": {       "allowedCommonJsDependencies": [         "@ant-design/colors"       ]     },   } }

Could you please check the version of the '@ant-design/colors' in your node_modules? We have fixed the problem in lastest version (5.0.0).

package.json in @ant-design/colors in node_modules says   "version": "4.0.5"

Try to update '@ant-design/icons-angular' to 10.2.0 or higher. It would depend on<EMAIL_ADDRESS>

We have not dependency on this. In our packages we only have:     "ng-zorro-antd": "^10.1.1".

We have no dependency on this. In our packages we only have:  "ng-zorro-antd": "^10.1.1".

The dependency graph is: 'ng-zorro-antd' > '@ant-design/icons-angular' > '@ant-design/icons-angular'.
Reinstall ng-zorro-antd should also fix this if you don't have the version numbers locked.

Removed ng-zorro-antd. Readded it (10.1.2) and it looks like the warning has now gone away. Strange these packages were not updated.

I am closing this issue since this could be fixed by reinstalling. 😄


Translation of GenStage Lesson

The new GenStage lesson is ready.
PR #770 was the origin.
Translation
Translation progress:

[x] en - #710
[ ]  ru - /cc @brain-geek / @nscyclone
[ ]  ko /cc @devleoper
[ ]  jp /cc @3100
[ ]  no /cc @therobinsj
[ ]  pl /cc @Koziolek
[ ]  sk /cc @michalvalasek
[ ]  fr /cc @julienXX
[ ]  cn /cc @cizixs
[ ]  es /cc @aleandros / @jonahoffline / @eze1981
[ ]  pt /cc @pragmaticivan
[ ]  vi /cc @joneslee85
[ ]  it /cc @sformisano
[ ]  my /cc @alkaha
[ ]  id /cc @rezaprima
[ ]  gr /cc @gemantzu

#821 for greek, the system had an issue so it might be a later commit than this.


Support run invalidation in the database, to avoid growing list of run ids to ignore

Pretty soon, we're going to be able to run evaluations from a YAML file that contains a reference to a suite. .
As part of this, we're looking to move away from manually maintained list of run ids to exclude. Duh. This should just be in the database.
There are a things to figure out here:

What does it mean for a run to be "invalid"? Does this just mean with respect to evaluations?
How exactly do we store that a run is invalid? Should we store this in run metadata, or as a seperate column for clarity?
What is the workflow for run invalidation? Is this something done by the infrastructure team, or done by the viv runers themselves? How do you actually do this.

Mostly looking for input on this, by my guesses:

There are different use cases for runs. My guess is that we should make an "invalidForEval" label or something - specific to the eval process. Certainty: 5/10.
Metadata is fine, fine for v1. So says Sami last week. Certainty: 7/10.
Seems like it belongs to the same people who run viv run. Maybe you can only invalidate your own runs? Anyways, something like viv label-invalid {run_id} or something. Certainty: 6/10

I expect that for running-evaluations-from-suites to be useful, this is going to be a feature request we get on the very first day. Let's get it figured out now, so we're not scrambling.
Any input greatly apprecaited!

A bit more thinking about invariants and user story here: if we have an invalid tag, but we don't FORCE people to use it, then the absence of an invalid tag doesn't actually mean the run is valid. It could mean it's invalid, or it could just mean that no one has looked at the run.
Since we're specifically designing this tag for "production grade measurements" aka what Lucas does, the other angle would be to create a tag for a "measurement-grade run." This would be an opt-in tag that says the run has been manually reviewed, looks good, and is actually ready to be included in a set of runs for a production grade measurement.
There's more design space to explore here. Not sure how worth it is, but I think it might be worth thinking about this tag specifically in the context of the user story we want to solve, rather than just "run invalidation" -- it might lead to a cleaner and more useful solution that is less confusing long-term.


Updated Modal > ReactModal

Fixes #[NA].
Changes proposed:

Updated outdated docs

Upgrade Path (for changed or removed APIs):
NA
Acceptance Checklist:

[ ] The commit message follows the guidelines in CONTRIBUTING.md.
[ ] Documentation (README.md) and examples have been updated as needed.
[ ] If this is a code change, a spec testing the functionality has been added.
[ ] If the commit message has [changed] or [removed], there is an upgrade path above.

Coverage remained the same at 86.621% when pulling 054fc250b96d323220e1fcdf2e69fe8986276ba9 on MrRobotjs:patch-1 into a2838bbfd11e6203ffb7df1b76575da328d0d3fd on reactjs:master.

Hi @MrRobotjs, can you please check if we are using the same name in all the examples?


Tests: Sensitive to local filesystem file ordering.

I recently checked out a clean version of the repository.
When I ran the tests 4 failed.
This was due to file ordering being different.
2 looked ok:
diff --git a/test/fixtures/approvals/get_track_fake.approved.json b/test/fixtures/approvals/get_track_f
index ecae415..6ac1beb 100644
--- a/test/fixtures/approvals/get_track_fake.approved.json
+++ b/test/fixtures/approvals/get_track_fake.approved.json
@@ -38,8 +38,8 @@
       "name": "One",
       "files": {
         ".dot": "dot\n",
-        "Fakefile": "Autorun fake code\n",
         "one_test.ext": "assert 'one'\n",
+        "Fakefile": "Autorun fake code\n",
         "sub/src/stubfile.ext": "stub\n",
         "README.md": "# One\n\nThis is one.\n\n* one\n* one again\n\n* one hint\n* one more hint\n\n##
       },

diff --git a/test/fixtures/approvals/v3_exercise_tests.approved.json b/test/fixtures/approvals/v3_exerc
index 89c52b7..7e445a0 100644
--- a/test/fixtures/approvals/v3_exercise_tests.approved.json
+++ b/test/fixtures/approvals/v3_exercise_tests.approved.json
@@ -6,8 +6,8 @@
     "name": "Dog",
     "blurb": "This is dog.",
     "files": {
-      "a_dog.animal": "assert 'woof woof'\n",
-      "a_dog_2.animal": "assert \"Miaowww\"\n"
+      "a_dog_2.animal": "assert \"Miaowww\"\n",
+      "a_dog.animal": "assert 'woof woof'\n"
     }
   }
 }

2 looked a bit scarier (and are the same bug.) returning a different doc_format
1) Failure:
TrackTest#test_doc_format [/home/geoff/Dev/Exercisim/x-api/test/xapi/track_test.rb:64]:
Expected: "org"
  Actual: "md"

diff --git a/test/fixtures/approvals/v3_track.approved.txt b/test/fixtures/approvals/v3_track.approved.
index ba0f056..9caddb0 100644
--- a/test/fixtures/approvals/v3_track.approved.txt
+++ b/test/fixtures/approvals/v3_track.approved.txt
@@ -8,7 +8,7 @@
        "todo" => ["banana", "cherry"]
        "active" => true
        "implemented" => true
-       "doc_format" => "org"
+       "doc_format" => "md"
        "docs" => {"about"=>"Language Information\n", "installation"=>"Installing\n", "tests"=>"Running
        "problems" => [{"slug"=>"hello-world", "name"=>"Hello World", "blurb"=>"Oh, hello."}, {"slug"=>
 }

Sugested actions

Ensure that the result of reading a group of files is sorted before further processing. This should ensure that the files are output in a consistent order across machines/OSes/filesystems

Work out what doc_format is supposed to be doing, because I don't think it's doing the right thing by only checking 1 file unless they are all guaranteed to be the same, (which it's not checking for either.)

Yeah, we've run into this before—linux (CI) vs mac (my dev environment).
I tend to fix it by sorting in the tests explicitly.

Work out what doc_format is supposed to be doing

It's supposed to figure out whether the docs/* are in markdown or orgmode. There are tests for that, but I make no guarantees beyond that.
They're all going to be either 'md' or 'org'. I'm sure at some point we could mistakenly have a mix, but I don't think it's likely.

Choose the most popular?
  0     def doc_format
  1       formats = Dir.glob(File.join(dir, "docs", "*.*")).map do |filename|
  2         File.extname(filename)
  3       end
  4       formats.max_by { |format| formats.count(format) }
  5     end

It's currently only(?) used to work out what the name of the file to edit is at the bottom of the track documentation on the exercism.io site.

Help us explain this better! File a GitHub issue at https://github.com/exercism/xruby/issues if you have suggestions, or submit a patch with improvements to the https://github.com/exercism/xruby/blob/master/docs/INSTALLATION.md file.

We also use it to convert the org files to markdown before submitting them to the site via the API, I believe.

We also use it to convert the org files to markdown before submitting them to the site via the API, I believe.

There's a another different bit of code for that :confused:

There's a another different bit of code for that

Ah. Hm. This code base isn't actually terrible, but there sure are some weird corners.

Choose the most popular?

Yeah, that seems reasonable.


Use same libray for both publishing and as project

I have project A which is used as a package.
Project B uses A as a dependency. B is used as a dependency in project C.
What will be the structure of project B?

Hi sagarnayak,
Good question. I'll have to try a demo  implementation to give you an exact answer to this.
Did you implement this related case in a project?
If yes, and its open source, please do share the project link and I can give it a try.
In your case generating a pom file with dependencies included for Project A & B will be required when Project C tries to include Package B.. it will get the list of dependencies for Package A automatically.
let me know your thoughts and findings and we can document it.


perf(parser): try Blink allocator for the AST

https://twitter.com/zakarum4/status/1630669810110545921
https://github.com/zakarumych/blink-alloc
cc @zakarumych

@zakarumych I've gone through the docs (blink_alloc and allocator-api2) and I'm confused, it's probably because I'm unfamiliar with the allocator api.
So given I have nightly on, how do I go about replacing bumpalo?
And will this remove all the lifetimes from the AST (which would be awesome)?

allocator-api2 mimics traits and types from core and alloc to enable usage on stable.
With "nightly" feature enabled allocator-api2 reexports instead of defining duplicates, so core and alloc traits and types may be used directly if you target nightly only.
If you target both nightly and stable - use allocator-api2.
No. You won't get rid of lifetimes easily since BlinkAlloc should shared between containers rather than cloned.
There is a way to get rid of lifetimes if you really need this.
Implement unsafe reset_unchecked method that takes &self. Place BlinkAlloc into static and voila, &'static BlinkAlloc gives 'static allocations.
Reset would be unsafe since it would require caller that all allocations were dropped.

@zakarumych Would it be too much of an ask for you to add some building blocks for me? I'm super confused :-/

What seems to be missing?

Prefacing the below with: I'm new to Rust, and I'm also not deeply familiar with this project's usage of arena allocations.
(@Boshen please correct any mistakes)
For suitable use cases, using an arena allocator can yield better performance. (thanks lower (de)allocation overhead, spatial locality).
In the case of this oxc project, we know the lexer and the AST builder are going to use memory which is "temporary" in the sense that once used (output JS or lint) - will be thrown away entirely.
To get this to work within Rust's lifetime constraints, the allocator(bumpalo) is created and passed to the parser's constructor.
This enables storing references to the allocator-allocated objects (since the allocator, which owns the large continuous memory,  is shown to outlive its use).
It seems there's a general incompatibility between the utilities and function signatures bumpalo provides vs blink.
bumpalo's alloc() is
pub fn alloc<T>(&self, val: T) -> &mut T

blink's put() is
 pub fn put<T: 'static>(&self, value: T) -> &mut T

(I'm entirely confused by the static lifetime)
bumpalo's Vec is
pub struct Vec<'bump, T: 'bump>

blink's is:
pub struct Vec<T, A: Allocator = Global>

Trying to replace bumpalo usage with blink comes up at a dead-end, where it seems to me the API's exposed by blink aren't sufficient.
Since you've put in great care and effort, I assume I'm misunderstanding the intended usage and why/how it's different than bumpalo's.

@YoniFeng Your understanding of how bumaplo is being used in this project is correct.
@zakarumych Can you help us a little more on how to make Box and Vec work?
I presume we start replacing this with Blink:
https://github.com/Boshen/oxc/blob/47c1e7ef5124b81d6df0cd8182b56a94e297a04b/crates/oxc_allocator/src/lib.rs#L8-L11
And we want to end up with the replacement of these APIs with the Blink's equivalent:
https://github.com/Boshen/oxc/blob/47c1e7ef5124b81d6df0cd8182b56a94e297a04b/crates/oxc_ast/src/ast_builder.rs#L19-L46

Oops, I didn't see the PR https://github.com/Boshen/oxc/pull/106 first, I'm going to look at it now.

Blink::put requires 'static values due to placing it into drop-list.
Without 'static it would be possible to observe destroyed objects in value's Drop.
There are 3 ways to relax 'static requirement.
Blink::emplace_no_drop() works as Bump::alloc. i.e. it doesn't drop the value on reset, removing possibility to witness dropped values in Drop.
Blink::emplace_shared() gives only shared reference back and removes the problem as well.
Blink::emplace_unchecked() is unsafe and asks caller to not cause UB :)
As you've seen in a PR a type-alias helps to match bumpalo's Box and Vec types.

Closing due to inactivity. Please reach out if you want to work on this again. And thank you for working on this, I learned a bunch from your work.


Add subject_group data model

finishes the work started in #3271 and linked to the work in https://github.com/zooniverse/front-end-monorepo/issues/1484
Adds the SubjecGroup data model to dynamically link existing subjects in newly created groups. These subject_groups will be dynamically created via subject selection
The SubjectGroup is a placeholder for the linked member subjects. Each SubjectGroup

has_many members the join resource for the subjects
has_many subjects through the join table above
has_one group_subject a new aggregate subject for use in talk and to collect the classification for the subject_group

See https://github.com/zooniverse/front-end-monorepo/issues/1487 for thoughts on keeping the existing talk interface working

Of note, the SubjectGroup resource will have a unique identifier key which is comprised of the group's subject_ids joined into a string. This key is dependent on the subject_id order and has a unique db index as well.  This will allow the group (and group_subject) to be reused if the selector returns the unique 'group' of subjects to classify.
The SubjectGroupMember resource is a join resource between Subject and SubjectGroup but also encodes the display order of the subject in the group.
I've used the service object pattern to add a SubjetGroup::Create operation to correctly construct the SubjectGroup and it's associated resources. This avoids the need for complex model callbacks to create the linked resources and keeps the model logic focussed on persistence. I plan to use this operation in the subjects (or SubjectGroup) controller when requesting the SubjectGroup resource.
Review checklist

[ ] First, the most important one: is this PR small enough that you can actually review it? Feel free to just reject a branch if the changes are hard to review due to the length of the diff.
[ ] If there are any migrations, will they the previous version of the app work correctly after they've been run (e.g. the don't remove columns still known about by ActiveRecord).
[ ] If anything changed with regards to the public API, are those changes also documented in the apiary.apib file?
[ ] Are all the changes covered by tests? Think about any possible edge cases that might be left untested.

One question. Wanted to make sure I'm following here: did you add the key attribute to the SubjectGroup primarily for the purpose of making subject id lookup more efficient and ensuring uniqueness of subjects?

Yes, that and the ability to have the tracked subject ids as data on the model without loading an association from the db. Also this should be a smaller table / uniq index to search rather than the subject_group_members join table and allows me to write a simpler query SubjectGroup.find(key: '1-2-3') vs the join query to find the subject_group when i have the subject ids.

I was just thinking about how we could retrieve that same information via an ordered query on SubjectGroupMembers, but that would put the job of making sure a group is unique on the developer (rather than letting the db and built in validation handle it).

yes - and that query is across all groups so will be a bigger table / index to scan and a slightly more complex query. Plus we have to load the association to understand the state of linked subject ids.
Finally - this can change if we want to ensure consistency with the linked associations. I can't see these groups changing once created so the key attribute should be static once set for the lifetime of the group. This can evolve / change though :)


Any plan to support GridView?

I would be so appreciate if this plugin can work great with GridView

Actually it can.

I run it on ios and android, it is working great but when I try it on desktop support, what i can see when scoll to bottom is loading failed gesture detecture.

GridView is supported,If you are sure GridView is not work,please attach more details


opt auto retry when meeting 429 error

Proposed changes
Sometime the s3 sdk will return error like:
QpsLimitExceeded Unable to parse ExceptionName: QpsLimitExceeded Message: Please reduce your request rate. code=429 type=100, request_id=66516C288EC49

We should slowdown the request rate by sleeping for a while.

Add 2 new BE config

s3_read_base_wait_time_ms and s3_read_max_wait_time_ms
When meet s3 429 error, the "get" request will
sleep s3_read_base_wait_time_ms (*1, *2, *3, *4) ms get try again.
The max sleep time is s3_read_max_wait_time_ms
and the max retry time is max_s3_client_retry

Add more metrics for s3 file reader

s3_file_reader_too_many_request: counter of 429 error.

s3_file_reader_s3_get_request: the QPS of s3 get request.

TotalGetRequest: Get request counter in profile

TooManyRequestErr: 429 error counter in profile

TooManyRequestSleepTime: Sum of sleep time after 429 error in profile

TotalBytesRead: Total bytes read from s3 in profile

run buildall

LGTM

run buildall


backgroundExecuteSqlBatch get fails when we delete and reopen the DB File - Android ( Oftenly )

RN Version : 0.57
React Native Sqlite Storage Version : 3.3.8
Platform : Android
When I delete the DB file its getting deleted sucessfully. But when I reopen the DB file some times its showing below error :
batch execution error:  database not open
Can anyone please tell me why this is happening?
Since its not throwing any exception, its difficult to handle.

Did u find the solution?


fix known issue that keep data dir which terraform docker file needed

Without this fix
build image will fail
#6 [2/4] COPY data/ /usr/local/src/
#6 ERROR: failed to calculate checksum of ref moby::8057py241o2jj3mcrtgvvowep: "/data": not found

[2/4] COPY data/ /usr/local/src/:

It's already there.


questions on training with p3d

i am currently trying to reimplement  on UCF101.
first, when i do the training with p3d-b, i find that the total loss suddenly increases from around 4 to 11,  after four or five epoch. did you meet the same problems?
second, how do you come up with doing a two-stage training, finetune p3d on a trained tsn  model?
third, why do you decide to decrease the input from 224x224 to 160x160?

Hi,

The loss may be influenced by many factors. Some important points are batch_size (128), dropout ratio (0.9), initialization of temporal convolution (small-std gaussian).
We do not finetune on tsn model, we finetune the model from ImageNet pretrained-model. But if the 2D kernels are pretrained by tsn, the performance may be further improved.
The resolution is decreased due to limited gpu memory and training time. Generally, higher resolution will lead to higher performance.
Best.

thank you. i think i misunderstand the training scheme.

Hi,
1.first, in the paper, "In the training stage, we set each mini_batch as 128 frames/clips, which are implemented with multiple GPUs in parallel",  128frames/clips  means batch_size is 8 for per GPU(128=8*16) or other setting?
Thank you in advance!

Hi,
It depends on the GPU memory and network architecture. For example, for P3D-ResNet-152, each K40 GPU can contain (around) 4 clip during training. In that case, we use 8 GPU and 84=32 clip in total. Then we set the iter_size=4, which means after 324=128 clip, the network parameters will be updated.
We keep (clip in each GPU) * (number of GPU) * (iter_size)=128.
Best.

@jiangyin1014 You may have a look at https://zhuanlan.zhihu.com/p/35359709

how to set the iter_size ?


Question about memory performance/safety

Based on the triton vm docs I can seemingly read and write to any location in memory by pushing an arbitrary index to the stack. Is there any performance disadvantage to storing memory extremely sparsely?
I'm considering allocating fixed memory regions for each function/block scope. So if each scope gets a region of 2^32 memory indices there could be a maximum of ~2^31 distinct scopes before I logically run out of memory. A program might look like this:
push 1
push 2
push 3
push 0
write_mem 3
call fn_use_mem
halt

fn_use_mem:
  push 1
  push 2
  push 3
  push<PHONE_NUMBER>
  write_mem 3

You can see the root scope gets memory at index 0, and the function uses memory at offset 2^32. This is advantageous to me because when I'm compiling to tasm I can statically layout memory instead of worrying about tracking memory pointers on the stack.
Is this safe/performant? I know that reading before writing is not safe, but otherwise?

NVM I just tried this and I can't write to arbitrary memory indices.

Actually it does work, the error was in my own code, so the question remains. Sorry to spam 😅

Is there any performance disadvantage to storing memory extremely sparsely?
No. What matters from a performance perspective is the number of rows in each table, ProcessorTable, RamTable, OpStackTable. U32Table etc. The number of rows in the ProcessorTable are equivalent to number of clock cycles it takes to execute the program, the number of rows in the RamTable is the number of words (BFieldElement's) that you read and write to memory[^1]. It doesn't matter where in memory you read or write, just the number of words that you access.

[^1]: RamTable rows are generated 1-to-1 from RamTableCall that are generated in ram_read and ram_write.

Great thanks! Pretty cool the machine has almost 17M terabytes of memory to execute a single program. Makes for some interesting compiler design patterns.

Some more context about how we do things in our standard-library, tasm-lib:
tasm-lib operates with two types of memory allocation: static and dynamic. Static memory allocation is the memory allocation that is known at compile-time. It's simply a way to give a piece of code some memory to work with if stack management becomes to restrictive or too complicated. The idea is that only the snippet that allocates this memory is allowed to access it. The static memory allocation is handled by the Library struct in tasm-lib, through the kmalloc method.
The dynamic allocator can handle memory allocation at run-time, so for it to work, it needs access to (run-time) state in the virtual machine. We have implemented the simplest solution we could think of: Each call to the dynamic allocator gives the caller one page (that's what we call it) of memory, and the state of the dynamic allocator is incremented. So the state simply counts how many pages that have been allocated. Each allocated page i $2^{32}$ words big. And the state of the dynamic allocator lives in memory address $0$. The dynamic memory allocator is implemented as a snippet here: https://github.com/TritonVM/tasm-lib/blob/master/tasm-lib/src/memory/dyn_malloc.rs.
The tasm-lib README contains a section about the memory convention we are using:
https://github.com/TritonVM/tasm-lib/tree/master?tab=readme-ov-file#memory

This is good info about how you approach it. Somewhat close to a traditional computer but exploiting the size of the space for static stuff. I think that definitely makes sense for tasm programs.
With any compiled language i think it's possible to almost completely avoid managing memory indices on the stack. One crazy idea i have is put arguments for each invocation of each function at a distinct position in memory. Then track how many times a function has been executed and calculate where to look in memory for arguments. Then the compiler can optimize the position of variables in memory based on what functions will be called.
I think it's probably more efficient to pass pointers to memory locations on the stack though, to avoid memory copies. But each function can have it's own distinct memory range.

In case you want to benchmark the code you've written to see how many processor/memory/opstack/u32 table rows it generates, you can use this helper function: https://github.com/TritonVM/tasm-lib/blob/master/tasm-lib/src/linker.rs#L32, or this one. The latter one requires you to implement traits specific for tasm-code snippets.


Take RemoteCallbacks and ProxyOptions for remote::connect()

So that we can connect to remotes with any form of authentication.
I'm not sure how this can be tested -- I didn't find any existing tests to callbacks (except for transfer) to reference from. If you have any ideas, please let me know.

My original worry here was that this was unsound as git_remote_connect would persist information in the callbacks provided in internal storage, leading to use-after-free. Are we sure though that git_remote_connect doesn't store these variables?

You're right. Some of the callbacks are persisted after connecting.
In git_remote_connect, the callbacks are assigned to some git_transport, which is either smart_transport or local_transport.
I looked through smart_transport and it seems like some of the callbacks are only used at the point of connecting, and some are persisted and used by other operations such as fetch. These operations will check that the remote is connected first, and if not, will do a git_remote_connect.
So it seems like the best way to prevent a free after use is to enforce some kind of constraint that the callbacks must live as long as the connection is live.
Maybe we would have to implement some kind of Connected struct with some lifetime that is the same as that of the callbacks? Not sure how to proceed.
(Need to be able to authenticate and remote-ls for one of my projects :( )
Or I could modify Remote::list to perform a connection automatically and disconnect at the end?

Perhaps we could return an RAII object that owns the callbacks and disconnects when dropped? That way you'd just have to keep that object alive, and perhaps use the remote through that object?
Ideally we'd add another lifetime to Remote and have connect store the callbacks (bound by the lifetime on Remote), but I'd prefer to avoid that breaking of a change for now if possible.

Okay. I'll implement that and update the PR.
On Fri, 27 Jan 2017, 12:15 Alex Crichton<EMAIL_ADDRESS>wrote:

Perhaps we could return an RAII object that owns the callbacks and
disconnects when dropped? That way you'd just have to keep that object
alive, and perhaps use the remote through that object?
Ideally we'd add another lifetime to Remote and have connect store the
callbacks (bound by the lifetime on Remote), but I'd prefer to avoid that
breaking of a change for now if possible.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alexcrichton/git2-rs/pull/182#issuecomment-275585524,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA8APeFrl0PmC8-irRzQlh1s5qKumk75ks5rWW9NgaJpZM4Lrwgs
.

--
Regards
Yong Wen

Please see #186.


update docs

Codecov Report

Merging #24 (eefe7db) into main (d761262) will decrease coverage by 7.86%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #24      +/-   ##
==========================================
- Coverage   56.09%   48.22%   -7.87%
==========================================
  Files          11       11
  Lines         369      367       -2
  Branches       45       42       -3
==========================================
- Hits          207      177      -30
- Misses        147      169      +22
- Partials       15       21       +6

Impacted Files
Coverage Δ

src/pytest_servers/exceptions.py
0.00% <0.00%> (-50.00%)
:arrow_down:

src/pytest_servers/gcs.py
44.82% <0.00%> (-18.51%)
:arrow_down:

src/pytest_servers/azure.py
35.48% <0.00%> (-17.65%)
:arrow_down:

src/pytest_servers/utils.py
32.81% <0.00%> (-15.63%)
:arrow_down:

src/pytest_servers/factory.py
56.71% <0.00%> (-5.98%)
:arrow_down:

Continue to review full report at Codecov.

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


silx.math.colormap: Improved cmap error messages

This PR improves error messages raised when data or colors are not supported.
It also cast colors to supported types (with a warning) whenever possible.
closes  #3520

CI fails for another issue: See #3523

Pin-pointing h5py to fix tests on CI. See #3523

Ready for review

Rebased after PR #3526 merge to fix CI issues


Error when transforming parameter list of strings that contains numbers

Some strings are not transformed correctly when executing aws cloudformation package.
Given the following template.yaml:
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Description: Example Template

Parameters:
  Month:
    Description: Select month
    Type: String
    AllowedValues: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]
    Default: "06"

Resources:
  ExampleLambda:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: .
      Description: Example Lambda
      Environment:
        Variables:
          MONTH: !Ref Month
      Handler: index.handler
      Policies: AWSLambdaBasicExecutionRole
      Runtime: nodejs6.10

Executing aws cloudformation package result in the following packaged-template.yaml:
AWSTemplateFormatVersion: 2010-09-09
Description: Example Template
Parameters:
  Month:
    AllowedValues:
    - '01'
    - '02'
    - '03'
    - '04'
    - '05'
    - '06'
    - '07'
    - 08
    - 09
    - '10'
    - '11'
    - '12'
    Default: '06'
    Description: Select month
    Type: String
Resources:
  ExampleLambda:
    Properties:
      CodeUri: s3://billing-deployment/360dc36bb10d9734e0e16e96cdf2d171
      Description: Example Lambda
      Environment:
        Variables:
          MONTH:
            Ref: Month
      Handler: index.handler
      Policies: AWSLambdaBasicExecutionRole
      Runtime: nodejs6.10
    Type: AWS::Serverless::Function
Transform: AWS::Serverless-2016-10-31

Note that 08 and 09 are translated as numbers, not strings.
AWS CLI:
$ aws --version
aws-cli/1.11.83 Python/2.7.10 Darwin/16.5.0 botocore/1.5.46

This is a problem with the YAML parser. See aws/aws-cli#2556 for the real fix. As a workaround, latest CLI allow use to use --use-json flag to export to JSON instead of YAML which wont have this bug.
Closing this issue to track the fix via AWSCLI package.