GOBBLIN-1228: Do not localize token file on new TaskRunner launch

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1228

Description

[x] Here are some details about my PR, including screenshots (if applicable):
Currently, the token file is localized on each new container launch. The localization should happen only for AM container. Further, this task also provides a fix for NPE thrown in case the token file is not available locally.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Added unit tests.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@ZihanLi58 @autumnust please review.

+1, LGTM


Extending Lucid Models

What would be the best way to extend lucid Models

Hey @Nigeltiany !
What do you mean? Could you provide a use-case to work with?

I am cooking up a provider for access control with redis

class RedisACL {

  constructor(Config, Helpers, Factory, Redis) {
    this.Config = Config
    this.Helpers = Helpers
    this.Factory = Factory
    this.Redis = Redis
  }

  getConfig(){
    return this.Config.get('redis_acl.rules');
  }

  getIdentifier() {
    return this.Config.get('redis_acl.identifier');
  }

  giveRole(user,role){
    this.Redis.hset(user[`${this.getIdentifier()}`],'role',role)
  }

Every method i create has to be exposed to the model
'use strict'

const Lucid = use('Lucid');
const ACL = use('RedisACL');

class User extends Lucid {
  hasRole(role){
    return ACL.hasRole(this,role)
  }
  hasRoles(role){
    return ACL.hasRoles(this,role)
  }
  giveRole(role){
    return ACL.giveRole(this,role)
  }
}

module.exports = User

Is there a better way to do this.  Better yet, can we collaborate on this? @RomainLanz

@Nigeltiany In next release you can make Lucid make use of Traits. So what you can do is.
class User extends Lucid {
  static boot () {
     super.boot()
     this.use(RedisACL)
  }
}

Now RedisACL must have a register method.
class RedisACL {
   register (model) {
      // here you can monkey patch the model prototype
      model.prototype.hasRole = function () {}
      model.prototype.hasRoles = function () {}
   }
}

Note that you can use something similar currently.
class User extends Lucid {

  static boot () {
     super.boot()
     RedisACL.register(this)
  }

}


Port CharArrayIterator

This class has a BreakIterator concept that has no equivalent in .NET. However there is this project that is active and has a .NET bindings library available via nuget:
http://site.icu-project.org/
.NET library:
https://github.com/niaher/icu4net
I was able to use it and port CharArrayIterator tests which are all passing. It also looks like BreakIterator is used in other places in Analysis so we will have a solution for them with this PR.
I did have to set platform to 32bit for analysis project in order for the tests to pass. ICU4NET and ICU dlls appear to be platform specific and only 32 bit bindings are available for .NET. I was able to download icu4net code and compile it with Visual C++. So down the road I can see if I can get 64 bit version packaged and submitted as PR to icu4net project or package it as our own or something like that.
Anyway, do let me know if you think we should use something else for BreakIterator implementations or go with this. It does seem like the ICU project implements other components that Analysis uses that have no equivalent in .NET (e.g. Collations concept). I am completely new to ICU project but it appears to be very active and has regular meetings and released.

Great job on this so far. I had a lot of problems getting ICU4NET properly integrated and running, so this alone is a fine start. Not that I have any say, but I'd vote for continuing with this plan rather than coming up with something else for a BreakIterator implementation.

This is a bit tricky. icu4net doesn't seem to be that active (~40 commits in 4 years, last one >6 months ago), and the 32bit stuff is quite problematic. And I'd rather avoid maintaining yet another project.
On the other hand, there's no point in reinventing the wheel - so long as we can confirm the validity and quality of that project.
Take a look at icu4j - that's a Java implementation Lucene uses quiet a bit on itself. Maybe that is just a few classes that we can port over from there and the icu4net project?

I had similar concerns to your @synhershko yet at the same time felt like it was the best option for us. Some loose thoughts:

We all want to see some progress with Lucene.Net port and going to port icu4j feels like a roadblock to that initiate. I better use icu4net and make headway with the Lucene port than go onto another project port at this stage. Perhaps live with icu4net for as long as we can but keep on thinking what it will be replaced with down the road?

Just from taking a very raw look at the icu4j and BreakIterator for instance, it does not feel like it is a straightforward port. I could be wrong though. Also not sure if we can do that from the licensing perspective, all of their classes have comment with IBM copyright. Have no clue about those type of things (see example here: http://source.icu-project.org/repos/icu/icu4j/trunk/main/classes/core/src/com/ibm/icu/text/BreakIterator.java)

icu4net is not active, true, but it is just a wrapper around a very active ICU4C library. I was able to take ICU4NET, compile it, etc. So we could fork that project and create our own nuget packages and wrapper classes if we wanted to. Also that includes building 64 bit version of ICU4NET by packaging 64 bit version ICU4C libs. None of this I have experience with, so it is a bit of unknown.

The best part of ICU4C is that the classes it exposes, so far at least, have been a perfect match for Analysis at the API level. Porting CharArrayIterator was straightforward. I started porting SegmentingTokenizerBase in Utils just to see if I run into any issues, and again from the API perspective did not run into anything, it was straightforward to get to the point where it compiles (tests are failing, will figure out why :) ).

It just feels like for the sake of making progress ICU4NET is the way to go. It allows us to port Lucene code and then we can yank ICU4NET out once we feel like we have a good alternative for it.
What do you think?
While you consider I am continuing to figure out what to do with ICU4NET on CI machine. It depends on init.ps1 script to be run but nuget restore has a bug where it does not do that (http://jeffhandley.com/archive/2013/12/09/nuget-package-restore-misconceptions.aspx, search for "init.ps1" paragraph)
And @jpsullivan thanks for your input, appreciated. We don't have a lot of people around this so it is good to hear the opinion of others and have someone review the code, etc.

@laimis - total agree,
this release is already far behind the latest java, and there are enough challenges to make it live (facets, analysis, tests and probably other hidden bugs we didn't discover yet)
done is better than perfect.

@synhershko removed the "buggy breakiterator" code, looks good from the tests.

I had sometime to port some more code and got through SegmetingTokenizerBase and its tests. Since it builds on top of the CharArrayIterator stuff I went ahead and added it to this PR.

Sorry, got caught up in other stuff. So was this merged? I'm not quite sure what happened here :)

@synhershko yeah I went ahead and merged it to continue with the porting as this was a building block on some of the next ports I was doing. I waited a bit longer but after not hearing back just went with it.
Right now looking at the CharArrayMap / CharArraySet classes that appear to be used frequently in analysis.


getting current slide index

i was wondering if there is any way to get the current slide index?

Try this solutions:
on component create method for example
nextClick: function(e){
//alert('next');
console.log(e);
}
on render function I added like this
render: function() {
.....
var settings = {
dots: false,
infinite: true,
speed: 500,
swipeToSlide: false,
arrows: true,
slidesToShow: 2,
afterChange: this.nextClick,
slidesToScroll: 2
};
return (<Slider {...settings}/>)
}
And I got on console 2 4 6 8 10 (Because I show 2 slider Item in one time
And you can keep from "e" variable current Slider Item
I hope it's help you

I set the autoplay  with true, and try to use React.setState in afterChange.
But the strange thing is the Slick just 'autoplay' once and the browser console shows nothing. When i remove setState, everything will goes rightly.
So, what happened?

use afterChange method, it allows to get currentSlide index as callback function's parameter
afterChangeHandler(currentSlide) {
        this.props.updateInitialSlide(currentSlide);
}

<Slider {...settings} afterChange={this.afterChangeHandler}>

In react slick afterChange method returns the current index
afterChange: index => {
console.log(index);
},

Example saving the current index into currentIndex state:
 const [currentIndex, setCurrentIndex] = useState(0);

  <SlickSlider
        beforeChange={(currentSlide, nextSlide) => {
              setCurrentIndex(nextSlide);
          }}
    >


chain-method-continuation should ignore nested classes

fun buildBar(): Foo.Bar = Foo.Bar.builder().baz().build()

Expected Behavior
fun buildBar(): Foo.Bar = Foo.Bar
    .builder()
    .baz()
    .build()

Current Behavior
fun buildBar(): Foo.Bar = Foo
    .Bar
    .builder()
    .baz()
    .build()

Additional information

Current version of ktlint: 1.1.0

Not everything is related to the chain-method-continuation rule. Please run ktlint CLI to see which rule is causing 'troubles':
src/main/kotlin/Foo.kt:1:27: A multiline expression should start on a new line (standard:multiline-expression-wrapping)
src/main/kotlin/Foo.kt:1:27: Newline expected before expression body (standard:function-signature)

Usually, it is also helpful when you specify your .editorconfig settings.
Ktlint can not retrieve enough information from the AST / PSI to determine whether Bar is referring to a nested class inside Foo or something else. Both elements are considered to be an identifier.

I'm running it in the ChainMethodContinuationRuleTest.
I also added another case:
fun buildBar(): Foo.Bar = Foo
    .Bar
    .bazFactory
    .builder()
    .baz()
    .build()

Bar & bazFactory seem to be . -> REFERENCE_EXPRESSION -> IDENTIFIER.
builder, baz & build seem to be . -> CALL_EXPRESSION -> REFERENCE_EXPRESSION -> IDENTIFIER.
With this we can differentiate between methods and other references. Since this rule is called ChainMethodContinuation, we should probably ignore the other references.
In IntelliJ 'Chained function calls' with 'Chop down if too long' will wrap it as follows:
// Without 'wrap first call'
fun buildBar(): Foo.Bar =
    Foo.Bar.bazFactory.builder()
        .baz()
        .build()

// With 'wrap first call'
fun buildBar(): Foo.Bar =
    Foo.Bar.bazFactory
        .builder()
        .baz()
        .build()

It might make sense to add 'wrap first call' as configuration as well.

Some examples from IntelliJ:
// Assume that the last
// allowed character is
// at the X character
// on the right              X
fun buildBar(): Foo.Bar = Foo.Bar.foo().bar().baz.foo().bar().baz()

// Without 'wrap first call'
fun buildBar(): Foo.Bar =
    Foo.Bar.foo()
        .bar().baz.foo()
        .bar()
        .baz()

// With 'wrap first call'
fun buildBar(): Foo.Bar =
    Foo.Bar.foo().bar().baz
        .foo()
        .bar()
        .baz()

and
// Assume that the last
// allowed character is
// at the X character
// on the right              X
fun buildBar(): Foo.Bar = Foo.Bar.baz.foo().bar().baz().foo.bar.baz.foo().bar().baz()

// Without 'wrap first call'
fun buildBar(): Foo.Bar =
    Foo.Bar.baz.foo()
        .bar()
        .baz().foo.bar.baz.foo()
        .bar()
        .baz()

fun buildBar(): Foo.Bar =
    Foo.Bar.baz
        .foo()
        .bar()
        .baz().foo.bar.baz
        .foo()
        .bar()
        .baz()

Maybe it makes sense to add a separate rule chain-property-continuation or similar as well.
That should run after chain-method-continuation.
Still the question about properties and classes remains. I could only think of using the first letter (if capital).
Lastly if we look at the second example above, would it make sense (and be possible) to only allow class/property access to not be chopped if it's the first within a mixed chain.
I.e. Foo.Bar.baz is allowed, but .baz().foo.bar.baz is not.

Maybe it makes sense to add a separate rule chain-property-continuation or similar as well. That should run after chain-method-continuation.

I do understand this mind jump. Do you care to explain?

Still the question about properties and classes remains. I could only think of using the first letter (if capital).

Technically it is simple to check the first letter of the identifier. But, would it also apply on constants like Foo.BAR.

Lastly if we look at the second example above, would it make sense (and be possible) to only allow class/property access to not be chopped if it's the first within a mixed chain. I.e. Foo.Bar.baz is allowed, but .baz().foo.bar.baz is not.

Mwah, not a fan of this.
For all options, I have troubles to understand what the rationale would be for this change. I want to avoid to end up with tends or even hundreds of configuration possibilities as this goes against the bikeshedding principle. The current rule might seem rigid, but it as least easy to understand when and when not the chain is wrapped.

I do understand this mind jump. Do you care to explain?

chain-method-continuation hint to only chopping chained methods and not other references. Adding another rule could make sense to allow for chopping other references as well.

Technically it is simple to check the first letter of the identifier. But, would it also apply on constants like Foo.BAR.

My point is to differentiate between properties and constant access (if you would count nested class access & enums as constant).
val x = Foo.BAR
    .chained()
    .method()
    .calls()

seems a lot nicer to me than
val x = Foo
    .BAR
    .chained()
    .method()
    .calls()

For all options, I have troubles to understand what the rationale would be for this change. I want to avoid to end up with tends or even hundreds of configuration possibilities as this goes against the bikeshedding principle. The current rule might seem rigid, but it as least easy to understand when and when not the chain is wrapped.

My two main concerns are:

There are some frameworks that generate nested classes with builders (e.g. GRPC/protobuf). With these it is quite common to have calls like FooOuterClass.Foo.newBuilder() followed by a chainned builder pattern. It's a lot nicer having the static calls (and potentially the first method call) sticking together. Same goes for the enum example above.
Sticking a bit closer to IntelliJ. I know that ktlint_official has stopped adhering to IntelliJ default formatter, but matching this rule with IntelliJ seems natural to me. Then with an additional rule for other references, the current result could be maintained at the same time.

Leaving aside the 'wrap first call', I think it's probably good to have a differentiation between methods and properties. As the current rule name suggests, it's for methods.
This might also be necessary for the intellij style.
But then also the default of IntelliJ is to 'chop down if too long' and not 'wrap first call'.
Having two rules might make dealing with a mix of methods and properties a bit tricky though.
Apart from the differentiation between methods and properties, I would also suggest again to check properties (or non-method) for first capital letter. It would be neat to not wrap static value access (including enums).

Leaving aside the 'wrap first call', I think it's probably good to have a differentiation between methods and properties. As the current rule name suggests, it's for methods.

This is indeed a valid reasoning to ignore simple reference expressions by this rule. At this moment, I think of a simple reference expression as it is preceded by another reference expression. Note that in example below the .baz is still wrapped as it is preceded by a function/method call:
    @Test
    fun `Issue 2455 - Given a chained method including some simple reference expressions then do not wrap simple reference expressions`() {
        val code =
            """
            // $MAX_LINE_LENGTH_MARKER      $EOL_CHAR
            fun buildBar(): Foo.Bar = Foo.Bar.builder().baz().baz.build()
            """.trimIndent()
        val formattedCode =
            """
            // $MAX_LINE_LENGTH_MARKER      $EOL_CHAR
            fun buildBar(): Foo.Bar = Foo.Bar
                .builder()
                .baz()
                .baz
                .build()
            """.trimIndent()
        chainMethodContinuationRuleAssertThat(code)
            .setMaxLineLength()
            .addAdditionalRuleProvider { MaxLineLengthRule() }
            .hasLintViolations(
                LintViolation(2, 34, "Expected newline before '.'"),
                LintViolation(2, 44, "Expected newline before '.'"),
                LintViolation(2, 50, "Expected newline before '.'"),
                LintViolation(2, 54, "Expected newline before '.'"),
            ).isFormattedAs(formattedCode)
    }


Fix Rocky OS compatibility

Proposed changes
Support Rocky OS

@FathiQ  When I run the playbook with Rocky 8.4, it works as intended without modifications.  What errors are you seeing with Rocky? Rocky is currently returning os_family of RedHat for me.
❯ ansible -i <IP_ADDRESS>, all -u root -m setup -a 'filter=ansible_distribution,ansible_distribution_version,ansible_os_family'
<IP_ADDRESS> | SUCCESS => {
    "ansible_facts": {
        "ansible_distribution": "Rocky",
        "ansible_distribution_version": "8.4",
        "ansible_os_family": "RedHat",
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false
}
❯ ansible --version | head -1
ansible [core 2.11.2]

NAME        STATUS   ROLES                       AGE     VERSION          INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                           KERNEL-VERSION                CONTAINER-RUNTIME
dvigil-01   Ready    <none>                      6m21s   v1.21.3+rke2r1   <IP_ADDRESS>    <none>        Rocky Linux 8.4 (Green Obsidian)   4.18.0-305.3.1.el8_4.x86_64   containerd://1.4.8-k3s1
dvigil-02   Ready    <none>                      6m21s   v1.21.3+rke2r1   <IP_ADDRESS>    <none>        Rocky Linux 8.4 (Green Obsidian)   4.18.0-305.3.1.el8_4.x86_64   containerd://1.4.8-k3s1
dvigil-03   Ready    control-plane,etcd,master   9m30s   v1.21.3+rke2r1   <IP_ADDRESS>    <none>        Rocky Linux 8.4 (Green Obsidian)   4.18.0-305.3.1.el8_4.x86_64   containerd://1.4.8-k3s1
dvigil-04   Ready    control-plane,etcd,master   10m     v1.21.3+rke2r1   <IP_ADDRESS>   <none>        Rocky Linux 8.4 (Green Obsidian)   4.18.0-305.3.1.el8_4.x86_64   containerd://1.4.8-k3s1
dvigil-05   Ready    control-plane,etcd,master   13m     v1.21.3+rke2r1   <IP_ADDRESS>   <none>        Rocky Linux 8.4 (Green Obsidian)   4.18.0-305.3.1.el8_4.x86_64   containerd://1.4.8-k3s1

Agree, I would think Rocky would work without modification but I can't find any documentation that specifies Rocky falling under RedHat specifically. I guess that test confirms?

guys it's failed with me and stuck here in this step forever after my modification it's working fine
TASK [rke2_common : Reboot the machine (Wait for 5 min)] ********************************************************************************************************* changed: [<IP_ADDRESS>] changed: [<IP_ADDRESS>] changed: [<IP_ADDRESS>] Monday 09 August 2021  16:07:28 +0300 (0:00:48.651)       0:02:08.426 *********  included: /Users/admin/rocky/rke2-ansible/roles/rke2_server/tasks/first_server.yml for <IP_ADDRESS> Monday 09 August 2021  16:07:28 +0300 (0:00:00.463)       0:02:08.890 *********
[root@dev-rke2-server-01 ~]# cat /etc/redhat-release  Rocky Linux release 8.4 (Green Obsidian)

@dgvigil @mddamato I think I found the issue, if you are using the AWS version you will get Rocky as os family.
"ansible_distribution_file_path": "/etc/redhat-release", "ansible_distribution_file_variety": "RedHat", "ansible_distribution_file_parsed": true, "ansible_os_family": "Rocky"

@FathiQ Thank you. There are still some trailing spaces but we'll fix those in the next PR. I appreciate your feedback and contribution.


Support fixed and responsive layouts

This accumulates a few (breaking) changes:

will add the CSS for responsive (fluid) image layout (the default)
when passing @width and/or @height arguments, it will opt into fixed layout (closes #117)
in fixed layout, it will pick the (fallback) src attribute based on the fixed width, pick srcset sources for that given width and pixel densities of 1x and 2x, and render width and height attributes with the appropriate fixed values (if one is missing, it will be computed based on the image's aspect ratio)
in responsive layout, width and height attributes are rendered even though the actual size is responsive, to let the browser know the correct vertical size (even before the image has been loaded), to reduce Cumulative Layout Shift (Closes #88)
some (breaking) related changes in the service's API, removing getImageBySize(), renaming getImageDataBySize() to getImageMetaBySize() and introducing getImageMetaByWidth()

@andreasschacht @lolmaus some bigger changes of the component API / feature set 👆 Feel free to chime in if you have thoughts!


Example of loading straight in Python

Does anyone have a code example of loading an EXR file directly in Python? We have data produced from Unreal Engine in EXR format with layers stored and want to just access it straight in code. Thanks

@jakcqc: you can use the ImageCat module, https://imagecat.readthedocs.io
Cheers,
Tim


import plagin

Hello! I want import this plagin but have error. How import plagin?
Help me please!!!!

I can't help you without proper error data.
Please edit your issue and include the error you're getting + addition useful data like the code that invoked the error and which browser you used.
Also please use less exclamation marks, they are unnecessary :)
Thanks.

or if I use  import ls from 'expired-storage' have http://joxi.ru/RmzN11giWqGlLm if const ls = require('expired-storage') have http://joxi.ru/p27vKKLc0MEgxm

You need to create an instance first, it looks like you are trying to use the class type directly. Please read instructions:
https://github.com/RonenNess/ExpiredStorage/blob/master/README.md#usage
If you require it as 'ls' it supposed to be:
'''
var storage = new ls();
storage.getItem()
'''

Thanks, I think it will help me
great plugin


Release hard version requirements in setup.py

done in https://github.com/neuro-inc/mlops-wandb-bucket-ref/pull/76


added missing parameter to documentation

@enrike1983 why did you close this one?

Thank you, @enrike1983.


Forestry doors show as the wrong type

TOP shows an oak door instead of the type that's being viewed.
It has no issue with logs, planks, stairs, and other wood things. Please let me know if this is a Forestry issue.

TOP uses getPickBlock() to figure out what to show. Is your getPickBlock() implementation correct?

Tested and:
Forestry door getPickBlock works on singleplayer and multiplayer.
TOP works correctly on singleplayer, but not multiplayer.

That's strange because TOP gets that information server side in any case... Hmm....

Is there any special-casing for vanilla? My doors inherit from vanilla BlockDoor.

No not at all. The code can be found here:
https://github.com/McJty/TheOneProbe/blob/1.10/src/main/java/mcjty/theoneprobe/apiimpl/providers/DefaultProbeInfoProvider.java
It is the showStandardBlockInfo method. It only has a special case for the silverfish blocks so that they are not spoiled

I took a deeper look and I think the issue is that Forestry has it's getItem marked as Client-Side-Only. Thanks!


WinUI 3 Gallery crashes on "Semantic Zoom" page

Describe the bug
I downloaded the "WinUI 3 Gallery" from the Microsoft Store. If I go to the "Scrolling" section and click on "SemanticZoom", it usually crashes within a second or two.
Steps to reproduce the bug

Navigate to the SemanticZoom
Wait, or try to scroll down a bit.

Expected behavior
No response
Screenshots
No response
NuGet package version
None
Packaging type
No response
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
No response
Additional context
No response

This was tracked with this internal bug. That bug says this was fixed in WinUI Gallery main, but it still repros.


python312Packages.uproot: 5.3.12 -> 5.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.uproot is: ROOT I/O in pure Python and Numpy
meta.homepage for python312Packages.uproot is: https://github.com/scikit-hep/uproot5
meta.changelog for python312Packages.uproot is: https://github.com/scikit-hep/uproot5/releases/tag/v5.4.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.4.0 with grep in /nix/store/q9hjjxqsy2zm8lshl6qymapa0ndcg5hi-python3.12-uproot-5.4.0
found 5.4.0 in filename of file in /nix/store/q9hjjxqsy2zm8lshl6qymapa0ndcg5hi-python3.12-uproot-5.4.0

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

11 total rebuild path(s)

11 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.coffea
python311Packages.dask-awkward
python311Packages.mplhep
python311Packages.uproot
python311Packages.vector
python312Packages.coffea
python312Packages.dask-awkward
python312Packages.mplhep
python312Packages.uproot
python312Packages.vector

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q9hjjxqsy2zm8lshl6qymapa0ndcg5hi-python3.12-uproot-5.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/a07e8dc6638ae5f81680c21909ab9bf81226660d#python312Packages.uproot

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q9hjjxqsy2zm8lshl6qymapa0ndcg5hi-python3.12-uproot-5.4.0
ls -la /nix/store/q9hjjxqsy2zm8lshl6qymapa0ndcg5hi-python3.12-uproot-5.4.0/bin

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

20 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python311Packages.mplhep
python311Packages.mplhep.dist
python311Packages.uproot
python311Packages.uproot.dist
python311Packages.vector
python311Packages.vector.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist
python312Packages.mplhep
python312Packages.mplhep.dist
python312Packages.uproot
python312Packages.uproot.dist
python312Packages.vector
python312Packages.vector.dist

Maintainer pings
cc @veprbl for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 343415 run on x86_64-linux 1

20 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python311Packages.mplhep
python311Packages.mplhep.dist
python311Packages.uproot
python311Packages.uproot.dist
python311Packages.vector
python311Packages.vector.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist
python312Packages.mplhep
python312Packages.mplhep.dist
python312Packages.uproot
python312Packages.uproot.dist
python312Packages.vector
python312Packages.vector.dist


Use ApplicationsList in SourceRemoveModal

Description

add Remove application buttons to Remove Source modal

Codecov Report

Merging #120 into master will increase coverage by 0.91%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
+ Coverage    74.7%   75.62%   +0.91%
==========================================
  Files          36       37       +1
  Lines         431      439       +8
  Branches       61       60       -1
==========================================
+ Hits          322      332      +10
+ Misses         87       85       -2
  Partials       22       22

Impacted Files
Coverage Δ

src/components/ApplicationsList/ApplicationList.js
100% <100%> (ø)

...onents/AddApplication/AddApplicationDescription.js
100% <100%> (+5.55%)
:arrow_up:

src/components/SourceRemoveModal.js
100% <100%> (+4.54%)
:arrow_up:

src/components/AddApplication/RemoveAppModal.js
100% <100%> (ø)
:arrow_up:

src/test/sourcesData.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 3adf1d2...d8cf978. Read the comment docs.

@Hyperkid123 Fallback was added
When there is no source found, application is redirected to the root


Can't move issues with more than 35 comments

i get the same errors as in #11 when i try to move issues with more than 35 comments...
and i have yet to figure how to setup the app as mentioned in the last post before me

I also had this problem.

Interesting number... if it were thirty I'd bet it was because of GitHub API paging...

I have this issue as well, exactly 35. Then if I try to post another comment manually I get an error about having posted a comment too recently. I suppose we’re hitting some API limit, of the number of comments within a short period? If so, the solution is simple: just space out the comment postings as needed to avoid hitting the limit.

So after 35 comments in a short period, you need to wait a minute before posting another comment (as of 2018-02-19) due to GitHub’s abuse rate limits. @nicolasgarnier it would be nice if github-issue-mover implemented support for automatically waiting whenever a 403 (rate limit) is returned from the GitHub API. See https://github.com/buildo/gh-issue-mover/pull/3 for an example.


bug: Hubble does not process multiple Signer Adds in the same tx correctly

What is the bug?
During migration, we noticed that Hubble will only accept the first Signer added in a transaction and ignore the rest. The issue is due to a bug where the txIndex is used to dedupe events instead of the logIndex. We should cut a patch release with this as soon as it is ready and encourage upgrades.

great


Change default branch to "main"

Could you consider changing the name of the default branch to "main"? For guidance: https://github.com/github/renaming/

@jimbobbennett - we should 1000% change the name of the default branch!

Yes. Totally.
Done:

The update should roll through in the next few minutes.


CNCF SIG-Runtime Discussion/Presentation

Hello Gasm team,
I'm one of the co-chairs of the CNCF SIG-Runtime, I'm reaching out and think it would be great for you to present/discuss the project at one of our meetings. For example, discuss things such as architecture overview and use cases.
Let me know if this something you'd be interested in doing. If yes, please feel free to add it to our agenda or reach out to me (raravena80 at gmail.com)
Thanks!

Hi @raravena80, I am sorry but I don't have any motivation to talk about gasm there since this is just my personal toy project, and I don't have any plan to maintain this repository right now. Thanks for reaching out :smile:

Hi @raravena80, I am sorry but I don't have any motivation to talk about gasm there since this is just my personal toy project, and I don't have any plan to maintain this repository right now. Thanks for reaching out :smile:


OS-X specific files committed to the repository

Do we really want  	.DS_Store files in the repository ?
Not sure if this leaks private information; even if not I don't think it is information a builder or other person making a checkout will need.

Hm, thought I had gotten all of them out.  I'll run through again to double check.


无法获取群的二维码

取法获取群的二维码，代码如下：
const dingRoom = await this.Room.find({ topic: /^互动群/i })
if (dingRoom) {
var qrcode = await dingRoom.qrcode();
}
报错如下：
(node:22996) UnhandledPromiseRejectionWarning: TypeError: dingRoom.qrcode is not a function
at Wechaty.onMessage (e:\P-WeRobot\SourceCode_FindQR\index.js:63:37)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use node --trace-warnings ... to show where the warning was created)
<node_internals>/internal/process/warning.js:41
(node:22996) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
<node_internals>/internal/process/warning.js:41
(node:22996) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Please stay signed on for at least 24 hours, then try again.


[Enhancement] : Code Editor

Code Editor game cannot proper full screen in user can be work in big screen and adjust customize for user.
In this project used small screen .

Screen Shot

please assign me..

Hello @sivaprasath2004 this is not correct way to contribution.
If you want to enhance all the UIs for the existing projects then kindly create one issue and mention the UIs that you want to change. Currently it looks like spamming with same Issues.
Kindly do the changes thanks


[MNOE-196]  Functional: Able to login without confirmation done via email

See  https://github.com/maestrano/mno-enterprise-angular/pull/75

@x4d3 Reassigning to you as you're reworking the whole thing.


Please make bar

You know what i mean :hocho: :gun:

Yes. I understand what you are the talking about Mr. alexdriaguine. When aj wanto to you know change the treeview position. I cannot know where to put de mus. Så, please - maek a bar

This is currently not possible with the workbench settings. One could change the colors of the whole treeview, but that would ruin the flatness of the theme. So no can do :rocket: :smile:


change error handling and tidy

Changes some error handling to exit less
will also change some details such as uniformity in user input taking

only done in part.


Sjoshi

In color_detect:
Traceback (most recent call last):
File "color_detect.py", line 63, in
greenCircleDetect()
File "color_detect.py", line 30, in greenCircleDetect
(contours,hierarchy)=cv2.findContours(green,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
ValueError: too many values to unpack
In shape_detect.py
OpenCV Error: Assertion failed (npoints >= 0 && (depth == 5 || depth == 4)) in contourArea, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/imgproc/src/shapedescr.cpp, line 272
Traceback (most recent call last):
File "shape_detect.py", line 46, in
squareDetect()
File "shape_detect.py", line 31, in squareDetect
if cv2.contourArea(cnt)>50:
cv2.error: /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/imgproc/src/shapedescr.cpp:272: error: (-215) npoints >= 0 && (depth == 5 || depth == 4) in function contourArea


Use Nitrokey Python SDK

This patch removes the trussed, nk3 and nkpk modules that have been extracted into the the Nitrokey Python SDK available at https://github.com/Nitrokey/nitrokey-sdk-py.
The SDK provides a stable API without unnecessary dependencies that can be used by pynitrokey, nitrokey-app2 and third-party applications.

We should probably wait for https://github.com/Nitrokey/nitrokey-sdk-py/pull/32 before merging this so that we only have one new version to test extensively.


Generated infrastructure model

DESCRIPTION
This pull request was automatically generated and adds a UML-deployment diagram to your
documentation. Let me know what you think in the comments.
The diagram can be easily edited, extended or updated using text and code, here
Feedback
Infragenie (www.infragenie.eu) is a free-to-use application, currently in early-preview.
Whether you decide on accepting or rejecting this pull request, we would like to invite you to answer a 5min improvement
survey. This will help us to plan future features and improve the application.
Please answer our survey, here.
Thank you.

Although this is a cute little diagram, it doesn't provide any value to the project and so I won't be adding it.

Hey @Justintime50, thanks for your time reviewing this. The infrastructure on your project is indeed small, and so the diagram generated does not help much; sorry about that. In projects with more services and connections, the diagram is more usable. Anyway, if you can, please answer the survey in the description to help us improve the tool.
Thank you again for your time.

For sure, cool concept! This would be a great addition to a larger project.


calls dbdump endpoint via TP instead of TO directly (as it should hav…

…e always been)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/1981/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/1982/
Test PASSed.


warmup(Qwen1.5-1.8B-Chat) very slow

Hi ipex-llm,
First time warmup with Qwen1.5-1.8B-Chat took about 20 minutes on my machine.
The second time was good.
is it normal?
log:

Code snippet
import torch
import gc
from pathlib import Path

from ipex_llm.transformers import AutoModel, AutoModelForCausalLM
from transformers import AutoTokenizer, LlamaTokenizer

import intel_extension_for_pytorch as ipex

from configs.model_config import MODEL_ROOT_PATH

llm_warmup_prompts = ["what is ai?"]

print(">> NOTE: The one-time warmup may take several minutes. Please be patient until it finishes warm-up...")
print("-"*15, " Start warming-up LLM chatglm3-6b on MTL iGPU ", "-"*15)

model_path = f'{MODEL_ROOT_PATH}/Qwen1.5-1.8B-Chat' # "Qwen2-1.5B" #"chatglm3-6b" #
print(f"model:{model_path}")

if model_path.endswith("int4") or model_path.endswith("4bit"):
    model = AutoModelForCausalLM.load_low_bit(model_path,
                                            optimize_model=True,
                                            trust_remote_code=True,
                                            use_cache=True)
else:
    model = AutoModelForCausalLM.from_pretrained(model_path,
                                                    load_in_4bit=True,
                                                    optimize_model=True,
                                                    trust_remote_code=True,
                                                    use_cache=True)

model = model.half().to('xpu')

# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
#tokenizer = LlamaTokenizer.from_pretrained(model_path, trust_remote_code=True)

with torch.inference_mode():
    for prompt in llm_warmup_prompts:

        # messages = [
        #     {"role": "system", "content": "You are a helpful assistant."},
        #     {"role": "user", "content": prompt}
        #     ]
        # text = tokenizer.apply_chat_template(
        #     messages,
        #     tokenize=False,
        #     add_generation_prompt=True
        #     )
        # input_ids = tokenizer([text], return_tensors="pt").to("xpu").input_ids

        input_ids = tokenizer.encode(prompt, return_tensors="pt").to('xpu')
        output = model.generate(input_ids, max_new_tokens=32)

print("-"*15, " Warming-up of LLM chatglm3-6b on MTL iGPU is completed (1/4) ", "-"*15)

model.to('cpu')
torch.xpu.synchronize()
torch.xpu.empty_cache()
del model
gc.collect()

environments:
(dev-zone) sit-sku5-9@MTL-TEST C:\Users\SIT-SKU5-9\source\os.linux.ubuntu.cloud.baseos.devzone\_test>env-check.bat
Python 3.11.9
-----------------------------------------------------------------
transformers=4.41.2
-----------------------------------------------------------------
torch=2.1.0a0+cxx11.abi
-----------------------------------------------------------------
Name: ipex-llm
Version: 2.1.0b20240717
Summary: Large Language Model Develop Toolkit
Home-page: https://github.com/intel-analytics/ipex-llm
Author: BigDL Authors
Author-email<EMAIL_ADDRESS>License: Apache License, Version 2.0
Location: C:\Users\SIT-SKU5-9\.miniconda_dev_zone\envs\dev-zone\Lib\site-packages
Requires:
Required-by:
-----------------------------------------------------------------
C:\Users\SIT-SKU5-9\.miniconda_dev_zone\envs\dev-zone\Lib\site-packages\torchvision\io\image.py:13: UserWarning: Failed to load image Python extension: 'Could not find module 'C:\Users\SIT-SKU5-9\.miniconda_dev_zone\envs\dev-zone\Lib\site-packages\torchvision\image.pyd' (or one of its dependencies). Try using the full path with constructor syntax.'If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?
  warn(
ipex=2.1.10+xpu
-----------------------------------------------------------------
Total Memory: 31.615 GB

Chip 0 Memory: 4 GB | Speed: 7467 MHz
Chip 1 Memory: 4 GB | Speed: 7467 MHz
Chip 2 Memory: 4 GB | Speed: 7467 MHz
Chip 3 Memory: 4 GB | Speed: 7467 MHz
Chip 4 Memory: 4 GB | Speed: 7467 MHz
Chip 5 Memory: 4 GB | Speed: 7467 MHz
Chip 6 Memory: 4 GB | Speed: 7467 MHz
Chip 7 Memory: 4 GB | Speed: 7467 MHz
-----------------------------------------------------------------
CPU Manufacturer: GenuineIntel
CPU MaxClockSpeed: 1400
CPU Name: Intel(R) Core(TM) Ultra 7 155H
CPU NumberOfCores: 16
CPU NumberOfLogicalProcessors: 22
-----------------------------------------------------------------
GPU 0: Intel(R) Arc(TM) Graphics         Driver Version:  <IP_ADDRESS>82
-----------------------------------------------------------------
-----------------------------------------------------------------
System Information

Host Name:                 MTL-TEST
OS Name:                   Microsoft Windows 11 Pro
OS Version:                10.0.22631 N/A Build 22631
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
Registered Owner:          SIT-SKU5-9
Registered Organization:   N/A
Product ID:                00330-80000-00000-AA767
Original Install Date:     3/12/2024, 1:53:59 AM
System Boot Time:          7/19/2024, 1:29:17 AM
System Manufacturer:       LENOVO
System Model:              INVALID
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 170 Stepping 4 GenuineIntel ~1400 Mhz
BIOS Version:              LENOVO MECN55WW, 12/21/2023
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
Total Physical Memory:     32,373 MB
Available Physical Memory: 21,335 MB
Virtual Memory: Max Size:  37,237 MB
Virtual Memory: Available: 21,882 MB
Virtual Memory: In Use:    15,355 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    WORKGROUP
Logon Server:              \\MTL-TEST
Hotfix(s):                 4 Hotfix(s) Installed.
                           [01]: KB5039895
                           [02]: KB5027397
                           [03]: KB5040442
                           [04]: KB5039338
Network Card(s):           2 NIC(s) Installed.
                           [01]: Intel(R) Wi-Fi 6E AX211 160MHz
                                 Connection Name: Wi-Fi
                                 Status:          Media disconnected
                           [02]: ASIX USB to Gigabit Ethernet Family Adapter
                                 Connection Name: Ethernet
                                 DHCP Enabled:    Yes
                                 DHCP Server:     <IP_ADDRESS>
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::7ae4:dbd7:8710:577f
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.
-----------------------------------------------------------------
+-----------+--------------------------------------------------------------------------------------+
| Device ID | Device Information                                                                   |
+-----------+--------------------------------------------------------------------------------------+
| 0         | Device Name: Intel(R) Arc(TM) Graphics                                               |
|           | Vendor Name: Intel(R) Corporation                                                    |
|           | UUID: 00000000-0000-0200-0000-00087d558086                                           |
|           | PCI BDF Address: 0000:00:02.0                                                        |
+-----------+--------------------------------------------------------------------------------------+

I used your code to try to reproduce it in the same environment, and found no time anomalies. The warmup time was about 2 seconds.（p.s.: comment the import ipex line)
Here is the result.

Here is the test code:
import torch
import gc
from pathlib import Path

from ipex_llm.transformers import AutoModel, AutoModelForCausalLM
from transformers import AutoTokenizer, LlamaTokenizer

# import intel_extension_for_pytorch as ipex

# from configs.model_config import MODEL_ROOT_PATH
import time

llm_warmup_prompts = ["what is ai?"]

print(">> NOTE: The one-time warmup may take several minutes. Please be patient until it finishes warm-up...")
print("-"*15, " Start warming-up LLM chatglm3-6b on MTL iGPU ", "-"*15)

# model_path = f'{MODEL_ROOT_PATH}/Qwen1.5-1.8B-Chat' # "Qwen2-1.5B" #"chatglm3-6b" #
model_path = '../model_tmp/Qwen1.5-1.8B-Chat'
print(f"model:{model_path}")

if model_path.endswith("int4") or model_path.endswith("4bit"):
    model = AutoModelForCausalLM.load_low_bit(model_path,
                                            optimize_model=True,
                                            trust_remote_code=True,
                                            use_cache=True)
else:
    model = AutoModelForCausalLM.from_pretrained(model_path,
                                                    load_in_4bit=True,
                                                    optimize_model=True,
                                                    trust_remote_code=True,
                                                    use_cache=True)

model = model.half().to('xpu')

# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
#tokenizer = LlamaTokenizer.from_pretrained(model_path, trust_remote_code=True)

start_time = time.time()
with torch.inference_mode():
    for prompt in llm_warmup_prompts:

        # messages = [
        #     {"role": "system", "content": "You are a helpful assistant."},
        #     {"role": "user", "content": prompt}
        #     ]
        # text = tokenizer.apply_chat_template(
        #     messages,
        #     tokenize=False,
        #     add_generation_prompt=True
        #     )
        # input_ids = tokenizer([text], return_tensors="pt").to("xpu").input_ids

        input_ids = tokenizer.encode(prompt, return_tensors="pt").to('xpu')
        output = model.generate(input_ids, max_new_tokens=32)

end_time = time.time()
delta_time = end_time - start_time
print(f'use {delta_time:.4f}s')
print("-"*15, " Warming-up of LLM chatglm3-6b on MTL iGPU is completed (1/4) ", "-"*15)

model.to('cpu')
torch.xpu.synchronize()
torch.xpu.empty_cache()
del model
gc.collect()

Here is machine hardware parameters:

System: Windows 11 (22H2)
CPU: Ultra 5 125H
Memory: 32GB (7467MHz)
Storage: 1T

yes, just as I said, it only happened on the first time.
Based on my understanding, the GPU kernels require compilation while the first time using a new model. I think it cased the delay and the software stack cached the compilation result for the next time.
So, to reproduce the issue, maybe we need a clean system or does anyone know how to clean the cache?
Thanks

yes, just as I said, it only happened on the first time. Based on my understanding, the GPU kernels require compilation while the first time using a new model. I think it cased the delay and the software stack cached the compilation result for the next time. So, to reproduce the issue, maybe we need a clean system or does anyone know how to clean the cache? Thanks

See https://github.com/qiuxin2012/BigDL/blob/11e5d07d7f56ca96ee94319065b93ed6d47fe5ae/docs/mddocs/Overview/FAQ/faq.md#the-first-time-to-run-model-on-meteor-lakes-igpuintel-core-ultra-integrated-gpu-will-takes-5-10-minutes

Thank @ACupofAir @jason-dai  for your support, it seems that there is still no good solution at the moment.


Angular Select Search filter is not available

This has been reported before, but adding here to track it.

Added with new select #361


Mixed precision model cannot be run in infer mode

Hi,
After I trained Tacotron with mixed precesion, I cannot run infer mode on it. It prompt a TypeError.
  File "/home/oscar/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 609, in _apply_op_helper     param_name=input_name)   File "/home/oscar/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 60, in _SatisfiesTypeConstraint     ", ".join(dtypes.as_dtype(x).name for x in allowed_list))) TypeError: Value passed to parameter 'x' has DataType float16 not in list of allowed values: float32
Thanks.

I am using 1080 Ti.
I am training it with dtype = "mixed"

Sorry, mixed precision training needs Tensor Cores which are only present on Volta (V100, Titan V, etc.) or Turing (2080, 2080Ti etc.) based GPUs.

I understand that the training would need Volta or Turing. Does the inference also need that?

You cannot currently mix training and eval dtype. Eg, if you trained in float32, you must run eval and inference in float32.
Yes, you require Volta or Turing for running eval/infer with "mixed" models. Otherwise, iirc, the float16 operations gets offloaded to the CPU.

Thanks.


new(userspace/libsinsp): expose get_owner_last_error in plugin's capture listening capability

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

new(userspace/libsinsp): expose `get_owner_last_error` in plugin's capture listening capability

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.19.0

/cc @mrgian @jasondellaluce


Fix #806, Add application control functional tests

Describe the contribution
A clear and concise description of what the contribution is.

Fixes #806
Fixes #1324
Adds functional tests for

CFE_ES_RestartApp
CFE_ES_ReloadApp
CFE_ES_DeleteApp

Testing performed
Steps taken to test the contribution:

Build CFE and run all functional tests

Expected behavior changes
A clear and concise description of how this contribution will change behavior and level of impact.

no impact to behavior

System(s) tested on

Hardware: PC
OS: Ubuntu 20.04

Contributor Info - All information REQUIRED for consideration of pull request
Niall Mullane - GSFC 582 Intern
EDIT - @skliper added #1324 link.

CCB:2021-08-04 APPROVED


Increment Version

@JuliaRegistrator register() ACTRModels v0.6.11

Registration pull request created: JuliaRegistries/General/35925
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.6.11 -m "<description of version>" 61e41e9e4ca638659e349988be6bda08fa26a5c3
git push origin v0.6.11


Twitter bookmarks?

Hi! I've searched around and didn't find anything about it.
I just realized that the Twitter (X) archive doesn't include bookmarks (WUT? Doesn't make sense! Why Twitter, Why! :/). Does HPI include any modules that sync those?
I'm thinking it might be simpler not to use bookmarks anymore and just "like" tweets (since it's part of the archive), but I'll still have to get those I bookmarked already.
Thanks!

I took a look at this a week ago when you posted; wasn't able to really find anything open source that isn't some meh third party service that worked out of the box
figuring out how to create a twitter oauth client now is annoying enough, I just gave up on it


Issue: ITMS-90809: Deprecated API Usage - Deprecated UIWebView APIs

Any Update on WkWebView implementation?

I will start to update soon. I don't have enough time to implement right now.

@farad4y Thanks for the swift response.

🙏

I implemented WKWebView, could you test it ? @bneigher @NarasimhaReddyY

@farad4y just gave it a swap in my app and everything seems to work 👍

WkWebView implemented on 1.0.6 version

🙌


update/site/creator-links

This PR adds creator GitHub links to components.

Hey @felixmacaspac @nivedin @Njong392 @kad1kad @Aniket1026
Sorry to @ you all like this, but I just wanted to double-check all of you are OK with this addition.
If not, let me know and I'll remove the reference.

Hey @felixmacaspac @nivedin @Njong392 @kad1kad @Aniket1026
Sorry to @ you all like this, but I just wanted to double-check all of you are OK with this addition.
If not, let me know and I'll remove the reference.

Very much okay with this Mark :100:

Hey @felixmacaspac @nivedin @Njong392 @kad1kad @Aniket1026
Sorry to @ you all like this, but I just wanted to double-check all of you are OK with this addition.
If not, let me know and I'll remove the reference.

Yeahhh , this looks super good 🔥


Clarify direction for backend weights

Signed-off-by: Nick Young<EMAIL_ADDRESS>
What type of PR is this?
/kind documentation
What this PR does / why we need it:
A small update to clarify the behavior of HTTPRoute backends when they are all have weights of 0.
Fixes #596
Does this PR introduce a user-facing change?:
NONE

Thanks!
/lgtm
/approve


We need more information about how to use this with Microsoft Azures Bot Framework.

Hi,
The above steps are great up until the last step.
How do we connect an Azure bot to our knowledge bases via the traffic manager? To access the knowledge bases in QnA Maker service, you require a knowledge base Id, an endpoint key and a endpoint host which is the traffic manager endpoint. This allows an azure bot to connect to a QnA Maker service. However, in this case, the traffic manager will split the traffic to either of the two knowledge bases as shown in the image above, so where in the azure bot would we specify the secondary keys/Knowledge base Id?
I have asked this question before - but the answer linked https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/tutorials/create-qna-bot is not helpful as that is for a single QnA Maker service linking to a single Azure bot.
Could you add more details on the last step to explain how the azure bot would connect to the two QnA Maker Services?
Thanks again.

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

ID: 6bf9eec4-f13c-55e0-351a-84c1ea8f5a77
Version Independent ID: 6cd22d70-e588-24b2-c1ac-2a3eded96fac
Content: Create a business continuty plan for your QnA Maker service - Microsoft Cognitive Services - Azure
Content Source: articles/cognitive-services/QnAMaker/How-To/business-continuity-plan.md
Service: cognitive-services
GitHub Login: @nstulasi
Microsoft Alias: saneppal

@nigelHRBOT Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@nstulasi Hi, this is a doc-response, can you please take a look of it and update the document as necessary? Thanks a lot!

@nigelHRBOT Thank you for reporting this issue. I am investigating. #in-progress

@nigelHRBOT Are you looking for a round-robin solution where several knowledge bases are accessed from a single bot to either handle the overall load?

Hi @diberry
I need to create a bot , when the user say hi, bot should prompt with four application KB names, once the user select the KB name, bot should reply the answers from that KB.
Please assist. how to proceed this ?
note:- No parallel execution.

#please-close

We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Cannot read from dcm_walking_with_joypad.ini

Hi!
I installed the walking-controllers and followed the "How to run the simulation" step-by-step. I am using the iCubGazeboV2_5 (no hands) model. When I run the walking module I have got some errors:
root@3da33a7aee3f:~# YARP_CLOCK=/clock WalkingModule
[INFO] |yarp.os.Port|/3da33a7aee3f/WalkingModule/2996/clock:i| Port /3da33a7aee3f/WalkingModule/2996/clock:i active at tcp://<IP_ADDRESS>:10103/
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.Time| Waiting for clock server to start broadcasting data ...
[INFO] |yarp.os.impl.PortCoreInputUnit|/3da33a7aee3f/WalkingModule/2996/clock:i| Receiving input from /clock to /3da33a7aee3f/WalkingModule/2996/clock:i using tcp
[ERROR] |yarp.os.Property| cannot read from dcm_walking_with_joypad.ini
[ERROR] [getiDynTreeVectorFixSizeFromSearchable] Missing field  goal_port_scaling
[ERROR] [WalkingModule::configure] Failed while reading goal_port_scaling.
[INFO] |yarp.os.RFModule| RFModule failed to open.
[WARNING] |yarp.os.NetworkClock| Destroying network clock
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.impl.PortCoreInputUnit|/3da33a7aee3f/WalkingModule/2996/clock:i| Removing input from /clock to /3da33a7aee3f/WalkingModule/2996/clock:i
Could you give me some advice? Thank you very much.

Hi @ykjia! Can you try running the following?
YARP_ROBOT_NAME=iCubGazeboV2_5 WalkingModule

If that works, I means that the YARP_ROBOT_NAME was not set, and you can simply add
YARP_ROBOT_NAME=iCubGazeboV2_5

to your .bashrc to avoid adding it before WalkingModule.

The issue is solved. Thank you!


1.4.0 NullPointerException com.couchbase.lite.SavedRevision.getId

Hi,
Couchbase 1.4.0 seems to be way more stable than 1.3.1.
I'm experiencing a few crashes here and there. ut only on Android 7.0 and higher.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.couchbase.lite.internal.RevisionInternal.getRevID()' on a null object reference
       at com.couchbase.lite.SavedRevision.getId(SavedRevision.java:130)
       at com.couchbase.lite.Document.getRevisionFromRev(Document.java:540)
       at com.couchbase.lite.Document.getRevision(Document.java:310)
       at com.couchbase.lite.Document.getCurrentRevision(Document.java:206)
       at com.couchbase.lite.Document.getProperty(Document.java:331)
       at com.app.DevUtilities.Cache.Cache.retreive(Cache.java:101)
       at com.app.DevUtilities.Cache.CacheObject.load(CacheObject.java:53)
       at com.app.Models.Account.Account.load(Account.java:170)
       at com.app.Models.Account.Account.setOrUpdateAccount(Account.java:196)
       at com.app.Fragments.Relations.RelationListFragment.didSelectRow(RelationListFragment.java:313)
       at com.app.Fragments.Relations.Views.RelationListItem.container(RelationListItem.java:311)
       at com.app.Fragments.Relations.Views.RelationListItem_$2.onClick(RelationListItem_.java:127)
       at android.view.View.performClick(View.java:5657)
       at android.view.View$PerformClick.run(View.java:22314)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:241)
       at android.app.ActivityThread.main(ActivityThread.java:6217)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

Can you upload logs from when this happen? Thanks!

https://github.com/couchbase/couchbase-lite-android/issues/1049
Same on latest app versions. Current app version use cbl +forest 1.4.0

I do not have any logs. Haven't been able to reproduce it myself!

#1049 and #1090 are the same issues. However, from current information, I am not sure what caused this problem. Can you see any error before this NPE?

I'll try to find a logs that could help to reproduce. But for now I can't reproduce by myself too, just Fabric users. I'll try to spend some time with it.

Here is a bit more data. Huawei and Sony devices seems to be the most unstable with couch base.
Fabric

Hi @trr-amsiq,
Thanks for Fabric info. Honestly, Fabric data is same with Exception you shared. We need what happened before this Exception. Also, we don't have enough knowledge about the device specific behaviors or issues.
@mtrakal usually uses the latest version of CBL and he said that he could not reproduce the issue. As we just released 1.4.0, this issue might be fixed with it.

Hi @hideki,
I know that Fabric data is the same Exception as the one I shared. But I shared the so you have the possibility to see the extend of the issue.
I think you misunderstood @mtrakal, I am running the latest version of CBL as prefixed on this issue.
I think that he means that he also isn't able to reproduce it during tests and that the issue only occurs on production.

Hi guys,
I managed to reduce the impact of this issue by implementing a DocumentUpdater as so:
Document retrievedDocument = getDatabase(cache).getDocument(id);
retrievedDocument.update(new Document.DocumentUpdater() {
    @Override
    public boolean update(UnsavedRevision newRevision) {
            Map properties = newRevision.getUserProperties();
            properties.put("account", content);
            newRevision.setUserProperties(properties);
            return true;
    }
});

Any bleeding version with a fix? Cheers

@trr-amsiq,
We don't know the root cause of this NPE. No progress.

Is it planned to fix this issue in the 1.x of CBL or should we wait for the release of 2.x? Thank's.

Hi @Martin-Hogge
We don't know the root cause of this issue. If you have any info, please provide us?
CBL 2.x is completely rewritten, this issue should occur with 2.x.


Default script not showing up in the help

nps version: 5.0.3
node version: 6.9.5
npm version: 4.3.0

Scripts file (or at least the relevant bits):
module.exports = {
  scripts: {
    default: {
      description: 'run the production server on the build directory',
      script: 'pushstate-server build',
    },
  }
}

The command executed:
npm start help

The output:
~/Developer/testing-workshop/client (master)
👻  $ npm start help

><EMAIL_ADDRESS>start /Users/kdodds/Developer/testing-workshop/client
> nps "help"

Usage: /Users/kdodds/Developer/testing-workshop/client/node_modules/.bin/nps
[options] <script>...

Commands:
  init        automatically migrate from npm scripts to nps
  completion  generate bash completion script

Options:
  --config, -c     Config file to use (defaults to nearest package-scripts.yml
                   or package-scripts.js)                              [default:
           "/Users/kdodds/Developer/testing-workshop/client/package-scripts.js"]
  --silent, -s     Silent nps output                  [boolean] [default: false]
  --log-level, -l  The log level to use
                   [choices: "error", "warn", "info", "debug"] [default: "info"]
  --require, -r    Module to preload
  -h, --help       Show help                                           [boolean]
  -v, --version    Show version number                                 [boolean]

Examples:
  /Users/kdodds/Developer/testing-workshop  Runs the `test` script then the
  /client/node_modules/.bin/nps test build  `build` script
  /Users/kdodds/Developer/testing-workshop  Runs the `test` script and forwards
  /client/node_modules/.bin/nps "test       the "--cover" flag then the `build`
  --cover" "build --prod"                   script and forwards the "--prod"
                                            flag

There are no scripts available

Problem description:
As you can see it shows "There are no scripts available"
Suggested solution:
Make sure to include the root default in the help output. The function responsible for getting the scripts to display is here. Help appreciated!

Oh, and tests are here. Setting up the project is laid out in the CONTRIBUTING.md

I can take a crack at this 👍

@kentcdodds, it seems to work fine for me with nps version 5.0.5.
$ npm start help

><EMAIL_ADDRESS>start /Users/wissam/Documents/Repositories/nps
> nps "help"

Usage: /Users/wissam/Documents/Repositories/nps/node_modules/.bin/nps
[options] <script>...

Commands:
  init        automatically migrate from npm scripts to nps
  completion  generate bash completion script

Options:
  --config, -c     Config file to use (defaults to nearest
                   package-scripts.yml or package-scripts.js)  [default:
          "/Users/wissam/Documents/Repositories/nps/package-scripts.js"]
  --silent, -s     Silent nps output          [boolean] [default: false]
  --log-level, -l  The log level to use
           [choices: "error", "warn", "info", "debug"] [default: "info"]
  --require, -r    Module to preload
  -h, --help       Show help                                   [boolean]
  -v, --version    Show version number                         [boolean]

Examples:
  /Users/wissam/Documents/Repositories  Runs the `test` script then the
  /nps/node_modules/.bin/nps test       `build` script
  build
  /Users/wissam/Documents/Repositories  Runs the `test` script and
  /nps/node_modules/.bin/nps "test      forwards the "--cover" flag then
  --cover" "build --prod"               the `build` script and forwards
                                        the "--prod" flag

Available scripts (camel or kebab case accepted)

commit - This uses commitizen to help us generate beautifully formatted commit messages - git-cz
test - jest --config=test/jest.src.config.json --coverage
test.watch - jest --config=test/jest.src.config.json --watch
test.cli - jest --config=test/jest.cli.config.json
test.cli.watch - jest --config=test/jest.cli.config.json --watch
build - deletes the `dist` directory and transpiles all relevant `src` to the `dist` - node node_modules/nps-utils/node_modules/rimraf/bin.js dist && babel --copy-files --out-dir dist --ignore *.test.js,fixtures src
build.watch - node node_modules/nps-utils/node_modules/rimraf/bin.js dist && babel --copy-files --out-dir dist --ignore *.test.js,fixtures src --watch
build.andValidate - Runs the normal build first, then validates the CLI - nps build && nps test.cli
lint - lint the code with eslint - eslint .
reportCoverage - Report coverage stats to codecov. This should be run after the `cover` script and only on travis - codecov
release - We automate releases with semantic-release. This should only be run on travis - semantic-release pre && npm publish && semantic-release post
validate - This runs several scripts to make sure things look good before committing or on clean install - node node_modules/concurrently/src/main.js --kill-others-on-fail --prefix-colors "bgBlue.bold,bgMagenta.bold" --prefix "[{name}]" --names "test,build.andValidate" 'nps test' 'nps build.andValidate'
format - auto-formats the code - prettier-eslint --write "src/**/*.js"
addContributor - When new people contribute to the project, run this - all-contributors add
generateContributors - Update the badge and contributors table - all-contributors generate

Can you try with version 5.0.5 and let me know if it works for you, please?

All tests pass on my end, too.

So the help shows fine, but if there's a root-level default script, that doesn't show. In the tests, try adding a default script to the root like:
const config = {
    scripts: {
      default: {description: 'this is run when you run nps', script: 'echo default'}, // add this line
      foo: {
        description: 'the foo script',
        script: 'echo "foo"',
      },
// ...etc

And I expect the test will still pass even though it should also log out the default script in the help. Does that make sense?

Ah, gotcha, thanks for the clarification! Looking into this further.


left nav state not remembered

if I go to a page and hide the left nav, clicking on any other link in the doc site re-opens the left nav.
E.g.:
http://<IP_ADDRESS>:10010/routine-term
nav is open. hide it.
Click on "routines" at the top. left nav is open again.
Hide it. surf to http://<IP_ADDRESS>:10010/routine/now ; left nav is open again

Fixed by https://github.com/Altai-man/docs.raku.org/commit/b75a5b6e74278e6b9822cf047216846051d71c17


What is the recommended way to have cache never expire?

Sorry if this is addressed elsewhere, I couldn't seem to find a definite answer. LifeWindow 0 and CleanWindow 0 perhaps? Thanks!

i also want to have cache never expire. in my case, i will refresh some keys regularly, but it would run out of memory, it due to the old value of these keys are not be deleted. i check the del/set func in BigCache, and it just remove the index. the old  values only delete after expiration, does BigCache will support other delete strategy in the future?(like delete directly, no need to wait after expiration)


How to preserve current GET url in the browser while making POST request to server in Laravel-8 and InertiaJs

I am using Inertia JS in Laravel 8, with following POST request to server. The problem is that the browser URL is also updated with POST request, which may be a expected behavior in some cases but I want to keep the actual GET request in the browser despite sending different types of requests to server using multiple Laravel routes.
this.$inertia.put(`/task/${task_id}`, {order, category_id});

this.$inertia.visit(`/task/${task_id}`, {
    method: 'put',
    data: {order, category_id},
    only: ['categories', 'msg'],
    replace: true,
    preserveState: true,
    preserveScroll: true,
});

Kindly guide me, how I can preserve existing GET URL in the browser while send POST requests to server using Inertia JS?

Have you considered using a redirect "back" in your controller? Like this:
// your controller method code
return Redirect::back();

Basically when you make a visit with Inertia, the client-side code making the visit doesn't determine where you go next, but rather the server-side code (a redirect). If you really want to control it from the client-side, you could always pass a redirectToUrl parameter with your request, and then do a redirect server-side to that page.
I hope that helps! 👍


Hide (nearly) all symbols by default

Brought on by https://github.com/geek1011/kobo-plugin-experiments/issues/9#issuecomment-642324579, even if that doesn't really answer everything ^^.

@geek1011: I once again fat-fingered a branch without a namespace (and it's a shell alias, so it pushes -_-"), my bad ;/.

I'd rather hide each symbol individually using the visibility attribute (put it into a #define NM_PRIVATE or something like that), especially since at least for the moment, other mods will use dlhook directly from a NM git submodule.
Also, regarding stripping, I'd personally prefer to avoid it for now by default unless absolutely necessary since it's useful to have the symbol table when debugging.

I'll look at the changes in more detail a bit later today. One random thought: it doesn't matter if there are conflicting symbols when loading as a plugin (or dlopen), only when using it with LD_PRELOAD, so we could maybe just discontinue LD_PRELOAD support?

Does hiding the class itself make sense, @geek1011?
diff --git a/src/qtplugin.h b/src/qtplugin.h
index 113a7aa..afc82c1 100644
--- a/src/qtplugin.h
+++ b/src/qtplugin.h
@@ -3,10 +3,12 @@
 #include <QObject>
 #include <QtPlugin>

+#include "visibility.h"
+
 // we make it a fake image plugin so we can have Qt automatically load it
 // without needing extra configuration (e.g. LD_PRELOAD, -plugin arg, etc).

-class NMPlugin : public QImageIOPlugin {
+class NM_PRIVATE NMPlugin : public QImageIOPlugin {
     Q_OBJECT
     Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface")
 public:

That leaves:
--- symbols-hidden      2020-06-11 19:47:27.351264858 +0200
+++ symbols-not-hidden  2020-06-11 20:25:27.167239292 +0200
@@ -92,6 +92,10 @@ _ZN14QImageIOPluginC2EP7Q
 _ZN14QImageIOPluginD2Ev
 _ZN15QtSharedPointer20Ext
 _ZN16QCoreApplication9tra
+_ZN5QListI7QStringE18deta
+_ZN5QListI7QStringE6appen
+_ZN5QListI7QStringED1Ev
+_ZN5QListI7QStringED2Ev
 _ZN7QAction16staticMetaOb
 _ZN7QAction9triggeredEb
 _ZN7QObject10childEventEP
@@ -113,6 +117,8 @@ _ZN7QStringD1Ev
 _ZN7QStringD2Ev
 _ZN7QWidget6updateEv
 _ZN7QWidget9addActionEP7Q
+_ZN8QPointerI7QObjectED1E
+_ZN8QPointerI7QObjectED2E
 _ZN8QProcess13startDetach
 _ZN8QProcess15waitForFini
 _ZN8QProcess19setWorkingD
@@ -127,6 +133,7 @@ _ZN9QListData11detach_gro
 _ZN9QListData11shared_nul
 _ZN9QListData6appendEv
 _ZN9QListData7disposeEPNS
+_ZN9QtPrivate18QFunctorSl
 _ZNK11QObjectData17dynami
 _ZNK7QString11toLocal8Bit
 _ZNK7QString4leftEi
@@ -139,3 +146,4<EMAIL_ADDRESS> _ZTI14QImageIOPlugin
<EMAIL_ADDRESS><EMAIL_ADDRESS>+_ZZN9QtPrivate15Connectio

Does hiding the class itself make sense, @geek1011?

I'm not sure. Have you tried actually running the plugin to see if it works that way?

See my latest edit ;).
I agree that it "feels" weird, but it worked w/ -fvisibility=hidden.
In any case, that doesn't take care of the macro stuff, so, eh, probably worth leaving it alone ;).

I wonder if doing a combination would be the best option:

-fvisibility=hidden to hide most stuff in general.
Explicitly make the hook visible.
Explicitly make the dlhook and failsafe stuff hidden to allow using as-is in other mods.
Leave NMPlugin as-is (if it's loaded with LD_PRELOAD, conflicts won't matter since this is only used by Qt for plugin metadata).

I wonder if doing a combination would be the best option:
* `-fvisibility=hidden` to hide most stuff in general.

That'll make everything not explicitly annotated hidden, which works for me ;).

* Explicitly make the hook visible.

Done already, so, we're safe.

* Explicitly make the dlhook and failsafe stuff hidden to allow using as-is in other mods.

Also already done.

* Leave `NMPlugin` as-is (if it's loaded with LD_PRELOAD, conflicts won't matter since this is only used by Qt for plugin metadata).

I'm inclined to agree.
Everything in there will get hidden by -fvisibility=hidden anyway, and that certainly worked fine on my end (haven't tested PRELOAD, though) ;).

* Don't strip stuff by default, since it's useful for debugging and troubleshooting.

Already done ;).

Thoughts?

Ummm... wasn't expecting this when I posted my comment! Should certainly help though,


All validation logic needs to read from the same data structures as what is used to populate the webform

We should not be reading from two different locations for the suggested inputs populated into the form and the validation of the same form input.
Example: the following is defining list_carbon_source = ['Glucose', 'Fructose', 'Galactose', 'Acetate']
if(variable_file_name_array[1][i] == "carbon-source") {
          list_carbon_source = ['Glucose', 'Fructose', 'Galactose', 'Acetate']
          if (!source_validation(list_carbon_source,variable_file_name_array[name_idx][i]) && (variable_file_name_array[name_idx][i]) != '') {
            addAlert("Carbon Source ERROR [Line " + (name_idx+1) + "], Please input one of the folowing: Glucose, Fructose, Acetate, or Galactose followed by the concentration in (g/L) EXAMPLE: Glucose(1)")
            alert = true;
          }
      }

and the following is redefining the same list:
{ label: 'Carbon Source(s)',
    id: 'carbon-source',
    type: 'dropdown',
    multiple: true,
    custom: true,
    concentration_with_default: 2,
    options: ['Glucose', 'Fructose', 'Galactose', 'Acetate'] },

We should only ever define this list one so that when we change it, all form logic referring to this domain is updated.

[ ] Make this change for all lists of pre-defined objects within the webform.

We shouldn't have copy-paste code in the webapp. Messages and lists used in multiple places should only ever be defined once.

I've made some changes in the SBRG version of the experiment webapp. Please pull from it before bug fixing.


Redirect in action

I'm sorry if I'm missing something but I'm really lost for last few hours.
I'm using vuex+vue-router-sync and I want to redirect after successfull action. My code look like this:
import * as types from './mutation-types'
import { AuthResource } from '../api/index.js'

export const logInUser = ({commit}, user) => {
  AuthResource.logInUser(user).then((data, error) => {
    commit(types.SET_ACCESS_TOKEN, data.body)
    $router.go({path: '/app'})
  }).catch((err) => {
    commit(types.SHOW_MSG, {content: err.body.error_description, title: 'Whoops!', type: 1})
  })
}

But I'm unable to get It working. I still get $router undefined.

It seems that I have found the solution. But now I'm not sure which is better.
import * as types from './mutation-types'
import { AuthResource } from '../api/index.js'

export const logInUser = ({commit}, user) => {
  return new Promise((resolve, reject) => {
    AuthResource.logInUser(user).then((data, error) => {
      commit(types.SET_ACCESS_TOKEN, data.body)
      resolve()
    }).catch((err) => {
      commit(types.SHOW_MSG, {content: err.body.error_description, title: 'Whoops!', type: 1})
      reject()
    })
  })
}

And then in component method
logInUser () {
  this.$store.dispatch('logInUser', this.user).then(() => {
    this.$router.push({'path': '/app'})
   }).catch((err) => {
    console.log(err)
   })
}

Or should I do like this:
import * as types from './mutation-types'
import { AuthResource } from '../api/index.js'
import router from '../router'

export const logInUser = ({commit}, user) => {
  AuthResource.logInUser(user).then((data, error) => {
    commit(types.SET_ACCESS_TOKEN, data.body)
    router.push({'path': '/app'})
  }).catch((err) => {
    commit(types.SHOW_MSG, {content: err.body.error_description, title: 'Whoops!', type: 1})
  })
}

logInUser () {
  this.$store.dispatch('logInUser', this.user)
}

I'm really not sure. Is there any better practice?

@xar same situation here, did you find the answer?

@zipme i'm doing it like this:
import * as types from './mutation-types'
import { AuthResource } from '../api/index.js'

export const logInUser = ({commit}, user) => {
  return new Promise((resolve, reject) => {
    AuthResource.logInUser(user).then((data, error) => {
      commit(types.SET_ACCESS_TOKEN, data.body)
      resolve()
    }).catch((err) => {
      commit(types.SHOW_MSG, {content: err.body.error_description, title: 'Whoops!', type: 1})
      reject()
    })
  })
}

then in component
logInUser () {
  this.$store.dispatch('logInUser', this.user).then(() => {
    this.$router.push({'path': '/app'})
   }).catch((err) => {
    console.log(err)
   })
}

So I'm creating promise in action and then do routing logic in component

I'll leave this here, just in case someone wants another approach. I'm pretty new to Vue, so this may be "a bad idea."  Use case is that I want to open and close modals and have the url match. All I'm doing is passing the router to the action method.
In my vue component:
  methods: {
    close: function () {
      this.$store.dispatch('closeModal', this.$router)
    },

Then in my action:
  closeModal ({ commit }, router) {
    router.push({ name: 'home' })
    commit(MT.CLOSE_MODAL)
  }


Fixes #102 : Add a suggestion list

Autocomplete feature added.When you type a query in the search field,a dropdown menu will appear with suggestions related to your query.

Marked as Duplicate. Closing this PR for #121.


Add defaulttext property to default data object available to page layouts.

Add defaulttext property to default data object available to page layouts
Background;
I was modifying my blog ; blog.alanhemmings.com that uses Nuejs, and I was fixing some rough edges that was stopping Linkedin previews from working when pasting a blog url.
In order to pass the linkedin post checker "checks" (https://www.linkedin.com/post-inspector/) I needed to make a few changes to my /posts/layout.html template to support the required meta tags that Linkedin looks for.
I was cheating and using the title as the title as well as the description ` but Linkedin gave me a warning saying that the description needs to be a minimum of 100 characters
 <meta prefix="og: http://ogp.me/ns#" property="og:description" content="{ title }">

At first I tried content="{ text.substring(0,100) }" and that didnt work. I tried content="{ content.textContent.substring(0,100) }" thinking that content was perhaps a dom element. I also tried parsing the content as Dom and then reading textContent but that didnt work either.
I also tried reading the nuekit src, focusing on the code for pushMeta
but couldn't see any way to access the textContent property of content.
In the end I just added summary field to the markdown front matter, and used content="{ summary }" and manually added in a 100 character summary.
However, that's extra hoops I have to jump through and can easily result in the summary not matching the actual content.
More importantly it interferes with the flow of writing content having to worry about and remember that when i'm writing for Linkedin I need another front matter variable, when other times I do not. That feels like programming and not writing! So breaks the "flow" of writing. (it also feels like this breaks the separations of concerns that Nuejs praises as a core value, essentially repeating front matter configuration data because of how the page will be consumed.)
What I'd prefer to have is access to the text property of the content as a field called text and then simply do this;
    <meta prefix="og: http://ogp.me/ns#" property="og:description" content="{ summary ?? text.subtring(0,100) }">

That will allow me to override it automatically picking the first 100 text characters by providing a summary in my front matter.

Priority
Value
Rational
Workaround

Low (there is a simple workaround)
Medium to high
(This should be a small piece of low risk medium to high value work that can be added to almost any future release.) Also, it helps users promote their Nuejs blog using linkedIn, and other platforms that rely on open graph metadata.
Manually add {summary} metadata to blog post (front matter)

Note: there are more tags that are required for Linked in addition to the {summary}, I'll write a short blog post on what was finally needed. The point is that I was able to update my layout.html to handle everything automatically except for the summary, hence this new issue request.

I've just read through the code a bit and just probed around a little.
I think, this here is the part where the variables (in data) get populated, but maybe I'm wrong:
https://github.com/nuejs/nue/blob/043ce76236e2e3365f4d7893ba956e2affba6161/packages/nuekit/src/nuekit.js#L73

Interesting variables:

page: json of md page content (probably result of https://github.com/nuejs/nue/blob/043ce76236e2e3365f4d7893ba956e2affba6161/packages/nuemark/src/parse.js#L8)
header, content, footer: generated html for part … of page
variables from frontmatter / site.yaml / ...?
collection(s)

I'm not sure, if this helps at all, but maybe you can do something with page.*

Helpful simple code snippet to show variables (in this case page)

{ JSON.stringify(page, null, 2) }

  <slot for="content" />


Cookie value cannot have an equals ('=') sign inside it

When you try to retrieve a cookie value that has an equal ('=') sign in the string, eg x=1, it will throw an error:
Invalid Cookie Format: key=x=1

Hello @JPScerri, please check this issue: #8

Noted. Thanks.
Cookies cannot have = sign by design. Encode and Decode if you need them.


Delete pods when terminates

Now updateNode() detects termination.
The function does not yet send updated pod status to the API server.


added some missing punctuations

Fixes

Fixes #[issue number] by @[issue author]
Description

Testing Instructions

Checklist

[ ] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Thank you for these contributions! This is an auto-generated message, and so changes made to these lines might be reverted in the future. If you're interested in making these changes upstream, you can open a PR on the Django project for this file: https://github.com/django/django/blob/main/django/conf/project_template/project_name/settings.py-tpl#L9.


Segfault with quick_merge_sorter and MSYS2 MinGW-w64 GCC 9.1

I just upgraded my compiler to a 64-bit MSYS2 MinGW-w64 GCC 6.1, and most tests in the "distribution" category featuring quick_merge_sort seem to fail. I'm not sure why, but it's definitely  worth investigating.
More info: I logged the size prior to the failure and it always happens during the second iteration when the size is 3336 (out of 10000 elements).

Apparently the issue seemed to be a codegen issue. I pushed some dirty workaround which should be enough to circumvent the issue while not pessimizing the code for non-random-access iterators.


how to get URL.

Hello. I'm Korean PHP Beginner.
I want get URL and variables
in index.php
require_once(__DIR__. '/vendor/autoload.php');
require_once(__DIR__. '/route/routing.php');

if ($id == 1) {
  require_once('main.php');
}

in routing.php
use Szenis\Routing\Router;

$router = new Router();

$router->add('/', 'GET', function() {
    $id = 1;
    return $id;
});

$response = $router->resolve($_SERVER['REQUEST_URI'], $_SERVER['REQUEST_METHOD']);

switch ($response['code']) {
    case \Szenis\Routing\Route::STATUS_NOT_FOUND:
        // render your 404 page here...
        break;

    case \Szenis\Routing\Route::STATUS_FOUND:
        // the router only resolves the route, here is an example how to execute the route.
        if ($response['handler'] instanceof \Closure) {
            echo call_user_func_array($response['handler'], $response['arguments']);
        }

        break;
}

thanks.
i can't english..

The reason why this isn't working is because you echo to response, if you really want it to work like that  you have to do something like this.
$id = null;
$response = $router->resolve($_SERVER['REQUEST_URI'], $_SERVER['REQUEST_METHOD']);

switch ($response['code']) {
    case \Szenis\Routing\Route::STATUS_NOT_FOUND:
        // render your 404 page here...
        break;

    case \Szenis\Routing\Route::STATUS_FOUND:
        // the router only resolves the route, here is an example how to execute the route.
        if ($response['handler'] instanceof \Closure) {
            $id = call_user_func_array($response['handler'], $response['arguments']);
        }

        break;
}

This will make sure that whatever you return will be passed to the $id variable.
Note: for question like this it would be better to ask them on https://stackoverflow.com


Errors in examples (commit e74527b)

The upload step to the OCI registry in file https://github.com/gardener/ocm-spec/tree/main/example/upload-component-to-oci-registry.md in step upload fails:
ocm transfer componentarchive ./hello-world-component eu.gcr.io/gardener-project/test/ocm
transferring version "github.com/yitsushi/hello-world:1.0.7"...
INFO[0001] trying next host - response was http.StatusNotFound  host=eu.gcr.io
INFO[0001] trying next host - response was http.StatusNotFound  host=eu.gcr.io
...adding component version...
*** push application/vnd.gardener.cloud.cnudie.component-descriptor.v2+yaml+tar sha256:6c8ed3863df94a241b67be8f95d26bc78d7b5617ccbcb4665e0ab75b2aa8115b: unknown-sha256:6c8ed3863df94a241b67be8f95d26bc78d7b5617ccbcb4665e0ab75b2aa8115b
*** push application/vnd.gardener.cloud.cnudie.component.config.v1+json sha256:9ba80c9f4fdb9ec010f7e18a81ccde16a00aedee9744169f5518e24fa94bf51c: unknown-sha256:9ba80c9f4fdb9ec010f7e18a81ccde16a00aedee9744169f5518e24fa94bf51c
*** push application/vnd.oci.image.manifest.v1+json sha256:a0db409435c326f5acd0f396ee169911be91f10caf8c1abca1a1c64553ea79f3: manifest-sha256:a0db409435c326f5acd0f396ee169911be91f10caf8c1abca1a1c64553ea79f3
pusher for eu.gcr.io/gardener-project/test/ocm/component-descriptors/github.com/yitsushi/hello-world:1.0.7
pushing 1.0.7
*** push application/vnd.oci.image.manifest.v1+json sha256:a0db409435c326f5acd0f396ee169911be91f10caf8c1abca1a1c64553ea79f3: manifest-sha256:a0db409435c326f5acd0f396ee169911be91f10caf8c1abca1a1c64553ea79f3
Error: {component references for github.com/yitsushi/hello-world:1.0.7: cannot reuse body, request must be retried}

As the referenced issue has been closed and therefore solved, I will also close this one.


IE11 doesn't close rectangular bounding box on 2nd click

[x] I'm reporting a bug, not asking for help
[x] I've looked at the documentation to make sure the behaviour is documented and expected
[x] I'm sure this is a Leaflet Draw code issue, not an issue with my own code nor with the framework I'm using (Cordova, Ionic, Angular, React…)
[x] I've searched through the issues to make sure it's not yet reported

How to reproduce

Leaflet version I'm using: 1.5.1
Leaflet Draw version I'm using: 1.0.4
Browser (with version) I'm using: IE11
OS/Platform (with version) I'm using: Windows 10 and 8

Steps

Select the bounding box rectangle tool
Click somewhere on the map
Drag cursor to another position
Click again
A new rectangle is started

What behaviour I'm expecting and which behaviour I'm seeing
To start off, I know this isn't the intended interaction with the bounding box as presented by the tooltips on the drawing, however, I noticed modern browsers support this action and just generally have no confidence people will always read the tooltips 😩
When I do this in Chrome particularly, the 2nd click closes the rectangle at the new position.
Mostly, I'm wondering if there's a solution that would make this consistent between the various browsers, rather than having different experiences, though I'm guessing IE11 just may not support something (though I see no console errors)
Minimal example reproducing the issue

[x] this example is as simple as possible
[x] this example does not rely on any third party code

You can simply use the Leaflet.draw example:
http://leaflet.github.io/Leaflet.draw/docs/examples/full.html

Rectangle tool is supposed to be used in different way: click-and-hold, then drag (keeping button pressed), then release to finish.
But you are right, there is some bug with IE.
Try use this option when creating map: {tap:false}.


export of a table to Excel, CSV, JSON etc.

it would be a nice feature, if tables can be exported to Excel, CSV, JSON etc. (via a right-click / context-menu)

Also, export to markdown table or asciidoctor table could be nice.

Markdown export could be a nice first iteration of this issue since markdown export code already exists.
https://github.com/search?q=repo%3Ablacksmithgu/obsidian-dataview markdownTable&type=code

@cameronj86 can you describe your use case? With JS you should already be able to output a CSV and feed that into sqlite.

@cameronj86 can you describe your use case? With JS you should already be able to output a CSV and feed that into sqlite.

Ahhh, didn't know about that. My js is sketchy but I found an export-table-to-csv plugin so all's well that ends well

@cameronj86 can you describe your use case? With JS you should already be able to output a CSV and feed that into sqlite.

Ahhh, didn't know about that. My js is sketchy but I found an export-table-to-csv plugin so all's well that ends well

Does this export-table-to-csv work with tables generated from dataview?

It seems to be able to use dataview tables
https://github.com/metawops/obsidian-table-to-csv-export
Thanks @cameronj86 for the resource 🙏


[Bug] Weird camera movement in exported HTML

There is a weird unwanted camera control after initiating and cancelling a "go back" gesture in a browser on a phone but also on an iPad when doing the same. Also, same behaviour is noticed when minimising the app by swiping up and then reopening.
This was tested on Samsung s22 in Brave browser and an iPad Pro m4 in Brave and Safari.
https://github.com/user-attachments/assets/3f17b441-508c-45a6-8715-53a8a780e9ee

I guess these are issues that you need to report to the developers implementing the gestures :)

I'm not sure about that. It could be a bug in the pointer event code in the viewer's camera controls script. We should investigate...


python3Packages.python-vlc: 3.0.11115 -> 3.0.12118

Motivation for this change
Update to latest upstream release 3.0.12118
Things done

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

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

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

Result of nixpkgs-review pr 121710 run on x86_64-linux 1

4 packages built:

openlpFull
pympress
python38Packages.python-vlc
python39Packages.python-vlc

Result of nixpkgs-review pr 121710 at 60d5f488 run on aarch64-linux 1

3 packages built successfully:

pympress
python38Packages.python-vlc
python39Packages.python-vlc

1 suggestion:

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/development/python-modules/python-vlc/default.nix:23:5:
   |
23 |     (substituteAll {
   |     ^


UploadFolder support for Pinata cloud

func UploadFolder(path string, options map[string]interface{}) ([]*types.UploadedFile, error) {
	return nil, nil
}

We'll need a function that efficiently walks the given directory in order to upload the files to Pinata...I haven't checked how Pinata folder upload works but I'm thinking there might be a need to make some updates to the func (c *Client) PostForm() method present in the request package.

@CeoFred Here... I also sent you an invite to the repository.