Rhymen look pl !!!

Rhymen look pl, my english is bad, this dude (https://github.com/beshoo) can't figure out the code and closes pl !!!
here is the pl itself https://github.com/Rhymen/go-whatsapp/pull/512

Thanks for the feedback, l just closed the first PL since it is not organized, you closed the second one..
Thats for the record.
More over, l do understand what is the modification, but l can not see how it is a security problem and where is the panic report that code claims to address.
Thank you for your PL.
Regard

Thanks for the feedback, l just closed the first PL since it is not organized, you closed the second one..
Thats for the record.
More over, l do understand what is the modification, but l can not see how it is a security problem and where is the panic report that code claims to address.
Thank you for your PL.
Regard

Can't you see panic here?
var ch chan string
	if answerMessageTag != "" {
		ch = make(chan string, 1)

		wac.listener.Lock()
		wac.listener.m[answerMessageTag] = ch
		wac.listener.Unlock()
	}

	if wac == nil || wac.ws == nil {
		return nil, ErrInvalidWebsocket
	}

Can't you see panic here?
var ch chan string
	if answerMessageTag != "" {
		ch = make(chan string, 1)

		wac.listener.Lock()
		wac.listener.m[answerMessageTag] = ch
		wac.listener.Unlock()
	}

	if wac == nil || wac.ws == nil {
		return nil, ErrInvalidWebsocket
	}

https://github.com/Rhymen/go-whatsapp/blob/8029c28f5c5a82145e324af228ac64354f07b4e8/write.go#L125

https://github.com/Rhymen/go-whatsapp/blob/8029c28f5c5a82145e324af228ac64354f07b4e8/write.go#L125

safer use of api library  - I gave examples about it!
Here is my suggestion. Api will be safer, especially for novice programmers
in this case it will not be necessary to return the function before reading from the channel
go function(){

       chanRead, err := wac.Read(message.Info.RemoteJid, message.Info.Id)
        if err != nil {
            log.Println(err)
       }

        // there will be no blocking even with this error !
        <-chanRead

}()

in the current implementation with explicit nil
go function(){

       chanRead, err := wac.Read(message.Info.RemoteJid, message.Info.Id)
        if err != nil {
            log.Println(err)
       }

        // nil channel leading to eternal blocking in case of programmer error !
        <-chanRead

}()

safer use of api library  - I gave examples about it!
Here is my suggestion. Api will be safer, especially for novice programmers
in this case it will not be necessary to return the function before reading from the channel
go function(){

       chanRead, err := wac.Read(message.Info.RemoteJid, message.Info.Id)
        if err != nil {
            log.Println(err)
       }

        // there will be no blocking even with this error !
        <-chanRead

}()

in the current implementation with explicit nil
go function(){

       chanRead, err := wac.Read(message.Info.RemoteJid, message.Info.Id)
        if err != nil {
            log.Println(err)
       }

        // nil channel leading to eternal blocking in case of programmer error !
        <-chanRead

}()

beshoo what do not you understand ?

beshoo what do not you understand ?

I'm sorry, I accidentally closed it, I don't know how it happened, I thought about you

I'm sorry, I accidentally closed it, I don't know how it happened, I thought about you

@Rhymen I just reopened PR. Please review changes.

@Rhymen I just reopened PR. Please review changes.


Unable to use MeasureVolume and SetVolume

I copied the progress bar and i coded it from that but it is not working. I know the functions exists as it works on SpotiPlayer skin, but I am trying to add that function in the Monstercat-Visualizer skin, please can anyone help me?

Please fill in additional info on what exactly you want to accomplish so i can help you with troubleshooting.


Check links in documentation as part of build

This automates the check link step in https://github.com/eclipse-kuksa/kuksa-databroker/wiki/Release-Process. It will check links on every pull request. Previously we just tested it manually before doing a release.
If this is merged we should update the wiki.
(Note - still in draft - checking if we possibly should add this to kuksa-action instead)

Add temporarily a commit with a failing link

The underlying framework currently only "understands" mark-down files and just takes links, so not for examples in code snippets.
Checking other file types could be more difficult - how do we know if a URL is supposed to work in a public environment.

When I ran through the release steps I also find this command here:
find . -name \*.md -print0 | xargs -0 -n1 markdown-link-check and it found a lot more:
FILE: ./README.md
  27 links checked.

  ERROR: 6 dead links found!
  [✖] https://github.com/github_username/repo_name → Status: 404
  [✖] https://github.com/eclipse-kuksa/kuksa-databrokerissues → Status: 404
  [✖] #built-with → Status: 404
  [✖] #installation → Status: 404
  [✖] #roadmap → Status: 404
  [✖] #readme-top → Status: 404
(node:40710) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/user_guide.md
  22 links checked.

  ERROR: 3 dead links found!
  [✖] #enabling-tLS → Status: 404
  [✖] #top → Status: 404
  [✖] http://<IP_ADDRESS>:55555 → Status: 0
(node:40714) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/authorization.md
  44 links checked.

  ERROR: 1 dead links found!
  [✖] #jwt-access-token → Status: 404
(node:40722) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/system-architecture.md
  ERROR: 2 dead links found!
  [✖] https://github.com/eclipse/kuksa.val.feeders/tree/main/dbc2val → Status: 404
  [✖] https://github.com/eclipse/kuksa.val.feeders/tree/main/someip2val → Status: 404
(node:40724) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/terminology.md
  27 links checked.

  ERROR: 2 dead links found!
  [✖] #vehicle-signal-specification-vss → Status: 404
  [✖] https://covesa.github.io/vehicle_signal_specification/rule_set/data_entry/data_unit_types/ → Status: 404
(node:40734) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/QUERY.md
  16 links checked.

  ERROR: 4 dead links found!
  [✖] #121-time--conceptual-row-view → Status: 404
  [✖] #13-subscribing-to-multiple-data-points--signals → Status: 404
  [✖] #211-time--conceptual-row-view → Status: 404
  [✖] #221-time--conceptual-row-view → Status: 404
(node:40738) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./doc/deployment.md
  17 links checked.

  ERROR: 1 dead links found!
  [✖] #mixing → Status: 404
(node:40740) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

FILE: ./data/vss-core/README.md
  16 links checked.

  ERROR: 5 dead links found!
  [✖] https://github.com/eclipse/kuksa.val.feeders/blob/main/dbc2val/mapping/mapping.md → Status: 404
  [✖] https://github.com/eclipse/kuksa.val.feeders/blob/main/dds2val/ddsproviderlib/idls/generate_py_dataclass.sh → Status: 404
  [✖] https://github.com/eclipse/kuksa.val.feeders/blob/main/dbc2val/Readme.md → Status: 404
  [✖] httpts://github.com/eclipse/kuksa.val.feeders/blob/main/dbc2val/candump.log → Status: 404
  [✖] https://github.com/eclipse/kuksa.val.feeders/blob/main/dbc2val/mapping → Status: 404

Not all of them are useful, as some of them are just anchors which have no anchor point. I tried fixing the "sane" errors, find the patch attached:
kuksa-databroker-11-38-36.patch
Maybe it helps you, but I would still expect the task to run with a few of those?

I do not really remember why we (i.e. I) excluded 404 errors once upon a time. Will check it out

Result of analysis:
[...]
* I suggest for now - until markdown-link-check is stable - that we accept 404 errors to not fail CI, but state that a manual check of 404 should happen as part of release

Sounds reasonable to me, let's do it this way, having any check is better than none at all

I think this one is good to go now. I created an issue at https://github.com/eclipse-kuksa/kuksa-actions/issues/10 to follow up on how we could include 404 errors as well

Seems useful, but needs rebase @wba2hi

@SebastianSchildt - I did a rebase. There were actually no conflicts, not even the same files are changed. To me it seems that the defautl setup has changed so that it propose rebase always, which in one way is good.


Support Deployment for serving most cases

We support lws as the default workload, however, most of the cases mutli-hosts is not needed, even with Llama3.1 405B. So maybe this is a better choice.

/kind feature

The most related part is the API design.

/milestone v0.1.0

/priority important-soon

However, this leads to the complexities of workload orchestrations.

Let's give it up for now since the complexities.
/milestone clear

/priority backlog

/remove-priority important-soon

/kind question
/remove-kind feature


feat(ts/analyzer): primitive literal & enum variant is never

Description:
enum Some{
  a = "Asdf",
  b = "asdff",
  c = 1,
  d
};
type Result =  Some.a & "Asdf";

Result shoule be never

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: sunrabbit123:x: kodiakhq[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


best way to develop 'snap onto place' functionality?

Say I have a gameboard, and I want to place pieces onto the board, and when I release a piece I am holding over the board it will snap closest possible position it can. What's the best way to do that?
I already have this set up for raycasting from mouse cursor and from a laser-controls cursor and from a gamepad, so I have code to work with.
My current thoughts are to somehow have a raycast projecting down towards the ground out of the piece I'm holding, and treat that as a kind of cursor.
Any other technique that makes more sense here that I don't know of? Or is that a good way to approach it?

@quinn-madson solved this recently for our immersive web chase game, Virtual Reign (part of https://immers.space) - with a case as simple as a game board, you can just calculate the appropriate square from the x/z offsets.
https://github.com/immers-space/hubs/blob/vreign/src/components/chess-board.js#L595-L608
In the context of super-hands, create a component that listens for grab-end and then trigger the math (but don't consume/cancel the grab-end event, leave it for grabbable to consume so that the grab is released)

@quinn-madson solved this recently for our immersive web chase game, Virtual Reign (part of https://immers.space) - with a case as simple as a game board, you can just calculate the appropriate square from the x/z offsets.
https://github.com/immers-space/hubs/blob/vreign/src/components/chess-board.js#L595-L608
In the context of super-hands, create a component that listens for grab-end and then trigger the math (but don't consume/cancel the grab-end event, leave it for grabbable to consume so that the grab is released)

What I mean is, I already have code that calculates x/z offsets from a raycast position hover and move selection on click if it matches the hover (so no surprise last second changes). What I'm unclear about is how I should substitute the raycast. I guess I could actually count the world position of the held stone itself and transpose that to a world position of the board, is what you're saying (right? anyways, seems like the right idea), but I also need a new 'hover trigger'--a bounding box or something that when crossed indicates that the piece is close enough to the board that I should trigger this hover calculation on tick behavior.
This library already does things similar to that. I suppose I'm just new to collision detection, but that's basically what I'm describing. I just need the collision to not cause physics, similar to what already is done with your phase-shift component in your demo.
I think that's pretty much it, right? Set a non-physics collision detection, set the colliding detection bounding box to be a somewhat larger element so that holding stone over the board triggers the psuedo-collision to activate a hover, and the hover on tick is a calculation comparison of the world position of the held element itself transposed onto the placeable intersections.
Cool, I think I can take a stab at tackling this now. Thanks. :)

What I mean is, I already have code that calculates x/z offsets from a raycast position hover and move selection on click if it matches the hover (so no surprise last second changes). What I'm unclear about is how I should substitute the raycast. I guess I could actually count the world position of the held stone itself and transpose that to a world position of the board, is what you're saying (right? anyways, seems like the right idea), but I also need a new 'hover trigger'--a bounding box or something that when crossed indicates that the piece is close enough to the board that I should trigger this hover calculation on tick behavior.
This library already does things similar to that. I suppose I'm just new to collision detection, but that's basically what I'm describing. I just need the collision to not cause physics, similar to what already is done with your phase-shift component in your demo.
I think that's pretty much it, right? Set a non-physics collision detection, set the colliding detection bounding box to be a somewhat larger element so that holding stone over the board triggers the psuedo-collision to activate a hover, and the hover on tick is a calculation comparison of the world position of the held element itself transposed onto the placeable intersections.
Cool, I think I can take a stab at tackling this now. Thanks. :)


double click to edit token

It seems more natural to be able to double click on a token to edit it, rather than right click.

The idea is to open a context menu which is afaik opened with a right click on any platform I ever used.
But I can also understand the edit file name mentality.

FWIW -- I haven't been able to edit tokens using my iPad yet so I'm not sure if having a double-tap/click on some platforms and a right-click on others is a viable or efficient solution, but it would be a nice to have.

The counterpart on mobile would be a long press. Right now there is no official Tablet/mobile support for the DM section. However, this is something we want to change in the upcoming 1.11.0 version. Therefore I will add this issue to the milestone.
Right-click is the default for opening a menu (which is often replaced long-press on mobile).

Closed in v1.11.0, it is now possible to either use a right-click or a long press on the token for opening the edit menu.

Closed in v1.11.0, it is now possible to either use a right-click or a long press on the token for opening the edit menu.


[zero] is translated as [other]

Hi guys, I'm implementing a translation system in a React web app using typescript, react-18next and i18next-fluent. My problem is that in .ftl files just [one] and [other] options are considered. When I try to create an exception for 0 by specifying it in the .ftl file using [zero] or [0], the translation is the same as [other].
This is my i18n.ts file:
import i18n from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import { initReactI18next } from 'react-i18next';
import Fluent from 'i18next-fluent';
import Backend from 'i18next-fluent-backend';

i18n
  .use(Fluent)
  .use(Backend)
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    fallbackLng: 'en-US',

    ns: ['translations'],
    defaultNS: 'translations',

    debug: true,

    interpolation: {
      escapeValue: false,
    },

    react: {
      wait: true,
    },
  });

export default i18n;

And this is one example from the .ftl files:
emails =
  { $unreadEmails ->
    [zero] You have no unread emails.
    [one] You have one unread email.
    *[other] You have { $unreadEmails } unread emails.
}

App.tsx is rendered using withTranslation HOC:
const App = withTranslation('translations')(InitialApp);
export default App;

Is this a sort of bug or should I configure zero as an exception?
And how could I manage intervals? For example I want numbers between 2 and 10 managed as [few]. Thanks in advance

Looking at the fluent docs having [zero] should be possible: https://projectfluent.org/fluent/guide/selectors.html
but wondering...we this not on our side - we just reuse the fluentBundle from fluent itself: https://github.com/i18next/i18next-fluent/blob/master/src/index.js#L105

but yes the test does not include test for zero...https://github.com/i18next/i18next-fluent/blob/master/test/fuent.spec.js#L7
so it might not work...if you like to digg deeper you might give it a go - else i will take a look sooner or later -> coming from i18next syntax this module has not my highest prio to be honest

Thank you! Do you have any advice if I decide to "fix" this? Which files should I look into?

guess would be here: https://github.com/i18next/i18next-fluent/blob/master/src/index.js#L97

Just added tests and checked the docs again:
it's not [zero] but [0] in fluent: https://projectfluent.org/fluent/guide/functions.html -> NUMBER

https://github.com/i18next/i18next-fluent/commit/3a3cf620779730719b4f2c5770e5bba83ed7eb26#diff-2d73fc47841177811b8884c7c5e495cfR7

I tried both with [0] and [zero] and I get the same result

The test does not fail...https://github.com/i18next/i18next-fluent/blob/master/test/fuent.spec.js#L86

I know, I tried it, maybe it's something with some other library

@Cesco9525 I see nothing I could do from here - seems to work -> you will need to digg into it yourself finding the difference in your code.

Turns out that [0] becomes [undefined], this is one log:
emails: "{ $unreadEmails ->
  [undefined] You have no unread emails.
  [one] You have one unread email.
 *[other] You have { $unreadEmails } unread emails.
}"

Sorry can't follow...when you call i18next.t('emails', { unreadEmails: 0 }) 0 gets converted to undefined ?

Yes, as you've seen it was an issue with fluent_conv, thanks for your support!

@Cesco9525 you mean the PR? was merged and<EMAIL_ADDRESS>should also contain that

Yes, I just updated my dependencies ;)


How to hide error on current editing line?

:)

Sorry, you can't.
Though, If a new setting is something you are interested in contributing, feel free.


prepend 0x to opcodes codes

The opcode numbers are in hex, but the UI doesn't display them as such. This fixes that.
Before:

After:

(this is not ready yet - broke seeing details of opcodes :( )

I see. That's fair. One thing that we didn't want to change is to make sure that existing URLs will still work.
I'd argue that this change is still good, as the number "55" means nothing without the "0x" prefix, but I can look into improving it -- ideally: 1) make searching for 0x55 work, and, 2) ideally, make new links have 0x prefix, while having existing links still work.

I see. That's fair. One thing that we didn't want to change is to make sure that existing URLs will still work. I'd argue that this change is still good, as the number "55" means nothing without the "0x" prefix, but I can look into improving it -- ideally: 1) make searching for 0x55 work, and, 2) ideally, make new links have 0x prefix, while having existing links still work.

Yes if you do it that way that would be fine.

closing this PR as I'm not planning to get back to it anytime soon


3000 page limit on OCRing mulitpage tiffs

Teseract 3.04 - Was trying to command line OCR a 9206 multi-page tiff document on Mac OS 10.11, but it stops at page 3000.  Turns out opencl/openclwrapper.cpp line 93 (static const l_int32 MAX_PAGES_IN_TIFF_FILE = 3000;) specifically limits OCRing Tiffs to 3000 pages.  This const appears to only control the bounds of a for loop, so maybe this variable should be more dynamic and be based on the number of pages the input Tiff has instead?  just a thought.

Weird. Let's get rid of that limit.

@dbloomberg

Sorry about that.
Removed the 3000 page restriction on multipage tiff files.  There are now no limits, and this is pushed to the leptonica master: https://github.com/danbloomberg/leptonica

https://github.com/DanBloomberg/leptonica/commit/fd65f6b374f4e63ee55ff90a8524bee4a4381b18
Same change needed in opencl/openclwrapper.cpp (alternative: kill OpenCL/TIFF entirely)

Only relevant to 3.05.

yeah, I might have a make my own custom build of 3.04.01 with the change to openclwrapper.cpp.

@bstace Are you getting any benefit from the OpenCL? Is it faster? How much faster?

@jbreiden I would think it's faster with it on, but haven't tested it.  Kinda new to tess - is there a way to easily turn it off to see?

@zdenop, please close this issue.


HMS-3162: tests: run basic integration test on macOS too

This is mostly here to show that the GH macos  runners can do a basic darwin (x86 though) test [0] (and that it works with the right podman setup) and as a starting point for discussion with the podman team (see below).
It's (very) quirky right now and I will probably need some help from the podman team around the issues that arise from sharing a folder on macOS between (macOS) host and the container. The second commit is the relevant one, the PR is build on top of https://github.com/osbuild/bootc-image-builder/pull/24
[0] A arm64 test can be added via AWS or via the macos-13-xlarge runners

Closin in favor of #75


fix modules concatenation with importModule usage

What kind of change does this PR introduce?
bugfix

Did you add tests for your changes?
yes

Does this PR introduce a breaking change?
no

What needs to be documented once your changes are merged?
nothing

Thasnk


[engsys] Allow min/max tests to use vitest config of the target package

Packages impacted by this PR
Issues associated with this PR
Resolves #30578
Describe the problem that is addressed by this PR
While simple settings like test-timeout and hook-timeout are often defined in package.json scripts, there are
other settings that are specified in the vitest.config.ts of the target package.
Our existing setup uses the default vitest template which does not work for libraries that use customized config.
This PR improves that experience by creating a 3-way-merge of:

The base config
The template config (which specifies the test patterns)
The package's config

Only done for node right now. If you need it for browser, you now have a path forward
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
There are some gotchas here:

testTimeout is defined in package.json which takes precedence over any config files I believe - it may be surprising that your testTimeout does not take
The package's config adds files under test/**/*.spec.ts to the include pattern. This is fine, because the min/max tests are placed under test/public so that pattern will not match anything

I really want to clean up min/max - but this is not the time

/azp run js - template - tests

Tested on template, see #31344


Flatten list

Adds the ability to include a list to be able to add multiple entities with one include

Something isnt right

Something isnt right

Fixed, was mostly just unused code I forgot to remove.

Thanks for another contribution!
I am having a hard time understanding what this does or why.
Would you be able to have a test or example?


Formatting issues

This is mainly due to my poor configuration of neovim and its formatter null-ls.

I’ll make sure to run go fmt ./… before every commit.


feat(bootstrap): custom gtag.js url

Allow users to customise gtag.js URL.
Fixes #167

Finally, so many strict checks and linters 😂

wow. thanks for your work but it seems like this getUrlOrigin is almost as long as the entire plugin itself ahahahahha
what about just going with a default domain value, as the gtag one, and then make it available for users to change it accordingly?

How about this one now?

:tada: This PR is included in version 1.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Refining module fails with --format and --require spec_helper on Ruby 2.7

Refining module fails with --format and --require spec_helper on Ruby 2.7
I am attempting to test that a refinement to a module works as expected, but the refinement is seemingly not activated when using rspec with the --format and --require options on Ruby 2.7.1.
Your environment
Failing

Ruby version: 2.7.1
rspec-core version: 3.9.2

Succeeding

Ruby version: 2.6.6
rspec-core version: 3.9.2

Succeeding

Ruby version 2.5.8
rspec-core version: rspec-core 3.9.2

Steps to reproduce
I apologize for not including a single executable that can be run with ruby; this bug manifests only when using --format and --require options and I don't know how include those rspec options using autorun as the report template suggests. If there's a way to get this into a single executable then please let me know!
These files describe a minimal example, here's a tarfile with this structure:
minimal_refinement_failure.tar.gz.
# file: .rspec

--format documentation
--require spec_helper

# file: refinement_bug.rb
module RefinementBug
  refine Enumerable do
    def refined_method
      puts "Called #refined_method"
    end
  end
end

# file: spec/spec_helper.rb
require_relative "../refinement_bug"

# file: spec/test.rb

require_relative "../refinement_bug"

using RefinementBug

puts "Using Ruby #{RUBY_VERSION}"
[].refined_method

To reproduce, either create these files manually or download that tar file and run tar -xzf minimal_refinement_failure.tar.gz, which will create these in a directory named minimal_refinement_failure.
Expected behavior
# This is output when running on ruby 2.6.6, and is expected.
~/minimal_refinement_failure> rspec spec/test.rb
Using Ruby 2.6.6
Called #refined_method
No examples found.

Finished in 0.0004 seconds (files took 0.08706 seconds to load)
0 examples, 0 failures

Actual behavior
# This is the output when running on ruby 2.7.1.
~/minimal_refinement_failure> rspec spec/test.rb
Using Ruby 2.7.1

An error occurred while loading ./spec/test.rb.
Failure/Error: [].refined_method

NoMethodError:
  undefined method `refined_method' for []:Array
# ./spec/test.rb:8:in `<top (required)>'
No examples found.

Finished in 0.00003 seconds (files took 0.12287 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

Changes to example that result in expected behavior
Doing any of the following results in the expected output when running on ruby 2.7:

Instead of refining Enumerable, refine Array directly. This suggests that it's an issue only with refining modules, not classes.
Removing the --require spec_helper from the .rspec file. (Or removing the require_relative "../refinement_bug" line from the spec_helper.rb file.) This suggests that it's an issue with how files are required by the spec helper, since requiring the file directly in the spec succeeds.
Removing the --format documentation from the .rspec file. I do not know why this would impact it, but it succeeds after doing this. (Notably, replacing with --format progress also causes a failure -- it seems like the presence of the --format flag causes the issue to manifest, rather than a specific value of --format.)

Output after doing any of the above:
~/minimal_refinement_failure> rspec spec/test.rb
Using Ruby 2.7.1
Called #refined_method
No examples found.

Finished in 0.00032 seconds (files took 0.06598 seconds to load)
0 examples, 0 failures

Ruby issue
Since it seems like this might involve an unintended change in behavior from ruby 2.6 to 2.7, ~I'll create an issue in the ruby bug tracker~ I created an issue in the ruby bug tracker here.
Let me know if I can provide any more information!

Wow, this would make an Interesting investigation.
Also changing refine Enumerable to refine Array makes the test pass.
--format progress also breaks the test.
I would say if it works in pre-2.7 and broke in 2.7, it's a Ruby bug. Don't think we're able to work this around.
Please post a link to a Ruby ticket.

This doesn't break if you just do ruby -r spec/spec_helper.rb spec/test.rb so I'd like to find out exactly how we break the refinement. We do have other workarounds for such Ruby features as the behaviour does change between versions.
So I'd like to keep this open until we've determined what, if anything we can do.

A quick update on this: after poking around a little more I was surprised to find that this works if I refine Kernel. So far the only case I've found where this breaks is refining Enumerable.
@pirj I just created a ruby ticket here! And thanks for reopening @JonRowe  -- this one is confusing and I'm not sure if it's a ruby issue or an rspec issue. The fact that bumping from ruby 2.6 to 2.7 causes this makes me think it's an underlying ruby issue, but the fact that removing the --format flag fixes this issue makes me think it's something with how rspec is handling the refinements.

Update! This is reproducible without rspec, and it's been determined that the reason rspec hits this error is that it requires "stringio" which includes Enumerable. Definitely an underlying ruby issue though.
Thank you for looking at this, I'll close it out in favor of the ruby issue.

Great, I suspected it'd be something along those lines, thanks for coming back and closing this!


Dark mode does not work properly on Firefox Developer Edition

Environment
https://nuxt.com/
Reproduction
Use Google and Firefox to open https://nuxt.com/, and you can find that the automatic recognition on Firefox is wrong, showing the dark mode

Describe the bug
firefox Developer Edition 131.0b5
And how to turn off dark mode?
I tried but it didn't work
colorMode: {
preference: 'light'
},
Additional context
No response
Logs
No response

Maybe the default color mode of nuxt ui is dark. You can check the nuxt-color-mode field in localstorage, delete it, and then refresh to see.

After deleting it, it returns to normal. How can I specify light directly?

Maybe the default color mode of nuxt ui is dark. You can check the nuxt-color-mode field in localstorage, delete it, and then refresh to see.

I tried it, but it didn't work.

Or you can give it a try.
colorMode: {
  preference: 'light',
  fallback: 'light',
}


Don't set Content-Length header for HTTP 204

According to RFC7230 (http://tools.ietf.org/html/rfc7230#section-3.3.2):
A server MUST NOT send a Content-Length header field in any response
   with a status code of 1xx (Informational) or 204 (No Content).

Hobbit is automatically generating the Content-Length header for all
responses in #finish, which results in invalid headers in the case of
empty responses. These will trigger Rack::Lint errors as well.
This modifies the definition of Hobbit::Response#finish to skip setting
the Content-Length header in the case of 1xx or 204 response codes.

Good catch. Thank you!


Add flag to disable cache

As reported by @w4-sjcho: I'd like to use git lint from CI server, where the build agent has no permissions to modify files under home dir.
It would be great to have an option to disable cache completely.

I'm using teamcity, where each agents run on docker containers under kubernetes.
We're currently working around the issue by making a separate launcher which overrides gitlint.utils.save_output_in_cache with a no-op function.

This would be a handy feature indeed.


mesheryctl makefile is not able to detect fedora/Linux of binary

Description
Currently makefile for mesheryctl is not able to detect Linux as user os and is creating binary for darwin.
Expected Behaviour
makefile should auto detect the OS and create binary accordingly.
Screenshots

Environment:

OS: Fedora Linux
Device: laptop

To Reproduce
Steps to reproduce the behavior:

Go to mesheryctl dir
run make
run the binary inside './bin/mesheryctl'
Additional Context
Related to PR

This issue is related to this PR - https://github.com/layer5io/meshery/pull/1003. @Aisuko may want to have a look here.

Thanks for report the issue. Actually, I'd like to let the developer make a decision on which platform as a target to build. But, It's ok to add auto-detection. I will deal with this.

@leecalcote I modified the multiple builds scripts and I saw the build scripts add by PR #1021 (So crazy with lots of files changed ha ). And I saw it work well for most situations.
https://github.com/layer5io/meshery/blob/b5f37c653c9d791fe1f7e30aee1cb2dc474ff48b/mesheryctl/Makefile#L1-L4


Health/Status ingest endpoint

Blueflood doesn't seem to have a good endpoint that ensures it's services are running correctly. Would it be possible to add a healthcheck endpoint to blueflood that returns a 200 and tells which services are active?

Hi @jtlisi - At Rackspace, we currently do a GET on the  /v2.0 endpoint to detect if the server is up on the particular node.  You could do that across your ingest and query nodes as a temporary solution.  Currently, blueflood doesn't communicate status across nodes, so that would need to be added.

Hi @usnavi. I would like to help with Health check end point if there is something in the road map. It will be like a minor add on.

@ssing6 - sounds great!  Let's talk detail.  What would be the format of the data returned?  You have an example response?

@usnavi This will an optional usage. Like for teams who need a health end point.
When we start the app, in reality app is in running mode. But health says app is down. It is responsibility of the team to change the health status.
Details of change:

It will be an extra end point "/health" for both Ingest and Query.
[HttpMetricsIngestionServer and HttpMetricDataQueryServer with a new "HealthCheckHandler" class]
We can set some headers if required like an HealthKey.

Output:
curl -H "HealthKey:@3lkaJJanj" -X POST "http://bfmachine:port/health"
Response will be 200 if HealthKey is passed or 401 and there is obviously 503.


updated feedstock to version 1.0.1

updated feedstock to version 1.0.1
@conda-forge-admin, please rerender

Checklist

[x] Used a personal fork of the feedstock to propose changes
* [ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Allow non returning functions to have contextually required undefined return type

Search Terms
#36239
Suggestion
Allow non returning functions to have contextually required undefined return type.
Use Cases

Callbacks

Examples
declare function f(a: () => undefined): void;
f(() => { }); // error -> ok
f((): undefined => { }); // error -> ok
const g1: () => undefined = () => { }; // error -> ok
const g2 = (): undefined => { }; // error -> ok if possible
function h1() {
}
f(h1); // error -> error
function h2(): undefined { // error -> ok if possible
}

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

This would be great.
I'm working with an API that's typed in closure compiler's ES4 type system as () => boolean|undefined and the TypeScript functions passed in are required to explicitly return undefined.  If I omit the return, they're typed as void and generate the error Type 'void' is not assignable to type 'boolean | undefined'.(2322)
e.g.
type listener = () => boolean | undefined;
function listen(listener: listener) { }

listen(() => true);  // ok
listen(() => undefined); // ok
listen(() => { });  // error!

What needs to happen to allow the listener callback type to omit return statements?  Any chance of this landing in a future release?

I have a lot of code that has functions with return types of undefined or T|undefined.
I'd be happy to try to take this on myself, if a project member could give some pointers as to how such a thing could be implemented.
The idea is that any argument accepting a function parameter whose return type includes undefined could accept a non-returning function instead of requiring an explicit return undefined.  Explicitly returning undefined is pretty weird when that's the default behavior of a non-returning function in JavaScript.

Do note that an explicit return statement without any value causes TypeScript to allow the undefined return type annotation.
const ok = (): undefined => {
	return; // This explicit return statement is currently required
};

Consider ReactJS's useEffect, the first argument must be a function that returns void | (() => void | undefined).
The problem is the following is valid:
const f: () => void = () => 42;
useEffect(f);

IMO, an API which expects a function that returns void means it will not look at the return value, which isn't the case.
In a sense, void as a return value is more like unknown than undefined.
But if the API had been correctly defined as declare function useEffect(f: () => undefined | (() => void)): void;, the following wouldn't typecheck with noImplicitReturns:
useEffect(() => {});

I believe accepting this suggestion would help defining better APIs.

I'd like to vote against this -- or at least provide it as an option (so that we're not forced to adopt this type of implicitness).
In fact, I would like to propose making returns more explicit than they are today. Currently the compile error goes away providing your method has at least one terminal branch with an explicit return... I'd like the error to only go away once all terminal branches have an explicit return:
I have many T | undefined in my code, and if I forget to return a value from a terminal branch in my code, there's a 50% chance that undefined is not actually the value I want to return (meaning a 50% chance of a bug).
Consider bugs like this, which would be prevented if every terminal branch required a return:
function foo(): number | undefined {
  if (someFunction()) {
    return undefined
  }

  const value: number = someOtherFunction()
  anotherFunction(value)
  // return value <- The code I forgot to write! Today this compiles fine... but it shouldn't IMO.
}

So tbh rather than making the returns more implicit, I'd rather there be an option to make them more explicit.
(@falsandtru sorry for the "thumbs down", your comment is well-written: I just wanted the maintainers to see at a glance that someone (me) has an issue with the proposed change, as it would encourage a new category of bugs in my code.)

@ljwagerfield it sounds like you should turn on the noImplicitReturns flag, which does exactly that?

@ljwagerfield it sounds like you should turn on the noImplicitReturns flag, which does exactly that?

My hero, so it does!
Providing the proposed changes will have no effect when noImplicitReturns: true, then I'm happy to retract my objection 😅
Thanks again @RyanCavanaugh

This would be a great feature to incorporate into TS!

It sounds great. In this example, e and h are already typed when noImplicitReturns: false.
function a(): void { return }
function b(): void { if(0) return }
function c(): void {}

function d(): undefined { return }
function e(): undefined { if(0) return } // error when noImplicitReturns: true
function f(): undefined {}               // always error

function g(): number | undefined { return }
function h(): number | undefined { if(0) return } // error when noImplicitReturns: true
function i(): number | undefined {}               // always error

It would be more consistent to allow f and i under noImplicitReturns: false.
This change seems to have no drawbacks. What blocks approval of it?

I'm all for this! This would allow typing event handlers as (ev: Event) => undefined | boolean instead of the weird (ev: Event) => any :D

Thank you @saschanaz!


Fixed wrong syntax in Code example

Fixes #40592

@rostyslav-diakiv : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@rostyslav-diakiv : Thanks for your contribution! The author(s) have been notified to review your proposed change.


feat(raw-fd): implement FromRawFd/FromRawSocket

This allows HttpStream and HttpListener to be created from raw
sockets similar to their Tcp counterparts. It also fixes up the
signature from i32 to RawFd for the AsRawFd method.
This is particularly useful for out of process listeners, socket
activation and more.

Seems fine. Also note that before this is published in a new version, you could create the TcpListener or TcpStream and then manually wrap it HttpListener(TcpStream::from_raw_fd(fd)).

@seanmonstar unfortunately HttpListener's field is private so you cannot do that from outside the library.


Release with Spark 2.4 and Scala 2.12

Would it be possible to make a release available for Spark 2.4?  Ideally, this should also be cross-compiled to Scala 2.12 (along with Scala 2.11), given the intention is for 2.12 to become the default Scala version from Spark 3.0 onward.

@jasonmoore2k GeoSpark-1.2.0 for Spark 2.3 supports Spark 2.3+ including 2.4.
We will consider to cross-compiled it to Scala 2.12. Currently, I believe the Scala code in GeoSpark is compatible for both Scala 2.11 and 2.12. If you are in rush, you can compile it by yourself

I faced some issue with scala 2.12, details https://github.com/DataSystemsLab/GeoSpark/issues/380

a little up,  Support for Scala 2.11 is deprecated as of Spark 2.4.1 and will be removed in Spark 3.0.
Upgrading to scala 2.12 Would be great

@Benji81 This is our first priority now.

@jiayuasu What is the status of this?   Would like to at least have scala 2.12 spark 2.4.x at some point.  Any way I can help?

@kyprifog We will be providing the release under the Apache Sedona (incubating). If you want to help, you can create a script or separate branch to generate the release of Sedona in Scala 2.12. I will accept this PR.


Closes #629 | Add/Update Dataloader VLSP2020 MT

Closes #629
Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script seacrowd/sea_datasets/{my_dataset}/{my_dataset}.py (please use only lowercase and underscore for dataset folder naming, as mentioned in dataset issue) and its __init__.py within {my_dataset} folder.
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _LOCAL, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _SEACROWD_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one SEACrowdConfig for the source schema and one for a seacrowd schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py or python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py --subset_id {subset_name_without_source_or_seacrowd_suffix}.
[.] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

Tests
indomain-news (3 splits)

basic (1 split)

VLSP20-official (1 split)

NB

Skipping openSub & mono-vi for future development (Large Drive file download bottleneck), already opened thread in Discord discussion.
Tested 3 out of 7 subsets

It's done! @sabilmakbar thankyou for the review ☺

By the way, @patrickamadeus, did you happen to observe the different number of samples generated from your dataloader implementation compared to the one reported in their GH?
I noticed two subsets have minor amt of sample diff:

Subset VLSP20-official 789 (reported on Src GH) vs 790 (generated examples)
wiki-alt 20000 (reported on Src GH) vs 20106 (generated examples)

By the way, @patrickamadeus, did you happen to observe the different number of samples generated from your dataloader implementation compared to the one reported in their GH?
I noticed two subsets have minor amt of sample diff:

Subset VLSP20-official 789 (reported on Src GH) vs 790 (generated examples)
wiki-alt 20000 (reported on Src GH) vs 20106 (generated examples)

Hi @sabilmakbar ! That's interesting, they mentioned that they have N sentences. Actually I splitted the dataset every \n instead of assuming . for the end of the sentence (would even explode the numbers even more).
Since they don't give any clear definition of how to define each "sentence", do you think it's reasonable for now if we assume each line for each sentence? Because I have reviewed each dataset and it's true that each generated example's number matches to each file's line count.

Hi @sabilmakbar ! That's interesting, they mentioned that they have N sentences. Actually I splitted the dataset every \n instead of assuming . for the end of the sentence (would even explode the numbers even more).
Since they don't give any clear definition of how to define each "sentence", do you think it's reasonable for now if we assume each line for each sentence? Because I have reviewed each dataset and it's true that each generated example's number matches to each file's line count.

Okay then, since I think everything else has the same number as reported, we can acknowledge it (prob adding it to inline comment would be better).

thanks for the work, @patrickamadeus! let's wait for @raileymontalan's review

Hi @raileymontalan, I would like to let you know that we plan to finalize the calculation of the open contributions (e.g., dataloader implementations) in 31 hours, so it'd be great if we could wrap up the reviewing and merge this PR before then.
cc: @patrickamadeus


Current reviving error with config.

When running this config it is missing a policy resulting in AsserionError.
Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Enable to use the config.
Modification
Added the policy to the lr_config as it was missing causing an assertion error.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

Could you paste the whole results of python tools/misc/print_config.py configs/swin/mask_rcnn_swin-t-p4-w7_fpn_ms-crop-3x_coco.py before the modification?

Hi, the policy='step' is inherited from configs/_base_/schedules/schedule_1x.py

but they override when they add their own lr_config which removes lr_config.policy


Add hash tracking as plugin

Adds hash tracking to Simpla, also moves deprecation utilities to follow a plugin like pattern

@seaneking this adds in startEditing and stopEditing - we don't have to keep these functions, I just needed some to cleanly work with hash tracking, are you happy if we keep these for now, and change if needed when documenting?


Pip3 and pip

@yegor256
I faced with problem of using pip3 as a command on my machine, and because of it I see this error while
sudo make install
/Users/timur/develop/cam/help/assert-tool.sh: line 35: pip: command not found I can't continue, because 'pip' command line tool is not available. Try to install it somehow and then restart me. make: *** [install] Error 1
But
 pip3 --version          pip 24.0 from /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip (python 3.11)

Even in the official documentation they write about using pip3 instead of pip
doc

@yegor256
Here I solved this problem PR #330

@yegor256
Close this issue because PR #330 was merged


UI can be make better

i can make the UI of the website better for the user interesection. you can assign this task to me

Please elaborate what you wanna do.

Please elaborate what you wanna do.

Just make some changes in fonts and colors and add some transitions

The fonts and colors may be intended by the original author of the template you can't just change them, transitions maybe are ok.


feat: Add reconciler-manager finalizer

The reconciler-manager now adds a finalizer onto all RootSyncs &
RepoSyncs ("configsync.gke.io/reconciler-manager") which blocks
removal of these objects until garbage collection is complete.
This ensures that garbage collection has completed when the object
is reconciled (Not Found), making it safer to use RootSyncs &
RepoSyncs as dependencies.
Watch for object deletion before completing garbage collection.
This ensures the objects are Not Found before allowing RSync
removal.
Add watch.DeleteAndWait & watch.UntilDeletedWithSync to help work
around limitations of the controller-runtime client.Delete.

b/236892981
Extracted:

https://github.com/GoogleContainerTools/kpt-config-sync/pull/582
https://github.com/GoogleContainerTools/kpt-config-sync/pull/583
https://github.com/GoogleContainerTools/kpt-config-sync/pull/587
https://github.com/GoogleContainerTools/kpt-config-sync/pull/650

e2e test added (& changed how Reconciling condition is set to be True when Stalled)
unit tests added for MergeListOptions, ConvertListOptions, UnrollListOptions (& fixed a few bugs)


Develop

Not sure why shell deletion isn't appearing here, but it's not.

This also resolves #5 internally.


An unsafe operation is found in the S2J_STRUCT_GET_string_ELEMENT function

struct2json
Vulnerability Analysis
An unsafe operation is found in the S2J_STRUCT_GET_string_ELEMENTfunction. The strcpy function is used to copy JSON->value to the struct, which may cause overflow when JSON->value is longer than structure defined array size.

POC
#include "s2j.h"
#include <stdint.h>
#include <stdio.h>

typedef struct {
  char name[8];
} Hometown;

static void *json_to_struct(cJSON* json_obj) {
  /* create Hometown structure object */
  s2j_create_struct_obj(struct_hometown, Hometown);

  /* deserialize data to Hometown structure object. */
  s2j_struct_get_basic_element(struct_hometown, json_obj,string, name);
  return struct_hometown;
}

int main(void) {
  cJSON * json=NULL;

  json=cJSON_CreateObject();

  cJSON_AddStringToObject(json, "name", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ");

  Hometown * test=json_to_struct(json);

  printf("that\'s fine!%zu",sizeof(test));

  return 0;
}

Run:

Suggestion
Use strncpy instead of strcpy to control the length of JSON->value：
#define S2J_STRUCT_GET_string_ELEMENT(to_struct, from_json, _element) \
  json_temp = cJSON_GetObjectItem(from_json, #_element); \
  if (json_temp) strncpy((to_struct)->_element, json_temp->valuestring,sizeof((to_struct)->_element));

After modification：

字符串的话，是否要修改成：sizeof是否要-1：
#define S2J_STRUCT_GET_string_ELEMENT(to_struct, from_json, _element) \
  json_temp = cJSON_GetObjectItem(from_json, #_element); \
  if (json_temp) strncpy((to_struct)->_element, json_temp->valuestring,sizeof((to_struct)->_element) -1 );

CVE-2020-29203 was assigned to this issue.

Thanks for your feedback, can you submit a PR for it?

Thanks for your feedback, can you submit a PR for it?

It's my first time to submit a PR, so please check my work carefully...And thank you for giving me this chance!

Thanks for your feedback, can you submit a PR for it?

It's my first time to submit a PR, so please check my work carefully...And thank you for giving me this chance!

Good job.
Thank you for your contribution, PR has been merged


[Event Change] codeunit 12 "Gen. Jnl.-Post Line"

Please change OnAfterApplyVendLedgEntry event as below :
procedure ApplyVendLedgEntry(var NewCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var DtldCVLedgEntryBuf: Record "Detailed CV Ledg. Entry Buffer"; GenJnlLine: Record "Gen. Journal Line"; Vend: Record Vendor)
    var
        OldVendLedgEntry: Record "Vendor Ledger Entry";
        OldCVLedgEntryBuf: Record "CV Ledger Entry Buffer";
        NewVendLedgEntry: Record "Vendor Ledger Entry";
        NewCVLedgEntryBuf2: Record "CV Ledger Entry Buffer";
        TempOldVendLedgEntry: Record "Vendor Ledger Entry" temporary;
        Completed: Boolean;
        AppliedAmount: Decimal;
        NewRemainingAmtBeforeAppln: Decimal;
        ApplyingDate: Date;
        PmtTolAmtToBeApplied: Decimal;
        AllApplied: Boolean;
        IsAmountToApplyCheckHandled: Boolean;
    begin
...

        if GLSetup."Unrealized VAT" or
           (GLSetup."Prepayment Unrealized VAT" and NewCVLedgEntryBuf.Prepayment)
        then
            if IsNotPayment(NewCVLedgEntryBuf."Document Type") and
               (NewRemainingAmtBeforeAppln - NewCVLedgEntryBuf."Remaining Amount" <> 0)
            then begin
                NewVendLedgEntry.CopyFromCVLedgEntryBuffer(NewCVLedgEntryBuf);
                CheckUnrealizedVend := true;
                UnrealizedVendLedgEntry := NewVendLedgEntry;
                UnrealizedVendLedgEntry.CalcFields("Amount (LCY)", "Original Amt. (LCY)");
                UnrealizedRemainingAmountVend := -(NewRemainingAmtBeforeAppln - NewVendLedgEntry."Remaining Amount");
            end;
//EVENT CHANGE
        OnAfterApplyVendLedgEntry(GenJnlLine, NewCVLedgEntryBuf, OldVendLedgEntry, NewRemainingAmtBeforeAppln);
//EVENT CHANGE
    end;

 [IntegrationEvent(true, false)]
    local procedure OnAfterApplyVendLedgEntry(var GenJnlLine: Record "Gen. Journal Line"; var NewCVLedgEntryBuf: Record "CV Ledger Entry Buffer"; var OldVendLedgEntry: Record "Vendor Ledger Entry"; NewRemainingAmtBeforeAppln: Decimal)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


0.0.7 on composer

https://packagist.org/packages/mits87/eloquent-nested-attributes
right now only 0.0.6 available

Fixed.


Implements issue#10

This adds generation of a location-independent .tar.gz file containing all HTML, JS, CSS components containing the most recent test run results.
Options for distribution: a) Opening up the S3 folder for download where it is stored; b) adding an scp command to ship it somewhere.
Will work fully correctly only after PR #9 is merged and conflicts get resolved.

@dstebila : Here's option c) for you to obtain the daily/latest set of files to visualize things on some website: aws s3api get-object --bucket oqs-tests --key site/site.tgz site.tgz  All you need to do is run the AWS cli and configure the OQS account (either your personal ID or the user "oqs-perf" that I created for automation: You may want to get an access key for that user (https://console.aws.amazon.com/iam/home?#/users/oqs-perf?section=security_credentials) , run  aws configure  with those credentials and the command above will deliver the newest tar.gz. No need for further SSH credentials etc.

Thanks Michael. Once this and its dependencies are merged I will try to work this into the openquantumsafe.org website.


Counter Cache column options do not accept multiple columns

I would like to cache both, total views and unique views.
The following does not make that happen (for obvious reasons):
is_impressionable :counter_cache => { :column_name => :view_counter_cache }
is_impressionable :counter_cache => { :column_name => :view_counter_cache_unique, :unique => true }
Is there a way to achieve this regardless, or could it be added?
Example:
is_impressionable :counter_cache => [{:column_name => :counter_cache}, {:column_name => :counter_cache_unique, :unique => true}]
or:
is_impressionable :counter_cache => {:counter_cache => {}, :counter_cache_unique => {:unique => true}}

This would definitely be useful.  The first example seems a little cleaner.  I could also see this accommodating other conditions other than "unique" by accepting a lambda (like rails before_filter does).  We should keep the original syntax, but allow the user to pass an array as well.  I think we will have to change counter_cache_options and update_counter_cache in this module:
https://github.com/charlotte-ruby/impressionist/blob/master/app/models/impressionist/impressionable.rb
You can take a stab at it if you want.  I will merge the changes if you do a pull request and include tests.  coryschires may be able to help if you have any questions.  He added the counter cache code to impressionist

Thanks! I will give it a shot!


Add json tags to Metadata struct

Before Prometheus v2.50.0 when we query /api/v1/metadata endpoint we receive data like the below:
{
  "total_http_requests": [
    {
      "type": "counter",
      "help": "Amount of HTTP requests",
      "unit": ""
    }
  ]
}

But with v2.50.0 it changed to the following:
{
  "total_http_requests": [
    {
      "Type": "counter",
      "Help": "Amount of HTTP requests",
      "Unit": ""
    }
  ]
}

The change was introduced accidentally in this PR https://github.com/prometheus/prometheus/pull/13176
This PR fixes this inconsistency and adds unit tests related to this topic.

Tests are failing apparently.


fix: 🐛 add explicit types to React hooks and Vue composables

closes https://github.com/nhost/nhost/issues/1484

Codecov Report

Merging #1485 (d42c27a) into main (3c78d0e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1485   +/-   ##
=======================================
  Coverage   85.97%   85.97%
=======================================
  Files          83       83
  Lines        9236     9236
  Branches      506      506
=======================================
  Hits         7941     7941
  Misses       1295     1295

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

Shouldn't we patch @nhost/nextjs as well?

Shouldn't we patch @nhost/nextjs as well?

The packages are linked, but I'm not sure it would add the changeset in the change log. I just updated the changeset


$timeoutList

Featuring Type
Function
So, what is it about?
We all know that timeouts now have a specific code that can be used to $stopTimeout but well that code sometimes gets lost if it's never been stored in a var.
$timeoutList will help us get rid of that problem and let us get a list of all the active timeouts and their codes.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thank you for this suggestion! We will consider adding this.

This was added in 6452125!

Oh, yeah we didn't actually delete old timeouts before. so..

And we don't save the executed command in the property, pretty sure.
"setTimeout_768120":{"value":{"__duration__":1760843227172,"__timeoutName__":"timeout","__id__":768120,"__timeoutIds__":[]}

So.. what we gonna do?


fixing unfolding again

Third time's the charm lol
Resolves #139

I'm still getting the same error for the example in #139... is this just me, am I failing to run the right cooltt somehow?

@ecavallo I see... I get it too. This is a separate issue that is orthogonal to unfolding, I believe. I will look into it.

 But I will look into it nonetheless.

OK @ecavallo I tracked down the issue, thank you for checking before! I've added your example to the test to prove that I really fixed it this time LOL 😆

Hm, this doesn't fix the original problem I was having though.

Thank you for the more sophisticated example; it is necessary to exercise this code more strenuously it would seem LOL

Same for this simpler one
def path (A : type) (x : A) (y : A) : type =
  pathd {_ => A} x y

def refl2 (A : type) (p : (i : 𝕀) → A) : sub {path {path A {p 0} {p 1}} p p} #t {_ => p}
  =
  _ => p

def test (A : type) (p : (i : 𝕀) → A) : (j : 𝕀) → path A {p 0} {p 1}
  =
  j => refl2 A p j

@ecavallo OK, how is it now?

Looks good!

@ecavallo Thanks! I don't know what we would do without your trademarked Counterexample Generator lol :)


Remove forgotten lock_retrieve from 0787397d69

Commit 0787397d69 removed lock_retrieve but I forgot dump_status_file and bin_output on the way.
Reported by Frédéric Yhuel, fix by me.

thanks @rjuju !


Question: can MI detect that the H.264 header has been modified?

For example it seem that bad encoder or weird user setting set some SD H.264 with a reference frames of 9 to an artificial level 5.1 when in fact they are 4.1.

For example tsMuxeR can change the H.264 level in the header on the fly.

It seem that you misunderstood me ;)
Can MI report, detect that the AVC video level has been "artificially" alterated?
I know that crossing informations like bitrate and some others ones could detect that the level set into the media header is not conform, but i'm wondering if MI have already such option that i'm not aware of.

Sorry, your reference to modification and tsMuxer confused me, as i'm not aware that tsMuxeR is able to display such information. AFAIK it can only modify the header to compensate the wrong doing or practice done on AVC media.
Ok.
Should i close this "issue" then? or did you said that a such implementaion will depend on sponsorship?

your reference to modification and tsMuxer confused me

Got it, I misunderstood this part, it can change it (easy) but not compute it (so you need to manually provide info), if I understood better now.

or did you said that a such implementaion will depend on sponsorship?

Right.

Yes, my interest was to have a MI field saying "Wrong level", that will make me aware that the level will have to be corrected on the fly to a compliant one.

Couldn't we detect that ourselves based on the other parsed information? I would probably be a big job to do for all codecs though, but only H.264 might not be so bad. Or, are we missing some critical information to make the determination?

AFAIK, only H.264 is affected by such bad practice.
The necessary informations are in the standard but my knowledge on that is poor.
The video resolution, bitrate, reference frames and probably some more informations are need.

Couldn't we detect that ourselves based on the other parsed information?

If it is quick, I would have implemented it as I owe you lot of reports and fixes. It is not quick and current info not enough.

Or, are we missing some critical information to make the determination?

The part of the spec for profiles and levels is 20 pages long, with stuff like "Vertical MV component range" values and "PicWidthInMbs * FrameHeightInMbs <= MaxFS, where MaxFS is specified in Table A-1" checks to do, not speaking about the count of  reference frames to check for each frame (anotehr part of the spec).
We have the skills for developing an open source AVC (or HEVC) conformance checker, but it is not doable in 1 day, at least for us.


remove circle ci; use travis ci to auto update documentation page.

Remove Circle CI from the project.
Update docs. Travis CI now can automatically update the gh-pages branch when the master branch is updated.
doc here

Hey @leix28 , in tox.ini, I added testing for pythong 3.7. It seems to work. Is there a reason to revert it? It's downloadable at https://www.python.org/downloads/
Otherwise, the PR looks good. I'm glad to see the docs working again.

We can add python 3.7 it back. There was some inconsistency between tox.ini and travis.yml. (python  3.7 was set up in tox.ini but not in travis.yml. ) I think that adding python 3.7 back will not cause any problem.

OK, so the problem is Python 3.7 has not yet officially supported by Travis.

Thank you for merging. (Sorry I was late with this. I meant to do that Monday and just blanked on it.)


Add http cookie support

Similar to httpHeaders, added ability to set cookies when resources are requested.

I just forked this pr into https://github.com/marcbachmann/node-html-pdf/pull/259 and tried to write a test by accessing cookies in js. But phantomjs warns me about a security policy. 😢
I guess I'll have to set up a server and then render it in an iframe.

Released in v2.2.0


added support for digit only domainnames

In an application we have some emails from<EMAIL_ADDRESS>which seams to be an email provider like hotmail or gmail for the asian market.
Also domains like http://960.gs are valid, but were rejected.

Looks good, thanks a lot!


New Export Settings Option for H.264 10 bit (Re-label existing H.264 appending "8-bit")

Apple Feedback Assistant ID: FB15619009
Is your feature request related to a problem? Please describe.
Due to how dark my video is, there needs to be a greater bit depth to capture more gradients of deep grey.  There is too much banding in the regular 8 bit encoding options, both in H265 and H264.  But there is literally no option for H.264 10 bit.  10 bit output is only in H265, which is not supported by odysee, tiktok, x/Twitter?, and others.  YouTube and rumble does support H.265.
But the only way to get H264 10 bit is to export in H.265 10 bit, then use Handbreak to convert it to H.264 10 bit.

Describe the solution you'd like
Relabel existing H264 appending" 8 bit" and add "H.264 Single-pass (Faster) 10-bit" and "H.264 Multi-pass (Better) 10-bit".

Describe alternatives you've considered
The only other option is output as H.265 10 bit, and use hand brake to convert it to H264 10 bit.

I've been discovering this over the last few days that 10bit h264 is basically a hack.  So, I get that.  Thank you for explaining.   I was getting to the point of posting that myself.
Basically, What I'm seeing is that under "Mastering" export options, I'd like to see 10 bit h265 and possibly 12 bit h265 options.   I don't have enough hard drive space to render these files in ProRes for quality.  h264 isn't enough.

you've summed it up perfectly.   I don't have compressor.
The settings for h264 under mastering is different than social which is different than computer. HEVC 8 bit, 10 bit, and 12 bit under Mastering seems like a critical option without Compressor, just as a base line.  This is 2024.  Not 2019.   These options are essential to HDR output and Wide Gamut at the mastering level.  I consider this a BUG rather than an enhancement.  But as you wish.
It also seems equally overly Aggressive for Apple to NOT have any "audio sample rate" dropdown for export.   Even audio mastering doesn't have any options, period.  I get that apple put that in Compressor, but man, it's not even the bare minimum.  I'd really like to be able to select between 48khz and 44.1khz for the output of the audio without having to buy Compressor, or changing the project settings to do different exports.  Again,  this is almost 2025.  Apple is behind.

Updated the original request to make more sense.    The Mastering export really could use a 10 bit 265 for highest quality.


How to use callMemberChain？

In the document，callAnyMember is in JavascriptParser Hooks. But actually I can't config callAnyMember in webpack 5. After check the source code I found new hook names callMemberChain, unfortunately, I still not find way to use it, my purpose is to listen to a callExpression. In my code below, I want to catch the i18n.s expression
const i18n = {
  s: (a: string, b: string) => {
    return a + b;
  },
};
i18n.s('sss', 'fdp');

so I config my plugin like this, but still no luck.
 apply(compiler) {
    compiler.hooks.normalModuleFactory.tap('AutoI18nPlugin', (normalModuleFactory) => {
      normalModuleFactory.hooks.parser
        .for('javascript/auto')
        .tap('AutoI18nPlugin', parser => {
          parser.hooks.callMemberChain.for('i18n').tap('AutoI18nPlugin', (expression, members) => {
            console.log(expression, members);
          });
        });
    });
  }

I encourage you to ask your question on StackOverflow instead. We try to use the issue tracker for bug reports and feature requests, as well as some discussions, but this appears to be a very localized question.
I’m closing for these reasons.

I encourage you to ask your question on StackOverflow instead. We try to use the issue tracker for bug reports and feature requests, as well as some discussions, but this appears to be a very localized question.
I’m closing for these reasons.


Gridsearch does not support some latency options

There are two arguments call '--start-latency' (default = -200) and '--emeg-t-start' (default = -200) in run_gridsearch. However, when the -emeg-t-start is larger than --start-latency, the do_gridsearch function will run into error (the 11 is a fake channel number):
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/imaging/projects/cbu/kymata/analyses/tianyi/kymata-core/invokers/run_gridsearch.py", line 327, in <module>
    main()
  File "/imaging/projects/cbu/kymata/analyses/tianyi/kymata-core/invokers/run_gridsearch.py", line 275, in main
    es = do_gridsearch(
         ^^^^^^^^^^^^^^
  File "/imaging/projects/cbu/kymata/analyses/tianyi/kymata-core/kymata/gridsearch/plain.py", line 121, in do_gridsearch
    emeg_reshaped[:, split_i + (j * n_splits), :] = emeg_values[:, j, split_start:split_stop:downsample_rate]
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: could not broadcast input array from shape (11,0) into shape (11,400)

Here '--start-latency' is -200 and '--emeg-t-start' is set to 0

Temporary fix:
    if start_latency - emeg_t_start < 0:
        n_splits -= 1
        split_initial_timesteps = split_initial_timesteps[1:]
        func = func[1:, :]


Query regarding number of filters for pointwise convolutions.

Hi,
According to the paper, while calculating α(l) Ml is the number of filters in layer. However in the implementation for pointwise convolution it appears that we are using weight.shape[1] which is ideally the Cin and not the number of filters which should ideally have been weight.shape[0]. Is this by design ?
Thanks

IIRC, this was because of how dimensions are represented in pointwise filters. It may have been a design decision because it was difficult to make mobilenets work properly. Technically, benefits from orthogonality (as shown by work on mean field theory) arise when the network is overparameterized, a restriction mobilenets don't satisfy. You can find several details in the appendix of the paper.

The appendix states the following :

MobileNet-V1 has depth-separable filters that use M depthwise filters of dimensions 3×3×1 to process an input with M channels (see Figure 5). Each filter processes its corresponding channel,resulting in an output with M channels as well. This output is processed by N pointwise filters of dimensions1×1×N filters

However if previous depthwise convolutions had M output channels, the dimension of 1 pointwise convolution should have been 1x1xM and we would have had N such pointwise filters. I think the current implmentation is using 1x1xN whereas it should ideally have been 1x1xM. Is my understanding correct, or am I missing something ?

I see the point you are making and believe you are correct. In case you try it out and find it works better, please let me know and I will update the code.


support generic xla_reduce in vmla if inner block has multiple instructions

reproduce ir:

func @main(%0:  tensor<64x1001xf32>, %1:tensor<64x1001xi32>) attributes { sym_visibility = "private" } {
%c0 = constant 0 : index
  %cst = constant dense<0> : tensor<i32>
  %cst_0 = constant dense<0xFF800000> : tensor<f32>
  %2:2 = "xla_hlo.reduce"(%0, %1, %cst_0, %cst) ( {
  ^bb0(%arg0: tensor<f32>, %arg1: tensor<i32>, %arg2: tensor<f32>, %arg3: tensor<i32>):  // no predecessors
    %3 = "xla_hlo.compare"(%arg0, %arg2) {comparison_direction = "GT"} : (tensor<f32>, tensor<f32>) -> tensor<i1>
    %4 = "xla_hlo.select"(%3, %arg0, %arg2) : (tensor<i1>, tensor<f32>, tensor<f32>) -> tensor<f32>
    %5 = "xla_hlo.select"(%3, %arg1, %arg3) : (tensor<i1>, tensor<i32>, tensor<i32>) -> tensor<i32>
    "xla_hlo.return"(%4, %5) : (tensor<f32>, tensor<i32>) -> ()
  }) {dimensions = dense<1> : tensor<1xi64>} : (tensor<64x1001xf32>, tensor<64x1001xi32>, tensor<f32>, tensor<i32>) -> (tensor<64xf32>, tensor<64xi32>)
return
}

use  bazel-bin/iree/tools/iree-opt  -iree-vmla-conversion to compile, it fails:
:7:10: error: 'xla_hlo.reduce' op generic reduction lowering not yet implemented
  %2:2 = "xla_hlo.reduce"(%0, %1, %cst_0, %cst) ( {

the reason is a un-implemented coversion:
https://github.com/google/iree/blob/main/iree/compiler/Dialect/VMLA/Conversion/HLOToVMLA/ConvertReductionOps.cpp#L217
@benvanik can you give me some advice on how to use vm loop to covert this?

That referenced TODO is to emit a loop with a body of the reduce op that performs the reduction in IR. In your example that'd be looping 1000 times to slice the right elements from the source/target tensors and perform the compare/select/select on them.
Something like this pseudo code:
for (int i = 0; i < 1001; ++i) {
  arg0_view = vmla.buffer.view ... (compute bytes from i and the shape)
  arg1_view = vmla.buffer.view ... (compute bytes from i and the shape)
  arg2_view = vmla.buffer.view ... (compute bytes from i and the shape)
  arg3_view = vmla.buffer.view ... (compute bytes from i and the shape)
  ret0_view = vmla.buffer.view ... (compute bytes from i and the shape)
  ret1_view = vmla.buffer.view ... (compute bytes from i and the shape)
  reduce_body(arg0_view, arg1_view, arg2_view, arg3_view, ret0_view, reg1_view)
}
...
void reduce_body(arg0, arg1, arg2, arg3, ret0, ret1) {
  // argN are the input tensors, retN are the output tensors to store the results into
  // perform the compare + select + select
}

This won't be fast but that's OK - it would allow any reduction to be represented no matter how complex.

Oh, and it's possible to use either the standard dialect here for the loop itself (std.cmpi and std.cond_br) - these will get lowered to the VM ops (vm.cmp and vm.cond_br) by later conversions. So in IR the loop would look like:
  %c1 = constant 1 : index
  %c1000 = constant 1000 : index
...
^loop(%i : index):
  call @reduce_body(...)
  %done = cmpi "lt" %i, %c1000 : i1
  %next_i = addi %i, %c1 : index
  cond_br %done, ^end, ^loop(%next_i)
^end:
...

#2863 as a replacement to VMLA will make something like this possible.


When making a FromArray deriving shouldn't an enum use fromValue instead of fromName?

Code generated is:
public static function fromArray(array $data): Commission
{
    $condition = \BolCom\RetailerApi\Model\Offer\Condition::fromValue($data['condition']);
}

It would make sense in my mind that the value of a payload should use the actual enum value instead of the name of the enum?

Let me try to explain. In my case I'm not using the types to use it in the prooph event store. I'm getting a payload from an external service (calling something over rest) and want to return a type based on the response:
public function __invoke(GetCommission $getCommission): Commission
{
    $response = $this->client->get("/retailer/commission/{$getCommission->ean()->value()}", [
        'query' => [
            'condition' => $getCommission->condition()->value(),
            'price' => $getCommission->price()->value()
        ],
        'headers' => ['Accept' => 'application/vnd.retailer.v4+json']
    ]);
    return Commission::fromArray($response->getBody()->json());
}

I get the actual 'ugly' enum value from the remote system, and want to be able to set the value. Would be nice if I wouldn't have to reformat the response before putting it in a type.

Oh I see what the system does when there isn't a while construct, it just gives all the values an integer number..

Sorry what? Which while construct?
I understand that you have a use case where you want fromArray / toArray to use enum values and not enum names. However I am not willing to change this behavior, as I have the other use case more often.
But... There is a solution for both of us:
Foo deriving (Enum(useValue))
There is an open ticket to allow to pass options to derivings, but that's not an easy task because it requires to update the parser as well.
I have no time currently to do this, but if you are willing to work on this, let me know.
Still struggling to find out what while construct you are referring to.

Sorry what? Which while construct?

I can't type, was a little bit late: I meant the Enum with(FIELD='bla') construct.
As for the changes to the parser logic, might be interesting, I'll have to see if I can figure that out.

Got something working! https://github.com/paales/fpp/pull/2
Will create a PR when i've got the code sniffer thing set up locally.

resolved via https://github.com/prolic/fpp/pull/106


Resolve issue #248

Reopening this PR as per your request.
Re the test output - quoting the comment in the commit message:
"This changes the resolve mechanism to clone the resolved entity before returning it, so that changes applied to it in the code that is using it, won't affect the component it references (and thus will not modify it and prevent it from being resolved in later occasions).
This change makes the x-component entities look like they originally were (unmodified), and this complies with the swagger 2 syntax, since their definition resides inside the extension property (see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#specification-extensions)."

@rbren Let's merge this one, I fixed the commits to be clean commits (in terms of content).


RL: Stop on first error seen

Add an option to rl to stop testing upon seeing an error.
This is great when working on a feature and you just want to find a failing unit test quick to iterate faster.

This change is

LGTM

Right now it is unclear if anyone other than me will use that stop on error feature for testing.
I don't really have time to go a proactively add feature to other scripts that may never end up be used.
I will merge what I have here so I can at least move on with life and use the feature in my scenarios.
If we really need it elsewhere, we can make an issue then or fix it.


After update cant start program

I tried updating the program but nothing happened so then i tried restarting my computer and even deleting that folder but the program never pops up now and in task manager is at 0% for the java task. when trying to start either the old or new version of the program the library program was recreated but nothing else

I forgot to adjust a link to a live file which is needed on startup. I updated the jar file in the 3.0.0 release now. My apologizes.

That seems to be have fixed the issue


Documentation of .mdlDowngrade_ method in wiki is vague + possible bug in 1.1.3 regarding the "mdl-componentdowngraded" event

Component (if any):
What are you trying to do or find out more about?
Clean up the component if it needs to be removed.
Where have you looked?
https://github.com/google/material-design-lite/wiki/Making-your-first-JS-component
Where did you expect to find this information?
https://github.com/google/material-design-lite/wiki/Making-your-first-JS-component
From wiki:
"Since this component adds an event listener to the element the mdlDowngrade_ method should be implemented to clean up the component if it needs to be removed."
Dropdown.prototype.mdlDowngrade_ = function() {
  'use strict';
  this.element_.removeEventListener('click', this.boundClickHandler);
};

If you don't add a listener to the mdl-componentdowngraded event in the component's init method, the mdlDowngrade_ method will not be called. So the init method should have code similar to this - I think.
Dropdown.prototype.init = function() {
    "use strict";
    this.boundClickHandler = this.clickHandler.bind(this);
    this.element_.addEventListener('click', this.boundClickHandler);

    this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this.element_));
};

And in mdlDowngrade_
Dropdown.prototype.mdlDowngrade_ = function() {
  'use strict';
  this.element_.removeEventListener('click', this.boundClickHandler);
  this.element_.removeEventListener('mdl-componentdowngraded', this);
  this.classList.remove(IS_UPGRADED);
};

A (pseudo) test
it('downgrades successfully', () => {

  // Code to insert component via insertAdjacentHTML
  ........

  // Upgrade
  const element = document.querySelector('#my-dropdown');
  componentHandler.upgradeElement(element, 'Dropdown');

  // Downgrade
  componentHandler.downgradeElements(element);
  expect(element.getAttribute('data-upgraded')).to.not.include('Dropdown');
});

Regards
Leif Olsen

I have upgraded MDL to version 1.1.3 in my project - and now the mdl-componentdowngraded does not fire!

Codechange in componentHandler could be an issue:
1.1.2
function deconstructComponentInternal(component) {
  if (component) {
    var componentIndex = createdComponents_.indexOf(component);
    createdComponents_.splice(componentIndex, 1);

    var upgrades = component.element_.getAttribute('data-upgraded').split(',');
    var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
    upgrades.splice(componentPlace, 1);
    component.element_.setAttribute('data-upgraded', upgrades.join(','));

    var ev = document.createEvent('Events');
    ev.initEvent('mdl-componentdowngraded', true, true);
    component.element_.dispatchEvent(ev);
  }
}

1.1.3
  function deconstructComponentInternal(component) {
    if (component) {
      var componentIndex = createdComponents_.indexOf(component);
      createdComponents_.splice(componentIndex, 1);

      var upgrades = component.element_.getAttribute('data-upgraded').split(',');
      var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
      upgrades.splice(componentPlace, 1);
      component.element_.setAttribute('data-upgraded', upgrades.join(','));

      var ev;
      if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
        ev = new Event('mdl-componentdowngraded', {
          'bubbles': true, 'cancelable': false
        });
      } else {
        ev = document.createEvent('Events');
        ev.initEvent('mdl-componentdowngraded', true, true);
      }
    }
  }

I think code for custom event shold be:
      const evt = new CustomEvent('mdl-componentdowngraded', {
        bubbles: true,
        cancelable: false,
        detail: { }
      });
      component.element_.dispatchEvent(evt);

That CustomEvent won't work in IE10 which is among supported browsers for v1.

According to http://caniuse.com/#feat=customevent there should be no need to polyfill CustomEvent.
This line is missing i 1.1.3:
component.element_.dispatchEvent(evt);

Yeah, you can use document.createEvent('CustomEvent'), not new CustomEvent(). That is what i'm saying...

Anyway, no event is fired due to missing code :)

This is the event polyfill from Google Dialog polyfill:
  var supportCustomEvent = window.CustomEvent;
  if (!supportCustomEvent || typeof supportCustomEvent == 'object') {
    supportCustomEvent = function CustomEvent(event, x) {
      x = x || {};
      var ev = document.createEvent('CustomEvent');
      ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null);
      return ev;
    };
    supportCustomEvent.prototype = window.Event.prototype;
  }

Yeah, that should a part of MDL component handler script or something so it is globally available so we don't have to check it every time in every component.

... but the event should be fired? So I think it's a bug in code.

No, i agree definitely. Just saying on the side topic. So we can kill two birds with one stone :smile_cat:

@dgrubelic:  A short, related, question.
How do you handle downgrading of internal components, e.g. downgrading of the MaterialTextfield component? I can not find any code that actually detaches the attached event handlers of this component.

BTW: I have a mdl selectfield here: https://github.com/leifoolsen/mdl-ext/tree/master/src/selectfield

I think that MaterialTextfield component is missing mdlDowngrade_() method...so i don't. :)
Yes, this is plain html select only wrapped in mdl-selectfield div. What i did was entirely new component what will look the same in every browser on every device. With accessibility included in component.
For example, what happens when you set select to be multiple select? How do you handle that to look like Material design component? (we can continue this on my repo for example)

I would personally avoid using a multi select bc. that would normally be a list - which will take up too much space in responsive design. I think a `´based on e.g. Awesomplete would be a better solution for multiselect. See: http://leaverou.github.io/awesomplete/#advanced-examples

From what I can make out, you are trying to figure out why the downgrade method isn't called anymore.
The documentation is outdated and we made a technical BC break in 1.1 to not need the downgrade method anymore. Basically it works like this...
Downgrade away, it removes the internal component reference. Then just remove the DOM nodes. Done. The garbage collection in the engine will kick-in and remove the event listeners (assuming you don't have references to those nodes in your code remaining.)
The downgrade method was a hack because of me not running a proper test environment to check for event listener removal. So, I thought engines didn't clean up when in fact they do. Once we realized that isn't the case the downgrade method didn't make much sense to keep around. It doesn't hurt external components that have one, it is just dead code that needs to be removed later on. But now all components have a way to remove the handlers internal reference, via the downgrade method of the handler itself.

I can see that removing listeners is no longer needed for modern browsers. But there could be other stuff that need cleanup - and the only way to do do this is trough a listener. Also according to this Stack Overflow q/a there can still be issues with modern browsers.

The only caveat is as I stated "If you have any references in your code". Which means you should do cleanup on your own to remove those references (therefore completely destroying the node instead of having it kept in memory in a non-attached state.)
The components should only add internal event listeners and modify structure internal to their root reference (in almost all cases.) This means simply destroying the root node (and therefore all children) from the DOM is enough if your application doesn't keep lingering references.

If the downgrade method should not be called anymore, then the initialization code for event emitter sholud be removed as well.  This code is redundant - since no event should be emitted:
      var ev;
      if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
        ev = new Event('mdl-componentdowngraded', {
          'bubbles': true, 'cancelable': false
        });
      } else {
        ev = document.createEvent('Events');
        ev.initEvent('mdl-componentdowngraded', true, true);
      }

... also the class is-upgraded still remains in the classlist after a call to componentHandler.downgradeElements(element). Shouldn't the downgrade method remove this class as well?

Why are you trying to remove that class specifically? The only reason you should be downgrading is to remove something from the DOM completely. Any other cases were not considered with 1.x so they aren't supported.
The event will remain as well. Applications expecting it to fire for some reason may still have functionality dependent on a downgrade happening (say analytics events.) That would be a massively breaking change/removal. Something still happens (internal reference removal) so it is "downgraded" in a way, making it safe for deletion. Yes, event name isn't semantic... but it would be a BC break to rename it.

@Garbee: Thanks for a good and thorough explanation of this topic. The confusion with me was when I read the documentation regarding this. The conclusion is that I do not need to do anything in connection with the downgrading, just remove nodes.

@Garbee: Excuse me for bringing this subject up again, but for components converted to ES6 classes in MDL v2, e.g. MaterialCheckbox, event listeners are removed explicitly. The conclusion then must be that if one develops components for v2, then the event listener should be removed?
Another small improvement that can be done (hopefully I'm not too picky now). The components.js, initComponents method could be rewritten to something like this, using the spread operator:
  static initComponents(docRoot) {
    [...docRoot.querySelectorAll(`.${this.classes_.ROOT}.${this.classes_.JS}`)].forEach( node => {
       node[this.strings_.CLASS_NAME] = new this(node);
    });
  }


Address test for fill value for some lazy data

ERROR: test_netcdf_save_single (__main__.TestNetCDFSave)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/h06/cbosley/Projects/iris/lib/iris/tests/test_netcdf.py", line 437, in test_netcdf_save_single
    iris.save(cube, file_out)
  File "/home/h06/cbosley/Projects/iris/lib/iris/io/__init__.py", line 402, in save
    saver(source, target, **kwargs)
  File "/home/h06/cbosley/Projects/iris/lib/iris/fileformats/netcdf.py", line 2246, in save
    least_significant_digit, packing=packspec)
  File "/home/h06/cbosley/Projects/iris/lib/iris/fileformats/netcdf.py", line 955, in write
    least_significant_digit=least_significant_digit, packing=packing)
  File "/home/h06/cbosley/Projects/iris/lib/iris/fileformats/netcdf.py", line 1940, in _create_cf_data_variable
    fill_value = cube.lazy_data().fill_value
AttributeError: 'Array' object has no attribute 'fill_value'

https://github.com/marqh/iris/pull/39

This particular test still fails, but for a different reason (which will only be solved when we address the NetCDF Saver).  For now, the whole module TestNetCDFSave needs to be skipped.  I think.


[Relationship] Add  relationship between Aws-Autoscaling and IAM role

Notes for Reviewers
This PR fixes #
Signed commits

[x] Yes, I signed my commits.

I'm bumping this PR to see if the recently RUBY_VERSION env var in Netlify takes effect and build the docs correctly.

@deepak4566 could you please provide a screenshot or video demonstrating the functionality of this relationship?


Fix version number parsing when latest tag is not vxx.yy.zz

As of right now the newest tag is called nbench_db, which our CMake stuff can't parse when it tries to populate the version number info. This seems to work around it (it finds the most recent tag of the form v*.*.*).

I don't see a tag called nbench_db in the Repo. All tags are v*.. Is CI auto creating a local tag?

@silee2


random test for LocationIndex

I always wanted to have random tests for LocationIndex like we have for routing algorithms. Now due to the nice work in #2216 I invested a bit time :)
This seems to fail for master too, but for branch locindex more frequent. We need to investigate if it is the "full search" test method which is not yet perfect or one or more bugs in LocationIndexTree.

Hmm. "wayIndex" was off-by-one in some cases, and also, locationIndex doesn't continue looking for a closer position on the same edge when the distance is smaller than a threshold.
Hence the difference / failing test.
I replaced the logic by a call to the logic used in LocationIndex.
The test can now only fail when the correct edge is not found. For what happens on the edge, it uses the logic it is supposed to be testing. If we want to improve that, we need a more careful specification of what should be happening exactly. (In the test.)

Hmm. "wayIndex" was off-by-one in some cases, and also, locationIndex doesn't continue looking for a closer position on the same edge when the distance is smaller than a threshold.
Hence the difference / failing test.
I replaced the logic by a call to the logic used in LocationIndex.
The test can now only fail when the correct edge is not found. For what happens on the edge, it uses the logic it is supposed to be testing. If we want to improve that, we need a more careful specification of what should be happening exactly. (In the test.)

In this branch, I now removed the "early aborting" in LocationIndex, because then your test would succeed.
Not sure if we also want that in reality, because then other tests fail. (Because then we only snap to nodes when the node is really the closest position on the edge. Which is different from what we do now..)

In this branch, I now removed the "early aborting" in LocationIndex, because then your test would succeed.
Not sure if we also want that in reality, because then other tests fail. (Because then we only snap to nodes when the node is really the closest position on the edge. Which is different from what we do now..)

All of this also means that for a location index that is trivial enough (all the edges in the same tile), this test doesn't test a lot. The test and the testee basically do the same loop over all the edges.

All of this also means that for a location index that is trivial enough (all the edges in the same tile), this test doesn't test a lot. The test and the testee basically do the same loop over all the edges.

Hence the difference / failing test

ok :)

Snap to a node iff it is really the node that is the closest location, typically behind a dead-end.

Can you explain what I need to do to see the failing tests then?

Not sure if we are making sure that the random graph's spatial extent is big enough to get an interesting location index.

Oh, yeah, we need to make sure it creates also tests for a bigger area to test also other code of the location index.

Hence the difference / failing test

ok :)

Snap to a node iff it is really the node that is the closest location, typically behind a dead-end.

Can you explain what I need to do to see the failing tests then?

Not sure if we are making sure that the random graph's spatial extent is big enough to get an interesting location index.

Oh, yeah, we need to make sure it creates also tests for a bigger area to test also other code of the location index.

Can you explain what I need to do to see the failing tests then?

Remove one or both of the conditional return statements in LocationIndexTree.traverseEdge.

Can you explain what I need to do to see the failing tests then?

Remove one or both of the conditional return statements in LocationIndexTree.traverseEdge.

Whoa! The future is now.

Whoa! The future is now.


Fixes: #2026 Gateway timeout for System level exports

Make system level export be async from request to prevent gateway timeout.
All initial calls to  /fhir/R4/$export will return a status 202.

Example in progress 202 status response from Content Location fhir/R4/bulkdata/export/20f3d054-7fa5-4955-8962-a279a5859042

Completed 200 status response containing output of exported files:

Coverage: 94.279% (+0.01%) from 94.267% when pulling 1d3ab8c66e238ee47699fc9c885835960783bd8e on move-export-to-be-async into 0221ef064905c073ac6ec113a581dd863e06021e on main.