Ai collection

Hi, I'm going to close it since there is no description.
Feel free to open a new issue with a description.


Add auto merge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/ubelt-feedstock#3.


Change Screen Layout and Set LED Red on Start

Changes on screen layout and set LED to red on start

Other than some minor clean up. I'm happy with the changes.


WIP: Add unicode support to Jython

Fixes #{issue number here}
Changes proposed in this pull request:

Thanks for this pull request!
Looking at your code changes I am a bit puzzled as to what you are trying to achieve.
Is there an issue that describes the problem you are tackling here? If so, you could edit the description of your pull request and insert "Fixes #1234", where #1234 is the corresponding issue number.

Hi,
I'm still testing this change, but overall it makes possible to use unicode
symbols in jython scripts.
Before the change, any attempt to compare cell value to something like
"значение" failed because this piece of code replaced all non-ascii symbols
with "?" chars.
I'll update the pull request soon.
пн, 2 січ. 2023 р., 22:31 користувач Antonin Delpeuch <
@.***> пише:

Thanks for this pull request!
Looking at your code changes I am a bit puzzled as to what you are trying
to achieve.
Is there an issue that describes the problem you are tackling here? If so,
you could edit the description of your pull request and insert "Fixes
#1234 https://github.com/OpenRefine/OpenRefine/pull/1234", where #1234
https://github.com/OpenRefine/OpenRefine/pull/1234 is the corresponding
issue number.
—
Reply to this email directly, view it on GitHub
https://github.com/OpenRefine/OpenRefine/pull/5532#issuecomment-1369190324,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCGX6HYN5PVQFHYUB4DIJTWQM3ITANCNFSM6AAAAAATJR3I4Y
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks a lot! It would be great if you could add a unit test demonstrating the change too.

Hi @Monstrofil! Thanks for adding this test, it helps a lot. As you can see in the "checks" section of this pull request, this fails to build. Could you check that your changes compile and the tests pass on your side?

I'm closing this PR until I find a way to fix tests. Sorry to disturb.


Atom will not update from 1.0.0 to 1.0.2 on Mac OS X 10.10.4

i have tried, several times, to get the new Atom 1.0.0 to update to 1.0.2, on a 27" iMac with a intel i7 2.8 GHz, 16 GB RAM, and Mac OS X 10.10.4 with all the latest updates. first, Atom never, repeat, NEVER restarts — you click "update & restart app" and it quits the app but never restarts it. never restarts. never. never, never, never. period. then, when i re-launch the app, it is still at 1.0.0, even though it had said it downloaded the new 1.0.2 version and was ready to re-launch as the new, updated app. how do i fix this? please advise.
—  faddah
portland, oregon, u.s.a.

I'm also having this issue (noted in the thread you referenced). Does anyone know if there's an error log or any kind of diagnostics we can do to try and narrow down the issue?

Since this does indeed seem like a duplicate of the issue you linked from (https://github.com/atom/atom/issues/7833), let's keep the discussion there.


Not handling single parameter in ArgumentList correctly

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
When a single parameter is passed with -ArgumentList, the parameter does not get set, instead $_ does.
Start-RSJob seems to have some special logic for having a single argument, but I haven't read it closely enough to understand what it's doing there.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
When I have multiple parameters, it works as expected:
PS X:\> Start-RSJob -ScriptBlock{ param($test1, $test2); write-output "Argument $test1 and $test2 were passed" } -ArgumentList 'hello','goodbye' | wait-rsjob | receive-rsjob
Output:
Argument hello and goodbye were passed
But with a single parameter, it does not:
Start-RSJob -ScriptBlock{ param($test); write-output "Argument $test was passed" } -ArgumentList 'hello' | wait-rsjob | receive-rsjob
Output:
Argument  was passed
My argument seems to end up in in $_ instead of $test for some reason:
PS X:\> Start-RSJob -verbose -ScriptBlock{ param($test); write-output "Argument $test was passed, so was $_" } -ArgumentList 'hello' | wait-rsjob | receive-rsjob
Output:
Argument  was passed, so was hello
What is the expected behavior?
In the second example, $test should be set, so the output should be Argument hello was passed, so was
Which versions of Powershell and which OS are affected by this issue? Did this work in previous versions of our scripts?
PoshRSJob <IP_ADDRESS>, Windows 10 with updates, powershell version 5.1.14393.693
Have not tried under any other configuration.

Can confirm this. Single parameter handled incorrectly.
Moreover, using example from #133 we can get strange results:
 D:\> $hash = [hashtable]::Synchronized(@{Number=0})
     $sb = {
           param($syncHash)
           $syncHash.GetType()
           [System.Threading.Monitor]::Enter($syncHash.SyncRoot)
           $syncHash.Number += 10
           [System.Threading.Monitor]::Exit($syncHash.SyncRoot)
     }
     1..3 | Start-RSJob -Name {$_} -ScriptBlock $sb -ArgumentList $hash | Wait-RSJob | Receive-RSJob
Exception calling "Enter" with "1" argument(s): "Значение не может быть неопределенным."
The property 'Number' cannot be found on this object. Verify that the property exists and can be set.
Exception calling "Exit" with "1" argument(s): "Значение не может быть неопределенным."

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Int32                                    System.ValueType
Exception calling "Enter" with "1" argument(s): "Значение не может быть неопределенным."
The property 'Number' cannot be found on this object. Verify that the property exists and can be set.
Exception calling "Exit" with "1" argument(s): "Значение не может быть неопределенным."
True     True     Int32                                    System.ValueType
Exception calling "Enter" with "1" argument(s): "Значение не может быть неопределенным."
The property 'Number' cannot be found on this object. Verify that the property exists and can be set.
Exception calling "Exit" with "1" argument(s): "Значение не может быть неопределенным."
True     True     Int32                                    System.ValueType

Declaring second parameter in scriptblock save from errors
D:\> $hash = [hashtable]::Synchronized(@{Number=0})
   $sb = {
          param($syncHash, $a)
          $syncHash.GetType()
          [System.Threading.Monitor]::Enter($syncHash.SyncRoot)
          $syncHash.Number += 10
          [System.Threading.Monitor]::Exit($syncHash.SyncRoot)
   }
   1..3 | Start-RSJob -Name {$_} -ScriptBlock $sb -ArgumentList $hash | Wait-RSJob | Receive-RSJob

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
False    True     SyncHashtable                            System.Collections.Hashtable
False    True     SyncHashtable                            System.Collections.Hashtable
False    True     SyncHashtable                            System.Collections.Hashtable

I found where is a logic error. If script have only one argument, this argument used for pipeline input even if the scriptblock doesn't support pipeline input.
so, it's poorly documented 'feature'
btw, @proxb , code
If (@($ArgumentList).count -match '0|1') {
is buggy and ugly :) in next versions please change it to -le 1 :)

@MVKozlov Yea, I don't know where that came from. I chalk it up to a late night coding session and just wanted to make it work. :)

I found the offending line of code that is causing this to break. It appears that one of the PRs that came through made an update that broke this. I'll try to get this uploaded by the weekend. Also will fix the code mentioned by @MVKozlov wrt using -match 0|1

This should be fixed in the latest release.


Should we mark project.json format as deprecated?

[Enter feedback here]
There are other package management formats, such as PackageReference and packages.config that are used in newer projects.

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

ID: a735fb3b-5d8e-0241-30af-38aa5e57ebb1
Version Independent ID: a9ced5bd-9a95-e9a9-b8c9-1678b7823fab
Content: project.json File Reference for NuGet
Content Source: docs/archive/project-json.md
Product: nuget
GitHub Login: @JonDouglas
Microsoft Alias: jodou

Yes, let's add a banner for this doc like the others!


Converting to Flask project

Thank you for great work. I would like to use this on Flask project and upload images to it. How can that be done. Thank you

https://www.jianshu.com/p/37b95672e70f


filter out test helper from test coverage

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.6%) to 96.543%

Totals

Change from base Build<PHONE_NUMBER>:
4.6%

Covered Lines:
363

Relevant Lines:
376

💛  - Coveralls


more webhook features

Describe the feature
have webhooks for when cars get impounded and citations get sent out, and if possible add variables in those text boxs like {discordId} so we can tag the user
Additional Context
No response

citations get sent out

What should I sent in the webhook? I'm not sure if this is useful.

What should I send in the webhook? I'm not sure if this is useful.

the cost, the infractions, the name, the time, and like i said being able to get the user id in the message to @ the user

like i said being able to get the user id in the message to @ the user

This won't be possible for every webhook message. Only for the citations.

This won't be possible for every webhook message. Only for the citations.

thats fine👍

any update on this


Perf regression vers cleanup/update

make rolling version tests cover new versions, and remove versions not needed, along with some code cleanup to make things more maintainable.

Passes visual inspection. Have you been able to run this anywhere?

I can run this locally with the dummy scheduler, and see the json output, but that's it.

Cool - if that looks like what you expect, then +1.

You should have write permissions now -- feel free to merge when ready.

ok, I compared pre-patch json format to post-patch json format, and double checked that sha searching found the same revisions for trunk. looks good, merging.


Release azure-cli-find 0.2.1

Reviewers, please verify the following for this PR:

[ ] The PR title has format Release <component-name> <version>.
[ ] setup.py has been modified with the same version as in the PR title.
[ ] HISTORY.rst has been modified with appropriate release notes.
[ ] If releasing azure-cli or azure-cli-core, __version__ defined in __init__.py should also be modified to match.

Started releasing azure-cli-find 0.2.1...

Release of 'azure-cli-find' with version '0.2.1' successful. View at https://pypi.python.org/pypi/azure-cli-find/0.2.1.

GitHub release created. https://github.com/Azure/azure-cli/releases.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3086   +/-   ##
=======================================
  Coverage   70.72%   70.72%
=======================================
  Files         357      357
  Lines       22906    22906
  Branches     3526     3526
=======================================
  Hits        16201    16201
+ Misses       5610     5607    -3
- Partials     1095     1098    +3

Impacted Files
Coverage Δ

...-cli-role/azure/cli/command_modules/role/custom.py
35.74% <0%> (ø)
:arrow_up:

src/azure-cli-core/azure/cli/core/util.py
66.42% <0%> (ø)
:arrow_up:

...dback/azure/cli/command_modules/feedback/custom.py
34.69% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


feat: listen to ContributionDeleted event

Can you please add an e2e test ?

I think you are missing the whole event decoding as it is coming from the blockchain


Connection duplication on chunk (un)load.

I'm not entirely sure WHAT exactly's doing this, but it looks like on unload/load of chunks, any connections on the network in that chunk are duplicated, with all of the benefits and downsides. Storage devices duplicate and magically give you more power, Points will duplicate and seem to draw power from the network without using it, and Points will duplicate, but don't seem to give an increase. Deleting the entire network and recreating it fixes the duplication until the chunk's unloaded again.
Earlier I had over 200 copies of a single Point draining all of my power before I figured out the cause!
SonarCore 1.9.4-3.1.6
FluxNetworks 1.9.4-1.0.7

I think I'm having this issue too. My Mekanism Gas Burning Generator is making over 7kRF/t but nothing draws anywhere near that amount.

@UntouchedWagons Are you running the latest version?

I'm using 1.9.4-1.0.7, I discovered what was the cause of my issue and I'm in the progress of submitting a bug report.

Should be fixed now


Nested themes do not extend each other

[X] This is a v1.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
Using nested theme, overrides only portion specified by a "child" theme.
For example,
const GlobalTheme = createMuiTheme({
  palette: {
    primary: {
      main: "#003B36"
    },
    secondary: {
      main: "#D76A03"
    }
  }
});

const LocalTheme = createMuiTheme({
  palette: {
    secondary: {
      main: "#ECA72C"
    }
  }
});

I would expect that nesting LocalTheme under GlobalTheme would result in palette.primary.main to be the same, but palette.secondary.main different.
Current Behavior
pallete (and I presume other theme portions) are replaced with default theme.
Steps to Reproduce
Link: https://codesandbox.io/s/lx6xo25wp9

Look at the code
Second line should have the same background as the first

Context
I think nested themes should extend existing theme as much as possible. Otherwise you end up pretty much defining new theme all over again. I came across this issue because of action colors. We have a navigation bar that has dark background color and uses shades of white as action and hover colors. This is completely the opposite of the rest of the application, where the background is white and needs shades of black to indicate action states.
I think the problem stems from this line: https://github.com/mui-org/material-ui/blob/30406b76f918b34839a71dee222cdd739312212f/packages/material-ui/src/styles/MuiThemeProvider.js#L91 Instead I think using a deepmerge would be a lot better. I'm happy to provide solution, provided you agree that it's the right one.
 We don't assume anything about people use case. You need to make the merge explicit. This demo demonstrate how you can use the parent theme to build the child one: https://material-ui.com/customization/themes/#nesting-the-theme (with a function).

Something like
const theme3 = outerTheme => ({
  ...outerTheme,
  status: {
    color: pink[500],
  },
});

@oliviertassinari, in the docs as well as in your example, status will override the whole status in outerTheme. Here's an example,
const GlobalTheme = createMuiTheme({
  palette: {
    primary: {
      main: pink[500]
    }
  }
});
const innerTheme = outerTheme => ({
  ...outerTheme,
  palette: {
    text: {
      primary: gray[800]
    }
  }
});

At this point, palette inside innerTheme overwrites what was in outerTheme completely, rather than just setting palette.text.primary. So in other words, innerTheme.palette.primary.main will actually be a default theme color, rather than the one defined by outerTheme.
You could argue that I can do something like:
const innerTheme = outerTheme => ({
  palette: {
    ...outerTheme.palette,
    text: {
      primary: gray[800]
    }
  }
});

But this fails as Palette interface is not the same as PaletteOptions.


java.lang.SecurityException

while running androidTest as directed in Step 3 in Task 5 I am getting
java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag

seems to gradle version issue


metafield variables are not working for shop metafield for cart checkout validation function

I have created metafiled on shop which is working fine. However am unable to pass the variables.
in RunInput $selectedProducts supposed to send the values but it is not.
query RunInput($selectedProductTags: [String!], $selectedCollectionIds: [ID!]) {
  cart {
    lines {
      quantity
      merchandise {
        __typename
        ... on ProductVariant {
          id
          weight
          product {

            hasTags(tags: $selectedProductTags) {
              hasTag
              tag
            }
          }
        }
      }
    }
  }
  shop {
    metafield(
      namespace: "$app:my_cart_checkout_shop_namespace"
      key: "my_cart_checkout_shop_key"
    ) {
      value
    }
  }
}

As mentioned in the doc that variables need to be declared into the toml file  is already being declared
  [extensions.input.variables]
   namespace: "$app:my_cart_checkout_shop_namespace"
   key: "my_cart_checkout_shop_key"

As specified in the docs, input query variables need to be set on the function owner. Checkout validation doesn't currently expose a function owner on which to set metafields, but this is in their roadmap.

Support for this can be tracked here.


Ensure the react typescript build command builds typescript project references

Description
Right now, the build script fails in a monorepo where a vite workspace depends on another workspace and uses a typescript project reference to it's dependency. By passing --build to tsc, we can ensure that all project references are also built
Additional context
no
What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

I did not understand, why does it work for everyone but you?

I'd assume that other people that use vite inside a monorepo with Typescript references probably add the --build flag themselves.

IMO this is too specific for create-vite.

Ok, let's close it as I think it may confuse some users. Thanks for the PR @dmattia


Un-tab-ify issue and PR templates

This pull request (PR) is a:

[x] Bug fix

I certify that:

[x] I have reviewed the contributing guidelines
[x] I have deleted trailing white space on any lines that this PR
touches
[x] I have used spaces for indentation on any lines that this PR
touches
[x] Each commit is a logically atomic, self-consistent, cohesive
set of changes
[x] The commit message should follow these guidelines:

[x] First line is directive phrase, starting with a capitalized
imperative verb, and is no longer than 50 characters
summarizing your commit
[x] Next line, if necessary is blank
[x] Following lines are all wrapped at 72 characters and can
include additional paragraphs, bulleted lists, etc.

[x] I have signed  Contributor License Agreement (CLA) by
clicking the "details" link to the right of the licence/cla
check and following the directions on the CLA assistant webpage

Summary of changes
Remove tabs and whitespace issues from PR and issue templates
Rationale for changes
Templates had tabs in them, going against guidelines and messing up rendering of issue template
For contributors and SI team members with code review priviledges

[x] I certify that I will wait 24 hours before self-approving via
pullapprove comment or Github code review so that someone
else has the chance to review my proposed changes

I'm merging this early, since it's only effecting documentation changes and very minor ones at that
LGTM


More compiler information through community mappings

Reading this part of the medium blog post:
The application is closed-source so we can’t just look at the source code to determine all reflective accesses. While decompilation of compiled code is possible, the code has been obfuscated by the development team beforehand, randomizing as much information as possible. Therefore, without having in-depth access to the source code we are not able to determine if every class, method, or field that could be accessed through reflections has actually been caught.
I remembered that open source mappings of Minecraft's source do exist... through 3rd party efforts, like yarn:
https://github.com/FabricMC/yarn
https://maven.fabricmc.net/docs/yarn-1.19.2+build.8/index.html
Would this aid AOT compilation in any way? And would it enable mod support, as long as the mods themselves have unobfuscated jars and/or available source files?
Compilation of the official jar is somewhat impractical without mod support, as very few performance/resource usage conscious server owners run the official Mojang server jar by itself.

Would this aid AOT compilation in any way?

While those community-maintained source mappings may be very helpful for mod developers, I'm not sure it would help AOT compilation much to be honest. For compiling the Minecraft server with GraalVM Native Image, the students didn't need access to decompiled code, although that may be useful to ensure that all resources, reflective calls, etc. are covered by the configuration. This, however, can also be verified by exercising the server in different ways, which is what the students have done.

And would it enable mod support, as long as the mods themselves have unobfuscated jars and/or available source files?

I have no idea how mod loading works but I don’t see a reason why mods shouldn’t work with GraalVM Native Image. You probably need to provide Native Image with appropriate configuration for the mods that you want to use. The trace agent may be able to help you with this, it can even extend existing configuration.

Compilation of the official jar is somewhat impractical without mod support, as very few performance/resource usage conscious server owners run the official Mojang server jar by itself.

Yes, that makes sense. More work is needed to try out different mods and generate configurations for them. But as already mentioned, I think that should be possible. Please feel free to take a closer look and let us know if you run into any problems!

👍


Update to version 0.19

Signed-off-by: Christine Donovan<EMAIL_ADDRESS>

Hm I commited this to wrong branch, hold on a second


Is it possible to use this extension without changing my default search engine?

I would like to use your privacy features.
However, I'm not yet ready to switch from my current search engine.

On Chrome installing this extension will lock your search engine to DuckDuckGo. This is a limitation of Chrome's implementation of the search engine setting. On Firefox you can change search engine at any time.
If you would like to change your search engine after installing this extension, I outlined a couple of options here: https://github.com/duckduckgo/duckduckgo-privacy-extension/issues/492#issuecomment-894105544


CSS issue with short browser viewports

What happened?
There seems to be an issue with the style of the site when the viewport of the browser is relatively short. The whole content div seems to move a few pixels left or right depending on the size of the viewport.
I have attached a small video showing how the style of the page changes depending on the browser viewport, the video is capturing the congo documentation site. I have also experienced this behaviour on my personal site, with the "profile" layout on the homepage.
Because this doesn't seem to happen on all layouts, sometimes when changing from one page to another as a user I notice how the new page is slightly misaligned with the previous one.
https://user-images.githubusercontent.com/521385/151129651-28492b45-6a8b-4bb8-8898-7fff97ed66b3.mov
.
Theme version
1.6.4
Hugo version
v0.91.2
What browsers are you seeing the problem on?
Chrome, Safari
Relevant Hugo log output
No response

Thanks for the report. I can't see the edge of the window in the video but isn't this simply because the browser is adding and removing the vertical scroll bar? I'm not sure this is any different to how most responsive websites behave when the viewport changes like this.

You're absolutely right, that's what's happening. Happy to close that, thanks for looking into it!


Please can you explain me the meaning of these model settings

l: 3
g: 32
k: 3
bn: 8
Please can you explain me what l,g,k and bn mean and the uses. Thank you.

k is kernel size
From paper on MDX-Net:

Some source separation methods (Choi, 2021; Choi et al., 2020; Yin et al., 2020) have adopted
Frequency Transformation (FT) to capture frequency-to-frequency dependencies of the target
source. Both designed their FT blocks with fully connected layers, also known as linear layers.
For example, (Choi et al., 2020) proposed Time-Distributed Fully connected layers (TDF) to
capture frequency patterns observed in spectrograms of a singing voice. A TDF block is a
sequence of two linear layers. It is applied to a given input in the frequency domain. The first
layer downsamples the features to RdF/bne, where we denote the number of frequency bins
in a given spectrogram feature by F and the bottleneck factor that controls the degree of
downsampling by bn

bn is bottleneck factor.
In another section of the paper:

We present a comparison between configurations of TFC-TDF-U-Net v1 and v2 as follows. This applies to all models regardless of the target source (we did not explore different model configurations for each source). In short, v2 is a more shallow but wider model than v1.

# blocks
# convs per block
bn
# freq bins
# STFT frames
hop size

v1
9
5
16
2048
128
1024

v2
11
3
8
2048
256
1024

The number of intermediate channels is increased/decreased after down/upsampling layers with a linear factor of 32. Also, as mentioned in Section “TFC-TDF-U-Net v2,” we used different n_fft for each source: (6144, 4096, 16384, 8192) for (vocals, drums, bass, other).

l is conv per block and g is the linear factor.


show this error, anyone has idea?Thanks!

ionic.bundle.js:26799 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []

ionic.bundle.js:26799 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []

Hi @oceankai, the digest cycle is definitely into a loop.
I need some code to help you more.


Increment version for communication releases

Increment package version after release of Azure.ResourceManager.Communication

API change check
API changes are not detected in this pull request.

/check-enforcer override


Test site for new features

I deployed a site which can be used for testing some new features, without taking out the original site with bad automerges and my bugs. This deployment is a side-effect of me needing to check if a workflow change I submitted actually worked (it initially didn't).
Site is https://dougy83.github.io/jlcparts/
Changes:
#114 new fast db update & search. Relates to/fixes issues #37, #45, #48, #109
#115 component count matching property. Relates to/fixes issues #76
#116 download results as CSV. Relates to/fixes issues #34
#117 filter by favourite components. Relates to/fixes issues #10
#120 (de)select all subcategories of the same name. Relates to/fixes issues #119
#121 search term negation. Relates to/fixes issues #103
The database file is updated after copying the .json.gz and .stock.json from the original site a couple of hours after they are created, as the original site has already done the hard work.
@yaqwsx if this post is out of line, please delete it (or I can).

It is completely fine! I was about to suggest submitting your PRs against https://github.com/yaqwsx/jlcparts-dev. Which is a development playground. Unfortunately, I cannot share API keys with you and this would be a way for you to test. However, the solution you came up with is also working and probably easier.

Excellent. Cheers.


Update README.md

not leo, but the link that says "hack club" leads to the editor. is that intentional?

not leo, but the link that says "hack club" leads to the editor. is that intentional?

oop no it's not, good catch! thank you :)


Make 'latest' remain in URL instead of 9_0

Spinoff from #77 - do not rewrite latest to 9_0, but opposite, so that people are encouraged to sharing latest links.
Note that it will still be possible to share an explicit link to 9.0 version, that will be sure to route to the 9.0 guide. Just that the 'default' will be latest when working with the latest version.
This may perhaps also help in boosting the PageRank of latest links in search engines?

I can't really give a review on this PR as I don't know Antorra.
If you want by comment: I don't think this will change Google's ranking, there are pros and cons:

have in a stable "latest" version link is good because longer living pages may appear on top of serach results, so people will use them. But there may also be teh problem of older links disappearing von Google, because they are no longer referenced: When they are live they are redirceted to "latest". Once they are no longer alive they are invisible, unless we link them explicit.
always redirecting to "latest" seems bad to me, as it makes it impossible to add permlinks. Or is there the possibility to get some "permlink" button on each page? So somebody citing a specific page can make a persistent link?

So I am mixed feelings. As coming from "science" where persistent URLs for each verison are important, I tend to think that redirecting to "latest" is not best idea. From a business person opinion of course linking to latest is fine.
If both works: No redirect and both pages are visible next to each other with separate URLs, I would be happy. But the page should have a "canonic url" meta header to inform Google about the duplicates and which version is the one to "bookmark" (the versioned one).

See: https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls?hl=en#define-canonical

Ideally I'd also want that both '9_0' and 'latest' will work, but I cannot see that as a choice at https://docs.antora.org/antora/latest/playbook/urls-latest-version-segment-strategy/#key?
Antora supports canonical URL header: https://docs.antora.org/antora/latest/playbook/site-url/#canonical-url which is good news, so if we redirect to "latest", but canonical remains "9_0" then we could be good?

Antora supports canonical URL header: https://docs.antora.org/antora/latest/playbook/site-url/#canonical-url which is good news, so if we redirect to "latest", but canonical remains "9_0" then we could be good?

If the canonical URL is always "latest"  (as described in the documentation), then Google would forget all old versions and only show links to latest. Thats actually a good thing and would solve our problems. Unfortunately we should maybe think of patching all old pages with a canonical link. Or much better instead of patching, we could add a HTTP "Link:" header (see Google Docs above) to the .htaccess where we maybe link all 8.x pages to latest 8.11 refguide on the HTTP level. Same for 7.x and 6.x. This would at least remove all variants from google except the latets version of each major release.

Maybe do it the other way round: If the canonical URL is always "latest" (as described in the documentation), then Google would forget all old versions and only show links to latest. Thats actually a good thing and would solve our problems.

+1, we want latest to be in the google results.
I have tested this, and the current logic will set the canonical link to latest, not 9_0. The version selection tool also links to the correct name of the page in each version, if the page has been renamed. So this is exactly the logic that we want.

always redirecting to "latest" seems bad to me, as it makes it impossible to add permlinks. Or is there the possibility to get some "permlink" button on each page? So somebody citing a specific page can make a persistent link?

We should certainly add this and it shouldn't be hard to do. I am often annoyed with the AWS docs, trying to link to the specific latest version.

We should maybe think of patching all old pages with a canonical link, too. Or much better instead of patching, we could add a HTTP "Link:" header (see Google Docs above) to the .htaccess where we maybe link all 8.x pages to latest 8.11 refguide on the HTTP level. Same for 7.x and 6.x. This would at least remove all variants from google except the latets version of each major release.

We definitely need to do something about the Solr 6-8 releases. Generally only the pages that don't exist in latest (after redirects) should be indexed in Google. I think that will be hard to do in general, though we can go back and do it. In my opinion, we can probably do a blanket robots file that says don't index the old ref-guide pages. It will make some information not searchable, but there should be very few pages that have been removed before 9.0
Somewhat sane suggestion: We make a robots.txt that disallows scrapping all 6-8 ref guides. Then we create exceptions for the pages that have been removed in a certain version. So if a page (like autoscaling) was removed in 9.0, we create an exception that allows scraping old-guide/8_11/autoscaling.html, if a page was removed in 8.5, we allow old-guide/8_4/page.html. There shouldn't be too many of these pages, so we can go through and add the exceptions manually.

I have a list of pages that once existed but no longer does in 9.0:
https://github.com/apache/solr/pull/596/files#diff-ebf3a521b24b4139995e9e70b7aeffc202df3152e84f4dd46d17d6649f343834R97

A robots.txt to hide the old releases looks like a good idea. We can just link all URL prefixes and we're done. Exlicitely allowing some older pages could also be done.
Instead of an old-style robots.txt we may also use a <locationMatch ^/guide/(6|7|8)_> to the htaccess with {{addHeader "X-Robots-Tag: noindex,nofollow,noarchive"}} (noindex should be enough, we can still allow Google to follow links or archive).

Ok I have this: https://github.com/apache/solr/pull/596/commits/78ecec9d1b03b9f4cd2b958cf326899733d5a7b8
It'll be an absolute pain to test, and I'm sure it doesn't work out-of-the box. But it's not required for the 9.0 release, so we can tinker with it.

Ich think you should be able to do some tests with curl -I testurl on the staging site.

Ich think you should be able to do some tests with curl -I testurl on the staging site and check for (non-)existence of header.

I was able to test .htaccess locally during my PR effort with docker like this:
docker run --rm --name httpd -p 8000:80 -v /Users/janhoy/git/solr-site/output:/usr/local/apache2/htdocs/ -v $(pwd)/my-httpd.conf:/usr/local/apache2/conf/httpd.conf httpd

I realize this PR is merged (and thanks!), but I have a couple of questions that follow logically on the conversation here, so:

Noticing that we don't have (and haven't historically had, I think) an old-style robots.txt, I wonder: is old-style robots.txt completely obviated? i.e., should we not bother having one?
Sitemap.xml is being generated I think, and is present in nightlies. But it doesn't appear to be accessible on the main site. I think it was previously present. Is there still a purpose served by sitemap.xml? Currently the nightlies version looks like it points to all (antora) versions -- I'm not sure whether we'd want to pare down the referenced pages to make sitemap.xml a proper complement to "canonical, no-index/no-follow/no-archive" approach taken by this PR?
If sitemap.xml is still relevant and we want to make it accessible, I think the sitemap spec calls for sitemap.xml to be referenced from an old-style robots.txt ... I'm not aware of other/newer approaches to referencing sitemap.xml.


Support for customized channel TIF input image

I am currently working on medical images, where one field of view could have more than 3 channels (up to 50+ channels). Current loader does not support customized channel input. If you give it a stacked TIF image, it use convert 'RGB' function to make it something else. If I change the loader and make it output the n-d array of the input image, it gives future error because it assumes PIL image format as input. Any solutions? Thanks.

I think in order to properly support this it would be better to refactor our to_tensor / to_pil_image to be more generic.
As a workaround, do you need to perform any data augmentations in your code (rotation, flip, etc)?
If not, you can just use the LambdaTransform to convert your array into a torch tensor.
Also, do you want to normalize the image to be in a specific range?
It would be great if we could have some pointers of some reference images and tools that could be used to load them, so that we can take that into account when improving those transforms.

It worked if I have no transformation. I do need transformation and normalization.
One thing I felt weird is that, current transformation is done via PIL, that is the reason PIL format is required. I think it would make more sense if you can do transformation on the np.array or tensor format.

Yes, requiring the image to be a PIL image has some limitations.
That's why I'm thinking about modifying the existing transforms and create a wrapper Image class, that could hold other formats as well.
But for that to work, we would need to know a bit better how the other formats are structured, and what is the representation that is used. Could you give us some pointers?

@fmassa It would be nice if PyTorch supported running without Pillow(-SIMD which can have installation issues, since it requires to uninstall pillow package which some other pip packages can reinstall).
With nn.functional.upsample  and .flip in core, is image file loading the only thing that PIL is indispensable?

@vadimkantorov almost.
Note that for the moment, upsample only works on floating point data, but I'd expect that we would add support for other data types in the near future.
Also, there are a few other operations that require a bit of work to get running (like rotations), even if that could be implemented using grid_sample (for floating point types only).
One thing I was thinking was to eventually extend the support of grid_sample to also perform bicubic interpolation, I think it could be useful for a few applications.

I just discovered a way to do this, I am not sure it can be solution to your problem, but I'll share it in case it can be useful to others.
In my case I had multi-channel Tiff images, and I wanted to classify them using CNNs in Pytorch. I honestly gave up on data augmentation using Transforms in Pytorch, and I performed data augmentation offline (let's say in my input folders I have original data as well as augmented ones).
The game changer is however defining your own loader + taking advantage of Tifffile library in python. This is how I did it for my training set (val and test should be the same):
import tifffile
def my_tiff_loader(filename):
    return tifffile.imread(filename)

train_transform = transforms.Compose([transforms.ToTensor()])

train_data = datasets.ImageFolder('PATH TO TRAINSET', loader=my_tiff_loader, transform=train_transform)


Refresh timer not started after page reload

When using spring boot authentication server with password flow, there is no id token sent from the server. If now the page is reloaded after a successful login, the token refresh timer does not start.
After debugging into the library, the following line in setupRefreshTimer() seems to cause the problem:
https://github.com/manfredsteyer/angular-oauth2-oidc/blob/a1652dc58e38377ce1e352feafb9656136e98fa0/projects/lib/src/oauth-service.ts#L301
From my understanding, the timer reset & restart should not only be limited to a valid id token present.
Doing a
 if (this.hasValidIdToken() || this.hasValidAccessToken()) {
should possibly fix the problem.

Agree this resolves the issue for me

Will be solved with version 9.
Honestly, I think this is a gray zone: One could argue that not having a valid id_token means your session is expired. Feel free to prove me wrong!


please add clang support

Please add clang/LLVM support.

It already works, do you want target file examples or something?


New docs not live on GitHub Pages

Hey, I just cloned the repo to add the new v-slot syntax because the new syntax appears not to be live on the https://learn-vuejs.github.io/vue-patterns/. Only after checking the cloned repo, i see the new syntax is already there :)

Thanks, @ShailenNaidoo. It seems like travis ci is broken. I have just deployed new docs.
Thanks again.

Awesome!
On Sun, 21 Jul 2019, 08:36 Ilkwon Sim<EMAIL_ADDRESS>wrote:

Closed #25 https://github.com/learn-vuejs/vue-patterns/issues/25.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/learn-vuejs/vue-patterns/issues/25?email_source=notifications&email_token=AGKSRXBQ7L2FSYR5T3Q5SD3QAP7X5A5CNFSM4H7D3VIKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOSTRNPIQ#event-2497894306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGKSRXDHHFPPESB5TCEKT23QAP7X5ANCNFSM4H7D3VIA
.


[Event Request] OnBeforeFinalizeOrderHeader Codeunit 333 Req. Wksh.-Make Order – Code

Could we please have a publisher OnBeforeFinalizeOrderHeader in function Code 333 Req. Wksh.-Make Order?
local procedure "Code"(var ReqLine: Record "Requisition Line")
var
                ReqLine2: Record "Requisition Line";
                ReqLine3: Record "Requisition Line";
                NewReqWkshName: Boolean;
                IsHandled: Boolean;
begin
    ...
    SetReqLineSortingKey(ReqLine);

    ProcessReqLineActions(ReqLine);

    if PrintPurchOrders then
        PrintTransOrder(TransHeader);

    // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    OnBeforeFinalizeOrderHeader(PurchOrderHeader);
    // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    if PurchOrderHeader."Buy-from Vendor No." <> '' then
        FinalizeOrderHeader(PurchOrderHeader, ReqLine);

    if PrevChangedDocOrderNo <> '' then
        PrintChangedDocument(PrevChangedDocOrderType, PrevChangedDocOrderNo);
    ...
end;

[IntegrationEvent(false /*IncludeSender*/, false /*GlobalVarAccess*/)]
local procedure OnBeforeFinalizeOrderHeader(PurchOrderHeader: Record "Purchase Header")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Query: Support match filter in labels API

The querier seems to ignore the match param in the labels API. Requests are sent to all the stores, even if their external labels don't match the values specified in the matchers.

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes
Add support for match param by passing the req matchers to storeMatches. I think it should have a similar implementation to Series, where the querier select labels are excluded. It also returns an empty result if the matchers don't match the selector labels.

Verification

I added new tests and confirmed that the proxy ignored the matchers, and requests were fanning out to all the stores even if their external labels didn't match.

Does this duplicate https://github.com/thanos-io/thanos/pull/7371?


How do you ensure CORS headers are present for a Bad Request?

Hey there,
I'm using the validate Directive provided by akka-http, I noticed that if the validation check fails, it doesn't add the CORS header to the response causing frontend clients to cry. Is there any way to make this possible?
Here's an example
  val signupMember: Route = path("signup") {
    post {
      entity(as[IncomingMember]) { incomingMember =>
       // validate rejections do not add the CORS headers
        validate(validateMember(incomingMember), memberError) {
          val result = memberManager.createMember(incomingMember.email, incomingMember.password)
          onComplete(result) {
            case Success(res) =>
              if (res) complete(StatusCodes.Created)
              else complete(StatusCodes.Conflict, ErrorMessage("User already exists"))

            case Failure(cause) =>
              println(cause)
              complete(ServiceUnavailable, ErrorMessage("Failed to signup"))
          }
        }
      }
    }

I tried doing this
  val routes: Route =
  cors(CorsSettings.defaultSettings.copy(allowedMethods = GET :: POST :: HEAD :: OPTIONS :: PUT :: DELETE :: Nil)) {
    handleRejections(corsRejectionHandler) { signupMember }

But requests that fail the validation still don't add CORS headers 😢
Any idea on how to approach this?

After taking a closer look at https://github.com/lomigmegard/akka-http-cors/issues/5
I seem to have misconfigured the routes, it's supposed to be
  val routes: Route =
  handleRejections(corsRejectionHandler) {
    cors(CorsSettings.defaultSettings.copy(allowedMethods = GET :: POST :: HEAD :: OPTIONS :: PUT :: DELETE :: Nil)) {
      handleRejections(RejectionHandler.default) {
        signupMember
      }
    }
  }


Honor XDG variables on MacOS

Some MacOS users would like to use XDG configuration, especially for everything terminal related. Many tools out-there actually support it.
It would be great if dirs could honor these environment variables on MacOS too. I'm only talking of honoring the environment variables, not the default locations, so that this remains strictly opt-in.
Another way to make this even safer is to check an additional XDG_FORCE_MACOS environment variable. That way updating dirs will not break workflow of users that are already using XDG and ~/Library.

Hi @AntoinePrv, please see https://github.com/dirs-dev/directories-rs/issues/47#issuecomment-478337412.

This doesn't feel like a duplicate to me. In the linked issue, you mentioned that macOS has a standard location for these directories, and dirs uses those standard directories. That sounds completely reasonable.
However, this issue is about providing a user-facing customization hook hook for this (XDG environment variables), in particular one that plays nicely with customization hooks available on other platforms (which many of the consumers of this crate are compiling for as well). In particular, the linked comment gives an example: "add exclusions to macOS' backup software (Library/Caches is excluded, .cache isn't)". If the user is setting a custom XDG_CACHE_DIR, it's safe to assume they have added the exclusion mentioned.
Can you clarify your stance on why support for the environment variables should not be added to dirs?

@CGamesPlay This library intends to implement the platform conventions as defined by the respective OS vendors, not what people want it to be.
The Apple documentation does not mention XDG_FORCE_MACOS.

Thanks for taking the time to respond!

The CLI tools are wrong and should fix their implementation.


Skyline: our custom code inspection test now treats .resx files with nonstandard AutoScaleDimensions as an error

They should all look like this:

6, 13

I suppose you're right - I obviously just did a quick search and replace while I was waiting for some tests to run. If we want this taken care of properly we're going to need to mandate that folks fix the code they wrote - I don't have the bandwidth to look at and mess with all 30+ instances. One way to achieve closure here is to just make this an error so that everybody sees that there's a problem, then harangue the team until it stops failing. I know you don't like to see nightlies with any errors at all but I do think this is the best social engineering approach.

I suppose you're right - I obviously just did a quick search and replace while I was waiting for some tests to run. If we want this taken care of properly we're going to need to mandate that folks fix the code they wrote - I don't have the bandwidth to look at and mess with all 30+ instances. One way to achieve closure here is to just make this an error so that everybody sees that there's a problem, then harangue the team until it stops failing. I know you don't like to see nightlies with any errors at all but I do think this is the best social engineering approach.


float division by zero

I have an error while trying to solve a ddp program. My model is based on cart pole example.
class DifferentialActionModelCartpole(crocoddyl.DifferentialActionModelAbstract):
    def __init__(self):
        crocoddyl.DifferentialActionModelAbstract.__init__(self, crocoddyl.StateVector(6), 3, 11) # nu = 1; nr = 6
        self.unone = np.zeros(self.nu)

        self.m = 3.7
        self.g = 9.81
        self.r1 = 0.25
        self.r2 = 0.34
        self.costWeights = [1., 1., 1., 1., 0.1, 0.001, 0.001, 0.001, 1., 1., 1.]
        # theta-theta_f, phi-phi_f, r-r_f, r*dtheta,
        # tanh(r**2-(r1+r2)*r+r1*r2), dr, dtheta, dphi, f, tau_theta, tau_phi

    def calc(self, data, x, u=None):
        if u is None: u=model.unone
        # Getting the state and control variables
        r, dr, theta, dtheta, phi, dphi = np.asscalar(x[0]), np.asscalar(x[1]), np.asscalar(x[2]), np.asscalar(x[3]), np.asscalar(x[4]), np.asscalar(x[5])
        print(r,dr, theta, dtheta, phi, dphi)
        f,tau_theta,tau_phi = np.asscalar(u[0]), np.asscalar(u[1]), np.asscalar(u[2])

        # Shortname for system parameters
        m, g, r1, r2 = self.m, self.g, self.r1, self.r2

        # Defining the equation of motions
        # ddr ddtheta ddphi
        ddr  = (f/m+r*dtheta**2+r*dphi**2-g*np.cos(theta))
        print(m)
        print(m*r**2)
        print(r)

        ddtheta = (tau_theta/(m*r**2)+g*np.sin(theta)/r-2*dr*dtheta/r)
        ddphi = (tau_phi/(m*r**2)-2*dr*dphi/r)

        data.xout = np.matrix([ ddr, ddtheta, ddphi]).T

        # Computing the cost residual and value
        data.r = np.matrix(self.costWeights * np.array([theta-theta_f, phi-phi_f, r-r_f, r*dtheta, np.tanh(r**2 - (r1 + r2)*r + r1*r2), dr, dtheta, dphi, f, tau_theta, tau_phi])).T
        data.cost = .5* np.asscalar(sum(np.asarray(data.r)**2))

    def calcDiff(self,data,x,u=None,recalc=True):
        # Advance user might implement the derivatives
        pass

I print out one variable r . It is zero at the beginning and I think that's why it can rise this error. Different from cart pole, there is one variable r which is at the denominator of the equation in my model.
Traceback (most recent call last):
  File "simple.py", line 211, in <module>
    done = ddp.solve([], [], 1000)
  File "simple.py", line 119, in calc
    ddtheta = (tau_theta/(m*r**2)+g*np.sin(theta)/r-2*dr*dtheta/r)
ZeroDivisionError: float division by zero

Is there any way to solve this problem?

In the first iteration r is equals to zero because you are warm-starting the solver with zeros. Thus, you could improve the warm-start.
Your EoMs presents a singularity point in r=0. A common approach to handle it, it will be by applying an tiny regulation (or like damping in the pseudo inverse). Therefore rnew=r+mu with mu as the tiny regularisation (e.g. 1e-9).
As side comment, I do not understand your EoMs. It seems that your confusing r with r1 and/or r2, isn't it? I will suggest you to double check your equations

I will close this issue since it is not related with Crocoddyl.
Feel free to ask more questions, I am happy to help you.

we want to bound r within r1 and r2 and right now we are using activation function tanh, but it doesn't work well. Is there other method to add bounding box constraint for a variable in a simple customized mode like cartpole?

Yes, it is possible through quadratic barrier. However, this is easy to integrate for our action models, you will need to handle by yourself.

Yes, you are right. But I am not familiar with crocoddyl structure.
Can you give some hints or an example which I can follow?
I tried to add a constraint like following in the DifferentialActionModelCartpole, but it doesn't work well.
        ddr  = (f/m+r*dtheta**2+r*dphi**2-g*np.cos(theta))
        if r < 1e-9:
            r+=1e-8
        if r < r1: r = r1
        elif r > r2: r = r2
        print(r)

        ddtheta = (g*np.sin(theta)/r-2*dr*dtheta/r)
        ddphi = (-2*dr*dphi/r)

Can you help me?

You create your cost model using CostModelAbstract (e.g. https://github.com/loco-3d/crocoddyl/blob/devel/bindings/python/crocoddyl/utils/init.py#L382)
You use the ActivationModelQuadraticBarrier as your activation model.
You add the data produced by this cost in each calc and calcDiff function.

If you have checked our notebooks, then you will have a clear idea about point 3.

First, I just copied the code to my code and rename the class.
class CostModelBound(crocoddyl.CostModelAbstract):
    def __init__(self, state, activation=None, xref=None, nu=None):
        activation = activation if activation is not None else crocoddyl.ActivationModelQuad(state.ndx)
        self.xref = xref if xref is not None else state.zero()
        crocoddyl.CostModelAbstract.__init__(self, state, activation, nu)

    def calc(self, data, x, u):
        data.r = self.state.diff(self.xref, x)
        self.activation.calc(data.activation, data.r)
        data.cost = data.activation.a

    def calcDiff(self, data, x, u, recalc=True):
        if recalc:
            self.calc(data, x, u)
        data.Rx = self.state.Jdiff(self.xref, x, 'second')[0]
        self.activation.calcDiff(data.activation, data.r, recalc)
        data.Lx = data.Rx.T * data.activation.Ar
        data.Lxx = data.Rx.T * data.activation.Arr * data.Rx

Second, I just changed it to follow the following code.
boundConstraint = crocoddyl.CostModelBound(
                self.state, crocoddyl.ActivationModelQuadraticBarrier(crocoddyl.ActivationBounds(cone.lb, cone.ub)), nu = self.actuation.nu)

For calc and calcDiff, I still have no clue after going through notebook.
In your examples, there are two totally different examples: one is for customized example, like cart pole. The other is Urdf model and all the costs are constructed with specific API.
My example need to mix these two method together?
I have  self-defined cost in the calc and don't know how to add the self-defined cost function CostModelBound to the library?

In cart pole example, I cannot create a state as the input of CostModelAbstract . How to do the following work without state?

About the quadratic barrier, I only know the following way to do that, is there a other way to integrate with the mode?
        costModel = crocoddyl.CostModelSum(self.state, self.actuation.nu)
        if isinstance(comTask, np.ndarray):
            comTrack = crocoddyl.CostModelCoMPosition(self.state, comTask, self.actuation.nu)
            costModel.addCost("comTrack", comTrack, 1e6)
        for i in supportFootIds:
            cone = crocoddyl.FrictionCone(self.nsurf, self.mu, 4, False)
            frictionCone = crocoddyl.CostModelContactFrictionCone(
                self.state, crocoddyl.ActivationModelQuadraticBarrier(crocoddyl.ActivationBounds(cone.lb, cone.ub)),
                cone, i, self.actuation.nu)
            costModel.addCost(self.rmodel.frames[i].name + "_frictionCone", frictionCone, 1e1)
        if swingFootTask is not None:
            for i in swingFootTask:
                xref = crocoddyl.FrameTranslation(i.frame, i.oMf.translation)
                footTrack = crocoddyl.CostModelFrameTranslation(self.state, xref, self.actuation.nu)
                costModel.addCost(self.rmodel.frames[i.frame].name + "_footTrack", footTrack, 1e6)

        stateWeights = np.array([0.] * 3 + [500.] * 3 + [0.01] * (self.rmodel.nv - 6) + [10.] * 6 + [1.] *
                                (self.rmodel.nv - 6))
        stateReg = crocoddyl.CostModelState(self.state,
                                            crocoddyl.ActivationModelWeightedQuad(np.matrix(stateWeights**2).T),
                                            self.rmodel.defaultState, self.actuation.nu)
        ctrlReg = crocoddyl.CostModelControl(self.state, self.actuation.nu)
        costModel.addCost("stateReg", stateReg, 1e1)
        costModel.addCost("ctrlReg", ctrlReg, 1e-1)

        lb = self.state.diff(0 * self.state.lb, self.state.lb)
        ub = self.state.diff(0 * self.state.ub, self.state.ub)
        stateBounds = crocoddyl.CostModelState(
            self.state, crocoddyl.ActivationModelQuadraticBarrier(crocoddyl.ActivationBounds(lb, ub)),
            0 * self.rmodel.defaultState, self.actuation.nu)
        costModel.addCost("stateBounds", stateBounds, 1e3)

File "simple.py", line 222, in <module>
    cartpoleDAM = DifferentialActionModelCartpole()
  File "simple.py", line 185, in __init__
    boundConstraint = CostModelBound(self.state, crocoddyl.ActivationModelQuadraticBarrier(crocoddyl.ActivationBounds(lb, ub,0.9)))
  File "simple.py", line 17, in __init__
    crocoddyl.CostModelAbstract.__init__(self, state, activation, nu)
Boost.Python.ArgumentError: Python argument types in
    CostModelAbstract.__init__(CostModelBound, StateVector, ActivationModelQuadraticBarrier, NoneType)
did not match C++ signature:
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, int nu)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, int nu, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, int nu)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, int nu, bool withResiduals)
server@server:~/landing/src/crocoddyl$ python simple.py
/home/server/.local/lib/python2.7/site-packages/pkg_resources/py2_warn.py:22: UserWarning: Setuptools will stop working on Python 2
************************************************************
You are running Setuptools on Python 2, which is no longer
supported and
>>> SETUPTOOLS WILL STOP WORKING <<<
in a subsequent release (no sooner than 2020-04-20).
Please ensure you are installing
Setuptools using pip 9.x or later or pin to `setuptools<45`
in your environment.
If you have done those things and are still encountering
this message, please comment in
https://github.com/pypa/setuptools/issues/1458
about the steps that led to this unsupported combination.
************************************************************
  sys.version_info < (3,) and warnings.warn(pre + "*" * 60 + msg + "*" * 60)
/home/server/.local/lib/python2.7/site-packages/robot_properties_solo/config/package_config.ini
/home/server/repos/humanoid_property/urdf/biped_new.urdf
['/home/server/repos/humanoid_property']
eigenpy warning: you use the deprecated class numpy.matrix without explicily asking for it. The default behaviour will change to numpy.array at next major release.
- Either call eigenpy.switchToNumpyMatrix() before using eigenpy to suppress this warning
- or call eigenpy.switchToNumpyArray() and adapt your code accordingly.
See https://github.com/stack-of-tasks/eigenpy/issues/87 for further details.
0.15
-2.42861286637e-17
9.99999998968e-06
6.93889390391e-18
3.46944695195e-18
9.99999998971e-06
(-0.05899000000000883, 0.10125000000000334, 2.5729418595688003e-14)
(9.999999989712682e-06, 0.0612500000000012, 2.5777990853015353e-14)
[0.007158208953623851, -5.05987806359964e-06, 0.3012260236425874]
[ 0.06614821 -0.10125506  0.30122602]
(0.32460020027441988, 21.876236037253879,<PHONE_NUMBER>4307097)
(-2.0166440755912443, -1.2652270590217869, 1.2579138132248224)
(0.32460020027441988, 78.24169649626711,<PHONE_NUMBER>7347046)
(matrix([[ 0.25],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ]]), matrix([[ 0.34],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ],
        [ 0.  ]]))
Traceback (most recent call last):
  File "simple.py", line 222, in <module>
    cartpoleDAM = DifferentialActionModelCartpole()
  File "simple.py", line 185, in __init__
    boundConstraint = CostModelBound(self.state, crocoddyl.ActivationModelQuadraticBarrier(crocoddyl.ActivationBounds(lb, ub,0.9)),2)
  File "simple.py", line 17, in __init__
    crocoddyl.CostModelAbstract.__init__(self, state, activation, nu)
Boost.Python.ArgumentError: Python argument types in
    CostModelAbstract.__init__(CostModelBound, StateVector, ActivationModelQuadraticBarrier, NoneType)
did not match C++ signature:
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, int nu)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, int nr, int nu, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, bool withResiduals)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, int nu)
    __init__(_object* self, boost::shared_ptr<crocoddyl::StateMultibody> state, boost::shared_ptr<crocoddyl::ActivationModelAbstract> activation, int nu, bool withResiduals)

The point 1 you mentioned cannot be applied to the cart pole example, can you help to solve this urgent issue?

At the time being, this class is made for robotics problem. I am afraid you will need to implement yourself the quadratic barrier function.

Is it easy to do that? Is there  a simplified way? Do you have the code I can followv

Yes, I would say so.
I don't have any code to provide you. You must want to see the c++ implementation of the quadratic barrier class.

Would that be possible if I encode the following into the cost function?
-mu*log[(y1-y)(y-y2)] and mu is a small number, say 1e-5


Misleading 'error' messages seen from VCEK-related code flow in 'simulated-enclave' pytests.

Following 'error' messages are seen being emitted while running a collection of new Python pytests being developed as part of SWIG/Python bindings support. (This work is being done testing ground work to address issue #156.)
The messages are as below:
test_certifier_framework.py::test_cc_trust_data_get_certified vcek_ext_byte_value() error, line 233, Failed to create NID
get_chipid_from_vcek() error, line 287, Failed to create NID
PublicKeyFromCert() error, line 432, Failed to retrieve HWID from VCEK extensions
 ... cctd.init_policy_key() succeeded.

The actual interface works correctly except that these messages are 'misleading'.
Rework the code to either report benign / informational messages. Or, rework the build rules to not include VCEK-code into shared libraries that will be used for Python testing.
From an earlier internal email exchange,
This message “Failed to retrieve …” comes from this block in certifier.cc:
404 #ifdef SEV_SNP
405   // If we have VCEK in the policy in the future, this takes care of the extensions.
406   k->set_snp_tcb_version(get_tcb_version_from_vcek(x));
407   memset(chipid, 0, CHIP_ID_SIZE);
408   if (!get_chipid_from_vcek(x, chipid, CHIP_ID_SIZE)) {
409     printf("%s() error, line %d, Failed to retrieve HWID from VCEK extensions\n",
410       __func__, __LINE__);
411   }
412   k->set_snp_chipid(chipid, CHIP_ID_SIZE);
413 #endif

But, this block should only apply for SEV-SNP build on a SEV-enabled platform, right?
The problem seems like from the certifier.mak file which has this at the very top:
2 #    File: certifier.mak
3
4 ENABLE_SEV=1

To this, @yelvmw said:
"This failure is benign. The message should not be that scary. I think we should rephrase it: “Failed to retrieve HWID from VCEK extensions. Setting CHIPID to 0.”. As to SEV_SNP def, I think it makes sense to be more conservative if we can."
"I think that’s already the case since ENABLE_SEV is not defined in the app makefiles. If we are building an archive (or shared object) for general consumption, it might make sense to include all platforms. This is an issue for discussion for sure."

These issues have been addressed and integrated to /main under PR #183:
c0395c7 Aditya Gurajada 9 days ago Mon, 21-Aug-2023, 03:49:48 PM (Authored: Sat, 19-Aug-2023, 01:33:59 PM)
 (#180) Rework few error msgs from SEV_SNP code-flow in certifier.cc


oadp-1.1: OADP-1557 Add all velero server args supported to DPA

refactor: remove reconciler from functions
oadp-1.1: go get openshift/velero:oadp-1.1
add server package for velero server options

change sets will be cleaned/rebased when ready for review.
Goal: support all options from velero server in oadp-1.1
Run the velero server

Usage:
  velero server [flags]

Flags:
      --backup-sync-period duration                         How often to ensure all Velero backups in object storage exist as Backup API objects in the cluster. This is the default sync period if none is explicitly specified for a backup storage location. (default 1m0s)
      --client-burst int                                    Maximum number of requests by the server to the Kubernetes API in a short period of time. (default 30)
      --client-page-size int                                Page size of requests by the server to the Kubernetes API when listing objects during a backup. Set to 0 to disable paging. (default 500)
      --client-qps float32                                  Maximum number of requests per second by the server to the Kubernetes API once the burst limit has been reached. (default 20)
      --default-backup-storage-location string              Name of the default backup storage location. DEPRECATED: this flag will be removed in v2.0. Use "velero backup-location set --default" instead. (default "default")
      --default-backup-ttl duration                         How long to wait by default before backups can be garbage collected. (default 720h0m0s)
      --default-restic-prune-frequency duration             How often 'restic prune' is run for restic repositories by default. (default 168h0m0s)
      --default-volume-snapshot-locations mapStringString   List of unique volume providers and default volume snapshot location (provider1:location-01,provider2:location-02,...)
      --default-volumes-to-restic                           Backup all volumes with restic by default.
      --disable-controllers strings                         List of controllers to disable on startup. Valid values are backup,backup-deletion,backup-sync,download-request,gc,restic-repo,restore,schedule,server-status-request
      --garbage-collection-frequency duration               How often garbage collection is run for expired backups.
  -h, --help                                                help for server
      --log-format                                          The format for log output. Valid values are text, json. (default text)
      --log-level                                           The level at which to log. Valid values are trace, debug, info, warning, error, fatal, panic. (default info)
      --metrics-address string                              The address to expose prometheus metrics (default ":8085")
      --plugin-dir string                                   Directory containing Velero plugins (default "/plugins")
      --profiler-address string                             The address to expose the pprof profiler. (default "localhost:6060")
      --restic-timeout duration                             How long backups/restores of pod volumes should be allowed to run before timing out. (default 4h0m0s)
      --restore-only                                        Run in a mode where only restores are allowed; backups, schedules, and garbage-collection are all disabled. DEPRECATED: this flag will be removed in v2.0. Use read-only backup storage locations instead.
      --restore-resource-priorities stringArray             Desired order of resource restores, the priority list contains two parts which are split by "-" element. The resources before "-" element are restored first as high priorities, the resources after "-" element are restored last as low priorities, and any resource not in the list will be restored alphabetically between the high and low priorities. (default customresourcedefinitions,namespaces,storageclasses,volumesnapshotbackups.datamover.oadp.openshift.io,volumesnapshotclass.snapshot.storage.k8s.io,volumesnapshotcontents.snapshot.storage.k8s.io,volumesnapshots.snapshot.storage.k8s.io,persistentvolumes,persistentvolumeclaims,secrets,configmaps,serviceaccounts,limitranges,pods,replicasets.apps,clusterclasses.cluster.x-k8s.io,-,clusterbootstraps.run.tanzu.vmware.com,clusters.cluster.x-k8s.io,clusterresourcesets.addons.cluster.x-k8s.io)
      --store-validation-frequency 0s                       How often to verify if the storage is valid. Optional. Set this to 0s to disable sync. Default 1 minute. (default 1m0s)
      --terminating-resource-timeout duration               How long to wait on persistent volumes and namespaces to terminate during a restore before timing out. (default 10m0s)

Global Flags:
      --add_dir_header                   If true, adds the file directory to the header
      --alsologtostderr                  log to standard error as well as files
      --colorized optionalBool           Show colored output in TTY. Overrides 'colorized' value from $HOME/.config/velero/config.json if present. Enabled by default
      --features stringArray             Comma-separated list of features to enable for this Velero process. Combines with values from $HOME/.config/velero/config.json if present
      --kubeconfig string                Path to the kubeconfig file to use to talk to the Kubernetes apiserver. If unset, try the environment variable KUBECONFIG, as well as in-cluster configuration
      --kubecontext string               The context to use to talk to the Kubernetes apiserver. If unset defaults to whatever your current-context is (kubectl config current-context)
      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                   If non-empty, write log files in this directory
      --log_file string                  If non-empty, use this log file
      --log_file_max_size uint           Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
      --logtostderr                      log to standard error instead of files (default true)
  -n, --namespace string                 The namespace in which Velero should operate (default "openshift-adp")
      --skip_headers                     If true, avoid header prefixes in the log messages
      --skip_log_headers                 If true, avoid headers when opening log files
      --stderrthreshold severity         logs at or above this threshold go to stderr (default 2)
  -v, --v Level                          number for the log level verbosity
      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging

output of ❯ yq '.spec.versions[0].schema.openAPIV3Schema.properties.spec.properties.configuration.properties.velero.properties.args' bundle/manifests/oadp.openshift.io_dataprotectionapplications.yaml
description: Velero args are settings to customize velero server arguments. Overrides values in other fields.
properties:
  add_dir_header:
    description: If true, add the file directory to the header
    type: boolean
  alsologtostderr:
    type: boolean
  backup-sync-period:
    description: How often to ensure all Velero backups in object storage exist as Backup API objects in the cluster. This is the default sync period if none is explicitly specified for a backup storage location.
    format: int64
    type: integer
  client-burst:
    description: Maximum number of requests by the server to the Kubernetes API in a short period of time.
    type: integer
  client-page-size:
    description: Page size of requests by the server to the Kubernetes API when listing objects during a backup. Set to 0 to disable paging.
    type: integer
  client-qps:
    description: Maximum number of requests per second by the server to the Kubernetes API once the burst limit has been reached. this will be validated as a valid float32
    type: integer
  colorized:
    description: Show colored output in TTY
    enum:
      - EnableCSI
      - EnableAPIGroupVersions
      - EnableUploadProgress
    type: boolean
  default-backup-ttl:
    description: default 720h0m0s
    format: int64
    type: integer
  default-restic-maintenance-frequency:
    description: default 168h0m0s
    format: int64
    type: integer
  default-volumes-to-restic:
    description: Backup all volumes with restic by default.
    type: boolean
  disabled-controllers:
    description: List of controllers to disable on startup. Valid values are backup,backup-deletion,backup-sync,download-request,gc,restic-repo,restore,schedule,server-status-request
    enum:
      - backup
      - backup-deletion
      - backup-storage-location
      - backup-sync
      - download-request
      - gc
      - pod-volume-backup
      - pod-volume-restore
      - restic-repo
      - restore
      - schedule
      - server-status-request
    items:
      type: string
    type: array
  garbage-collection-frequency:
    description: How long to wait by default before backups can be garbage collected. (default 720h0m0s)
    format: int64
    type: integer
  log-format:
    description: The format for log output. Valid values are text, json. (default text)
    enum:
      - text
      - json
    type: string
  log_backtrace_at:
    description: when logging hits line file:N, emit a stack trace
    type: integer
  log_dir:
    description: If non-empty, overrides the choice of directory in which to write logs. See createLogDirs for the full list of possible destinations.
    type: string
  log_file:
    description: If non-empty, specifies the path of the file to write logs. mutually exclusive with the log_dir option.
    type: string
  log_file_max_size:
    description: When logFile is specified, this limiter makes sure the logFile won't exceeds a certain size. When exceeds, the logFile will be cleaned up. If this value is 0, no size limitation will be applied to logFile.
    format: int64
    type: integer
  logtostderr:
    description: 'Boolean flags. Not handled atomically because the flag.Value interface does not let us avoid the =true, and that shorthand is necessary for compatibility. TODO: does this matter enough to fix? Seems unlikely.'
    type: boolean
  metrics-address:
    description: The address to expose prometheus metrics
    type: string
  one_output:
    description: If true, messages will not be propagated to lower severity log levels
    type: boolean
  profiler-address:
    description: The address to expose the pprof profiler.
    type: string
  restic-timeout:
    description: How long backups/restores of pod volumes should be allowed to run before timing out.
    format: int64
    type: integer
  restore-resource-priorities:
    description: Default CSI snapshot timeout is not a flag in velero server defaultCSISnapshotTimeout  time.Duration `json:"default-csi-snapshot-timeout"`
    type: string
  skip_headers:
    description: If true, do not add the prefix headers, useful when used with SetOutput
    type: boolean
  skip_log_headers:
    description: If true, do not add the headers to log files
    type: boolean
  stderrthreshold:
    description: Level flag. Handled atomically.
    type: integer
  store-validation-frequency:
    description: How often to verify if the storage is valid. Optional. Set this to `0s` to disable sync. Default 1 minute.
    format: int64
    type: integer
  terminating-resource-timeout:
    description: How long to wait on persistent volumes and namespaces to terminate during a restore before timing out.
    format: int64
    type: integer
  v:
    description: number for the log level verbosity
    type: integer
  vmodule:
    description: comma-separated list of pattern=N settings for file-filtered logging
    type: string
type: object

/test all

/test all

/test all

/test all

/retest

/test 4.10-operator-e2e-azure

/test 4.11-operator-e2e-gcp
volumesnapshot timeout flake

/retest

/retest

/retest

/retest

/retest

/retest

would you look at that... no retest.

/retest

/retest
On Mon, May 1, 2023 at 9:07 PM openshift-ci[bot] @.***>
wrote:

@kaovilai https://github.com/kaovilai: The following tests failed,
say /retest to rerun all failed tests or /retest-required to rerun all
mandatory failed tests:
Test name Commit Details Required Rerun command
ci/prow/4.9-operator-e2e-aws 6c3b573
https://github.com/openshift/oadp-operator/commit/6c3b573aba87f0e7f0f456091d50e1224f9e67a1
link
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_oadp-operator/987/pull-ci-openshift-oadp-operator-oadp-1.1-4.9-operator-e2e-aws/1653179150841679872
true /test 4.9-operator-e2e-aws
ci/prow/4.9-operator-e2e-gcp 6c3b573
https://github.com/openshift/oadp-operator/commit/6c3b573aba87f0e7f0f456091d50e1224f9e67a1
link
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_oadp-operator/987/pull-ci-openshift-oadp-operator-oadp-1.1-4.9-operator-e2e-gcp/1653139624815497216
true /test 4.9-operator-e2e-gcp
Full PR test history
https://prow.ci.openshift.org/pr-history?org=openshift&repo=oadp-operator&pr=987.
Your PR dashboard
https://prow.ci.openshift.org/pr?query=is:pr+state:open+author:kaovilai.
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository. I understand the commands that are listed here
https://go.k8s.io/bot-commands.
—
Reply to this email directly, view it on GitHub
https://github.com/openshift/oadp-operator/pull/987#issuecomment-1530735822,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVVG6FA3J5YGE57542HONLXEBM57ANCNFSM6AAAAAAXDJUIAE
.
You are receiving this because you were mentioned.Message ID:
@.***>

/retest

/retest

/unhold


modified resource_sd_virtual_network_ip_pool.go to fix issue #198

modified resource_sd_virtual_network_ip_pool.go to fix issue #198

Your suggestions were considered on PR #201, Thanks


Exception/Crash: Face Extraction fails on Lightroom based face regions

🐛 Bug Report

[ ] 📁 I've Included a ZIP file containing my librephotos log files
[x ] ❌ I have looked for similar issues (including closed ones)
[x ] 🎬 (If applicable) I've provided pictures or links to videos that clearly demonstrate the issue: exiftools info

📝 Description of issue:
Extraction of face information fails due to software exception:
backend_1   | Traceback (most recent call last):
backend_1   |   File "/code/api/directory_watcher.py", line 203, in handle_new_image
backend_1   |     photo._extract_faces()
backend_1   |   File "/code/api/models/photo.py", line 636, in _extract_faces
backend_1   |     if region["Area"]["Unit"] == "normalized":
backend_1   |        ~~~~~~~~~~~~~~^^^^^^^^
backend_1   | KeyError: 'Unit'

Regions generated by Adobe Lightroom do not contain the key 'Unit', but they do have 'Region Applied To Dimensions Unit'.
Example photo, exiftools output:
Region Applied To Dimensions W  : 2832
Region Applied To Dimensions H  : 3540
Region Applied To Dimensions Unit: pixel
Region Rotation                 : -1.67268, -1.62436, -1.67089
Region Name                     : Person1, Person2, Person3
Region Type                     : Face, Face, Face
Region Area H                   : 0.12878, 0.11261, 0.14894
Region Area W                   : 0.16107, 0.14084, 0.18628
Region Area X                   : 0.36254, 0.54666, 0.63764
Region Area Y                   : 0.38770, 0.57477, 0.17045

🔁 How can we reproduce it:
Try to scan photos containing Adobe Lightroom written face regions
Please provide additional information:

💻 Operating system: Synology DSM7
⚙ Architecture (x86 or ARM): x86
🔢 Librephotos version: (docker, dev, not sure of the number, cannot find it)
📸 Librephotos installation method (Docker, Kubernetes, .deb, etc.): Docker

🐋 If Docker or Kubernets, provide docker-compose image tag: dev

📁 How is you picture library mounted (Local file system (Type), NFS, SMB, etc.): local file system
☁ If you are virtualizing librephotos, Virtualization platform (Proxmox, Xen, HyperV, etc.): none

I think I handled that case now correctly. I can check it myself, if you provide an example xmp file, but you can also update the dev image and report back to me :)

Thank you for taking a look so quickly.  But no, now I'm getting the following:
backend_1   | ERROR:ownphotos:job 0998e55a-c37f-494f-9f46-ec42a7f945ac: could not load image XXX. reason: cannot access local variable 'top' where it is not associated with a value
backend_1   | Traceback (most recent call last):
backend_1   |   File "/code/api/directory_watcher.py", line 203, in handle_new_image
backend_1   |     photo._extract_faces()
backend_1   |   File "/code/api/models/photo.py", line 699, in _extract_faces
backend_1   |     face_image = image[top:bottom, left:right]
backend_1   |                  ^^^^^

I've attached an xmp sidecar for you to work with
DSF_4259_xmp.txt


new versions of my packages

... so that not to have multiple Registrator PRs with manual merge due to non-consecutive versions. Nothing changes for already registered versions.

This fell through the cracks.  The fact is that these manual PRs aren't tested automatically (it isn't straightforward to detect what changed exactly in arbitrary cases) and dumping some hundreds of new versions would require extra work for maintainers to manual review all changes that no one is willing to undertake.

I tried to locally install some of the newly added versions and they all worked, but there is no way I'm going to test all of them, so I'm going to hope all others are fine as well.
As a general remark, it's preferable to get a PR which skip version numbers, at least it's actually tested.  Asking for a manual merge  in #pkg-registration on Slack is ok in those cases.


Update troubleshooting.md

What type of PR is this?
/kind documentation

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes https://github.com/karmada-io/karmada/issues/2571
Special notes for your reviewer:

/assign @Poor12

Hi @chaunceyjiang, could you please sign the DCO so we can move this pr on :)

Oh, sorry. I forgot.

Hi @chaunceyjiang, could you please sign the DCO so we can move this pr on :)

@Poor12 Done.

/lgtm


Responsive breakdown of pages that contain sample code

All pages that contain code scroll horizontally in mobile screen sizes.

demo pages
get started page
or maybe etc

On these pages, only the code box should be scrolled horizontally.


SP5: add Text plot type

similar to ScottPlot 4's https://scottplot.net/cookbook/4.1/#text

@swharden I would love to give this a shot this weekend. I believe it requires a new Plottables class implementing IPlottable, possibly using the Label primitive to draw the text. After that I should be able to just add another method to PlottableAdder for adding the Text plot to the Plot. Does that sound right to you?

@swharden That makes sense - thank you for the explanation! I will look at the Arrow and Marker plot types to see if I can implement one of those so I start getting familiar with more of the codebase.

If it helps, here's what a PR looks like that adds a new plot type: https://github.com/ScottPlot/ScottPlot/pull/3044

Create the plot type
Create a Plot.Add.NewThing() helper method
Create a cookbook recipe page for the plot type

The cookbook recipes are a type of test, so unless the plottable does something really complicated I'm fine not added unit tests for now 👍

Oh yeah, a Line plot type which has a Coordinates Start and Coordinates End (and/or x1, x2, y1, and y2) would be nice to have (#2915) and is very similar to an Arrow plot type

... going through all the open issues and spotting more plot types that would be useful to have and shouldn't be too hard to get off the ground! There's also Marker which is like a scatter plot with a single point #2806

I have been busy with finals, but am done now. Excited to start on these different plot types!


Meiosis + Navigation

Hey! I’ve swapped out the url-mapper and put in Navigation.
Navigation is stateful. You can see that I don’t have to refer to 'coffee' in the link from coffee to coffee details because the stateNavigator already knows it's on coffee. Because it's stateful the stateNavigator should probably be on the model. But it doesn't serialize, so I kept it off the model for now and manually reset the stateNavigator context when synching instead.
I don't expect you to merge this PR. It's just to show you what Meiosis + Navigation might look like. Look forward to hearing what you think.

Thank you for this @grahammendick , much appreciated! I will be having a closer look soon.

@grahammendick this is really great! I'm working on an update to the Routing sections of Meiosis, and I'll be including a Navigation example.
Thanks again!

We can improve the Navigation example by adding the stateNavigator to the model instead of passing it in. At the moment this fails because the Meiosis Tracer tries to serialize it. Can you change the Tracer so that it assumes the model is immutable and so doesn’t bother serializing it? (you could support a non-immutable mode, too). I’ve just added immutability to the Navigation router so that it’s ready for React Suspense.

I would prefer to keep passing in the stateNavigator instead of adding it to the model. The model should be data-only, and the view is a representation of that data. Anything that the view needs which involves code, should be passed in at creation time -- I think stateNavigator fits in well here. What do you think?

The stateNavigator is data and code. I could store just the data part of the stateNavigator on the model and pass in the code part. But the Tracer serialization still breaks because there are circular references in the stateNavigator data. If you assumed the model is immutable then you could support circular references.

Immutable models have some advantages and drawbacks, I want to keep Meiosis flexible enough that the user has the choice.
What's wrong with the setup that you demonstrated? Based on learning from your example and wanting to make sure I understand it, I experimented with another simple example, and this is the setup code that I have:
export const createApp = update => {
  const stateNavigator = new StateNavigator([
    { key: HomePage, route: "" },
    { key: ListPage, route: "/list" },
    { key: FormPage, route: "/form/{itemId}" }
  ])

  Array.of(createHome, createList, createForm).forEach(create => {
    const component = create(stateNavigator)(update)
    const state = stateNavigator.states[component.pageId]
    state.component = component

    if (component.navigating) {
      state.navigating = component.navigating
    }
  })

  stateNavigator.onNavigate(() => {
    const { data, asyncData, url } = stateNavigator.stateContext
    update(model => Object.assign(model, data, asyncData, { url }))
  })

  stateNavigator.start()

  return {
    view: model => {
      const component = stateNavigator.stateContext.state.component

      return (<div>
        Hello, world
        {component.view(model)}
      </div>)
    }
  }
}

I think it's rather nice. Components can just call stateNavigator.navigate(id, params) or have a link with href stateNavigator.getNavigationLink(id, params) to transition to another page. If components need to load some data, they can just define the navigating function and it gets wired in.

Keeping it flexible is good, but you don't support models with circular data structures. If you added an immutable config option that doesn't serialize then you could support models with circular data structures as well as mutable data.
The problem with my setup in the example is that the stateNavigator is stateful but all state should be contained in the model.
Your code snippet looks nice. You've situated the data fetching with the component. Reminds me of Next or relay (although I haven't used either 😄).

I want to make sure I'm keeping to the spirit of Meiosis. If you say it's ok to pass in a stateful navigator then that's ok by me 😄

@grahammendick So if I understand, you could put just the stateNavigator's state in the model, and pass the stateNavigator to be able to call its functions. Is that correct?
Having done that, is the only remaining problem that this wouldn't currently work with the tracer, because the state has circular references?
If so, I'd like to see how to store the stateNavigator's state in the model, rather than relying on its statefulness.
Independently, I like your idea of having an 'immutable' option in the tracer that does not (de)serialize, thanks for suggesting that. I plan to work on another improvement for the tracer, so I will look into this feature as well.

That's a good summary of where we're at.
It's funny. When I did my Cycle + Navigation example a few years ago, I had no problem using a stateful navigator everywhere. But React has changed my mind on (im)mutability since then. I still want a single mutable navigator but the components should only deal with an immutable copy.
I still like the idea of passing an immutable navigator in the model itself. We could try out both approaches with the new Tracer and see which we prefer?

Sure, we could try that out.
In the meantime, though, if we factor the Tracer out of the equation for now, what is your approach to put the navigation state into the model?

All the state is held on the stateContext:
model.stateContext = stateNavigator.stateContext

Then the sync function can reverse this and take the context off the model and stick it back on the stateNavigator. We'd still have to pass the stateNavigator to createComponent so we can call getNavigationLink and navigate.
If we went with the immutable stateNavigator on the model then we wouldn't have to pass the stateNavigator to createComponent
  stateNavigator.onNavigate(() => {
    const immutableStateNavigator = new Navigation.StateNavigator(stateNavigator)
    immutableStateNavigator.stateContext = stateNavigator.stateContext;
    update(model => Object.assign(model, data, asyncData, { stateNavigator }))
  })

I updated the example by adding the immutable stateNavigator to the model https://github.com/grahammendick/meiosis/pull/1

@grahammendick that's pretty cool!
Say, how do you handle invalid URLs to display a custom 404/not found page?

You configure a catch-all State as the last State. States are processed in order so any unmatched routes fall through to the bottom catch-all one.
var stateNavigator = new StateNavigator([
  ....,
  { key: 'notFound', route: '{*x}', defaultTypes: {x: 'stringarray'}, trackTypes: false }
]);

@foxdonut Thanks for adding a navigation example


Fix update_transforms issues

Fixes #584
Fixes #544
Issues addressed:

Undo not reapplying manual offset when undoing (due to update_transforms being called on the undo)
Update_transforms called on non-sculpting brushes
Update_transforms affecting whole cell instead of only aabb
update_transforms uses wrong/old height offset after swaping IDs
Mesh assets not retaining height offset setting and other settings across restarts of the engine

Not done:

Retaining manually painted height offset - possible future update

#584 is collecting a lot of issues, so I'm limiting this PR to one at a time.
@Xtarsia Would you review this please?

the smaller AABB is actually usuable for much more constrained updates too, at line 833~ modify to:
				for (int i = 0; i < xforms.size(); i++) {
					Transform3D t = xforms[i];
					if (brush_rect.has_point(Point2(t.origin.x + global_local_offset.x, t.origin.z + global_local_offset.z))) {
						Vector3 height_offset = t.basis.get_column(1) * mesh_height_offset;
						t.origin -= height_offset;
						real_t height = _terrain->get_data()->get_height(t.origin + global_local_offset);
						// If the new height is a nan due to creating a hole, remove the instance
						if (std::isnan(height)) {
							continue;
						}
						t.origin.y = height;
						t.origin += height_offset;
						updated_xforms.push_back(t);
						updated_colors.push_back(colors[i]);
					} else {
						updated_xforms.push_back(t);
						updated_colors.push_back(colors[i]);
					}
				}

which prevents modifying the entire cell at once (tho the whole cell will still be itterated over)

Those changes are in. So far this PR addresses:

undo issues (due to update_transforms being called on the undo)
update called only on sculpting brushes
update only affecting aabb instead of whole cell

Outstanding:

As for retaining height offsets, Terrain3DObjects stores the current height offset for each object. 🤔
Height offsets are broken when swaping IDs

* As for retaining height offsets, Terrain3DObjects stores the current height offset for each object. 🤔

could increase the triple to a quadruple and store the (tool height) offset as a PackedFloat32Array perhaps.
and/or;
Very out of scope for this PR, I think an extra foliage transform tool might be a better way to go, a brush with expand/shrink (to modify scale of existing xforms) and raise / lower. A foliage color tool could be nice as well.

@Xtarsia Thanks for your help. Improvement ideas added to #43

Somehow I dropped the limit update to brush size rather than whole cell. Fortunately I found it in my reflog. Added in 5ab6742


llvmPackages_git: 19.0.0-git-2024-07-14 -> 19.0.0-git-2024-07-21

Description of changes
Another weekly LLVM git update, last one before LLVM 19 comes out so let's try a little more testing to find any last issues.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

@ofborg build llvmPackages_git.clang

@ofborg build llvmPackages_git.clang
Ofborg says the drv failed, local build works. Retrying.

Fails to build on darwin
https://hydra.nixos.org/build/267322116
https://hydra.nixos.org/build/267322033

@mweinelt Interesting, when I tested this on aarch64 Darwin it worked. Will investigate after work.


Fall back to truncated post excerpt if none given.

Is that better than just letting the consumer (Facebook or whomever) figure it out on their own?

Is that better than just letting the consumer (Facebook or whomever) figure it out on their own?

I think so. A post excerpt will generally know what the content is, whereas Facebook might take the header or something else as the content excerpt. If you have a sidebar, it may use the links on your sidebar. Etc, etc.


:sparkles: Nightly ci initial structure

First steps toward completing Issue #8
This PR introduces:

Binary Downloading and Repository Cloning (part of #13):

Adds functionality to download binaries from a GitHub releases page

Implements repository cloning (for cloning the coolstore repository)

CSV to JSON conversion and creation of report file for historical data (part of #11):

Converts an example csv report generated by kai-eval to json. This will be used to store historical data that will be used later for #15

This PR Introduces a function to compress folders into a zip file. This will be used later to bundle the code and logs for upload to a cloud storage service

@sshveta @midays  could you take a look at this PR please? Thanks!