Consider providing a history-to-selection-path printing helper

In #222 @tobias-johansson added a Show instance for DecodingFailure that provides a handy path representation of the history:
DecodingFailure at .bar.baz.qux.a: String
DecodingFailure at .bar.baz.qux.b: Boolean
DecodingFailure at .bar.baz.i[2]: Int

I was just wondering whether it might make sense to factor out the path-printing part to something like a def opsToPath(history: List[HistoryOp]): String method on the HistoryOp companion object that would be usable in other contexts. For example, I could imagine Finch users wanting to prepare a custom error message from a DecodingFailure that would use the nice path part without the DecodingFailure at… context.
What do people think?

@travisbrown I think breaking this out is a good idea.
Originally I created a Show[List[HistoryOp]] in the HistoryOp companion object, but it felt a bit weird defining a Show for a specific type parametrization of List, and also potentially confusing having both that and the default Show[List[A]] from Cats available.
So a function def opsToPath(history: List[HistoryOp]): String sounds good

Closing in cleanup run, If anyone cares about this, please comment and I'll reopen.


Change IDF location after installing idf-tools (IDFGH-10353)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0.2
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
It should be possible to change the location of esp-idf after idf tools have already been installed (via adapting IDF_PATH env variable accordingly).
What is the actual behavior?
Installing IDF tools for only specific targets (esp32s3 in my case) from a copy of esp-idf at any location on the host machine succeeds with customized IDF_PATH and IDF_TOOLS_PATH environment variables pointing to the appropriate directories. Hence the "export.sh" script can be sourced without errors.
When now changing IDF_PATH to another copy (of the same IDF version) the export script fails claiming missing tools although those are not required.
Steps to reproduce.
export IDF_TOOLS_PATH=/tmp/esp-idf-tools
export IDF_PATH=/tmp/esp-idf-1
git clone --recursive -b v5.0.2 https://github.com/espressif/esp-idf.git ${IDF_PATH}
${IDF_PATH}/install.sh esp32s3
...
( . ${IDF_PATH}/export.sh )

Output of export.sh script:
Detecting the Python interpreter
Checking "python3" ...
Python 3.8.10
"python3" has been detected
Checking Python compatibility
Checking other ESP-IDF version.
Using a supported version of tool cmake found in PATH: 3.16.3.
However the recommended version is 3.24.0.
Adding ESP-IDF tools to PATH...
Using a supported version of tool cmake found in PATH: 3.16.3.
However the recommended version is 3.24.0.
Checking if Python packages are up to date...
Constraint file: /tmp/esp-idf-tools/espidf.constraints.v5.0.txt
Requirement files:
 - /tmp/esp-idf-1/tools/requirements/requirements.core.txt
Python being checked: /tmp/esp-idf-tools/python_env/idf5.0_py3.8_env/bin/python
Python requirements are satisfied.
Added the following directories to PATH:

  /tmp/esp-idf-1/components/espcoredump
  /tmp/esp-idf-1/components/partition_table
  /tmp/esp-idf-1/components/app_update
  /tmp/esp-idf-tools/tools/xtensa-esp-elf-gdb/11.2_20220823/xtensa-esp-elf-gdb/bin
  /tmp/esp-idf-tools/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/bin
  /tmp/esp-idf-tools/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin
  /tmp/esp-idf-tools/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin
  /tmp/esp-idf-tools/tools/openocd-esp32/v0.11.0-esp32-20221026/openocd-esp32/bin
  /tmp/esp-idf-tools/python_env/idf5.0_py3.8_env/bin
  /tmp/esp-idf-1/tools
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:

  idf.py build

All fine up to here. Now change location of esp-idf (or clone to a new one)
export IDF_PATH=/tmp/esp-idf-2
git clone --recursive -b v5.0.2 https://github.com/espressif/esp-idf.git ${IDF_PATH}
...
( . ${IDF_PATH}/export.sh )

Error message:
Detecting the Python interpreter
Checking "python3" ...
Python 3.8.10
"python3" has been detected
Checking Python compatibility
Checking other ESP-IDF version.
ERROR: tool riscv32-esp-elf-gdb has no installed versions. Please run '/usr/bin/python3 /tmp/esp-idf-2/tools/idf_tools.py install' to install it.
ERROR: tool xtensa-esp32-elf has no installed versions. Please run '/usr/bin/python3 /tmp/esp-idf-2/tools/idf_tools.py install' to install it.
ERROR: tool xtensa-esp32s2-elf has no installed versions. Please run '/usr/bin/python3 /tmp/esp-idf-2/tools/idf_tools.py install' to install it.
Using a supported version of tool cmake found in PATH: 3.16.3.
However the recommended version is 3.24.0.

Build or installation Logs.
No response
More Information.
Same approach is working with IDF v4.4.4

Aren't you missing ${IDF_PATH}/install.sh esp32s3 after the second git clone? It should work fine if you do run the install script, as mentioned in the getting started guide.

Aren't you missing ${IDF_PATH}/install.sh esp32s3 after the second git clone? It should work fine if you do run the install script, as mentioned in the getting started guide.

This is intentionally not done as both IDF copies are expected to be identical.
Background is that the project's compile run is done inside a self-built docker container whose image already has the idf-tools installed (read-only) but not the IDF sources. The latter are part of the project and hence are run-time mounted into the container. But the actual mount path is considered unknown (it may change e.g. due to different users, Jenkins instances, etc.) so the IDF source path at container image creation time differs to the one at container run time. An additional requirement is to have a fixed build setup without any external dependencies e.g. to github (which probably would be introduced with a call to install.sh at the second run).

An additional requirement is to have a fixed build setup without any external dependencies e.g. to github

I understand, this is the requirement we don't support, then. (It just so happened to work in v4.x, but wasn't by design.) I would relabel this as 'feature request' rather than a 'bug', and look for a way to offer you a procedure which would meet your requirements.
(Thanks for clearly explaining your use case, by the way!)
I would suggest trying to capture the environment variables at installation time. Then at container run time you only need to set IDF_PATH and then source the environment variables. To get the environment after running install.sh, call idf_tools.py export and store stdout in a file. Then make sure your container entry point sources this file.
One thing i would suggest taking care of in this approach is not getting the tools and python packages outdated relative to IDF requirements. I.e. make sure you have different versions of the image for different versions of IDF.

I understand, this is the requirement we don't support, then. (It just so happened to work in v4.x, but wasn't by design.) I would relabel this as 'feature request' rather than a 'bug', and look for a way to offer you a procedure which would meet your requirements.

I'm fine with it, thanks for attending to the issue.

I would suggest trying to capture the environment variables at installation time. Then at container run time you only need to set IDF_PATH and then source the environment variables. To get the environment after running install.sh, call idf_tools.py export (https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-tools.html#idf-tools-py-script) and store stdout in a file. Then make sure your container entry point sources this file.

Just for my own clarification: Your proposal means not to source export.sh within the entrypoint but the previously stored environment instead, right? I will try...

One thing i would suggest taking care of in this approach is not getting the tools and python packages outdated relative to IDF requirements. I.e. make sure you have different versions of the image for different versions of IDF.

I always kept that in mind. The image version is coupled to the IDF version ;)


Allow wildcard syntax when searching for hex strings

Is your feature request related to a problem? Please describe.
Scanning for sequences of bytes with wildcards should not require writing a plugin.
Describe the solution you'd like
Some sort of wildcard syntax for hex strings. i.e. * or ? or ??.
?? could allow for matching nibbles inside bytes, yara-style.
Describe alternatives you've considered
Current plugins are outdated and plugins themselves would presumably be much slower than native integration.

Thanks for the report! Closed in favor of #2788.


Error: Compile Error: Method was removed after version 35.0: postFeedElement at line 109 column 40

I'm getting error when adding the class into my instance with API 40.

It looks like the last paramater is no longer used.
Try this instead.
return ConnectApi.ChatterFeeds.postFeedElement(communityId, input);
From:
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_ConnectAPI_ChatterFeeds_static_methods.htm
In version 36.0 and later, this method is no longer available because you can’t create a feed post and upload a binary file in the same call. Upload files to Salesforce first, and then use postFeedElement(communityId, feedElement) to create the feed post and attach the files.


Initial version of FEDERATION.md

Intended as a starting point that can updated over time. Closes #74

Looks great, thanks @steve-bate 👍🏻


Remove ProviderID for Microsoft and Yahoo

we never document this api in the doc, so it's not public. none of the user use this api because the related feature is not announced yet anywhere. So we can safely remove. @ryanwilson

As an alternative, we can just modify the const string and change "hotmail.com" to "microsoft.com". This does not make any api changes.

These APIs are part of our reference docs:
FIRMicrosoftAuthProviderID, FIRYahooAuthProviderID
Regardless if they're mentioned elsewhere, they're still part of the public API and developers could have started using them. Even if nobody is using them, it would break semantic versioning.
Changing the const string is also a breaking change since it's a change in behaviour which is probably worse than just removing the API - developers would have to find out at runtime (if discovered at all) instead of compile time.

OK. Then we'll just change the sample code for now.
We will file a document to go through the api review and  mark it as deprecated.


[TRAVIS] Update TF modules for AWS & GCE

This fixes #1692

[ ] Installs cleanly on a fresh build of most recent master branch
[ ] Upgrades cleanly from the most recent release
[ ] Updates documentation relevant to the changes

Builds are failing on AWS, GCE

I had to rebase this on master to pull in other recent changes

This actually depends on #1808, so I'm testing that one out now. Then, I'll rebase again

Looks like some unrelated commits got added to this branch


Bootstrap as an option

My existing Rails application is using Foundation instead of Bootstrap. I am wondering if Bootstrap can be an option in generator, if so, that'd be great.

@yorzi We'd like to do that! Any chance you can help us with that?

@justin808 sure, I'd like to contribute something to this gem, but I am not sure where to start.. This might be a good one. :)

@robwise and @jbhatab can give you some tips!

@justin808 ok, I will ping them in slack room if I encounter problems.

@yorzi, actually @aaronvb would be a great guy to pair with on this one! @aaronvb did the amazing work of getting the generator code going.

@yorzi the way I wrote the generators, everything related to Bootstrap is already isolated and put inside its own generator called bootstrap_generator. Everything is initiated from the install_generator, so follow the lead from the other generator options in that file and you should be able to just not called the bootstrap_generator with a conditional that checks the options, just like the other ones (you'll see if you look at the file).

@robwise let me try to work on that.


Noobs think that soundhax works after installing & configuring luma

I've seen this a lot in the discord channel, people come in and say "how do i access homebrew"  just after they finished installing & configuring luma, they completely ignore the "Continue to finalizing setup" button, for whatever reason.
I am not sure of the reason for why this happens, but I think it's either because of:
1)the button is not big enough
2)finalizing-setup seems optional while in 99% of the cases it is mandatory and if not, it's highly recommended (installing anemone/fbi/dsp/luma updater isn't considered bloatware and people who do consider it know that not installing it doesn't damage their 3DS)
3)Whatever this person meant: https://prntscr.com/gnjjsb
My suggestion would be to make the installing-b9s page say in big letters that "You cannot access the homebrew launcher until you follow finalizing-setup" (technically this is a lie since you can inject hbl with rosalina, but people only learn about this in the next page, so you have to lie to them for a split moment to get them to click on finalizing-setup)

If they can't read that there is another page, then they cannot be surprised that things don't work. It's fine as is IMO.


Support custom policyfile filename for policyfile_zero provisioner

Allow for a custom policyfile option in .kitchen.yml to specify a policyfile filename other than Policyfile.rb.

:+1:

Merged as https://github.com/chef/chef-dk/commit/aa21dc5c116969b4b5088314974134c39348b97a


Adding pairs from sequence

For faster SfM from video frames, and since it was mentioned in https://github.com/cvg/Hierarchical-Localization/issues/135, I made a small image pair generator based on pairs_from_exhaustive. It has a window size, meaning image i can be paired with many up to i+window, and a loop option, meaning the last image can be paired with the first one.

Thank you very much for this contribution! COLMAP has a sequential matcher that also has:

quadratic overlap: match images in i + 2**[0, window] as well
loop closure: trigger retrieval every n frames

Are you interested in implementing these features? I think that they could improve the accuracy & robustness on video data.

sure thing, it's a great idea! adding to my todo list.

Could you finish the sequential matcher? I have the same interest in it.

Same thing would be real nice

Good implementation with loop closing and retrieval can be found in this fork: https://gitlab.ethz.ch/z-ricityslam/hloc_fork

Thanks for your help
| |
徐浩若
|
|
@.***
|
---- Replied Message ----
| From | Mikhail @.> |
| Date | 3/21/2023 20:22 |
| To | @.> |
| Cc | @.> ,
@.> |
| Subject | Re: [cvg/Hierarchical-Localization] Adding pairs from sequence (PR #175) |
Good implementation with loop closing and retrieval can be found in this fork: https://gitlab.ethz.ch/z-ricityslam/hloc_fork
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


Migrate away from Heroku

use custom access endpoint for amp-access sample
move common login functionality to amp-access.go

@kul3r4 PTAL
deployed here: https://amp-by-example-staging.appspot.com/

Thanks for the review!


New metrics

Add new metrics once consolidated in TOML config:

memfree -l
df -h
uptime / load average
uname -a / lsb_release -a
cat /proc/cpuinfo
cat /sys/firmware/devicetree/base/model or cat /proc/device-tree/model = e.g. Raspberry Pi Zero W Rev 1.1
process running (e.g. some service)

This is already fully configurable in version 1, but I will include some in the default config.


Change UseConsolidatedMvcViews to default to true

UseConsolidatedMvcViews determines the namespace and visibility of generated MVC view classes. The source generator unconditionally sets UseConsolidatedMvcViews to true. The only time actual on-disk code is emitted with it false is when a user has disabled the source generator and is using RZC, which produces a separate views assembly.
The IDE Tooling uses whatever is set as default. That means that for the vast majority of customers the visibility of the compiler generated code and the tooling generated code is different. This flips the default to true so that tooling most often matches what the user is actually producing.
Matching SDK fix: https://github.com/dotnet/sdk/pull/43037
Fixes: https://github.com/dotnet/razor/issues/9352

@dotnet/razor-compiler for review please


Unhandled Exception:  System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. occurred

Hi,
I am trying below code to Pick a Photo but getting this error:
**Unhandled Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. occurred**
**** The TakePhotoAsync is working perfectly without error..
Here is the code:
async void ImageKidPhotoTapped(object sender, System.EventArgs e)
{
    string action = await DisplayActionSheet("كيف تريد تحديث الصورة؟", "إلغاء", null, "الكاميرا", "الألبوم");

    if (action == "الكاميرا")
    {
        await CrossMedia.Current.Initialize();

        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
        {
            await DisplayAlert("No Camera", ":( No camera available.", "OK");
            return;
        }

        var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
        {
            AllowCropping = true,
            SaveToAlbum = false,
            Directory = "JafariaImages",
            Name = "StudentPhoto.png"
        });

        if (file == null) return;

        MyKidPhoto.Source = ImageSource.FromStream(() =>
        {
            var stream = file.GetStream();
            return stream;
        });

        new_photo = file;

        MessagingCenter.Send<object>(this, "UpdateStudentPhoto");
    }
    else if (action == "الألبوم")
    {
        if (!CrossMedia.Current.IsPickPhotoSupported)
        {
            await DisplayAlert("Photos Not Supported", ":( Permission not granted to photos.", "OK");
            return;
        }

        var file = await Plugin.Media.CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
        {
            PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium,
        });

        if (file == null)
            return;

        MyKidPhoto.Source = ImageSource.FromStream(() =>
        {
            var stream = file.GetStream();
            file.Dispose();
            return stream;
        });

        new_photo = file;

        MessagingCenter.Send<object>(this, "UpdateStudentPhoto");
    }
}

Thanks,
Jassim

It's nothing to do with this plugin
MessagingCenter is throwing this error
Thanks


Show product version on documentation

Fixes #1745
/cc @joaofnfernandes
Signed-off-by: Tom Barlow<EMAIL_ADDRESS>

@joaofnfernandes
The preview of how this works is available at: https://deploy-preview-1886--docker-docs.netlify.com/datacenter/ucp/2.1/guides/get-support/

Latest preview is available at: https://deploy-preview-1886--docker-docs.netlify.com/datacenter/ucp/2.1/guides/

@mstanleyjones
The dropdown just contains a single version, for example in https://deploy-preview-1886--docker-docs.netlify.com/datacenter/dtr/2.2/guides/.

I don't know if you need to close it. I think it's a cool idea. :) We can find a way to make it work!


Do-to list (Google Collab)

If I forget

Erase all the files that aren't needed and refactor the ones that are useful
Update readme with proper info
Improve the model.

So everything is done and working


AllenNLP library tag + code snippet

This PR is mainly to have the library tag, and show it in the filters at the left. The code snippet is not intended to be final, but it's a starting point to have QA. I'm not familiar enough with the library yet, but I can take a closer look to see if we could have a single code snippet to handle all pipelines.

Notifying @epwalsh and @dirkgr, your feedback is welcome!


Removed @mixin Builder comment from Model.php

Fix for https://github.com/mongodb/laravel-mongodb/issues/2922.
This change https://github.com/mongodb/laravel-mongodb/commit/fdfb5e5027bf46744c28862d042b3063c7d7a782#diff-284e164f76aeb13f424d154f9208d91fdbb0112b0a50ad8b1dfa237176f03cf2 introduced a breaking change for phpstan, it now wrongly infers models as Illuminate\Database\Eloquent\Model, instead of it's main class.
Salut @GromNaN!
As the author of that change, is it necessary? Can we go back to what it was?
Checklist

[ ] Add tests and ensure they pass
[ ] Add an entry to the CHANGELOG.md file
[ ] Update documentation for new features

Thanks for the feedback. Could you provide an example of static analysis that is broken with this change, that was not before. Thanks.

From my POV, this annotation enable autocompletion of builder methods in PHPStorm.
If that creates an issue, the solution will be to declare all the methods with @method annotation.

Thanks for the feedback. Could you provide an example of static analysis that is broken with this change, that was not before. Thanks.

Hi @GromNaN, yes, I added a few examples in the issue; https://github.com/mongodb/laravel-mongodb/issues/2922.
Basically all my Models that used to extend the Mongo Model, now "have become" Illuminate\Database\Eloquent\Model|null.
For instance I had a Room model that extends MongoDB\Laravel\Eloquent\Model, after this change anywhere I used that model I have errors like;
Parameter #2 $room expects App\Models\Talk\Room, Illuminate\Database\Eloquent\Model|null given.

or:
Access to an undefined property Illuminate\Database\Eloquent\Collection<int, Illuminate\Database\Eloquent\Model>|Illuminate\Database\Eloquent\Model::$id.

UPDATE:
@GromNaN I think I found the issue;
use ...
use MongoDB\Laravel\Query\Builder as QueryBuilder;
use ...

Probably PHPStorm understands that Builder is actually the QueryBuilder, but PHPStand doesn't.
I changed Builder to QueryBuilder and PHPStan is not throwing me any errors 🎉
Also updated the PR.
Can you please test this on PHPStorn?

That's a different class, the exposed methods are wrong with this change.
Example, MongoDB\Laravel\Eloquent\Builder::aggregates returns AggregationBuilder | mixed while MongoDB\Laravel\Query\Builder::aggregates returns AggregationBuilder | self.
I tried to reproduce with PHPStan but didn't find the bug.
https://phpstan.org/r/10adb986-2c43-4b77-9a80-6f31d562441f
Try removing or changing the @mixin annotation to see the error.

Hey @GromNaN!
Yeah, sorry for the mistake, now I see it's a different class.
Anyway, I can see mixin works as expected in your demo, but I can't fix my issue 🫤
With the mixing there, my model wrongly becomes a Illuminate\Database\Eloquent\Model.
 ------ --------------------------------------------------------------------------------------
  Line   2024_04_26_225522_add_share_slug_to_calls_table.php
 ------ --------------------------------------------------------------------------------------
  :16    Access to an undefined property Illuminate\Database\Eloquent\Model::$share_code.
         💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
 ------ --------------------------------------------------------------------------------------

By the way, I'm using larastan/larastan and I think the problem comes from there, because I just tried phpstan alone, and everything works 🤷♂
Let's move the issue to Larastan 👌
https://github.com/larastan/larastan/issues/1940

Fixed by #2981

Great!
Thank you @GromNaN 🎉


[TA] [ServiceBug] Action order should have ID

Without task ID in the task result will make it harder to convert. It might be easy to include tasks ID in the result.
"errors": [
        {
            "code": "InvalidRequest",
            "message": "Job task parameter value 2020-04-01 is not supported for model-version parameter for job task type KeyPhraseExtraction. Supported values latest,2020-07-01.",
            "target": "#/tasks/keyPhraseExtractionTasks/0"
        }
    ],

"keyPhraseExtractionTasks": [
            {
                "lastUpdateDateTime": "2021-01-31T00:13:40.1486011Z",
                "results": {
                    "documents": [],
                    "errors": [],
                    "modelVersion": ""
                }
            },
            {
                "lastUpdateDateTime": "2021-01-31T00:13:40.1486011Z",
                "results": {
                    "documents": [  ....
                    ],
                    "errors": [],
                    "modelVersion": "2020-07-01"
                }
            }
        ]

As long as service maintain the order of output same as the input order, and a task result object even for the invalid task. An ID is not required.


Can't render CSS in defs mode

Is it really impossible to render css/stylus/etc in defs mode? Need this for full control with CSS, e.g. adaptive sizing.
I did read all docs and I see this possible only in css/view modes.

Hi @lookfortheroot,
this is a duplicate of grunt-svg-sprite issue #31. As it happens, I'm just about adding the possibility to render a CSS (et al.) with the shape dimensions. What else would you need?
Cheers,
Joschi

Same render possibilities like in css/view modes would be nice.
Thanks a lot for your work, I'll be wait :)

Well, the very same don't make any sense (and are impossible, by the way). By definition, a defs sprite is not usable as a CSS sprite (i.e. for background images), as the shapes are not positioned in any way within the sprite. The sprite just serves as a "shape library" and you may <use> the contained shapes as foreground images (the same applies for the symbol and stack sprites by the way). The dimension properties are the only ones I can think of that would be useful. Right?

Well, this is right.
I use another approach - inject SVG by AJAX for caching, and move shapes to placeholders for full CSS/animation/transform/etc control. So just now all I need is sizes in separate Stylus/CSS file.

Thou shalt get that. ;)
I might delay the next release until Monday, however, as I'd like to wait for the upcoming lodash release.
By the way, that SVG injection approach you are talking about will most likely be featured in one of my next iconizr releases, then including support for PNG fallbacks as well. I might consider backporting the SVG part into svg-sprite as well.

Should work now, although still undocumented. Just use it as you would do with css or view mode. A reworked documentation will come soon, as does an official release. ;)
Cheers,
Joschi

Yay, this was fast. Thanks a lot :+1:

You're welcome. As I said, I was just about it anyway. Didn't spend too much time testing though — would be nice if you could give me some feedback if this works for you. :)

It almost works ;)

In generated css/stylus/etc there is a space instead a dot:

[space]icon-logo
	width 10px
	height 10px

We need then to eliminate width and height attributes for svg+css sizes or it won't work.
And they somehow appending even if they were not in the SVG source. I don't see how to remove it in config :(

Besides, it seems SVGO transforms doesn't work. Is it only for me? No errors, nothing:

mode: {...},
transform : [
    {svgo:  {
        plugins: [
            {cleanupIDs: true},
            {cleanupEnableBackground: true}
        ]
    }}
]

In generated css/stylus/etc there is a space instead a dot:

No, it's not. I double checked it with different output modes and all the stylesheet resource types. I get a dot, always. Any chance there's another problem on your side? Did you alter the prefix or the dimensions option? What are your values? Any other possibility?

We need then to eliminate width and height attributes in resulting spritesheet for svg+css sizes or it won't work. And they somehow appending even if they were not in the SVG source. I don't see how to remove it in config :(

I'm not sure if I completely understand your problem. In case you set the inline option to true, the sprite gets prepared for being embedded into an HTML document. For this purpose, width="0" height="0" style="position:absolute" is added to the root SVG element so that the sprite doesn't get rendered visually. This should not affect the regular usefulness of the sprite, however. Please check the example document for reference (enabled by example: true). Regarding your SVG injection approach, I have no idea whether the defs sprite is suited for that. Withouth having tried, I doubt it somehow ...

Besides, it seems SVGO transforms doesn't work. Is it only for me? No errors, nothing:

By default, almost every SVGO plugin is enabled. These are the defaults:
defaultPluginConfig					= [
//	{cleanupAttrs					: true}, // cleanup attributes from newlines, trailing and repeating spaces
//	{removeDoctype					: true}, // remove doctype declaration
//	{removeXMLProcInst				: true}, // remove XML processing instructions
//	{removeComments					: true}, // remove comments
//	{removeMetadata					: true}, // remove `<metadata>`
//	{removeTitle					: true}, // remove `<title>`
//	{removeEditorsNSData			: true}, // remove editors namespaces, elements and attributes
//	{removeEmptyAttrs				: true}, // remove empty attributes
//	{removeHiddenElems				: true}, // remove hidden elements
//	{removeEmptyText				: true}, // remove empty Text elements
//	{removeEmptyContainers			: true}, // remove empty Container elements
//	{removeViewBox					: true}, // remove `viewBox` attribute when possible
//	{cleanupEnableBackground		: true}, // remove or cleanup `enable-background` attribute when possible
//	{convertStyleToAttrs			: true}, // convert styles into attributes
//	{convertColors					: true}, // convert colors (from `rgb()` to `#rrggbb`, from `#rrggbb` to `#rgb`)
//	{convertPathData				: true}, // convert Path data to relative, convert one segment to another, trim useless delimiters and much more
//	{convertTransform				: true}, // collapse multiple transforms into one, convert matrices to the short aliases and much more
//	{removeUnknownsAndDefaults		: true}, // remove unknown elements content and attributes, remove attrs with default values
//	{removeNonInheritableGroupAttrs	: true}, // remove non-inheritable group's "presentation" attributes
//	{removeUnusedNS					: true}, // remove unused namespaces declaration
//	{cleanupIDs						: true}, // remove unused and minify used IDs
//	{cleanupNumericValues			: true}, // round numeric values to the fixed precision, remove default 'px' units
//	{moveElemsAttrsToGroup			: true}, // move elements attributes to the existing group wrapper
	{moveGroupAttrsToElems			: false} // move some group attributes to the content elements
//	{collapseGroups					: true}, // collapse useless groups
//	{removeRasterImages				: false}, // remove raster images (disabled by default)
//	{mergePaths						: true}, // merge multiple Paths into one
//	{convertShapeToPath				: true}, // convert some basic shapes to path
//	{transformsWithOnePath			: true}, // apply transforms, crop by real width, center vertical alignment and resize SVG with one Path inside
],

Only the moveGroupAttrsToElems plugin gets disabled as it's too aggressive in most of the cases. For me, SVGO seems to work fine (and noone else complained so far), so I guess there must be another problem on your end. Possible? Can you run SVGO from the command line or from another module? Can you isolate the problem?

<svg width="0" height="0" style="position:absolute">
    <defs>
        <svg width="10" height="10" id="icon-logo">...</svg> //These attrs blocks CSS sizing, e.g. in %
    </defs>
</svg>

I'm sorry, but I think that what you're trying to achieve is something that is specific to your SVG injection approach — which is not what the defs sprite is made for. Once again, please have a look at the example document to see how the sprite is intended to be used. The <use>ing SVG element may well be styled via CSS:
<svg viewBox="0 0 68 68" class="my-custom-css-class-with-relative-dimensions">
	<use xlink:href="#icon-logo"/>
</shapes>

Of course, this is one of the best methods.
But :hover and other effects still buggy with <use> even in latest Chrome. Only truly inline SVG works cross-browser.
That is why I try combine best parts:

AJAX injecting - cache advantage
Moving shapes in their placeholders by tiny JS - inline SVG advantage
Sizes generated in CSS, not SVG - responsive design advantage

So using defs fastest in DOM - just moving AJAX'ed <svg> shapes without any tags converting like <g> or <symbol>.
And last stuck for me is impossibility to get rid 'width' and 'height' attributes ;)

I'm still thinking about removing the widthandheightattributes of the inner` elements. Gonna reopen this issue so that I don't forget it ...

As of release v1.0.13 you can control whether you want to have width and height attributes. Please have a look at the svg.dimensionAttributes and shape.dimension.attributes options and also let me know if this works for you now. Thanks! :)

It works. Thanks!

But I have last question.
For final cross-browser responsivity it's need a little trick, here is a pseudo-code:
padding-top: (svg.height / svg.width)%
I can't understand, how in Gulp to pass calculated value to template? I always get errors:
variables: {
'ptop': function(sprite, render) {
sprite.height.inner / sprite.width.inner //no one object exists
}
}

Please refer to the Mustache documentation to learn about the usage of callbacks (which seems, in general, a legit solution for your problem). AFAIK you may only pass strings to these functions, and you won't be able to pass the sprite object variable with all its properties. I guess you will have to pass the height and width as a string (delimited with a separator) and split it again inside your function before processing.

I meant I can't find right object for calculates.
In your docs there is only one example, and I trying:
{
    variables: {
        padtop: function(sprite, render) {
              sprite //'undefined'
              sprite.spriteWidth //'undefined'
        }
    }
}

{
    variables: {
        padtop: function() {
            return function(sprite, render) {
                sprite //'undefined'
                sprite.spriteWidth //'undefined'
            }
        }
    }
}

Etc etc. I don't understand how to do it.

Please read my previous comment. You cannot pass in objects to Mustache functions, only strings. In the template you need to use something like:
{{#padtop}}width|height{{/padtop}}

and then in function:
padtop: function() {
    return function(dimensions, render) {
        dimensions = dimensions.split('|');
        /* ... */
    }
}

Sorry for my English, it seems I poorly explained and you misunderstood me :)
In Gulp I want to precalculate (svg.height / svg.width) and pass a result in the template.
So I don't know how to get width and height of the processed svg:
.pipe(svgSprite({
    mode: {...},
    variables: {
        my_result: {
            return (svg.height / svg.width)
        }
    }
})

And in the template something like: padding-top {{my_result}}
Is it possible? Any help will be appreciated.
Thanks!

Please re-read my comment above — most of the answer to your problem stands written there. The variables available in each template are documented here. You will want to go for width.outer an height.outer I guess. Pass these into an appropriately written callback function and do you pre-calculation.


Create basic electron project Structure 🚀

Create a basic electron folder set up so that other devs can be easily on-boarded.

Done in https://github.com/sarthology/caligator/commit/da8ac7e9d4ea3ddf5e1534754dd3d27eda40d016


Request: disallowExtraNewLinesInsideObjectLiteral

Valid:
var a = {
    b: 'c',
    c: 'd'
};

Invalid:
var a = {

    b: 'c',

    c: 'd'

};

Ideally, this would have an optional setting to only prevent extra newlines at the beginning and end of the object like this, perhaps onlyBeginningEnd:
Valid:
var a = {
    b: 'c',
    c: 'd',

    d: {
        e: 'f'
    }
};

Invalid:
var a = {

    b: 'c',
    c: 'd',

    d: {
        e: 'f'
    }

};

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/8850996-request-disallowextranewlinesinsideobjectliteral?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Yeah, we need this rule. Thanks for contributing!

Going to be closing older/inactive issues and labeling with orphaned to track anything we might want to reopen again later (if we want to add it again or something has a PR). Thanks :smiley: !


UI problems with tags

I just some trouble searching for a module on modules.perl6.org. I wanted to click on the search bar to select it, and at the same time, the tags appeared out of nowhere, making my click land on a random tag instead of the search bar.
And then I had a tag selected, and found no obvious way to unselect the tag; I tried clicking on the tag again, but that didn't work either.
So, I'd like a way for the tags to appear to not steal clicks that were meant for the search bar, and for a way to delete the tag selection.

+1

Thanks. Fixed in https://github.com/perl6/modules.perl6.org/commit/c518c09135f6957386922ca08d32c9d897fa027f


version 0.18 has no script output, just package.json and readme

Haha, hi @patroza I just ran into that too :-D

Haha, hi @patroza I just ran into that too :-D

Funky

Oops! Fixed in 0.18.1
npm github


Problems with subdomain

Hello, I'm having Problems with Hockey since I wanted to use a subdomain for the hockey update url.
Before I used a url like that: http://www.mydomain.com/public/ and everything worked fine.
Now I made a subdomain like http://subdomain.mydomain.com which redirects to the url above. When starting the app, hockey doesn't inform me about a new version (but I know there is one).
Then I added the BWHockeyViewController to my app. Now I can press "check" and hockey tells me "Server returned empty response".
Edit: I still can visit the website through iPhone and install the app from the site.
Any ideas what is going wrong here?

Yes thats, what I did. In the control panel  of my hoster I simply enter the subdomains name and let it point to http://www.mydomain.com/public/

Sorry, no idea. Also without direct access it is hard to really know what you did and what is going on.
Also you are always saying it is "redirecting", which is very confusing since you now say that subdomain points directly to that folder so there should not be any redirecting. Still you get 302 error which says the URL is redirected and wants the client to use the new URL. But the client does not follow such redirects. So your setup sounds really weird. Try not to use redirects.

Hm ok sorry, well if I let the sub domain point to a url like I mentioned it is a redirect I think. Im not using a relative path for the subdomain. So as I understand, redirects are not working.
Thanks, for your help so far.


BackPressHandler plugin

Description
Currently BackPressHandler is not an actual plugin and is manually supported only for a routing source. In this PR I tried to implement BackPressHandler that is available for any component in a node.
Also in this PR i tried to support predictive back gesture feature of Android 13. As you can see on the attached video it works as expected.
Concerns
AndroidX
In this PR I implement BackPressHandler as a provider of AndroidX OnBackPressedCallback. It allows more seamless integration with other AndroidX components but has the following issues:

We are one step further away from multi platform support and it is Android only library.
Client has to work with not the best of class API, but still more familiar than some custom API.
OnBackPressedCallback.isEnabled is not reactive/observable, so we need to manually synchronise internal state of an owner component with this property like feature.state.subscribe { callback.isEnabled = state.someCheck }.
In case of custom API it is possible to create more interesting API like

interface OnBackPressedCallback {
   // flow here instead of simple boolean property
   // to be able to easily map internal state into boolean state in a reactive way
   val isEnabled: StateFlow<Boolean>
   fun dispatchBackPressed()
}

But in this case we are forcing clients (including us) to use StateFlow in their internal components (like interactors) instead of RxJava for example. But we are already doing it in RoutingSource.
We can't keep current API of fun onBackPressed() because we need to declare if we support going back or not first, so AndroidX and Android integration works fine. This change also allowed me to remove one property from RoutingSource.
By using AndroidX API directly we are guarding ourselves from potential changes like predictive back button in the future.

Registration order
In the current implementation and in this pull request we are relying on Compose to register OnBackPressedCallback. Invocation order of OnBackPressedCallback of different nodes in the same parent is defined by the order of Composable functions. If a node is out of a composition, it won't handle back presses. Implementation details is here.
Most likely this problem is out of scope of this pull request
Check list

[x] I have updated CHANGELOG.md if required.
[x] I have updated documentation if required.

predictive-support.webm

Thanks for updating the example!


POL-142 Fixes leak (update on unmounted)

Looks ok to me, I wasn't able to reproduce the error before applying patch, but looks like a known problem.


chore: improving tests with eslint jest plugin

closed in favor of https://github.com/GaloyMoney/galoy/pull/2306


Network will expand unnecessarily when using a common sender user to send automatic emails

if you have a user that sends out alert emails that are common to all accounts, this can lead to expansion of your network unnecessarily. We need to add an exclusion list of these kinds of users.

Contacts are now excluded if they have the same email domain as a user - and you can add your own custom fetchxml exclusion criteria.


Ariya - 2 Entities only

With the EU/UK Ariya - I only get "Charging" and "Plugged In" as the only 2 entities.
Should there be more?
I really just want battery % ideally at minimum.
A bonus would be Climate, Temp and Tracker.

The README lists all supported entities. The actual entities that are exposed are dependant on the 'features' that the API says your car supports. Basically if you can do it in the app, you should be able to do it through the integration.
If you enable debug logging then restart home assistant, you'll see a list of features in the log.

For example with my Leaf (UK) I see:
2024-05-01 14:21:02.627 DEBUG (MainThread) [custom_components.nissan_connect] Finding vehicles
2024-05-01 14:21:03.472 DEBUG (SyncWorker_9) [custom_components.nissan_connect.kamereon] Active features: [<Feature.MY_CAR_FINDER: '12'>, <Feature.MIL_ON_NOTIFICATION: '15'>, <Feature.VEHICLE_HEALTH_REPORT: '18'>, <Feature.APP_DOOR_LOCKING: '27'>, <Feature.FLEET_ASSET_INFORMATION: '29'>, <Feature.PAY_AS_YOU_DRIVE: '34'>, <Feature.APP_BASED_NAVIGATION: '35'>, <Feature.DESTINATION_SEND_TO_CAR: '37'>, <Feature.GOOGLE_PLACES_SEARCH: '40'>, <Feature.PREMIUM_TRAFFIC: '43'>, <Feature.MOBILE_INFORMATION: '74'>, <Feature.PERSONAL_DATA_SYNC: '80'>, <Feature.THEFT_BURGLAR_NOTIFICATION_APP: '87'>, <Feature.HORN_AND_LIGHTS: '97'>, <Feature.CURFEW_ALERT: '98'>, <Feature.VEHICLE_SOFTWARE_UPDATES: '107'>, <Feature.VEHICLE_STATUS_CHECK: '202'>, <Feature.NAVIGATION_FACTORY_RESET: '208'>, <Feature.VEHICLE_WIFI: '213'>, <Feature.NAVIGATION_MAP_UPDATES: '217'>, <Feature.LAST_MILE_NAVIGATION: '227'>, <Feature.GOOGLE_STREET_VIEW: '229'>, <Feature.GOOGLE_SATELITE_VIEW: '230'>, <Feature.DYNAMIC_EV_ICE_RANGE: '232'>, <Feature.ECO_ROUTE_CALCULATION: '233'>, <Feature.DRIVING_JOURNEY_HISTORY: '235'>, <Feature.ONLINE_PARKING_INFO: '243'>, <Feature.ONLINE_RESTAURANT_INFO: '244'>, <Feature.ONLINE_SPEED_RESTRICTION_INFO: '245'>, <Feature.WEATHER_INFO: '246'>, <Feature.VEHICLE_ACCESS_TO_MUSIC: '249'>, <Feature.VEHICLE_ACCESS_TO_CONTACTS: '262'>, <Feature.ZONE_ALERT: '281'>, <Feature.SPEEDING_ALERT: '282'>, <Feature.CHARGING_START: '299'>, <Feature.CLIMATE_ON_OFF_NOTIFICATION: '311'>, <Feature.CHARGING_SPOT_SEARCH: '312'>, <Feature.PLUG_IN_REMINDER: '314'>, <Feature.CHARGING_STOP_NOTIFICATION: '317'>, <Feature.BATTERY_STATUS: '319'>, <Feature.BATTERY_HEATING_NOTIFICATION: '320'>, <Feature.VEHICLE_STATE_OF_CHARGE_PERCENT: '322'>, <Feature.DRIVING_ANALYSIS: '340'>, <Feature.CO2_GAS_SAVINGS: '341'>, <Feature.ELECTRICITY_FEE_CALCULATION: '342'>, <Feature.CHARGING_CONSUMPTION_HISTORY: '344'>, <Feature.BATTERY_MONITORING: '345'>, <Feature.BATTERY_DATA: '347'>, <Feature.CHARGING_SPOT_UPDATES: '354'>, <Feature.RECHARGEABLE_AREA: '358'>, <Feature.NO_CHARGING_SPOT_INFO: '359'>, <Feature.EV_RANGE: '360'>, <Feature.CLIMATE_ON_OFF: '366'>, <Feature.LOCK_STATUS_CHECK: '2021'>, <Feature.TEMPERATURE: '2042'>, <Feature.VEHICLE_DATA: '2121'>, <Feature.VEHICLE_DATA_2: '2122'>]

If the integration doesn't recognise a feature (the API just returns a list of numbers), you'll also see messages like
Unknown feature x.
Its possible that your 'free' access to certain features has expired, or potentially this is a continuation of #10 - the Ariya seems to use a different set of API endpoints for certain things.

Firstly - thank you for the reply and the code!
Secondly - Like magic some more entities have shown up an hour later. So now there are 19!
I didn't pay their ransom for the app when it went from free to paywall. So when you mentioned that - I was thinking 2 entities is the max ill ever get unless I pay up.
So just for reference here are the 19 that are showing up now..

Out of interest, are they all working as expected? You get a nice overview of all the sensors if you go into the 'device' view from Settings > Devices and Services.

Out of interest, are they all working as expected? You get a nice overview if you go into the 'device' view from Settings > Devices and Services.

Sure - this is it!
The climate thing doesn't seem to pass over to the car if you turn it on/off.
And the rest is as you see it. The home/away also does work and so does the charging.
Happy to do any testing you ever need!

Glad its working now - some of the unknown entities are a known issue, and it sounds like the climate control thing could either be related or an entitelement/subscription needed. Let me know if you come across any other bugs :)


Unable to upload to local AEM using FileSystemUploadOptions

Expected Behaviour
Note. I understand this code is designed to upload to the new adobe IO architecture of AEM Cloud, however, I'm assuming I can still use it to upload to none AEM Cloud versions, and local AEM SDK versions, using the FileSystemUploadOptions configuration. This isn't explicitly detailed however, I'm inferring the behaviour from the naming of DirectBinaryUploadOptions vs FileSystemUploadOptions. If this assumption is false, guidance on if and how it might be possible to work around this AEM Cloud requirement would be much appreciated.
I'm trying to follow the example at https://github.com/adobe/aem-upload#uploading-local-files with the aio-cli-plugin-aem.
After updating the source in aio-cli-plugin-aem to use the FileSystemUploadOptions provided by v1.0.20 of this repo and calling the command with an image passed as an argument, I expect the file to be uploaded into my local AEM (and I'm assuming none AEM Cloud versions, like AEM 6.5)
E.g. running from the root of the adobe/aio-cli-plugin-aem repo
node bin/run aem:upload -h http://localhost:4502 -c admin:admin IMAGE_27547.jpg

Actual Behaviour
The default folder is created at the root of /content/dam, but no image has been uploaded.
Reproduce Scenario (including but not limited to)
Steps to Reproduce

Check out the repo https://github.com/adobe/aio-cli-plugin-aem
Update package.json dependencies to latest"@adobe/aem-upload": "1.0.20"
run npm install
Update the source file at https://github.com/adobe/aio-cli-plugin-aem/blob/master/src/commands/aem/upload.js

Replace instances of DirectBinaryUploadOptions  with FileSystemUploadOptions in upload.js

        const uploadOptions = new FileSystemUploadOptions()
            .withUrl(`${trimRight(host, ['/'])}${target}`)
            .withBasicAuth(credential);

Ensure an image exists in the root of the aio-cli-plugin-aem repo and run the upload command

E.g. node bin/run aem:upload -h http://localhost:4502 -c admin:admin IMAGE_27547.jpg

The console output indicates successful upload, and a folder was created in the root of /content/dam, but there is no image within the folder.

#### Platform and Version

#### Sample Code that illustrates the problem

#### Logs taken while reproducing problem

While debugging the upload result by placing a breakpoint at https://github.com/adobe/aio-cli-plugin-aem/blob/3a190e11478074b5afb27cccc2562364ec4a7f80/src/commands/aem/upload.js#L78 I get the following message:

Error: direct binary access not supported
    at DirectBinaryUploadProcess._callee2$ (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/@adobe/aem-upload/dist/direct-binary-upload-process.js:242:23)
    at tryCatch (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/regenerator-runtime/runtime.js:63:40)
    at Generator.invoke [as _invoke] (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/regenerator-runtime/runtime.js:293:22)
    at Generator.next (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/regenerator-runtime/runtime.js:118:21)
    at asyncGeneratorStep (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/@adobe/aem-upload/dist/direct-binary-upload-process.js:38:103)
    at _next (/Users/stewartleach/projects/isobar/source/aio-cli-plugin-aem/node_modules/@adobe/aem-upload/dist/direct-binary-upload-process.js:40:194)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Thank you for the issue report.

Note. I understand this code is designed to upload to the new adobe IO architecture of AEM Cloud, however, I'm assuming I can still use it to upload to none AEM Cloud versions

Unfortunately this assumption is incorrect. The library will only work AEM Cloud versions.


please release new version

There seem to be some problems resolved in HEAD. Please release a new version to Hackage.

Version 0.5.0 will be released shortly. Note that development is continuing at https://github.com/prsteele/math-programming instead of this repository.

@amigalemming https://hackage.haskell.org/package/glpk-headers-0.5.0 now exists.


Default Cmd+k keybinding doesn't work with terminalFocus

VSCode Version: 1.11.1
OS Version: MacOS Sierra

Default Cmd+k definition not working.
Steps to Reproduce:

Open integrated terminal
Type a couple of commands
Press Cmd+k
"Waiting for second key of cord..." shows in status bar.

Copy keybinding definition to user keybindings. Perform the same first 3 steps. Cmd+k works as expected.

To be clear, you want cmd+k to clear the terminal right?
I can't repro, it works fine for me. What does your keybindings.json look like before (when it's not work) and after (when it is)?

Disabling all extensions resolved it. I'll track down the offending extension and log it there. Sorry for wasting your time.

HTML Preview has a corded shortcut, but doesn't limit the whenness of it.

PR to fix created. https://github.com/tht13/html-preview-vscode/pull/11


refactor: separate get_common_type / get_result_type for temporal type

Which issue does this PR close?
Closes #.
Rationale for this change
related to https://github.com/apache/arrow-datafusion/issues/5927
following https://github.com/apache/arrow-datafusion/pull/6221
What changes are included in this PR?

separate result type into new file
separate  get common type / get result type for temporal type
refactor code of handling type for temporal type

Are these changes tested?

Are there any user-facing changes?

thanks @alamb review carefully.


Improve --help description of split_ta

e.g. in fex-doc2vec

Needs input from a domain expert but easy enough to add later
https://github.com/asreview-simulation/asreview-simulation/blob/20d5be9c16018488957cf8364f24d2d9f833b53b/src/asreviewcontrib/simulation/_private/cli/fex/fex_doc2vec_subcommand.py#L69


Feature request: merge compat overlap

xarray.merge should have an option compat overlap.
is that option is combine_first, but it has more sense inside of merge.
import xarray as xr
x1=xr.DataArray([1,2,3,4,11],dims=['time'],coords=[[4,5,6,7,3]]).to_dataset(name='fusionfria')
x2=xr.DataArray([5,6,7,8],dims=['time'],coords=[[0,1,2,3]]).to_dataset(name='fusionfria')
x1.combine_first(x2)

It could be useful to avoid the error in xarray.open_mfdataset, if the time index is overlapped between netcdf files.
ValueError: Resulting object does not have monotonic global indexes along dimension time

This seems like a useful feature. Reopening


ref #138, implementation of relabeling, two possible ways, line 362 a…

Try to solve relabeling issue with two possible implementation.
Please check line 362 and 314.

I had a brief look at the 314 implementation. This assumes labels will always be ordered and the last entry will have the highest value. Can we make this assumption? I think it holds up most of the time for our examples. But we don't do any sorting, so there may be napari workflows a user can run that break this assumption.
Can we switch to a max() based increase of the label values?
Also, I'm wondering for this approach: We adapt the label values in the table here independently of how we'd adjust the ones in the images. It is of utmost importance that the matching remains 100% correct, i.e. we can't have any cases where after relabeling, image 2 has label 731 but the label 731 entry in the dataframe is from a measurement on image 3. How are we ensuring this does not happen?


[Feature]: ArchLinux support?

Suggestion Description
I just commented 2 lines in the install.sh script (line 178 and line 227) and the whole thing built without a single issue. In ArchLinux the only packages needed are pacman -S rocm-hip-sdk rocm-opencl-sdk. I then try to run on my Radeon 7900XT the benchmark but no luck, it's always like:
[ryzenx3d:30943] *** Process received signal ***
[ryzenx3d:30943] Signal: Aborted (6)
[ryzenx3d:30943] Signal code:  (-6)
[ryzenx3d:30943] [ 0] /usr/lib/libc.so.6(+0x3c770)[0x7318f6c5a770]
[ryzenx3d:30943] [ 1] /usr/lib/libc.so.6(+0x8d32c)[0x7318f6cab32c]
[ryzenx3d:30943] [ 2] /usr/lib/libc.so.6(gsignal+0x18)[0x7318f6c5a6c8]
[ryzenx3d:30943] [ 3] /usr/lib/libc.so.6(abort+0xd7)[0x7318f6c424b8]
[ryzenx3d:30943] [ 4] /usr/lib/libc.so.6(+0x243dc)[0x7318f6c423dc]
[ryzenx3d:30943] [ 5] /usr/lib/libc.so.6(+0x34d46)[0x7318f6c52d46]
[ryzenx3d:30943] [ 6] ./build/release/rochpcg-install/bin/rochpcg(+0x32fa79)[0x58b130aa9a79]
[ryzenx3d:30943] [ 7] ./build/release/rochpcg-install/bin/rochpcg(+0x328f84)[0x58b130aa2f84]
[ryzenx3d:30943] [ 8] /usr/lib/libc.so.6(+0x25cd0)[0x7318f6c43cd0]
[ryzenx3d:30943] [ 9] /usr/lib/libc.so.6(__libc_start_main+0x8a)[0x7318f6c43d8a]
[ryzenx3d:30943] [10] ./build/release/rochpcg-install/bin/rochpcg(+0x30ce15)[0x58b130a86e15]
[ryzenx3d:30943] *** End of error message ***
Aborted (core dumped)

then if I try the --dev=1 option I get:
Error: invalid device ID

I am running via:
./build/release/rochpcg-install/bin/rochpcg 280 140 140 930

where I've doubled down all parameters because this GPU is cool but not "coolest" ... by any chance we can get this working on Arch too? Thanks! (and I take no as an answer) 👋
Operating System
Linux ryzenx3d 6.8.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 05 Apr 2024 00:14:23 +0000 x86_64 GNU/Linux
GPU
AMD Radeon RX 7900 XT (gfx1100)
ROCm Component
rochpcg 280 140 140 930

--dev relates to the device id, so if you only have a single gfx1100 attached, it would be dev 0. You can verify with rocm-smi.
Currently, there are no plans to add ArchLinux support to rocHPCG. Also be aware, that we do not officially support consumer cards on rocHPCG.

a bit of contradiction in there ... you don't support consumer cards but you have one, you tested, and it worked ... it's just Ubuntu the difference, right? I was hoping to have your "ability" to test my card too.
This is my rocminfo output, it's not me making it up, it's exactly tye card I have:
Agent 2
*******
  Name:                    gfx1100
  Uuid:                    GPU-a3c9c20b8e84644d
  Marketing Name:          AMD Radeon RX 7900 XT
  Vendor Name:             AMD
  Feature:                 KERNEL_DISPATCH
  Profile:                 BASE_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        128(0x80)
  Queue Min Size:          64(0x40)
  Queue Max Size:          131072(0x20000)
  Queue Type:              MULTI
  Node:                    1
  Device Type:             GPU
  Cache Info:
    L1:                      32(0x20) KB
    L2:                      6144(0x1800) KB
    L3:                      81920(0x14000) KB
  Chip ID:                 29772(0x744c)
  ASIC Revision:           0(0x0)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   2025
  BDFID:                   3072
  Internal Node ID:        1
  Compute Unit:            84
  SIMDs per CU:            2
  Shader Engines:          6
  Shader Arrs. per Eng.:   2
  WatchPts on Addr. Ranges:4
  Coherent Host Access:    FALSE
  Features:                KERNEL_DISPATCH
  Fast F16 Operation:      TRUE
  Wavefront Size:          32(0x20)
  Workgroup Max Size:      1024(0x400)
  Workgroup Max Size per Dimension:
    x                        1024(0x400)
    y                        1024(0x400)
    z                        1024(0x400)
  Max Waves Per CU:        32(0x20)
  Max Work-item Per CU:    1024(0x400)
  Grid Max Size:<PHONE_NUMBER>(0xffffffff)
  Grid Max Size per Dimension:
    x<PHONE_NUMBER>(0xffffffff)
    y<PHONE_NUMBER>(0xffffffff)
    z<PHONE_NUMBER>(0xffffffff)
  Max fbarriers/Workgrp:   32
  Packet Processor uCode:: 550
  SDMA engine uCode::      19
  IOMMU Support::          None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    20955136(0x13fc000) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 2
      Segment:                 GLOBAL; FLAGS: EXTENDED FINE GRAINED
      Size:                    20955136(0x13fc000) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 3
      Segment:                 GROUP
      Size:                    64(0x40) KB
      Allocatable:             FALSE
      Alloc Granule:           0KB
      Alloc Alignment:         0KB
      Accessible by all:       FALSE
  ISA Info:
    ISA 1
      Name:                    amdgcn-amd-amdhsa--gfx1100
      Machine Models:          HSA_MACHINE_MODEL_LARGE
      Profiles:                HSA_PROFILE_BASE
      Default Rounding Mode:   NEAR
      Default Rounding Mode:   NEAR
      Fast f16:                TRUE
      Workgroup Max Size:      1024(0x400)
      Workgroup Max Size per Dimension:
        x                        1024(0x400)
        y                        1024(0x400)
        z                        1024(0x400)
      Grid Max Size:<PHONE_NUMBER>(0xffffffff)
      Grid Max Size per Dimension:
        x<PHONE_NUMBER>(0xffffffff)
        y<PHONE_NUMBER>(0xffffffff)
        z<PHONE_NUMBER>(0xffffffff)
      FBarrier Max Size:       32
*** Done ***

I have no idea how to enforce the build target ... I'd love to try forcing gfx1100 as build target, if you could be so kind to tell me how I will try and, if it fails, we're good, as you don't want to support ArchLinux in here ... it feels like I could file a whole PR to make it work though, but I want to be sure it actually works before, thanks.

I do not see any contradiction in having access to a gfx1100 card.
Just because we do not support gfx1100 in rocHPCG, it doesn't mean it will not work - it might break down in certain cases, it might produce wrong results.
In order to compile for a specific (unsupported) gfx target, you can manually add -DAMDGPU=gfxXYZ to the build chain.
E.g. try
cd rocHPCG ; mkdir build ; cd build
cmake .. -DAMDGPU_TARGETS=gfx1100 -DROCM_PATH=/opt/rocm
make -j

apologies I wrote the wrong output ... this has more details:
./build/release/rochpcg-install/bin/rochpcg 280 140 140 930
rocHPCG version: 0.8.5-8dd5c94-dirty (based on hpcg-3.1)
Using HIP device (0): AMD Radeon RX 7900 XT (20464 MB global memory)
rochpcg: ~/git/rocHPCG/src/GenerateProblem.cpp:478: void GenerateProblem(SparseMatrix &, Vector *, Vector *, Vector *): Assertion `totalNumberOfNonzeros > 0' failed.
[ryzenx3d:80927] *** Process received signal ***
[ryzenx3d:80927] Signal: Aborted (6)
[ryzenx3d:80927] Signal code:  (-6)
[ryzenx3d:80927] [ 0] /usr/lib/libc.so.6(+0x3c770)[0x718873e5a770]
[ryzenx3d:80927] [ 1] /usr/lib/libc.so.6(+0x8d32c)[0x718873eab32c]
[ryzenx3d:80927] [ 2] /usr/lib/libc.so.6(gsignal+0x18)[0x718873e5a6c8]
[ryzenx3d:80927] [ 3] /usr/lib/libc.so.6(abort+0xd7)[0x718873e424b8]
[ryzenx3d:80927] [ 4] /usr/lib/libc.so.6(+0x243dc)[0x718873e423dc]
[ryzenx3d:80927] [ 5] /usr/lib/libc.so.6(+0x34d46)[0x718873e52d46]
[ryzenx3d:80927] [ 6] ./build/release/rochpcg-install/bin/rochpcg(+0x32fa79)[0x5907be1dda79]
[ryzenx3d:80927] [ 7] ./build/release/rochpcg-install/bin/rochpcg(+0x328f84)[0x5907be1d6f84]
[ryzenx3d:80927] [ 8] /usr/lib/libc.so.6(+0x25cd0)[0x718873e43cd0]
[ryzenx3d:80927] [ 9] /usr/lib/libc.so.6(__libc_start_main+0x8a)[0x718873e43d8a]
[ryzenx3d:80927] [10] ./build/release/rochpcg-install/bin/rochpcg(+0x30ce15)[0x5907be1bae15]
[ryzenx3d:80927] *** End of error message ***
Aborted (core dumped)

I do not see any contradiction in having access to a gfx1100 card.

bad wording from me but it boils down to the fact you have my hardware and can test it but "you don't want others to able to do so" 😉 ... which is OK from this project PoV, yet I was hoping I could benchmark this beautiful and expensive card, one you have too, that's it.
I will follow those instructions into the build and eventually report back but I don't want to waste anyone time.

not sure if relevant ... but I did add that flag and the error is different. Feel free to ignore it.
./build/release/rochpcg-install/bin/rochpcg 280 140 140 930
rocHPCG version: 0.8.5-8dd5c94-dirty (based on hpcg-3.1)
Using HIP device (0): AMD Radeon RX 7900 XT (20464 MB global memory)
rochpcg: ~/git/rocHPCG/src/GenerateCoarseProblem.cpp:108: void GenerateCoarseProblem(const SparseMatrix &): Assertion `nyf % 2 == 0' failed.
[ryzenx3d:83990] *** Process received signal ***
[ryzenx3d:83990] Signal: Aborted (6)
[ryzenx3d:83990] Signal code:  (-6)
[ryzenx3d:83990] [ 0] /usr/lib/libc.so.6(+0x3c770)[0x709db1a5a770]
[ryzenx3d:83990] [ 1] /usr/lib/libc.so.6(+0x8d32c)[0x709db1aab32c]
[ryzenx3d:83990] [ 2] /usr/lib/libc.so.6(gsignal+0x18)[0x709db1a5a6c8]
[ryzenx3d:83990] [ 3] /usr/lib/libc.so.6(abort+0xd7)[0x709db1a424b8]
[ryzenx3d:83990] [ 4] /usr/lib/libc.so.6(+0x243dc)[0x709db1a423dc]
[ryzenx3d:83990] [ 5] /usr/lib/libc.so.6(+0x34d46)[0x709db1a52d46]
[ryzenx3d:83990] [ 6] ./build/release/rochpcg-install/bin/rochpcg(+0x3ccc18)[0x5f9867335c18]
[ryzenx3d:83990] [ 7] ./build/release/rochpcg-install/bin/rochpcg(+0x3c6faf)[0x5f986732ffaf]
[ryzenx3d:83990] [ 8] /usr/lib/libc.so.6(+0x25cd0)[0x709db1a43cd0]
[ryzenx3d:83990] [ 9] /usr/lib/libc.so.6(__libc_start_main+0x8a)[0x709db1a43d8a]
[ryzenx3d:83990] [10] ./build/release/rochpcg-install/bin/rochpcg(+0x3aae15)[0x5f9867313e15]
[ryzenx3d:83990] *** End of error message ***
Aborted (core dumped)

Actually as far as I remember, the benchmark requires the dimensions to be a multiple of 8. Can you try x=y=z=280?

last from me:
input on 7900XT
./build/release/rochpcg-install/bin/rochpcg 304 304 304 20

output
Performing (at least) 6 CG sets in 20.0 seconds ...
CG set 1 / 6    135.6828 GFlop/s     (135.6828 GFlop/s per process)    16%    16.2 sec left
CG set 2 / 6    135.7788 GFlop/s     (135.7788 GFlop/s per process)    33%    12.4 sec left
CG set 3 / 6    135.8040 GFlop/s     (135.8040 GFlop/s per process)    50%    8.5 sec left
CG set 4 / 6    135.8329 GFlop/s     (135.8329 GFlop/s per process)    66%    4.7 sec left
CG set 5 / 6    135.8534 GFlop/s     (135.8534 GFlop/s per process)    83%    0.9 sec left
CG set 6 / 6    135.8765 GFlop/s     (135.8765 GFlop/s per process)    100%    0.0 sec left

Local domain: 304 x 304 x 304
Global domain: 304 x 304 x 304
Process domain: 1 x 1 x 1

Total Time: 22.93 sec
Setup Time: 0.08 sec
Optimization Time: 0.23 sec

DDOT   =   128.7 GFlop/s ( 1029.2 GB/s)     128.7 GFlop/s per process ( 1029.2 GB/s per process)
WAXPBY =    51.2 GFlop/s (  614.3 GB/s)      51.2 GFlop/s per process (  614.3 GB/s per process)
SpMV   =   111.1 GFlop/s (  699.7 GB/s)     111.1 GFlop/s per process (  699.7 GB/s per process)
MG     =   148.3 GFlop/s ( 1144.7 GB/s)     148.3 GFlop/s per process ( 1144.7 GB/s per process)
Total  =   137.0 GFlop/s ( 1038.8 GB/s)     137.0 GFlop/s per process ( 1038.8 GB/s per process)
Final  =   135.9 GFlop/s ( 1030.5 GB/s)     135.9 GFlop/s per process ( 1030.5 GB/s per process)


Won't start after updating to macOS Sierra

I have a Mac Mini that I hadn't gotten around to updating to macOS Sierra from El Capitan when I discovered this project, so I installed it and it ran (mostly, the playlist controls were blank). Later I decided it was a good time to upgrade to Sierra, let it do its thing, but when I came back to the Mac and restarted this project, it errored out with the following:

<EMAIL_ADDRESS>start /Users/aaron/iTunes-Remote
node server/server

/Users/aaron/iTunes-Remote/server
events.js:160
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::5000
at Object.exports._errnoException (util.js:1036:11)
at exports._exceptionWithHostPort (util.js:1059:20)
at Server._listen2 (net.js:1252:14)
at listen (net.js:1288:10)
at Server.listen (net.js:1384:5)
at Object. (/Users/aaron/iTunes-Remote/server/server.js:18:6)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: node server/server
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node server/server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the itunes_remote package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node server/server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs itunes_remote
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls itunes_remote
npm ERR! There is likely additional logging output above.
npm-debug.txt

I'm also using macOS Sierra and it's working perfectly for me. This seems to be the issue on your device.

Error: listen EADDRINUSE :::5000

Port 5000 is already in use. Try changing the port no. from 5000 to any other value say 3000 on the server/server.js file and let me know if it solves it.

 I didn't even see that port complaint. Sure enough, I changed it and it's working. Not sure what app changed since the update, but at least it was an easy fix, thanks!
A bit unrelated, but I still don't get anything popping up from the buttons in the top corners, a panel slides over but its just blank, any ideas?

It is supposed to show you all custom made playlists on the left and all the tracks in current playlist on the right. You can check the console too for its output. I'm not able to recreate it.

Is there anything I have to enable or tag playlists with? My console just shows "Connected to a client" and "Disconnected" over and over, that's it. I'm on the latest version of iTunes if it matters

I'm not sure. For me it didn't require any configuration. Try to restart the server and console the output from server/serverSideEvents.js from functions emitting getPlaylists and getTracksData

I think I figured it out. I ran the individual "tell application" commands in the script editor and noticed it doesn't consider the "up next" queue as a playlist, so it returns my entire library (which I assume is just either too much data or I just wasn't waiting long enough for it to return). I ran a playlist directly in iTunes and those songs showed up on the right as expected. I had a feeling, Up Next is always causing problems for some reason.
As for the playlists, it turns out I had a playlist with the ’ character in the name (not to be confused with ' unfortunately) and it didn't like that. Once I spotted it in the JSON I replaced it and voila!
This is an awesome tool, kudos on making it! iTunes control has been the missing link for a home automation control panel I'm trying to write for my iPad, I'll be sure to post the code once I have it in a decent state, if you have any interest :)

Woah, that's great! I'd love to see your app 😃


NTR for HVC

Term: HVC
Definition: HVC  is a nucleus in the brain of songbirds located in the caudal nidopallium, projecting to the song motor pathway via the robust nucleus of the arcopallium and to the Anterior Forebrain Pathway via the basal ganglia nucleus Area X.
https://en.wikipedia.org/wiki/HVC_(avian_brain_region)
formally called  hyperstriatum ventrale, pars caudalis (HVc) and high vocal center
only in Passeriformes Taxon ID: 9126
GOC:mr

Hi Michael
This is in the GO tracker. Do you need a developmental process term? Either way we should add the brain structure to Uberon. Are you likely to need other avian structures in the future?

Yes, this 'nucleus' is an anatomical structure, not suited for GO.
Uberon github tracker: https://github.com/obophenotype/uberon/issues
Please close this issue if you do not require a GO term.  Thanks.

?Thanks Chris,
I do not need a process term at this time, and I am not sure if I will need other avian structures in the future. If you would like to put a hold on this until I can compile a possible list of structure that is ok for me.
Mike

Michael E. Rice AgBase biocurator
School of Animal and Comparative Biomedical Sciences
Thomas W. Keating Bioresearch Building
1657 E. Helen St.
Tucson, AZ 85721
The College of Agriculture and Life Sciences
The University of Arizona
520 955-2745
mrice<EMAIL_ADDRESS>
From: Chris Mungall<EMAIL_ADDRESS>Sent: Wednesday, September 9, 2015 1:01 PM
To: geneontology/go-ontology
Cc: Rice, Michael E - (mrice)
Subject: Re: [go-ontology] NTR for HVC (#12057)
Hi Michael
This is in the GO tracker. Do you need a developmental process term? Either way we should add the brain structure to Uberon. Are you likely to need other avian structures in the future?

Reply to this email directly or view it on GitHubhttps://github.com/geneontology/go-ontology/issues/12057#issuecomment-139029885.

I'll transfer your request to the Uberon tracker.
https://github.com/obophenotype/uberon/issues/1145
Closing this one.  Please open a new issue when you do need a GO process term.  Thanks.

?Thank you

Michael E. Rice AgBase biocurator
School of Animal and Comparative Biomedical Sciences
Thomas W. Keating Bioresearch Building
1657 E. Helen St.
Tucson, AZ 85721
The College of Agriculture and Life Sciences
The University of Arizona
520 955-2745
mrice<EMAIL_ADDRESS>
From: tberardini<EMAIL_ADDRESS>Sent: Wednesday, September 9, 2015 1:27 PM
To: geneontology/go-ontology
Cc: Rice, Michael E - (mrice)
Subject: Re: [go-ontology] NTR for HVC (#12057)
I'll transfer your request to the Uberon tracker.
obophenotype/uberon#1145https://github.com/obophenotype/uberon/issues/1145
Closing this one. Please open a new issue when you do need a GO process term. Thanks.

Reply to this email directly or view it on GitHubhttps://github.com/geneontology/go-ontology/issues/12057#issuecomment-139036530.


Return CommitRef? from ReadCommitRefAsync

Codecov Report

Merging #73 into master will decrease coverage by 0.06%.
The diff coverage is 33.33%.

@@            Coverage Diff            @@
##           master     #73      +/-   ##
=========================================
- Coverage   55.37%   55.3%   -0.07%
=========================================
  Files          46      46
  Lines        1741    1743       +2
=========================================
  Hits          964     964
- Misses        777     779       +2

Impacted Files
Coverage Δ

...sitory.AzureTable/AzureTableChasmRepo.CommitRef.cs
0% <0%> (ø)
:arrow_up:

...pository.AzureBlob/AzureBlobChasmRepo.CommitRef.cs
0% <0%> (ø)
:arrow_up:

...sm.Repository.AzureBlob/AzureBlobChasmRepo.Tree.cs
0% <0%> (ø)
:arrow_up:

....Repository.AzureTable/AzureTableChasmRepo.Tree.cs
0% <0%> (ø)
:arrow_up:

src/SourceCode.Chasm/Sha1.cs
96.11% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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