Migrate to VS2017 /MSBuild15 / .NET Standard / .NET Core

This PR resolves #255. See #257 for initial discussion.
TODO:

[x] Verify Net35 project can be removed
[x] Verify Portable40 project can be removed
[ ] Verify signed packages "just work" when upgrading to new package (key file was converted)
[ ] Set up build and tests for UnitsNet.WindowsRuntimeComponent (not ~sure yet if~ dotnet CLI compatible)
[ ] See if UnitsNet.sln can be removed or renamed to UnitsNet.WindowsRuntimeComponent.sln if that is the only project that is not compatible with dotnet CLI.
[ ] Set up .xml output for tests to \Artifacts\Logs\<TestProjectName>.xml files, currently blocked by NUnit support in dotnet CLI. XUnit seems to have found a workaround, so either wait for NUnit to do the same or switch to XUnit.
[ ] Update README on new build targets (net35, netstandard1.0, WindowsRuntimeComponent)

Fixes #262 when merged.

Slowly moving towards completion. I spent some time redoing all the build scripts, but it now properly builds, tests, packs and publishes nugets via Appveyor CI.
https://www.nuget.org/packages/UnitsNet/3.65.0-alpha1
https://www.nuget.org/packages/UnitsNet.Signed/3.65.0-alpha1
What remains that I can think of:

[ ] Verify Net35 project can be removed
[ ] Verify Portable40 project can be removed
[ ] Verify signed packages "just work" when upgrading to new package (key file was converted)
[ ] Set up build and tests for UnitsNet.WindowsRuntimeComponent (not sure yet if dotnet CLI compatible)
[ ] Set up .xml output for tests to \Artifacts\Logs\<TestProjectName>.xml files, currently blocked by NUnit support in dotnet CLI. XUnit seems to have found a workaround, so either wait for NUnit to do the same or switch to XUnit.

Wow, now you put some effort into this! :) Would you mind pushing the current alpha version of the serialization package to nuget, because there's currently no version on nuget that works with dotnet core?

I had some issues building, but just pushed some manual nugets out now. They are prerelease versions -alpha3.
I must say, this whole vs2017 journey has not been entirely pleasant. It took a lot more time plow through than I'd like to admit, but I do like a lot of the concepts that dotnet CLI brings.

Currently running into this issue: https://github.com/Microsoft/vstest/issues/445#issuecomment-277592096
Tests refuse to run when the output dir is changed using <BaseIntermediateOutputPath> in the test project, and it is needed due to having multiple test projects in the same folder to share the source code.
Sigh.

Sorry that I sort of "tricked" you into this effort. ;-) I naively assumed that it would be sufficient to remove a few lines in the *.csproj files and be happy with it. But I think it's worth the effort, as you say the direction Microsoft is heading with the dotnet CLI and the .NET Standard is a good one, though at the moment tooling and documentation ase pure chaos.
If there's any specific task you need help with please let me know; unless it's fixing the code-gerenating/build/pack/sign scripts, since I don't know Powershell and don't want to learn it ATM. :)

Hah, no worries :-) It would have to be done at some point anyway, and your effort really helped get over those initial roadblocks, so thanks for that!
Did the nugets work out as expected?

Yes, I'm using the alpha version including JsonNet serialization in a dotnetcore app, works like a charm. Thanks!! :)

Cool! :-)
On Thu, Jun 8, 2017 at 10:05 AM Michael Helmling<EMAIL_ADDRESS>wrote:

Yes, I'm using the alpha version including JsonNet serialization in a
dotnetcore app, works like a charm. Thanks!! :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/anjdreas/UnitsNet/pull/261#issuecomment-307030570,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwFaAFTM7AXP5Ne-kzpyRzxL1HOpqRAks5sB6tjgaJpZM4NvBEi
.

Merged! Phew.. a lot of hurdles on the windows runtime component stuff, as well as nunit and xunit with the new dotnet test and dotnet xunit commands. Did not like having multiple test projects in the same folder for one thing.
Thanks a lot for putting in the effort here. Hopefully this is now fairly future proof and not too many things change when dotnet CLI 2.0 goes RTM.

Thank you as well for finishing this! I can only hope that Microsoft's approach with .NET standard will help to simplify multi-target libraries in the future ...


Format README.md

Hey! The documentation was a bit difficult to read in some parts. I just went through and cleaned it up some. Thanks for the tool! 👍

Thanks!


Required if another field is present

Is this supported by any chance? I am sorry, could not find a mailing list make this question so I posted it here.

could you please elaborate your question? preferably with a use-case-example.
may it be possible that the new oneof- or anyof-rules may be of use?

Not sure, really. The use case would be:
If the type of product is cars, then color is required. If the type os bikes, it is not.

schema = {'oneof` = [{'product_type': {'regex': '^car$'}, 'color': {'required': True}},
                     {'product_type': {'regex': '^bike$'}}]}

if that helps, how can the documentation be improved regarding this?

@nicolaiarocci i propose to close this issue since there hasn't been any feedback by @jmesquita for almost two weeks.

I am deeply sorry about this. I had a very close relative that has died and
haven’t had a chance to get to this. I will next week. I believe you can
close the issue and I will reopen in case this is still outstanding.
Again, I am sorry for not providing feedback.
On Mon, Jul 13, 2015 at 8:27 AM, Frank Sachsenheim<EMAIL_ADDRESS>
wrote:

@nicolaiarocci https://github.com/nicolaiarocci i propose to close this
issue since there hasn't been any feedback by @jmesquita
https://github.com/jmesquita for almost two weeks.
—
Reply to this email directly or view it on GitHub
https://github.com/nicolaiarocci/cerberus/issues/121#issuecomment-120895939
.

my condolences.
thanks for your feedback. no need to close it then.
and sure, you can always reopen an issue.

Guys, sorry for the loong delay on this. I guess documentation is pretty complete, specially since we can use dependencies for that now. Closing the issue. Thank you for your patience.


feature: Categorized HTML

Add additional variant of CategorizeFailures that outputs multiple html files, allowing one to drill hierarchically down from counts -> category -> console log. Also, jenkins authentication support, and increased okhttp timeouts for overloaded jenkins servers (When are they not?).

Thanks @gadams00!


Detect id_rsa permissions problems and bail out early. Fixes gh-1219

Signed-off-by: Rick Waldron<EMAIL_ADDRESS>

Coverage decreased (-0.05%) to 78.475% when pulling db312f4e0bc975070939311c284298bf886146d3 on 1219 into 4692d0c8c3e78a9c8cbd920c87961846bea7d556 on master.


code.cmd call doubles ^ in passed arguments

VSCode Version: 1.29.1 & Insiders 1.30
OS Version: Win 10 1809

Steps to Reproduce:
Attempt to call up VS code via the 'code.cmd' file, that applications such as GitHub Desktop utilize to service functionality of 'open in external editor'.
(starting from my home directory, either in CMD or in PWSH)
".\appdata\local\programs\Microsoft VS Code Insiders\bin\code-insiders.cmd" "%%testing^carrots.txt"

VS Code opens a file called "%testing^^carrots.txt".  That's not what was requested, as I gave it two '%' and only 1 '^'.
if the code.CMD file is altered, and the 'CALL' removed, everything is fine.
"%~dp0..\Code - Insiders.exe" "%~dp0..\resources\app\out\cli.js" %*

instead of
call "%~dp0..\Code - Insiders.exe" "%~dp0..\resources\app\out\cli.js" %*

Does this issue occur when all extensions are disabled?: not tried

For a confirmation, ATOM does not use CALL, https://github.com/atom/atom/blob/master/resources/win/atom.cmd
IMHO I think it is in error that CALL is escaping a quoted argument, but the help for CALL does state 'Calls one batch file from another.'

@aeschli, I think you just commited a fix for this.

Oh, great :-)
@joaomoreno FYI I removed the call: https://github.com/Microsoft/vscode/commit/0dc03a8281e736dd801de7485cf74495175120e2
The problem is that with call, all that's behind call is first evaluated, in particular %* is expanded.
If any of the expanded arguments contains a % this will be evaluated again. That mean is the user provided arguments (e.g. the file paths) contain any sequence like %1 they will be replaced

@aeschli That call has been there for ages. It was also introduced for a reason, we just don't know which. Just keep this change in mind if something breaks in the near future.

#3055 is the issue marked as to when it was 'call' was originally added.  I didn't see any specific reasons there for the addition.  Atom's similar script has never had 'call'.


Problem with versions 1.1.0 and up

With this versions, when I try to import your library it only allows me to import (Reducer or Store classes, for example) from "jvm-redux-api".
I don't know why it happens and if this happens only to me.
Version 1.0.3 allows me to import the correct classes and use the library.

I am getting issues with imports as well, I'm not sure if this repo is maintained anymore


Specification evaluator improvements

Since this grew to be a separate construct, then let just do it properly. Lets make the methods non-static, and define an interface. If you decide to go with infrastructure as described in issue #10 and include the repository implementation in the package, then the interface would be injected in the constructor.
The included repository actually would be abstract, and the users will have to inherit it, so they can use their own DbContext. It might be something as below
    public abstract class Repository<T> : IRepository<T> where T : BaseEntity, IAggregateRoot
    {
        private readonly DbContext dbContext;
        protected readonly ISpecificationEvaluator<T> specificationEvaluator;

        public Repository(DbContext dbContext)
        {
            this.dbContext = dbContext;
            this.specificationEvaluator = new SpecificationEvaluator<T>();
        }

        public Repository(DbContext dbContext, ISpecificationEvaluator<T> specificationEvaluator)
        {
            this.dbContext = dbContext;
            this.specificationEvaluator = specificationEvaluator;
        }

        // Interface implementation
        // We should define all the methods as virtual, or most of them.

    }

    public class MyRepository<T> where T : BaseEntity, IAggregateRoot
    {
        private readonly MyDbContext myDbContext;

        public MyRepository(MyDbContext myDbContext)
            : base(myDbContext)
        {
            this.myDbContext = myDbContext;
        }

        public MyRepository(MyDbContext myDbContext, ISpecificationEvaluator<T> specificationEvaluator)
            : base(myDbContext, specificationEvaluator)
        {
            this.myDbContext = myDbContext;
        }

        // Not required to implement anything. Override or add additional functionalities.
    }

If the user has not defined their own implementation for the SpecificationEvaluator, then the default one will be instantiated. And yet again, they can implement their own. This structure offers much more flexibility.

I'm not 100% clear on this - are you saying we would ship an abstract base Repository type that all users would have to inherit in order to make use of Specification? Seems like a big request compared to only being a general purpose specification library that can be used with any Repository that uses a certain convention.

Oh no, I didn't mean to enforce it. The idea is the following:

Users should be able to create specifications utilizing the BaseSpecification
Users can create their own repositories and use instance of SpecificationEvaluator to evaluate the specs into IQueryable
Users can leverage from the provided abstract repository (if they want), which contains set of standard generic methods.
If users want to make use of the provided repository but want to utilize their own evaluator, they can inject instance of ISpecificationEvaluator.

I tried to describe everything and give few samples in the Readme of the repo.

Ok that sounds perfect, thanks.

This is addressed with PR #30 and #31


Theme demo broken on the Hugo Themes website

Hello @victoriadrake
Currently the theme demo on the Hugo Themes website is broken due to https://github.com/gohugoio/hugo/issues/7036
To fix the theme demo please regenerate and commit the theme's resources.
Once you do this feel free to close this issue and then I will update the theme on the Hugo Themes repo.
Thanks.

This one has the resources committed in exampleSite/. Do they need to be in a different location?

No. You only need to regenerate and re-commit.

Regenerating locally doesn't make any changes, so I have nothing to commit. :confused:

What is the installed Hugo version?
The theme demo of the showcase broke in Hugo 0.66.0 due to an addition to the PostCSS config struct and the hash of the resources changed.

Latest, extended.
hugo version
Hugo Static Site Generator v0.67.0-7F1DA3EF/extended linux/amd64 BuildDate: 2020-03-09T20:44:34Z

I did do a regen just last week. Maybe it will get picked up?

Maybe it will get picked up?

Unfortunately no. Hugo 0.66.0 was released a day after. The hashing library that is used by Hugo has changed the hash value of the theme's assets because a field is added in the PostCSS struct.
So in 0.66.0+ a different hash is required than the one that the theme assets use currently.
Try try manually deleting the resources/_gen folder or executing hugo --gc to delete the resources and then execute hugo server to regenerate.
The git diff should show a change in the resources' hash values.
P.S. Your other theme's demo has been fixed on the Hugo Showcase.

Missed it by that much!
Thanks for all the info @onedrawingperday. I've gotten the resources re-committed now.

Hi, I'm currently trying to build this theme (with and without demo posts) but I have to download postcss and autoprefixer. Is the package gonna be updated with these resources?


Merge FM and FM (6-op) and make operator number configurable

Maybe there can be 8 operators max and 1 as the minimum?

as far as I'm aware you can already recreate 1-3 operator FM by disabling certain operators and choosing the right algorithm

I'm not sure if it would be a good idea to allow 1-3 operators (would mean more work on our end...)


Ludown: entity ordering important and breaks ludown refresh

Describe the bug
ludown produces bad .LU output on LUIS json export in which the entities array is not in order.
To Reproduce
Consider this JSON file:
{
  "intents": [
    {
      "name": "IntentOne"
    }
  ],
  "entities": [
    {
      "name": "a",
      "roles": []
    },
    {
      "name": "b",
      "roles": []
    }
  ],
  "composites": [],
  "closedLists": [],
  "regex_entities": [],
  "model_features": [],
  "regex_features": [],
  "utterances": [
    {
      "text": "this is one bad cat",
      "intent": "IntentOne",
      "entities": [
        {
          "entity": "a",
          "startPos": 8,
          "endPos": 10
        },
        {
          "entity": "b",
          "startPos": 16,
          "endPos": 18
        }
      ]
    }
  ],
  "patterns": [],
  "patternAnyEntities": [],
  "prebuiltEntities": [],
  "luis_schema_version": "3.0.0",
  "versionId": "0.1",
  "name": "bad",
  "desc": "",
  "culture": "en-us"
}

Running ludown parse ToLuis --in model.lu results in the following utterance: this is {a=one} bad {b=cat}.
Now, reverse the two items in the json entities array as such:
{
    "intents": [
        {
            "name": "IntentOne"
        }
    ],
    "entities": [
        {
            "name": "a",
            "roles": []
        },
        {
            "name": "b",
            "roles": []
        }
    ],
    "composites": [],
    "closedLists": [],
    "regex_entities": [],
    "model_features": [],
    "regex_features": [],
    "utterances": [
        {
            "text": "this is one bad cat",
            "intent": "IntentOne",
            ******************************
            "entities": [
                {
                    "entity": "b",
                    "startPos": 16,
                    "endPos": 18
                },
                {
                    "entity": "a",
                    "startPos": 8,
                    "endPos": 10
                }
            ]
            ******************************
        }
    ],
    "patterns": [],
    "patternAnyEntities": [],
    "prebuiltEntities": [],
    "luis_schema_version": "3.0.0",
    "versionId": "0.1",
    "name": "bad",
    "desc": "",
    "culture": "en-us"
}

The result of the same ludown command is: this is one {a=one} {b=cat}.
Expected behavior
The order of the entities in the array shouldn't matter.
Additional context
We started seeing this recently when the export from our LUIS apps created a few of these cases. Not sure why. There are way too many of these cases in our 4000+ utterance json export for us to fix these automatically so we are blocked.

@srozga what version of ludown are you on? I just tried this on 1.0.30 and see identical results produced by the two json files below which appears to be correct. May be I do not fully understand the issue you are reporting. Can you please clarify if you continue to repro with 1.0.30 and if so, clarify the bug?
Input JSON 1:
{
  "intents": [
    {
      "name": "IntentOne"
    }
  ],
  "entities": [
    {
      "name": "a",
      "roles": []
    },
    {
      "name": "b",
      "roles": []
    }
  ],
  "composites": [],
  "closedLists": [],
  "regex_entities": [],
  "model_features": [],
  "regex_features": [],
  "utterances": [
    {
      "text": "this is one bad cat",
      "intent": "IntentOne",
      "entities": [
        {
          "entity": "a",
          "startPos": 8,
          "endPos": 10
        },
        {
          "entity": "b",
          "startPos": 16,
          "endPos": 18
        }
      ]
    }
  ],
  "patterns": [],
  "patternAnyEntities": [],
  "prebuiltEntities": [],
  "luis_schema_version": "3.0.0",
  "versionId": "0.1",
  "name": "bad",
  "desc": "",
  "culture": "en-us"
}

> ludown refresh -i json1.json --skip_header

Output lu file
> # Intent definitions
## IntentOne
- this is {a=one} bad {b=cat}

> # Entity definitions
$a:simple
$b:simple

> # PREBUILT Entity definitions
> # Phrase list definitions
> # List entities

Input JSON 2:
{
    "intents": [
        {
            "name": "IntentOne"
        }
    ],
    "entities": [
        {
            "name": "a",
            "roles": []
        },
        {
            "name": "b",
            "roles": []
        }
    ],
    "composites": [],
    "closedLists": [],
    "regex_entities": [],
    "model_features": [],
    "regex_features": [],
    "utterances": [
        {
            "text": "this is one bad cat",
            "intent": "IntentOne",
            "entities": [
                {
                    "entity": "b",
                    "startPos": 16,
                    "endPos": 18
                },
                {
                    "entity": "a",
                    "startPos": 8,
                    "endPos": 10
                }
            ]
        }
    ],
    "patterns": [],
    "patternAnyEntities": [],
    "prebuiltEntities": [],
    "luis_schema_version": "3.0.0",
    "versionId": "0.1",
    "name": "bad",
    "desc": "",
    "culture": "en-us"
}

> ludown refresh -i json2.json --skip_header

Output lu file
> # Intent definitions
## IntentOne
- this is {a=one} bad {b=cat}

> # Entity definitions
$a:simple
$b:simple

> # PREBUILT Entity definitions
> # Phrase list definitions
> # List entities

@vishwacsena you are right! I apologize. I was using 1.0.28, and it has been fixed somewhere along the line to 1.0.30. I'll close the issue down. Thank you.


Can't build on Linux (or unknown build dependencies)

Attempting to build from source. No experience building applications written with Go, I just installed golang on my Ubuntu (Mint) system and got this message back. So I may be missing a dependency or not have a recent enough version of the compiler.
$ GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 go build .
build github.com/owulveryck/goMarkableStream: cannot load embed: malformed module path "embed": missing dot in first path element

$ go version
go version go1.13.8 linux/amd64

My repo is on the v0.14 release: commit 762f6ef1a02cef066ec328a2a14648bb35571e53 (HEAD, tag: v0.14, origin/main, origin/HEAD, main)
Thanks for the attention.

Hello,
Your go version is too old.
You should update to 1.20 at least.
Olivier

Downloaded go 1.21 from https://go.dev/dl/
added to PATH
had to update environment:

$ GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 go build .
go: updates to go.mod needed; to update it:
	go mod tidy

that fetched some stuff, then I ran $ GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 go build . again
success

Thanks for the help


Add terraform-mode faces

Adds faces added by terraform-mode to doom-themes-base.el.

Looks good to me, thanks!


too many s3 requests using emr

In some scenario in our cluster, we may want delta streamer to slow down a bit.
so it's nice to have a parameter to control the min sync interval of each sync in continuous mode.
this param is default to 0, so this should not affect current logic.
minor pr:  https://github.com/apache/incubator-hudi/pull/921
the main reason we want to slow it down is that aws s3 is charged by s3 get/put/list requests. we don't want to pay for too many requests for a really slow change table.

@Panxing4game : I have created a jira for this https://jira.apache.org/jira/browse/HUDI-269
We have moved to Jira. If you do not have it already, please create a jira id and we will give contributor access.

@bvaradar ic,
my jira id is XingXPan

Closing this in favor of JIRA


Update add flexbox game link

Add flexbox froggy to make peoples understand the utility of flex before doing all of the exercices. I don't know if its the best here, but i think it should be displayed somewhere

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you. Please see our Contribution Guidelines for details.
Thank you and happy coding.


Can´t connect to Spotify

Hey , i just tried to use your api but every time i want to connect threr comes no Information from Spotify. Even if i wanna try to controll spotify it doesn´t work :(
Tried on Windows 10 64bit and Windows Server 2016 64bit (different machines no VM)

Duplicate of #254.


fix(popup): remove popup before showing previous

Make sure to close and remove the currently shown popup before showing the previous one. Not doing that make the previous popup appear without hiding the current one. As a result, both popup cannot be closed.
It closes #4061.
The following code reproduces the problem:
$timeout(function() {
	$ionicPopup.alert({
		title: "Popup 2",
	});
}, 1000);

$ionicPopup.alert({
	title: "Popup 1"
});

Hey @zittix, looks like you have a trailing space causing CI check to fail. Any chance you could fix (and perhaps rebase)?

@olliebennett I have fixed the trailing white space but failed to rebase. Let me know if you want me to open a new PR to clean that up.

@zittix we have the exact the same problem and your fix helped. Hope it gets merged to master soon

:+1:

Same problem

@olliebennett could you please review and merge this PR? Thanks.

Awesome, thanks for the PR

:+1:


Title in A1 <> sheet name in Naming and tagging conventions tracking template

Excel sheet Naming and tagging conventions tracking template accidentally has title Tagging conventions in cell A1 in sheet Naming conventions. Please change to Naming conventions.
Regards, inge

@ingebeumer - Great catch! Thank you for your input. I have a PR to make that update.

#please-close


Not working anymore

I suspect AIS have changed their S3 bucket somehow as this URL no longer works:
https://sifvideostore.s3.amazonaws.com/AIS/json/Page/NewTV.json.gz

Ok, I guess I found the new url. Channels now appear on Kodi. Give it a try.


Error in fuse_ops for gemm_pointwise

Repro:
#fuse_ops_fail.py
import migraphx

p = migraphx.program()
mm = p.get_main_module()

s1 = migraphx.shape(type="float_type", lens=[1, 3072])
s2 = migraphx.shape(type="float_type", lens=[3072, 18432])
s3 = migraphx.shape(type="float_type", lens=[18432])

x1 = mm.add_parameter("x1", s1)
x2 = mm.add_parameter("x2", s2)
c = mm.add_parameter("c", s3)

dot = mm.add_instruction(migraphx.op("dot"), [x1, x2])

c = mm.add_instruction(migraphx.op("multibroadcast", out_lens=dot.shape().lens()), [c])
add = mm.add_instruction(migraphx.op("add"), [c, dot])

mm.add_return([add])

Compile using driver:
migraphx-driver compile fuse_ops_fail.py

Error:
terminate called after throwing an instance of 'std::bad_function_call'
  what():  bad_function_call
Aborted (core dumped)

Issue is that the condition on https://github.com/ROCm/AMDMIGraphX/blob/develop/src/targets/gpu/fuse_ops.cpp#L672 evaluates to true (because of the broadcast i think) and so c here is treated as a constant even though its from a parameter.
@pfultz2 whats the correct behavior here? Can I simply update the if statement to explicitly make sure c is a constant?


DISTSTYLE not being set

DISTSTYLE isn't being set on tables.  This is a problem for tables with DISTSTYLE ALL and EVEN

Right you are - working on it.

This is fixed in .<IP_ADDRESS>


smacknet: add User network Privileges

Ref-to: IOTOS-1014
User should have the same Write Privileges to the network as
already is based on System.
This will allow to the User label in smack to the local and
cloud network.
Signed-off-by: Alejandro Joya<EMAIL_ADDRESS>

Please use "Fixes: IOTOS-1014" above the "Signed-off-by" instead of "Ref-to: IOTOS-1014" at the top.

done.


Make maximum brush size flexible

Description
Closes #2745 by updating maximum brush size when brush size value is set to a value larger than the current brush size. We might want to adopt this pattern more broadly following #2753 - curious what @tlambert03 thinks about that - but this will fix the immediate issue facing @pranathivemuri. Please let us know if this works for you.
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)

References
Closes #2745
How has this been tested?

[x] test added

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

fine with me... but is there no reasonable pydantic model constraint that we could use instead? (i.e. is an infinite brush size useful here?)

Hmm, i'm not quite sure what you mean? This issues seems to be more on the qt slider side then the model side? I think the problem here is that "40" is a pretty arbitrary choice of maximum for the slider, and was made so it was still possible to adjust the brush size between 1 and 10, which seemed like reasonable pixel values. i just don't know how high we'd make the max though? We could move it up to 300 pixels. maybe i'm missing something

as for the labeled sliders, sure seems like a potentially useful pattern. but probably case-by-case basis

Yup, fair enough.

yeah, agreed... my main question is whether there is no reasonable maximum to use with a pydantic conint in the labels.brush_size field. like, do we actually need to allow infinite brush size?

Ah i get you, yeah we could probably do something like 300, I think that's the max brush size in photoshop

this change looks good. although 300 pixels or something constant might actually need to be a scale based on the image size if you are opening a pretty huge image in orders of 10k x 10k then 300 would be small.
If it had to be clipped maybe it should be clipped to within the image shape
Thanks so much for making this change!

although, I did make this change https://github.com/pranathivemuri/napari/commit/611db76e2e2074e4e3df131bc2de555c7100c1fb in my own fork but I wanted to have a conda-forge napari version that I could add to my dependencies instead of my work for a plugin I am working on to fix the BigSur vispy/opengl issues
Traceback (most recent call last):
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/vispy/gloo/gl/_gl2.py", line 682, in _glGetIntegerv
    nativefunc = _glGetIntegerv._native
AttributeError: 'function' object has no attribute '_native'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/__boot__.py", line 237, in <module>
    _run()
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/__boot__.py", line 231, in _run
    exec(compile(source, script, "exec"), globals(), globals())
  File "he_annotations.py", line 4, in <module>
    main()
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/napari-he-annotations-release/lib/python3.7/site-packages/napari_he_annotations-0.1.dev203+g5d7e909-py3.7.egg/napari_he_annotations/launcher/he_annotations.py", line 13, in main
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/napari-he-annotations-release/lib/python3.7/site-packages/napari_he_annotations-0.1.dev203+g5d7e909-py3.7.egg/napari_he_annotations/launcher/he_annotations.py", line 7, in launch_viewer
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/viewer.py", line 52, in __init__
    self._window = Window(self, show=show)
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/_qt/qt_main_window.py", line 342, in __init__
    self.qt_viewer = QtViewer(viewer, show_welcome_screen=True)
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/_qt/qt_viewer.py", line 201, in __init__
    self._create_canvas()
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/_qt/qt_viewer.py", line 278, in _create_canvas
    size=self.viewer._canvas_size[::-1],
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/_vispy/vispy_canvas.py", line 35, in __init__
    self.max_texture_sizes = get_max_texture_sizes()
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/napari/_vispy/utils_gl.py", line 55, in get_max_texture_sizes
    max_size_2d = gl.glGetParameter(gl.GL_MAX_TEXTURE_SIZE)
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/vispy/gloo/gl/_gl2.py", line 792, in glGetParameter
    return _glGetIntegerv(pname)
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/vispy/gloo/gl/_gl2.py", line 684, in _glGetIntegerv
    nativefunc = _glGetIntegerv._native = _get_gl_func("glGetIntegerv", None, (ctypes.c_uint, ctypes.POINTER(ctypes.c_int),))
  File "/Applications/napari-he-annotations_0.0.2.app/Contents/Resources/lib/python3.7/site-packages/vispy/gloo/gl/gl2.py", line 69, in _get_gl_func
    raise RuntimeError('Could not load OpenGL library, gl cannot be used')
RuntimeError: Could not load OpenGL library, gl cannot be used
2021-06-22 10:56:21.322 he_annotations[64138:1150583] he_annotations Error

Thanks for the reviews @tlambert03 and @alisterburt, will merge this now!!


Treat OCLC Work identifiers as bf:Work bf:Identifiers

The OCLC Work identifier URIs are intended to group like works together, thus
if found they should be turned into an Identifier at the level of a bf:Work
instead of at the bf:Instance level.
Signed-off-by: Dan Scott<EMAIL_ADDRESS>

@dbs -- this is actually a specification update. I'm referring to @jodiw01 for review. Thank you!

This is an interesting request, but I'd like to see some MARC examples which illustrate this configuration. Do any exist?

Yes, Laurentian University enriched the records in their catalogue by using OCLC's xID service (RIP) to add 024 entries for Work entity URIs.
The original purpose was to express the relationship in the corresponding HTML via RDFa with schema:exampleOfWork (per the Evergreen library system's defaults).
But, when constrained by matching "worldcat.org/entity/work/", it offers a clear path forward for one subset of possible Work identifiers in the BIBFRAME conversion process.
So, a couple of examples in the wild:

https://laurentian.concat.ca/eg/opac/record/2793910 (click on MARC Record); corresponding MARCXML at https://laurentian.concat.ca/opac/extras/supercat/retrieve/marcxml/record/2793910
https://laurentian.concat.ca/eg/opac/record/898855 and MARCXML at https://laurentian.concat.ca/opac/extras/supercat/retrieve/marcxml/record/898855

Re: the Evergreen default for 024 and OCLC Work entities, that was added in March 2015 as part of release 2.8.0 (about halfway through the OPAC enhancements section): http://docs.evergreen-ils.org/2.8/_evergreen_2_8_0_release_notes.html


Parsing yaml file having dynamic field problem

For example im trying to read this yaml file :
releases:
  - name:  "external-dns"
    chart: "bitnami/external-dns"
    namespace: "external-dns"
    version: {{ .Values | getOrNil "external_dns.version" | default "4.5.5" }}
    installed: {{ .Values | getOrNil "external_dns.installed" | default false }}

I'm expecting to read version and the installed fields as string by using loadAll but I'm getting them back as null. Is there a proper way to read these values ?

Yaml is not programming language. If you need strings with {}, those should be quoted.
Example
Use online demo to check your syntax.


electrum: 3.3.5 -> 3.3.6

Motivation for this change
https://github.com/spesmilo/electrum/blob/3.3.6/RELEASE-NOTES
Manually checked source tarball with signature from electrum.org,
but please check as well :).
Things done

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

[ ] 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 nix-review --run "nix-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)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

You can now do
nix-shell maintainers/scripts/update.nix --argstr package electrum

to do the bumps, if you like.


Windows Ballooning Question (version support)

this is more an question.
we spotted that any non-linux vm does a full allocation of ram an not freeing up......equal what libvirt.. 8.0/8.6/9.0 or 6.0/7.2 qemu.
now question is  - which virtio driver package supports the Ballooning on windows? as something is not right seems

i looked and we have 0.1.240 in use

1.5/8GB   but assigned is 8GB and boots up with 8GB..........

virsh qemu-monitor-command --hmp Win10 'balloon 1500'       with this ballooning works.......but not auto-balloon
is that auto-ballooning planned for virtio?

seems that command was just a lucky strike.... triied again and on others > not reclaiming.... the balloon info shows already at max size......is the balloon service not correct installed on windows ?

@madmax01 This should work assuming you have balloon driver installed on the guest. With build 240 and later and earlier. Look in device manager under "system devices" -> "virtio balloon driver". The system will start with 8G and as soon as the driver is up it starts giving the memory to qemu.

i defo installed the whole exe package and didn't unchecked anything.. will check device manager... so far i know i have different versions of virtio on windows...but non of them reclaming to qemu...... 7.2 or 6.0 qemu.......
may you know which libvirt/qemu confirmed should work minimum?    freebsd also have same issue......but linux seems don't have that issue > reclaims unused mem

dominfo:
Max memory:     8388608 KiB
Used memory:    8388608 KiB
domstat
balloon.current=8388608
balloon.maximum=8388608
balloon.last-update=1714816720
balloon.rss=2525324
dommemstat
actual 8388608
last_update<PHONE_NUMBER>
rss 2526092
i checked on other stack
7.2 qemu + 9.0 libvirt = windows not reclaming unused mem  (ppa on ubuntu)
6.2 qemu + 8.0 libvirt = windows reclaming unused mem (default)
we upgraded libvirt > because of strange bugs of default ones
may from virtio point this is known case? you think its an libvirt or qemu case

may there are known ppa's for 9.6 libvirt and qemu 8.0?  not finding it atm ;(

Just did a smoke test with Fedora 36, libvirt-8.1.0-2.fc36, qemu qemu-6.2.0-17.fc36, 8GB/7GB, driver 228, works, hmp 'info balloon' returns 7G after boot

well when i check info balloon then it shows same amoutn which is assigned.. but when checking rss > its still assigned mem and not freed ha.....very strange.......but on linux its like no issue........just spotted windows + freebsd    (well seems not an virtio issue) ;( something between ubuntu 22.04 libvirt/qemu....buest guess is 24.04 lts

bit fun - as seems linux acting not like that
when checking linux dom.. its matching up Maxmem to balloon info.......looking on windows its same... but rss is same assigned size not reclaiming........
in that case when i reduce balloning instead of full to say 2048.....then windows starts to reclaim.......very confusing

Max memory:     20971520 KiB
Used memory:    20971520 KiB
on linux +windows
balloon info tells balloon: actual=20480
linux reclaims > windows not
when i do  --hmp xxx "balloon 1"    on windows vm   then it starts working and Used memory goes down
i'am not very sure where this issue is....

virsh setmem --size 2560 --live xxx
that triggers the ballooning and hmp goes down....then i can see the real % usage but mem side mem usage goes up because of comitted ram.....
that behavior is strange.......on linux its auto working
i tested this now on new ubuntu 24.04 lts too > exact same behavior   (windows vm with virtio)
virsh qemu-monitor-command --hmp test "info balloon"
balloon: actual=8192
virsh dommemstat test
actual 8388608
last_update<PHONE_NUMBER>
rss 8448364
virsh dominfo maxtest01
Id:             10
Name:           test
UUID:           cd23c4ef-b1da-4a1f-b2fc-d203709f8f1f
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       38.0s
Max memory:     8388608 KiB
Used memory:    8388608 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0
now i need to do either
virsh setmem --size 8192 --live test
or
virsh qemu-monitor-command --hmp test "balloon 1"
balloon service running virt-io installed (0.1.240)
then windows have more mem usage but host side seems reclaim (when triggering)
i don't understand this behavior.
i see an general problem with windows on kvm (which seems not appear on vmware)

with default ballooning and kvm > vm boots nice - low mem usage - but host tells 100% allocated and 100% in use.. where on guest side just 1GB in use
when doing the balloon trigger above > most mem goes to guest and the mem usage increase as most is committed gb then. usage on host side tells real guest usage

i'am blank on that one.. nobody have that issue?


Removed default height and width props in favor of aspectRatio

In this PR, I have removed the defaultProps for height and width in favor of the aspectRatio option to control the initial canvas aspect ratio to be 2.
The result of this is more intuitive control over the aspect ratio and size of each chart. The reasoning behind this can be found in the docs under the Configuration Options and aspectRatio with the following quote:

Note that this option is ignored if the height is explicitly defined either as attribute or via the style.

This will enabled users to use the aspectRatio option without providing height and width an empty string or null value.
Also in this PR:

"react/jsx-quotes": 1 changed to "jsx-quotes": 1 as the prior has been deprecated
JSX quotes changed in accordance with linting warnings in src/index.js
Moved datasetKeyProvider: PropTypes.func to be alphabetical in accordance with linting
Added id: PropTypes.string to due to proptypes linting warning
Remove canvas for canvas-prebuilt, update canvas-prebuilt and refactor test config to reflect changes
Update chart.js from 2.6.0 to 2.7.3
Package version bumped by from 2.7.4 to 2.7.5

@tkeesling I think it'd be easier to merge if you split this into two PRs - one to upgrade the dependencies, and one to fix the aspect ratio bug. Bundling both changes together will make it harder to get it merged.
Also, I'd recommend changing the chartjs version from a pinned version (2.6.0) to ^2.6.0 instead of ^2.7.3.


More hours to hourly forecast

It is possible to shrink hourlyforcast? I see only 5 hours and 10 is much better..

There's a discussion already about this here


Usage notes

I'm not sure whether this plugin is supposed to be ready for use yet, so maybe my question is premature.
But, basically, here is my understanding: this plugin adds a new type of source, which is an offline instance of livesplit-one. You load splits as a .lss file (to which, I presume, the data is saved back when clicking the “Save” button in the Properties).
But what I couldn't figure out, is how to start the timer or to split. I've tried opening the Interact window, but it seemed very inert. At the very least, it didn't respond to mouse events.

I'm on a Linux computer, and my keyboard doesn't have a numpad, so I couldn't try the default Livesplit keybinding.

You can set hotkeys for the source in the main settings of OBS.

Let me know if that works.

It does work like a charm, I made a pull request with this info (#3).
I'm still ensure whether I want to use this, until we have browser docks in Obs in Linux and I can start having everything in my Obs screen. I can use a source projector to have only the source on screen though. There are pros and cons :slightly_smiling_face: .
How do you recommend uploading split files to the LiveSplit One website for further consumption? Just import the updated split file and delete the old one?

How do you recommend uploading split files to the LiveSplit One website for further consumption? Just import the updated split file and delete the old one?

Yeah that's the best way atm.


Read AWS SSO generated roles

Affected feature
AWS SSO provisions roles in your sub-accounts based on the permission sets with a dynamically generated name. Using aws.iam.getRole isn't currently capable of identifying these, as the roles have a name that could only be pattern matched and the roles have no tags, nor does SSO support tagging the provisioned roles.
The terraform-aws-provider has PRs open to support more methods to retrieve roles that would help with this: https://github.com/hashicorp/terraform-provider-aws/pull/18048 and https://github.com/hashicorp/terraform-provider-aws/pull/18585.
Would these be rapidly supported by pulumi-aws, or is this the sort of thing you'd handle without terraform?

This will be supported in pulumi as soon as the upstream tf provider supports it


Use Authorization HTTP header, since access_token is deprecated

Thanks for this tool - worked like a charm.  But Github just emailed me:

... your personal access token using python-requests/1.2.0 was used as part of a query parameter to access an endpoint through the GitHub API:  https://api.github.com/gists

Please use the Authorization HTTP header instead, as using the access_token query parameter is deprecated. If this token is being used by an app you don't have control over, be aware that it may stop working as a result of this deprecation.
Depending on your API usage, we'll be sending you this email reminder on a monthly basis for each token and User-Agent used in API calls made on your behalf.
Just one URL that was accessed with a token and User-Agent combination will be listed in the email reminder, not all.

Visit https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param for more information about suggested workarounds and removal dates.

That page currently says that brownouts of the feature are scheduled to begin September 30, 2020, and it will stop working on November 13.

Thanks for bringing this to my attention (and providing useful info)! I'll get onto this quickly so you don't get spammed each month :)

Fortunately, it is small change. I will get into into pypi shortly.

Done. v0.9.2 should fixes this issue.

Amazingly fast work - thank you!!


Actix web 1.0

Hi Hans,
This PR updates actix-web to 1.0, released a few weeks ago.
Tests are passing, and I updated the README and examples as well.
Let me know if you have any questions.
Jacob

Thanks!


Is it possible to update the RAM to 8GB?

Can this design update the RAM to 8GB? Thanks.

The maximum addressing space for the RK3328 is 4GB.


request access to data

Hi there,
Can I ask for data of the NTIRE'23 Night Photography Rendering Challenge for research purposes. I am a PhD student, and I will only use the data for academic purposes.
Best regards.

@AAAeray  Please do you have access to the dataset?


Capabilities.classExists() -- caching bug?

Summary:  classes.put(c,"unused") should really be classes.put(name, "unused"), no?
In the  current bsh.Capabilities.classExists() code:
`	public static boolean classExists( String name )
{
Object c = classes.get( name );
	if ( c == null ) {
		try {
			/*
				Note: do *not* change this to
				BshClassManager plainClassForName() or equivalent.
				This class must not touch any other bsh classes.
			*/
			c = Class.forName( name );
		} catch ( ClassNotFoundException e ) { }

		if ( c != null )
			classes.put(c,"unused");
	}

	return c != null;
}`

the cache key for the get() is the String name, but the cache key for the put() is the Class c.
Unless I'm missing something, this means that at present the classes Hashtable isn't helping at all.

TODO: We need a unit test for this. see #72

This is currently correctly referenced by name:
    public static boolean classExists( String name )
    {
        Class<?> c = classes.get( name );

        if ( c == null ) {
            try {
                /*
                    Note: do *not* change this to
                    BshClassManager plainClassForName() or equivalent.
                    This class must not touch any other bsh classes.
                */
                c = Class.forName( name );
            } catch ( ClassNotFoundException e ) { }

        }
        classes.put(name, c);
        return c != null;
    }

But I think we can still improve on this.

Now prevent additional class not found exceptions by checking if key exists instead.
https://github.com/beanshell/beanshell/blob/a8a1f5cb28caf9288dad5ce8922005807ecd6ea5/src/main/java/bsh/Capabilities.java#L96-L115
beanshell/beanshell@a8a1f5c also completes code coverage unit tests.


[API Integration] Wellcome Collection

Provider API Endpoint / Documentation
https://developers.wellcomecollection.org
Provider description
Most of the metadata we need is readily available (the license, attribution info, a link, a thumbnail, etc.). They have something we could use for the description meta_data field (which we like for search indexing).
Two considerations to look into further prior to integration:

Not much by way of tags.
Unclear if/how we can get only the newest data (vs having to pull the entire DB for every sync, which would mean less frequent syncs).

SECTIONS BELOW THIS POINT NEED TO BE WORKED ON PRIOR TO INTEGRATION
Licenses Provided

Provider API Technical info

General Recommendations for implementation

The script should be in the src/cc_catalog_airflow/dags/provider_api_scripts/ directory.
The script should have a test suite in the same directory.
The script must use the ImageStore class (Import this from
src/cc_catalog_airflow/dags/provider_api_scripts/common/storage/image.py).
The script should use the DelayedRequester class (Import this from
src/cc_catalog_airflow/dags/provider_api_scripts/common/requester.py).
The script must not use anything from
src/cc_catalog_airflow/dags/provider_api_scripts/modules/etlMods.py, since
that module is deprecated.
If the provider API has can be queried by 'upload date' or something similar,
the script should take a --date parameter when run as a script, giving the
date for which we should collect images. The form should be YYYY-MM-DD (so,
the script can be run via python my_favorite_provider.py --date 2018-01-01).
The script must provide a main function that takes the same parameters as from
the CLI. In our example from above, we'd then have a main function
my_favorite_provider.main(date). The main should do the same thing calling
from the CLI would do.
The script must conform to PEP8. Please use pycodestyle (available via
pip install pycodestyle) to check for compliance.
The script should use small, testable functions.
The test suite for the script may break PEP8 rules regarding long lines where
appropriate (e.g., long strings for testing).

Examples of other Provider API Scripts

For example Provider API Scripts and accompanying test suites, please see

src/cc_catalog_airflow/dags/provider_api_scripts/flickr.py and
src/cc_catalog_airflow/dags/provider_api_scripts/test_flickr.py, or
src/cc_catalog_airflow/dags/provider_api_scripts/wikimedia_commons.py and
src/cc_catalog_airflow/dags/provider_api_scripts/test_wikimedia_commons.py.

@mathemancer Can I work on this as part of my GSoC project?

@ChariniNana Yes, but before beginning development, it's important to answer the following:

[ ] What licenses do they use, and how can we find that info?
[ ] What metadata do they provide, and how well does it match up with the interface of the ImageStore class?
[ ] @annatuma mentioned that it's not clear how to pull just the info updated on a given day from their API.  Can you confirm this?  What is the total volume of the collection?  Is it feasible to pull the whole thing, e.g., monthly?

They seem to provide images of different license where the details of it is provided in the json response as follows (please try the GET request https://api.wellcomecollection.org/catalogue/v2/works/mtkdctvn)
"license": {
"id": "cc-by",
"label": "Attribution 4.0 International (CC BY 4.0)",
"type": "License",
"url": "http://creativecommons.org/licenses/by/4.0/"
}
Apart from the image description, I cannot see anything contained in the response that could go into the meta data field (it does not return information such as date created , views, etc.)
Need to explore a bit more to find if it's possible to pull just the info updated on a given day (no obvious method)

@ChariniNana It's okay if that's the case, as long as the overall volume isn't to large, and the speed is fast enough.  The main thing is to have some strategy to get all the data over time.

@annatuma I'm a bit concerned about this line in their developer docs:

There are some licensing restrictions, as different parts of the data may have different licenses. If it’s data that has been created by us, it’s CC0; if it’s not created by us, then it isn’t. We are working to make data licensing clear on a per work basis; in the meantime, if this is a concern, please get in touch.
(emphasis mine)

Have we been in touch with them regarding that?

In this section, it says that Europeana has used their APIs to include the images into Europeana. If this is the case, when Europeana is integrated into cc-search there could be data duplication.

@allen505 It's totally possible to have data duplication with our current set up.  We'd need to choose on a case-by-case basis whether to keep the data from Europeana (if it's usefully enriched, for example), or from the upstream provider.  Does the Europeana API give an ID of the upstream provider?  That would make future deduplication comparatively easy.

@mathemancer The provider field in the response gives the value of the Provider which should be
"provider": [                 "Wellcome Collection"             ] in this case.
The following query gives all the items which belong to Wellcome Collection:
https://www.europeana.eu/api/v2/search.json?wskey=API_KEY&query=*:*&qf=PROVIDER:"Wellcome+Collection"

That's awesome.  @annatuma I believe I remember that the folks at Europeana said that some of their providers were more reliable than others when it came to license labeling.  Do we have records about which providers those are?
We could use the same 'provider' vs 'source' scheme that we do for commoncrawl-sourced images for these aggregators.
@allen505 This is great info, thanks!

That's awesome. @annatuma I believe I remember that the folks at Europeana said that some of their providers were more reliable than others when it came to license labeling. Do we have records about which providers those are?
We could use the same 'provider' vs 'source' scheme that we do for commoncrawl-sourced images for these aggregators.
@allen505 This is great info, thanks!

@mathemancer sorry I missed this - we don't have information on that, but we'll check the record count for Wellcome once our Europeana integration is live, and ensure we're getting a full collection.


Version ID should be more accessible

One of the first checks should be for the version ID, probably before anything else.
It informs us if we're running a git build, PyPi release, if it's the latest version, and the user can quickly use that to check compatibility with instances on other machines.
Let's have it run before any of the major imports and log at 'info' loglevel.

Turns out that this may be a little unrealistic.
We can't log at 'info' loglevel because we need to retrieve the loglevel from yaml using SettingsManager, which runs its own series of long-running checks + spinners, logs and prints on init, so having a nice quick version number print after the title that obeys loglevel doesn't work.
It might also be considered (along with the title) something that shouldn't be easily hidden away by following the set log-level. It's super useful to know which version you're running straight-away. Especially if updating machines. Passing a CLI option or environment variable instead may be a good idea. Something like ffmpeg's --hide-banner or `--no-stats'

Version ID is now printed in a banner on every command run thanks to callback  in Typer. The --hide-banner option mentioned above is now a separate issue. See #160.
Implemented in #151


[CONTENT UPDATE] Update description of ADO to reflect changes in our capabilities

@boyd-nguyen and @Quiet27 to have a co-writing session for this


⚠ File access (beta) has degraded performance

In 7f2e550, File access (beta) (https://beta.fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 6070 ms

Resolved: File access (beta) performance has improved in 9d4e2bf.


Gradle error when building for android using eas build

Build/Submit details page URL
No response
Summary
EAS build using eas build -p android fails due to a gradle error and it seems to be related to @react-native-async-storage/async-storage and com.facebook.react.module.annotations. Building using expo build works fine though. Any ideas?
Managed or bare?
Managed
Environment
EAS CLI 0.45.1 environment info:
System:
OS: macOS 12.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.2 - ~/.nvm/versions/node/v16.13.2/bin/node
Yarn: 1.22.17 - ~/.nvm/versions/node/v16.13.2/bin/yarn
npm: 8.1.2 - ~/.nvm/versions/node/v16.13.2/bin/npm
Utilities:
Git: 2.23.0 - /usr/local/bin/git
npmPackages:
expo: ^44.0.5 => 44.0.5
expo-cli: ^5.0.5 => 5.0.5
expo-updates: ~0.11.5 => 0.11.5
react: 17.0.1 => 17.0.1
react-dom: 17.0.1 => 17.0.1
react-native: https://github.com/expo/react-native/archive/sdk-44.0.0.tar.gz => 0.64.3
npmGlobalPackages:
eas-cli: 0.45.1
Project workflow: managed
Error output
> Task :react-native-async-storage_async-storage:compileReleaseJavaWithJavac
[stderr] /root/workingdir/build/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageModule.java:27: error: package com.facebook.react.module.annotations does not exist
[stderr] import com.facebook.react.module.annotations.ReactModule;
[stderr]                                             ^
[stderr] /root/workingdir/build/node_modules/@react-native-async-storage/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageModule.java:35: error: cannot find symbol
[stderr] @ReactModule(name = AsyncStorageModule.NAME)
[stderr]  ^
[stderr]   symbol: class ReactModule
[stderr] Note<EMAIL_ADDRESS>uses or overrides a deprecated API.
[stderr] Note: Recompile with -Xlint:deprecation for details.
[stderr] Note<EMAIL_ADDRESS>uses unchecked or unsafe operations.
[stderr] Note: Recompile with -Xlint:unchecked for details.
[stderr] 2 errors
> Task :react-native-async-storage_async-storage:compileReleaseJavaWithJavac FAILED
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':react-native-async-storage_async-storage:compileReleaseJavaWithJavac'.
[stderr] > Compilation failed; see the compiler error output for details.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 4m 31s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9/userguide/command_line_interface.html#sec:command_line_warnings
204 actionable tasks: 204 executed

Reproducible demo or steps to reproduce from a blank project
eas build -p android on SDK 44

Duplicated issue - https://github.com/expo/eas-cli/issues/881

Any Idea how can i solve this error


Team Grading N@TM Rehearsal

TEAM KPNS!
USAGE OF:

[ ] Frontend
[ ] Backend
[ ]  API
[ ] Agile

HOOK:
Points: 3.6-4.0
Reason:
KNOWLEDGE:
Points: 3.6-4.0
Reason:
VALUE:
Points: 0.6-1.0
Reason:
WOW FACTOR:
Reason:

Criteria/Key Features:

[x] Frontend
[x] Backend
[x] API
[x] Agile

HOOK:
Points: 3.9
Reason: The hook was really good as cancer research is a growing field of research in the academic and professional world.
KNOWLEDGE: 3.85
Points: 3.6-4.0
Reason: Krishiv, Paarav, Sharay all demonstrated a lot of knowledge, they seem to have a clear passion for the resolving the issue of cancer research.
VALUE:
Points: 1 point
Reason: Cancer research has become a rising issue, and the value of this product can be very useful as we know, this project is genunely creative and shows value
WOW FACTOR:
Reason: The concept honestly. I think the overall idea is so cool, and overall the passion displayed was another WOW factor!!
FINAL GRADE: 8.75/9

Criteria/Key Features:

[X] Frontend
[X] Backend
[X] API
[X] Agile

HOOK:

Points: 3.6-4.0
Reason: 3.6/4.0
Strong and impactful topic that is relatable to many

KNOWLEDGE:

Points: 3.6-4.0
Reason: 3.6/4.0
Showed a strong understanding of how the technologies utilized were implemented

VALUE:

Points: 0.6-1.0
Reason: 0.8
This project, if scaled, will be extremely valuable to society and individuals suffering from cancer. It was intentially created in order to have the widest impact.

WOW FACTOR:

Reason:
Very strong and applicable concept, if expanded upon its impact could be very influential to spreading cancer awareness

TOTAL SCORE: 8/9

USAGE OF:

[x]  Frontend
[x]  Backend
[x]  API
[x]  Agile

HOOK: 3.8
Points: 3.6-4.0
Reason: good purpose, aims to educate
KNOWLEDGE: 3.8
Points: 3.6-4.0
Reason: search for cancer research on the frontend, calls backend, sends back corresponding cancer research.
VALUE: 0.8
Points: 0.6-1.0
Reason: searching for cancer research for education purposes
WOW FACTOR:
Reason:
8.4/10

USAGE OF:

[x] - Frontend
[x] -  Backend
[x] -  API
[x] -  Agile

HOOK: 4.0
Points: 3.6-4.0
Reason: The introduction of the issue of cancer really hooked me. I feel like such a big issue is much more interesting to hook people in than some complex code or something of that nature
KNOWLEDGE: 3.9
Points: 3.6-4.0
Reason: The presenters knew what they were talking about when it came to the issue at hand about cancer.
VALUE: 0.95
Points: 0.6-1.0
Reason: I think this is a great tool for learning about cancer.
WOW FACTOR: Its there.
Reason: I loved the body diagrams and the interactive game with them.
8.85/9

Big Tracta Grading
USAGE OF:

[x]  Frontend
[x]  Backend
[x]  API
[x]  Agile

HOOK: 3.6
Points: 3.6-4.0
Reason: Cancer research is a good hook. Cancer is bad :(
3.6
KNOWLEDGE: 3.5
Points: 3.6-4.0
Reason: Used cancer API and quotes API.
VALUE: 0.8
Points: 0.6-1.0
Reason: Great resource for cancer research
WOW FACTOR:
Reason: Very applicable.

Team 3 : cancer group

[x] Frontend
[x] Backend
[x ] API
[ x] Agile

HOOK:
Points: 3.6-4.0
Reason:3.6
KNOWLEDGE:
Points: 3.6-4.0
Reason: 3.8
VALUE:
Points: 0.6-1.0
Reason: 0.7
WOW FACTOR:
Reason: 0.9

Mort; 8.37/9
Vivian: 8.46/9
Vishnu 8.89/9
Grace: 8.9/9
Mati: 8.1/9
TOTAL:  42.68/5 = 8.536/9 = 0.948

Parav Self Grading
USAGE OF:

[x]  Frontend
[x]  Backend
[x]  API
[x]  Agile

HOOK: 3.9
Points: 3.6-4.0
Reason: Hook was solid and engaging to audience
KNOWLEDGE: 3.9
Points: 3.6-4.0
Reason: Used cancer API and quotes API and was able to show understanding
VALUE: 1
Points: 0.6-1.0
Reason: Very valuable for future use
WOW FACTOR:
Reason: Very applicable.
8.8/9


lua-language-server: 3.13.4 -> 3.13.5

Release: https://github.com/LuaLS/lua-language-server/releases/tag/3.13.5
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 366747

x86_64-linux

:white_check_mark: 8 packages built:

lua-language-server
lua51Packages.llscheck
lua52Packages.llscheck
lua53Packages.llscheck
lua54Packages.llscheck
luajitPackages.llscheck
lunarvim
vscode-extensions.sumneko.lua


on log emitter fires before log is written

My node function is not long lived. (AWS Lambda).  My last log call is not making it to logentries before the process exits.  I tried using the logger.on method but it appears the emitter is called before any log is written.
// final log
log.log("info", { bucket: BucketID, session: sessionID, message: "All done!" });
// wait for the log to complete to call context.done
log.on('log', context.done(h_err, "Lambda processing complete."));

It would make more sense for the log event to emit after the write is confirmed.

Hey there,
I would suggest trying out the following version of the Logentries client developer by one of our developers https://github.com/bathos/logentries-client
Regards,
Stephen

Afraid that wouldn't help in this case, Stephen. I had retained the behavior that the 'log' event fires after the log data is prepared and before it gets written (internally this is actually a bit different, but the issue described here would remain). I'll investigate possible solutions as I continue on the le_node=>logentries-client transition, but I suspect what will really be needed here is to expose a means for users to listen for the write buffer of the net/tls connection becoming empty (i.e. a new event). The underlying net connection is totally agnostic to the idea of "logs" -- it's just a stream of data, and I don't think there's any way to categorically say "one specific log entry has been written & transmitted".

Thanks for the fast response guys.
I'd settle for "queue is empty" and "all packets acknowledged".
In the grand scheme of things I realize this feels a bit edge case.  However with the rising popularity of micro services it's going to be more common.

The new version solves this by exposing the "connection drain" event.

excellent.  I will give 1.0.2 a spin.  Thanks!


Create addFile.md

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/addFile.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


HTTP Error 502.3 – Bad Gateway on long runnig task.

I have platformhandler 1.2 installed.
I am not using ARR.
Actually my app works.

But:
When running long running operation (more than 120 sec), i am getting error:
HTTP Error 502.3 - Bad Gateway
The specified CGI application encountered an error and the server terminated the process.
In empty project:
[Route("api/[controller]")]
public class ValuesController : Controller
{
        [HttpGet]
        public async Task<IEnumerable<string>> Get()
        {
	      await Task.Delay(130000);
            return new string[] { "value1", "value2" };
        }
}

"dependencies": {
		"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
		"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
		"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
		"Microsoft.AspNet.Server.WebListener": "1.0.0-rc1-final",
		"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
		"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
		"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
		"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
		"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
		"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
	},

  "commands": {
    "web": "Microsoft.AspNet.Server.WebListener"
  }

EventViewer:
The description for Event ID 1000 from source HttpPlatformHandler cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
Process '5956' failed to start. Port = 28429, Error Code = '-2147023265'.

Do not use WebListener with IIS, use Kestrel instead. https://github.com/aspnet/IISIntegration/issues/8


ACM-13064: ClusterInstall: Update status first

When reconciling a ClusterInstall, we may need to update both the spec and the status of the ClusterDeployment, and those need to be done in separate operations (because subresource). If both succeed, great. If the first fails, fine -- we'll requeue and try the whole thing again. But if the first succeeds and the second fails, we need to make sure we're in a state where the subsequent reconcile will still retry it.
Prior to this commit, we were doing the spec update first. In a normal sequence, this would set cd.Spec.Installed to true, which would activate a branch on the subsequent reconcile that would skip the routine that would have retried the status update.
This commit swaps the order -- we do the status update first -- based on the fact* that the affected fields have no effect on the controller logic flow elsewhere, thus allowing subsequent reconciles to hit the correct routine again and perform the spec update to complete the contract.
*hope
ACM-13064

/jira refresh

/hold
Still working through this.

/cc @dlom

/assign @dlom
/cc @suhanime
While working on this, I discovered that Mark had most recently touched the code in this area, so reassigning.

/hold cancel

fmr: thread where this was developed and tested live.

/lgtm


Fixed bug 244, Npm install fails on windows

Updated package.json to include cross-env in order to fix the bug 244

Thanks a lot for addressing this!


Update broken links in documentation

There are some broken links in formatters documentation. So I have fixed all of them.

Thank you!


[Request] Add Open-Shell

Would it be possible to add Open-Shell found on GitHub here: https://github.com/Open-Shell/Open-Shell-Menu

I have this so far. It extracts fine but I don't know what to do next.
{
    "version":  "4.4.160",
    "description": "Classic style Start Menu for Windows 7, 8, 8.1, 10"
    "license":  "MIT",
    "url":  "https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v4.4.160/OpenShellSetup_4_4_160.exe#/dl.7z",
    "homepage":  "https://github.com/Open-Shell/Open-Shell-Menu",
    "checkver": "github",
    "autoupdate": {
        "url": "https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v$version/OpenShellSetup_$underscoreVersion.exe#/dl.7z",
    }
}

Got this:

Expecting this:

I'm terribly sorry that I personally don't know what needs to be done next to make it a complete package for Scoop, but I do appreciate you for at least attempting to make one.

I did some investigation and I'd say it's a self-extract archive containing obfuscated (XOR-ed) MSI files. Have no idea why it was packed so.

Hello, here is my part of the manifest for open shell. I tried to make it portable, but after doing a lot of testing that almost broke my Windows OS, I have concluded that it should be implemented as a non-portable application instead.
Here is my try on the manifest:
{
    "version": "4.4.170",
    "homepage": "https://github.com/Open-Shell/Open-Shell-Menu",
    "description": "A fork of Classic Shell with additonal fixes and more features.",
    "license": "MIT",
    "url": "https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v4.4.170/OpenShellSetup_4_4_170.exe#/package.exe",
    "hash": "0417041CFFED3478F13A840E45EE304CCF8D1F9CA38E4126BC315161AC9F1669",
    "pre_install": [
        "Set-Location $dir; Start-Process \"$dir\\package.exe\" -Wait -Verb 'RunAs' -ArgumentList 'extract64' | Out-Null; Set-Location",
        "Remove-Item \"$dir\\package.exe\" | Out-Null; Rename-Item \"$dir\\*\" 'package.msi' | Out-Null"
    ],
    "checkver": "github",
    "autoupdate": {
        "url": "https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v$version/OpenShellSetup_$underscoreVersion.exe#/package.exe"
    }
}

Fair enough, and I appreciate you getting back to this old issue – cheers @Zliced13.

You can add my bucket if you want to try the manifest file out for yourself.
scoop bucket add MyScoop 'https://github.com/Zliced13/MyScoop'
scoop install open-shell-np


Remove premium and update project

Hi,
Thanks a lot for this amazing project!
Please keep it alive as we cannot use our Gear Fit 1 with latest phone (S22 and newer).
When we try to connect, with an S24 for eg, Samsung Wearable starts automatically and is unable to handle our old Gear Fit 1.
Without OpenFit, I can connect to it! Thanks! ❤❤
Small questions:

can you please remove premium paywall sync for Google Fit?
can you please update the project?
add apk release as it is not downloadable from Google Play?

Thanks again ❤

Sorry, i have not had time to update this project.

Hi,
I'm a developer as well so I can manage if you guide me.😉
I self built the app but I'm unable to login back to GoogleFit.
Couple of questions:

What do I need to configure?
Should I create a new app in the Google developer console?
How can I link both (the app I built and my console)?
What steps did you do to make it working?

Thanks


Make get total memory cgroup-aware

Feature Request
Is your feature request related to a problem? Please describe:
When TiKV calculating block-cache-size, it uses /proc/meminfo to get total memory. Unfortunately
/proc/meminfo, /proc/vmstat and friends are not containerized. Meaning that they are not cgroup-aware. So for docker with limited memory resource, TiKV may set a too large block cache size and easy to OOM.
Describe the feature you'd like:
maybe we can check cat /sys/fs/group/memory/memory.limit_in_bytes to make it cgroup-aware

I think this is better handled during deployment, the auto provisioning tools like Ansible or Kubernetes should get the real and accurate cpu/memory easily.

Now I think it's better to make TiKV aware the cgroup resources itself which makes it more cloud-native. However, cgroups may reside in other directories, so we should not rely on /sys/fs/cgroup/memory/memory.limit_in_bytes for cgroup resources.
In Docker container, since there is usually only one process, the cgroup subsystems all reside in the root, that is /sys/fs/cgroup. However users can create cgroup subsystem themselves in any directory.
Instead we should follow similar approach as automaxprocs to find the exact cgroup subsystem path, all the resource limits are configured there .

Parse /proc/self/cgroup
Parse /proc/self/mountinfo
Get the cgroup subsystem (cpu, memory etc) path from the above info


nixos/installer: Reword comments in the generated configuration.nix and hardware-configuration.nix files

Description of changes
See the commit messages for more information, but to make this brief, this is to improve onboarding of new NixOS users by not having a misleading comment in hardware-configuration.nix saying they should not edit this file when it's another ordinary module, this also wants to help with people confusing the module system with the language itself by
adding a comment providing a link to writing NixOS modules.
I'm not the best at composing sentences, so if you have better suggestion(s) please do leave
a review!
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

I think it'll be more confusing when sudo nixos-generate-configuration eventually overrides user's hardware-configuration.nix, which may have changes.
Not to discourage this PR, but I think the current wording clearly communicates the possibility of this issue, and explains what to do instead (configuration.nix is not overriden, hardware-configuration.nix is)

I think it'll be more confusing when sudo nixos-generate-configuration eventually overrides user's hardware-configuration.nix, which may have changes unless the user is clearly pointed at the correct file.
Not to discourage this PR, but I think the current wording clearly communicates the possibility of this issue, and explains what to do instead (configuration.nix is not overriden, hardware-configuration.nix is)

I see your point but in the perspective of a beginner, this makes it look like a "special" file in the context of NixOS when it's only special in the context of nixos-generate-config, and there is a warning saying as much, but I believe a statement like "Do not edit this file!" is a bit misleading to the eyes of a beginner IMHO.


Mark stars with old journals?

I love features of journal very much. And there is a feature called starred journal, which is very cool. However, how could I mark stars on old journal? I tried inserting asteriks to old journal in editor (following rules there is no space around asteriks already) but when I type: "jrnl -starred", nothing is showed up.

Hi, this seems to work for me when I do this:
$ jrnl foo
[Entry added to default journal]

$ jrnl -starred
# no output

$ jrnl --edit
# change entry from
# [Sat, 20 Apr 2019 11:34 AM] foo
# to
# [Sat, 20 Apr 2019 11:34 AM] foo*
[1 entries modified]

$ jrnl -starred
Sat, 20 Apr 2019 11:34 AM foo

If this isn't working for you, can you please provide some more info?

Which version of jrnl are you using?
Which editor are you using?
Which OS are you using?
Please paste your input and the line you are editing exactly, so we can see what you are doing.

Thank you!


⚠ Spryr has degraded performance

In 8db25bd, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3522 ms

Resolved: Spryr performance has improved in 7d39a70 after 7 minutes.


[Android] [nightly] Calling TrackPlayer.reset causes Android app to crash

Describe the Bug
Calling TrackPlayer.reset causes Android app to crash
Steps To Reproduce

Run example android app - https://github.com/doublesymmetry/react-native-track-player/tree/main/example
Add Button with TrackPlayer.reset
Press the reset button (does not matter if track is being played or stopped)
App crashes

Code To Reproduce
Add this code after <PlayPauseButton /> in example/src/components/PlayerControls.tsx
<Button
  title="Reset"
  onPress={() => TrackPlayer.reset()}
  type="secondary"
/>

Replicable on Example App?
Yes
Environment Info:
Paste the results of npx react-native info -
System:
OS: macOS 12.6
CPU: (8) arm64 Apple M1 Pro
Memory: 294.03 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.17.1 - /opt/homebrew/opt/node@16/bin/node
Yarn: 1.22.19 - ~/.yarn/bin/yarn
npm: 8.15.0 - /opt/homebrew/opt/node@16/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 16.0, macOS 12.3, tvOS 16.0, watchOS 9.0
Android SDK:
API Levels: 29, 30, 31, 32, 33
Build Tools: 29.0.2, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 32.1.0, 33.0.0
System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play ARM 64 v8a, android-30 | Google Play Intel x86 Atom, android-31 | Google Play ARM 64 v8a, android-32 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2021.3 AI-213.7172.25.2113.9014738
Xcode: 14.0/14A309 - /usr/bin/xcodebuild
Languages:
Java: 11.0.11 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Paste the exact react-native-track-player version you are using - nightly build (main branch)
Real device? - Or simulator? Both real device and simulator
What OS are you running? - macOS Monterey (12.6)
How I can Help
What can you do to help resolve this? - Participate in discussion
Have you investigated the underlying JS or Swift/Android code causing this bug? - Yes, could not find any useful info to help identify the problem
Can you create a Pull Request with a fix? - Not yet
https://user-images.githubusercontent.com/55248414/203612323-85b7a825-c53e-4296-8f19-8ab9aab5dd09.mov

We had the same issue

Thanks – I can reproduce this bug..
It isn't actually crashing - it is stopping itself due to this being called: https://github.com/doublesymmetry/react-native-track-player/blob/17856ee72108823befd4bb7289a35a05b904a3e6/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt#L395-L405
Introduced in the following pull request: https://github.com/doublesymmetry/react-native-track-player/pull/1730
@mpivchev perhaps you know more?

exitProcess(0) was introduced in this pr: https://github.com/doublesymmetry/react-native-track-player/pull/1762
Where @mmmoussa already reported the reset issue: https://github.com/doublesymmetry/react-native-track-player/pull/1762#discussion_r988053971

Duplicate of #1768 I believe

Any progress on this issue?

@HyopeR open to pull requests! I'll happily review one if you send it my way.

Ah damn. I'm using nightly to get this fix https://github.com/doublesymmetry/react-native-track-player/commit/e742959cc1d697d69daeade39830155bce2ccde7 but now I'm facing this crash when calling reset :(

@gavrichards sorry to hear that. My biggest problem in getting this moved forward is I'm not sure what the proper fix is. Some people have mentioned they use  https://www.npmjs.com/package/react-native-exit-app, I wonder how that does it. Maybe we can get some insights there.
If someone submits a PR with a proper fix that passes testing I'll definitely get it merged so it's available in nightly.

Thanks @jspizziri, really appreciate the offer of a quick merge. Sadly I'm no help here but hopefully someone has the answer.

In my case I'm using reset to stop whatever is playing (if anything) and replace it with a new track. It's a single track app, as I either play a live radio stream, or a recorded radio program. Is there a workaround for reset in this scenario?
I'm thinking maybe I could pause and remove a currently loaded track if there is one, instead of calling reset. I don't know if that would make a difference though.

I am currently trying to resolve this issue. The information I have so far is as follows: If Capability -> Stop button is used, the foreground service is stopped completely.
In the current structure, if the application is closed on the android side and the process.exit() in the code is not used, the foreground service does not stop.
So I am trying to achieve Capability -> Stop behavior during STOP_PLAYBACK_AND_REMOVE_NOTIFICATION.

Does anyone know of any works arounds to this? Like for example could you call TrackPlayer.remove(0) instead of TrackPlayer.reset()?

@jspizziri Sorry for the inconvenience. I think it may have been overlooked. I opened a pr for this topic.

Any workarounds while this is getting fixed?

I just tried
await TrackPlayer.reset();
on Android and it's not crashing anymore.
Could this have got fixed already?

In case this helps someone, what I'm doing temporarily is (only for Android):
        await TrackPlayer.removeUpcomingTracks();
        await TrackPlayer.pause();
        await TrackPlayer.add(queue);
        await TrackPlayer.skipToNext();
        await TrackPlayer.play();

@puckey we're running into a crash with calling TrackPlayer.reset on Android, but I don't think TrackPlayer.load will work for us. We have both react-native-track-player nightly, and react-native-video v6, and when switching from the RNTP player to the RNV player, I'd like to clear the RNTP playlist and remove the now playing item. Is there a way to do this without .reset?

Please see the following pull request for a fix to this behavior – it will need some testing though to make sure it doesn't cause any unwanted side effects: https://github.com/puckey/react-native-track-player/commit/5b4ef94ead98b1060bb62812799174e9d3518814

@puckey the primary side-effect to watch out for here I think is the AppKilledPlaybackBehavior.
There's another PR open that's similar which I've already provided feedback for (although it's stale at this point) https://github.com/doublesymmetry/react-native-track-player/pull/1879/files.
Not sure what your thoughts are in that regard.

Okay good to know – so the unwanted side-effect caused by removing exitProcess(0) is that exiting the app by swiping it away in the app switcher does initially cause the notification to be removed. But when opening the app again, starting playing and swiping away to exit again, the music keeps playing and the notification doesn't go away. Hm.

Will look into this other PR – looks promising.

@puckey that was why it was originally introduced yes IIRC.
I've been meaning to do a deeper dive on that other PR as I believe it has the correct fix, but haven' had the time to validate it.

@jspizziri great – I was able to fix things by incorporating one of the commits from that pr. See https://github.com/doublesymmetry/react-native-track-player/pull/1908

Any idea when there will be a new stable release with the changes related to this issue and the "AppKilledPlaybackBehavior.STOP_PLAYBACK_AND_REMOVE_NOTIFICATION" fix?


Rewrite scaling logic

@msrb Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/worker-scaler:SNAPSHOT-PR-21


Makefile OS recognition

What and why is needed
This file is made as of now it’s only executable in a macOS environment using Makefile, extend it to be compilable with Linux and maybe windows
How to implement it
Additional content

#1 was added Makefile -> moving to CMake for multi platform installation

Created CMakeLists.txt to handle every possible OS, tested for ubuntu 20.04


Remove 'Tekton: ' prefix for snippets

Fix: #339
Ordering was wrong because all snippets has Tekton: , in most cases we call completion after : , this force vscode to 'think' that we want to complete :  and vscode sort completion list by completion text, that way all completion items which do not have : in label is placed at the bottom of completion list.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #358   +/-   ##
=======================================
  Coverage   73.85%   73.85%
=======================================
  Files          47       47
  Lines        3435     3435
  Branches      638      638
=======================================
  Hits         2537     2537
  Misses        898      898

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 416cd9e...6d529bd. Read the comment docs.


Documentation on the LLFF data scene?

Hi Chen-Hsuan,
Do you have any documentation regarding how to set up another scene experiment? I did not found anything on the readme  nor in the paper.
I'm refering to this folders and files:

Thanks in advance,

Hi @franciscoWizz, for now we assume that the incoming frames from the sequence are all equally sized and specified in self.raw_H and self.raw_W. The yaml files specify how you would want to resize your images (opt.data.image_size), which would rescale your intrinsic parameters accordingly. Hope this helps!

Closing for now, please feel free to reopen if you have further questions!


Fixes to get code running

Some edits:

tree.getpath(i) was failing due to i being set to a string instead of an etree object in the previous line. After fixing this issue I also renamed instances of i to "extent" to be more semantic
the "with" statement closes the csv automatically; having the separate csvfile.close() line leads to a crash
Python 3 compatibility (enclosing print statements in parens)
Since etree is the only lxml function that is used, we can remove the full lxml import

Thanks!


REFACTOR: extracting uploads from chat-composer code

attempts to test chat-composer-uploads and chat-composer-upload in isolation, note that inProgressUploads are currently very hard to test
slightly simplify styling
adds a halo when drag & dropping files on the textarea
moves css code in dedicated files

@martin-brennan I have way too many refactors to handle, can you take this? Sorry I should have delegated this one earlier.
It's kinda critical we make chat-composer as lightweight as possible. cc @ZogStriP


A11y_AzureDataStudioAAE_Azure ADC(Preview)_Azure Configuration_Keyboard: Keyboard focus is not visible on "Next" button while navigating with help of tab key.

“Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags: #A11yMAS;#A11yTCS;#A11ySev2;#SH_AzureDataStudio_AAE_Jun2021;#SQL Azure Data Studio;#Win10;#FTP;#DesktopApp;#Keyboard;#WCAG2.4.7;#AINotInScope;
Environment Details:
Application Name: Azure Data Studio-AAE
Windows Version: Win10
Repro Steps:

Launch the application-Azure Data Studio-Insiders and install extension Azure arc and Azure data ClI
Connect to Azure Arc Controller
Tab till "Connection" and tab to see more button
Tab to "New Deployment" and Azure ADC(Preview) and then tab select button
Deployment Prerequisite page will open and tab on next "Select from existing Kubernetes cluster" will open
Tab till  "Next" button and see focus

Actual:
Keyboard focus is not visible on "Next" button as there is no outline is visible on next button while navigating with help of tab key.
Similar issue is present throughout the application where buttons have blue background.
Expected:
Keyboard focus should be visible on  "Next" button while navigating with help of tab key, Change to Keyboard focus should be properly visible as outline..
User Impact:
Low vision users will not know where the keyboard focus goes on "Next" button or not.

This has been fixed with the latest VS Code merge

closing not repro

GitHub Tags: #Closed;


Output doesn't play nice with non-interactive stdout

It would be nice if the animated progress output was disabled when piping to something non-interactive (eg. less):
^MConfiguring logging... -^MConfiguring logging... \^MFull execution log: '/home/ubuntu/.local/share/cou/log/cou-20240612112036.log'
^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnecting to 'admin/openstack' model... -^MConnecting to 'admin/openstack' model... \^MConnecting to 'admin/openstack' model... |^MConnecting to 'admin/openstack' model... /^MConnected to 'openstack' ✔
^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cloud... /^MAnalyzing cloud... -^MAnalyzing cloud... \^MAnalyzing cloud... |^MAnalyzing cl
...

User should have a argument to disable this.


MWPW-147913: Prevent Users From Uploading When They're Signed In

Resolves: MWPW-147913
Test url:
https://main--dc--adobecom.hlx.page/acrobat/online/compress-pdf?martech=off
https://mwpw-147913--dc--adobecom.hlx.page/acrobat/online/compress-pdf?martech=off

❗  this covers a corner case but could degrade performance significantly for all users and may miss new cases for error handling


fix: dav delete via resource id

Fixes an issue where deleting a resource via its id, using the /dav/spaces/{fileId} endpoint, wouldn't work.
The issue was happening because the code was checking for an empty path to prevent spaces from being deleted this way (because spaces have an empty path). When only providing a resource id however, the path will be empty for regular resources as well. For this reason we now additionally check for the resource's opaqueId. If the resource doesn't have such and the path is empty, we can assume that it's a space and prevent deletion via the dav endpoint.
fixes https://github.com/owncloud/ocis/issues/9619

@kobergj Pinging you specifically for a review because I saw that you touched the initial code a while ago :)


[13pt] Produce CatFIM with alternative method (Crane method)

Use HAND SRCs to back-calculate the flow required to yield the official AHPS stage, then apply that same flow 5 miles up and downstream of point.
Create new outputs with different filename to distinguish from original CatFIM method.

I believe this graphic illustrates the idea. I think if we break it down into these steps:
Step 1: Get Threshold Water Surface Elevation (action stage + gage datum)
Step 2: Get HAND stage (action water surface elevation - HAND datum)
Step 3: Get HAND flow (Use rating curve to get flow corresponding to HAND stage)
Step 4: Apply flow to all NWM segments (10 mi upstream/downstream)


Use Shellcheck on CI for static analysis of Bash scripts

Title: Use Shellcheck on CI for static analysis of Bash scripts
Description:
Shellcheck is a shell script analysis tool with numerous flags for atypical or dangerous bash constructs. Shellcheck's Gallery of Bad Code gives examples of what it catches. It's how I identified this minor bash issue in Envoy previously.
Shellcheck is additionally configurable so we can disable flags we don't want at the global level, file level, or line level for one-off exceptions. My team has been using Shellcheck and found it quite helpful. The only downside I know of is that it doesn't have a --fix flag like clang-tidy does.

@mattklein123 im happy to take this

Nice! Thanks.


Update Layout Patterns naming for the website

Objective
To make sure the pattern naming and descriptions match across the website left navigation, the Layout Pattern overview page list.
Task

[x] Audit pattern naming in both areas
[x] Share the audit with the team
[x] Finalize the naming
[x] Update the nav and list on the website

Acceptance criteria

[x] Naming on consistent across the website.
[ ] ~Make sure there's a task issue for the Dev team to work on the Storybook pattern naming and description updates.~

All website left navigation and the overview page list is up to date and followed the Airtable inventory list.


feat : update the favicon of this website

I would like to point it out that we can add a custom favicon to go on with this site.
Pls assign this to me so that i can work on a fix for this issue.

Assigned it to you! Please work on it @tmsagarofficial

We can use the Know Nepal logo for the favicon @tmsagarofficial

I meant this logo https://avatars.githubusercontent.com/u/116947957?s=200&v=4
The logo you suggested is the logo of Government of Nepal


Docs should talk about how to staple the Apple notarization ticket to the application

The docs for Signing and notarization on macOS talk about how to send the notarisation request to Apple, but this is only step one of the process.
Step two is to staple the resulting ticket to the app, but steps for doing this in the build are currently undocumented.
On top of that, the order of operations seems different to what you'd gather from reading Apple's docs.
The flow as the docs here currently describe it:

Build the DMG
Notarize the DMG
Staple the ticket to the DMG (not mentioned but obviously a necessary part of the build)

The flow as Apple describe it:

Build the app
Notarize the app
Staple the ticket to the app
Put the app into the DMG

I know the notarisation process takes a while as well ("within an hour") which does stall the build for however long that takes to happen, but I guess tests and other things can still be run while that sits in Apple's queue.

Thanks for the information, saved my day!
Here are some extra information and practices for people doing signing and notarization on macOS:
On your local machine

Make sure all settings are finished as the tutorial described.
Run notarizeDmg task
Wait for the notarization process to be finished (will be notified via email)
Run command xcrun stapler staple <path_to_your_dmg> (this command seems to get errors before the notarization is done)
Finished! 🎉

On remote machines e.g. GitHub Actions
Since the notarizeDmg task doesn't wait for the process to be finished, I used the xcrun notarytool submit command instead.

Make sure all settings are finished as the tutorial described. (same as the local case)
Run packageDmg task
Run command xcrun notarytool submit <path_to_your_dmg> --apple-id ${{ secrets.APPLE_ID }} --password ${{ secrets.APP_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait. It blocks until the notarization process has finished. (This example uses GitHub project secrets to provide private info. You can choose other ways to provide the password as written in Apple's documentation)
Run command xcrun stapler staple <path_to_your_dmg>
Finished! 🎉

Obviously we'd want this automated though.

On top of that, the order of operations seems different to what you'd gather from reading Apple's docs.

The discussions on Apple's developer forums seem to imply that stapling a Dmg should work https://developer.apple.com/forums/thread/671514
We will definitely document stapling.

For my own purposes, if notarizeDmg waited for it to finish and stapled it for me that would be perfect. For work purposes, we might have other options... I'm not really sure.

We might also add a task to wait for the end of notarization and staple the resulting container. However, I am also not sure that it would be a universal solution

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.