Vendor Bitcoin Core v26.0

Patch 1 is the usual vendoring of Core v26.0
Patch 2 modifies the API. I elected to not deprecate - we want to force users to understand this I believe
Patch 3 fixes typo in the date of the last two releases
Patch 4 bumps the version

Tested in: https://github.com/rust-bitcoin/rust-bitcoin/pull/2461
Close: #66

Gentle bump @apoelstra

Current status: some linking error that is likely just brain dead but I can't figure it out right now.

Status update: unit test as mentioned in PR description.

Massive props to @Davidson-Souza for debugging this.

Let's fix it before merge, I'll do it today.
On Fri, Mar 1, 2024, at 08:22, Andrew Poelstra wrote:

@.**** commented on this pull request.
In src/lib.rs https://github.com/rust-bitcoin/rust-bitcoinconsensus/pull/93#discussion_r1508208505:

 }

}
+/// Mimics the Bitcoin Core UTXO typedef (bitcoinconsenus.h)
+// This is the TxOut data for utxos being spent, i.e., previous outputs.
+#[repr(C)]
+pub struct Utxo {

/// WARNING: This should be the consensus encoded script without the leading var int!
///
/// ScriptPubkey's in rust-bitcoin are consensus encoded with a variable byte length value
/// prepended to the front - remove the varint then take a pointer to the encoded vector.

In33022e2:
I'm ok merging this for now and doing a followup PR (or another release) to update the comment. But this comment seems like it's way overcomplicated things. It looks like you just need a raw pointer to the underlying bytes of the Script as well as its length. You should be able to just use [..] to get a byteslice from a Script (or whatever our accessor is for this) then extract the pointer/length from there.
I don't see why you would need to encode and tweak the encoding.
—
Reply to this email directly, view it on GitHub https://github.com/rust-bitcoin/rust-bitcoinconsensus/pull/93#pullrequestreview-1909897187, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADAKQ5NUNFYE65BJSES6XG3YV6NZZAVCNFSM6AAAAABDAW67DOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSMBZHA4TOMJYG4.
You are receiving this because you authored the thread.Message ID: @.***>

--
Tobin
http://tobin.cc

Should be right to go.

Tagged and published.

Legend, thanks man. I realised late last night that I'd put the version bump in here instead of doing a separate PR, and I'm staying in the middle of nowhere with no mobile/internet coverage. Thanks for handling it.

Thank you, guys! I wanted to message earlier, but after running verify() on ~100k inputs, we intermittently encountered Invalid Schnorr signature hash type here.
The input is valid and reliably verifiable by btcdeb. It's an intermittent error, that sometimes happens and sometimes does not, on exactly same transaction data, for example on txid cd4a6bb55046e96c25d453f6e0a889c4cb75a6be86c86e67a689d8be7edb9318 inp 0 (and on many others).
I will try to make something more reproducible and update, unless you have an idea of why this might be happening intermittently?

I wonder if this could be related to our msan issues. Possibly bitcoinconsensus' vendored libsecp and rust-secp's libsecp are somehow incompatible? Just speculating.

I wonder if this could be related to our msan issues. Possibly bitcoinconsensus' vendored libsecp and rust-secp's libsecp are somehow incompatible? Just speculating.

It was our own problem: In the UTXO struct the pub script_pubkey: *const c_uchar got corrupted, because it was poiting to a slice that had a shorter lifetime than the UTXO. The compiler did not catch this because UTXO does not use unsafe.


set_status_header , missing stati

using the REST_Controller, it uses some semantic header status messages that are not supported by codeigniter:
const HTTP_PROCESSING = 102;            // RFC2518
const HTTP_MULTI_STATUS = 207;          // RFC4918
const HTTP_ALREADY_REPORTED = 208;      // RFC5842
const HTTP_IM_USED = 226;               // RFC3229
const HTTP_PERMANENTLY_REDIRECT = 308;  // RFC7238
const HTTP_I_AM_A_TEAPOT = 418;                                               // RFC2324
const HTTP_LOCKED = 423;                                                      // RFC4918
const HTTP_FAILED_DEPENDENCY = 424;                                           // RFC4918
const HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL = 425;   // RFC2817
const HTTP_UPGRADE_REQUIRED = 426;                                            // RFC2817
const HTTP_PRECONDITION_REQUIRED = 428;                                       // RFC6585
const HTTP_TOO_MANY_REQUESTS = 429;                                           // RFC6585
const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431;                             // RFC6585
const HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL = 506;                        // RFC2295
const HTTP_INSUFFICIENT_STORAGE = 507;                                        // RFC4918
const HTTP_LOOP_DETECTED = 508;                                               // RFC5842
const HTTP_NOT_EXTENDED = 510;                                                // RFC2774
const HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511;
if you added these to Common.php::set_status_header it would be great.
thanks

I've added 426 "Upgrade Required" from RFC 2817 and the missing ones from RFC 6585 (428, 429, 431, 511).
However, the others that you've listed we won't support ...

102 is part of WebDav, which we just don't support
207 is again WebDav
208 is EXPERIMENTAL, as well as being again WebDav-related; we don't support RFCs with the EXPERIMENTAL status
226 is a very rare extension, practically useless for CodeIgniter applications
308 is EXPERIMENTAL
418 defines the "Hyper Text Coffee Pot Control Protocol" - an April's Fools joke RFC ...
422-424 are again WebDav
425 is not defined, but referenced by 2817, and that reference is to a WebDav DRAFT (a draft is something that doesn't even have an RFC number yet)
506 is EXPERIMENTAL
507 is WebDav
508 is EXPERIMENTAL WebDav
510 is EXPERIMENTAL too

As you'd probably notice, these things require significant research efforts. Please do that yourself next time, if you indeed wish something to be added to a project - I just happened to have some spare time right now.
Also, just noting this - there's no such thing as "the REST_Controller" in CodeIgniter and I can only assume it is some third-party package.


Error loading prometheus.yml

prometheus      | level=error ts=2019-06-06T17:17:22.649Z caller=main.go:717 err="error loading config from "/etc/prometheus/prometheus.yml": couldn't load configuration (--config.file="/etc/prometheus/prometheus.yml"): open /etc/prometheus/prometheus.yml: permission denied"
i followed steps in #13 but still same issue .
its running in vm

@ajithkrishnar can you confirm the permissions in your dockprom/prometheus folder please?

@ajithkrishnar I'm closing this off due to inactivity, if you continue to experience this issue, please provide the details requested above and I'll re-open the issue.


Gin example

Hi, please consider adding an example of using httpexpect with gin: https://github.com/gin-gonic/gin!
Thanks for this great tool!

Hi, thanks.
Unfortunately I haven't worked with gin, but pull requests are welcome :)

@gavv
// Init all context paths
func routes(router *gin.Engine) {
	root := router.Group("/")
	{
	root.GET("/rules", rulesHandler())
	// For every route not defined, forward to swagger docs
	router.NoRoute(noRouteHandler())
}

func TestRulesEndpoint(t *testing.T) {
	g := gin.Default()
        routes(g)
	server := httptest.NewServer(g)
	defer server.Close()
	e := httpexpect.New(t, server.URL)
	e.GET("/rules").
		Expect().
		Status(http.StatusOK).JSON().Array()
}

PR is merged.


No Handshake

Hey, i have a little problem i cant really solve my self.
I have 17 Wireguard Peers setup. Everyone of them works completly fine (<IP_ADDRESS>-<IP_ADDRESS>)
The 18. Client (IP <IP_ADDRESS>) Doesnt get a Handshake.
My frist thought was a subnet mismatch but i dindnt find one.
Every peer i create with the ip ending like .21, .22, .23 etc. doesnt work. Maybe also a port mismatch?
The only thing i changed in the script is is Split Tunneling for my Client networks.
(192.168.112/20)
The Server is fresh Ubnutu Server install...
any Ideas?

Okay Fixed it.
The Wireguard Port was so high (65518) That only 17 Clients worked...
Changed it now to a lower one.


On 12 Pro ios14.7.1, China Telecom 5G is not available, and 4G is an empty signal.

On 12 Pro ios14.7.1, China Telecom 5G is not available, and 4G is an empty signal.

the same as iphone 12,14.8,unicom_cn


Missing exposed port 16685 in query deployments

Which problem is this PR solving?

Resolves #2238 and #2041

Short description of the changes

Add the port to the "all in one" and "query" deployments

LGTM! Thanks!


[request] Setting a config per chest

Hello!
I just found this plugin and am using it in my survival! I have it generate items for loot hidden around my survival world.
What I would like is to have one or two special chests that broadcast messages, that have their own settings independent of those extra chests in the world. So then we could have an event that triggers at X amount of time that people all storm to an area to raid it!

This is already possible. You need to target (look at) the chest and run the commands for the settings you want.

@dumptruckman sweet, whats the command?

They are listed on dbo. https://dev.bukkit.org/projects/chestrestock

@dumptruckman I know, But its not documented! I would assume its /cr create , but that does not exist, create only uses the default configs, theres world specific configs.. There isnt anything listing a specific config with a command.

It is documented right there on the dbo page. You target the chest, type /cr create and then you're able to use /cr set <propertyname> <value> on it.

Type /cr set while targeting a chest you have initialized with /cr create to see a list of properties you can set for it.
Type /cr set <propertyname> to see a description of what the property does.
Type /cr set <propertyname> <value> to set a value for a property.


Windows support

I currently use a VM running Ubuntu 16.04 to build PX4. But I always planned to get rid of it.
I'm sure a more native Windows support makes a ton of sense to be supported for community and commercial users/developers. It should be easy to use which means something like a one click setup.exe or even better in my opinion unpack the portable zip and run solution.
My current state is (and I invested a bulk of time already into it):

Original Toolchain I first tested the toolchain offered on https://dev.px4.io/en/setup/dev_env_windows.html which is by the way also still used partly by ardupilot I think. It used to work (quite a long time ago) and is to my knowledge broken for any build newer than 1 year ago.
New MinGW Toolchain I took the above toolchain which is based on MinGW apart and built my own one which works for any ARM target builds. It has very similar compnents like the "original" Toolchain but everything sorted in a nice folder structure, path assembled by a batch file, all software updated to the newest version I found working and all of it is portable in a (~3GB) folder. I wrote documentation for it and can share it with anyone interested without support.
Cygwin SITL Support Toolchain I realized the SITL build is far from working in the MinGW environment because there is not support for all the necessary POSIX features of all the main_app thread handling. So I switched to Cygwin to enable that. Just last weekend I managed to build SITL and jMAVsim on cygwin using some uncontnrtributable hacks (see https://github.com/PX4/Firmware/compare/master...MaEtUgR:cygwin-test). I still need to renice these hacks with useful defines.
Cygwin ARM build support I wanted to build PX4 for ARM in the same cygwin environment but unfortunately the GCC ARM compiler available on https://launchpad.net/gcc-arm-embedded is not compatible with cygwin paths so I'm trying to find a workaround like e.g. https://bugs.launchpad.net/gcc-arm-embedded/+bug/1282943

So bare with me until I have something publishable... any help is appreciated.
I'm writing this issue because I can see all these Windows related issues poping up saying the "original" Toolchain does not work. Likely because it's offered in the dev guide here: https://dev.px4.io/en/setup/dev_env.html with a clear message that it's currently not officially supported.
References: #8239 , #6332 , #6668 , #6698
FYI @dagar @zjjyyang @QingZe0101@potato77 @mhkabir @zimoqingfeng @newmsg @LorenzMeier

Whichever way we go it needs CI support to continue working. Appveyor has MinGW, MSYS, Cygwin preinstalled. https://www.appveyor.com/docs/build-environment/
At a certain point it might be worth considering porting enough of the platform layer to std c++11 (threading mostly) and building with visual studio. Development on windows can actually be pretty good with the right tools.

FWIW I tried the

@hamishwillee Thanks for your testing.

your VM took more than 3GB of download
Simulator is on the way (like I wrote) and this is also why I'm currently working in am VM
Never tried but I personally don't like the idea so I will only use it as soon as someone else prepares everything.
Compared to the "original" toolchain I at least documented. Basically every folder in the "Toolchain" only consisted of original binaries directly downloaded from the site which was documented including the version. Also for the Cygwin toolchain it currently looks like there is a lot less external sources needed because the package manager already provides a lot of basic tools. So maintenance should get a lot easier. Also as soon as I can use it for my daily work I will test and maintain all the time.

I fully agree about porting to the standard, that would be the real solution. But this will not be a small project, don't underestimate the complexity and time it will take. Which means I will continue with my attempts nevertheless because they currently look promising to me.

@MaEtUgR All sounds good to me. If you get a simulator running on Windows with everything else, in a system that can be updated/improved by others, you will become my most popular person (at least for a week or two) :-)

support for graphics (it's totally **** according to my research).

Yes, mine too.

@MaEtUgR , I would like to try your 'New MinGW Toolchain' solution. Please let me know how to get started.

I uploaded it sometime before, I'll look for it and send you the link but you should know that it only ever compiled ARM targets and is not officially supported at all.

Update: Cygwin SITL jMAVsim build https://github.com/PX4/Firmware/pull/8407

Yet another option to consider. https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/
Visual studio is the "front end" editor, debugger, etc, and can build on a remote backend. That could be linux via windows bash, docker, VM, or actual machine.
I have no hands on experience with this yet, but I believe it's likely to be the best of both worlds.

Could be wrong, but I don't see the "building" part as the challenge - after all you can build on bash for windows. The problem is getting Simulation working (effectively) on windows - not sure this solves that.

That's certainly a big part of it, but my feeling is that enabling effective development on Windows is going to need more than that. Like leveraging some of the strengths of working on Windows, rather than being confined to a slow somewhat crippled box (cygwin).
Otherwise why don't we just figure out a Linux virtualization solution with good 3D (for gazebo) and ship a giant preconfigured Ubuntu VM?

You say slow and crippled, but the simulator is running about 1/2 again better FPS in cygwin than I was getting on VM.  If this can do gazebo/ARM it is already more effective for me than the VM.
NOw I agree that a real native build would be nice, but I'd take this today and that another day.

@hamishwillee I totally agree with you. The VM also has by far more disadvantages than a UNIX environment layer for me. That's why I'm actually doing this at all. I'm already working in a "figured out giant Ubuntu VMWare solution with good 3D (for gazebo)" and I don't like it. Additionally shipping it preconfigured would be a nightmare. We can still go more native after my attempts but it's already a big step to be able to actually work on Windows directly with simulation and ARM build.

Good news: After investing some hours (to say the least) today debugging the cygwin toolchain build I finally have a succeeding ARM build (px4fmu-v2_default) with the following "code" changes:
https://github.com/PX4/Firmware/compare/master...MaEtUgR:cygwin-arm-test
and of course fiddling with the environment.
One bummer currently stays: I wasn't able to verify the upload working correctly. This is hopefully not a big problem because it works already natively with Python for Windows but the goal is to have it in the same environment such that make ... upload will do the job. I'm already on it.
Next step will again be to get it into a mergable state and preparing the Toolchain for upload.

Information that might also be useful for Linux/Mac builds and general improvement:

CMake 3.6.2 works fine but produces multiple deprecated warnings, I downgraded it in the Windows toolchain for now such that they don't show.
Newest ARM GCC 6-2017-q2-update (https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads) compiles but with warnings (probably new case detection features) and the global -Werror compile option brings them to error (I checked and it runs through without the flag).

I can get rid of the cmake deprecated warnings soon.
For the arm gcc version we should do a pass to get everyone in sync with the latest. https://github.com/PX4/containers/blob/master/docker/px4-dev/Dockerfile_nuttx#L28

@MaEtUgR Great! Not being able to do upload is IMO a "minor bug". In terms of functionality, how far are you planning on going before we say this is good enough for a release? (IMO I've love gazebo support, but I'd rather have an interim release than wait months for it)

For the arm gcc version we should do a pass to get everyone in sync with the latest. https://github.com/PX4/containers/blob/master/docker/px4-dev/Dockerfile_nuttx#L28

@dagar can we include the devguide scripts in that. While we're at it would be good to put the toolchain somewhere less irritating for users than their home dir.

Is a difficult problem

@hamishwillee yes, we can host it on S3. The CI system (ci.px4.io) could be the one to assemble and post it.

As an update: I worked really hard on this one. I have a folder (~49k files, 2.5GB, ~900MB compressed) which needs to be extracted and a script that clones the repo automatically. I have a WiX setup build script which harvests all the files automatically, generates a ~900MB msi windows installer. The installer has UI for switching directory, update to newer versions and so on.
But my current problem ist that after the folder gets extracted by the installer the build doesn't run anymore because the cygwin symlinks are broken. This drove me nuts already and I tried to solve it until 00:30 yesterday... The entire folder if checked by e.g. WinMerge or SyncBack or any other comparison softwares is reported to be exactly the same, still all the symlink files are somehow broken. And you can somehow see it from the windows explorer that they are not the same because one is a "file" and the other a "system file"...

If anyone knows how to solve that I'd appreciate any help.

@dagar Any ideas on why cygwin links broken in comment above .... https://github.com/PX4/Firmware/issues/8357#issuecomment-363491536

How did you compress it? Symlinks are weird in zip files, not to mention regular Windows.

Thanks for your comments, I found a workaround for the symbolic links problem: https://stackoverflow.com/a/36816238/6326048
I basically backup all symlinks with a shellscript autoamtically ran before the installer is generated and restore them during installation. The clue is that in a cygwin produced tar archive the links "survive". I have the working scripts right now, just need to embed them directly into the installation procedure and test it again.

Finally I have a setup routine which I feel comfortable to share:
https://drive.google.com/open?id=1d0iSdjnCKC3N6s13WJyXvEppXQN2t6RI
There are known things missing like:

No desktop shortcuts yet
When you uninstall your home folder with the code stays (which is intended) but also a temp folder by cygwin (not intended)
NuttX upload to a vehicle still fails with current master (because of cygwin COM port renaming)
The sky in the simulation is black with current master (unkown java texture loading problem)
git gui has somehow a different configuration than the command-line git, it's only affecting git gui (git is from cygwin, git gui from git for windows)

But I don't want to keep you waiting. The simulation should be functional, NuttX builds work as well and the binary should be flashable using the uploader python script with normal python for windows. You can use QGroundControl for Windows to connect to the simulated drone.

@dagar I developed the setup creation workflow in a way that the folder C:\PX4\ on my machine (or any windows based CI server) not only contains the readily usable toolchain but also the setup creator (WiX) plus scripts such that when you start a batch it produces the .msi setup file completely automatic. The created setup file then of course doesn't contain the setup generation stuff and the local home folder with custom configuration and repo anymore.

I assume you are trying to build on windows? That toolchain is pretty much broken - recommend you build on Linux in a VM for now. @MaEtUgR is working on a Cygwin based replacement for Windows, which is nearly ready.

@hamishwillee Yes, Unfortunately! I have the same error 1. Can you build firmware with the bash? I will try to build gain with the GUI Bash for windows 8 this night, do you have any tip? . Thanks for help

Yes it is possible to build firmware with bash for windows - but you can't use the upload command to automatically upload to the vehicle.
The script to setup the environment linked here has not been tested for a long time: https://dev.px4.io/en/setup/dev_env_windows.html#bash-on-windows-new
I suspect it would fail because it uses and old version of the compiler.
Once again, the BEST approach is to use Linux in a virtual machine.

Yes,  you are right! I could not execute the script as soon as I start the program date. I wanted to avoid working with VM even though I know little now, but I do not think I'll have any other choice. My error screen is similar to what you presented in another comment, I thought about installing Jinja2 and testing again.
Here is the error 1:

FYI, I tried the instructions in Ubuntu Bash for Windows as documented here: https://dev.px4.io/en/setup/dev_env_windows.html#bash-on-windows-new
They work for fmuv2 and fmu_v4 out of the box :-). Note, they ONLY build the file, they can't upload it. Also SIM isn't supported via the bash.

@gadavidd The px4fmu-v2_default target works fine for me with my cygwin based Windows toolchain 0.1.0 except that it currently produces binaries that exceed the flash size of the actual chip. Which is a problem of master currently exploring the limit and compiler version dependent optimization resulting in just exceeding and just not exceeding the maximum size. And the automatic upload doesn't work yet.
I still have to post instructions in the developer guide with the new download link, how to use, how to reproduce and so on. I'll continue with my work on that subject.
To your error: if you installed everything by yourself then jinja missing is only the first of a lot of problems you'll face. I suggest you either use my 0.1.0 installer or wait until I wrote down everything to recreate the environment.

Hey, before test in VM or cygwin I tried to install Jinja2 python, then This worked. But the process stops on that screen and does not show fault or error, just for lacking little. Did you guys have that problem, too? I tried the CTRL+C starts once again, but not solved.

@gadavidd FYI I have just verified updated bash on windows instructions that show it works for both building firmware and running jMAVSim

@gadavidd No I didn't have this before, the only thing I saw was cmake repeating over and over again but that was on linux and the fix if I remember correctly was make distclean.

hey, thanks! @ it worked! Can you help one more thing? I only need a firmware Folder built with the command "make px4fmu-v2_default" for Windows. I only need it to finish my word, can you send for me?

@MaEtUgR Just ran this again. Note that JMAVSim sky is black. Also that this uses an older compiler.
Any movement on this?

No sorry, I was busy with flying wings in the increasingly warm weather. I think documentation on what the toolchain consists of is most important for further collaboration, I should create a list of components as a draft first an then fill it up with step by step instructions. It will also make it easy for CI and creating new installations on a server with e.g. new compilers and fixed things.
@gadavidd I don't understand your request sorry.

Thanks @MaEtUgR . I agree with your "next steps". You could test your new instructions in part by updating to the new compiler (this uses the old one).
I appreciate you have many demands on your time. Do you have any idea when you might start work on this again?
Not sure what we should call a good trigger for making this an "official" Windows toolchain. Probably

[ ] GCC up to date
[ ] JMAVSim working completely
[ ] Docs of where to download, how to install, features, known limitations
[ ] A docker test?

@hamishwillee Ok, I try asap (start on friday) but cannot give guarantee, sorry for that.

Docs of where to download, how to install, features, known limitations

I think this point including documentation on how to manually reproduce the setup from scratch for interested toolchain developers to be able to contribute is the most important.

GCC up to date

There are two GCCs one for SITL and one for ARM targets. It should not be a hassle to update them.

JMAVSim working completely

The dark sky problem came with higher resolution textures (like in our VMs like you can probably remember). Reverting that change is a workaround which I already tested locally the only reason why it's not in the code is: Linux people want the higher resolution textures and I didn't find a way to check inside java for the conditions of the black sky. Debugging why higher resolution textures doesn't work on windows which it clearly should would take more time.

A docker test?

Not sure what you mean. If you mean CI to build on that toolchain it's a good idea but next step, probably takes too much time for me to wait for that point.

@MaEtUgR Thanks.
You know your own priorities. If you can't start on any particular day that is fine. What I am hoping is to make sure that this doesn't fall of off your radar and that we have some sort of "ETA" to head towards.
i.e. not so much "start work on this today" as "work towards publishing this month".
Re GCC I am only concerned with the ARM version, because that has to be right for FMUv2 to fit on Pixhawk.
Re the black sky, there was the same problem in VMs - I don't know how they detect the environment, but their solution was to do so and serve the old textures.  Can't we detect something similar?
Re docker test, yes, I mean CI that verifies that the output of the toolchain matches what we get out of Linux - ie binaries that can run on real hardware and passes the same tests. Whatever it takes to make sure that this system is as robust as the others :-)

Update: I continued my work on the Toolchain:

I fixed code style checks (astyle script) to work correctly and colored outputs by the makefile: https://github.com/PX4/Firmware/pull/9441
I made all the auto-completion on the console work for e.g. make targets and git commands/parameters (will be in the next Toolchain release 0.2)
I fixed the ARM target upload from within the cygwin environment, e.g. the usual make px4fmu-v4 upload and ./Tools/upload.sh build/px4fmu-v4_default/px4fmu-v4_default.px4 work now: https://github.com/PX4/Firmware/pull/9442

Before I'll generate the next Toolchain release 0.2 I'll switch to the newest version ARM GCC like suggested by @hamishwillee and check if the px4fmu-v2 fits the flash memory like in the CI. Then I'll upload the new setup and start a documentation pr.
With these changes I think the Toolchain should be usable for normal work with SITL and ARM targets. I'll also switch completely to it for my work and hence test daily work usability.

That's excellent @MaEtUgR ! In particular the upload support means that this exceeds the other "solutions". Your plan sounds good to me.

With the currently newest version GNU Tools for Arm Embedded Processors 7-2017-q4-major GCC 7.2.1 the px4fmu-v2 build went from region flash overflowed by 23180 bytes to succeeding. That was a very good suggestion. I'll build a new setup for the improved toolchain with version 0.2 now.

With the currently newest version GNU Tools for Arm Embedded Processors 7-2017-q4-major GCC 7.2.1 the px4fmu-v2 build went from region flash overflowed by 23180 bytes to succeeding. That was a very good suggestion. I'll build a new setup for the improved toolchain with version 0.2 now.

Excellent! Compiler update is something we are likely to do regularly, so updating your howto steps from what you just did would be a good idea.

I started with documentation: https://github.com/PX4/Devguide/pull/522

so updating your howto steps from what you just did would be a good idea

Work in progress but will soon be in the documentation.

New docs structure good :-). I'll do full review when you ready.

Update: Docs are finally in a useful state.
Preview: https://github.com/MaEtUgR/Devguide/blob/pr-revise-windows-add-cygwin/en/setup/dev_env_windows.md
Reviews appreciated: https://github.com/PX4/Devguide/pull/522

Closing because we have support with build working, toolchain installer, documentation (http://dev.px4.io/en/setup/dev_env_windows_cygwin.html) and CI (https://github.com/PX4/Firmware/pull/10051) now.


fix for long dirname for x ray query and new tests

Description
Resolves #17788

changed all sprintf's and snprintf's to stringstreams or ostringstreams in x ray query code.
that fixed a bug where if the output directory name was too long, the stack would be corrupted when the name was written to a fixed length char array.
set result message for error cases.
added new tests that check result messages and error messages.

Type of change

[x] Bug fix~~
[x] New feature~~
[ ] Documentation update
[x] Other~~
new tests

How Has This Been Tested?

built and ran on rztopaz toss3. Ran x ray tests and new tests and all passed
Checklist:

[x] I have followed the style guidelines of this project.~~
[x] I have performed a self-review of my own code.~~
[x] I have commented my code where applicable.~~
[x] I have updated the release notes.~~
[ ] I have made corresponding changes to the documentation.
[x] I have added debugging support to my changes.~~
[x] I have added tests that prove my fix is effective or that my feature works.~~
[x] I have confirmed new and existing unit tests pass locally with my changes.~~
[x] I have added new baselines for any new tests to the repo.~~
[x] I have NOT made any changes to protocol or public interfaces in an RC branch.~~
[x] I have assigned reviewers (see VisIt's PR procedures for more information).~~

merge w/ develop in #17895


Create installing-vs-code-in-ubuntu.md

Hello @1Spirit1, I was working on #5
I Have create a new installing-vs-code-in-ubuntu.md file in the Ubuntu folder.
Have given two different methods to install vs code in Ubuntu using the terminal.

Merging the PR 🎉
Thanks for contributing


[BUG] Authorization failed when connecting to hosted Chroma DB (Error: AuthorizationError)

Describe the bug
Unable to connect to hosted ChromaDB, error: AuthorizationError
Need clarification on how to connect to a hosted ChromaDB. I have already instantiated a ChromaDB with an existing collection, i defined the header authentication as X-Chroma-Token: .
ChromaDB connection pattern  is using Static API token:
# instantiate a http Chroma client
headers = {'X-Chroma-Token': CHROMA_API_KEY)}
# setup client to connect to  chroma server
client = chromadb.HttpClient(host='<IP_ADDRESS>', port=8000, headers=headers)

To Reproduce
Steps to reproduce the behavior:

In Flowise, add Chroma Node
Add Chroma URL:  http://<IP_ADDRESS>:8000
Connect Credential: CREDENTIAL NAME: X-Chroma-Token, Chroma Api Key: CHROMA_API_KEY
Run-> error: AuthorizationError

Expected behavior
Maybe we can have a clear way of defining the header as part of Chroma's authentication?
Expect the Chroma node matches Chroma's terminology closely, e.g. change Chroma Api Key (in Connect Credential hover tool-tip) to be X-Chroma-Token:  or Authorization: Bearer
Could we define what the headers are?
https://docs.trychroma.com/usage-guide#authentication
Setup

Installation [e.g. docker, npx flowise start, ]
Flowise Version 1.6.4
OS: Windows
Browser: Chrome/Firefox

Additional context
Add any other context about the problem here.

As stated from Chroma docs, API Key can be added as Bearer Token like so Authorization: Bearer test-token
Which was added in this line


Append remote script to the end of the doc in case no "head" tag is present

For MultiBrowser Live Preview. Fixes #10815.
I decided to append the remote script in this case. We can, of course, also prepend it.
cc @sebaslv @busykai

@MarcelGerber, looks good to me. Thanks for the test! I assume since the release branch is cut, this can be merged to master, but let me double-check...

Yes, you can already merge it :)

Merging. :) Sorry it took so long.


Terragrunt with sso profile use wrong setting for s3 backend encryption

Hello,
Terraform v1.1.5
terragrunt version v0.36.1
This is what my backend look like :
remote_state {
  backend = "s3"
  generate = {
    path      = "backend.tf"
    if_exists = "overwrite_terragrunt"
  }
  config = {
    bucket = "terraform-state-test"

    key = "${path_relative_to_include()}/terraform.tfstate"
    region         = "us-east-1"
    profile        = "sso-profile"
    encrypt        = true
    kms_key_id     = "arn:aws:kms:us-east-1:1111111111111:key/daaaaaaaa-aaaa-aaaa-aaa2-eeaaaaaaaaa"
    s3_bucket_tags = {
      Manage_By = "Terragrunt"
    }
  }
}

I'm trying to use a custom kms key for my s3 encryption, but on the first run when the bucket is created the kms key used is the default one (arn:aws:kms:us-east-1:1111111111111:alias/aws/s3) instead of the custom one that i set
when i create the bucket with the same profile through the console management it's working fine and i can use my custom kms key, is it a bug or something i'm missing ?
Thank you

Hello,
looks like a bug, can you try terragrunt v0.37.0 which has updates for the KMS keys application


Sam clean build?

Why is there no 'clean' command?
Now and then I run into errors because an old version of the template.yaml is used while building and deploying a stack.

something like sam destroy --force

thanks


🗺 Anthropic Instrumentation

[ ] [anthropic] dogfooding
[x] [anthropic] documentation on arize
[x] [anthropic] documentation on phoenix
[ ] [anthropic] add to release notes
[ ] [anthropic] add to opentelemetry.io
[ ] [anthropic] add to condaforge

multi turn conversation doesn't include output for some of the messages in the middle

Missing tool messages in inputs.

See python/instrumentation/openinference-instrumentation-anthropic/examples/end_to_end_tool_use.py

For future reference, if you use any of anthropic's beta features which use client.beta.messages.create, the auto-instrumentor fails to log the LLM calls.
An example. https://docs.anthropic.com/en/docs/build-with-claude/pdf-support#pdf-support-with-prompt-caching

For future reference, if you use any of anthropic's beta features which use client.beta.messages.create, the auto-instrumentor fails to log the LLM calls.

Thanks @exiao. I think it's probably alright to add support for those features once they are out of beta unless we have users actively requesting them.


Return whether TryAdd succeeded or not

I need to register a service if it's not already defined, hence I use TryAdd. However I need to register another one with this, which I could do if TryAdd was returning whether or not it succeeded.

This change was previously attempted with #353.
@Eilon didn't see the value:

honestly I can't see the use for it - it just hasn't come up in years. But I'd like to know more about what I'm missing here.

Just to add my own scenario; the host environment can optionally supply an implementation for some service to my middleware. If no service is provided, I want to register a default implementation. I can use TryAdd to accomplish this, however I want to log that the default service was used as a warning to the user since it should not be used in production.
Since this extension does not let me know success/fail, I am forced to write my own which returns a bool.

I'll just quote myself from https://github.com/aspnet/DependencyInjection/pull/353#issuecomment-178206877:

Trust me - this'll come up time and time again :wink:

Closing because this would be a fairly large breaking change with fairly low value.

Did you invert the words large and low on purpose ;)

I'll leave that as an exercise to the reader 😄


Move to reactive Hazelcast API

To make sure the whole stack remain non-blocking, reactive APIs should be used where possible.

There is no purely reactive API for Hazelcast, so the only option is to use elastic scheduler for now. Also there a test to make sure call to the filter is not blocking (using BlockHound).


chore: cleanup unused and remove dup

cleanup unused block
remove duplicate in case

Codecov Report
Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (205acb0) 48.23% compared to head (f5d3f5a) 47.79%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   48.23%   47.79%   -0.44%
==========================================
  Files          20       20
  Lines        1754     1770      +16
==========================================
  Hits          846      846
- Misses        768      784      +16
  Partials      140      140

Files
Coverage Δ

pkg/kor/multi.go
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Multiple Timeline

Hi,
I'd like to propose a feature to create multiple timeline for a video, with custom markers.
My end goal would be to create clips from a video  with a second timeline on top of the playing timeline. Something that could look like this

I do not think it is currently possible, I know there is already an open feature issue about the custom markers from 4 years ago that didn't gather attention. This is a bit different so I took the liberty to create a new issue.
Thanks

@sampotts is this possible to be implemented ?


Closes #180 blog post unix vs sas datetime

Thank you for your Pull Request! We have developed this task checklist to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your blog post.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the main branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update), and make sure the corresponding issue is linked in the Development section on the right hand side
[x] Run the script from CICD.R line by line to first check the spelling in your post and then to make sure your code is compatible with our code-style. Address any incongruences by following the instructions in the file!
[x] Choose (possibly several) tag(s) or categories from the current list: c("Metadata", "SDTM", "ADaM", "TLG", "Shiny", "Community", "Conferences", "Submissions", "Technical") for your blog post. If you cannot find anything that fits your blog post, add your own tag! We occasionally tidy up all tags for consistency.
[x] Add a short description for your blog post in the description field at the top of the markdown document.
[x] Blog post is short, personalized, reproducible and readable
[ ] Add a disclaimer at the top of your post, if appropriate (example: Disclaimer
This blog contains opinions that are of the authors alone and do not necessarily reflect the strategy of their respective organizations.)
[x] Address all merge conflicts and resolve appropriately
[ ] Assign two of us (@bms63, @manciniedoardo, @StefanThoma, @kaz462) as reviewers in the PR.
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

I think we just need to get rid of this message from dplyr (@StefanThoma I think this is from session update you did, any thoughts??)

After that I think we are good to go!  @manciniedoardo any last thoughts?

oh and we need to fix the spelling workflow

Thanks, everyone, for your review!
I've implemented all the comments. I’ve just updated a paragraph on datasetJSON, as v1.1 is still a draft, by adding a reference to the specification for the latest updates.
One of the checks is still failing. Do you know what to do to make this check pass?

umm..im not sure what is going on with the spelling check.  we can let it slide


Use 'printf' to add build flags when generating assets

What
Running zsh on a linux machine the \n (newline) character was being
added to the data.go file when using the echo command.
Additionally the echo -e of echo -E options for backslash
interpretation are not available on Darwin/bsd.
This is useful when running the commands:
make generate-debug
make generate-prod

How to review
Run locally the following commands from your local dp-frontend-dataset-controller repo
make generate-debug
make generate-prod

Who can review
Anyone developer from Get Data team B

LG but we might want to do this for all of the repos that generate assets like this


List the PackageIdentifier of the package to be added to automation
KDE.Kdenlive
Details about the application
https://github.com/microsoft/winget-pkgs/pull/79637
https://github.com/microsoft/winget-pkgs/pull/73233
https://github.com/KDE/kdenlive/releases/tag/v22.08.2 (source code)
https://kdenlive.org/en/download/
Current version 22.08.1. Available 22.08.2

Then, shouldn't this be left open, since they don't publish .EXEs on GitHub?
Or do you also plan to create another issue for packages that are unable to use winget-releaser?

No, they use their own Jenkins CI, and it's the maintainers' choice. It is not necessary that a package which hosts it source-code on GitHub does necessarily use all features of GitHub.

Nope, since a GitHub Action can only be utilized by GitHub worklfows only.

Shouldn't version 22.08.2 have been pushed already?

The latter one, other packages also use binary-factory links.


How to add animated notes

What is your question?
Just how to add animated notes lol

Just add your frames to the xml

Don't also forget to make sure they use the same name as the original ones ("blue", "green", "red", "purple" as animation names).


Widget Position Does Not Stick When Page Refreshes

I've added widgets to my dashboard both via the "Add Widget" method and copying and existing widget.  I go into edit mode and place them where I want them, exit edit mode and everything looks good.  I then refresh the page and the controls have moved back to the spot they we're when they we're added.
The dashboard has 175 widgets and the first 160+ hold their position as expected.

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

ID: dcb11d2d-86bd-ff52-d191-4da86d54b473
Version Independent ID: 79438e17-b3d3-0331-5040-98107eb840a2
Content: Dashboards, charts, & widgets - Azure DevOps & TFS
Content Source: docs/report/dashboards/overview.md
Product: devops
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

I beleive I see what's going on.  I can't find any information on the max width of a dashboard and making an assumption it's 25 tiles.  Any tile I place in column 26+ reverts back to it's original location when refreshing.  It's a bit confusing because a widget can expand beyond 25 columns if it starts in column 25.
Can I have just 1 more column please:).

@KennyDay - Thank you for your inquiry. You can suggest a feature through our Developer Community page. I will follow up with the PM to determine the maximum tiles and columns that we support and update the topic accordingly.


Record values of other observables

[x] Constant species
[x] Parameters
[ ] Species and parameters set via assignment rules
[x] Reaction fluxes
[x] Compartment sizes

Assignment rules can now be tracked. See https://github.com/PySCeS/pysces/issues/57#issuecomment-1128605118. Fixed in latest PySCeS Release (1.0.2).

This continues the discussion from here where certain model outputs are not recorded.
The unrecorded variables are all assignment rules. In fact they are recorded by PySCeS, so it is a wrapper issue. Staying with Biomodels 297. I've had a brief look at the wrapper code. The wrapper records the simulation results here: https://github.com/biosimulators/Biosimulators_PySCeS/blob/2d97929994747fd30b5684393bb850839955b5eb/biosimulators_pysces/core.py#L158
@luciansmith I have verified that this array contains all the simulation data including the assignment rules, in fact it is the same data as in the model.sim DataFrame (refer here), just presented as a numpy array with or without labels.
It therefore has to do with filtering of the model attributes which as far as I can see happens here:
https://github.com/biosimulators/Biosimulators_PySCeS/blob/2d97929994747fd30b5684393bb850839955b5eb/biosimulators_pysces/core.py#L309-L310
The rules are not part dynamic_ids nor fixed_ids as far as I can tell. I know too little about the wrapper implementation in general to be able to tell how this is generally done, or what would need to change for them to be recorded.
The assignment and rate rules are in a dictionary mod.__rules__ where the ID of each rule is the key. For each key (rule) the value is another dictionary with the following keys:

name  (the SBML ID of the rule, this is the same as the key in the top-level dict)
formula
type (assignment or rate)
symbols (list of symbols in the rule)
code string (formula adapted with class references so it can be executed in PySCeS)

Hopefully this will give you sufficient info to track this down further. Unfortunately I don't have time in the coming weeks to work on this myself.

Thanks for the analysis!  Now that the pipeline works again, I can tackle this.

And, this now works!  And the PySCeS wrapper can now handle 711 of the biomodels, waaaay up from the previous 241.  That section was indeed key!  So thanks.

I'm happy you were able to track this down :smiley:


🐛 | web app player: repeat playlist / track / off not working properly

Bug
WEB UI: There are three options for repeat in the web ui player: OFF, PLAYLIST (repeat playlist), TRACK (repeat track). The player ajax will only display either OFF or TRACK.
If TRACK is shown, it will behave like PLAYLIST
I expected this to happen
Show the correct state and act accordingly
Further information that might help
The javascript listener needs to consider the mpd state of repeat and single
Explained:
The loop status requires to check the status track or playlist:
https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/31a0004e170cc4a84aafc1188d32575ef502d1a8/scripts/playout_controls.sh#L439
single)
        mpc repeat on
        mpc single on
        ;;
playlist)
        mpc repeat on
        mpc single off

In the ajax only both are checked:
https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/31a0004e170cc4a84aafc1188d32575ef502d1a8/htdocs/inc.playerStatus.php#L16
// Playlist repeat
preg_match('/\nrepeat: (.*)\n/', $status, $output);
$playerStatus['repeat'] = $output[1];
// Single repeat
preg_match('/\nsingle: (.*)\n/', $status, $output);
$playerStatus['single'] = $output[1];

Software
Develop branch 20200512
Version (git pull overwrote the version number):
https://github.com/MiczFlor/RPi-Jukebox-RFID/commit/31a0004e170cc4a84aafc1188d32575ef502d1a8
Base image and version
Buster
Hardware
RaspberryPi version
3 B+

We had a similar issue recently... 🤔


Update WinToast to the latest version available at 2022-06-25

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
New version: 5e441fd03543b999edb663caf8df7be37c0d575c from 2021-07-30
Old version: ce441336ef057576dfb377be754bc5357a04ff85 from 2018-08-02

May close #3817

Fixed for me 👍


Add comment to explain the type casting during war deploy

Codecov Report

Merging #322 into develop will increase coverage by 0.06%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           develop     #322      +/-   ##
===========================================
+ Coverage    56.22%   56.28%   +0.06%
===========================================
  Files           60       60
  Lines         1752     1750       -2
  Branches       202      201       -1
===========================================
  Hits           985      985
+ Misses         701      699       -2
  Partials        66       66

Impacted Files
Coverage Δ

.../maven/webapp/handlers/WarArtifactHandlerImpl.java
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Reorganize requirements.txt

requirements.txt needs to contain only minimal-needed modules to run website locally, the other file requirements_dev.txt needs to contain all modules.

nah


Fullscreen

Enable fullscreen only for the shared video

Hi @noriega2112. I don't fully understand what you are proposing. Can you please create a new issue and fill out our Feature Request Template in full? We would appreciate more information about your idea.  Thanks!!


doubts about client, server and the latest update of the library v1.0.0 (TZ-360)

Question
I have some doubts about how this protocol works.

What is the difference between client and server? I understand that if you want to have a cluster and generate reports or modify its values, you must declare yourself as a server, but I don't see in which cases you should declare yourself as a client.

In the last update of the library v1.0.0, changes were made to the configuration of the reports, Why was the esp_zb_zcl_cmd_direction_t direction parameter added and how is it used?

Additional context.
No response

@diazmanuel ,

What is the difference between client and server? I understand that if you want to have a cluster and generate reports or modify its values, you must declare yourself as a server, but I don't see in which cases you should declare yourself as a client.

Server:

A server in Zigbee refers to a device or application that provides services or resources. These services can include functionalities like temperature sensing, light control, or any other capabilities a device might have.
Servers respond to requests made by clients. For example, a temperature sensor (server) might provide temperature readings to a coordinator or a remote control (client) might send commands to a light bulb (server) to turn it on or off.
In Zigbee, devices often have both client and server functionalities. For instance, a light bulb might be a server for on/off commands and a client for network-related commands.

Client:

A client in Zigbee refers to a device or application that requests services or resources from servers.
Clients initiate requests to servers to access specific functionalities. For example, a remote control (client) sends a command to a light bulb (server) to change its brightness level.
Devices can act as clients for some interactions and servers for others, depending on the context of the communication.

In summary, servers provide services, and clients consume these services by making requests. Zigbee devices often have a mix of server and client functionalities to enable various interactions within a Zigbee network.

In the last update of the library v1.0.0, changes were made to the configuration of the reports, Why was the esp_zb_zcl_cmd_direction_t direction parameter added and how is it used?

The question can refer to Zigbee cluster library spec <IP_ADDRESS>.2 section.

thanks for the reply


Daily combo

Would it be possible to purchase the daily combo considering the necessary cards for it, or if referrals are needed, to do something about it?

Would it be possible to purchase the daily combo considering the necessary cards for it, or if referrals are needed, to do something about it?

I hope so too 🥹

is this possible to add feature of daily combo????

It seems that adding a daily combo feature might not be feasible because the API doesn't provide the names of the combo cards. It only indicates whether a card is part of the daily combo when the card is purchased or upgraded.

Solved this problem with the help of
data=requests.post("https://hamstercombos.com/hamstercombos/public/api/hamster-kombat-card-list",json={}).json()["data"]["dailyComboCards"]
for i in data:
i=i["card_name"]
It works well

Solved this problem with the help of data=requests.post("https://hamstercombos.com/hamstercombos/public/api/hamster-kombat-card-list",json={}).json()["data"]["dailyComboCards"].json()%5B%22data%22%5D%5B%22dailyComboCards%22%5D) for i in data: i=i["card_name"] It works well

In which line to add that code?

Solved this problem with the help of data=requests.post("https://hamstercombos.com/hamstercombos/public/api/hamster-kombat-card-list",json={}).json()["data"]["dailyComboCards"].json()%5B%22data%22%5D%5B%22dailyComboCards%22%5D) for i in data: i=i["card_name"] It works well

In which line to add that code?

This function gives the name of the combo cards to buy. I designed it in my script like this

Solved this problem with the help of data=requests.post("https://hamstercombos.com/hamstercombos/public/api/hamster-kombat-card-list",json={}).json()["data"]["dailyComboCards"].json()%5B%22data%22%5D%5B%22dailyComboCards%22%5D) for i in data: i=i["card_name"] It works well

In which line to add that code?

This function gives the name of the combo cards to buy. I designed it in my script like this
Hey
While this works well, I understand that hamstercombos.com isn't the official API and there might be a delay in the data. Could you please explain how and where the official data for these combo cards is obtained? Specifically, I'd like to know:

What API calls to the official Hamster Kombat API (api.hamsterkombatgame.io) are used to source this data?
How the data is processed or transformed before it’s made available at hamstercombos.com?
Is there any way to directly access this data from the official API to avoid delays?

really need add this future

https://github.com/masterking32/MasterHamsterKombatBot/discussions/304

It has been some time since one of my friends requested that card combos should be purchased every day according to the ratio of their income to their cost, and this is really needed, and maybe the amount of their income is sometimes not high, but we will receive a good profit, which is before buying cards. Profit should take priority with the combo so that all the money is not spent and he can buy Haru cards, also considering that this robot has this capability in it, you can get help from it (written with a translator)❤
https://github.com/shamhi/HamsterKombatBot

Решил эту проблему с помощью data=requests.post("  https://hamstercombos.com/hamstercombos/public/api/hamster-kombat-card-list",json={}).json()["data" ]["dailyComboCards"]  .json()%5B%22data%22%5D%5B%22dailyComboCards%22%5D) для i в данных: i=i["card_name"] Это работает хорошо

В какую строку добавить этот код?

Эта функция дает название комбо-карт, которые можно купить. Я разработал это в своем сценарии следующим образом
It’s amazing that this works for you because you use the card name as if it were its ID, but it’s not. For example Name = "Data Center Tokyo" ID = "data_center_tokyo"

https://github.com/masterking32/MasterHamsterKombatBot/commit/a6fd7d1175707e1333b8a969ad9112e7a47de642


Setup yocto build machine

Is your feature improvement request related to a problem? Please describe.

Building and verifying for Yocto requires dedicated hardware as the build times for Yocto are in the hours, which generally exceeds the timeouts for the Github free runners.
Describe the solution you'd like

Setup a new build server to build nightly image of Yocto images
Describe alternatives you've considered

Additional context

My intention is to use:
Architecture:            x86_64
CPU op-mode(s):        32-bit, 64-bit
Address sizes:         39 bits physical, 48 bits virtual
Byte Order:            Little Endian
CPU(s):                  8
On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
Model name:            Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
CPU family:          6
Model:               142
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
Stepping:            10
CPU max MHz:         4100.0000
CPU min MHz:         400.0000
BogoMIPS:            4800.00
RAM: 16 GB
HDD: 500 GB


feat: admin pannel

closes https://github.com/denoland/saaskit/issues/73
Hey @iuioiua, this is incredibly rough right now, but you encouraged me to open something so we can iterate on the idea.
With these changes, then I can go to the following routes:

http://localhost:8000/models
http://localhost:8000/items
http://localhost:8000/items/new

There are currently two major issues:

The styling is horrible. I need to get the plugin to accept styles that get applied to the routes it creates.
The plugin only works with pentagon right now. So most of the functionality doesn't work! I'm at least glad that I can show the items, otherwise I wouldn't even open this. Ideally the user of the plugin could map their own CRUD functions to types, instead of forcing the plugin user to create (possibly unnecessary/unwanted) pentagon models.

I will get to these enhancements at some point and then post an update here. Hopefully that will get rid of the pentagon and zod imports.
After those are dealt with, I can turn to a better layout (likely some sort of table) and then security / permissions.

Interested to see what this evolves into!

Hey Reed, are you cool if we close this PR without merging for now? We can revisit once v1 has landed.

Not at all a problem. Work picked up and I unfortunately had less time to contribute to this than I had hoped.


Not available within web worker context

I have an idea of using hyperdb and random-access-idb in a web worker context with webworkify, but I am getting an error message in the browser that says "Cannot find module 'crypto'".
I've narrowed it down to the randombytes module in sodium-javascript. The window global is not available in a web worker context so the crypto variable is set to null in this line.  This block determines which crypto.getRandomValues function to use. However, it does not have any checks for a web worker context. Most evergreen browsers support the crypto functions in web workers (Edge is an exception).
I'm still unsure the best way to achieve this, but I will play with a few things and submit a PR if I find something suitable. I appreciate any input.
Here's a gist showing the code I'm using. I run it with budo index.js. The browser console should show the error. https://gist.github.com/nickpeihl/0996c84667fc0defc76642ae0af4518a

I'm thinking of simply changing this line:
https://github.com/sodium-friends/sodium-javascript/blob/5511bafdba05e1ac2a276d7aab9e5e13892bff49/randombytes.js#L4
to:
var crypto = typeof window !== 'undefined' ? (window.crypto || self.crypto || window.msCrypto) : null

Ah so the trick is to change the line to:
var crypto = typeof global !== 'undefined' ? crypto = (global.crypto || global.msCrypto) : null

and browserify will handle picking either self or window

Fixed in 0.5.2 :)

😍 thanks so much!


[TACHYON-1682]Correct the discription of ReadType

Correct the discription of ReadType.  Below is the link issue:
https://tachyon.atlassian.net/browse/TACHYON-1682

Can one of the admins verify this patch?

Jeklin test it please.

Jenkins, ok to test.

Thanks!
Haoyuan


No "setup()" function?

I'd really like a function that starts PyGame, rather than having it autostart when the module is imported.

#14 appears to fix this. I'm closing this unless someone else sees some other problems.


Add GUI

add GUI, start with CLI tool e.g textual #13

Some potentially useful resources:

Textual layout design howto: https://textual.textualize.io/how-to/design-a-layout/
Excalidraw (design sketching tool): https://excalidraw.com/

This issue has been superseded by #184


asuswrt not working in 0.86.4

still having the issue with asuswrt in 0.86.4
2019-02-01 14:46:33 ERROR (MainThread) [homeassistant.setup] Error during setup of component asuswrt
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/setup.py", line 145, in _async_setup_component
    hass, processed_config)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/asuswrt.py", line 61, in async_setup
    await api.connection.async_connect()
  File "/usr/local/lib/python3.6/site-packages/aioasuswrt/connection.py", line 66, in async_connect
    self._client = await asyncssh.connect(self._host, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/misc.py", line 182, in __await__
    return (yield from self._coro)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/connection.py", line 5454, in connect
    conn, _ = yield from create_connection(None, host, port, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/connection.py", line 5110, in create_connection
    yield from auth_waiter
  File "/usr/local/lib/python3.6/site-packages/asyncssh/connection.py", line 627, in data_received
    while self._inpbuf and self._recv_handler():
  File "/usr/local/lib/python3.6/site-packages/asyncssh/connection.py", line 847, in _recv_packet
    processed = handler.process_packet(pkttype, seq, packet)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/packet.py", line 215, in process_packet
    self._packet_handlers[pkttype](self, pkttype, pktid, packet)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/connection.py", line 1414, in _process_kexinit
    self._kex = get_kex(self, kex_alg)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/kex.py", line 122, in get_kex
    return handler(alg, conn, hash_alg, *args)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/kex_ecdh.py", line 47, in __init__
    self._priv = ecdh_class(*args)
  File "/usr/local/lib/python3.6/site-packages/asyncssh/crypto/curve25519.py", line 31, in __init__
    self._priv_key = x25519.X25519PrivateKey.generate()
  File "/usr/local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py", line 39, in generate
    _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM
cryptography.exceptions.UnsupportedAlgorithm: X25519 is not supported by this version of OpenSSL.

Please open a new issue and fill in the issue template completely.

Should be fixed in #20570


Link - Validate and Publish

Description
With the dynamic ticket expansion/shuffle that occurred for the Link component, this is a final validation/draft test the component is ready to ship.
Acceptance Criteria

[ ] Perform a full validation of functionality

Web/iOS/Android
Screen reader w/ iOS/Android
Text resizing w/ iOS/Android
Alpha build to check in-app

Replacing normal links to external locations
Replacing links to internal locations (e.g. pulling up large panel
Replacing links in Secure Messaging hyperlink parsing

[ ] Publish new minor version officially releasing Link component

Validated functionality and tested usage within the app. Screenshots and video can be found in #239. Published<EMAIL_ADDRESS>to NPM.


fix: remove mocked storage and use built in option

Summary
Remove mocked localStorage since it causes issues on the Docs site. Passing in false causes useDarkMode to default to a React hook instead.

More work for https://github.com/newrelic/docs-website/issues/2293

I spun this up and all seemed to work correctly 🍾


File duplication issue

When the grid2demand code is run multiple times, the code generates duplicates of the output files instead of overwriting them. For example, the duplicates appear as zone_1.csv, zone_1_1.csv and so on. I believe we discussed this issue last week and came to the conclusion that it is tedious for the user to rename, delete and reorganize the output files. Your effort to fix this would be greatly appreciated!

Hi Aditya,
Yes, we are careful not to overwrite user-input data while generating additional fields from these input files. As you've noted in your statement, we create files named 'zone.csv', 'zone_1.csv', and 'zone_1_1.csv' specifically to prevent overwriting any existing files.


Multiple Kerberos Principals

We have a dotnet core application (centos, .NET core 6, k8s) that connects to SQL Server using Kerberos (underlying Microsoft Active Directory Domain Controller). Using Microsoft.Data.SqlClient nuget package 5.1.0. For auth, we specify SqlAuthenticationMethod.ActiveDirectoryIntegrated value in SqlConnectionStringBuilder.Authentication Property
We are currently using a kerberos sidecar for ticket management for a single principal. We are able to connect to SQL using this single principal. Now we would like to use multiple principals to connect to multiple SQL DB's from a single dotnet core application. How can we achieve this using nuget package Microsoft.Data.SqlClient. It seems possible in JDBC using property name "jaasConfigurationName" : https://github.com/Microsoft/mssql-jdbc/issues/828.

I'm not sure if it's possible. You'd need to be manually controlling the default principal, which is what the underlying .NET libraries use. Since you say you have Kerberos working with Authentication=ActiveDirectoryIntegrated, maybe you can simply set up multiple tickets and specify Authentication=ActiveDirectoryIntegrated and UserID=<user@DOMAIN>. That assumes the driver is not going down the IntegratedSecurity path, but is going down the AzureAD path for ActiveDirectoryIntegrated, where UserId is used as a hint for the MSAL library.
If that doesn't work, you can try looking into WindowsIdentity.RunImpersonated, but I'm not sure if that works outside of Windows.
MDS doesn't have an equivalent to the jaasConfigurationName setting in the JDBC driver.


Chore(exporter-variables-scss): Make package private

Description

this package is not published anywhere
it is used directly from the repository

Additional context

Issue reference

coverage: 78.698% (-0.7%) from 79.421%
when pulling abc3f31958e612625f50062a57cce884264e75e5 on chore/exporters-variables-private
into 8b3bb00f7baba87f701e1abd98615daf930fa320 on main.


Add a bunch of fixmes

This commit links various todos in our code to tickets in the issue tracker of the project. FIXME/WONTFIX comments have been working very well in Scalameta, so we'll be adopting this convention in Rsc as well.

Accepted benchmarking f9036cf. This may take a while.

Finished benchmarking f9036cf.

Benchmark
Before
After

RscParse
19.078 ms
19.158 ms

RscLink
49.233 ms
48.32 ms

RscOutline
42.772 ms
43.735 ms

RscSemanticdb
23.643 ms
26.195 ms

RscMjar
251.17 ms
262.576 ms

ScalacCompile
~10x
~9x

Full results are available at https://github.com/twitter/rsc/commit/880c86079d19760624c27bf71213e7aa611f2dea.


Huge delay with imageMeta when running tests

Hey 👋
I use spatie/laravel-medialibrary for managing files including images. And I noticed when I'm running tests there is a huge stall (around 5-6seconds) on the imageMeta creation. I pass the getFirstMediaUrl to the SEOData and it works fine in browser since it returns a full url to the image (like: http://www....)
view()->share('SEOData', new SEOData(
     image: $category->getFirstMediaUrl(Disk::CategoryPictures),
));

But during tests since the storage is faked, the getFirstMediaUrl returns a local path like /storage/1/.... and this seem to confuse this package's imageMeta() inside SEOData class and the test would get delayed for many seconds until it finally passes.
I wonder if this is something that can be fixed or taken into account for such scenario ?
Or is there a different approach I should take for passing the image path. I'm asking this since spatie/laravel-medialibrary is a popular package and people probably might end up with same pitfall.
Thanks in advance and thank you for your great package 😊🙌

Hey Hassan! Thanks a lot for your detailed and thoughtful issue. I totally agree testsuites should be fast and this should not take 5-6 seconds. 🙂
I think that it has to do with the function getimagesize() in the ImageMeta class. Could you try both the following:

Update your code, so that it passes the path and not the url. Should be something like this:

$category->getFirstMedia(Disk::CategoryPictures)->getPath();

Go to the ImageMeta class in your vendor files, add the following code and share with me the results:

<?php

namespace RalphJSmit\Laravel\SEO\Support;

use Exception;

class ImageMeta
{
    public ?int $width = null;

    public ?int $height = null;

    public function __construct(string $path)
    {
        $publicPath = public_path($path);

        if ( ! is_file($publicPath) ) {
            dump("Not a file");
            report(new Exception("Path {$publicPath} is not a file."));

            return;
        }

        [$width, $height] = getimagesize($publicPath);
        dump($width, $height);

        $this->width = $width;
        $this->height = $height;
    }
}

Thanks!

Hey! Thanks for your quick reply. 😄
I applied your instructions and I got the "Not a file" message.
I want to point out that spatie/laravel-medialibrary returns a full disk path to it's media. It does not return or store path relative to the public directory, which I know is what your package is designed to use. So there is that. And I looked into laravel-medialibrary docs and I found no ways to return a relative path.
As for now, I found a workaround for this problem. I did some investigations and found out laravel-medialibrary uses the disk url config to generate the media url. And as you know Laravel's Storage::fake() created a dummy disk with only one config property and that is the root path so it's missing lots of properties that a normal disk in config/filesystems.php would do.
So I added a second parameter to the Storage::fake() and adjusted it like below:
Storage::fake(Disk::CategoryPictures, [
    'url' => config('app.url') . '/storage',
]);

Now the test will run fine with normal speeds ✅
Although I'm not sure if this is considered a "hack" or it's actually how a proper storage fake should look like.

Hey @HassanZahirnia! Hmm, I guess a good solution, but indeed slightly hacky. But it is a good fake. For now I guess that it would be nice, but I could add a method that would allow you to generate URLs based on paths (and vice versa). I don't have time to do that this year, so you might want to use the current solution for now. 🙂


[APIGWV2] Asynchronous status update for VpcLink resource.

APIGWV2's VPCLink resource should be reconciled continuously until VpcLink.Status.VpcLinkStatus is either "Available" or "Failed"
Currently the status stays "Pending" even if the resource becomes available in AWS. I am guessing Elasti-cache already implemented this functionality for their resource.

/close


How to append content while sending email

I need to append link in email content while sending email.

Did you ever figure this out?

easy
gmail.observe.before('send_message', function(url, body, data, xhr){
var to_email= body_params.to.toString();
let img=''
data.body=data.body + img
});

gmail.observe.before('send_message',function(url,body,data,xhr){
var body_params = xhr.xhrParams.body_params;
body_params.body += 'Google';
xhr.xhrParams.url.cmml = body_params.body.length;
});
NOTE:  You have to set 'xhr.xhrParams.url.cmml' as body content length.

Closing issue due to lack of activity. Please reopen if needed.


Population weighting review

Modified code to be more easily run for multiple variables instead of just tmax

Modified code to run for multiple variables more easily. Tutorial now is based on tmin and tmax.


Vite devserver and ghibli style shader proof of concept

https://totoro-website.vercel.app/

Kept the original files in public folder can still be used as a static site from a static web server.


[Enhancement] Style top, right, bottom and left table borders separately

Currently, a theme treats all borders of a table the same. You can specify one border_style and one border_width, which subsequently apply to all borders. I would like the ability to specify these separately for the top, bottom, left and right borders. I envision two possible ways to achieve this:

Through individual attributes (border_style_top, border_style_bottom etc.)
By passing a list to the existing attributes (e.g. border_style: [solid, none, solid, none]), where it is probably best to keep the order consistent with the order in which you specify page margins, so top - right - bottom - left.

I would be satisfied with either so I will leave it up to whoever will implement this to choose one.

Are you looking to change the color, or turn borders on and off? If it's the latter, you can already do that using AsciiDoc. See https://asciidoctor.org/docs/user-manual/#table-borders.

That is actually part of what I wanted when I created this enhancement proposal. I would however still like the ability to have dotted row separators while having thicker horizontal table borders (and the top one thicker than the bottom one).
For now I abandoned the idea of going from Asciidoc directly to PDF with Asciidoctor-PDF. Instead I now use Asciidoctor to go from Asciidoc to HTML, CSS to style the HTML and a PDF printer to go from styled HTML to PDF, which works very well.
As is probably already clear, the document I use this for is one that has to obey some very specific styling requirements in order not to look out-of-place next to similar documents created in word processors. In hindsight I see that this is probably not a primary use case of Asciidoctor-PDF, and I understand if it is not one you wish to support, in which case you can close this enhancement proposal.

Thanks for clarifying! Exactly the input I was looking for.


Collapse all rows on the button click

Question
I wanted to implement only the collapse all functionality for all the rows on clicking the button that is being displayed out side of the table. When we click on the button, all the  rows that are being expanded should collapse
I am working on the react hooks, so i have the functional component, i am using the custom expandRow  like below
`
const [expanded, setexpanded] = useState([0, 1]);
const handleBtnClick = () =>{
if(!expanded.includes(2)){
  setexpanded(expanded => [...expanded,2]);
}
else{

  setexpanded(expanded => expanded.filter(x => x!==2));
}

};
const handleOnExpand = (row, isExpand, rowIndex, e) => {
if (isExpand) {
setexpanded(expanded => [...expanded,row.id]);
} else {
  setexpanded(expanded => expanded.filter(x => x !== row.id));
}

};
const expandRow = {
renderer: (row, index) => {
  return(

    <div className="table-section">
     <Table1/>
     <Table2/>
    </div>
  );
},
showExpandColumn: true,
expandByColumnOnly: true,
className: 'expanding-foo',
parentClassName: 'parent-expand-row',
expanded : expanded,
onExpand : handleOnExpand,

expandColumnRenderer: ({ expanded, rowKey }) => {
  if (expanded) {

    return (
      <FontAwesomeIcon icon={faAngleUp} className="arrowIcons" />
    );
  } else {
    return (
      <FontAwesomeIcon icon={faAngleDown} className="arrowIcons" />
    );
  }
}

};

        onClick={() => {handleBtnClick(); }}>
          Collapse All
      </Button>
    </Row>

`
i  went through the demos for row expand management, tried to the implement in the same way for using my button, but doesn't seems working out, no errors in my console . But i wanted to implement only the collapse all rows functionality is this the same way to get this or am i missing anything ? Thank you
@AllenFang

@Chun-MingChen

@sonusandeep wouldn't your button be as simple as clearing all from the expanded?
setexpanded(expanded => []);
Apologies if I've misunderstood!

Thank you so much this works for me


Refactor UI toolkit

📝 How can we Reproduce/Test?
Please provide instructions so we can reproduce:

[x] Step 1: npm run wss
[x] Step 2: Go through the scenes taking the Host route -- make sure to copy the invite code!
[x] Step 3: Go through the scenes taking the Join/Player route -- use the invite code here!

Hell yeah, working as planed! 🔥 🔥 🔥 🔥

Host and Joiner in lobby <3


[BUG] Decompile/compile with resources off (-r flag) makes app crash on startup

Information

Apktool Version (apktool -version) - 2.4.1
Operating System (Mac, Linux, Windows) - Linux
APK From? (Playstore, ROM, Other) - Playstore

Stacktrace/Logcat
06-26 22:06:43.685 19186 19186 W PackageManager: Failure retrieving xml 0x7f150002 in package com.instagram.android
06-26 22:06:43.685 19186 19186 W PackageManager: android.content.res.Resources$NotFoundException: File r/b0y.xml from xml type xml resource ID #0x7f150002
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.ResourcesImpl.loadXmlResourceParser(ResourcesImpl.java:1149)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.Resources.loadXmlResourceParser(Resources.java:2150)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.Resources.getXml(Resources.java:1206)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ApplicationPackageManager.getXml(ApplicationPackageManager.java:2193)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.pm.PackageItemInfo.loadXmlMetaData(PackageItemInfo.java:393)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at androidx.core.content.FileProvider.A00(:33)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at androidx.core.content.FileProvider.attachInfo(:12)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread.installProvider(ActivityThread.java:6578)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread.-wrap1(Unknown Source:0)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.os.Handler.dispatchMessage(Handler.java:105)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.os.Looper.loop(Looper.java:164)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.app.ActivityThread.main(ActivityThread.java:6944)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at java.lang.reflect.Method.invoke(Native Method)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
06-26 22:06:43.685 19186 19186 W PackageManager: Caused by: java.io.FileNotFoundException: r/b0y.xml
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.AssetManager.openXmlAssetNative(Native Method)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:560)
06-26 22:06:43.685 19186 19186 W PackageManager: 	at android.content.res.ResourcesImpl.loadXmlResourceParser(ResourcesImpl.java:1134)
06-26 22:06:43.685 19186 19186 W PackageManager: 	... 17 more

Steps to Reproduce

apktool decode -f -r -o temp/ instagram.apk
apktool build temp/ -o new.apk

APK
https://www.apkmirror.com/apk/instagram/instagram-instagram/instagram-instagram-192-0-0-35-123-release/
I also tested with latest version of apktool, doesn't work either. But when I remove the -r flag, it works (after changing some configs).  Isn't the point of having the -r to avoid such error of missing resources? What steps should I take to try to manually fix it?
Thank you.

Can you confirm what I'm rephrasing is correct?
You have a working bootable modified application when you apktool d/b without -r. However, when you introduce -r and do apktool b/d - the application fails with the stacktrace above

That is correct. When I remove the -r it kinda works, at least the app
boots.
Em ter., 29 de jun. de 2021 06:51, Connor Tumbleson <
@.***> escreveu:

Can you confirm what I'm rephrasing is correct?
You have a working bootable modified application when you apktool d/b
without -r. However, when you introduce -r and do apktool b/d - the
application fails with the stacktrace above
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iBotPeaches/Apktool/issues/2598#issuecomment-870489275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABAB4WQLLGT4LVPXZ7SPSDTVGQSTANCNFSM47L4AQYQ
.

Just to make it clear, when I remove -r I get some resources errors that I
can fix with --pause flag, thats fine, the app boots normally.
But with -r flag I dont get any compilation error, tho the app doesnt even
boot and prints the stacktrace above.
Em ter., 29 de jun. de 2021 06:51, Connor Tumbleson <
@.***> escreveu:

Can you confirm what I'm rephrasing is correct?
You have a working bootable modified application when you apktool d/b
without -r. However, when you introduce -r and do apktool b/d - the
application fails with the stacktrace above
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iBotPeaches/Apktool/issues/2598#issuecomment-870489275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABAB4WQLLGT4LVPXZ7SPSDTVGQSTANCNFSM47L4AQYQ
.

I have the same problem with most apps. Compiled app crashes with resource related errors such as this.
Some apps crash with -r flag, some without -r flag, some crash with both.

can fix with --pause flag

@lucaswxp Can you explain this --pause flag. Didn't find anything realted to this flag in the repo.
I am also having some resource errors with apps when decompiled without -r.


[#1006] feat(spark): Support Spark 3.4

What changes were proposed in this pull request?

Add maven profile spark3.4
Enable tests for Spark 3.4 in CI
Fix broken tests

Why are the changes needed?
https://github.com/apache/incubator-uniffle/issues/1006
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass Test

@summaryzb There are some tests related to Spark 3.4 that have failed. Could you fix them first.
https://github.com/apache/incubator-uniffle/actions/runs/5760857388/job/15617648318?pr=1082
On the other hand, I encountered an error when compiling locally. It seems we need to add a numPartitions method for MockTaskContext.
[ERROR] /Users/yangjie01/SourceCode/git/incubator-uniffle/integration-test/spark3/src/test/java/org/apache/uniffle/test/GetReaderTest.java:[199,17] 错误: MockTaskContext不是抽象的, 并且未覆盖TaskContext中的抽象方法numPartitions()

@summaryzb One piece of information that may help fix the tests is that Spark 3.4 has started to use slf4j2, while slf4j 1.7.x was used before. Some code or dependency changes will be involved in the version migration, you can refer to https://github.com/apache/spark/pull/37844, hope this helps you.

@summaryzb One piece of information that may help fix the tests is that Spark 3.4 has started to use slf4j2, while slf4j 1.7.x was used before. Some code or dependency changes will be involved in the version migration, you can refer to apache/spark#37844, hope this helps you.

Fixed, log4j-core was specified a certain version while other log4j group use different versions

Codecov Report

Merging #1082 (4e65579) into master (1411376) will increase coverage by 1.15%.
Report is 6 commits behind head on master.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1082      +/-   ##
============================================
+ Coverage     54.07%   55.22%   +1.15%
+ Complexity     2542     2088     -454
============================================
  Files           386      314      -72
  Lines         21879    14040    -7839
  Branches       1812     1262     -550
============================================
- Hits          11830     7753    -4077
+ Misses         9353     5871    -3482
+ Partials        696      416     -280

see 78 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@LuciferYang PTAL

Merged into master. Thanks @summaryzb and @jerqi ~


Kogan kasblstfansa sensor fix

Kogan kasblstfansa sensor fix.

This conflicts with the other PR you have open. Please merge to your main branch so that it updates the other PR, and close this one.


⚠ Samsung has degraded performance

In 728e69a, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2306 ms

Resolved: Samsung performance has improved in 236c60e.


Something is putting garbage in my package.json folder.

Something is frequently putting garbage json in my package.json file.  This mess makes editing package.json harder and causes me work to delete it.
In general package.json is my configuration file and something messing with my file really bothers me.  And storing data in an ini type file violates many principles including separation of concerns.
I'm posting this issue here because I have a vague memory of discussion here about putting something in package.json.

Out of interest, what kind of garbage is being added actually?

The next time it happens I'll post it here.  It is legal json with a lot of
mentions of atom type stuff.
On Fri, Jul 3, 2015 at 2:48 PM, Patrick Metzdorf<EMAIL_ADDRESS>wrote:

Out of interest, what kind of garbage is being added actually?
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/7700#issuecomment-118431809.

The next time it happens I'll post it here.

That sounds like a good idea, @mark-hahn  -- please provide as many specific details as possible when you do (for example, which package.json file are you referring to exactly here). Until then -- I'm going to close this.

It happens to me when I save my package.json with invalid JSON inside it, then I receive a error message "Invalid JSON content" and when I open the package.json file again I got a big object with alot of random keys.


How to create files

I am admittedly struggling with how to use this API, although I have used many APIs over the years. I am trying to develop a PHP application to create some google sheets with content.
I have started by setting up my API by using a service account. Then I created a very simple php file to list the docs I have in there. I only have a few test sheets.
However, I keep getting no files found, which makes no sense to me at all.  Therefore, next I thought I would try to create one, but I the only documentation available is in Java, Python, and Node.js, nothing for PHP. Any help would be appreciated.
<?php

require __DIR__ . '/includes/google/vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig('credentials.json');
$client->addScope(Google_Service_Drive::DRIVE);

$service = new Google_Service_Drive($client);

// Print the names and IDs for up to 10 files.
$optParams = array(
    'pageSize' => 10,
    'fields' => 'nextPageToken, files(id, name)'
);
$results = $service->files->listFiles($optParams);

if (count($results->getFiles()) == 0) {
    print "No files found.\n";
} else {
    print "Files:\n";
    foreach ($results->getFiles() as $file) {
        printf("%s (%s)\n", $file->getName(), $file->getId());
    }
}

The issue is likely that the files exist in your Google Drive account, not that of the service account. A service account can be thought of as an entirely separate Google user -- it is not "you".
Share your files with the service account, or if you have access and it makes sense for your case, create a shared drive. In the latter case, you will need to set supportsAllDrives to true in your $optParams array.

Just tried that and still nothing. I also discovered I am not able to create a shared drive. It is greyed out.

@rpelletierrefocus which documentation are you referring to which has examples for Python, Java, and Node but not PHP?

See the example for large file download in drive, and modify the code to list files instead of downloading. The important part of the same is the authentication part, which I believe is your issue (as @jdpedrie pointed out)

I created the OAUTH2 credentials with the redirect url. I am running a dev server on my machine at localhost:8000. So my redirect url is localhost:8000/large-file-download.php
I have downloaded the json credentials and placed them in the directory. They appear to be read without any issue.
I click Connect me and it appears to go through the entire process successfully and I get a key.
But $client->getAccessToken() return nul. and all I see is Connect Me again.
Unfortunately, after further testing it appears I may have reached my API limit (only guessing), becausenow I get:
GET /google2.php?code=4%2F4AHN7QYoAXPDDq78pjmcNJkqZH7eb6F88xandtB1VlIgn7pr2qk5PqMn9MHR4GyYtlzA-lQdm9DLW0SwJRwX3Kw&scope=https%3A%2F%2Fw
ww.googleapis.com%2Fauth%2Fdrive - Uncaught GuzzleHttp\Exception\ClientException: Client error: `POST https://oauth2.googleapis.com/token` resulted in a `400 Bad Request` response:
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}

@rpelletierrefocus check this stack overflow post, I think that will
give you enough code in PHP to get started
https://stackoverflow.com/questions/52934537/how-to-use-sheet-id-in-google-sheets-api/62568335#62568335

Thank you, ; I actually just went back and started again and was finally able to create a sheet using the code below. I had to run it from the command line first to get the token.json created but it worked. The sheet gets created and I can get the new fileId. Now the next step.
<?php
/*
 * Copyright 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

include_once __DIR__ . '/includes/google/vendor/autoload.php';

$client = getClient();

$service = new Google_Service_Sheets($client);

$spreadsheet = new Google_Service_Sheets_Spreadsheet([
    'properties' => [
        'title' => 'New Spreadsheet'
    ]
]);

$spreadsheet = $service->spreadsheets->create($spreadsheet, [
    'fields' => 'spreadsheetId'
]);

$fileId=$spreadsheet->spreadsheetId;

echo $fileId;

function getClient()
{
    $redirect_uri = 'http://localhost:8000/' . $_SERVER['PHP_SELF'];

    $client = new Google_Client();
    $client->setApplicationName('Google Sheets API PHP Quickstart');
    //$client->setScopes(Google_Service_Sheets::SPREADSHEETS_READONLY);
    $client->addScope("https://www.googleapis.com/auth/drive");
    $client->addScope("https://www.googleapis.com/auth/drive.file");
    $client->addScope("https://www.googleapis.com/auth/spreadsheets");
    $client->setRedirectUri($redirect_uri);
    $client->setAuthConfig('credentials.json');
    $client->setAccessType('offline');
    $client->setPrompt('select_account consent');

    // Load previously authorized token from a file, if it exists.
    // The file token.json stores the user's access and refresh tokens, and is
    // created automatically when the authorization flow completes for the first
    // time.
    $tokenPath = 'token.json';
    if (file_exists($tokenPath)) {
        $accessToken = json_decode(file_get_contents($tokenPath), true);
        $client->setAccessToken($accessToken);
    }

    // If there is no previous token or it's expired.
    if ($client->isAccessTokenExpired()) {
        // Refresh the token if possible, else fetch a new one.
        if ($client->getRefreshToken()) {
            $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
        } else {
            // Request authorization from the user.
            $authUrl = $client->createAuthUrl();
            printf("Open the following link in your browser:\n%s\n", $authUrl);
            print 'Enter verification code: ';
            $authCode = trim(fgets(STDIN));

            // Exchange authorization code for an access token.
            $accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
            $client->setAccessToken($accessToken);

            // Check to see if there was an error.
            if (array_key_exists('error', $accessToken)) {
                throw new Exception(join(', ', $accessToken));
            }
        }
        // Save the token to a file.
        if (!file_exists(dirname($tokenPath))) {
            mkdir(dirname($tokenPath), 0700, true);
        }
        file_put_contents($tokenPath, json_encode($client->getAccessToken()));
    }
    return $client;
}

Closing this issue as it seems you've been able to work through it. Thank you for posting your working code!