Proposal: Allow dynamic dependency override

Proposal: Enable overriding one or more 'umbrella' chart dependencies with specific sub-chart version(s) and/or sub-chart repo(s) at chart installation time.
Updated install command might look something like:
$ helm install umbrella-chart-repo/umbrella-chart \
   --set-requirement sub-chart-name.version=specific-chart-version \
   --set-requirement sub-chart-name.repository=specific-chart-repo

(If sub-chart-name.repository not provided, would use value currently existing in umbrella chart's requirements.yaml)
Alternatively, perhaps one could supply an entirely new requirements.yaml file and supply it at install time in a manner similar to -f values.yaml:
$ helm install umbrella-chart-repo/umbrella-chart \
   -r custom-requirements.yaml

To support this latter case, it would most likely warrant a separate ticket adding a way to inspect an umbrella chart's requirements à la helm inspect values umbrella-chart-repo/umbrella-chart:
$ helm inspect requirements umbrella-chart-repo/umbrella-chart > default-requirements.yaml

$ # modify file as necessary and save as custom-requirements.yaml

$ helm install umbrella-chart-repo/umbrella-chart \
   -r custom-requirements.yaml

Considerations:
The details of supporting this may be tricky.  At a high level, I would imagine helm install would trigger a helm dep update behind the scenes, perhaps staging this updated (and packaged?) chart locally and then installing.  The bulk of the considerations/implications around this proposal may indeed lie in the details therein.
I would assume helm upgrade would be updated to mirror the functionality added to helm install.
Similar Issues:

https://github.com/kubernetes/helm/issues/1947 requests the addition of a helm dependency create/add ... command but it seems to be centered around chart build/package/publish time and so doesn't satisfy the dynamic needs of this request.
https://github.com/kubernetes/helm/issues/2183 requests a "development" mode wherein invocations of helm install would use locally staged/updated charts dynamically.  This is closer in spirit but with the fundamental difference that this proposal would enable fetching remote charts as opposed to ones existing locally.  (Support for both would be ideal.)

Use Cases:
I'll mention the use case that triggered this feature request.  I work on CI in support of publishing and releasing an umbrella chart dependent on many sub-charts.
For testing a PR involving a change to a given sub-chart, we first publish the sub-chart artifact and we then publish a correlating umbrella chart artifact after injecting the said sub-chart version and repo into the requirements.yaml and running helm dependency update.  Lastly, we run our E2E tests against the umbrella chart artifact.
This pipeline could be simplified by removing the need to publish a new umbrella chart artifact for every change in a given sub-chart.  We'd only need to publish the sub-chart artifact and then run our E2E tests by installing the default umbrella chart but with the updated requirements.yaml specified at runtime.
This use case could be extrapolated into a general enhancement/UX upgrade for dev/hacking on a given umbrella chart's dependencies.  It also supports the ability to quickly substitute one or more sub-chart versions for trouble-shooting/debugging/etc.

I would think that passing a custom requirements.yaml would be relatively easy to do. And once that is done, adding a --set-like system like you propose also seems doable.

/reopen
/remove-lifecycle rotten
I am very interested in this as a helm user. i would offer to contribute, but would need some assistance on a starting point.

I implemented this feature. It works on my mac, but I think it needs more tests before making a PR. Can someone help me to test it and give me some feedback? repo: https://github.com/FX-HAO/helm
Usage:
bin/helm install -r custom-requirements.yaml chart-name
bin/helm upgrade -r custom-requirements.yaml chart-name

Or you can specify none to remove all requirements.

@FX-HAO Nice work!  I'll see if I can get some cycles to test this from your fork, though I'd recommend creating a PR if you are getting close to feeling ready.
To note, if you hadn't seen already, it looks like Helm v3 will have native support for the high-level functionality mentioned here via the extension scripts feature.

/reopen

I look forward to see this. We need this for our continous delivery process

We are really interested in this feature.

Apparently Helm 3 does not provide a solution for this(?). I would really like to see a solution for this

I'm going to go ahead and mark this as a "Help Wanted". Please feel free to submit your ideas to implement this functionality. It's been over 3 years since this proposal was first opened and some things have changed since then (requirements.yaml was deprecated, for example), so it might be worth taking a closer look at the internals first before submitting a PR.

This would be really helpful, especially for environments where you cannot download from external repos but only from internal "proxy" repos. Not sure if I can contribute anything as I don't know go

see #7312

We would be very interested in this feature and would avoid us needing to copy a chart just to update a dependency version.

I started implementing this in #9540. I think it works in install but I would like some feedback from maintainers before I put it in upgrade also.

I found a few issues that should probably be clarified now.
If someone specifies the --set-dependency option, should --dependency-update option be automatically also included? I would guess so, but according to the help text, it should call helm dependency update in the background, which would update the contents of the charts directory with dependencies, but it would put the changed versions there, it would probably update the lock file (or we could bypass that one), while the Chart.yaml would still list the older dependencies. Subsequent install/update commands do not check the versions, only if the dependency has the same name, therefore it would keep using the older dependency, until helm dependency update is called (directly or indirectly).
Another option is to use some non-standard directory for the dependencies for this run only (I have not checked if that is feasible) or avoid the changes in some other way.
Some of the questions boil down directly if this option is to be used for one-time changes only (that's the feeling I got from the issue) or if the changes should be persisted.
The questions for this proposal therefore are:
What should happen if --set-dependency needs to download a dependency, but dependency-update is not specified?
What should happen, if --set-dependency should install a new dependency, but no version is present?
What should happen, if --set-dependency should change a version of dependency, but another version is already present?
Should the downloaded dependency charts be persisted?
Should the Chart.yaml file be updated based on the command?
Should the Chart.lock file be updated based on the command?
Should the checks during install/upgrade also check versions and not only names of dependencies (I assume not as that would be a breaking change) and in that case what should happen if another version than the specified in --set-dependency is already present?

This feature request should definitely be written up as a HIP. The HIP process has been online since late last year, and is much better for identifying potential issues. Thanks for the thoughtful response @mladedav .
On that note, I don't think @vdice is working on this anymore, so if someone else wants to start the HIP process, head on over here: https://github.com/helm/community/blob/master/hips/hip-0001.md

Any progress on this? I can see many scenarios where this would be very valuable. I am particularly interested in being able to have a shared umbrella chart for an org, and then let individual teams override the chart they are working on until they release a version that is then includes in the shared umbrella chart.

@mladedav started work on a HIP. You can find the link just above your comment (helm/community#176).
I would suggest reviewing that HIP and ask questions. It's good to have many community members review HIPs so we can be sure that a proposal can address many use cases.

Thanks for the quick reply! My question was actually about the progress of the HIP. Sorry for not making that clear. However I gather from your response that you are waiting on community feedback.
My initial reading of the HIP was 👍 but I will have a look at the HIP and see if there is anything I can contribute. There are a number of things that the HIP mentions needs to be sorted out, but I’m not knowledgeable enough to provide much of value there.

@furuholm  As @bacongobbler said, I have written up the HIP and I would appreciate any feedback from anyone.
For the record I think that this feature will be written only for v4 (or so I've written in the HIP) because there are some issues concerning --dependency-update and this flag will be replaced in the next major version. Therefore the functionality still won't be available for some time.

@furuholm As @bacongobbler said, I have written up the HIP and I would appreciate any feedback from anyone.

Thanks for writing up the HIP, @mladedav, I'd love to see this functionality come to fruition.  Have you started a discussion for this on cncf-helm?

@MitchAman I have not, as I read HIP 0001 gave me the feeling that that is something to do to decide whether the HIP would be actually wanted which I decided was settled by the activity of this issue and I am not really used to email lists. I have sent an email just now asking for feedback on the HIP.

Hello.
Has there been any update on this?
My organization needs this feature for the same reasons as others above. We have an umbrella chart, but need to target specific dependency versions in order to perform testing in CI/CD. Specifically we are building a new candidate chart for the dependency and want to be able to use the umbrella chart to target that new candidate so that we can test it ahead of time.
Any update on this or potential work arounds would greatly be appreciated.

@loganknecht I created a pre-processor which does what you are looking for. Its probably overkill but it works. my team uses it for every helm deployment that we do.
https://github.com/gmorse81/boondoggle

Hello, I'm a further activity

Further activity to keep this alive....

I would also be very interested in such a feature

This request is still desired. Please do not close this.

Our organization would greatly benefit from this feature.

This request is still desired. Please do not close this.

This request is still desired. Please do not close this.

I also need this feature.

This feature is desired. Please, do not close this thread.

Working on an amazingly simple and smart solution that implements the ability to merge/JSONpatch/... itself via values.yaml. The main component will be the Helm plugin which allows - simply said - "patch" whatever existing Helm chart "on the fly" so I can try to implement such a feature... I plan to release this project including sources as Open Source soon - just need to make some tests...

Please don't close this.

still required...

No not stale.
People still want this.

This feature is needed.

Please do not close this.
This feature is needed.

Not stale.

Not stale.

We need this! Please!!

Not stale!

We need this! Please!!!

We need this! Please!!!

https://nostalebots.xyz

I just want to update Chart.yaml's appVersion to match, for example, a docker tag I'm using to upgrade a helm-installed application. Maybe there's another way?


List the named logos in the frontend

This probably could be accomplished using a webpack config, however this approach is consistent with the way we handle badge examples and I like that it's very obvious what's happening.
I like @chris48s's idea of putting these on their own page, though we should resolve #1762 first. This seems like a good incremental improvement.
Fix #1787

Good call. I suspect #1762 may drag on for a bit, so this is good for for an interim solution.
One small thing is that the long list does push the content out very wide in a fullscreen window:
before:

after:

Do you think its worth putting this in a <div> with a max-width or something to keep it a bit more centred?

Warnings

:warning:

This PR modified package.json, but not package-lock.json - Perhaps you need to run npm install?

:warning:

This PR added helper modules in lib/ but not accompanying tests. Generally helper modules should have their own tests.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS

Good call. I've updated in d7065ee and it'll be deployed here in a moment: https://shields-staging-pr-1794.herokuapp.com/

Thanks!


Correct formatting error

Thankyou

Reverted since the original markdown was correct. The documentation is highlight the entire text line that is displayed by the loader for clarity

Oops, I thought it was a message from the PSX BIOS.  Sorry about that :)


Issue with k8s.io/zh/docs/tutorials/kubernetes-basics/

This is a Bug Report

Problem:
Proposed Solution:
Page to Update:
https://kubernetes.io/...

/need-more-information
/close
Please describe the problem you are facing and reopen this issue. Thanks.


[feature] Remove expensive net.Interface lookups upon link initialization

This should alleviate the performance issues encountered on hosts with lots of interfaces. The existing call via net.Interface causes a full routing table lookup upon each interface initialization (which is of course especially large on hosts with many interfaces, causing a mean amplification effect). Since we do not require the information therein to setup the ring buffer I've simply replaced the existing implementation with my own lookup based on /sys/class/net (which I was using to determine the link type before already) so that only the information for the interface in question is accessed an no routing table information is fetched.
This of course means that we'd need a different implementation if we ever support more OSes, but I'm sure that would have been the case anyway (because we can't use AF_PACKET anywhere else), plus we could always fall back to net.Interface in such cases.
Closes #50

@els0r PTAL when you have a moment. Once this is merged I'll bump the version in goProbe and together with the changes done in the recent rotation optimization we can take another shot at profiling a 300+ interfaces host for comparison if you like... 😉

I sure can :)


Ext Opts heisenbug?

I keep getting the following error with my current setup:

Error detected while processing TextChangedI Autocommands for "*":
E5108: Error executing lua ...ite/pack/packer/start/LuaSnip/lua/luasnip/nodes/node.lua:368: attempt to index field 'effective_child_ext_opts' (a nil value)

I looked at the documentation, don't think I did anything with respect to ext_opts. Just when I add another table or snippets it seems to get buggy.
With a more minimal set of snippets (as opposed to the single_command/single_command_math tables, this works though :shrug:
local single_command_snippet = require('snippets.tex.utils').scaffolding.single_command_snippet

local single_command_specs = {
    bar = {
        context = {
            name = 'bar',
            dscr = 'bar command',
        },
        command = [[\bar]],
        ext = { choice = true }
    },
    hat = {
        context = {
            name = 'hat',
            dscr = 'hat command',
        },
        command = [[\hat]],
    },
    sq = {
        context = {
            name = 'sqrt',
            dscr = 'sqrt',
        },
        command = [[\sqrt]],
        opts = { condition = math },
        ext = { choice = true },
    }

}

local single_command_snippets = {}
for k, v in pairs(single_command_specs) do
    table.insert(
        single_command_snippets,
        single_command_snippet(vim.tbl_deep_extend('keep', { trig = k, snippetType = "autosnippet" }, v.context), v.command, v.opts, v.ext or {} )
    )
end
vim.list_extend(M, single_command_snippets)

Additional notes: I used the following as a test earlier and it was fine. However, again it now doesn't work once I added one of the tables and removed it. It seems like I can't pinpoint why this error occurs. Also tried looking at the logging branch at the most granular "debug" and doesn't have any additional information.

Ah, found it! xD
In single_command_snippet, docstring, offset, cnode are global, and if a snippet has choice=true, and  the next snippet which is passed to single_command_snippet does not, they will share the choiceNode, which is a big no-no (will be doubly-initialized, references will point to the wrong node, stuff like that)


React project installation

[ ] create a react project in the Frontend repo
[x] figure out how to use React and Bootstrap libraries (installation, import components)
[x] create a list of components needed for the homepage
[ ] create a new branch and try to import a component from React

List of components needed for homepage
https://mui.com/material-ui/getting-started/overview/

Header and logo //https://betterprogramming.pub/building-a-basic-header-with-materialui-and-react-js-d650f75b4b0a
2)Navbar//https://javascript.works-hub.com/learn/how-to-create-a-responsive-navbar-using-material-ui-and-react-router-f9a01
3)Search bar //https://www.npmjs.com/package/material-ui-search-bar
4)Button //https://mui.com/material-ui/react-button/
5)Carousel slide//https://www.npmjs.com/package/react-material-ui-carousel
6)Contact form//https://dev.to/hibaeldursi/creating-a-contact-form-with-validation-with-react-and-material-ui-1am0
7)Footer //https://morioh.com/p/795818fd3239

figure out how to use React and Bootstrap libraries (installation, import components)
I prefer material-ui and tailwind css... still I need 8hrs more to check the feasibility
To run react project need to update yml file
ls:
.js: kebab - case
.jsx kebab-case

create a new branch and try to import a component from React
Trying to import header component


types are not exported

In 1.2.0 some types (e.g. LongPressCallback and the enum LongPressDetectEvents) were exported, but in 2.0.0 they are not.  You may just need a line like export * from './types' in https://github.com/minwork/use-long-press/blob/master/src/index.ts#L15.
I tried importing those types from use-long-press/dist/types but that didn't work with esbuild since it's not an export in your package.json.

Thanks for the report, fixed in v2.0.2

that was fast! thanks!


bump version to 1.5.8

What kind of change does this PR introduce?
Bumps version for release.
Additional context
My team is soft-blocked on the fix to #551.

Also created a draft PR in supabase/postgres for convenience


Added debug docs to README

Wrote about --profile which turns on the profiling server and indicated path to the spawned process logs.

OK


Value of special price offer checkmark does not update when toggling it off.

Issue:
In the Admin UI, when editing a product, the "Make offer price for product" checkbox value remains 1, even when getting unchecked.
Because of this, the product will show the previously filled in special price instead of the original price.
Expected result:
The checkbox of the special offer should update its value correctly, allowing for templates to display the original price after disabling the special price offer.
Issue in code:
https://github.com/microweber/microweber/blob/2c8ba85984214ea033a3677d0169a15dd8498b47/userfiles/modules/shop/offers/special_price_field.php#L47
Why is this an issue:
My goal is to provide the visitor with both the original price and the offered price (if enabled) on the shop overview.
If both the original price and the special offers price are filled in, but the checkbox is unchecked (thus disabling the special price), the value of the checkbox still remains 1, and therefore the special price still gets shown even though we disabled the feature in the admin UI.

done!


Fix EOL characters

Fixes https://github.com/grails/grails-core/issues/13112
The root cause is that OS-specific "templates" are being "rendered" as text, which messes up EOL characters. We need to treat them as binary files to preserve line endings.

Please look into the failing build


ActionBar: Incorrect pluralization for various locales

🐛 Bug Report
Currently there are only 2 pluralization conditions (none, other) for the string "selected":
"selected": "{count, plural, =0 {None selected} other {# selected}}"
This is a problem for certain languages where additional plural rules apply, for example in Portuguese, 1 item is "selecionado", whereas 2 or more are "selecionados". Another example is Croatian, which has different forms for 1, 2-4 (few), and 5+. Many other languages are impacted by this.
🤔 Expected Behavior
To provide the proper plural form for each locale.
😯 Current Behavior
This issue can be reproduced in any of the ActionBar stories.

💁 Possible Solution
This can be fixed in the dictionaries for each of the affected languages, but a better practice might be to add the additional rules in the English string as well:
https://github.com/adobe/react-spectrum/blob/main/packages/%40react-spectrum/actionbar/intl/en-US.json#L3
💻 Code Sample
Used the latest storybook for testing
🧢 Your Company/Team
Adobe Globalization team

New translations will be integrated next week

Fixed with https://github.com/adobe/react-spectrum/pull/5037


Fix setting the text color of Inputs/Outputs

This PR fixes the setTextColor functions of both Input and Output, which are making calls to a function of Color that does not exist.

Thank you


Add an API call to get a user's profile from ID and handle

Is your feature request related to a problem? Please describe.
I'm making a bot, DodgyCoin, and I would like to have multiple bots or have people pay offline users. Right now I can't do that, because I can't get the user's ID from the handle provided In chat.
Describe the solution you'd like
New WebSocket calls:

get_user_from_id { id: string } - returns a user's profile including handle and id
get_user_from_handle { handle: string } - returns a user's profile including handle and id

Describe alternatives you've considered
So far I have just listed the users in a room and got their IDs that way, but users can't pay offline users and I can't easily have bots in multiple rooms trading with each other.

Added to the "Future Features" section on #386, closing this issue.


Add missing param to avoid error

ArgumentError (unknown keyword: :public_key)

make sure you don't use ruby 3.0.0 when testing the gem

Sure... I thought it might be better to err on the side of specificity, but if the public_key is not being used anywhere, which it's not, I don't see why it should be required.
Also, this makes it more consistent with the Threema::Receive::Text implementation.


pass nil, which spiff can override

Need to be able to specify global properties (via additional spiff templates); but properties: {} prevents this

@cweibel @wayneeseguin @longnguyen11288


Add auto formatting to the phone number

Add auto formatting as users type their phone, e.g.  “+1<PHONE_NUMBER>”

dup of #943


Wrong URL for SQuAD dev-v2.0.json

Hi,
The link to SQuAD dev-v2.0.json seems to be wrong with the old one.
https://github.com/google-research/bert/blob/4d4e26dc24bf78d849104e646dba422e3adba458/README.md#L452
should change to:
*   [dev-v2.0.json](https://rajpurkar.github.io/SQuAD-explorer/dataset/dev-v2.0.json)

Best,
Yiming

Thanks, this has been fixed.


npm organisations

Awesome tool! I was looking at this for my npm package krmx.
Currently, the following url is returned: https://www.npmjs.com/package/krmx. However, that url gives a not found page. The following url is used to inspect the existance of the package: https://registry.npmjs.org/krmx (which does give a result) https://github.com/toddcooke/namechecker/blob/27f0236744b581f79e2f0b6cc4a0403f86ca989a/app/api/exists/npm/route.ts#L16
I'm not entirely sure if there actually used to be a package at https://registry.npmjs.org/krmx that is no longer listed. But it can be handy anyway to return wether the npm organisation is available.
The krmx npm organisation can be returned (too): https://www.npmjs.com/org/krmx

Thanks for the issue. I changed the registry url to be the api endpoint, and added support for npm orgs.


quick fix for zlib

zlib test fails

I'm building new images for this since the existing ubuntu one doesn't have zlib properly installed.

Should look in to removing zlib from the scripts. AFAIK there is no reason for it


Use timedelta for test timeouts

Description
Split the update data type into timestamp instead of primitives out from https://github.com/GoogleCloudPlatform/ml-auto-solutions/pull/263.
We follow with our internal style guide recommends to use datetime et al instead of primitives: https://engdoc.corp.google.com/eng/doc/devguide/py/totw/047.md?cl=head
Tests
mxla_maxtext_nightly_gke

jax_integration
flax_latest_supported
pytorchxla-nightly
Checklist
Before submitting this PR, please make sure (put X in square brackets):

[x] I have performed a self-review of my code.
[x] I have necessary comments in my code, particularly in hard-to-understand areas.
[x] I have run one-shot tests and provided workload links above if applicable.
[x] I have made or will make corresponding changes to the doc if needed.

Bypassing code owners since this is a no-op.


For whom is it written?

How can you spread such examples ? It does not really run . Inside, there is no SFML. I dont know you version. New version dont work. Damn why all people create complicate things.

hi there,
smaa is not an easy effect, so at this stage you are pretty much expected to solve such simple things.
Anyways, here's a version w/ all dependencies, should work fine under windows.
One thing though, now I'm on nvidia, and the effect is only correct when I run it under nvidia nsight. No idea why. The source is a bit different, since I wanted to debug under nvidia nsight.
https://drive.google.com/file/d/0B33Sh832pOdOdUZ0cDRfT0lieWs/view?usp=sharing


HIPP-1636: Hide 'Cancel request' button when the access request is no…

…t on 'Pending' state and the user does not belong to the application team

I think we need one more test case, which is that even if you are an approver, you cannot cancel the request when you are not a team member?

The logic behind this ticket has changed and is now about hiding the button only if the screen is on the admin side of the service.


Handle dynamic mocks specially for null-object doubles

This hopefully resolves #1132 and #1288 - essentially, if you leave strict_predicate_matchers disabled and use a null-object spy like this:
let(:thing) { spy('my thing') }

it "does the thing right" do
  do_it
  expect(thing).to have_receivedd(:foo)
end

It'll pass. Note the typo in have_receivedd? The dynamic matcher will call has_receivedd? on the spy, the spy will return itself (that's what it does), and the matcher will note that the result is truthy, and pass the spec. That's kind of an issue - turning off that setting does solve it, but that won't be the default until rspec 4, and even then it's not the ideal behavior, just a lot better.
This PR updates the dynamic matchers to notice when their target is a Double, and change behavior slightly - for Doubles, don't just check if they respond to the method, also check if it's in the methods list. That'll suffice to confirm that it's explicitly mocked on the double, rather than being an automatic response.

22 deprecation warnings total

Wondering why we don’t print them 🧐

Can you please use our fail matcher in the specs

Thank you! This was so ugly, I should have known there would be a matcher for that :-D

  1) Object#should on interpreters that have BasicObject does not break the deprecation check on BasicObject-subclassed proxy objects
     Failure/Error: @target.send(name, *args)

     NoMethodError:
       undefined method `send' for #<BasicObject:0x000000010493faf8>

.. BasicObject doesn't have is_a?, so this line breaks for those. Good test, I'd have never thought of that!
I'm not sure how to safely detect that I'm dealing with a BasicObject though, since it doesn't have respond_to? or class methods (or anything else I can think of). Incidentally, it also doesn't have a send method, so this bit here just produces a NoMethodError: undefined method send' for #BasicObject:0x000000012ca06360`, which seems probably unintended?
Any advice? I could just catch NoMethodError on really_responds_to? and assume it means we're on a BasicObject (and therefore not a spy). I'll push that up, but I feel like there ought to be a better way to do this - possibly behavior to add in the Proxy itself?

Oh, and please let me know if I'm using PRs wrong here - I've run into a variety of expectations regarding who resolves conversations, how much feedback to ask for, etc. You guys seem super-active, so I'm hoping I can be helpful.

No worries on the code, it feels that we’re getting along quite good. Thanks for your tireless contributions!

Darn, looks like I still have some kind of problem on ruby-1.8.7. I've never actually gotten it to install on an m1, guess I'll spend some time on that today. It's obviously going to keep coming up :-)

Thank you!

Released in 3.13.2


Improve grammar, word choice, spelling, and idiomatic English - Chapters 1-7,15

Hello Juergen and Johan,
Thank you for writing this tutorial.  I had been floundering, trying to get a grasp of QML, when I found your tutorial.  I have a much better understanding after reading chapters 1-4 of your tutorial.
As I went through the first four chapters, I took the liberty of improving the grammar, word choice, spelling, punctuation, and closeness to idiomatic English.  I am not a professional English editor, nor do I have a degree in anything like English, but I am a native speaker.
I haven't changed what you guys were saying, but I believe that others will find the text more readable if you accept this pull request.  I would like to continue editing the next chapters as I proceed through the tutorial, but I want to know if these edits will be merged or thrown away.
Thank you for the awesome tutorial you have created.  I believe you have definitely filled a need in the QML documentation ecosystem.

Ross

@e8johan , @jryannel ,
I'd love to have you guys take a look at the edits.

Hi Ross,
Thank you for your edits. They look great and we really appreciate your
help. We've both been a bit swamped at work lately, but I'll try to catch
up on this over the weekend!
Best regards,
Johan
On Dec 4, 2015 9:41 PM, "Ross Rogers"<EMAIL_ADDRESS>wrote:

@e8johan https://github.com/e8johan , @jryannel
https://github.com/jryannel ,
I'd love to have you guys take a look at the edits.
—
Reply to this email directly or view it on GitHub
https://github.com/qmlbook/qmlbook/pull/71#issuecomment-162076178.

Hey Johan ( @e8johan ),
Ping.  The edits are solid and I didn't change the content of you words. I bet your book will rise in English SEO due to the grammar fixes if you merge the pull request.

This looks great! Thanks!

Thanks Johan.


debugging is unavailable if coverage configured

Start karma server with coverage configured on port 9876
Open http://localhost:9876/debug.html in Chrome
Open Developer Tools for debug.html page and open some test source. It won't be original source code, but code preprocessed by Istanbul.
As a result debug isn't possible.

There is little sense to serve code preprocessed by Istanbul for debug.html, because debug.html can't deliver coverage result back to Karma server.
So, the possible solution is to serve original code for debug.html.
Original issue: http://youtrack.jetbrains.com/issue/WEB-8443

Is there a solution to this yet? Coverage could simply be disabled by using a different configuration & build when using debug mode. Karma could then build both.

Here's a setup of mine that solves this issue rather neatly, imho.

Closing due to inactivity. Please feel free to reopen a new issue with updated info if this is still a problem. Thanks.


sudo permistion on self-hosted macos runner

Hello! I'm trying setup unity on my self-hosted runner under MacOS.
It looks like some of the scripts in setup.js require sudo permission and it is not working on self-hosted runner.
await execute(`sudo mkdir -p "${installPath}"`);
await execute(`sudo chmod -R o+rwx "${installPath}"`);

Is there is any workaround?

=> https://github.com/kuler90/setup-unity/pull/11
Let's wait the author for a official release


Update de_DE.lang

Thank you so much! I feel that my German is getting better every pull request 😄


removing element on remove_widget

method fn.remove_widget is removing $el element causing layout manager remove methods to fail.
Layout managers like backbone.viewmaster or also plain backbone also have remove methods, for example to clean some jquery plugins. But they also operate on $el, which is effectively destroyed in fn.remove_widget method. So I get some weird errors that $el doesn not exists.
I suggest to not do $el removal in that method.
...
$el.fadeOut($.proxy(function () {
    $el.remove();
...

Closing. My issue can be solved, by removing backbone view first and only after that call remove_widget.


A couple fixes for SSH access onto 'minimal' nodes

In one LISA derivative we have, the nodes at the other side of the SSH channel will be of the 'minimal' type, for real.
We mean non-POSIX, very barebones. These are fixes to make that setup work, while not harming the general case.

@LiliDeng LGTM

@lubaihua33 I have tested the common gallery image, it didn't have any regression, could you please check on the image which only supports minimal shell type, thanks!

@lubaihua33 I have tested the common gallery image, it didn't have any regression, could you please check on the image which only supports minimal shell type, thanks!

Let's merge today, and test later. The impact won't be big, if it fails on other minimal shells.

@lubaihua33 I have tested the common gallery image, it didn't have any regression, could you please check on the image which only supports minimal shell type, thanks!

Let's merge today, and test later. The impact won't be big, if it fails on other minimal shells.

I tested one image "javlinltd1579185328273 cloverdx-server-vm-image 6-1-0 1.0.0". This PR has regression on this image.

Below modifies should be added:
raw_input = raw_input.replace(
rf"{self._shell.spawn_initialization_error_string}\r\n", ""
squirrelsc marked this conversation as resolved.
)
should be modified as:
raw_input = raw_input.replace(
f"{self._shell.spawn_initialization_error_string}\r\n", ""
squirrelsc marked this conversation as resolved.
)

I tested one image "javlinltd1579185328273 cloverdx-server-vm-image 6-1-0 1.0.0". This PR has regression on this image.

Below modifies should be added:
raw_input = raw_input.replace(
rf"{self._shell.spawn_initialization_error_string}\r\n", ""
)
should be modified as:
raw_input = raw_input.replace(
f"{self._shell.spawn_initialization_error_string}\r\n", ""
)

Ok, minimal but we can fix, ty.

The change of the below line will lead to a imeout for some commands like "'sudo' 'sh' '-c' 'cat /etc/shadow'"
def minimal_escape_sh(value: str) -> str:
return value.replace("'", "'''")
For example:
command_args is like ['sudo', 'sh', '-c', 'cat /etc/shadow | gr..."lisatest"']
The return value of the original fun 'generate_run_command' is
''sudo' 'sh' '-c' 'cat /etc/shadow | grep -v "lisatest"''.
The value of the override one minimal_generate_run_command is
'sudo sh -c cat /etc/shadow | grep -v "lisatest"',
which will lead to a timeout. Because the system recognizes this command as  'sudo sh -c cat'.

Is it problematic for pipes only? The problem is tokenizing like that for non-POSIX shells will make them also unusable. My use case has no parser for 'command', it expects plain command instead. We need to find a middle ground and support for non-POSIX shells too.

It is problematic not only for pipes. It is for the scenario that 'shell=true' that "'sh' '-c'" is added in the command.
For example:
if the command_args is like ['sudo', 'sh', '-c', 'cat /etc/shadow'], then the return value of the override fun minimal_generate_run_command is "sudo sh -c cat /etc/shadow". There is no apostrophe for the command "cat /etc/shadow". Then the Linux system (the tested VM) recognizes this command as 'sudo sh -c cat ', which leads to a timeout.


Item Rolls returning a promise.

Would like basic item rolls to return a promise to facilitate macro writing.
Basically the ability to have this code :
let attack = await item.rollAttack({event});  if(attack.total > target.eac)  {   item.rollDamage()  }
or something similar. That way the macro will wait until the dialog is complete and the roll has been rolled before moving onto the conditional statement and erroring.

 [FEAT] Item Rolls returning a promise.

Fixed in https://github.com/wildj79/foundryvtt-starfinder/commit/e6968e060ed1ea975cc246d71bafdfa42758f6de. Will be available in next release.


Update sdsetup guide links

Guide has a new link format. The old links will redirect but they should be swapped anyways.

Very epic gamer, thank you


use pycocotools released in pypi

I switch to use pycocotools via pypi.
now pycocotools is released via pypi.
https://pypi.org/project/pycocotools/

Is https://pypi.org/project/pycocotools/ the official package? It looks unofficial to me.

probably, you are right


update k8s deps which include leader election fixes

This patch bumps k8s deps to 0.18.12 for https://github.com/knative/pkg/issues/1835.
The PR did:

Add knative.dev/pkg/hack in hack/tools.go to pull vendor/knative.dev/pkg/hack/update-k8s-deps.sh.
Run hack/update-deps.sh.
Remove replace in go.mod
Create sym link from vendor/knative.dev/pkg/hack/update-k8s-deps.sh to hack/update-k8s-deps.sh.
Run bash hack/update-k8s-deps.sh 0.18.12.

/kind bug
Leader election transition improvements

/cc @dprotaso @ZhiminXiang @tcnghia

vendor/knative.dev/pkg/hack/update-k8s-deps.sh.
FYI - this is meant to be local to the repo

It looks like your k8s versions is dependent on the min version in knative.dev/pkg. Thus shouldn't need any script since you'll get the k8s bump when knative.dev/pkg is updated


resize and simplify svgs

fixes #177

The Maclife logo looks tiy to me in the diff, but I can't test in IE until tomorrow.

Yeah it's because of how big the original was. The new ones are all the same height canvas

Oh, okay, GitHub is keeping them relative. That makes sense even if it's not immediately obvious.


Chained TaskHandle

Adds an abstraction for launching task one-after-another. Initial implementation supports just one Launcher and will be used for linking Snap session with workload.


Use CLOUDSDK_CONFIG env for user config directory

Description
Respect the CLOUDSDK_CONFIG environment variable for configuration path override, per the gcloud implementation.

Thanks for your PR. I use shortcut instead. Release v3.16.5.

Thanks! Deleted the fork and updated.


Flow refactor

Needs exception refactor to work properly, among other small adjustments.

Fixes #223

Resolves #221, resolves #223, resolves #224


Created a button style and example for disabled button state

Will resolve https://github.com/ONSdigital/design-system/issues/629

Perhaps removing the bottom border and changing the text colour would help with the affordance?...

I don't think the background colour change alone is enough, especially on mobile where they don't get the disabled cursor on hover.
Also, using a grey to indicate a disabled button could be an issue considering we use grey for active secondary buttons. E.g. I don't think the cancel button looks particularly disabled in this instance...

I've updated so the secondary button is not given a border or hover state. I think this overall needs more research but needs to go in as it's the current solution in R'Ops


support for deployments on alternative OS

Currently, for set-ups of  KNIX on localhost, or a single remote host, or a cluster of hosts, Ubuntu 18.04 and Debian 9 are the only supported target OS.
I proose to add support to more target OS, such as CentOS.
The required changes should be done in the feature/CentOS_support branch.

I have been running KNIX on single host, bare metal mode on xubuntu 18.04 and now xubuntu 20.04 for a while now. No problems encountered about compatibility, except for an SSL package version in xubuntu 20.04.

I have been running KNIX on single host, bare metal mode on xubuntu 18.04 and now xubuntu 20.04 for a while now. No problems encountered about compatibility, except for an SSL package version in xubuntu 20.04.

The main difference between Xubuntu and Ubuntu is the desktop environment. Ubuntu is based on the Debian architecture, while CentOS is forked from Red Hat Enterprise Linux which has different package management etc.

The main difference between Xubuntu and Ubuntu is the desktop environment. Ubuntu is based on the Debian architecture, while CentOS is forked from Red Hat Enterprise Linux which has different package management etc.


Create a code to make a refund for customers

Thanks for your recent dependency on pay_with_paystack. This is not an issue but a request. Can you make another dependency to make a refund to customers with Flutter using mobile money and visa payment on the Paystack platform?  I would be grateful if this is given a swift response. Thanks.

@ebenoasis We will consider that. Thank you!


Unbeatable mode

I have added one more option of unbeatable mode which is playing against AI and only you can get a Draw.  See it, I am here for any explanation or to change anything

Hey @pkyriakou23 sorry for not responding I wasn't watching the repo so hadn't gotten any notification related to the PR.

Thank you for the PR everything is working great I will merge it.


feat: add experimental support for npm modules

⏳

Superseded by https://github.com/netlify/edge-bundler/pull/408.


Default realm location breaks Apple review rules

Goals
Pass the Apple review with an App using Realm.io
Expected Results
Review failed.
Your app has the UIFileSharingEnabled key set to true in the info.plist, but the Documents folder includes files and folders not intended for file sharing.

The thing I'm seeing is:

So I guess they don't like it. While it's nice to have this for debugging and maybe exporting to you Mac and looking through the database with an external tool, I think the default should be safe for the Apple Store submission.
Actual Results
Maybe we should make a default location be somewhere else, since I suspect more people may forget to change the location.
Steps to Reproduce
Just enable file sharing with iTunes by setting UIFileSharingEnabled and you'll see the problem.
Code Sample
.
Version of Realm and Tooling
In the CONTRIBUTING guidelines, you will find a script,
which will help determining these versions.
Realm version: Realm 1.0.2
Xcode version: Xcode 8
iOS/OSX version: iOS 10 / El Captain
Dependency manager + version: pod
Linked issues
#3238

Just tried changing the path (below), but it didn't work. 4 files of Realm are still created:
    RLMRealmConfiguration *configuration = [RLMRealmConfiguration defaultConfiguration];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
    NSString *appSupportDirPath = [paths firstObject];
    NSString *realmPath = [appSupportDirPath<EMAIL_ADDRESS>    configuration.fileURL = [NSURL fileURLWithPath:realmPath];
    [RLMRealmConfiguration setDefaultConfiguration:configuration];
    NSLog(@"XXXX path=%@ realmURL: '%@'", realmPath, configuration.fileURL);

Hi @wkoszek, you're right that we should be opting out those files from backups, but moving them to a separate location isn't the right way to resolve this IMO. Instead, we should be setting the appropriate NSFileProtection attributes to prevent those files from being included in iTunes or iCloud backups and file transfers.
Until we get around to doing this, you can do that explicitly in your apps.

NSFileProtection is about encryption, so doesn't seem relevant here. You may be thinking of NSURLIsExcludedFromBackupKey which will prevent a given file from being backed up. I don't think that has any impact on the iTunes file sharing UI though.
We cannot change the default path of Realm files without breaking all existing apps that are using the default path. The only solution here, IMO, is for anyone that wants their app to store Realm files in different location, for whatever reason, to specify a different path in their configuration.

Yes, sorry for the mixup, I was thinking of NSURLIsExcludedFromBackupKey.

@jpsim @bdash Ok, so I gave you an example on how I wanted to deal with the issue, but it didn't seem to work for me. What's the proper way to change the directory for Realm files?

I don't like the new title of this issue. It's doesn't reflect my problem enough :-)

I apologize, I've conflated your issue with a different issue you made me realize we have. I'll open a new issue for that one.

@jpsim No worries man.

Created #4189 for the other issue.
To answer your other question:

What's the proper way to change the directory for Realm files?

You can specify the location of Realm files by setting the fileURL property of its RLMRealmConfiguration:
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
config.fileURL = [NSURL<EMAIL_ADDRESS>RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil];

@jpsim So can you confirm that an inability of doing:
<what you did and I've done before>
[RLMRealmConfiguration setDefaultConfiguration:configuration];

is a bug too? I'd expect that this default config will kick in each time I do:
RLMRealm *realm = [RLMRealm defaultRealm];

At least that's what I do in my data model right now.

I don't understand your last comment.

4 files of Realm are still created:

Yes, that's expected. No matter the root directory of the realm file, the auxiliary files will always be created, and they will always be located next to the main file.
I had opened an issue a long time ago to allow specifying a custom location for the auxiliary realm files, but that was closed due to not solving any issue we were aware of: realm/realm-core#911
Sounds like this would require the same solution, but for a different problem.
Unless there's a different solution to this that I'm not aware of.
Does that sound right to you @wkoszek?

From Apple's Review feedback it looks like I need to get rid of all files from the iTunes shared directory, if I want to have this file sharing functionality enabled. Rephrasing: if I open my app in iTunes and look into shared dir, Realm files can't be there.
I'm looking for a way to do it.
Note 1 my hope was that by relocating the .realm file all other files (.lock, .management, .note) will also be placed in a different file. I think you're admitting there's no way to do it currently?
Can you confirm if I got that right?

Note 1 my hope was that by relocating the .realm file all other files (.lock, .management, .note) will also be placed in a different file. I think you're admitting there's no way to do it currently?

Yes, that's correct, those files are always created when opening a Realm, unless the Realm is only ever opened with RLMRealmConfiguration.readOnly set to YES.
Those files are necessary to ensure safe inter-process access to the Realm. Which is why I think the only solution is to allow developers (you) to override the location of the auxiliary files, as to not have them next to the main .realm file in order to satisfy Apple's requirements regarding iTunes file sharing.

That's a bummer. Here's the "spec" how I want it to work:
I pass /path/to/dir and I get realm.default, realm.default.lock, realm.default.management and realm.default.note created in there.
Trying to think what my workaround can be. Going to try your code snippet:
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
config.fileURL = [NSURL<EMAIL_ADDRESS>RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil];

now that I'm at home

Again, confused by your last comment. As far as I know, the way to expose this would be:
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
config.fileURL = [NSURL<EMAIL_ADDRESS>config.supportingFilesRootURL = [NSURL URLWithString:@"/dir/for/aux/files/"];
RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil];

So that your /path/to/realm directory would be "pristine", just have the realm file(s), so that iTunes/Apple would be happy, while making sure the important auxiliary files are still available to Realm.

Not sure what you're confused about. I'm looking for a way to get rid of these 4 files from the iTunes shared dir. That's all I want :-)

Like I said earlier, those files are always created when opening a Realm, unless the Realm is only ever opened in read-only mode (i.e. RLMRealmConfiguration.readOnly set to YES).
They're also always created in the same directory as the main realm file, but it would be possible to support specifying a custom location for these files, as we've already considered in realm/realm-core#911, but subsequently closed.

Ok. I think your confusion comes from distinguishing .realm files from .lock etc. files. I don't distinguish that. I don't care -- to me these 4 files go together as "Realm database". I don't know which of these Apple doesn't like, so I just want all 4 of them to disappear from a shared folder.
Now I gave you the snippet which I showed. It didn't work for me.
So now I'm using yours:
- (RLMRealm *) privDataStore {
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    config.fileURL = [NSURL<EMAIL_ADDRESS>    [RLMRealmConfiguration setDefaultConfiguration:config]; // just in case
    return [RLMRealm realmWithConfiguration:config error:nil];
}

(I've changed the<EMAIL_ADDRESS>to fileURLWithPath).
It doesn't seem to work. The files are sill visible in iTunes as if fileURL was getting ignored.
Reading Realm source code now...

If you've opened the Realm prior to setting this file URL in the configuration, then the files from the previous access will still exist.

Bingo. That's the issue. I have Realm migration handling code run early in the app startup, and it was initialising the Realm files 1st time. Now I've fixed it, and it seems like our code works!
I have:
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *appSupportDirPath = [paths firstObject];
NSString *realmPath = [appSupportDirPath<EMAIL_ADDRESS>config.fileURL = [NSURL fileURLWithPath:realmPath];
[RLMRealmConfiguration setDefaultConfiguration:config];

Realm files are gone. The BZip'ed JSON files are my data files.
Should we put a note in Realm guide on default location of the database being in conflict with UIFileSharingEnabled ?

Can you instead just hide the file(s) you don't want to display in iTunes using NSURLIsHiddenKey?

Unfortunately, iTunes appears to ignore NSURLIsHiddenKey, and setting a file as hidden using chflags("path", UF_HIDDEN) also doesn't have any effect.

@jpsim Should we document somehow that UIFileSharingEnabled collides with default Realm settings ?

Since that's true of anything stored in Documents, and not unique to Realm, I don't think it warrants a mention in the docs. This is the first time anyone's ever brought this to our attention, so I doubt this is a common occurence.

Ok. Maybe the UIFileSharingEnabled isn't as popular as I expected.

Well, this thread has certainly saved me some precious time. Not a common occurrence, but it surely does clash with built-in functionality of UIFileSharingEnabled, so I suppose a paragraph in docs wouldn't hurt either.

I have the same issue. And i do this:
`        var config = Realm.Configuration(
schemaVersion: 5,
migrationBlock: { migration, oldSchemaVersion in
            if oldSchemaVersion <5 {
                // do something
            }
        }
    )
    if let dataDir = Path.myDataDir() {
        if Path.createDirIfNeed(at: dataDir) {
            config.fileURL = dataDir
                .appendingPathComponent("\(UserInfo().userId).realm")
            Realm.Configuration.defaultConfiguration = config
        }
    }`

the four Realm files is still appear in iTunes

By default Realm should not be creating the database in the Documents directory, and if it does and needs to be backed up then use a subfolder called 'realm' in the Documents directory.  The contents of which would not be visible to the user unless they copied the folder from iTunes. The correct default folder is "Library/Application Support" - well that is what Apple's Core Data defaults to.

I'm using RealmSwift, I'm trying to change default place for saving/creating realm files from Documents to Library/Application Support, works fine, but Realm continue create files in Documents directory too, and I have to remove it manually, is this issue, or I'm doing something wrong?
var realmConfig = Realm.Configuration.defaultConfiguration
        let paths = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory,
                                                        .userDomainMask,
                                                        true)
        let applicationSupportDirectoryPath = paths.first
        if let applicationSupportDirectoryPath = applicationSupportDirectoryPath {
            let  realmPath = applicationSupportDirectoryPath.appending("/default.realm")
            realmConfig.fileURL = URL(fileURLWithPath: realmPath)
            Realm.Configuration.defaultConfiguration = realmConfig
        }

i am getting crash like 'A Subscription can only be created in a Query-based Realm.'
Thanks in advanced.

This is a really big problem.I have trashed a lot of time because of this thing and the problem is still not resolved.I think it would be appropriate to do something in the next updates...

@sergstav did you find any solution? I am getting same error..

@invisible66 yes, I have a solution that allows me to pass review.
I use this code

@sergstav Thank you so much. You saved my day :)

@sergstav  i have used your code in ios14 version app get crash, the ream files [default.realm, default.realm.lock, default.realm.management, default.realm.note] if i delete means realm database not working getting crash

finally i got the solution
Please update xcode 12.5
Please use pod 'RealmSwift', '~> 10.5.0'
This 10.5 version only support unrealm concept
If enable UIFileSharing Enabled the files opening even the realm  auxiliary files downloading


Auto running even though the python program has stopped

First Thank you for this useful package!
My issue is not really a bug. I noticed that the solver keeps solving the recaptcha problem even when my python program has already ended. So is it running in the background or something. It is kind of creepy when I first encountered.
Thanks!

Hello,
Thank you for the kind words!
I don't believe it keeps running in the background, because there's no code in the package for it to behave like that.
What may be causing it is you not closing your web driver via Selenium's quit() method, which makes it so the web driver session is closed entirely and doesn't consume background resources.
Hope this clears it up.

Hi,
Yeah, that makes sense, I indeed didn't use quit().
I just encountered another situation. It seems like that after I used multiple times on a same website, it suddenly does not work, it can't even capture the iframe. If I replace a fresh cookie, it is usable again. It may be because I tried too many times during a short period and it will restore afterwards? Now, it just appears to me that after several uses it will be blocked by the recaptcha or something. Hope it can restore after hours?


HHH-9188 - Testcase for one-to-one jointable with selfjoin and table per class

https://hibernate.atlassian.net/browse/HHH-9188
Tried to implement a fix, but this requires touching so many parts that I gave up. One of the main problems as far as I understood is that the UnionSubclassEntityPersister doesn't implement support for secondary tables and using a join table apparently is like using a secondary table. The persister also wrongly thinks that the column against which to join for the join table reside on the tables of the table per class hierarchy.

Applied upstream, thanks


Change navbar color

Navbar should be in some main color to separate content from clickable actions (I think according to the visual book to match the best color scheme for the site). Changing background of site to more gray is considerable
Consider that the current logo is in SVG and with transparency - preferred conversion to WEBP with a white background or a background consistent with the visual book and good taste

Why not SVG?

My proposition: var(--chakra-colors-gray-50)

:tada: This issue has been resolved in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


What is the difference between this and the UFO framework?

What is the difference between this and the UFO framework?

From https://github.com/microsoft/UFO:

UFO UFO Image operates as a multi-agent framework, encompassing:
...
Both agents leverage the multi-modal capabilities of GPT-Vision to comprehend the application UI and fulfill the user's request. For more details, please consult our technical report and documentation.

One key difference is that UFO uses GPT4-V as the foundation model, while OmniParser is a foundation model on its own (and an open source one at that).
The other key difference is that OmniParser can directly predict accurate bounding boxes and descriptions from screenshot images, which GPT4-V can't do.

@abrichr  UFO support Qwen-VL-Max model，can I modify UFO code and using OmniParser model？


Fix small stuffs

This PR introduces couple of small, harmless tweaks/fixes as the title suggests.

@asterite any chances for swift merge?

@Sija right now I'm a bit rusty

@Sija Thanks!


Recursive TryValidate methods for deep object graphs

Is your feature request related to a problem? Please describe.
Recursive TryValidate methods for deep object graphs. This would be particularly helpful since EF Core does not provide data annotations validation like EF 6 and earlier.
Describe the solution you'd like
Methods like ControllerBase.TryDeepValidate, and System.ComponentModel.DataAnnotations.Validator.TryDeepValidate would both be helpful. ControllerBase.TryDeepValidate could utilize System.ComponentModel.DataAnnotations.Validator.TryDeepValidate.
Additional context
There are StackOverflow questions related to this:

Question with solutions that go back to pre-.NET Core: https://stackoverflow.com/questions/7663501/dataannotations-recursively-validating-an-entire-object-graph
The question I posted was specific to deep graph validation from a custom model binder: https://stackoverflow.com/questions/56914462/recursively-validating-a-complex-model-within-a-custom-model-binder

Thanks for contacting us, @jeremycook.
TryValidateModel in ASP.NET Core already does deep validation through the ObjectValidator: https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.Core/src/ControllerBase.cs#L2693

@mkArtakMSFT thank you but my experience does not match your statement when it comes to collections. I've tried using Controller.TryValidateModel(model, prefix), and fetched an IObjectModelValidator service and used that directly in the JsonModelBinder I mention in my StackOverflow question. In both cases the top-most properties are validated, but properties of items in collections are not validated.
Are collections not recursively validated?
Here is an example of what I am trying to validate.
public class Foo
{
    // Validation failure of this required attribute shows up in ModelState
    [Required]
    public string Id { get; set; }

    [Required]
    public List<Bar> Bars { get; set; } = new List<Bar>();
}

public abstract class Bar
{
    // Validation failure of this required attribute does not show up in ModelState
    [Required]
    public string Id { get; set; }
}

My use in the model binder mimics the ControllerBase code you linked to.
public Task BindModelAsync(ModelBindingContext bindingContext)
{
    try
    {
        var json = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).Values;
        if (json.Count > 0)
        {
            var model = JsonConvert.DeserializeObject(json, bindingContext.ModelType, settings);
            bindingContext.Result = ModelBindingResult.Success(model);

            var objectValidator = bindingContext?.HttpContext?.RequestServices?.GetRequiredService<IObjectModelValidator>();
            objectValidator?.Validate(bindingContext.ActionContext, bindingContext.ValidationState, bindingContext.ModelName, model);
            // ...

I get the same outcome whether I use Controller.TryValidate without validating in my JsonModelBinder, and when validating in the JsonModelBinder and not in the controller. In both cases values of top-level properties are validated but deeper objects are not.

@jeremycook thanks for the info. Please provide a minimalistic repro project, so we can investigate this easily.

Here's a repro. As I made it I discovered that this issue is not with collections but with subclasses of abstract classes.
https://github.com/jeremycook/DeepValidationRepro
The Index action of Home looks like this:

Viewing the page you see this, but you should also see (in my opinion) "The BarField field is required." messages.

The models are here:
https://github.com/jeremycook/DeepValidationRepro/tree/master/Models

Given I am using data annotation attributes and ApiControllerAttribute in a Web API Asp.NET Core app, are annotated properties of complex type validated recursively by default?

@paul-michalik Yes annotated properties of complex type validated recursively by default, BUT what I ran into is that properties of subclasses like in the repro I provided are not being validated. Changing the name of this issue to something more specific may be a good idea, but I'm leaving that to @mkArtakMSFT and team.

Thanks for the details, @jeremycook.
We'll look into this during our next milestone (preview 9).

This is a similar situation I ran into, except that my "Bar" isn't abstract. I need to check whether this makes a difference.

@paul-michalik After some more testing, subclasses appear to be the crux of the issue and not abstract classes. I misspoke.

Thanks @mkArtakMSFT. Any thoughts about this being back-ported to 2.x?

@jeremycook I debugged through the validation code and honestly I do not see why properties of sub-classed types aren't validated. My setup is even simpler, there's no collection of Bar I just got a property of type BarBase which has a run-time type of Bar.
@mkArtakMSFT How do I test the validation without running the whole MVC pipeline? Assuming a type hierarchy as in Jeremy's example, I'd expect the requirement for 'int? Id' beeing validated:
class Foo {
    [Required]
    BarBase Bar { get; set; }
}

class Bar : BarBase {
    [Required]
    int? Id { get; set; }
}

// later in a test case:
Assert.NoThrow(Validator.ValidateObject(new Foo() {
     Bar = new Bar { Id = 15 }
}, new ValidationContext()))

We won't be able to backport this to 2.x, and we will be handling this only after 3.0, as it seems there are more critical things lined up to be handled for 3.0.

@paul-michalik you're describing the behavior of the DataAnnotations Validator. Please file an issue in https://github.com/dotnet/corefx for questions or discussions about it.
@jeremycook I recently got around to documenting this - https://docs.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding?view=aspnetcore-3.0#polymorphic-model-binding, but MVC uses
a) the actual model type of parameters or top level models
b) the declared type of properties on the model unless model binding tells it's otherwise.
In the second case, model binding can update ValidationState to indicate the actual type of the model. This is useful in the abstract \ polymorphic binding case which is effectively what's happening in your sample. However, it doesn't work very well with TryValidateModel, since binding and validation occur independently of each other.
For 3.0 and earlier, you could consider using IObjectModelValidator which is what TryValidateModel uses under the covers: and pass in a appropriately configured ValidationStateDictionary.  For the next release, we're looking at ways to improve the experience around this scenario. We'll be using #13829 to track this work.


feat(MatSlider): Track should draw from zero mark when slider has a range from negative to positive

Feature Description
When a slider has a range from a negative to a positive (-45 to +45 as an example) the slider thumb can be centered at the zero mark but the track still gets drawn from the left side. The track should be drawn from the zero mark in each direction

I am currently using a directive to hack the slider to do this
@Directive({
  selector: 'mat-slider[ngxCenterOnZero]',
  standalone: true,
})
export class NgxCenterOnZeroDirective implements OnInit {
  #slider = inject(MatSlider, { self: true });

  ngOnInit(): void {
    this.#slider._updateTrackUI = (source: MatSliderThumb) => {
      // where is the zero value as a percentage on the rack
      const centerPercent = 0 - source.min / (source.max - source.min);
      const fillPercentage = source.fillPercentage - centerPercent;
      this.#slider._setTrackActiveStyles({
        left: `${centerPercent * 100}%`,
        right: 'auto',
        transformOrigin: 'left',
        transform: `scaleX(${fillPercentage})`,
      });
    };
  }
}

Use Case
Well, it would make the slider more useful and be a better user experience

@andrewalderson Could you provide a stackblitz reproduction of the issue? I failed to reproduce this locally
Here's a starter stackblitz
https://stackblitz.com/run?file=package.json

@wagnermaciel This isn't a bug, it is a feature request. There is nothing to reproduce but here is a Stackblitz anyways https://stackblitz.com/edit/krdwub?file=src%2Fexample%2Fslider-overview-example.html
If you set the min value of the slider to a negative number and the max value to a positive the zero mark will be between them but the active track always gets drawn from the left side.  For this configuration:
<mat-slider min="-45" max="45">
  <input matSliderThumb />
</mat-slider>

The track will get drawn from the -45 value. It should get drawn from the center point (where the zero value is) in each direction. If you look at the slider code you can see this
  private _updateTrackUINonRange(source: _MatSliderThumb): void {
    this._isRtl
      ? this._setTrackActiveStyles({
          left: 'auto',
          right: '0px',
          transformOrigin: 'right',
          transform: `scaleX(${1 - source.fillPercentage})`,
        })
      : this._setTrackActiveStyles({
          left: '0px',
          right: 'auto',
          transformOrigin: 'left',
          transform: `scaleX(${source.fillPercentage})`,
        });
  }

Always drawn from the left (or right for rtl) but it would be more informative if it was drawn from the center to the current position of the thumb in either direction.

Oh, sorry about that! I misunderstood completely. Thank you for clarifying
Unfortunately this custom behavior is not something we plan to support since it is not within the scope of what is described by the material design spec
https://m2.material.io/components/sliders
That said, I think your workaround is pretty solid. The only problem is that overriding _updateTrackUI is not a supported way to use our library so it can potentially be broken without warning by future changes. IMO for your use case it would probably be best to fork the slider code and apply your workaround directly so you don't need to worry about future updates to the slider breaking your component


Document that Choose File does not work with newer Firefox releases

Originally submitted to Google Code by @pekkaklarck on 4 May 2012

This keyword used to work but doesn't work anymore. Apparently something has changed in Firefox so that the simple approach used by the keyword doesn't work. There doesn't seem to be any easy way to fix the issue so the best we can do is documenting this.

Originally submitted to Google Code by @spooning on 4 May 2012

This issue was updated by revision 66d43e34030b.


No such widget `autosuggest-orig-history-substring-search-up'

When I use zsh-history-substring-search with the v0.1.x branch and try to browse the history on a empty input I get No such widget 'autosuggest-orig-history-substring-search-up' and can't go through the history. However it work as expected if the input as at least 1 character.
My setup is made of:

zsh 5.0.8,
termite 10,
antigen,
oh-my-zsh.

Have you read this note in the readme about history-substring-search?

Yes I used the snippet present in the README and placed it after the initialization of zsh-autosuggestions.
If you need to see my configuration it is here (note that I obviously tested it uncommented).

Try setting the env variables before calling autosuggest_start:
# *** Autosuggestion
# Didn't work for the moment, have to keep on eye on it
# https://github.com/tarruda/zsh-autosuggestions/
antigen bundle tarruda/zsh-autosuggestions --branch=v0.1.x

ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'

# Add history-substring-search-* widgets to list of widgets that clear the autosuggestion
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)
# Remove *-line-or-history widgets from list of widgets that clear the autosuggestion to avoid conflict with history-substring-search-* widgets
SH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")

autosuggest_start

I already tried, it has the same result.

Dang. Silly question: Have you been creating a new shell session each time you test it?

Yes, of course, I spawn a new terminal each time.

Hate to be the guy... but same here. Added the suggestion but still having the same issue.

I noticed this a few days ago on my laptop and couldn't be bothered to fix it so switched to fish for the meanwhile. Just updated this today on my desktop and am experiencing the same issue.
Here is the snippet of my .zshrc that when commented fixes the issue and disables the plugin.
source /usr/share/zsh/plugins/zsh-autosuggestions/autosuggestions.zsh
zle-line-init() {
    zle autosuggest-start
}
zle -N zle-line-init

Havit

Removing the history-substring-search oh-my-zsh plugin seems to fix the issue. Maybe that is to blame?

True. However, this disables all kinds of other completion commands which are quite helpful. I think I wait until this is fixed.

@frebib Actually history-substring-search from oh-my-zsh is zsh-history-substring-search which we know to cause this issue form the start.

+1, I am also having this issue

Can someone post a minimal zshrc configuration for reproducing this error?

After trying to write a minimal configuration to reproduce this issue and don't succeed at it. I have managed to fix the issue, on my side, after reading the README.md... I only had to initialize zsh-autosuggestions after zsh-syntax-highlighting as written here.
This is still strange to me as the message error refer to zsh-history-substring-search when it come from zsh-syntax-highlighting.
Can some one confirm this is working for them?

Can confirm I observe the same behaviour. (I think you mean before not after)
This is the snippet of my config:
source /usr/share/zsh/plugins/zsh-autosuggestions/autosuggestions.zsh
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)

zle-line-init() {
    zle autosuggest-start
}
zle -N zle-line-init
#plugins=(history-substring-search zsh-completions)

plugins=(... history-substring-search ...)
source $ZSH/oh-my-zsh.sh

It seems that the issue occurs even with this configuration when reloading the .zshrc config into an already loaded terminal but not in a new one.
Having the config like this is better than many error messages but it does have the bizarre side-effect of not updating highlighting as I type, but still updating with arrow keys, tab etc. I'm sure that's a different issue though

Small issue, but this line
source /usr/share/zsh/plugins/zsh-autosuggestions/autosuggestions.zsh
should now be
source /usr/share/zsh/plugins/zsh-autosuggestions/dist/autosuggestions.zsh

Also, using zle-line-init and the autosuggest-start widget is now deprecated. Just call autosuggest_start after sourcing the plugin. See the readme for more info.

@frebib Nice to see that it's fixed. I meant to say:

Call autosuggest_start after sourcing zsh-syntax-highlighting.

As mentioned in README.md.

While the initial error is now resolved the plugin now crashes my terminal window as soon as I enter a "space" after any command, i.e. "ping(space)".
I'm using iTerm2 and load all plugins with the zgen framework. Here is my setup:
In a .zgen file
source ~/.zsh/zsh-autosuggestions/dist/autosuggestions.zsh
zgen load zsh-users/zsh-syntax-highlighting

In .zshrc
ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")

ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)

autosuggest_start

Can you create a separate issue for this? I would bet it's unrelated to the
problem originally reported here.
On Sunday, February 7, 2016, Nitai<EMAIL_ADDRESS>wrote:

While the initial error is now resolved the plugin now crashes my terminal
window as soon as I enter a "space" after any command, i.e. "ping(space)".
I'm using iTerm2 and load all plugins with the zgen framework. Here is my
setup:
In a .zgen file
source ~/.zsh/zsh-autosuggestions/dist/autosuggestions.zsh
zgen load zsh-users/zsh-syntax-highlighting
In .zshrc
ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)
autosuggest_start
—
Reply to this email directly or view it on GitHub
https://github.com/tarruda/zsh-autosuggestions/issues/103#issuecomment-181058588
.

--
Sent from my iPhone

Done, created as #107


GitHub Workflow File and PR edits

New Workflow File, and shortened PR file with screenshots
Fix from #242

https://www.ncdc.noaa.gov/ seems to be unreachable right now and is affecting the link-checker. The broken links are not affected by this PR.


commonMain can't find any package from PreCompose but other modules can

I'm using the official compose multiplatforms template from JetBrains/compose-jb.
commonMain can't find any package from PreCompose, of course, including the classes, and Android Studio marks them red.
However, when I import moe.tlaster.* in desktopMain, it works.
After researching, I read this issue and speculate it may be because of how you publish this library not an issue of compose multiplatform.
Furthermore, your sample project is using  api(project(":precompose")), yes I can build and run it, so it doesn't meet this issue.
at common/build.gradle.kts
kotlin {
    android()
    jvm("desktop")

    sourceSets {
        named("commonMain") {
            dependencies {
                api(compose.runtime)
                api(compose.foundation)
                api(compose.material)
                // Needed only for preview.
                implementation(compose.preview)
                api("moe.tlaster:precompose:1.1.5")
            }
        }
        named("androidMain") {
            dependencies {
                api("androidx.appcompat:appcompat:1.4.2")
                api("androidx.core:core-ktx:1.8.0")
            }
        }
    }
}

Thank you for the link you provided, I'm also facing the same issue but I'm just too busy to find out a solution. I will fix it this week.

Hi, could you please try version 1.2.1? It should fix this issue.

Closing as fixed


Unable to resolve module './basic/icon' ...

I have my project working on one machine and when I try to get it to run a different one I get the error:

Repo here:
https://github.com/ense-org/noteToSelf
Thanks in advance!

@jennykortina Did you check if the file exists with that path?

It does not exist, but why is it being looked for if it doesn't exist?  Also it works on my other computer

@jennykortina Try deleting your node_modules, npm install, restart your packager while build

@jennykortina Any updates?

Closing this due to inactivity.
Let us know if the above solution doesn't work.


Typo in deadline documentation

hey noticed a typo in the example here: https://github.com/SecondSonConsulting/Renew/wiki/Deployment-Strategies#deadline-mode
Currently says:
<key>Deadline</key>   <integer>30</key>
Should say (I think!):
<key>Deadline</key>   <integer>30</integer>

Yes, thank you so much for pointing it out, appreciate all the feedback and input keep it up.


OLM tests are flaking

The tests are flaking recently: https://github.com/kubernetes-sigs/security-profiles-operator/actions/workflows/olm_tests.yaml
We should look into them to see how to stabilize the runs.

I've started making things more robust in https://github.com/kubernetes-sigs/security-profiles-operator/pull/2274 and will continue until I get a passing run. 😅

@mhils do you think we can close this one now?

Yes, let's close this!


💅 UI Cleanup for Overview page

This cleans up a lot of the UI for the overview page:

Adjust open status badge
Remove icons from checkout buttons for a cleaner look
Update button padding and size
Added borders to help define areas
Restyled commits/comments/reviews
Added icon for commits
Shortened sha hash
Adjusted max-width so text is readable
Added extra padding to body for breathing room in small sizes

Before

After

cc @kieferrm

LGTM, thanks!


feat: support NOT operation when using trigger

What problem does this feature solve?
I would like to be able to say npx checkly trigger --tags=my-app --not-tags=under-development, in this example, this would select all tests with the tag of my-app, but exclude tests which are flagged as under-development.
This is partly a product of the way we deploy checkly at Auto Trader, but the app tag is always present for a given app, so I need a method of excluding under-development tests.
Context; we "trigger" and apps tests after the app, or tests for that app, get deployed to create a CICD flow.
How would you implement this feature?
As above

Hi @Stono,
Thanks for the suggestion! I took a look at the backend, and it seems that some changes would be needed there as well.
It might be better to integrate the proposed functionality of --not-tags with the existing --tags flag. Since multiple --tags flags are combined with OR, it may get a little confusing. For example:
npx checkly trigger --tags=one,two --tags=three,four --tags=five

The above currently translates to:
(one AND two) OR (three AND four) OR (five)

Now if you were to change one of the --tags to --not-tags, like this:
npx checkly trigger --tags=one,two --not-tags=three,four --tags=five

Now it's not quite clear if the behavior is:
(one AND two) OR (NOT three AND NOT four) OR (five)

Or:
((one AND two) OR (five)) AND (NOT three AND NOT four)

In either case, it will not be possible to achieve BOTH behaviors at the same time, because the operator is implied. So, you could only have tags AND NOT not-tags, or tags OR NOT not-tags depending on which option you chose at implementation time, but you would be unable to support both.
Therefore it might make more sense to simply use !tag with --tags to exclude a tag. Then you could do:
npx checkly trigger --tags=one,two --tags=three,!four,!five --tags=!six

To achieve a query like:
(one AND two) OR (three AND NOT four AND NOT five) OR (NOT six)

Effectively giving you access to both OR and AND.
However this implementation is only possible if no customer is currently using an actual tag with a ! prefix. I will ask someone to check later. Side note: obviously the CLI currently does not work with tag values that contain a comma, so I suppose we don't have perfect matching capability even now.
Would you be OK with this alternate solution, and/or do you have any other comments? Also, how soon do you need this feature?


add scoop installation method to README.md

I added SophiApp to scoop.sh

Thank you! I'll need to edit every readme,md. :)

Thank you! I'll need to edit every readme,md. :)

You're welcome 😊

/verify

Silly me I forgot to add Scoop to this. Thanks
How to download SophiApp via PowerShell/Chocolatey/Scoop

@farag2 could you please reopen the pull request I made some edits to the Scoop section that are very important.

It cannot be reopened actually, but reverted. You'll have to open a new one. this is git...

and make any new changes to fix what you think should be fixed.

oh ok


Fixed test case cencSchemeTypeV18 failed

case:com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV18
Simplify the logic, the combination of timestamp and index determines whether it is a duplicate frame.
Tracked-On: OAM-118988

Dependent pr program name is not compatable this pr's program name, for more details please check tracked_on


Add -UseBasicParsing option to download commands

When following these instructions on a fresh installation of TP5, I encounter an error: "invoke-webrequest : The response content cannot be parsed because the Internet Explorer engine is not available..." Adding -UseBasicParsing avoids trying to use IE.

Thank you :)


Implement support for italics

Adds a configuration option for displaying information with the italics style.
Fixes #146
Before:

After (configured example_variable to use italic instead of underline):

Thank you for contributing, this looks good! :rocket:
Could you add an integration test that checks that italic styling works (or enhance one of the styling tests to style something as italic too)? It should be as easy as picking something in the test config.toml to be rendered as italic and updating the expected results

Sorry for the late reply, will add this when I have some time :)

Well that was easy :P

looks good to me @dbrgn


CVE-2021-44228 detection

The tool doesn't detect jar files with CVE-2021-44228.
Is it supposed to detect this CVE or only CVE-2021-45046 and CVE-2021-45105?

As all versions affected by CVE-2021-44228 are also affected by CVE-2021-45046 the output is not currently distinguishing this, but all versions affected by that CVE that the tool can detect will be reported.
We can look at updating the exact language used to flag this CVE number as well, but note that the actual jars flagged wouldn't change if this happened - it would simply be the case that we'd report both CVE-2021-44228 and CVE-2021-45046 for versions up to 2.15.0 while at the moment we simply list the latter.

When https://github.com/palantir/log4j-sniffer/pull/54 is released it will include CVE-2021-44228 in the output when relevant versions are found. If you're not currently getting a hit for CVE-2021-45046 on a jar you have note this doesn't change the detections and so it won't start being picked up.


[Parse Error] - Primed Quiver

V0.0.12
Error text

For some reason this item's stats did not parse.
It likely has a mod that is not supported yet.
(Potentially new or changed wording from poe1)

Item Text
Rarity: Rare
Dire Stinger
Primed Quiver
--------
Requirements:
Level: 51
--------
Item Level: 66
--------
8% increased Attack Speed (implicit)
--------
Adds 2 to 49 Lightning damage to Attacks
+377 to Accuracy Rating
+2 to Level of all Projectile Skills
--------
Can only be equipped if you are wielding a Bow.

Should be fixed now in latest


Allow passing options to views as per the django.contrib.auth.views equivalents

As far as I can see, you can't currently do things like setting a custom email template for password resets. With the standard django view, this can be achieved by passing options to the view.
Could a similar API be exposed for django rest auth's views?

@johtso You can simply override save method of PasswordResetSerializer and hook it up as custom serializer. Inside save method you have the possibility to set your own options.

Okay, I suppose that'll do, does feel like you have to dig a little deep for quite a common configuration though.


GSuiteReports App processes same event in multiple scheduled invocations

Background
The startTime that is passed to the activities API is set to the timestamp of the last event.
https://github.com/airbnb/streamalert/blob/a7eaa30516856e17303244fc99cb386be697e69f/stream_alert/apps/_apps/gsuite.py#L127-L132
But the response from the next call to the activity API includes that last event. The startTime must be inclusive.
https://developers.google.com/admin-sdk/reports/v1/reference/activities/list

startTime | string
Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from startTime until endTime. The startTime must be before the endTime (if specified) and the current time when the request is made, or the API returns an error.

Description
The startTime passed to the Google Reports API includes the last event already processed in the previous lambda execution.
Steps to Reproduce
Observed in the CloudWatch event logs for the GSuiteReports app:
/var/task/app_integrations/main.py:16: RuntimeWarning: Parent module 'app_integrations' not found while handling absolute import
from app_integrations.apps.app_base import StreamAlertApp
START RequestId: ... Version: 1
[INFO]	2018-08-05T01:39:20.841Z	...	Starting last timestamp set to: 2018-08-03T16:53:00.927Z
[INFO]	2018-08-05T01:39:21.119Z	...	App starting for service 'gsuite_admin'.
[INFO]	2018-08-05T01:39:21.119Z	...	App executing as a successive invocation: False
[INFO]	2018-08-05T01:39:22.873Z	...	Starting batch send of 1 logs to the rule processor
[INFO]	2018-08-05T01:39:23.191Z	...	Sent 1 logs to 'PREFIX_CLUSTER_streamalert_rule_processor' with Lambda request ID '...'
[INFO]	2018-08-05T01:39:23.193Z	...	Gather process for 'gsuite_admin' executed in 1.884724 seconds.
[INFO]	2018-08-05T01:39:23.197Z	...	Lambda remaining seconds: 114.62
[INFO]	2018-08-05T01:39:23.197Z	...	Lambda remaining seconds: 114.62
[ERROR]	2018-08-05T01:39:23.197Z	...	Ending last timestamp is the same as the beginning last timestamp. This could occur if there were no logs collected for this execution.
[INFO]	2018-08-05T01:39:23.197Z	...	App complete for service 'gsuite_admin'. Gathered 1 logs in 1 polls.
END RequestId: ...
REPORT RequestId: ...	Duration: 5505.05 ms	Billed Duration: 5600 ms Memory Size: 128 MB	Max Memory Used: 66 MB

Notice the last time stamp on the 3rd of August, even though the log is from the 5th of August. And there was 1 log sent to the rule_processing lambda. I observed this same log at every scheduled invocation where there were no new events.
Desired Change
We could increment _last_event_timestamp by one millisecond, or exclude the last seen report id. What would happen if multiple events occurred on the same millisecond?

After thinking about it, incrementing _last_event_timestamp is not a good solution. For example, if there are 15 events on the same millisecond, but in the first batch we only received the first 5. Then in the second batch we could expect the next 10 events with the same timestamp.

@stoggi so what's the desired outcome here do you think? from what I've seen, it's very rare to have events at the exact same ms, but I could be wrong

@ryandeivert I'm not sure exactly. We could store the last n event ids, and de-duplicate them.
It's not really clear what their API does with the timestamps. According to the docs they only specify in seconds:
https://developers.google.com/admin-sdk/reports/v1/reference/activities/list

items[].id.time | datetime
Time of occurrence of the activity. This is in UNIX epoch time in seconds.

It must be fractional seconds, but to what precision? RFC3339 also doesn't specify fractional precision https://www.ietf.org/rfc/rfc3339.txt for the format 2010-10-28T10:26:35.000Z
I had a go at incrementing the timestamp, and ended up with something like this:
if not self._next_page_token:
    # Increment the last event time by one millisecond to exlcude it from the next poll
    last_event_time = datetime.strptime(activities[0]['id']['time'], self.date_formatter())
    last_event_time += timedelta(milliseconds=1)
    self._last_timestamp = last_event_time.strftime(self.date_formatter())
    LOGGER.debug('Caching last timestamp: %s', self._last_timestamp)

I also had to modify date_formatter() to add %.f:
@classmethod
def date_formatter(cls):
    """Return a format string for a date, ie: 2010-10-28T10:26:35.000Z"""
    return '%Y-%m-%dT%H:%M:%S.%fZ'

Python actually uses microseconds for %f so you end up with 2010-10-28T10:26:35.000000Z
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

@stoggi are you having success with the incrementing approach you've listed? I have been able to verify the issue but not test the fix you've outlined. I have this 'in progress' now but haven't really moved with it - would you like to contribute the fix? if so, I can reassign

Awesome, thank you!! I like the idea of sorta de-duping, but the current implementation doesn't easily allow for storing arbitrary state info. I'm open to ideas to support this as well, if you're up for it! The current state object will always be:
{
    "current_state": "...",
    "last_timestamp": "..."
{

and is saved as json, performed here:
https://github.com/airbnb/streamalert/blob/master/stream_alert/apps/config.py#L275-L278
Theoretically we could add a third top level key of custom_state or something similar to dump a custom state object to... thoughts?


Bug: package.json import results in no-missing-import

Environment
Node version:  20.14.0
npm version: 10.7.0
ESLint version: 8.57.0
eslint-plugin-n version: >=17.5.0
What rule do you want to report?
n/no-missing-import
Link to Minimal Reproducible Example
https://github.com/dotcore64/chai-ip/pull/242
What did you expect to happen?
When package.json contains:
  "imports": {
    "#is-ip": {
      "node": "net",
      "browser": "is-ip"
    }
  },

and I import { isIP } from "#is-ip", the rule should pass
Participation

[ ] I am willing to submit a pull request for this issue.

Additional comments
This regression started in 17.5.0, so probably by this PR

Thank you for the report, I will look later today!

This looks to be related to these:
https://github.com/webpack/enhanced-resolve/issues/303
https://github.com/webpack/enhanced-resolve/issues/310
I think the simplest solution would be a plugin that resolves the node modules to stubs, but it's a tough one.

Hm... Just curious, those are really old issues, but this regression is very recent?
As for resolving, would this be useful?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta/resolve

I would love to use import.meta.resolve, but we support node ^18.18.0, in fact, as soon as we can use it, we will use it!

might be worth it to fallback to the polyfill in the meantime? https://github.com/wooorm/import-meta-resolve


fix(api): Improved API Request Handling and Auth

This pull request refactors the API handling by removing request classes and delegating the responsibility to setup scripts. It introduces a new "useFetch" Composable for standardized API requests, response handling, and exception management.
Additionally, the authentication middleware, API processing, and response adherence have been improved for better security and reliability.

When the immediate flag is set to false in the useAsyncState function, the first parameter should be surrounded by an async () => await expression. Otherwise, the error may not be caught even if the error or onError functions are defined. This can potentially lead to server crashes. 😅😅
// ~/components/ProfileCard
const {
  state,
  isLoading,
  error,
  execute,
} = useAsyncState(
  async () => await useMyFetch<boolean>(`/user/follow?id=${props.user.id}`), // here
  null,
  { immediate: false },
)

Well, useAsyncState is in vueuse. In Nuxt, we should use useAsyncData instead.😓


Factory and test

Related issue

#60 and #61

Proposed changes

Add a simple static stub web server for testing
Update the factory pattern in order to inject the stub webServer
Add automated tests for the CarSelect page

Apparently there is an issue with Travis and instrumented test when we need to verify the popup window text. We were forced to comment out test_case 3 in CarSelect test in order to build and run the tests in Travis. The test runs fine and passes when you run it on local emulator. There is an issue with the way Travis treats pop-up windows in relationship with the root screen. The test needs to be rewritten or we need to find a solution for the Travis set-up.

First of all, I could also verify that indeed the tests pass perfectly fine locally. I even changed the emulator using the armeabi-v7a Instruction Set, with the tests still passing.
Secondly, do we actually need to include inRoot(RootMatchers.isPlatformPopup()) in line 120 of CarSelectTest that obviously is the root of the problem (in Travis side at least)? Because I tested it without it and it passes the TravisCI check in a private repository. I don't think that it affects entirely the logic of the test, so that might be a worth-looking workaround?
Lastly, while giving it more time to test how to circumvent that issue, I tried to alter .travis.yml file and re-run the tests based on the following changes (among other configuration changes as well), adding them at before_screen section, without any luck:
  - adb shell settings put global window_animation_scale 0 &
  - adb shell settings put global transition_animation_scale 0 &
  - adb shell settings put global animator_duration_scale 0 &

So, all in all, in order to not having them commented out, basically we could change the aforementioned line to that: onView(withId(R.id.infoPopup)).check(matches(isDisplayed()));

Yes I agree that will not change the verification in the pop-up. Can you commit the updated test?

Alright, the TravisCI check has passed without any errors, but since I commited last and in order to be inline with the logic of reviews, it would be wiser either someone else to approve it, or just comment if you agree with the last commit so I can approve it.


Add packet page mrc 4282

This PR adds parameters widget to packet view. Implementation contains creation of /packets/{id} endpoint and consumed in frontend. When a user clicks packet name from packet runner page, the selected packet will be displayed on packet runner page. However, when a user clicks on packet runner from the sidebar, if a selected packetId is in the state, the selected packet will be displayed hence first packets will be displayed.

Mock up now added to YT

I have made changes to the structure, the app now uses react router.
To:do

Fix optional and render error nicely
Get real data from outback server.

It would be good to get some e2e tests in soon.

I agree, ticket added https://mrc-ide.myjetbrains.com/youtrack/issue/mrc-4333/Add-e2e-tests


New packages: libimobiledevice, getopt, readline

This PR adds packages for working with iOS devices from C. They are all part of the libimobiledevice project:

libplist: A library to handle Apple Property List format in binary or XML
libusbmuxd: A client library to multiplex connections from and to iOS devices
libimobiledevice: A cross-platform protocol library to communicate with iOS devices
ideviceinstaller: Manage apps of iOS devices
libirecovery: Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux
libideviceactivation: A library to handle the activation process of iOS devices
usbmuxd: A socket daemon to multiplex connections from and to iOS devices
idevicerestore: Restore/upgrade firmware of iOS devices

Because some packages depend on packages which were not yet available, these packages have been added as well:

getopt
readline (from GnuWin32)

@alexkaratarakis @ras0219-msft Can you let me know whether you need anything else to get this port merged into vcpkg? Thanks!

@ras0219-msft ping - what's the process to get this PR merged?

Thanks for the PR and sorry for such a long delay!


Plans to use crates.io versioning?

Question
Are there plans to support crates.io versioning here so that this project can issue a compatible versioned release too? There are new projects integrating in the Polkadot ecosystem relying on crates.io versions now and they're incompatible with chains using git links.

There was an attempt at PR https://github.com/polkadot-evm/frontier/pull/1241. So feel free to submit a PR to make changes.

I agree with the need for better compatibility with crates.io versioning, and I’d like to address this issue. However, there are a few considerations to take into account.
If we switch the master branch to depend on crates.io Substrate, all downstream projects using Frontier will also need to change their Substrate dependencies to align with crates.io. To avoid disrupting existing projects, we could manage a separate branch, such as stable2409, which exclusively uses crates.io Substrate for now.
Additionally, I’m in favor of publishing Frontier packages to crates.io. If we move forward with this, we’ll need to establish a clear versioning policy for Frontier packages to ensure consistency and ease of integration.

To avoid disrupting existing projects, we could manage a separate branch, such as stable2409, which exclusively uses crates.io Substrate for now.

I agree with this solution. What blocks us is that there are some test crates that Frontier relies on from the Polkadot SDK, but they are not published. As far as I know, it seems Parity doesn't want to release those crates. So, we may need to refactor or rewrite the test code in Frontier to remove these dependencies.


Dynamically determine context window at runtime

Would be great if the /api/tags local API endpoint could return models context length as well.
Is this your issue subject, or should I open a dedicated issue for this ?