Update copy workflow to add merged PR's URL in commit message

Description

Update copy workflow to add merged PR's URL in commit message.
This would be helpful at backend's side to track which frontend's PR is committing at automated copy & paste PR.
The frontend PR's URL can be found by hovering the mouse pointer on top of the commit message in the automated copy & paste PR in backend repo.
Example of the workflow is as follows:

Do bear in mind, the commit message can be shown as below. This is not an error, as it can happen when someone push code directly into the frontend's main branch. As the workflow tries to find the PR associated with the commit, but it can't, because the codes have been merged directly without any PR.
This should not be an issue as our common practice is to always make a PR prior any code merged into the main branch.

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[X] Adding GitHub Actions capabilities

Tested on?

[ ] Windows
[ ] Linux Ubuntu
[ ] Centos
[X] Mac
[ ] Others  (State here -> xxx )

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged

Thank you @codenamewei


fix opencv imread failure: remove libjpeg symbols from export list of…

… libtensorflow_framework.so to avoid symbol conflicts with opencv

@allenlavoie could you please help review this pull request?

I signed it!

From: googlebot<EMAIL_ADDRESS>Sent: Tuesday, June 12, 2018 7:37 PM
To: tensorflow/tensorflow
Cc: ruanjiandong; Author
Subject: Re: [tensorflow/tensorflow] fix opencv imread failure: remove libjpeg symbols from export list of… (#19964)
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
About - Google CLAhttps://cla.developers.google.com/
cla.developers.google.com
When you sign a Contributor License Agreement (CLA), you give Google the legal permission to use and distribute your contribution.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.

What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA datahttps://cla.developers.google.com/clas and verify that your email is set on your git commitshttps://help.github.com/articles/setting-your-email-in-git/.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public versionhttps://opensource.google.com/docs/cla/#troubleshoot).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA datahttps://cla.developers.google.com/clas and verify that your email is set on your git commitshttps://help.github.com/articles/setting-your-email-in-git/.
The email used to register you as an authorized contributor must also be attached to your GitHub accounthttps://github.com/settings/emails.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/tensorflow/tensorflow/pull/19964#issuecomment-396794493, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APlqgP649TsJqs3oC_LmwJDVlQrh3kZVks5t8HrmgaJpZM4UlcIL.

I signed it!


arch-arm: Fix incorrect behaviour of VFNMS and VFNMA

This was found while comparing a diverging execution against QEMU traces
and checking for the first mismatched program counter. Fortunately this was
caused by a branch shortly after this incorrect computation but still took
a long time to track down.
There are two issues here: the decoder had inverted the cases for *S and A,
and the sign bit was wrong for VFN.

@giactra This was really difficult to track down - I wonder if it would be possible to run the Arm test suite against gem5? I believe all that's needed is a simple trickbox device?


fix: external link icon shouldn't be vertical aligned

Turns out vertical-align: bottom wasn't supposed to be there.

you'll need to do a refresh to bust the CSS caching, the CSS is there your browser just hasn't pulled the new one haha

you'll need to do a refresh to bust the CSS caching, the CSS is there your browser just hasn't pulled the new one haha

Oh ya, now it is works nicely, thanks!


Update buildTools, supportLibrary and classpath version.

Thanks for the PR! but we need to do this from todo-mvp and then merge into the branches.


v1 <-> v6 transformation, v6 generation

The whole raison d'etre for version 6 is to provide interoperability with version 1.  I.e. Version 6 is really only useful when operating in contexts where systems care about both version 1 and version 6 forms of a UUID (otherwise, version 7 should be used, instead).
Thus, I suggest our version 6 support should consist of the following:

v1tov6(v1uuid) - converts v1 UUID to v6, throws if v1uuid is not actually version 1
v6tov1(v6uuid) - converts v6 UUID to v1, throws if v6uuid is not actually version 6
v6() - convenience method for v1tov6(v1())

.

Return a new buffer.   Modifying state in-place is a bit of a code smell, especially since we (this library's authors) don't know how the input id might be used subsequent to this method being called.


Write a C++ program to convert hours to minutes

Description
Write a C++ program to convert hours to minutes
1 hour = 60 minutes
Input  : 5
Output : 300

How to contribute

Save the solution in program/ConvertHoursToMinutes.cpp file
Add ConvertHoursToMinutes.cpp file in convert-hours-to-minutes folder

!assign


Link at repo base to run-dev.sh is wrong

There's a link in the top of the repo to run-dev.sh, seems to point to an old subdirectory name

@aawdls if I understand you correctly that is something I fixed this morning. Can you check if you still see it? Thanks.

Yep you've now removed the soft link so no longer an issue.


No direct method (Ljava/lang/String;Ljava/lang/String;Lorg/osmdroid/util/GeoPoint;)V in class Lorg/osmdroid/views/overlay/OverlayItem; or its super classes (declaration of 'org.osmdroid.views.overlay.OverlayItem'

Please note: issues related to or caused by osmbonuspack will be closed with a
suggestion to open an issue at https://github.com/MKergall/osmbonuspack
(feel free to delete whatever doesn't apply)
Issue Type
[ ] Question
[ ] Bug
[ ] Improvement
[ ] Build system related
[ ] Performance
[ ] Documentation
Description and/or steps/code to reproduce the problem
Environment
If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
6.1.2

i went through the version history of this class and did not see a constructor matching those parameters. How did you get this error message? Currently it's a title (string), description (string) and a geopoint. There's also additional constructors.
I'd suggest updating your code


Bug Report: Random crash - Access violation

Environment
Windows build number: Microsoft Windows [Version 10.0.18362.175]
Windows Terminal version (if applicable): 0.2.1715.0

Any other software?

Steps to reproduce +  Actual behavior
Well, not quite sure.
I just edited some file with nano inside my WSL disto and then it randomly crashed.
Unhandled exception at 0x00007FF9D66BA4AC (TerminalApp.dll) in WindowsTerminal.exe: 0xC0000005: Access violation reading location 0x0000018D3444B2C8. occurred

I also got the disassembly from VS2019 debug, but not sure if it's helpful.
So let me ask what could I do to provide useful information if it happens again?

Hahaha, I figured it out.
I just pressed ctrl + w to use search within nano without thinking about it.
Well, actually it's #1393 then. Great.
Closed~


Suplimentary static pages

Grouping these into:

Privacy Policy
Accessibility
SEO/Cookie Statement
Other? - whatever is necessary (consider linking to Code Institute Website?)

@manni8436 😄

@andrewdempsey2018 @manni8436 going to split this in two ✂
@manni8436 can you do the Privacy Policy & Accessibility pages? And we can then get in the SEO & Cookies policy later along with other pieces from @andrewdempsey2018 🤜

Yep no worries, I can get that done @auxfuse 😊, I'll start on it tomorrow afternoon after work 🤓


Wiki is outdated for "available modules"?

Currently the wiki modules page does not list all the modules which can be found in modules folder. Are the modules not stable so they are not recommended to invoke, or is it just a case where the wiki needed to be updated?

@singularitti, you're right. We're missing:

autosuggestions: a wrapper to zsh-users/zsh-autosuggestions.
custom: a template for a custom module, not something worth listing.
debug: adds the trace-zim function.
fasd: our own fork of clvv/fasd (until it's "abandoned")


Update google-auth-library-oauth2-http to 1.15.0

Updates com.google.auth:google-auth-library-oauth2-http from 1.14.0 to 1.15.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.auth", artifactId = "google-auth-library-oauth2-http" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.auth", artifactId = "google-auth-library-oauth2-http" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #406.


Fix the processing of html so that it does not encode src="{{src}}"

The escaping that nokogiri does for html attribute values is too aggressive and ends up replacing curly brackets in attribute values. Changed the way the stringify method functions to spit out elements by hand and use ruby's encode method instead to encode the attribute values.

@danshep could you look at specs and see the reason why output fro processor is different?

It looks like a difference in the libxml c library. Runs fine on my box.
Might need to pull up the knowledge as to which tags are self closing.
On Mon, 25 May 2015 10:19 pm Alex Chaplinsky<EMAIL_ADDRESS>wrote:

@danshep https://github.com/danshep could you look at specs and see the
reason why output fro processor is different?
—
Reply to this email directly or view it on GitHub
https://github.com/alchapone/polymer-rails/pull/43#issuecomment-105224127
.

Can you confirm that issue still exists in version 1.0.0. Because I can not reproduce it.


Missing support for default response

When generating API files for an openapi spec, which contains "default" responses, the generator fails, as this feature seems not to be supported through https://github.com/kokuwaio/micronaut-openapi-codegen/blob/main/src/main/java/org/openapitools/codegen/languages/MicronautCodegen.java#L265 .
The ask would be, if we can enable this, as it is part of the openapi specification and should therefore be supported.

Please take a look at #216

Fixed with 3.2.2


Does this work with okta auth server ?

Hi,
We are using Okta auth server and smart-mainline branch of fhir-works-on-aws-deployment. I'm wondering if there is way to make it work with Okta auth server.
Thanks !

This web app doesn't currently support smart authentication. The web site uses the /callback url to store the access token received by the API server. The code for that is here
If you go to the website at /callback?id_token=<ACTUAL_TOKEN and provide it with the actual auth server token, the UI will use that token for future API requests.


Add addInt feature

Bug: UI is not updated immediately upon adding interests
Test cases not done yet, DG also
Not sure if I should be using ObservableList<Interest> or Set<Interest> in AddInterestCommand.java

Codecov Report

Merging #111 (3c5cfa7) into master (4f91a8e) will decrease coverage by 2.14%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #111      +/-   ##
============================================
- Coverage     71.67%   69.53%   -2.15%
- Complexity      524      540      +16
============================================
  Files            84       88       +4
  Lines          1691     1769      +78
  Branches        210      221      +11
============================================
+ Hits           1212     1230      +18
- Misses          397      454      +57
- Partials         82       85       +3

Impacted Files
Coverage Δ

...edu/address/logic/commands/AddInterestCommand.java
0.00% <0.00%> (ø)

...address/logic/parser/AddInterestCommandParser.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
85.00% <0.00%> (-4.48%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
96.36% <ø> (ø)

...c/main/java/seedu/address/model/person/Person.java
88.50% <0.00%> (-6.56%)
:arrow_down:

...rc/main/java/seedu/address/ui/PersonListPanel.java
0.00% <0.00%> (ø)

...a/seedu/address/logic/parser/ModCommandParser.java
89.02% <0.00%> (-5.72%)
:arrow_down:

...ess/model/person/ModContainsKeywordsPredicate.java
100.00% <0.00%> (ø)

...a/seedu/address/logic/commands/ModFindCommand.java
88.88% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks I will continue working on this 👍

I have pulled yours in the other PR.


Two models in MorphTo raises an error

Larastan version: 2.1.4

It throws an error when using two Models in MorphTo.
/**
 * @return MorphTo<PrivatePost|PublicPost, Picture>
 */
public function post() : MorphTo
{
    return $this->morphTo();
}

Internal error: Internal error: Call to undefined method PHPStan\Type\UnionType::getClassName() ...

Hello Markus! 👋
It may need only a 4 line long PR.

Which version are you using? This was fixed in the recent versions.

This was fixed in the recent versions.

Was it #1187?

I am using version 2.1.4

Can confirm this issue still remains on 2.1.4 and dev-master @ 831f09b.
Method App\Models\Parent::credentials() should return
         Illuminate\Database\Eloquent\Relations\MorphTo<App\Models\ChildX|App\Models\ChildY, App\Models\Parent> but returns
         Illuminate\Database\Eloquent\Relations\MorphTo<Illuminate\Database\Eloquent\Model, App\Models\Parent>.

And I can confirm no one fixed it.

This is fixed in the recent versions. Test case: https://github.com/nunomaduro/larastan/blob/340d65ab78e52479c60de27c0851808b1802eaae/tests/Type/data/model-properties-relations.php#L72


Configuration persistency issue

Trying to add the configuration files to set the static IP and password in /usr/local/cloud-config or /oem after system has been created, at the runtime.
But, after the reboot, the configuration files which I've putted in the /oem directory gets removed. I even tried in /usr/local/cloud-config directory also. But got the same result.
Ideally, the config files should stay even after the reboot. Please let me know, how I can resolve this issue.

@divyashukla25 feels like there might be something wrong in your environment as /oem and /usr/local/cloud-config are writable and persistent paths. I just have checked it on a VM on my env and the default configuration makes both paths writable and persistent.
Could you share the contents of your /etc/os-release and the runtime /etc/fstab?

Hi @davidcassany
Below are the files

Hey, I again tried that and I checked that there is no fstab file, only mtab and it is giving me the above mentioned output.
I'm installing elemental on VMware and my firmware is set on UEFI.

Could you please tell me how I can make the /oem directory persistent, so when systems reboot my customized file remain in the /oem directory.

@divyashukla25 are you actually installing the OS from the booted live ISO? You don't have any /etc/fstab file because within the live ISO it is not created at all. fstab is only generated when booting from the disk of an installed system.
Have you registered the machine against a Rancher instance including elemental-operator?
There is a small how to in our docs for VMWare. As on step 4.2 Boot the VM with the elemental ISO the installation automatically starts after booting. Once the installation is over reboot the machine and it should boot from the disk, not the ISO. Then, when booted from the disk /oem is persistent by default. /oem is not persistent on the live OS.

Hi @davidcassany
I tried with the documents which you have provided. And it is working for me now, I'm able to get the /oem persistent. This is really helpful. Thank you very much.

Hey @davidcassany
Actually, I tried your provided documents. And performed below commands

But after doing it, my k3s is not getting installed and rancher registeration is also getting failed.

Please help me to resolve this issue. I need this on urgent basis. Thanks.

@divyashukla25 it would help us a lot if you would append complete logfiles instead of partial screen shots.


Fix for "More than one instance of bitcore-lib found."

I ran into this issue again with 2.5.6. Here's a fix:
Uncaught Error: More than one instance of bitcore-lib found. Please make sure to require bitcore-lib and check that submodules do not also include their own bitcore-lib dependency.
    at Object.bitcore.versionGuard (.../node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:12:11)
    at Object.<anonymous> (.../node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:15:9)
    at Object.<anonymous> (.../node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:71:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)

This doesn't work for me. When I remove the bitcore-lib reference there package bitcore-mnemonic puts its dependency in bitcode-mnemonic/node_modules/bitcore-lib and when I do require('bitcore-lib') it can't actually find it. Manually removing the folder bitcode-mnemonic/node_modules/bitcore-lib works but that's a bit too hacky I feel. I'm on node 8.7.0

@christianlundkvist builds and tests pass for me on this branch. Can you confirm what exactly doesn't work for you?

@Srirangan I'm getting the error Error: Cannot find module 'bitcore-lib' when I run npm run test.

@Srirangan Ah there was a package-lock.json file floating around which I removed. That seems to have fixed it! Now npm run test works as expected.

@christianlundkvist Nice, then can we merge this please ... I would like to update my package.json to stop depending on srirangan/eth-lightwallet :)

@Srirangan I'm going to try to merge in the big cleanup v3.0.0 today which will include this fix.

shouldn't bitcore-lib ^0.15 be at least a peerDependency given that its referenced in the source? I feel the correct fix for this problem is to match the version of bitcore-lib that is in the currently chosen version of bitcore-mnemonic and / or make bitcore-lib a peerDependency...Removing it completely will lead to very confusing errors should the implicit inclusion of bitcore-lib through bitcore-mnemonic ever fail. My vote is letting the consumer decide which version they want to use by making it a peer / dev Dependency.

this can be fixed by removing the ^ in front of bitcore-mnemonic.
We have to fork now because of this. Hope something is done soon. (bitcore can burn their versionguard)

This has now been fixed in https://github.com/ConsenSys/eth-lightwallet/pull/166. For a temporary fix you may also use the branch srirangan/eth-lightwallet until you are upgraded to v3.0.0.


Staking custom RPC calls

As discussed in this Polkadot forum thread and elsewhere, it would be useful for the staking pallet to expose a few runtime APIs that can be called through RPC to help UIs and clients to query dynamic onchain data that is required for showing stats in UIs and help building extrinsic parameters.
Examples of RPC methods:

staking_nominationsQuota: Returns the number of nominations quota per bonded balance, to help UIs calculating the max nominations for the account (implemented in this PR);
staking_poolsPointBalanceRatio (perhaps this method should be under pools_* instead?)
others..

This looks interesting.
I would be happy to work on it.


How to debug Markdown Handler problems?

When building my Jigsaw page, I get quite a lot of errors, all saying the following:
PHP Notice:  Trying to get property 'extends' of non-object in /Users/machine/Sites/site/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php on line 45
How can I find out which markdown files cause the problem?

I guess the simplest way is to search all your files to see which file use the extends layout feature.


Update the managed AppURL

Should this
$managedAppUrl = "https://management.azure.com/subscriptions/" + $metadata.compute.subscriptionId + "/resourceGroups/" + $metadata.compute.resourceGroupName + "/providers/Microsoft.Solutions/applications/" + $managedappId + "?api-version=2019-07-01"
be
$managedAppUrl = "https://management.azure.com/subscriptions/" + $managedappId + "?api-version=2019-07-01"
$managedappId is already returning something like below
/subscriptions/337a9085-guid-903bd75c1ded/resourceGroups/managedapp/providers/Microsoft.Solutions/applications/sbmanaged

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

ID: 59fc8eb9-0b49-ae78-7292-3b819faf2130
Version Independent ID: 72874feb-159d-b73e-b53b-47c227b1dbda
Content: Marketplace metering service authentication strategies
Content Source: articles/marketplace/partner-center-portal/marketplace-metering-service-authentication.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @qianw211
Microsoft Alias: dsindona

@santhoshbomma9 Thanks for the feedback. We are looking into this and will get back to you shortly.

@santhoshbomma9 The document has been fixed.
@dsindona Thanks for updating the documentation.
Closing this issue for now as no action pending from content author for any doc corrections.

Thank you @dsindona and @SadiqhAhmed-MSFT !


Multiple underscores in table names get truncated to one when exporting a table to a file

Description
Multiple underscores in table names get truncated to one when exporting a table to a file
DBeaver Version
Community edition 22.2.0
Operating System
Win 10
Database and driver
Postgres but have also reproduced under Clickhouse so I don't think it's DB related
Steps to reproduce

Create a table that has multiple underscores in it's name:

CREATE TABLE test____2 (
	some_column varchar NULL
);

Try to export it to a CSV file
For simplicity, in the "File name pattern", enter "${table}"
The file will be created with only one underscore test_2.csv instead of test____2.csv

Additional context
No response

Thanks for the bug report @AviSarmani


Upload failed! Error: The action package belongs to a different tenant!

Anyone have ideas for what may be causing this issue at the end of the npm run deploy command?
"Upload failed! Error: The action package belongs to a different tenant!, CorrelationId: d47e2561-845e-4e31-b7f2-d69c5819124f"

If user tenant and uploaded teams zip tenant is different then we got such error. Please use same tenant for providing permission to App and uploading the Teams app Zip.


Assist in upgrading non-ng-cli projects

@duluca since Angular CLI is the way to go for Angular based-projects nowadays, do you think it should worth checking out this issue?

I'd say this is low priority. Maybe nx support is higher.


New install of ozp-center cannot load jquery

After following the getting started guide, I've started up ozp-center. If I browse to http://localhost:3000/, I get a blank page. Viewing the Chrome inspector, I see that 3 files failed to load with 404 errors: lib/jquery/jquery.min.js, lib/jquery/jquery-ui.min.js, and lib/jquery/jquery.dd.min.js.
Is this a known issue?

Is there any specific reason you're using this version of Center? I would recommend the use of center-ui

No, actually I'm just trying to figure out how to set things up to test out the new platform. I couldn't find any real explanation of what the various repos here do or which one to use to get started. So I just started digging through them until I found ozp-center, which the readme led me to believe was what I was looking for.
Are you saying I should not use this, but instead use ozp-ui? Is there an explanation of which repos I need to be looking at somewhere? Thanks.

You'll want to use the following to launch the marketplace: https://github.com/ozone-development/center-ui
also--
https://github.com/ozone-development/hud-ui
https://github.com/ozone-development/ozp-webtop
https://github.com/ozone-development/ozp-iwc
and
https://github.com/ozone-development/ozp-rest
are going to be the core for the new platform.
I'll dig around and see if we have a deployment guide for the new platform and report back to this issue when I find something.
I hope this helps out a little in the mean time

Thanks, I'll do that. I got the center-ui running after a lot of npm problems (many of the dependencies appear to be outdated and don't play well with node 0.12, and at least one required me to go into the preprocessor module and add a manual fix). Once I got the app running, though, I'm asked for a certificate. So my next step is to figure out how to proceed there. Anyway, thanks, I'll close this and probably open one or more issues in the center-ui repo.


Support deploying new build without requiring reset

Depends on #7
Will further streamline development and testing (and save wear & tear on a pico's usb port if the user hasn't setup a reset button).
Once the mechanism is in place to be able to communicate directly with vireo without interfering with a running application the picoG tool can abort the running application and then signal the engine to clear up any currently allocated resources.

I'm thinking that just like LV development, if an application is already deployed and running that the user should confirm they want to abort the current deployment.

Running app abort implemented by jim, need to finalize workflow for user and better feedback to confirm aborting for new deploys.


gRPC tests for trace handling

@jessicalins Thank you for your comments.  I have addressed them.  The test is passing, but the build is not passing consistently, because of the flaky TestRulesAPI reported in https://github.com/observatorium/api/issues/249

@esnible regarding the failing e2e tests, me and @matej-g are taking a look at it. We would need to do changes in https://github.com/efficientgo/e2e , we'll let you know once this is merged and fixed here too

@esnible could you try rebasing with latest main? this pr should have fixed CI

@jessicalins All tests now pass.


Incref error

Adding an entity from inside another entity causes an incremental reference error.

https://github.com/GeraldBostock/adl/commit/a97a3d89e4f910719f028afb764eba7cb491f73d


SDL2: 2.24.2 -> 2.26.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/SDL2/versions.
meta.description for SDL2 is: A cross-platform multimedia library
meta.homepage for SDL2 is: http://www.libsdl.org/
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.26.3 with grep in /nix/store/2iz0a062gpwcmr5hjgc15nsw0dwnd0zj-SDL2-2.26.3
found 2.26.3 in filename of file in /nix/store/2iz0a062gpwcmr5hjgc15nsw0dwnd0zj-SDL2-2.26.3

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

2238 total rebuild path(s)

2238 package rebuild(s)

First fifty rebuilds by attrpath
ChowKick
CuboCore.corepdf
CuboCore.coretoppings
MIDIVisualizer
PageEdit
SDL2
SDL2_gfx
SDL2_image
SDL2_image_2_0_5
SDL2_mixer
SDL2_net
SDL2_sound
SDL2_ttf
SDL2_ttf_2_0_15
SDL_audiolib
SDL_compat
SDL_gpu
Sylk
_1oom
_20kly
_7kaa
_90secondportraits
aaxtomp3
abbaye-des-morts
acoustidFingerprinter
adapta-gtk-theme
adl
aegisub
aitrack
alass
alephone
alfaview
alfis
almanah
alpine-make-vm-image
alsa-scarlett-gui
altair
amarok
amarok-kf5
amberol
anbox
ani-cli
anime-downloader
anki
anki-bin
ankisyncd
antimicrox
anytype
apache-directory-studio
apmplanner2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2iz0a062gpwcmr5hjgc15nsw0dwnd0zj-SDL2-2.26.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2iz0a062gpwcmr5hjgc15nsw0dwnd0zj-SDL2-2.26.3
ls -la /nix/store/2iz0a062gpwcmr5hjgc15nsw0dwnd0zj-SDL2-2.26.3/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @cpages for testing.

@ofborg build webkitgtk

Note in advance: pygame has been pinned to an older SDL2 version at upstream. So pygame needs change. IMO that is a bad reason to stop SDL2 updates.


🚀 Feature Request: Support JSON output on pages cli functions

Describe the solution
Support JSON output on pages cli functions
I want to run wrangler in a CI to publish to pages.
Single template repo to multiple projects. But there is no "easy" way to grab the URL (or other info) and post it as a comment in github.
Also, Doing project list or deployment list, even with grep starts to become annoying. Considering the special characters used to create the table. And of course it's not stable, as the table format can change at any time.
I can surely use regex and capture it. but It will be much easier to use jq

This significantly reduces wrangler's power in CI pipelines and other dev scripts for my team. There are a few scenarios in our workflow which I'd assumed would be trivial to automate, but now need to be done manually (or resort to some complex and bespoke parsing).


Update README.md

To summarize our chat....
Given the complex dependencies of the project, most of your effort will go into simply creating the package and adding some tests.

The environment.yml should be moved into the project's root directory
The first approach will be to use Conda to package your code.
You should modify the circlecic config file to use conda instead of pip to install your project
We can help if you struggle with this.

superseded by #32


Search for proper run_name and not state name

Make sure getting existing runs pulls from os.environ as well as state run name

test-mlflow-logger-EP7BFB


Does some cleanup of contraction hierarchies and prepares for turn costs.

In this PR some refactoring is done for the contraction hierarchies graph preparation. Some of these changes are preliminary actions to support turncosts for contraction hierarchies. This is a follow up of #1366.

node priorities are now represented by floats instead of ints and GHTreeMapComposed is adjusted accordingly. This should not really change anything, but is advantageous for edge-based CH.

IgnoreNodeFilter is moved to a separate class

the mean degree estimation used to limit the maximum number of visited nodes for the local Dijkstras in CH and the node priority calculation is now done in NodeContractor instead of in PrepareContractionHierarchies

usage of stopwatches in PrepareContractionHierarchies is cleaned up and the statistics logging during the contraction is somewhat improved

NodeContractor is replaced by a new interface that right now only has one implementation NodeBasedNodeContractor. Some methods that are also useful for the edged-based case are moved to an abstract parent class AbstractNodeContractor.

BaseGraph has a new method debugPrint()

I checked the performance with the measurement and could not find any performance regression.

Yes, I will update and check the performance again.

Is this change neutral performance-wise?

I ran the measurement 15 times for master and this branch for Germany. I got:
master: 519+-5s (about 5min40s)
this:      529+-7s (about 5min50s)
and on average master is about 1.5% faster. Query times were equal within error bounds and the number of shortcuts was exactly the same on every run.
The difference in CH preparation time might be because the custom comparator in GHTreeMapComposed is slower (two float comparisons instead of one long), but I did not further investigate, because the difference seems rather small to me. What do you think ?


Include missing XMLBeans schemas in the native image

Fixes #59

Build is running now.

Can you format the sources using mvn clean process-sources?

@all-contributors add @knuspertante for bug and test

@knuspertante I pushed the fix to your branch and renamed the PR (hope you don't mind) 😄
Can you give it a shot?
Also I'd appreciate the feedback from the @quarkiverse/quarkiverse-poi team 😉

@gastaldi thanks! LGTM and works very well!
That's funny, because the missing resource was also my first thought but after i monitored the jvm mode with the tracing agent, this entry was not included in the resource-config.json.
That's why I thought it can't be that and the xsb are already compiled as a class.
Thanks for adding me as a contributor, I appreciate that!
@gastaldi @melloware I think this could be merged or do I have to do something, like rename the test / file, clean up the commit history, ... ?

I squashed it for you!

@melloware fancy backporting this to 1.x and releasing both?

yep i will put it on my list today!


Text composables: Android Basics with Compose - dead link

URL of codelab
In which task and step of the codelab can this issue be found?
Step 11
Describe the problem
Dead link for Pixel Density
https://m3.material.io/design/layout/pixel-density.html#pixel-density
Steps to reproduce?

Go to https://developer.android.com/codelabs/basic-android-kotlin-compose-text-composables?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-1-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-text-composables#10
Click on Pixel Density Link
See error

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Hi @psabadac
Thank you for writing in and bringing this issue to our attention.
It has been fixed and the lesson will be republished again in the near future.
Hope you are enjoying the course.
Regards.


error: can't unsafeBitCast between types of different sizes

Hi there 👋
I'm using the feature/swift-3.0 branch, with Xcode 8 (Appstore release), and am getting a crash on https://github.com/malcommac/SwiftDate/blob/feature/swift-3.0/Sources/SwiftDate/Calendar%2BSwiftDate.swift#L44 of

error: can't unsafeBitCast between types of different sizes

when doing a simple Date().add(components: 9.hours).
Any thoughts or more information I could provide?

So I'm not super up to date with unsafeBitCast but I can have a rough guess as to what's gone down.
Previously the extension was on NSCalendar, which would require a class pointer, then recently there was the change to make the extension for Calendar instead, which is a struct, which has a different size.
I was able to successfully carry on by changing the line to:
return unsafeBitCast(self as NSCalendar, to: CFCalendar.self)

Merged


Response file

I'm not entirely sure where this exactly originates and where to find a good documentation on this, but some compilers and build tools support a “response file.” Usually the syntax is
prog @file1.rsp @file2.rsp

where file1.rsp, file2.rsp, ... contain the command line arguments separated by newlines and can be combined with normal command lines arguments. Some implementations allow further references to other response files in the response file. I did find some documentation for MSBuild.exe on rsp-files and some notes at the ninja build manpage.
This might be an interesting feature for this library since it would allow to store (maybe even load and/or dump) command lines as a file, which makes it useful for testing or storing frequently needed (complicated) command lines.

I actually have done something that might be similiar using a CLI cracker called M_kracken up to the point where the calling program
becomes a shell.  The one I think is most similar to what you mention here allows you to make your own subcommand name, basically.
Since we are adding new subcommands to fpm their could easily be a conflict so using something like the at prefix might be a good idea. I was thinking the way things were already focused on TOML files it might be good to do simple aliases there, but it would be easy using M_calculator and M_logic (old F77 codes with a bit of updating, but as-is a bit daed but ffunction) so you could do things
like
fpm @id

and it couldfpm run --compiler ifort --runner 'gdb'.  I have a trimmed-down M_calculator (the real one calls a lot of system-dependent stuff like almost all the POSIX routines and such)  so the input files can branch and use environment variables and stuff as a "stage two".  Would only take a few hours to put a prototype up. Trying to find more info. Some of my favorite aliases are becoming obsolete soon though.  My favorite scripts and aliases are "ffpm" which searches for an fpm.toml file in the parent branches an does a cd to the directory,  fpm-install which does a mkdir of the directory name, and does
fpm run --release --compiler gfortran --runner 'install -vbp -m 0711 -t ~/.local/bin'

which should shortly be superseded by fpm install
and fpm-all  which repeats the command for all the compilers I recently got and defaults to "fpm test --compiler NAME` for each compiler. Doing multiple calls to the program might be harder without spawning a subprocess.
I will do some web searching and see if I am interpreting this correctly.

After looking around a bit response files seem to mean everthing from
system-independent one-per-file way of doing an alias using files
in the current directory to journal or replay files. The Intel compiler
supports the simplest one of those.This is  unstandardized I am a bit hesitant
to go down this path, but it would be a lot less code than a parsing
shell-like custom language. Unless switching between various platforms a lot
not sure aliases and simple shell scripts might not be a better solution.
That being said, combining some of the instances I found and picking and
choosing between what I did and did not like I would say the simplest
to implement in standard Fortran would be something like ...
PRELIMINARY SPEC
Spec would be if set_args(3f) has the argument response_file=.true.
then the following files will be searched until the first match is
found:

A pathname specified by the environment variable $CLI_RESPONSE
A file called $HOME/.cli_response.rsp
A file called $HOME/.local/dot/cli_response.rsp

If the environment variable $OS (first) or $OS_TYPE is set the search
will be for a line of the form (no leading spaces allowed):
   @$OS_TYPE@basename($arg0)@alias_name

where basename($arg0) means the basename of the name of the program as
returned by GET_COMMAND_ARGUMENT(0,...).
If no match is found then look for a line of the form
   @basename($arg0)@alias_name

Lines will then be processed until another line starting with "at" is
found or end-of-file is encountered. Column one is special and would
have the following meanings
 a leading blank (or >) means echo message to screen

#comment

!system command
#

System commands would be executed as a simple call to system (so a cd(1)
would not effect subsequent lines, for example)
- default options

This would be the typical use for a simple alias.
For "-" syntax is same as command definitions using SET_ARGS() so
double-quote strings; F|T for logical; ...  Note easiest to implement
is that options are cumulative, might want to change that.
@STOP message
@EXIT message

A special line meaning to STOP or EXIT calling program
EXAMPLES
Resulting in Something like this example file
   @fpm@if
   > RUNNING TESTS USING RELEASE VERSION AND ifort
   - test --compiler ifort
   @fpm@gf
   > RUNNING TESTS USING RELEASE VERSION AND gfortran
   - test --compiler gfortran
   @fpm@nv
   > RUNNING TESTS USING RELEASE VERSION AND nvfortran
   - test --compiler nvfortran
   @fpm@nag
   > RUNNING TESTS USING RELEASE VERSION AND nagfor
   - test --compiler nagfor
   #
   # OS-specific
   @Linux@fpm@install
   #@(#) install executables in directory (assuming install(1) exists)
   !mkdir -p ~/.local/bin
   - run --release T --compiler gfortran --runner "install -vbp -m 0711 -t ~/.local/bin"
   @fpm@install
   @STOP INSTALL NOT SUPPORTED ON THIS PLATFORM OR $OS_TYPE NOT SET
   #
   @fpm@testall
   #
   !fpm test --compiler nvfortran
   !fpm test --compiler ifort
   !fpm test --compiler gfortran
   !fpm test --compiler nagfor
   @EXIT tests complete. Any additional parameters were ignored
   #

Would be used like
   fpm @install
   fpm @nag --release
   fpm @testall

ALTERNATIVE
us M_logic and M_calculator and make look a lot like a bashshell input file
allowing for variables and so on
M_logic would provide conditional based on environment if/else/elseif/endif.
Could use existing functions and syntax would look Unix-like.
~

It does not quite amend itself to a program using subcommands yet; but I added an alpha version of response file support to M_CLI2.
Still thinking about it. I have a lot of programs that use M_CLI2 that I am still trying this with. I am trying out a few ideas on how to handle subcommands reliably.  I find different documentation for MSWindows indicating in some environments commands can be no longer than 128 characters; but I find other documentation indicating the limit is 32K, so not sure how important the ability of a response file to get around MSWindows line length limits still is, but for fpm(1) this would also be useful for aliasing long commands.

Hello, @urbanjost ,
I try to query the usage of response file on Windows-msys2-gfortran platform in this repo, but I can't find the correct usage, is the response file not applicable for Windows-msys2-gfortran? It's ok for me to use a response file under Linux.
fpm.rsp:
@run
option run --profile debug

fpm @run

Thanks, looking forward to your reply :)

A response file should work on any platform.  I currently do not have an MSWindows platform I can test on but it should work anywhere fpm runs.  If your response file is not in the top of your project file you have to use environment variables to indicate
where to find the files.
What message do you get when you run "fpm @run" ?   I will try to get set up with your environment but that environment was one of the original ones being used when response files were being added and tested so I know it worked in the recent path; and I can think of nothing that has changed since that would have broken it so hopefully this is something simple that just has to do with how the file is being searched for.

Thank you for your reply, @urbanjost .
I usually use powershell and I retested it. Under Windows, using powershell, cmd, and bash, it seems that cmd can successfully run fpm @run (Sorry I didn't test cmd before), but powershell and bash cannot run normally. The running results are as follows:

I can run it under linux with fish shell:

Seems like the @ sign has syntactic meaning in powershell, and bash fails unexpectedly. Is there any way to make fpm @run more generic, like available in powershell and bash under Windows?

That was very informative. So it works in cmd, but not in bash.  I suspect that one or both of the environment variables OSTYPE or OS is being set incorrectly to indicate you are on MSWindows; when in the WSL mode in bash it should be taking the Unix shell.
So for the bash shell, probably doing an "unset OS" or "unset OSTYPE" is required for fpm in general, not just for response files.
If the @ character is special in powershell maybe another character needs to be allowed as the flag character for a response file.
The procedure in fpm that guesses what OS you are in needs a little more work.  If you run
 fpm --version

It should show an "OS_type"  which I am going to says WIndows instead of Linux; and the work-around to "unset OS" will then cause it to work and "fpm --version" will then show "Linux".  I do not use powershell much so I am not sure there is a work-around; that might require making a version where something other than @ be used to indicate to use a response file. I wonder what "fpm --version" shows in powershell as well.  What is going on in the bash shell is just a guess till I can get to a MSWIndows machine, but it is likely what is going on.  I would have no idea what was going on in the powershell if you had not noted "@" is a special character to it. If there is an environment variable that is only set when in the powershell and/or in the WSL, that might be one way to solve this generically.

If you put a backslash in front of the at like
fpm \@run

does that work?

Since in bash OSTYPE is a process variable and not by default an environment variable, I am also guessing
export OSTYPE

will also fix the bash shell under WSL.

WSL-bash should run like normal Linux. Sorry to misunderstand you, my bash here is from mingw64/msys2's bash, similar to git-bash, it is not from WSL.
Thanks for the reminder, when I run fpm \@run in powershell, the following happens:
>> fpm \@run    # In powershell
<ERROR> unknown subcommand [\@run]

 build [--compiler COMPILER_NAME] [--profile PROF] [--flag FFLAGS] [--list]
       [--tests] [--no-prune]
 help [NAME(s)]
 new NAME [[--lib|--src] [--app] [--test] [--example]]|
          [--full|--bare][--backfill]
 update [NAME(s)] [--fetch-only] [--clean] [--verbose]
 list [--list]
 run  [[--target] NAME(s) [--example] [--profile PROF] [--flag FFLAGS] [--all]
      [--runner "CMD"] [--compiler COMPILER_NAME] [--list] [-- ARGS]
 test [[--target] NAME(s)] [--profile PROF] [--flag FFLAGS] [--runner "CMD"]
      [--list] [--compiler COMPILER_NAME] [-- ARGS]
 install [--profile PROF] [--flag FFLAGS] [--no-rebuild] [--prefix PATH]
         [options]
 clean [--skip] [--all]

It seems that fpm `@run in powershell is more correct, and it is consistent with the display effect of fpm @run in bash under Windows:
>> fpm `@run  # In powershell
<ERROR> response name [@run] not found
STOP 1
>> uname -a
MSYS_NT-10.0-22621 windows 3.3.6-341.x86_64 2022-10-24 08:25 UTC x86_64 Msys

>> fpm @run   # In mingw64/bash
<ERROR> response name [@run] not found
STOP 1

It is possible that M_CLI2 cannot judge the current system, because it uses the msys2 environment after all, not a pure native Windows OS, which leads to the inability to correctly parse fpm.rsp?
It seems that the idea of using fpm `@run in powershell is right 💕, and we can find a way to make M_CLI2 recognize the msys2 environment.

I am thinking allowing a second prefix character such as colon would make it easier in powershell, such as "fpm :run" as an alternative to "fpm `@run" would make usage easier in powershell;  I  need to run a few tests from powershell as I see why there might be problems with filenames when \ and / are involved but just a plain "fpm.rsp" file looks like it should be OK, so I am not spotting something. Unfortunately the debug mode in M_CLI2 has to be activated by a code change so I just need to build a test version and what is going on will probably be obvious (hopefully) but it might be a few days.

An embarrassingly simple explanation. Make a copy of your fpm.rsp file and name it fpm.exe.rsp. If you run fpm @name it first looks for a file called "name.rsp"  but if that is not found it queries the name of the executable and gets the basename and adds ".rsp"  So for a program called "fpm" it looks for a file called "fpm.rsp" and assumes that is a compound response file and looks in it for "@name".  On MSWindows the files' real name is "fpm.exe", not "fpm" as it is on Linux and MacOS and BSD and Unix.  So stripping off the suffix and adding : as an alternative for @ will make it far more usable in those environments. There may be other issues if the response files are in other directories searched for when the search path is declared and the wrong OS is being guessed because of the OS variable which I will look at next now that I have an MSWindows test platform; but I will get these changed made first and then test with the new version. I have a PR pending for a change required on 32-bit OpenBSD platforms pending. I might add these changes to that, or make another pull request. Try the work-around of making the file "fpm.exe.rsp" and see if you discover other issues or if that resolves everything if you can.

So stripping off the suffix, and also adding : as an alternative for @ will make it far more usable in those environments.

I use fpm.exe.rsp in powershell/bash locally and it does work, I think using fpm `@run in powershell is acceptable as long as there are helpful instructions in M_CLI2/fpm that we can find them.
Thank you for your reply and work :)

The bleeding-edge release of fpm(1) would look for fpm.rsp on all platforms, where it was looking for fpm.exe.rsp in several MSWindows configurations.
https://github.com/fortran-lang/fpm/releases/tag/current


Machine learning segmentation

I changed the name of nuclei_segmentation_cv2 to "machine_learning_segmentation". I will keep the cv2 segmentation capability and add a new class to allow the implementation of machine learning approaches. I will implement ilastik, U-nets and cellpose to begin with. The user will need to provide a trained model that can be used to segment either nuclei or cells. I will add a test function to compare the results of all available methods in a few FOVs.

Hello @leonardosepulveda! Thanks for updating this PR.

In the file merlin/analysis/segment.py:

Line 141:67: W291 trailing whitespace
Line 142:72: W291 trailing whitespace
Line 143:72: W291 trailing whitespace
Line 153:1: W293 blank line contains whitespace

Hello @leonardosepulveda! Thanks for updating this PR.

In the file merlin/analysis/segment.py:

Line 141:67: W291 trailing whitespace
Line 142:72: W291 trailing whitespace
Line 143:72: W291 trailing whitespace
Line 153:1: W293 blank line contains whitespace

I would like to merge this branch to master. I did tests and the new machine learning segmentation using cellpose is working, as well as the watershed CV2 implementation.However, there are some incompatibilities with merlin/utils/dataportal.py. How should I solve that issue?

What is the incompatible you're finding with dataportal.py? I prefer for all the raw data access to go through the dataportal  so that  it is easy to switch between AWS, GC, or local storage.

I am trying to solve the issues that appear in workflow and ci. So far I understand the output from both so I can go back into the code and make modifications. However, now the build stops in the testing part, but it is unclear to me where the problem is:
#!/bin/bash -eo pipefail
source ~/miniconda/bin/activate root
conda activate base
source activate merlin_env
cd ~/MERlin
mkdir ~/test-reports
pytest --cov --cov-report=xml
============================= test session starts ==============================
platform linux -- Python 3.6.10, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
rootdir: /home/circleci/MERlin
plugins: cov-2.10.0
collecting ... collecting 71 items                                                            collecting 96 items                                                            collected 96 items
test/test_barcode_database.py ..........                                 [ 10%]
test/test_binary_utils.py ..                                             [ 12%]
test/test_codebook.py ...........                                        [ 23%]
test/test_core.py .....................                                  [ 45%]
test/test_dataorganization.py ..........                                 [ 56%]
test/test_dataportal.py ............                                     [ 68%]
test/test_dataset.py ...                                                 [ 71%]
test/test_image_reader.py .                                              [ 72%]
Too long with no output (exceeded 10m0s): context deadline exceeded
Any insights on how to debug? other place where I should look?

It looks like you are a few commits behind the master and are incorporating some of the changes independently. Can you rebase this branch onto the head of the master branch so we can get all the commits incorporated? (see https://medium.com/@gabriellamedas/git-rebase-and-git-rebase-onto-a6a3f83f9cce). Then we can see if this problem persists.

Thanks for the tip on rebase. It seems that the things started to work well, but the problem comes again with the changes I added to dataportal.py to make it look like the updated branch. See below what I get:
[lsepulvedaduran@boslogin03 MERlin]$ git rebase master machine_learning_segmentation
First, rewinding head to replay your work on top of it...
Applying: Adding _get_membrane_mask and _get_nuclei_mask functions to WatershedSegmentNucleiCV2 class
...
Applying: add george's modifications to dataportal
Using index info to reconstruct a base tree...
M       requirements.txt
M       test/test_dataportal.py
Falling back to patching base and 3-way merge...
Auto-merging requirements.txt
Applying: adding additional modifications to aws
Using index info to reconstruct a base tree...
M       merlin/util/dataportal.py
Falling back to patching base and 3-way merge...
Auto-merging merlin/util/dataportal.py
CONFLICT (content): Merge conflict in merlin/util/dataportal.py
Failed to merge in the changes.
Patch failed at 0066 adding additional modifications to aws
The copy of the patch that failed is found in:
/n/home06/lsepulvedaduran/Software/MERlin/.git/rebase-apply/patch
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
[lsepulvedaduran@boslogin03 MERlin]$
I looked at the patch 0066 , this is what says:
_[lsepulvedaduran@boslogin03 rebase-apply]$ more 0066
From 60acd7246a1a06562dd50a0147ccfb3d810dd35e Mon Sep 17 00:00:00 2001
From: leonardosepulveda<EMAIL_ADDRESS>Date: Sat, 15 Feb 2020 09:38:38 -0500
Subject: adding additional modifications to aws

merlin/util/dataportal.py | 37 ++++++++++++++++++++++++++++++++++---
1 file changed, 34 insertions(+), 3 deletions(-)
diff --git a/merlin/util/dataportal.py b/merlin/util/dataportal.py
index e3d0f6e832b69a6491bee876abd741b44844ddb9..9fcd4631bcb603feeeddee777b1f1d9b3f8ffb0e 100644
--- a/merlin/util/dataportal.py
+++ b/merlin/util/dataportal.py
@@ -2,9 +2,11 @@ import os
import boto3
import botocore
from google.cloud import storage
+from google.cloud import exceptions
from urllib import parse
from abc import abstractmethod, ABC
from typing import List
+from time import sleep
class DataPortal(ABC):
@@ -340,12 +342,41 @@ class GCloudFilePortal(FilePortal):
return GCloudFilePortal(
self._exchange_extension(newExtension), self._client)

def _error_tolerant_access(self, request, attempts = 5, wait = 60):

   while attempts > 0:

       try:

           file = self._fileHandle.download_as_string()

           return file

       except (exceptions.GatewayTimeout, exceptions.ServiceUnavailable):

           attempts -= 1

           sleep(60)

           if attempts == 0:

               raise

def read_as_text(self):

   return self._fileHandle.download_as_string().decode('utf-8')

    backoffSeries= [1,2,4,8,16,32,64,128,256]

   for sleepDuration in backoffSeries:

       try:

           file = self._fileHandle.download_as_string().decode('utf-8')

           return file

       except (exceptions.GatewayTimeout, exceptions.ServiceUnavailable):

           if sleepDuration == backoffSeries[-1]:

               raise

           else:

               sleep(sleepDuration)

def read_file_bytes(self, startByte, endByte):

   return self._fileHandle.download_as_string(

       start=startByte, end=endByte-1)

   backoffSeries= [1,2,4,8,16,32,64,128,256]

       for sleepDuration in backoffSeries:

       try:

           file = self._fileHandle.download_as_string(start=startByte,

                                                      end=endByte-1)

           return file

       except (exceptions.GatewayTimeout, exceptions.ServiceUnavailable):

           if sleepDuration == backoffSeries[-1]:

               raise

           else:

               sleep(sleepDuration)

def close(self) -> None:
pass
--
<IP_ADDRESS>_

Any idea on how to proceed?

If you open merlin/util/dataportal.py you should see some notes about merge conflicts, fix these and then you should be able to continue with the rebase.

If you open merlin/util/dataportal.py you should see some notes about merge conflicts, fix these and then you should be able to continue with the rebase.

Thanks ... a lot of changes were necessary. For the next time, I will rebase more often while working on a branch.

I am still having the same issue as before, the workflow stops in the test part after 10 min in the test_image_reader part. After rebasing, the only thing I did was to add the following to requirements:
pillow<=7.0.0
cellpose

The pillow requirement comes from the cellpose module. Any idea what can be happening? I do not see any obvious problem with test_image_reader.

I think snakemake is hanging. I encountered this in my latest branch and updated the default snakemake parameters. Does https://github.com/emanuega/MERlin/commit/0f3a617bf55c1c108747f4aeb437f14f25d974c6 help?

I think snakemake is hanging. I encountered this in my latest branch and updated the default snakemake parameters. Does 0f3a617 help?

I added the modifications to snakemakeParameters in [0f3a617], but the problem persists.

I found the problem. It was in the test_merfish part. I added some tasks for the new segmentation, and the problem seems to come from there. I created independent tests for debugging.

The build run to the end now but the new test files I created cannot be found, this is the complaints
FileNotFoundError: [Errno 2] No such file or directory: '/home/circleci/MERlin/test_analysis_parameters/test_analysis_segmentation_cellpose.json'

FileNotFoundError: [Errno 2] No such file or directory: '/home/circleci/MERlin/test_analysis_parameters/test_analysis_segmentation_cv2.json'

the folder test_analysis_parameters do not exist in my current branch, is there some data reorganization that I am missing?

While running the tests it creates this directory and copies the files from the test/auxiliary files directory. You may have to update the base_files function in test/conftest.py to copy your test_analysis_segmentation json configurations into this folder.

Thanks. Now the tests launch, but they are crashing for a reason I do not understand. I created the new tests by copying and modifying test_merfish.py and test_analysis_parameters.json.  I notice that the test that is run before the segmentation tests is test_plotting, which calls the randomNumber tasks. Any insights?

I change the name of the tests from test_segmentation... to test_merfish_segmentation... and the workflow works now. The only difference is that the tests run before test_plotting. Is this because the results of each analysis are put in the same folder, and when trying the new analysis it reads previous analysis too? This seems to be a bug as I would not expect that the order of the execution should matter. Any ideas on how to solve it? maybe clean the folder after each test?
Now the codecov patch is the only part that is not passing. Most of the code I wrote is in segmentation.py., and have a coverage of 90%. I would need to create a 3D segmentation test to increase the coverage. Could you merge this branch to the main now or you want me to create 3D tests?

Good

Good


Use ZooKeeper with a base directory ("chroot") instead of always specifying full path

This issue was originally described at https://issues.apache.org/jira/browse/ACCUMULO-4407
We pass around the instanceId a lot in Accumulo, and the vast majority of the time, it's just so we can pass it as part of the path to a ZooKeeper object that is already constructed. We can avoid a lot of this, and simplify the code quite a bit if we just construct the ZooKeeper object using the instanceId as part of the connection string, so all absolute paths are then relative to the instanceId directory, similar to one might do with chroot.
Here's an example of what the code change would look like:
    // the current way
    var directZK = new ZooKeeper(zookeepers, 200, null);
    directZK.getChildren(Constants.ZROOT + "/" + instanceId + Constants.ZNAMESPACES, false)
        .forEach(System.out::println);

    // the better way
    var chrootZK = new ZooKeeper(zookeepers + Constants.ZROOT + "/" + instanceId, 200, null);
    chrootZK.getChildren(Constants.ZNAMESPACES, false).forEach(System.out::println);

We still need to connect without the instanceId when we look up the instanceId from the instance name (which is needed on the client side), but in all other cases, we don't need it.

I can look into this.


Pulsetile requires a Dockerfile

Having a Dockerfile in the root of the project enables several useful things:

Running Pulsetile in a Docker container locally for development. The use of a container isolates it from any other conflicting dependencies on the host machine.

Automated builds of a Pulsetile Docker container on Docker Hub. We don't have a current need for this, but it may be useful in deployments in the future.

I am happy to be assigned this

@pacharenero we have this under review at the moment, do you have an update please?

#270


drivers: flash: sam0: init offset should be other then 0

This fixes problem if somebody wanted use
CONFIG_SOC_FLASH_SAM0_EMULATE_BYTE_PAGES and write some bytes at 0 -page size offset. Before changes program will truncate all data becouse initial offset was set to 0 and buffer wasn't be filled.
Signed-off-by: Kamil Serwus<EMAIL_ADDRESS>

@de-nordic I hope that I meet your requirments.
I added bug and added release information

I think there are actually two bugs here:

Zero-length write can result in corruption
Writing close to the start (in the first row) can result in corruption

@benys - please could you review & test this commit, which should probably supersede your PR (sorry)
https://github.com/argentum-systems/zephyr/commit/d38690c0ddfc3e6dda48d1287e3beecf2f341d18

@attie-argentum It is OK. But I  think that:
	if (len == 0) {
		return 0;
	}

maybe change to <= 0
I am worried that:

		flash_sam0_commit(dev, base_prev);
	}

is not guarded by if ()

I think it's okay as-is...(?)

maybe change to <= 0

len is a size_t, which is unsigned - so this isn't necessary

I am worried that: [...] is not guarded by if ()

This guard isn't necessary, as we'll always have at least one byte to write...  (len >= 1)

line 260 - the memcpy() is always executed for the first time around the for() loop, to fill the buffer
line 257 - only executes when continuing past the end of the row, and not for the first time around the for() loop
line 268 - executes when writing within a row, or when the last byte aligns with the last byte of the row.

@attie-argentum, what about changing the write loop to:
        if (err == 0) {
                off_t base = addr & ~(ROW_SIZE - 1);
		off_t base_next = base + ROW_SIZE;

		for (addr = offset; addr < offset + len; addr++) {
			if (addr == base_next) {
				/* Started a new row. Flush any pending ones. */
				flash_sam0_commit(dev);
                        }
			if ((addr == base_next) || (addr == offset))  {
				/* Reload the buffer. */
				memcpy(ctx->buf, (void *)base,
				       sizeof(ctx->buf));
				base = base_next;
				base_next += ROW_SIZE;
			}

			ctx->buf[addr - base] = *pdata++;
		}

		flash_sam0_commit(dev, base);
	}

The if (err == 0) could be replaced by a if (err != 0) and a jump to the end.

How about this? https://github.com/argentum-systems/zephyr/commit/6c6b823274c7eebc42d60e1b400e24f91766890c
The loop is refactored from before, as follows:

The buffer is only populated from flash if a partial-row is being updated
memcpy() is used to improve performance, and flash_sam0_commit() is called on every iteration
New checking for errors from flash_sam0_commit() - which were ignored previously.

This is untested at the moment, but I've given it a good poke without hardware - testing and feedback appreciated.

@attie-argentum I tested with my c21nxpro board. It is ok
But I think that you should also consider remove buf[ROW_SIZE] from static. It takes memory for whole program.
Before it was right becouse it also "cache" previous buffer/offsets.

I think that you should also consider remove buf[ROW_SIZE] from static

I did consider this, but please remember that it can be upto 8 KiB (e.g SAMD51 / SAME5x)... I'm not comfortable putting that on the stack - especially as CONFIG_MAIN_STACK_SIZE defaults to 1 KiB!

@benys - I'm going to close this as #52380 supersedes it, I hope that's okay with you.


Fix session assets resolution in distributed deployments

Closes #2595.

I tested locally that it works in a Docker cluster :)


Translation into chinese

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

Is this an auto-generated translation? If it's not, I'm open to this PR, if you remove the package.json and package-lock.json changes.


Indexing using certain key

Hi,
I'm wondering if there is an easy way of indexing using certain column (image name) instead of using row number?
For example, I want to check the annotation of "0001.jpg", can I do something like ds["0001.jpg"] to get the record?
The solution I can think of is using the filter function, which is not very convenient.

We don't support that and it seems like ds.filter will be your best option.
ds.filter("images.sample_info['filename'] == '0001.jpg'")

which will return the samples with the given image name. If you already tried this, could you tell me why it's not a good option for you?

Thanks, it's because I want to do upsampling and downsampling on the dataset based on certain conditions, if i can do something like ds["0001.jpg"], then I can just play with the image name list, upsample or downsample the image names, then access corresponding records.

Basically what indexes are for, providing quick access to certain records.

Hey @noringname! Thanks for the feature request, we've seen custom indexing requested by multiple users and we plan on implementing this in the near future.
In the meantime, an alternate way to handle this is to keep a dictionary and maintain a mapping of image names to indexes. You can store this dictionary in ds.info or ds.images.info and use it to translate the image name to the relevant indexes. As long as you aren't popping samples, it should work as intended. (In case you do pop, all indexes in the dictionary after that sample would need to be shifted down)


Gracefully handle SES failure

Added catch statements in the inviteUser to send an error message. The status will still be 200 to avoid the retry of a server error, and the user will still show that they were invited.
Wrote a test that mocks the SES client to not be set to see the error message being displayed.

https://user-images.githubusercontent.com/6913745/227068961-2a3d1ab9-fc3c-437c-a4fd-e855f325bc83.mov

Coverage: 94.025% (-0.007%) from 94.033% when pulling 3d642551ba4bcc3c0b16c70bc0657433c22c9178 on james-handle-ses-failure into 9281bc6e68a7abda4823958087d076b6de31c01f on main.


[Feature Request] Edge linetype customization

Someone already asked for a feature modifying the colour of edges ([Feature Request] Edge styling #66 ). In addition I wanted to ask, if it is possible to add a feature, allowing the user to use different types of edges? It would be quite useful representing different types of dependencies. For example in MLIR:
This is the code given to my adapter:

And this is the generated graph:

As you can see, both the bufferization.clone and the if_else do not share a dependency, but the flow of the code is still important, which could be represented with a different type of edges.

Hi @pkgoogle, apologies for the confusion. You're correct that arg%0 leads to the block body, and both parts of the block body depend on it. This aspect is accurately represented in the model. However, the time dependency is not depicted here. The if_else block should occur after bufferization.clone but before func.return, which is not shown in the current model.
The ideal representation would resemble the one above, but with additional edges indicating the time dependencies. For instance, a dashed line could connect bufferization.clone to if_else, and further dashed lines could link the two regions to func.return.
If this is still unclear, I can consult my supervisor to provide a better example to illustrate the concept.

Here is another example:

In this case, the operand %0 is allocated in memory, used in test.op_norm, and then deallocated. It's crucial that these operations occur in this specific order. However, this sequence isn't clearly visible in the graph.
Ideally, the graph should include edges that illustrate the time dependencies between these operations. Like this:

Hi @Hakan-Eyilmez, Ok that makes more sense. Sequential dependency for graphs which represent programs which have to execute sequentially makes sense... the only concern in my head is we don't want to enforce a dependency that's not really there so that the representation can show parallelizability (for general cases or arbitrary ML programs). In both your cases though, it seems like we are missing that dependency.
@jinjingforever, can you take a look on how we can implement something like this? Thanks.
Hakan feel free to add any more information if you think I didn't understand it correctly.

Hi @pkgoogle, It’s been a while. I wanted to check in on the status of this feature. I noticed you added custom edge overlays, and I wasn’t sure if that was related.
To clarify my initial request: I was hoping for the ability to style existing edges to visually represent different types of dependencies between nodes. For example, solid edges for regular dependencies, dotted edges for sequential dependencies, and so on. Apologies if my original explanation wasn’t clear.

Hi @Ha-Eyz,
Thanks for checking in. You are correct that the edge overlay is a different feature. To be able to style edges as you mentioned is still in our todo list unfortunately.. We will update this issue when we make progress.
Thank you!


[FFM-2680]: Tests should generate user friendly testname

Currently the evaluation tests output the test driver method name
i.e. 'runTestCase'
When adding new test cases it can be hard to see what test is actually running/failing.
This change introduces a test name.
After tests run the name should be inserted as the testcase name in the XML output i.e.

The tests now show the 'test name' in the report, based on the filename.


How message Template working in tickscript ?

{{ if gt  index .Fields "value"  0.0 }} up {{ index .Fields "value" | printf "%0.2f"}} %
{{ else if lt  index .Fields "value"  0.0 }} down {{ index .Fields "value" | printf "%0.2f"}} %
{{else}} {{ index .Fields "value" | printf "%0.2f"}} % {{end}}'

executing "message" at : wrong number of args for gt: want 2 got 4

Are you using row-template or alert-template?

I use alart-template

Are you using row-template or alert-template?

I use alert template, maybe I don't acknowledge the grammar of go template ,It result this error

I just want use if statement to distinguish the fields of message

I guess I need escape this  index .Fields "value" in  {{ if gt index .Fields "value" 0.0 }}

I struggled a lot with templating accessing .Tags and Field, though i was unable to access Field i did find workaround which works.
You can use row-template like the following for if else condition here "value" is a field.
{{range .Values}}{{ index . "value" }}{{end}}
Also the following example will help you to use if else condition with row-template:
"severity":{{range .Values}} {{ if (eq .xyz "high")}}"3"{{else if (eq .message "low")}}"1"{{else if (eq .message "OK")}}"0" {{ end }}{{end}}
For more information check out the post i created here:
https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775

I guess I need escape this index .Fields "value" in {{ if gt index .Fields "value" 0.0 }}
Yeah do not give up on this there could be a way out of directly accessing field, though i used if else condition in tickscript using {{.Message}} as I could not access .Fields in alert-template.

I updated the post refresh it if you need more info.

var message = {{ if gt index .Fields "value" 0.0 }} up {{ index .Fields "value" | printf "%0.2f"}} %
{{ else if lt index .Fields "value" 0.0 }} down {{ index .Fields "value" | printf "%0.2f"}} %
{{else}} {{ index .Fields "value" | printf "%0.2f"}} % {{end}}
function "gt" need two arguments  but it think this have four arguments but I need use  index .Fields "value" to judge

need

I can't open this url https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775

I updated the post refresh it if you need more info.
I can't open this url https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775

try this
https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775/7

https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775/7

thanks a lot

Also i remember while using alert-template-file i had to print function as it was throwing error, this may help you (please note i tried this in alert-template-file and not alert-template inline)
"severity": {{ if eq (.Level | print) "WARNING" }}"4"{{else if eq (.Level | print) "CRITICAL"}}"1" {{else if eq (.Level | print) "OK"}}"5"{{ end }},

try this
https://community.influxdata.com/t/solution-create-custom-http-body-and-access-tags-and-values-using-row-template/13775/7

I use kapacitor default post json to our interface

Yes post works for alert-template. In case you try row-template  then you need to use |httpPost()

Yes post works for alert-template. In case you try row-template then you need to use |httpPost()

Thanks for your support  I have already resolve my issue
var message = {{ if gt .Fields.value 0.0}} up {{ index .Fields "value" | printf "%0.2f"}} %
{{ else if lt .Fields.value  0.0 }} down {{ index .Fields "value" | printf "%0.2f"}} %
{{else}} {{ index .Fields "value" | printf "%0.2f"}} % {{end}}


No 'version' key in the manifest file for custom integration 'airzonecloud'. This will not be allowed in a future version of Home Assistant. Please report this to the maintainer of 'airzonecloud'

Please add
"version": "1.0",
to your manifest.json

Hello,
It's already fixed since 1 month, just update your files.
Max

great, many thanks


[RFC] add some debug info on refresh timeout/failure

Adds some debug info about the queries we were executing when :refresh times out.
Passes a debug-info atom into handle-receive, then populates that atom with the queries we're going to run in :refresh. If we time out, then we'll put those queries in error we send to the client.
Here's what's new in the error event:
{
    "op": "error",
    "status": 500,
    "client-event-id": null,
    "original-event": {
        "op": "refresh",
        "session-id": "67401257-49b0-4f14-9fe3-2b838d83b339",
        "total-delay-ms": 0,
        "ws-ping-latency-ms": 0.463833,
+       "processed-tx-id": 1156752,
+       "instaql-queries": [
+           {
+               "colors": {}
+           }
+       ]
    },
    "type": "operation-timed-out",
    "message": "Operation timed out: handle-receive",
    "hint": {
        "timeout-ms": 5000
    }
}

Not sure if original-event is the best place to put that information.

thank you @dwwoelfel ! 🙏


Integration with Webpack Difficult

It wasn't easy to get this to work with webpack because it is wrapped in a IIFE and it made it difficult for it to find the export from the angular.module function.
I was able to get it to work in the end just importing the script into Webpack but it's isn't as clean as I'd like it to be.
I am in the same boat as you with users asking for ES6/CommonJS exports.  You could use Babel/SystemJS/RollUp to produce a library file that works with these bundlers.
Thanks for you work, it's been helpful.
btw, I'm using this in http://github.com/DestinyItemManager

I'm also just loading the module after angular and it registers itself as a provider. What is it specifically that you wanted to expose as exported module?

Because of the IIFE, Webpack can't grab the export, so it doesn't let me use the syntax,
require("angular-logger");
For that to work, your code would have to drop the IIFE and be based on this,
export default angular.module('logger', [])...
Since webpack can't see angular-logger, it doesn't load it's dependencies sprintf or moment.  I have to do all of this manually.
https://github.com/DestinyItemManager/dim-mobile-client/blob/master/src/app/dimApp.module.js#L3-L5
In an ideal world, it's just
import angularLogger form 'angular-logger' // Webpack finds the export from the package.json entry & its dependencies
angular.module('dimApp', [angularLogger.name]); // module.name property

That's strange, because require("angular-logger"); is exactly what I do. Are you using typescript or es6?

It doesn't need to export anything, because angular-logger exposes itself directly in angular by registering a provider. Granted angular-logger currently expects angular to be available globally.

Sorry for the terse messages, I'm on my phone currently

Yes, if I just include your script into the page after angular is loaded, it will register itself..  but the thing about webpack is it bundles all the scripts into one file, and it loads them asynchronously.  Webpack handles this by understanding a dependency graph, but it can't read your files because of the IIFE and no global export.  So I had to shim angular-logger into webpack where I reference my repo earlier.
Because of the shim, I can't bundle your code into a vendor bundle, and instead it gets bundled into mine.
You would probably have the same issue if you're trying to use SystemJS or RollUp bundles too.

I'll fork it and try my hand.
On Wed, Feb 17, 2016 at 3:53 PM Benny Bottema<EMAIL_ADDRESS>wrote:

One problem is I don't know how to do optional requires. If you leave out
sprintf and momentjs, but have require statements, the compiler will report
an error. Any clues how to deal with that?
—
Reply to this email directly or view it on GitHub
https://github.com/better-js-logging/angular-logger/issues/14#issuecomment-185423528
.

It is greatly appreciated.
I started migrating one of my projects from Grunt to WebPack only a week ago so I'm learning a lot of things every day.

I'm starting to think I should just provide two versions, one fixed with dependencies and one without.
angular-logger and angular-logger-lite

I didn't start it yet.

You should be able to add a jsnext:main to your project.json file to point to the new files.

@SunburnedGoose, so sadly, I didn't get around to doing it after all, but I really want to support webpack and other module systems properly.
I would still prefer to work with optional dependencies for momentjs and sprintf rather than splitting up into two separate projects.
Do you know of a solution?

afaik, you don't include them into your package.json file and leave that as a note in the readme for the implementor to include it if they want it.  There is no optional flag for dependencies.

Yeah so that won't work, because you they're loaded through a module system, they won't be available on the global window. And I can't require them as modules, because they become explicit dependencies in that case and it will fail either during bundling or in runtime.

With webpack, you can assign modules to the global variable for backwards compatibility.  It's how I got it to work.

Yeah I figured as much. Not the neatest way of allowing optional dependencies, but it will work.

I'm not getting enough time in to fix this right now, but here's a way to keep it out of your own sources, using an external.ts approach:
https://github.com/tpadjen/ng2-prism/issues/6#issuecomment-228854007

@SunburnedGoose angular-logger 1.3.2 should fix it.


Assign actions are executed before other actions

Bug or feature request?
Bug
Description:
Assign actions are executed before other actions.
import { Machine } from 'xstate'
import { interpret } from 'xstate/lib/interpreter'
import { assign } from 'xstate/lib/actions'

const interpreter = interpret(Machine({
  initial: 'a',
  context: {},
  states: {
    a: {
      on: { EVENT: {
        actions: ['a1', 'a2', 'a3']
      } }
    },
    b: {},
  }
}, {
  actions: {
    a1: () => console.log('a1'),
    a2: assign(ctx => {
      console.log('a2')
      return {}
    }),
    a3: () => console.log('a3'),
  }
}))

interpreter.init()
interpreter.send('EVENT')
// logs: a2, a1, a3

Live example: https://codesandbox.io/s/8lk1k0m4qj
(Bug) Expected result:
Actions should be executed in order.
(Bug) Actual result:
Assign actions are executed first.

This is working as expected. "Assign" actions are raised as internal events, so that they are "executed" before any external events or actions.
Also, you should not depend on action order, since actions (side-effects) should be considered async.
What specifically is your real-life use case here?

I get it. My use case is a wizard with some questions in each step and many UI components, I am using xstate for the whole state management, machine states for the control-state and assign for the external-state. I was relying on action order but yeah it's wrong, right now I fixed it in a way in which action-order is not important and it seems much better to me. Thanks for the advice David.

right now I fixed it in a way in which action-order is not important and it seems much better to me

I'd love to see that, so I can add it to the documentation! 🙏


fix issue #2331

Codecov Report
Base: 79.69% // Head: 79.63% // Decreases project coverage by -0.07% :warning:

Coverage data is based on head (83fb3ae) compared to base (21ebf48).
Patch coverage: 50.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2432      +/-   ##
==========================================
- Coverage   79.69%   79.63%   -0.07%
==========================================
  Files         595      598       +3
  Lines       49350    49689     +339
==========================================
+ Hits        39330    39568     +238
- Misses       8043     8124      +81
- Partials     1977     1997      +20

Flag
Coverage Δ

go-1.15-386
79.67% <50.00%> (+0.01%)
:arrow_up:

go-1.15-amd64
79.67% <50.00%> (+0.01%)
:arrow_up:

go-1.16-386
79.67% <50.00%> (+0.02%)
:arrow_up:

go-1.16-amd64
79.67% <50.00%> (-0.01%)
:arrow_down:

go-1.17-386
79.66% <50.00%> (?)

go-1.17-amd64
79.67% <50.00%> (?)

go-1.18-386
79.59% <50.00%> (?)

go-1.18-amd64
79.60% <50.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

os/gcache/gcache_adapter_redis.go
62.17% <50.00%> (ø)

contrib/config/kubecm/kubecm_kube.go
100.00% <0.00%> (ø)

contrib/config/kubecm/kubecm.go
38.38% <0.00%> (ø)

contrib/drivers/oracle/oracle.go
79.45% <0.00%> (ø)

os/gfsnotify/gfsnotify_watcher_loop.go
84.87% <0.00%> (+1.68%)
:arrow_up:

contrib/registry/zookeeper/zookeeper_watcher.go
51.11% <0.00%> (+2.22%)
:arrow_up:

os/gfpool/gfpool_file.go
68.57% <0.00%> (+2.85%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


modifictaion for Evrynet compatiblity

Signed-off-by: kyberliem<EMAIL_ADDRESS>

Hi @cyberliem - check out out Discord server, there you can DM me or ask in general chat for help so we can figure out how to do what you tried to do.


Fix sqlquery joined table aliases

If you used SQLQuery join functions with aliases for the table names it caused
Versioned->augmentSQL to create invalid table names.  For instance, if you did:
$query = new SQLQuery('"SiteTree".ID, "SiteTree".Title');
$query->from('"SiteTree"');
$query->where('"SiteTree".Locale', 'en');
$query->innerJoin('SiteTree', '"SiteTree"."ParentID" = pa1.ID AND pa1.URLSegment = 'some-page'', 'pa1');
singleton('Versioned')->augmentSQL(&$query);
$query->execute();
This previously resulted in Versioned->augmentSQL renaming "pa1" to "pa1_Live"
which is not a table or table alias in the resulting SQL query.
The fix in this commit is to track table names separately from the aliases used
for tables.  This allows Versioned->augmentSQL to iterate over these actual
table names regardless of what (if any) aliases are used for them.

I really hope that this commit can get into the next release of the 2.4.x branch.  I need it for an open source module I'm writing that needs to dynamically create queries (allow you to create queries in the admin UI).  Without this fix it's impossible to use SQLQuery to create these queries and use table aliases.
I wasn't sure what branch to base the commit on to get it into 2.4.x.

We'll need unit tests before we can merge any changes to the ORM.  The best thing is to turn your example into a test.
But I don't think the fix is correct, either.  Sure, pa1 shouldn't be rewritten as pa1_Live, but JOIN "SiteTree" AS pa1 should still be rewritten as "SiteTree_Live" as pa1.  You'll have to also check that this doesn't affect other functionality (fortunately, running the unit test suite should do this for you).
To be honest, if you're wanting to work on this, I'd probably recommend you focus your energy on the ORM in master - it's been completely rewritten.

@sminnee - I will add unit tests.  Do you have a guide somewhere that details what branch pull requests should be based on and how to add a unit test / run the unit tests?

But I don't think the fix is correct, either. Sure, pa1 shouldn't be rewritten as pa1_Live, but JOIN "SiteTree" AS pa1 should still be rewritten as "SiteTree_Live" as pa1. You'll have to also check that this doesn't affect other functionality (fortunately, running the unit test suite should do this for you).

I'm not sure what part you don't think is correct.  "SiteTree" is still being rewritten as "SiteTree_Live".  That was the whole point of this - to get the correct table name rewritten.
Without this fix the code in the commit message results in this:
SELECT "SiteTree_Live".ID, "SiteTree_Live".Title
FROM "SiteTree_Live"
INNER JOIN "SiteTree_Live" AS "pa1_Live" ON "SiteTree_Live"."ParentID" = pa1.ID AND pa1.URLSegment = 'some-page'
WHERE ("SiteTree_Live".Locale = 'en')

After the fix it results in this:
SELECT "SiteTree_Live".ID, "SiteTree_Live".Title
FROM "SiteTree_Live"
INNER JOIN "SiteTree_Live" AS "pa1" ON "SiteTree_Live"."ParentID" = pa1.ID AND pa1.URLSegment = 'some-page'
WHERE ("SiteTree_Live".Locale = 'en')

I understand the need to port this to master, but I still need it in 2.4.x.  We're building a very large site on 2.4.x because 3.0 is not final yet.  Therefore the modules we are writing and open sourcing will also need to be on 2.4.  We hope to move to 3.0 when the version is released and stable, but we can't use it now and must release the site by summer.

Oh okay, yes that SQL looks correct.  Get a test together and it should be okay for post-2.4.
These are probably the docs you want:

http://doc.silverstripe.org/sapphire/en/trunk/misc/contributing
http://doc.silverstripe.org/sapphire/en/trunk/topics/testing

Will post-2.4 end up in 2.4.8 when that is released?  It's hard to tell from the docs you sent which branch is the current 2.4.x release branch.  From looking at the git logs it seems that the commit needs to be applied to the 2.4 branch to end up in 2.4.8.

No, it would end up as 2.5.  We don't put bigger changes in the 2.4.x branch.  I'm not sure about this one, I'm very reluctantant to make any changes the ORM in 2.4.


ItemList missing styles

Godot 3.1 Alpha 1 (and all master builds up to 18.09)
OS: Windows 7
In Theme editor ItemList has 6 styles - 2 for background, 2 for cursor (that seems to do nothing) and 2 for selected item. There is no editable style for non-selected item. Unlike tabs in #22266 those items are properly displayed without theme.

The ItemList doesn't need style for non-selected items. The items are text-only with guide lines between them. So adding a dedicated style would require a change of how the list is drawn. Thus it's something for a proposal.
As for the cursor styles, they are used with multi-selection mode. The docs could explain that better.


CLASS_DIR: How does it work?

Where in gdrive do I have to create a folder with the images and what exactly do I have to enter in CLASS_DIR:?

For example if you want to train a model on your dog, you can add 200 random images of a dog, or you can let the scripts generate them if you don't want to upload them yourself.

I already understood that, but until now I have always uploaded/generated them and it takes a very long time, so I wanted to ask how the file path works so that I don't always have to upload/generate the 400 images.

if you have the images in your Gdrive, just copy the path of the folder containing them using the colab file explorer and paste it in the CLASS_DIR box

OMG now I got it. Thanks for the quick help!


Consider moving the DKIM configuration from EmailBuilder to MailerBuilder

There's something to be said for avoiding a performance hit by moving the DKIM construction to the MailerBuilder so this is done only once rather than for each separate email.
Original suggestion by @koen-serry

I've refactored the library a little bit so that there now is a special config group on the Mailer level. Email validation criteria moved there and I've added default S/MIME signing in there as well. Next step would be to finally add default DKIM signing in there as well. Will work on this soon.


sb_vision.cvcapture.ImageCaptureError: cvcapture() failed

Steps taken
Run robotd on my laptop, which has a built-in webcam.
sb-version: 672207d86b3d6f00824ffb428762f49d8c352aa4 (master at time of writing)
robotd version: 9e15ccf84b82a2ec5063bb7fe71038dfd4796579 (master at time of writing)
Expected results
robotd starts running and detects the presence of a webcam, and/or reports that this model of webcam is unsupported.
Actual results
$ robotd --root-dir /tmp/robotd
Listening on: /tmp/robotd/game/state
Detected new Camera: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/video4linux/video0 (video0)
Listening on: /tmp/robotd/camera/video0
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
HIGHGUI ERROR: V4L: setting property #6 is not supported
Incorrect width set on cap: 640.000000
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/nix/store/1cmq5nwr6gp51jp1bsq647sqcb3dc3zy-python3-3.5.3/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/nix/store/1cmq5nwr6gp51jp1bsq647sqcb3dc3zy-python3-3.5.3/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/nix/store/jm0vlr46l5sk5qxmfjlhnybmz4kxan69-robotd-1.0/lib/python3.5/site-packages/robotd/devices.py", line 232, in _vision_thread
    latest = [x.__dict__ for x in self.vision.snapshot()]
  File "/nix/store/56lxp1fcka72l2n7jcihbydm7npxl0l7-python3.5-sb-vision-1.0/lib/python3.5/site-packages/sb_vision/vision.py", line 162, in snapshot
    return self.process_image(self.capture_image())
  File "/nix/store/56lxp1fcka72l2n7jcihbydm7npxl0l7-python3.5-sb-vision-1.0/lib/python3.5/site-packages/sb_vision/vision.py", line 119, in capture_image
    return self.camera.capture_image()
  File "/nix/store/56lxp1fcka72l2n7jcihbydm7npxl0l7-python3.5-sb-vision-1.0/lib/python3.5/site-packages/sb_vision/camera.py", line 51, in capture_image
    image_bytes = self.camera.capture(*self.cam_image_size)
  File "/nix/store/56lxp1fcka72l2n7jcihbydm7npxl0l7-python3.5-sb-vision-1.0/lib/python3.5/site-packages/sb_vision/cvcapture.py", line 64, in capture
    raise ImageCaptureError()
sb_vision.cvcapture.ImageCaptureError: cvcapture() failed

I have two questions here:

Why does robotd attempt to capture a photo before a user program has connected to a /var/robotd/camera/XXX socket?
Does this exception result from the webcam model and/or resolution being unsupported? If so, we should probably catch the exception and display a nicer log message. If not, it's probably a bug.

I appreciate that a single traceback is unlikely to be enough information to resolve this problem, so please let me know what else I provide to help with this.

Hi @kierdavis,

Why does robotd attempt to capture a photo before a user program has connected to a /var/robotd/camera/XXX socket?

The current (I think) architecture of the vision system is that the camera is always taking and analysing images. I think (though I'd love to hear from the original developers - @Adimote?) that this is so that there are always results ready and available when the user code requests them from robot-api.
This was something that I found to be confounding to the issues I hit with getting the C270s to work at the Smallpeice summer school, so was something I removed in favour of a more reactive approach (i.e: user requests data -> take and analyse photo -> return data), though that obviously ends up blocking the client's main thread for a lot longer. I can't remember whether this change got merged though.
I think that the reactive approach is better in general as it allows the client to cope with things like motion blur if they're found to be an issue, as well as implementing the full dynamic approach if they want to (by spinning up their own thread to loop over grabbing image data). I'm not sure how well this model fits with the design of robotd though.

Does this exception result from the webcam model and/or resolution being unsupported? If so, we should probably catch the exception and display a nicer log message. If not, it's probably a bug.

The interesting line here is
Incorrect width set on cap: 640.000000

Which indicates that we're trying to use a resolution that the camera doesn't support. I'm not sure why this then raises the exception that it does, and I agree we should ideally be better at reporting the underlying error.
Unfortunately since we're routing through opencv for the actual vision support, I'm not sure how much control we have over these things -- it's quite possible that all we get back from opencv is a generic error code that something went wrong and they expect a developer to be able to look at the printed output to fix the issue. I do know that if we bind directly to V4L this is the sort of thing that we can detect and correct for (which is how pykoki does it for example).
This would need some investigation into the C parts of cvcapture & the related opencv API to determine how much we can actually detect programatically.

Separately, it looks like the error lines
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP

may be caused by not having the v4l development headers around when one compiles opencv. I wonder whether we have something missing in our dependency listing?

Thanks for the analysis, this gives me a couple of leads to investigate further with this issue.

Separately, it looks like the error lines  may be caused by not having the v4l development headers around when one compiles opencv. I wonder whether we have something missing in our dependency listing?

It's more likely that it's something missing in the way I'm compiling opencv (well, the way Nix compiles opencv). I think this is outside the scope of our dependency specification since we assume opencv is already built, unless there's a way to specify which opencv features/modules are required.

(triage) I don't think I'm likely to personally use sb-vision again in the near future, and it seems I'm the only one who was experiencing this problem. If it resurfaces I'll reopen.