Mutable reference getting / read_to_byte / LSB::shift_into_place() change

Added mutable reference getters to better match the functionality of the buffered reader/writer. This allows for more control over the inner streams e.g to allow a bitwise seeking wrapper.
All changes
read_to_byte

Added function is_aligned() for use with reading or padding to a byte boundary.
Added read_to_byte() for the opposite effect as pad_to_byte(). This also enable getting mutable reference.

get_mut (open to ideas for implementation of this with Result)

Added get_mut(). This returns a result when called when the internal buffer is not on a byte boundary.

LSB::shift_into_place()
When read_bits(0) was called in LSB mode an overflow shift error would occur. This is due to shifting u32 >> 32. Changed to word.checked_shr((32 - nbits) as u32).unwrap_or(0) which has the same effect but is safe to use with shifts of 32. Rust panics because of undefined behavior when shifting past overflow.
into_inner()
Added the into_inner() function to both the reader and writer. This matches similar wrapping types such as BufReader and BufWriter. This allows for easier conversion to the inner type to make certain actions easier or to revert the bitwriter/bitreader when it is done being used.

Bumping to see if this can be accepted. I think the read_to_byte is definitely worth adding to match pad_to_byte. Change to get_ref and get_mut are less important but still useful.

Currently, get_mut() returns a result to prevent returning a mutable reference to the underlying stream when the bit writer is not at a byte boundary. Without this, the internal byte can be out of sync and cause odd ordering of bits.
Open to suggestions on better ways of preventing this desync.

Note: The LSB change does not seem to affect the performance of read_bits(1).
Reading a 35mb file 1 bit at a time.
Time is to read from first to last bit in milliseconds.
Warm up of 5 runs.
MSB
avg over 30 runs: 388.2ms

LSB new
avg over 30 runs: 374.9ms

LSB old
avg over 30 runs: 393.5ms

test: Changes occurred in local bitbit file. Chage from MSB to LSB with changes.
use bitbit::{BitReader, LSB, MSB};
use std::error::Error;
use std::fs::File;
use std::io::BufReader;
use std::option::Option::Some;
use std::time::SystemTime;

fn main() -> Result<(), Box<dyn Error>> {
    let mut total = 0;
    let runs = 30;
    let warm_up = 5;

    for i in 0..=runs + warm_up {
        let file = File::open("./data/decompressed.txt")?;
        let buf_reader = BufReader::new(file);
        let mut br = BitReader::<_, LSB>::new(buf_reader);

        let start = SystemTime::now();
        while let Some(_) = br.read_bits(1).ok() {}
        let end = SystemTime::now().duration_since(start)?;
        if i > warm_up {
            total += end.as_millis();
            println!("run {}/{} took {}ms", i - warm_up, runs, end.as_millis());
        }
    }

    println!();
    println!("avg over {} runs: {}ms", runs, total as f64 / runs as f64);
    Ok(())
}

Note: The LSB change does not seem to affect the performance of read_bits(1).
Reading a 35mb file 1 bit at a time.
Time is to read from first to last bit in milliseconds.
Warm up of 5 runs.
MSB
avg over 30 runs: 388.2ms

LSB new
avg over 30 runs: 374.9ms

LSB old
avg over 30 runs: 393.5ms

test: Changes occurred in local bitbit file. Chage from MSB to LSB with changes.
use bitbit::{BitReader, LSB, MSB};
use std::error::Error;
use std::fs::File;
use std::io::BufReader;
use std::option::Option::Some;
use std::time::SystemTime;

fn main() -> Result<(), Box<dyn Error>> {
    let mut total = 0;
    let runs = 30;
    let warm_up = 5;

    for i in 0..=runs + warm_up {
        let file = File::open("./data/decompressed.txt")?;
        let buf_reader = BufReader::new(file);
        let mut br = BitReader::<_, LSB>::new(buf_reader);

        let start = SystemTime::now();
        while let Some(_) = br.read_bits(1).ok() {}
        let end = SystemTime::now().duration_since(start)?;
        if i > warm_up {
            total += end.as_millis();
            println!("run {}/{} took {}ms", i - warm_up, runs, end.as_millis());
        }
    }

    println!();
    println!("avg over {} runs: {}ms", runs, total as f64 / runs as f64);
    Ok(())
}


Feat: add Vue 3 composition api usage

Hi,thanks for this useful project. I found that there is only old option api usage in Vue example. Because Vue 3 has the powerful composition api just look like react hook, maybe it's a good idea to add composition features for Vue's users. If you agree with this proposal, I'd be glad to open a pr for it;)

Hi @sam585456525 , welcome!
SyncedStore should work fine with the composition API, as it builds around Vue's reactivity feature.
Any PRs to clarify this in the documentation is definitely appreciated!


How do I use this from a repl?

I'm trying to use this from clojure. I have a persistent connection to a clojure repl and I'd like to develop without restarting my repl to incorporate a code change. If I launch the app, close the window by clicking the windows X button, and then eval (example) I don't get a working window. I get a window with a blank screen that just reports that it's "not responding". I also tried running the example in a thread but I get the same behavior: (async/thread-call example)
Thanks!
(ns rgkirch.core
  (:require [clojure.core.async :as async])
  (:import [io.github.humbleui.jwm
            App
            Event
            EventWindowCloseRequest
            EventWindowScreenChange
            EventWindowResize
            EventFrame
            LayerGL]
           [java.util.function Consumer]))

(defn example
  []
  (defonce init (App/init))
  (def window (App/makeWindow))
  (def layer (LayerGL.))
  (defn paint []
    (.makeCurrent layer)
    (.swapBuffers layer))
  (.attach layer window)
  (.setTitle window "Hello World")
  (.setEventListener window (reify Consumer
                              (accept [this e]
                                (do
                                  (println e)
                                  (cond
                                    (instance? EventWindowCloseRequest e)
                                    (do (.close window)
                                        (App/terminate)) ;; terminate here? or this kills my jvm process?

                                    (instance? EventWindowScreenChange e)
                                    (do
                                      (println "screen change")
                                      (.reconfigure layer)
                                      (let [rect (.getContentRect window)]
                                        (.resize layer (.getWidth rect) (.getHeight rect)))
                                      (paint))

                                    (instance? EventWindowResize e)
                                    (do
                                      (println "resize")
                                      (.resize layer (.getContentWidth e) (.getContentHeight e))
                                      (paint))

                                    (instance? EventFrame e)
                                    (do
                                      (paint)
                                      (.requestFrame window)))))))
  (.setVisible window true)
  (.requestFrame window)
  (defonce start (App/start)))                ;; defonce here or no? same behavior either way...

(example)

So I created Clojure repo here https://github.com/HumbleUI/HumbleUI
It seems to work on macOS but on Windows I get the same symptoms are got. So I can reproduce. I’ll look into it some more next week, might be a JWM bug. For now, try not to close last window?


Mention --enable-source-maps in README.md for esm projects.

@swc-node/sourcemap-support only works on cjs projects. The underlying library source-map-support is more than 2 years old and doesn't seem to work with native esm.
Ask people to use Node's built-in source map support. Although experimental, it works well in my very minimal setup.
Related issue: https://github.com/swc-project/swc-node/issues/719

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


Document: Set up community guidelines

To follow Github's community recommendations to attract contributions.

Not needed for now.


Add official icon

Just so people can use it

Just like #16 I am not sure what the point of this instruction is related to the Zoom integration.

Fair point, nobody's actually going to publish it.


feat: Adds support for other roles fields

This PR adds support for other roles fields in a resource by adding an option called roles_field so the user can customize it.
Usage example:
role :employee, roles_field: :organization_roles do
  fields([:root_id, :created_at])

  actions [:read]
end

This PR is still a WIP, it doesn't handle bypass rules for example.

I would suggest not having an options field, but adding a roles_field option to the schema of the entity directly.
role :employee do
  roles_field :organization_roles
  fields [:root_id, :created_at]

  actions [:read]
end

Done :)

@zachdaniel Any suggestion on how to make bypass also support the roles_field field?

I think you can add bypass_roles_field next to bypass in the schema section.

Ah, makes sense.
Thanks, just added that to the PR :)
rbac do
  bypass_roles_field :organization_roles
  bypass :super_admin

  role :employee do
    role_field :organization_roles
    fields [:created_at, :updated_at]
    actions [:read]
  end
end


Revert "feat(azure-end-to-end-tests): Expand AzureClient e2e tests (#…

…21041)"
This reverts commit c850460a6213d91ee9c7b23e313c64ef3792f5bb in the hope of resolving failures.

This PR should not be merged so long as https://github.com/microsoft/FluidFramework/pull/21117 succeeds.


Panic: unknown, non-string panic payload (from TransactionError downcast)

Version
git after #1358
Description
Unknown panic:
The application panicked (crashed).
Message:  <non string panic payload>
Location: zebra-consensus/src/error.rs:76

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   0: zebrad::components::sync::extend_tips
      at zebrad/src/components/sync.rs:381
   1: zebrad::components::sync::sync
      at zebrad/src/components/sync.rs:150

Backtrace omitted.
Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

Dupe of #1357


Add NIM_ASSERT macro and use it in RcppNimbleUtils.h

This introduces a C++ macro NIM_ASSERT(-,-) that can replace existing if(-) PRINTF(-) with actual calls to error(), fixing #296 .
What's changed
The old if(-) PRINTF(-) behavior simply warned the user that an error may be encountered, and then optimistically continued execution. This is problematic, in that the executed code might crash R and destroy user work, as in #296 . The new behavior immediately breaks execution, thereby avoiding crashing R.
What remains the same
This PR intends to exactly preserve the circumstances under which NIMBLE errors. That is, the behavior-on-error does change, but there is no change to when an error happens. In particular, there is some inconsistent behavior across bool, int, double versions as visible in https://rpubs.com/fritzo/nimble_error_messages, but this PR does not attempt to change that behavior.
What remains to be done
This PR currently uses NIM_ASSERT(-,-) only in RcppNimbleUtils.h, and subsequent PRs will replace other old-style if(-) PRINTF with the new stricter macro.

OK, I've fixed this up and manually tested in
https://rpubs.com/fritzo/nimble_error_messages
I'd still like to add a couple unit tests before merging.

OK, I've added some unit tests, so I'm ready for anyone to hit Squash-and-Merge.

@perrydv May I Squash-and-Merge now?

Looks good to me.


[UI] Cloud report task status

summary
/report/explorer has (a few) n+1 queries while loading the tree.

remove an N+1 query. (just one, there are others)
simplify node builder to be more similar to the other node builder calls in the same method.

The numbers are the same both before and after this PR. The session is empty and the tree is not expanded.
When a node is expanded, this PR kicks in:

ms
queries
query (ms)
rows
comments

18,908.9
10,129
2,847.1
20,435
/report/explorer before

5,689.9
130
384.3
20,435
/report/explorer after

70%
99%
87%

Expanding the tree also triggers a partial tree refresh:

ms
queries
query (ms)
rows
comments

15,665.3
10,005
1,436.5
20,004
/report/tree_autoload before

4,636.8
6
317.4
20,004
/report/tree_autoload after

70%
99%
78%

Alternative to https://github.com/ManageIQ/manageiq/pull/9728
before
but clicking on a node, dynamically refreshing the tree slows it all down. (rendering time adds 25 seconds to this)

ms
queries
query (ms)
rows
comments

15,665.3
10,005
1,436.5
20,004
/report/tree_autoload#master

190.1
1
86.5
10,000
..SELECT "miq_report_results".*

1,243.2
10,000
1,102.0
10,000
..SELECT  "miq_tasks".*

full page refresh displays:

ms
queries
query (ms)
rows
comments

18,908.9
10,129
2,847.1
20,435
/report/explorer#master

after

ms
queries
query (ms)
rows
comments

4,636.8
6
317.4
20,004
/report/tree_autoload#pr

4,629.1
6
317.4
20,004
.Executing action: tree_autoload

166.0
1
61.3
10,000
..SELECT "miq_report_results".*

149.8
1
51.0
10,000
..SELECT "miq_tasks".*

ms
queries
query (ms)
rows
comments

5,689.9
130
384.3
20,435
/report/explorer#pr

Euwe Backport details:
$ git log
commit 340cce3046d16f7c0f9923a9ff72d50b308c4229
Author: Martin Povolny<EMAIL_ADDRESS>Date:   Fri Sep 30 17:41:27 2016 +0200

    Merge pull request #11554 from kbrock/cloud_report_task_status_as_column_alias_deux

    [UI] Cloud report task status
    (cherry picked from commit 971a21800e2a1b17644aaec98b6ddd11a33794a4)


Update to Gradle 8.5

Description
Update to Gradle 8.5
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@RS146BIJAY @bharath-techie  I am curious why the original pull request (https://github.com/opensearch-project/asynchronous-search/pull/516) was not merged?

@RS146BIJAY @bharath-techie I am curious why the original pull request (#516) was not merged?

@reta Actually I was not sure why bwc tests were failing for previous PR and we urgently needed to send another change fixing admin credentials. So we took your changes along and tried multiple hit and trails to fix failing bwc and once build passed we pushed this change. Agreed this PR was redundant and could have send previous PR itself with bwc fix.

@RS146BIJAY Please backport to 2.x

Done


Faulty core fixes: switch/case indentation

Summary:
There are a number of places in WP core which use - very large - switch/case constructs which are incorrectly indented.
For these, the current fixer seems to create a worse inconsistency in the indentations for:

break - indentation not corrected
docblocks - indentation of the first line corrected, but not the rest of the docblock.
escaping out of PHP

Most likely cause: Generic.WhiteSpace.ScopeIndent
I've seen other bugs with this sniff before and it may actually be simpler to pre-indent the case statement manually before running phpcbf than to fix this sniff.
Alternatively, turning that particular sniff off for the fixer might also save some grief.
Example:
File: various files across the board src/wp-admin/comment.php to name just one, src/wp-admin/edit-tags.php for another.
Example snippet:
switch ( $a ) {
case 'a':
	$b = 1;
	break;

case 'b':
	$b = 2;
	/**
	 * A comment about a hook.
	 */
	apply_filter( 'something', $b );
	break;

case 'a':
	$b = 3;
?>
	<input name="something" value=<?php echo $b; ?>
<?php
	$b = 4;
	break;

default:
	$b = 5;
	break;
}

Fixed as:
switch ( $a ) {
	case 'a':
		$b = 1;
	break;

	case 'b':
		$b = 2;
		/**
	 * A comment about a hook.
	 */
		apply_filter( 'something', $b );
	break;

	case 'a':
		$b = 3;
		?>
		<input name="something" value=<?php echo $b; ?>
	<?php
	$b = 4;
	break;

	default:
		$b = 5;
	break;
}

Expected fix:
switch ( $a ) {
	case 'a':
		$b = 1;
		break;

	case 'b':
		$b = 2;
		/**
		 * A comment about a hook.
		 */
		apply_filter( 'something', $b );
		break;

	case 'a':
		$b = 3;
		?>
		<input name="something" value=<?php echo $b; ?>
		<?php
		$b = 4;
		break;

	default:
		$b = 5;
		break;
}

Now the standard for break indentation in switch control structures has been added to the handbook, I've looked into whether there was an upstream sniff we can use to cover and auto-fix this.
The PSR2.ControlStructures.SwitchDeclaration sniff would cover this, however it does more than we "need", though the extra checks included aren't necessarily a bad thing.
Error messages in the sniff:

NotLower: switch/case/default keyword must be lowercase => Already covered by Generic.PHP.LowerCaseKeyword.Found
SpacingAfterCase: CASE keyword must be followed by a single space
SpaceBeforeColon: There must be no space before the colon in a case/default statement
BodyOnNextLine: The case/default body must start on the line following the statement
BreakNotNewLine: Terminating statement must be on a line by itself (=break/return) => Already covered by Generic.Formatting.DisallowMultipleStatements
BreakIndent: Terminating statement must be indented to the same level as the CASE body (=break/return) <= This is the one we need.
WrongOpener: Case/default statements must be defined using a colon
TerminatingComment: There must be a comment when fall-through is intentional in a non-empty case body

Aside from the The case/default body must start on the line following the statement message, I think they would all be good additions to WPCS.
I propose adding this sniff to WordPress-Core, excluding error codes which would lead to duplicate messages and possibly excluding the BodyOnNextLine one if others agree and it would not lead to fixer conflicts.
The WrongOpener and TerminatingComment error codes are more best practice/bug prevention kind of checks, but I don't think it would be a bad thing to leave them enabled in the Core sniffs in this case.
Note: Adding this sniff would not (yet) solve the docblock/escaping out of PHP indentation issues. Those are probably issues with the Generic.WhiteSpace.ScopeIndent sniff and would need to be looked at separately.
The alternative would be to add a WPCS native sniff to only check the indentation of switch control structures. In that case, the docblock/escaping out of PHP indentation issues should be covered by that sniff as well.
Opinions ?
/cc @pento

FYI: I've also opened an upstream issue regarding the docblock/inline HTML indentation: https://github.com/squizlabs/PHP_CodeSniffer/issues/1539

SpacingAfterCase: CASE keyword must be followed by a single space
SpaceBeforeColon: There must be no space before the colon in a case/default statement

Do these two not contradict each other?

SpacingAfterCase: CASE keyword must be followed by a single space
SpaceBeforeColon: There must be no space before the colon in a case/default statement
Do these two not contradict each other?

No they don't, here's some examples:
case 'a':
//  ^   ^
//  1   2
case'b': // is a violation of `SpacingAfterCase`
case 'c' : // is a violation of `SpaceBeforeColon`
case'd' : // is a violation of both `SpacingAfterCase` and `SpaceBeforeColon`

@GaryJones No, they don't - between the case and the : you always have a value or condition ;-)
switch ( $a ) {
    case 'b':
        // One space between `case` and `'b'`.
        // No space between `'b'` and `:`.
        break;
}

@ntwb Ah, sorry, I didn't see your comment, should have refreshed the page before replying.
@GaryJones What @ntwb said ;-)

Ah, of course - I was forgetting the value. I apparently don't use switch statements often enough!
I've got no objection to these being pushed through WordPress-Core, but it would be good to get them documented in the Handbook as well.

I've got no objection to these being pushed through WordPress-Core, but it would be good to get them documented in the Handbook as well.

Ok, so I've dug into this a bit deeper.
Current practices used in Core
I figured it might make sense to actually see what's currently used in Core to decide which rules to adopt anyhow. The SwitchDeclaration sniff does not create any PHPCS metrics, so we can't see how this has evolved in WP historically.
For now, I've added some metrics code locally and ran the info report (and opened a related upstream issue https://github.com/squizlabs/PHP_CodeSniffer/issues/1541).
The results were both interesting as well as surprising in some aspects:
PHP CODE SNIFFER INFORMATION REPORT
----------------------------------------------------------------------
Blank line at start of case/default:
        0 [3297/3325, 99.16%]
        1 => 28 (0.84%)

Case followed by space:
        1 [3056/3058, 99.93%]
        2 => 2 (0.07%)

Default/case statement followed by colon:
        yes [3325/3327, 99.94%]
        no => 2 (0.06%)

Fall through case:
        no [149/276, 53.99%]
        yes, with comment => 116 (42.03%)
        yes, but without comment => 11 (3.99%)

Keywords: lowercase [3327/3327, 100%]

Space before colon:
        no [2939/3325, 88.39%]
        1 => 365 (10.98%)
        5 => 4 (0.12%)
        4 => 4 (0.12%)
        3 => 4 (0.12%)
        2 => 4 (0.12%)
        8 => 2 (0.06%)
        7 => 1 (0.03%)
        9 => 1 (0.03%)
        6 => 1 (0.03%)

Terminating statement indented one tab from case:
        yes [1687/1873, 90.07%]
        no => 186 (9.93%)

Terminating statement on line by itself:
        yes [1873/1881, 99.57%]
        no => 8 (0.43%)
----------------------------------------------------------------------

Updated proposal
Based on this, I believe we should add the sniff:

SpacingAfterCase (99.9% compliance)
SpaceBeforeColon (88,3% compliance)
BodyOnNextLine  (99.2% compliance)
BreakIndent: (90.1% compliance)
WrongOpener (99.9% compliance)
TerminatingComment (86.6% compliance where relevant)

and exclude:

NotLower (100% compliance) - duplicate msg
BreakNotNewLine (99.6% compliance) - duplicate msg

Handbook updates needed
Based on the rules I mentioned above and what's already covered in a different way by WPCS (and therefore already in the handbook), I believe the only things which would still need to be added to the handbook would be:

"There must be no space before the colon in a case statement."
"When a case statement statement does not end in a break/return, but deliberately falls through to the next case, it must be so documented with a comment."
"There must be no blank line at the start of the code in a case or default statement." - providing  we'd choose to add BodyOnNextLine - this is not a hard rule for other control structures, so we may still need to think about this and/or add the same for other control structures in that case for consistency.

Oh - just noticed: the new example which was added to the handbook for the case/break indentation actually uses a space before the colon in the case statement, so this will need to be adjusted. /cc @ntwb
Detailed look at some of the results of the sniff
WrongOpener
WrongOpener would IMHO not need to be documented as code like that would mostly cause a parse error, so wouldn't be acceptable anyway.
I've investigated the two cases where this was flagged:

In wp-includes/class-wp-network.php around line 157 a semi-colon is used, which is clearly a typo and needs to be fixed.
Same goes for wp-includes/date.php around line 848.

I've opened a ticket in trac with a patch for these: https://core.trac.wordpress.org/ticket/41234
TerminatingComment
I've also looked at the TerminatingComment cases - most are legitimately flagged and could use a comment, a few are quite possibly bugs in the code where the fall-through is unintentional, and a few are situations where there is a control structure within the case and all possible pathways contain a return or break, but there is no return or break at the very end of the case.
We could consider turning this into a warning and for the last part (all pathways contain an exit) this should possibly be reported upstream as a bug.

Side-note: Adding this sniff and making these rules explicit in the handbook, funnily enough fills a void already pointed out in 2013 in some comments on the handbook https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#comment-9283 and https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#comment-9984 /cc @JDGrimes

I'm a little surprised at the space before colon stats, I thought there would be more cases where spaces have been used for alignment:
Here's some examples:

https://github.com/WordPress/wordpress-develop/blob/4.8.0/src/wp-admin/setup-config.php#L341-L348

case 'AUTH_KEY'         :
case 'SECURE_AUTH_KEY'  :
case 'LOGGED_IN_KEY'    :
case 'NONCE_KEY'        :
case 'AUTH_SALT'        :
case 'SECURE_AUTH_SALT' :
case 'LOGGED_IN_SALT'   :
case 'NONCE_SALT'       :

https://github.com/WordPress/wordpress-develop/blob/4.8.0/src/wp-admin/comment.php#L75-L78

case 'delete'  :
case 'approve' :
case 'trash'   :
case 'spam'    :

https://github.com/WordPress/wordpress-develop/blob/4.8.0/src/wp-admin/comment.php#L238-L244

case 'deletecomment'    :
case 'trashcomment'     :
case 'untrashcomment'   :
case 'spamcomment'      :
case 'unspamcomment'    :
case 'approvecomment'   :
case 'unapprovecomment' :

Oh - just noticed: the new example which was added to the handbook for the case/break indentation actually uses a space before the colon in the case statement, so this will need to be adjusted. /cc @ntwb

Done 👍

@WordPress-Coding-Standards/wpcs-collaborators I'd like some opinions on the proposed additions to the handbook.
Once that's been decided on the new sniff could be added - with or without exclusions - to fix the issue.

"There must be no space before the colon in a case statement."

Yes.

"There must be no blank line at the start of the code in a case or default statement."

Yes.

"When a case statement statement does not end in a break/return, but deliberately falls through to the next case, it must be so documented with a comment."

Just to clarify, this would only apply when there's a body to the case statement? A series of empty cases wouldn't require a comment for each.

Just to clarify, this would only apply when there's a body to the case statement? A series of empty cases wouldn't require a comment for each.

Correct.
// This would be fine.
switch ( $foo ) {
	case 'a':
	case 'b':
		break;
}

// This would be fine too.
switch ( $foo ) {
	case 'a':
	case 'b':
		return;
}

// This would require a comment for `case 'a'`.
switch ( $foo ) {
	case 'a':
		echo $foo;
	case 'b':
		return;
}

Okay, they've all been added to the handbook.

Thanks @pento.
I've pulled the rule addition now as PR #1021.
Note: This doesn't completely fix the issue yet. There is an open issue upstream regarding the docblock/inline HTML indentation: squizlabs/PHP_CodeSniffer#1539

I fully agree with the other two additions to the handbook, but I would note that personally I prefer to add a blank line at the start of any control structure block that is more than one or two lines long. I find this more readable. But I do realize that core usually doesn't follow this pattern, so I'll understand if core is going to standardize on no blank lines at the start of control structures. (And even I usually omit the blank line at the start of a case block, I only add them for other control structures.) I just thought that I would make my voice heard.

I prefer to add a blank line at the start of any control structure block that is more than one or two lines long. I find this more readable.

Same here, especially as a dyslectic. Whitespace can make a lot of difference in code readability.

Hrrm, that's an excellent point, it can improve readability. It's really not used very often in Core, though.
Given variations of the following command, here are the stats I got.
src$ ag --php --stats '^(\t+)(if|while|for|do|switch|case|foreach|[a-z]* ?function|(} )?else).*\n\n(\1\t.*\n){1}\1[^\t]' wp-includes/ wp-admin/

Block Length
No Blank
Blank

1
8924
4

2
2447
8

3
1112
4

4
889
8

5
670
7

6
462
1

7
381
2

8
237
9

9
235
9

10+
663
23

It's not at all common, though it does get slight more use as blocks get longer, which is to be expected.
I'm not really excited about any sort of hard rule depending on number of lines, though. Perhaps the best option is to soften the language a bit.
The first line of a new code block should not be blank, unless it clearly improves readability. The exception to this is the block inside a case statement, which must never start with a blank line.

unless it clearly improves readability.

That's open to wildly different interpretation, and that's not what we should be encouraging in the Handbook IMO.

Practical point:
What about leaving the "blank line at top" part out of the handbook as well as the ruleset for now and moving it to another issue to be discussed there ?
It's a discussion which is unrelated to this particular issue (switch layout not being fixed correctly) - and as far as I can see at this moment - not one which is currently causing fixer conflicts -, so we can leave deciding upon whether to have a soft/hard rule about blank lines and if so, the wording and the sniffs we'd need, for a later point in time.

Okay, I missed that it wasn't required for this fix. 🙂
I've removed the Blank Lines section from the handbook, pending further discussion.

@pento Sounds good to me. I've updated the open PR to reflect this now.

Reopened for the scope indent parts of the original report - the auto-close wasn't supposed to get triggered by the PR.

Just an observation: the rule of SpaceBeforeColon: There must be no space before the colon in a case/default statement kinda breaks the spacing consistency rules. Why is the case structure more special?
From the readability standpoint, I am in favor of spacing and empty lines to make the code much more easy to follow. Consistent rules make the code more easy to understand/implement/extend.
In this case, a more consistent rule would mean to treat the colon in the same in all the contexts, either when it's used in an alternative syntax for control structures, or as a ternary operator.

The comment indent part will be fixed by the upcoming DocCommentFormat sniff as per #1120.
That leaves the PHP open/close tags and associated indentation. This has been discussed in other issues.
PHPCS needs an anchor point to determine indent and uses the open/close tags for that, so this is a won't fix.
That concludes this issue as far as I'm concerned.


Add a redirect for new Usernames to UUIDs endpoint

As of 23w42a, the endpoint moved to: POST https://sessionserver.mojang.com/session/minecraft/profile/lookup/bulk/byname
See https://wiki.vg/Mojang_API#Usernames_to_UUIDs

Спасибо за помощь с проектом ❤


(3.0.0-3.6.0) Ptrace_scope not disabled for Ubuntu compute nodes

(3.0.0-3.6.0) Ptrace_scope not disabled for Ubuntu compute nodes
Bug description
Libfabric and EFA require that classic ptrace permissions are set on any AMI that uses them for maximum performance. The default setting in Ubuntu for the ptrace_scope kernel parameter is to restrict ptrace by default.  This means EFA will operate with reduced bandwidth since the cross memory attach feature is not available. Only versions of PC 3.0 or greater running on Ubuntu are affected.  Starting with PC version 3.0, PC AMIs are configured with these default settings which prevented ptrace permissions from being set correctly. Because of this, customers using PC v3.0 and later will experience much lower EFA bandwith than expected on Ubuntu AMIs.
Affected versions (OSes, schedulers)
All currently release versions of ParallelCluster 3 (3.0.0-3.6.0) at time of writing are affected.  This only affects Ubuntu AMIs.
Mitigation
You can find a detailed explanation and the mitigation of the problem https://github.com/aws/aws-parallelcluster/wiki/(3.0.0-3.6.0)-Ptrace_scope-not-disabled-for-Ubuntu-compute-nodes

The fix for this issue has been included in release 3.6.1.


fix: guard from missing function doc

Current dependencies on/for this PR:

main

PR #226   👈

This comment was auto-generated by Graphite.


fix(reporter): do not print warning if stack trace contains generated code invocation

For some projects, a preprocessor like TypeScript may run to downlevel
certain features to a lower ECMAScript target. e.g. a project may
consume Angular for example, which ships ES2020.
If TypeScript, ESBuild, Babel etc. is used to do this, they may inject
generated code which does not map to any original source. If any of
these helpers (the generated code) is then part of a stack trace, Karma
will incorrectly report an error for an unresolved source map position.
Generated code is valid within source maps and can be denoted as
mappings with a 1-variable-length mapping. See the source map spec:
https://sourcemaps.info/spec.html.
The warning for generated code is especially bad when the majority of
file paths, and the actually relevant-portions in the stack are
resolved properly. e.g.
Errors initially look like this without the source mapping processing
of Karma:
Expected false to be true.
<Jasmine>
runHarnessTests/</<@http://localhost:9877/base/angular_material/src/material/select/testing/unit_tests_bundle_spec.js:72191:40
fulfilled@http://localhost:9877/base/angular_material/src/material/select/testing/unit_tests_bundle_spec.js:26:26
invoke@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:372:26
ProxyZoneSpec.prototype.onInvoke@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-testing.js:301:43
invoke@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:371:52
run@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:134:43
scheduleResolveOrReject/<@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:1276:36
invokeTask@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:406:31
ProxyZoneSpec.prototype.onInvokeTask@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-testing.js:332:43
invokeTask@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:405:60
runTask@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:178:47
drainMicroTaskQueue@http://localhost:9877/base/npm/node_modules/zone.js/dist/zone-evergreen.js:582:35

A helper function shows up in the stacktrace but has no original mapping as it is
purely generated by TypeScript/ESbuild etc. The following warning is
printed and pollutes the test output while the remaining stack trace
paths (as said before), have been remapped properly:
SourceMap position not found for trace: http://localhost:9877/base/angular_material/src/material/select/testing/unit_tests_bundle_spec.js:26:26

The expected resolved stacktrace looks like this after the transformation:
        Expected false to be true.
        <Jasmine>
        runHarnessTests/</<@../../src/material/select/testing/shared.spec.ts:123:38 <- angular_material/src/material/select/testing/unit_tests_bundle_spec.js:72191:40
        fulfilled@angular_material/src/material/select/testing/unit_tests_bundle_spec.js:26:26
        invoke@npm/node_modules/zone.js/dist/zone-evergreen.js:372:26
        ProxyZoneSpec.prototype.onInvoke@npm/node_modules/zone.js/dist/zone-testing.js:301:43
        invoke@npm/node_modules/zone.js/dist/zone-evergreen.js:371:52
        run@npm/node_modules/zone.js/dist/zone-evergreen.js:134:43
        scheduleResolveOrReject/<@npm/node_modules/zone.js/dist/zone-evergreen.js:1276:36
        invokeTask@npm/node_modules/zone.js/dist/zone-evergreen.js:406:31
        ProxyZoneSpec.prototype.onInvokeTask@npm/node_modules/zone.js/dist/zone-testing.js:332:43
        invokeTask@npm/node_modules/zone.js/dist/zone-evergreen.js:405:60
        runTask@npm/node_modules/zone.js/dist/zone-evergreen.js:178:47
        drainMicroTaskQueue@npm/node_modules/zone.js/dist/zone-evergreen.js:582:35

More details on the scenario here:
https://gist.github.com/devversion/549d25915c2dc98a8896ba4408a1e27c.

@devversion thanks for this PR. Can you please correct your commit message to make sure our CI passes?

@jginsburgn rebased and fixed the commit message header (the limit is quite low tbh)

@jginsburgn rebased and fixed the commit message header (the limit is quite low tbh)

I agree! Can you file an issue to address this concern there?

@jginsburgn created #3722. hope that works

@devoto13 thanks for reviewing. Is there anything I can do to move that forward?

@devversion I think @jginsburgn needs to run qualifications tests against the Google monorepo and then merge this PR.

@devversion I think @jginsburgn needs to run qualification tests against the Google monorepo and then merge this PR.

@devversion I am on it :)

thx @jginsburgn

My pleasure ;)


fix(Landing): i18n

Deploy preview ready!
Built with commit ac73529bbaca4b3983db78a109657c6c634d90ec
https://deploy-preview-394--mcslite.netlify.com

Deploy preview ready!
Built with commit ac73529bbaca4b3983db78a109657c6c634d90ec
https://deploy-preview-394--mcs-lite-introduction.netlify.com

Deploy preview ready!
Built with commit ac73529bbaca4b3983db78a109657c6c634d90ec
https://deploy-preview-394--mcs-lite-ui.netlify.com

Deploy preview ready!
Built with commit 32fc4fbfdb099cadf37e2b33097749b5cf0d9f2e
https://deploy-preview-394--mcslite.netlify.com

Deploy preview ready!
Built with commit 32fc4fbfdb099cadf37e2b33097749b5cf0d9f2e
https://deploy-preview-394--mcs-lite-ui.netlify.com

Deploy preview ready!
Built with commit 32fc4fbfdb099cadf37e2b33097749b5cf0d9f2e
https://deploy-preview-394--mcs-lite-introduction.netlify.com


fix ethereal blood stone -> broken potentia craft

the crafting recipe uses the wrong meta item, baseAlchemyItems instead of baseItems
and yep the fixed recipe is then correctly removed like the other block -> slates crafting table recipes (i assume by the coremod)
fixes
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/8195
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/11840

we use this recipe in GTNH

we dont use a crafting recipe


Angular RC6 released

Another version just arrived. Can this get updated to RC6?

+1

Yes... I'm studying the changes, and then I'll update.

I released v0.10.0 compatible with rc.6. Please see the releases to know all the changes. Greetings!


[WIP] Bot api 3.0

This is the official PR to implement the Bot API 3.0.
For more info on the individual bits, see #501
(WIP as it needs to be tested with a client that supports payments)

@akalongman @MBoretto @jacklul
Any of you have an up-to-date client that supports payments?
The open-source one for mobile and the official desktop ones for mac don't support it yet 😒

Ok, this is taking long to push it, maybe we should just go on and merge this while noting changes were not tested?
Also any other 3.0 changes that aren't done yet?

@jacklul I totally agree with you, was thinking the same thing when I went through the issues yesterday. Will rebase and merge 👍
The only main thing still missing is the whole chapter of the games, which I have never looked into at all.


C/++: False positive - Unused static function

Alert:
https://lgtm.com/projects/g/cfengine/core/snapshot/4c539ec1d5521407a966fba34c93bb46d05d9895/files/libpromises/crypto.c?sort=name&dir=ASC&mode=heatmap#x35477c73e102d2eb:1
This function is used as a callback, passed as function pointer within the same file.

Thanks, I'll look into this.

Hi,
I believe the alert is correct.  OpenSSLLock_callback appears to be referenced as a callback in a call to CRYPTO_set_locking_callback, but this is in fact a macro invocation and the macro has been defined as nothing.  Thus, OpenSSLLock_callback is unreachable.
Let me know if you still have any questions or concerns.

@geoffw0 Thanks for the investigation! It looks like it's a no-op in the newer versions (running in LGTM) only, so we will probably add some #if guards for this.

Sounds good to me.


introduce Azure Active Directory OAuth provider

Azure AD is used by Office 365 tenants and supports authenticating users
using OAuth. So if you want to build Office 365 (Mail, Calendar,
Contacts) apps you can use this provider to authenticate users (your
tenant or multi-tenant). I'm using this for www.FreeBusy.io

@stefann42 We are looking for help moving to ASP.NET 5. Please read http://www.jerriepelser.com/blog/calling-contributors-for-oauth-providers

Saw your email, good call. Glad to contribute when we'll move our web app to ASP.NET 5 (probably next year).


sourceURL rewrite and external source maps

I am trying to use es6ify for a rather large project and we have two possibly related issues with source-map support:

I did not yet find a way to influence the generated sourceURL that es6ify emits into the code. It is always an absolute path right now.
I could not get it to work with a source map extraction step such as https://www.npmjs.com/package/exorcist or https://www.npmjs.com/package/mold-source-map. Is thery any guidance anywhere ?

I.e. we would like to use external maps and influence the generated file paths.

Same issue here. sourceUrl use absolute path and I have no way to disable it.

@matthiasg @dstendardi

I've been working on that. See #80 and the traceur issues linked to there (and other issues I've filed on traceur). Traceur currently makes it a pain in the neck to control the paths output in the source map. If they'll fix some of their issues it will make it a lot easier.

What exactly is happening, what doesn't work? Maybe you're running into the Chrome issue I reported here: #457419? If so, please star the issue (and comment if you have anything to add). In the short term it may be necessary to file an issue on traceur requesting an option to omit the //# sourceURL= comments, but based on the response I've gotten to issues so far I wouldn't hold your breath. That would be a band-aid anyway -- I believe the real problem is in chromium.


Correction for [Security System] No lights found error

With latest update found that I was receiving the following error (I do not have lights):
"Correction for [Security System] No lights found, ignore if expected, or check configuration with security system provider"
Found 3 syntax errors, "accessories []" rather than "accessories {}" and "system.lights" rather than "system.light".

Whoops, sorry about that, thanks for catching.


Error in Log when attempting to use IR for Aircon

Hi there,
The plug was working recently for me, but after an update, I am getting the following error when attempting to use my aircon integration;
Failed to change AC status due to error 设备离线
When I translate this it says "Device Offline" - however, I can use it in my Tuya Smart app and it is showing as online.
Any help would be amazing - thanks!

Nothing plugin can do if API doesn't return a success response. Can you please verify if your configuration is correct?

The same goes for me. Even more, previously it was working fine, but after the last update it does this:
[10/21/2022, 8:33:25 PM] [TuyaIR] Failed to change Air Conditioner mode due to error 没有查询到码库
[10/21/2022, 8:33:27 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库
[10/21/2022, 8:33:27 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库
[10/21/2022, 8:33:30 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库
[10/21/2022, 8:33:30 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库
[10/21/2022, 8:33:32 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库
[10/21/2022, 8:33:32 PM] [TuyaIR] Failed to change Air Conditioner temperature due to error 没有查询到码库

Closing due to inactivity.


FROM python:latest makes apk add unusable

Hey there,
Don't really know if this belongs here or in alpine's repo:
I'm building a dockerfile to keep alpine and python always to latest version so I don't have to update the dockerfile all the time for projects.
I have this dockerfile which does that in an imperfect manner:
FROM alpine:latest

RUN apk add --update python3 py3-setuptools python3-dev py3-pip
RUN apk install gcc libc-dev g++ libffi-dev libxml2 unixodbc-dev freetds-dev vim -y
RUN pip3 install --upgrade pip

RUN pip install requests pyodbc selenium urllib3

Now this works, but if I still have to change the python library names every now and then.
So to solve that I made this Dockerfile:
FROM alpine:latest
FROM python:latest

RUN apk add --update
RUN apk install gcc libc-dev g++ libffi-dev libxml2 unixodbc-dev freetds-dev vim -y

RUN pip install requests pyodbc selenium urllib3

Turns out that when you use the  FROM python:latest the APK command fails:

I'm kind of new to this Docker thingie, and I quite like it, is there something that I am missing here or is this a bug?

See https://docs.docker.com/develop/develop-images/multistage-build/ what does mean when there is multiple "FROM" in single Dockerfile.
It's expected to does apk when python:latest is used. python:latest base on debian:buster which does not support apk, use RUN apt or FROM python:alpine instead. See:
$ docker run -it python:latest cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Ahh! Makes a lot of sense! Thanks :)


[WIP]: TxP support for equivalent values

I'm not sure if the EquivalentPrice should also be defined in the asset proto package rather than alongside the TxP? I filled in an implementation that inserts equivalent values into TransactionViews but I realized that because it relies heavily on the TxP it may not be directly useful for the web extension use cases, which so far seem mostly about balances (?).
However, while doing that I realized that in the context of viewing a transaction, it doesn't really make sense to just have an "equivalent value" on its own, so I added an as_of_height to allow indicating when the prices were relevant.

Closes #3838 whenever we work out what the right design is

I think this makes sense. As we are scanning through blocks, we'll use the new prices: Vec<EstimatedPrice> available in the transaction (the node provides this right?) and save these to our DB.

Well, I'm not 100% sure if we want to do this, since it gets to the problem that asks for an as_of_height: when viewing a transaction, what are the right prices to display? The historical ones? The current ones? How would we convey the time of the price in the UI?
I think this would need a bit more product thinking than we've done so far, it seems like a bit of a rabbithole, so we might be better off not doing anything for now and only focusing on the other parts of the RPC (like balances) which are inherently "current" data. But that's exactly the use case the current state of this PR doesn't address, since it only works on transactions.

Then, upon request for balances, we'll fill out the ValueViews by querying the DB & applying some filtering (specific numeraire, recency/confidence, etc) and making the conversion like you did in the view_value method.

Right, the issue I was pointing to is that (in the current state of this branch) this isn't possible, since the equivalent values can only be generated in the context of a Transaction.

I updated the PR to make it possible to use the estimated prices independently of the TxP mechanism. I think it's good to go now.
The breaking change notifications from the proto lint is a false positive, it's comparing to the previous run rather than comparing to the pre-PR state.

I updated the PR to make it possible to use the estimated prices independently of the TxP mechanism. I think it's good to go now.

On the web side of things, it seems we'd just need to adjust the price sourcing (versus relying upon tx). For example, we'd have to do something like:

Scan through blocks
If swapOutputs detected, loop through them and save swap to database

Table: "SWAP_OUTPUTS"
Fields:

in: Amount (delta1 - lambda1)
out: Amount (delta2 - lamda2)
height: BigInt
tradingPair: TradingPair

On Balances rpc call, query db

I updated the PR to make it possible to use the estimated prices independently of the TxP mechanism. I think it's good to go now.

On the web side of things, it seems we'd just need to adjust the price sourcing (versus relying upon tx). For example, we'd have to do something like:
* Scan through blocks

* If `swapOutputs` detected, loop through them and save swap to database

  * Table: "SWAP_OUTPUTS"
  * Fields:

    * in: Amount (delta1 - lambda1)
    * out: Amount (delta2 - lamda2)
    * height: BigInt
    * tradingPair: TradingPair

* On Balances rpc call, query db

@grod220 I think https://github.com/penumbra-zone/web/issues/556 is a more general design


For example this vertex shader is a neat trick to draw a fullscreen pass without any vertex buffer:
#version 330 core
out vec2 uv;

void main()
{
    uv = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2);
    gl_Position = vec4(uv * 2.0f + -1.0f, 0.0f, 1.0f);
}

Sokol pipeline validation though does not permit this, using the following validation:
https://github.com/floooh/sokol/blob/master/sokol_gfx.h#L10440
This is not valid, and we should allow pipelines without any layout attributes to be created.

Hi, the reason why attribute-less rendering isn't allow in sokol_gfx.h is that this isn't supported by GLES2 and WebGL (gl_VertexID was only added to GLES3 and WebGL2).
It might make sense to declare this as an optional feature though, I'll think about it.
Thanks for writing the issue!

Just ran into the same issue, support for this would be great.

@floooh Why keep GLES2 and WebGL around? Can't they be replaced by GLES3 and WebGL2 across the board?

It's also required with WebGL2 and angle backend (d3d9)

@floooh Why keep GLES2 and WebGL around? Can't they be replaced by GLES3 and WebGL2 across the board?

Believe it or not, Apple has never moved beyond 60% broken webgl2 support on its devices. We'll have to wait until they bother with WebGPU, most likely, as that uses Metal underneath. I think that there should be a WebGL 1 extension for hacking-in some things optionally.

Apple has never moved beyond a mostly un-implemented webgl2 support

Safari Technology Review on macOS now actually has a working WebGL2 implementation based on ANGLE (it was just enabled by default a couple of days ago), I don't know how far along the iOS version is. But once this lands in the stable version I might indeed start plotting to remove the GLES2/WebGL1 support.

Upvoting this. Something like a feature flag would be greatly appreciated.

Closing this ticket in favour of: https://github.com/floooh/sokol/issues/922
(now that GLES2/WebGL1 has been dropped it's time to look into that topic again)

("closed as not polanned" actually means "closed as duplicate"!)


Can't lint files in . directories.

Say I have .config dir in which i have files i want to eslint. And with this extension i cannot do this.

@Truedrog does this work from the command line? The extension doesn't do anything special here. If you open the file in VSCode is limiting still not working?

eslint .gaia\tasks\test.js

C:\work\test-project.gaia\tasks\test.js
0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override
✖ 1 problem (0 errors, 1 warning)
I think this is the cause of my problem.

Figured out with .eslintignore
!.gaia
!.gaia/**/*


Check if the upstream tarball is already present in the lookaside cache

This will speed up local development a lot!
Also saves bandwidth.

This is fixed and present i 0.1.0


[ShapeCast2d] Adding a ConvexPolygonShape2d causes Godot to crash

Tested versions

Reproducible in :

Godot v4.2.1.stable - macOS 14.3.1 - Vulkan (Mobile) - integrated Apple M1 Pro - Apple M1 Pro (8 Threads)
Godot v4.3.dev3 - macOS 14.3.1 - GLES3 (Compatibility) - Apple M1 Pro - Apple M1 Pro (8 Threads)
Godot v4.1.3.stable - macOS 14.3.1 - Vulkan (Compatibility) - Apple M1 Pro - Apple M1 Pro (8 Threads)

System information
Godot v4.2.1.stable - macOS 14.3.1 - Vulkan (Mobile) - integrated Apple M1 Pro - Apple M1 Pro (8 Threads)
Issue description
When adding a ConvexPolygonShape2D or ConcavePolygonShape2D to any ShapeCast2d nodes, Godot freezes and then crash. This happens just after pressing the "New ConvexPolygonShape2d" as shown in the screenshot.

Steps to reproduce
The reproduce: create a new empty project, create a root Node2d node and then add a ShapeCast2d as children. Select "ConvexPolygonShape2D" as the shape - Godot crashes freezes for 1-2min and then crashes.
Minimal reproduction project (MRP)
test.zip

No crashes or freezes on master with this on Windows.
SInce this happens (only) on an integrated Apple device it might as well be a device specific rendering caused crash because when you change the shape it needs to update the canvas item debug visuals.
The physics is disabled for shape casts in the Editor and does not do anything so it is certainly not a physics bug.

When observing my Activity Monitor, I can observe that Godot goes from taking 1-2gb of memory to >80 gb before crashing.
Is there any data I can provide you to help identify the issue ?


Native PDF View: The plugin native_pdf_view doesn't have a main class defined

Describe the bug
I get the following error when installing the package with
flutter pub add native_pdf_view
The plugin native_pdf_view doesn't have a main class defined in C:\Users\USERNAME\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\native_pdf_view-1.0.3\android\src\main\java\io\scer\native_pdf_view\NativePDFViewPlugin.java or
C:\Users\USERNAME\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\native_pdf_view-1.0.3\android\src\main\kotlin\io\scer\native_pdf_view\NativePDFViewPlugin.kt. This is likely to due to an incorrect androidPackage: io.scer.native_pdf_view or mainClass entry in the plugin's pubspec.yaml.
If you are the author of this plugin, fix the androidPackage entry or move the main class to any of locations used above. Otherwise, please contact the author of this plugin and consider using a different plugin in the
meanwhile.
This is my pubspec.yml
name: my_project_name
description: A new Flutter project.

publish_to: "none"
version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  flutter_bloc: ^7.1.0
  bloc: ^7.0.0
  equatable: ^2.0.3
  font_awesome_flutter: ^9.1.0
  flutter_treeview: ^1.0.4+1
  photo_view: ^0.12.0
  chewie: ^1.2.2
  video_player: ^2.1.12
  just_audio: ^0.9.5
  audio_session: ^0.1.5
  rxdart: ^0.27.1
  native_pdf_view: ^1.0.3

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true
  assets:
    - assets/audio/
    - assets/images/
    - assets/videos/

Device

Windows 10

Additional context
Flutter Version: 2.2.3
Dart Version: 2.13.4

native_pdf_view: ^1.0.3 already outdated
you can use more actual version: https://pub.dev/packages/native_pdf_view/versions


Reload config failed, ssl string very long

Hi @vfarcic,
My system has a lot of domains, resulting in very long ssl sequences
Ex: cat haproxy.cfg >> bind *:443 ssl crt /certs/abc.com.pem crt /certs/xyz.com.pem .....(>50 domain)
That is why the proxy does not reload the configuration. I think you can replace it with crt-list
https://www.haproxy.com/doc/aloha/7.0/haproxy/tls.html
Thank you,
PVL

I never tried it with such a long list of certs. crt-list sounds like a good idea. I think that I can have it done the beginning of the next week. The major obstracle is testing. If you'd be willing to test it, I should be able to have it done this Friday.

I did the change and pushed it as a temporary release. Can you please use vfarcic/docker-flow-proxy:issue254 image and let me know if you experience any problems. I'll wait for your confirmation before making the official release.

Hello @vfarcic,
Thank you for your enthusiasm and hard working
I will test the image you provided and will confirm it for you today.

Hello @vfarcic,
I have tested the image you provided vfarcic / docker-flow-proxy: issue254, when the number of domains on hundreds of proxies is still running fine.
The problem has been fixed
Thank you for your effort

Great! Code is merged to the main branch and will be available in the release 1.405.


update practices

update practices

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.yang131313 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fix: baremetal MegaRaid mul adapter parse error

这个 PR 实现什么功能/修复什么问题:
修复:

baremetal megaraid 多个 adapter 时解析错误
megaraid 的物理盘 strip size 没有填充

是否需要 backport 到之前的 release 分支:

release/2.9.0

/area baremetal
/cc @swordqiu

Codecov Report

Merging #1068 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #1068      +/-   ##
=========================================
+ Coverage    7.88%    7.9%   +0.01%
=========================================
  Files         356     356
  Lines       56439   56439
=========================================
+ Hits         4453    4464      +11
+ Misses      51590   51580      -10
+ Partials      396     395       -1

Flag
Coverage Δ

#aFlag
7.9% <ø> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/util/rbacutils/rbac.go
76.03% <0%> (+3.51%)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm
/approve


Class 'Gregwar\Cache\Cache' not found in /SERVER/

cache is not found how to resolve it?

when i write the code for saving the file in server it gives me this error. if it comment that line it is not showing any error.
$img->merge($img1,$xpos,$ypos);
$img->save('./uploads/'.$name, 'jpg'); // Error is caused by this line

Did you installed with composer?


Disabling script template is not remembered after editor restart

Godot version
4.0 11e1bac
System information
Windows 10 x64
Issue description
When you disable script template to have an empty script, it will only be remembered until you exit the editor. Next time you will have to disable it again. Pretty sure it wasn't like that when the feature was implemented for the first time.
Steps to reproduce

Add script to node
Uncheck this

Restart the editor
It's enabled again

Minimal reproduction project
No response

It looks like this is not a regression, but an initially unimplemented behavior.

I reviewed and approved the original implementation (#53957) and according to the comments it was implemented at some point.

Indeed, this was originally implemented, but then was accidentally removed in #59603.

I'm not entirely sure what templates_dictionary is for, but it looks like that logic has been removed as well.
https://github.com/godotengine/godot/pull/59603/files#diff-265788e1751b9ed8b0ec9dad4e96ecbfd7a85457b078e13bfaccd053eb2cf858L600-L603

I left a comment in https://github.com/godotengine/godot/pull/59603. That PR was wrong.


Does not work with IE9

The game doesn't work in Internet Explorer 9. It comes up and the page looks weird.

Ooops. Missing a DOCTYPE to force IE to render in IE9 Standard mode. Also added the meta tag to force IE to use edge mode for rendering.


No CUDA CPUs available

When I run the last part of the code of koi_colab_backend.ipynb on Google free colab, this error message is shown:
RuntimeError                              Traceback (most recent call last)

[<ipython-input-1-d8ad22a0a101>](https://localhost:8080/#) in <module>
     16 pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
     17     "CompVis/stable-diffusion-v1-4", use_auth_token=True
---> 18 ).to("cuda")
     19
     20 secho("Finished!", fg="green")

6 frames

[/usr/local/lib/python3.7/dist-packages/torch/cuda/__init__.py](https://localhost:8080/#) in _lazy_init()
    215         # This function throws if there's a driver initialization error, no GPUs
    216         # are found or any other error occurs
--> 217         torch._C._cuda_init()
    218         # Some of the queued calls may reentrantly call _lazy_init();
    219         # we need to just return without initializing in that case.

RuntimeError: No CUDA GPUs are available

That's strange, because I can run the pharma SD notebook without problems on free Google colab. This notebook uses CUDA too.
I removed then CUDA from this line and no error occurs.
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
    "CompVis/stable-diffusion-v1-4", use_auth_token=True
)

Right now I just started the server, but didn't try to generate an image. So, I'm not sure if this still works after my change.
There are two more places, where CUDA is used:
torch.cuda.manual_seed(seed)

  with autocast("cuda"):
        return_image = pipe(
            init_image=img,
            prompt=headers["prompt"],
            strength=float(headers["sketch_strength"]),
            guidance_scale=float(headers["prompt_strength"]),
            num_inference_steps=int(headers["steps"]),
        )["sample"][0]

I have got now three questions:

Why isn't it possible to use CUDA although the GPU supports it in general?
Will image generation still work after my change described above?
How have the code parts posted above to be changed, if CUDA can't be used?

Thanks!

hey! have you double checked that you are using a gpu hardware accelertator in colab?
this can be done by going to Runtime > Change Runtime Type > Accelerator (select GPU)

Why isn't it possible to use CUDA although the GPU supports it in general?

it is, there is likely a smaller error causing these issues :)

Will image generation still work after my change described above?

unlikely, and if it will then it will be slow (best to use a gpu)

How have the code parts posted above to be changed, if CUDA can't be used?

theoretically you should be able to alter the seed method to remove the cuda calls to avoid these issues

Thank you! That fixed the problem.

Hey! Glad you’re having fun. Unfortunately google puts limits on how long you can use their GPU’s for free.Usually the timeout is around 12-24 hours depending. (they change it all the time). You should be able to re-access a gpu tomorrow, for example!On Sep 8, 2022, at 7:25 AM, BlitzAce71 @.***> wrote:
When I go to Runtime > Change Runtime Type > GPU I get this message:
Cannot connect to GPU backend
You cannot currently connect to a GPU due to usage limits in Colab.
And this is after I've used Koi successfully maybe 5-6 times. But now Colab won't use a GPU accelerator and I get the "no CUDA GPUs available" error every time. Which is too bad, because I love this thing!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Thanks for the quick reply, I'll get back at it tonight!


Field resourceGroup is missing when we list container apps in a subscription

Package Name: azure-mgmt-appcontainers
Package Version: 3.0.0
Operating System: windows / linux
Python Version: 3.11

Describe the bug
The field resourceGroup is not mapped and cannot be retrieved in python.
To Reproduce
Steps to reproduce the behavior:

call client.container_apps.list_by_subscription()
take the first item in the list and print values

Expected behavior
A resource_group_name property should be present and mapped from the result

Hi @btpemercier, thank you for opening an issue! I'm tagging folks who should be able to help; we'll get back to you as soon as possible.

@btpemercier We are looking into it and get back to you for any additional information.


Support a few list like operations on ChatPromptTemplate

Make it easier to work with chat prompt template

lgtm, would be good to add to docs somewhere (can be sep pr)!


I cant read my card

I use pi3 , I see this, so one step by step i do,
but nothing print , no error,no uid,
I waste a day to fix , but i am fail.
I think it is my gpio not right ,can you tell me how i should  do.
I use Physical pin same to you , but I think it is not right with pi3

It should be, theoretically, fixed now


labop is not available on PyPi

Our documentation says that labop is available on PyPi, but it is not.
Only the pre-name-change version pypaml is there.

i guess the question is 'why not' - the name is available and it would probably take 20 seconds and a twine command?


[release-2.37.0] Fix BoundedQueueExecutor and StreamingDataflowWorker to actually limit memory from windmill

Cherrypick #16901 into 2.37.0 release branch
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

FYI @dpcollins-google

Not planning to cut another RC for this, since we can just make the change in released Dataflow workers.

Run Java PreCommit


poppler: 21.02.0 -> 21.05.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/poppler-glib/versions.
meta.description for poppler is: "A PDF rendering library"
meta.homepage for poppler is: "https://poppler.freedesktop.org/"
meta.changelog for poppler is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 21.03.0 with grep in /nix/store/75hr95dnbp0ckn8vm1r9yblvb29nq751-poppler-glib-21.03.0

found 21.03.0 in filename of file in /nix/store/75hr95dnbp0ckn8vm1r9yblvb29nq751-poppler-glib-21.03.0

directory tree listing: https://gist.github.com/c170b7012de5716dbe4d23943a9ffa14

du listing: https://gist.github.com/39804706275b58adca4e4f2d683bc73c

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

1844 total rebuild path(s)

604 package rebuild(s)

604 x86_64-linux rebuild(s)
540 i686-linux rebuild(s)
171 x86_64-darwin rebuild(s)
529 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
R
adapta-gtk-theme
aesop
anystyle-cli
apostrophe
apvlv
arc-theme
arx-libertatis
asciidoc-full
asciidoc-full-with-plugins
asymptote
auctex
autofs5
beamerpresenter
bibata-cursors
bibata-cursors-translucent
bibata-extra-cursors
bookworm
btrbk
calibre
calligra
capitaine-cursors
ccache
ccacheStdenv
ccacheWrapper
cddlib
chrome-gnome-shell
cinnamon.cinnamon-common
cinnamon.cinnamon-control-center
cinnamon.cinnamon-gsettings-overrides
cinnamon.cinnamon-screensaver
cinnamon.cinnamon-session
cinnamon.cinnamon-settings-daemon
cinnamon.iso-flags-png-320x420
cinnamon.iso-flags-svg
claws-mail
claws-mail-gtk3
clevis
cloudcompare
colord
colord-gtk
cups-filters
darktable
dblatex
dblatexFull
denemo
diff-pdf
diffpdf
digikam
disorderfs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/75hr95dnbp0ckn8vm1r9yblvb29nq751-poppler-glib-21.03.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/75hr95dnbp0ckn8vm1r9yblvb29nq751-poppler-glib-21.03.0
ls -la /nix/store/75hr95dnbp0ckn8vm1r9yblvb29nq751-poppler-glib-21.03.0/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @ttuegel @jtojnar @worldofpeace for testing.

@GrahamcOfBorg build inkscape cups-filters texlive scribusUnstable

Do we need to fix scribusUnstable for this to move ahead? This already fixes the broken state of the rather popular gdal and postgis libraries: even though that's on Darwin, perhaps that's a higher priority, assuming there's a "regular" scribus that still works?

The regular scribus is ancient and effectively unmaintained, and what we call “unstable” is considered stable by upstream. And IMO infinitely more useful than the stale version, just like with NixOS.

Hmm, it looks like scribusUnstable actually builds so it must have been a spurious CI failure.

Oh yay, thanks @jtolnar.


on v2.8.0 Toast doesn't show

After upgrading native-base to 2.8.0, Toast component dosen't show up. After several attempts some fade is noticeable. It seems like toast's close method is execute immediately after showing up, duration set in config object is ignored.
node, npm, react-native, react and native-base version, expo version if used
react-native: 0.57.0
react: 16.5.1
native-base: 2.8.0
Is the bug present in both iOS and Android or in any one of them?
Occurred on Android (not checked on iOS)

I also encountered this problem.
**
react-native: 0.57.4
react: 16.6.0-alpha.8af6728
native-base: 2.8.1
**

I forgot to add that issue occurred on Android 6.0

Currenlt experiencing this now with
RN: 0.57.5
NB: 2.8.1
React: 16.6.1
This is the unhandled rejection error i get

From the docs:

For Toast to work, you need to wrap your topmost component inside <Root> from native-base.

I must admit I had also skipped this and had jumped straight to the "styled Toast" section. An idea would be to throw an error saying Did you forget to wrap your App component in <Root>? (see https://docs.nativebase.io/Components.html#toast-def-headref)

I'm experiencing an inssue that sometimes it shows for less time then the duration, i.e. duration 5000 doesn't even shows up and duration 10000 shows for like 2sec,
Not sure if it's a native base problem or something to do with the clock discrepancy between connected phone and node running PC.
Not sure if it will happen in the production release.
In either way, do you guys have any thoughts in how to handle this beforehand ?


0.0.32 is not the latest version, source code different with github

for example, label_studio_sdk.client.py
The position of self.cookies = cookies is different
the code from 0.0.32
class Client(object):
    def __init__(
        self,
        url: str = None,
        api_key: str = None,
        credentials=None,
        session=None,
        extra_headers: dict = None,
        cookies: dict = None,
        oidc_token=None,
        versions=None,
        make_request_raise=True,
    ):
        """Initialize the client. Do this before using other Label Studio SDK classes and methods in your script.

        Parameters
        ----------
        url: str
            Label Studio host address.
            Example: http://localhost:8080
        api_key: str
            User token for the API. You can find this on your user account page in Label Studio.
        credentials: ClientCredentials
            User email and password or api_key.
        session: requests.Session()
            If None, a new one is created.
        extra_headers: dict
            Additional headers that will be passed to each http request
        cookies: dict
            Cookies that will be passed to each http request.
        oidc_token: str
            Bearer token for proxy authentication - in case the server is behind an authenticating proxy.
        versions: dict
            Versions of Label Studio components for the connected instance
        make_request_raise: bool
            If true, make_request will raise exceptions on request errors
        """
        if not url:
            url = os.getenv('LABEL_STUDIO_URL', LABEL_STUDIO_DEFAULT_URL)
        self.url = url.rstrip('/')
        self.make_request_raise = make_request_raise
        self.session = session or self.get_session()

        # set api key or get it using credentials (username and password)
        if api_key is None and credentials is None:
            api_key = os.getenv('LABEL_STUDIO_API_KEY')

        if api_key is not None:
            credentials = ClientCredentials(api_key=api_key)
        self.api_key = (
            credentials.api_key
            if credentials.api_key
            else self.get_api_key(credentials)
        )

        # set headers
        self.headers = {'Authorization': f'Token {self.api_key}'}
        if oidc_token:
            self.headers.update({'Proxy-Authorization': f'Bearer {oidc_token}'})
        if extra_headers:
            self.headers.update(extra_headers)

        # set cookies
        self.cookies = cookies

        # set versions from /version endpoint
        self.versions = versions if versions else self.get_versions()
        self.is_enterprise = 'label-studio-enterprise-backend' in self.versions

This code from github master branch
class Client(object):
    def __init__(
        self,
        url: str = None,
        api_key: str = None,
        credentials=None,
        session=None,
        extra_headers: dict = None,
        cookies: dict = None,
        oidc_token=None,
        versions=None,
        make_request_raise=True,
    ):
        """Initialize the client. Do this before using other Label Studio SDK classes and methods in your script.

        Parameters
        ----------
        url: str
            Label Studio host address.
            Example: http://localhost:8080
        api_key: str
            User token for the API. You can find this on your user account page in Label Studio.
        credentials: ClientCredentials
            User email and password or api_key.
        session: requests.Session()
            If None, a new one is created.
        extra_headers: dict
            Additional headers that will be passed to each http request
        cookies: dict
            Cookies that will be passed to each http request.
        oidc_token: str
            Bearer token for proxy authentication - in case the server is behind an authenticating proxy.
        versions: dict
            Versions of Label Studio components for the connected instance
        make_request_raise: bool
            If true, make_request will raise exceptions on request errors
        """
        if not url:
            url = os.getenv('LABEL_STUDIO_URL', LABEL_STUDIO_DEFAULT_URL)
        self.url = url.rstrip('/')
        self.make_request_raise = make_request_raise
        self.session = session or self.get_session()

        # set cookies
        self.cookies = cookies

        # set api key or get it using credentials (username and password)
        if api_key is None and credentials is None:
            api_key = os.getenv('LABEL_STUDIO_API_KEY')

        if api_key is not None:
            credentials = ClientCredentials(api_key=api_key)
        self.api_key = (
            credentials.api_key
            if credentials.api_key
            else self.get_api_key(credentials)
        )

        # set headers
        self.headers = {'Authorization': f'Token {self.api_key}'}
        if oidc_token:
            self.headers.update({'Proxy-Authorization': f'Bearer {oidc_token}'})
        if extra_headers:
            self.headers.update(extra_headers)

        # set versions from /version endpoint
        self.versions = versions if versions else self.get_versions()
        self.is_enterprise = 'label-studio-enterprise-backend' in self.versions

When will the latest version be released?
0.0.32 has bugs!

Ran into the same issue, .32 has a bug where you can't use credentials without api key since the cookies field is accessed before it is instantiated.


Adjusting alerts when logged in doesn't save the settings to the cloud

Renaming a sensor and adjusting offsets saves instantly to the cloud on Android and iOS.
Also adjusting alerts saves to the cloud but on iOS only. On Android, user has to close the settings page using device's back button/arrow in order to sync the modifications with the cloud.
Please make Android work the same way. Otherwise I would imagine users will configure alerts and close the app and the app didn't sync the new settings to the cloud.

Reproduced.

QA passed


Remove unused order variable from EditorResourcePreview

Added in d5348eebdc7228f7836582cd9bd4ed4f5fd59348, doesn't seem to have been ever used.

Thanks!


New package: tecwindow.SoundTranscriber version 1.1.2

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/113722&drop=dogfoodAlpha

/AzurePipelines run

@microsoft-github-policy-service agree

Template: msftbot/requiresApproval/moderator

msftbot/requiresApproval/moderator

/AzurePipelines run

Hi @MesterPerfect,
In a VM, this package installed normally, but gave this error when launched:

It might be due to the VM not having an audio output device. Is this expected?

/AzurePipelines run

/AzurePipelines run

/AzurePipelines run

https://github.com/microsoft/winget-pkgs/issues/111634

Template: msftbot/requiresApproval/moderator

[Policy] Blocking-Issue

@ItzLevvie
What is supposed to happen now

What is supposed to happen now

It look like the application need dependcies to install successful

What is supposed to happen now

It look like the application need dependcies to install successful

Well, can I add dependencies in winget code or should I add them to the installer

What is supposed to happen now

It look like the application need dependcies to install successful

Well, can I add dependencies in winget code or should I add them to the installer

It look like winget will support package dependcies in new version.

@stephengillie
I have added this to the installer.yaml file
Dependencies:
  PackageDependencies:
    - PackageIdentifier: Microsoft.VCRedist.2015+.x64

Is this enough to install and run the program without the error message؟

What is supposed to happen now

It look like the application need dependcies to install successful

Well, can I add dependencies in winget code or should I add them to the installer

Adding the dependencies to the installer will allow you to control the install and verify that they're installed. Also it will make the installer more portable and less-dependent on external manifests for any package manager. While we have dependencies enabled in the pipelines to facilitate "grandfathered" packages, we're working to make dependency support more robust before accepting new packages with dependencies.

@stephengillie
I have added this to the installer.yaml file
Dependencies:
  PackageDependencies:
    - PackageIdentifier: Microsoft.VCRedist.2015+.x64

Is this enough to install and run the program without the error message؟

This syntax appears correct.

/AzurePipelines run

/AzurePipelines run

Please ignore the Internal-Error-Dynamic-Scan error - it's a catch-all error for several pipeline issues we're working to diagnose, and doesn't indicate anything about the package.

/AzurePipelines run


"Grădina", "Casian", "Cheia" are listed in the drop-down menu

Description:
When user writes "Grădina", "Casian", "Cheia" the location appears in the drop-down menu next to the comune and the county which is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Grădina"

Expected results
The location appears in the drop-down menu as "Sat Grădina, CONSTANȚA, (Grădina)"

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Casian"

Expected results
The location appears in the drop-down menu as "Sat Casian, CONSTANȚA, (Grădina)"

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Cheia"

Expected results
The location appears in the drop-down menu as "Sat Cheia, CONSTANȚA, (Grădina)"


Removing prefer-binary PIP requirement

Description
These --prefer-binary lines in our PIP requirement files appear to be defunct.
The reason it is important to remove them, is very soon the PIP ecosystem will no longer support ANYTHING in requirements files except a "library ><= version lines". This is the error we will soon see:
test: install_package_deps> python -I -m pip install configparser coverage<=6.5.0 future h5py>=3.0 htmltree
matplotlib numpy<=1.23.5,>=1.21 ordered-set pillow pluggy pyDOE pyevtk scipy tabulate voluptuous xlrd
yamlize -cD:\a\armi\armi\.tox\test\constraints.txt

**DEPRECATION**: Constraints are only allowed to take the form of a package name and a version specifier.
Other forms were originally permitted as an accident of the implementation, but were undocumented.
The new implementation of the resolver no longer supports these forms. A possible replacement is
replacing the constraint with a requirement.
Discussion can be found at https://github.com/pypa/pip/issues/8210

Checklist

[X] This PR has only one purpose or idea.
[X] Tests have been added/updated to verify that the new/changed code works.

[X] The code style follows good practices.
[X] The commit message(s) follow good practices.

[X] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[X] The documentation is still up-to-date in the doc folder.
[X] The dependencies are still up-to-date in setup.py.

@ntouran So far, my testing has shown these --prefer-binary lines can be safely removed.
Do you remember the history here of WHY we needed this in the first place?

Here's why it was added:

The pytest --prefer-binary flag was added to get around issues where pip
was grabbing a Python 3.6-incompatible source distribution of h5py
rather than an older wheel that supports Python 3.6.

You can definitely remove it.


PUA Events query not working

The query to detect PUA events with Advanced Hunting does not seem to work. I am getting the following error:
 Semantic error
Error message
'where' operator: Failed to resolve scalar expression named 'ThreatName'
How to resolve
Fix semantic errors in your query

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

ID: 277950a2-8ece-d717-b02b-29dbe579b85b
Version Independent ID: 9efa9a6f-519c-c3ca-f2e3-a902280231d9
Content: Block potentially unwanted applications with Microsoft Defender Antivirus
Content Source: microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus.md
Product: m365-security
Technology: mde
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

Thank you @mgrote03 for letting us know about this issue. My apologies for the query not working correctly. And thank you @yogkumgit for your help. I have reached out to a PM on the product team to help get this resolved. It might take a few more days but I will update the content as soon as I get a response. Will post an update here soon.

@mgrote03, please try this query:
DeviceEvents
| where ActionType == "AntivirusDetection"
| project Timestamp, DeviceName, FolderPath, FileName, SHA256, x = parse_json(AdditionalFields)
| evaluate bag_unpack(x)
| where ThreatName startswith_cs 'PUA:'
| project Timestamp, DeviceName, FolderPath, FileName, SHA256, ThreatName, WasExecutingWhileDetected, WasRemediated
I have updated the content, and the changes will be live at around noon (Pacific Time) tomorrow.
Thanks again for letting us know about this issue!

Hi, no problem!
This query works fine, thanks!


fix(material/paginator): not emitting instance of PageEvent

Fixes that the paginator's page event is typed to emit a PageEvent, however the value is only an event that matches the PageEvent interface, it isn't an actual instance of the class which can throw off instanceof checks.
Fixes #26546.

I ran a TGP on this which revealed some breakages. The problem is that there are apps with tests that do expect(page).toHaveBeenCalledWith({pageSize: 10}). They'll have to be changed to expect(page).toHaveBeenCalledWith(jasmine.objectContaining({pageSize: 10})).


Add: reactplay project in the readme

I have no information on this project to accept it, so please read the readme. And open an issue properly or just read the readme and make corrections to this PR. Thanks


Improvements to Kieseritzky Gambit

There was no base position for the Kieseritzky Gambit yet
Kieseritzky Gambit, Berlin Defense was reached twice, with the second one just one move further in the continuation.
Rubinstein Variation is actually a subvariation of the Berlin Defense

PS: I'm the one who made all these opening changes a week ago to ornicar/scalachess, so... from now on I'll put them here?

Thank you for these improvements and the ones before.
And yes, changes here are easier to apply to scalachess than the other way around, plus this repository has some automated consistency checks.


Improve text logging

Now the log can contain messages like:
ERROR: PuppeteerPool: cannot close the browsers {}

It should look like:
ERROR: PuppeteerPool: cannot close the browsers

Fixed


Rename check enforcer github action

@benbp I know we talked about this a little but what made you pull the trigger of updating this?

@weshaggard i was already updating the files so figured I would change the title at the same time. I think we can change it back if/when it gets generalized but otherwise it's just "premature generalization" :)

@benbp I guess I missed you updated that in the other PRs :)


ETHContractError(DecodingError(InvalidData))

Version
lastest
cargo install cargo-tree
(see install here: https://github.com/sfackler/cargo-tree)
Then:
cargo tree | grep ethers
Platform
mac
Description
Enter your issue details here.
One way to structure the description:
[short summary of the bug]
I tried this code:
abigen!(
    ERC20Contract,
    "./crates/contract/json/ERC20.json",
    derives(serde::Deserialize, serde::Serialize)
);
let wallet: LocalWallet = "0xed0e10acdb4b9ad17a0d9ec1b6f92d9e70d9f9c0bbfc609eb1aa03a370aba489".parse::<LocalWallet>().unwrap();

    let provider =
        Provider::<ethers::providers::Http>::try_from("https://eth-goerli.api.onfinality.io/public")
            .unwrap();

    let client =
        SignerMiddleware::new_with_provider_chain(provider.clone(), wallet.clone()).await.unwrap();

    let a = Address::from_str("0x11612633Db3b966314E7B9DfB2D05289eC5b1B5E").unwrap();
    // 9651820
    let block_number = 9651820u64;
    let entry_point =
        ERC20Contract::new(a, Arc::new(client.clone()));
    let logs: Vec<TransferFilter> = entry_point
                .transfer_filter()
                .from_block(block_number)
                .to_block(block_number)
                .query()
                .await.unwrap();

[code sample that causes the bug]
I expected to see this happen: [explanation]
ETHContractError(DecodingError(InvalidData))

Instead, this happened: [explanation]

[
  {
    "inputs": [
      { "internalType": "string", "name": "name", "type": "string" },
      { "internalType": "string", "name": "symbol", "type": "string" }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "owner", "type": "address" },
      { "internalType": "address", "name": "spender", "type": "address" }
    ],
    "name": "allowance",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "spender", "type": "address" },
      { "internalType": "uint256", "name": "amount", "type": "uint256" }
    ],
    "name": "approve",
    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "account", "type": "address" }
    ],
    "name": "balanceOf",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "spender", "type": "address" },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "spender", "type": "address" },
      { "internalType": "uint256", "name": "addedValue", "type": "uint256" }
    ],
    "name": "increaseAllowance",
    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "uint256", "name": "amount", "type": "uint256" }
    ],
    "name": "mint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "to", "type": "address" },
      { "internalType": "uint256", "name": "amount", "type": "uint256" }
    ],
    "name": "transfer",
    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "from", "type": "address" },
      { "internalType": "address", "name": "to", "type": "address" },
      { "internalType": "uint256", "name": "amount", "type": "uint256" }
    ],
    "name": "transferFrom",
    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]

hmm
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },

this looks correct
weird that decoding this returns an error
https://goerli.etherscan.io/address/0x11612633Db3b966314E7B9DfB2D05289eC5b1B5E#events
could you try decoding this event manually?

decoding this event manually?

how decoding this event manually? Could you provide me with a code example, thank you very much

I write a custom event in the contract and it can be decoded, but the native events in ERC20 cannot be decoded.

the generated code of ERC20Contract should include an EthEvent type that supports decode, just to make the event data can be decoded via the generated event struct

  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  }

use tokio;
use ethers::contract::{ContractFactory, Contract};
use ethers::providers::{Provider, Http};
use ethers::types::{Address, Filter};
use std::str::FromStr;
use std::sync::Arc;
use ethers::abi::{Abi, Log};
use ethers::contract::EthEvent;
use ethers::middleware::Middleware;
use ethers::types::U256;

#[derive(Debug, Clone, PartialEq, ethers::contract::EthEvent)]
pub struct Transfer {
    from: Address,
    to: Address,
    value: U256,
}

#[tokio::main]
async fn main() {
    println!("Hello, world!");
    // 连接到以太坊节点
    let provider = Provider::<ethers::providers::Http>::try_from(
            "https://eth-goerli.api.onfinality.io/public"
        ).unwrap();
    let contract_address = Address::from_str("0x11612633Db3b966314E7B9DfB2D05289eC5b1B5E").unwrap();
    let contract = Contract::new(contract_address, Abi::default(), Arc::new(provider.clone()));
    let event = contract.event::<Transfer>();
    let mut f = Filter::new().from_block(9651800u64).to_block(9651900u64);
    let events:Vec<ethers::types::Log> = contract.client().get_logs(&f).await.unwrap();
    for log in events {
         if let Ok(decoded) = Transfer::decode_log(&log.into()) {
            println!("Transfer Event: {:?}", decoded);
            println!("From: {:?}", decoded.from);
            println!("To: {:?}", decoded.to);
            println!("Value: {:?}", decoded.value);
        }
    }

}

  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  }

use tokio;
use ethers::contract::{ContractFactory, Contract};
use ethers::providers::{Provider, Http};
use ethers::types::{Address, Filter};
use std::str::FromStr;
use std::sync::Arc;
use ethers::abi::{Abi, Log};
use ethers::contract::EthEvent;
use ethers::middleware::Middleware;
use ethers::types::U256;

#[derive(Debug, Clone, PartialEq, ethers::contract::EthEvent)]
pub struct Transfer {
    from: Address,
    to: Address,
    value: U256,
}

#[tokio::main]
async fn main() {
    let provider = Provider::<ethers::providers::Http>::try_from(
            "https://eth-goerli.api.onfinality.io/public"
        ).unwrap();
    let contract_address = Address::from_str("0x11612633Db3b966314E7B9DfB2D05289eC5b1B5E").unwrap();
    let contract = Contract::new(contract_address, Abi::default(), Arc::new(provider.clone()));
    let event = contract.event::<Transfer>();
    let mut f = Filter::new().from_block(9651800u64).to_block(9651900u64);
    let events:Vec<ethers::types::Log> = contract.client().get_logs(&f).await.unwrap();
    for log in events {
         if let Ok(decoded) = Transfer::decode_log(&log.into()) {
            println!("Transfer Event: {:?}", decoded);
            println!("From: {:?}", decoded.from);
            println!("To: {:?}", decoded.to);
            println!("Value: {:?}", decoded.value);
        }
    }

}

I tried to use this method to decode, but it didn't seem to work.

is this what's being generated?
because his lacks the indexed attributes

is this what's being generated?
because his lacks the indexed attributes

As a beginner of Ethereum, it takes time to understand this library. If you can give some hints in the above code, that would be great. thank you very much for your time

use tokio;
use ethers::contract::{ContractFactory, Contract};
use ethers::providers::{Provider, Http};
use ethers::types::{Address, Filter};
use std::str::FromStr;
use std::sync::Arc;
use ethers::abi::{Abi, Log};
use ethers::contract::EthEvent;
use ethers::middleware::Middleware;
use ethers::types::U256;

#[derive(Debug, Clone, PartialEq, ethers::contract::EthEvent)]
pub struct Transfer {
    #[ethevent(indexed)]
    from: Address,
    #[ethevent(indexed)]
    to: Address,
    value: U256,
}

#[tokio::main]
async fn main() {
    println!("Hello, world!");
    // 连接到以太坊节点
    let provider = Provider::<ethers::providers::Http>::try_from(
            "https://eth-goerli.api.onfinality.io/public"
        ).unwrap();
    let contract_address = Address::from_str("0x11612633Db3b966314E7B9DfB2D05289eC5b1B5E").unwrap();
    let contract = Contract::new(contract_address, Abi::default(), Arc::new(provider.clone()));
    let event = contract.event::<Transfer>();
    let mut f = Filter::new().from_block(9651800u64).to_block(9651900u64);
    let events:Vec<ethers::types::Log> = contract.client().get_logs(&f).await.unwrap();
    let b: Vec<Transfer> = contract.event_with_filter(f).query().await.unwrap();
    println!("{:?}", b);
}

is this what's being generated?
because his lacks the indexed attributes

It seems to solve the problem in the block with only Transfer, but the same error is reported in the block with Approal at the same time