Avalonia on Raspbian

Is Avalonia compatible raspbian yet? I would assume it would be in theory has it would just need to bind to a gtk build that was built for the pi correct? Has this been tested? Or is there work going on in this area?
Sorry if this is the wrong place for this question. I did not know here else to ask.

You need to either use Mono as your runtime and our old GTK# backend or somehow obtain an ARM build of libSkiaSharp.

Is the GTK# back end you speak of no longer maintained?

@kekekeks  I do not understand why you  use GTK? Why not use OPENGL？

You need something to create windows to render on, you know

Hi,
I am also interested in using Avalonia on Raspbian. For rendering backend, OpenGLmay be the preferred rendering engine, since it can render directly to hardware, without X installed. There is also OpenVG that can be used. You can see the available low-level libraries available here and samples here.
There are other things to consider, like handling inputs, to have a fully working solution, but at least, displaying things can be a good start.

There is no MIT (or compatible) licensed OpenVG library that meets our requirements. And the only reliable and feature-rich library that can render 2D graphics on top of OpenGL is Skia.

It is possible to call opengl functions directly, and it works nice. I have also used Qt directly on the raspberry pi without X installed. It uses direct opengl calls also.
I have not found usefull help on how to get Skia running on Raspbian.

Ask @mterwoord, he had some success in compiling libSkiaSharp.so for ARM. If you manage to get libSkiaSharp.so binary, you could probably use our /dev/fb0 backend for direct framebuffer access. It also some initial support for touchscreen/mouse input via libevdev2

I had things working with .net core 2.0 and GTK (not sure 2 or 3) and a self-built libskia.
See https://github.com/terwoord/skiasharp-raspberry for a buildscript.
Improvements are welcome. :)

After a few more tests with two different Raspberry PIs, I noticed a difference between Raspbian and Linux Mate:

on Linux Mate my test app seems to work almost fine. The app does not correctly refresh when it was hidden by another window. As soon as my mouse moves over one of the buttons it refreshes though.
on Linux Raspbian the app starts but no text is drawn at all! The labels are completely missing, the buttons don't show their text. Apart from that the buttons are clickable, so the app is not crashed (as I first had thought)

Any idea why text drawing could fail on Raspbian?
@kekekeks you mentioned /dev/fb0 with libSkiaSharp. Can you tell me what this is about and how I could use it?
(BTW, if anyone is willing to do tests on a Raspberry, I would enjoy to provide one. Remote access via SSH, Teamviewer, XRDP would be possible. I could install either Linux Mate or Raspbian)

I'm using yocto to build my own linux distribution, and had issues with a different font to be used.
Maybe that's what's going wrong for you?

@mterwoord You are right. If I set the font of my window explicitly to Courier or the default font of Raspbian (Piboto light) all the text is displayed. I am not Linux expert enough to diagnose this any further so I will stick with this solution for now.

The next problem on Raspbian is that image scaling does not work like mentioned in #1486 . By setting Stretch="None" I disabled scaling but Avalonia rendered the image correctly.
Maybe someone can investigate this problem. I'm not deep enough in this topic to test a later version of libSkiaSharp than 1.57.1 from May 2017 used in mterwoord's build script.

Avalonia 0.7.0
libSkiaSharp 1.68.0
Raspian 9 (stretch)

I can reproduce the issue reported by @nicolasr75 where no text is displayed on Raspian.
I am also seeing incorrect colours - my test app is supposed to display rectangles with green, orange and red backgrounds. This works on Windows, however on Raspian the colours rendered are green, light blue and dark blue.
I use a converter to bind the Border.Background property to my viewmodel:
switch (status) {
    case Status.OK:
        return Brushes.Green;
    case Status.Warning:
        return Brushes.Orange;
    case Status.Failure:
        return Brushes.Red;
    default:
        throw new InvalidOperationException();
}

Github is not letting me upload a screenshot just now.

Is there some reliable way to reproduce the issue in QEMU? We hack the hardware to repro, unfortunately.

I would be happy to try and find the minimum C# / Avalonia repro for these two issues.
I'm not familiar with QEMU though, and from a quick search it seems like getting Raspian running under QEMU is a bit involved (custom kernels etc).
If anyone has a prebuilt environment or scripted setup, that would be much appreciated.

I was able to resolve the missing text issue by... installing the fonts :)
sudo apt-get install ttf-mscorefonts-installer

Looks like the default font in Avalonia is one of the Microsoft ones?

If you have a look at what I do with the swapping of the colors for GTK#, I check the platform color format first. You could write a utility function that swaps only on some platforms.
You don't need to che k the actual platform, just the platform color that skia reports.

It seems that GTK selects different X11 visual depending on the platform. I think it should be fixed after we switch from GTK to X11 backend. For now we could add pixel format override option to GtkOptions.

I forced my application to depend on the SkiaSharp 1.68.0 package (overriding Avalonia.Skia's dependency on 1.60.1) and now the R/B channels are consistently wrong on both Windows and Linux using the default brushes.
Raspian:

Windows:

Quick summary for those coming in cold (Avalonia 0.8.0):

Reference the Avalonia.Skia.Linux.Natives NuGet package to get libSkiaSharp

You might need Condition="'$(TargetFramework)' == 'netcoreapp2.1'" to stop it being included on .net framework builds

Set the FontFamily of you window explicitly to Courier or the default font of Raspbian (Piboto light), or sudo apt-get install ttf-mscorefonts-installer

The above worked for me, although I haven't tested the image stretching issue.


[FEA] Easy functionality for using class_weights and sample_weights for Retrieval models

🚀 Feature request

Since Inbatch sampler converts the retrieval task to multi-class classification,  we need an easy functionality to be able to use class_weight and sample_weight args in the model.fit() for retrieval models, without users to deal with customization.
add unit test for using sample_weight and class_weight args for retrieval tasks in here
we need examples or code snippets in the docs to showcase the functionality

This request comes from a customer.

Let's add a documentation (inline docstring) for the feature


Any plans for sebastian/diff ^2.0 compatibility?

As the title suggests; sebastian/diff has been out for a few weeks now. phpunit 6.3 and higher requires it, making a side-by-side install through require-dev impossible at the moment.

Hi and thanks for reporting!
This issue has been noted and is a duplicate of https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2962.
We are in the process of resolving this issue ASAP, please bear with us for a bit longer :)

Oh sorry, I could not find that one. But I was not looking for closed issue, I guess that explains it :-)

Sorry for the wait @alcohol and all the upvoters of this issue.
It took me longer than I wanted, but here we are, free of the diff 1.4 dep.
For now only on master, will become part of the next minor release of the project.

No need to apologize. Appreciate all the amazing work everyone on this project puts in. Thanks!


World Generation

This will be a fun one. I bet this will take longer than a week :c
Packets

[x] https://wiki.vg/Protocol#Game_Event (only event 13, for waiting for chunks)
[x] https://wiki.vg/Protocol#Chunk_Data_and_Update_Light
[x] https://wiki.vg/Protocol#Unload_Chunk

Actual fun
Resources:

https://www.alanzucconi.com/2022/06/05/minecraft-world-generation/

https://www.youtube.com/watch?v=CSa5O6knuwI

[x] Superflat
Simple superflat world generation

Random's
Mojang uses some own Random implementations.

[x] XOROshiro128

[ ] XOROshiro48

[ ] Biome map
It all starts with the so-called “biome map”: which serves as a template to dictate which type of biome goes in each region of the world. Plains, deserts, mountains and oceans are all examples of possible biomes, and nowadays the Overworld alone counts over 60 of them.

The map is built using a sequence of fairly simple operations, referred to as “layers”, which are stacked on top of each other. Each layer takes the biome map from the previous one, adds some details, and passes it to the next one.

Terrain:

[ ] Basic Outline
The first one creates a basic outline, using the biome map to decide the height each region can have. The result is a solid, barren landscape, entirely made out of stone, where every empty block below y=62 is turned into water.

[ ] Biome's
The following step replaces all the surface stone blocks with a type appropriate to their biome. Grass for plains, sand for desert, gravel for oceans, and so on. This is also where the bedrock layer is generated. Interestingly enough, in the Java Edition its pattern doesn’t depend on the world seed, and is the same across every Minecraft world.

[ ] Caves's
In the third step, caves and ravines are literally carved out of stone.

Finally, the third phase populates the world with the remaining features. Structures like villages, strongholds and ocean monuments are placed first, followed by decorative elements like trees and grass. This is also when ore veins are added in the world, in a process not dissimilar to the ones used by “Infiniminer”.

Biomes
Resources:

https://minecraft.fandom.com/wiki/Biome#List_of_biomes

Overworld
Offland biomes (islands/oceans)

[ ] Ocean
[ ] Deep Ocean
[ ] Warm Ocean
[ ] Lukewarm Ocean
[ ] Deep Lukewarm Ocean
[ ] Cold Ocean
[ ] Deep Cold Ocean
[ ] Frozen Ocean

Highland biomes

[ ] Jagged Peaks
[ ] Frozen Peaks
[ ] Stony Peaks
[ ] Meadow
[ ] Cherry Grove (Most beautiful biome ever)
[ ] Grove
[ ] Snowy Slopes
[ ] Windswept Hills
[ ] Windswept Gravelly Hills
[ ] Windswept Forest

Woodland biomes

[ ] Forest
[ ] Flower Forest
[ ] Taiga
[ ] Old Growth Pine Taiga
[ ] Old Growth Spruce Taiga
[ ] Snowy Taiga
[ ] Birch Forest
[ ] Old Growth Birch Forest
[ ] Dark Forest
[ ] Jungle
[ ] Sparse Jungle
[ ] Bamboo Jungle

Wetland biomes

[ ] River
[ ] Frozen River (for some reason i really like them)
[ ] Swamp
[ ] Mangrove Swamp
[ ] Beach
[ ] Snowy Beach
[ ] Stony Shore

Flatland biomes

[ ] Plains
[ ] Sunflower Plains
[ ] Snowy Plains
[ ] Ice Spikes

Arid-land biomes(it neither rains nor snows at all, but the sky still turns overcast during inclement weather.)

[ ] Desert
[ ] Savanna
[ ] Savanna Plateau
[ ] Windswept Savanna
[ ] Badlands
[ ] Wooded Badlands
[ ] Eroded Badlands

Cave biomes(oh hell they exist as well :c)

[ ] Deep Dark
[ ] Dripstone Caves
[ ] Lush Caves

Void biomes

[ ] The Void (sounds like a thriller)

Nether (hell (literally) it does not end)

[ ] Nether Wastes
[ ] Soul Sand Valley
[ ] Crimson Forest
[ ] Warped Forest
[ ] Basalt Deltas
i thought there were more biomes since 1.16 update. But luckly for us

The End (this game is endless)

[ ] The End
[ ] Small End Islands
[ ] End Midlands
[ ] End Highlands
[ ] End Barrens

Structurs
Resources:
https://minecraft.fandom.com/wiki/Structure
Overworld
Underground structures

[ ] Ancient City
[ ] Mineshaft
[ ] Stronghold
[ ] Buried Treasure (i think we should start with this)
[ ] Trail Ruins
[ ] Trial Chambers

Aboveground structures

[ ] Desert Pyramid (one of my favorites)
[ ] Igloo
[ ] Jungle Temple
[ ] Pillager Outpost
[ ] Swamp Hut

Village

[ ] Village Plains
[ ] Village Meadow
[ ] Village Desert
[ ] Village Savanna
[ ] Village Taiga
[ ] Village Snowy Plains
(did you know that on Bedrock Edition, there are more villages in different biomes?)

Abandoned Village

[ ] Abandoned Village Plains

[ ] Abandoned Village Meadow

[ ] Abandoned Village Desert

[ ] Abandoned Village Savanna

[ ] Abandoned Village Taiga

[ ] Abandoned Village Snowy Plains

[ ] Woodland Mansion

Aboveground and underground structures

[ ] Ruined Portal (have you ever seen them underground?)

Underwater structures

[ ] Ocean Ruins
[ ] Shipwreck
[ ] Ocean Monument (do you think its bigger than the Woodland Mansion?

Nether

[ ] Nether Fortress
[ ] Bastion Remnant
[ ] Nether Fossil
[ ] Ruined Portal

The End
End City
Structure-like features

[ ] Dungeon (im want to do that)
[ ] Desert Well
[ ] Bonus Chest
[ ] Pile
[ ] Forest Rock
[ ] Geode (such great sounds)
[ ] Fossil
[ ] Ice Spike
[ ] Iceberg
[ ] Exit Portal
[ ] End Gateway
[ ] Obsidian Pillar
[ ] Obsidian Platform
[ ] Void Start Platform

mhh. maybe 2 weeks

Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)

Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)

Good idea

To add, slime chunks are also needed to be generated.

Another resource that could be useful : http://cuberite.xoft.cz/docs/Generator.html
It documents the way Cuberite's world generator works. I believe Feather also based their generator on it.

Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)

Rather than an enum, you should probably create a WorldGenerator trait. You could create a SuperflatGenerator that implements WorldGenerator. This makes it super easy for third-parties to implement their own generators.

Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)

Rather than an enum, you should probably create a WorldGenerator trait. You could create a SuperflatGenerator that implements WorldGenerator. This makes it super easy for third-parties to implement their own generators.

Hey, I think this is actual what we are ended doing now


Operating systems state lifted one level up

Only the last commit is relevant. The rest is to express dependency on #624.

/operatingSystems/operatingSystems -> /operatingSystems because there isn't
any other property at level /operatingSystems any more. Previously there
was /operatingSystems/loadInProgress.
ADD_ALL_OS and REMOVE_MISSING_OSS actions replaced by single
SET_OPERATING_SYSTEMS since they always (once) occured together.

This change is

Rebase now that #621 is merged and LGTM.
Looks like it's unique enough to be in parallel with #622 and #624.

Rebase now that #621 is merged and LGTM.
Looks like it's unique enough to be in parallel with #622 and #624.

This depends on #624 because it uses arrayToMap().

#622 is merged now

@jniederm rebase, please.

#624 is merged now, can you please rebase?

Rebased. In conflictless scenarios GitHub can do rebase for us.


Strong Identifiers clarity

The list of Strongest Identifiers is mismatching.
Within the table it is stated that the User Account Strongest identifiers are;

Name + NTDomain
Name + UPNSuffix
AADUserId
Sid

But if we scroll a little bit down we can see the statement of strong identifiers is:

Name + UPNSuffix
AadUserId
Sid + Host (required for SIDs of builtin accounts)
Sid (except for SIDs of builtin accounts)
Name + NTDomain (unless NTDomain is a builtin domain, for example "Workgroup")
Name + Host (if NTDomain is a builtin domain, for example "Workgroup")
Name + DnsDomain
PUID
ObjectGuid

It would be nice to see this documentation being uniform.

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

ID: 7fa4f84e-b21f-dbe9-20ad-23ac30f51675
Version Independent ID: 80af1509-2a9a-6c20-3272-461924fb26e9
Content: Microsoft Sentinel entity types reference
Content Source: articles/sentinel/entities-reference.md
Service: microsoft-sentinel
GitHub Login: @yelevin
Microsoft Alias: yelevin

@goosvorbook
Thanks for your feedback! We will investigate and update as appropriate.

@yelevin
Could you Please review this and update as appropriate.

@goosvorbook
I'm going to assign this to the document author so they can take a look at it accordingly

@goosvorbook @ManoharLakkoju-MSFT
Thanks for your feedback!
I am already working on updating these documents in line with what you described. So I will go ahead and close this issue.
#please-close

#please-close

#please-close


Fatal error:  Uncaught exception 'Google_IO_Exception' with message 'SSL certificate problem: self signed certificate'

What's that mean ?
I just start use google api php for month.My code worked fine for over 3 week.But last night i got that error. And after 30 minute it's run ok ??
Fatal error:  Uncaught exception 'Google_IO_Exception' with message 'SSL certificate problem: self signed certificate'

Even I am facing same issue. I tried sample example on local environment for the first time and it gave same error. Has anyone resolved this? what is the cause? any pointers

What is your OS / PHP version?

Thank you for filing this issue. We asked some clarifying questions a week or more ago and never heard back from you. We are unable to proceed with this issue until then, so we are closing it. Please feel free to re-open this issue with more information.


Various changes to use "heartbeat" instead of "ping", where appropriate

Replaced AgentPing with DeviceHeartbeat and ServerHeartbeat
Updated logic in sendDeviceHeartbeats to more clearly express and
document the two possible paths
Updated recvConfigHandler in WebSockerManager to sleep if not
initialized/connected, or block on read (up to 5 minutes) if
receiving via websocket

I haven't had a chance to test this properly yet, but need to run and figure it is better to get eyes sooner than later...

Websocket connection to api server is failing with this, but since it's also failing in develop, I will merge and we can address it separately:
Sep 10 20:10:58 rpi-plastic jacktrip-agent[11164]: {"level":"error","ts":1631329858.831869,"logger":"jacktrip.agent","caller":"cmd/deviceWSManager.go:98","msg":"Failed to unmarshal agent ping response","error":"json: cannot unmarshal number into Go value of type client.AgentConfig","stacktrace":"main.(*WebSocketManager).recvConfigHandler\n\t/home/mdickey/code/jacktrip-agent/cmd/deviceWSManager.go:98"}
Sep 10 20:10:58 rpi-plastic jacktrip-agent[11164]: {"level":"error","ts":1631329858.8395317,"logger":"jacktrip.agent","caller":"cmd/deviceWSManager.go:98","msg":"Failed to unmarshal agent ping response","error":"json: cannot unmarshal number into Go value of type client.AgentConfig","stacktrace":"main.(*WebSocketManager).recvConfigHandler\n\t/home/mdickey/code/jacktrip-agent/cmd/deviceWSManager.go:98"}
Sep 10 20:10:58 rpi-plastic jacktrip-agent[11164]: {"level":"error","ts":1631329858.8423297,"logger":"jacktrip.agent","caller":"cmd/deviceWSManager.go:98","msg":"Failed to unmarshal agent ping response","error":"json: cannot unmarshal number into Go value of type client.AgentConfig","stacktrace":"main.(*WebSocketManager).recvConfigHandler\n\t/home/mdickey/code/jacktrip-agent/cmd/deviceWSManager.go:98"}
Sep 10 20:11:07 rpi-plastic jacktrip-agent[11164]: {"level":"info","ts":1631329867.884968,"logger":"jacktrip.agent","caller":"cmd/devicePinger.go:48","msg":"Updated ping stats with ICMP ping result"}
Sep 10 20:11:16 rpi-plastic jacktrip-agent[11164]: {"level":"info","ts":1631329876.9948397,"logger":"jacktrip.agent","caller":"cmd/devicePinger.go:48","msg":"Updated ping stats with ICMP ping result"}


Country dropdown box, pressing the backspace key will not delete the first character typed in

✔ BUGS → This form is required:
Steps
Type single character in country search box.
Press backspace
Expected Result
The character you typed in should be erased
Actual Result
First character typed in will not delete
Version
2.2.10
Testcase

@jeremyadell Please provide the correct version of SUIR and provide codepen or link to docs. The described problem was fixed in 0.70.0.

Thanks for the quick reply.
I was running 0.68.5
Upgrading to 0.70.0 fixed the issue
Appreciate it.

Excellent, thanks for the feedback.


re2: 2024-06-01 -> 2024-07-02

Changes: https://github.com/google/re2/compare/2024-06-01...2024-07-02
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Do you think we can remove chromium from passthru tests? ofborg always fails to build it anyway, and forcing ofborg to compile something as big as it is just stealing CPU time that can be used for building stuff that can be verified.

FWIW I built re2.tests locally successfully on x86_64-linux.
It feels like ofborg has troubles building anything that touches close-to-stdenv staging in general (or when staging already has stdenv rebuild merged).
chromium was added to tests in https://github.com/NixOS/nixpkgs/commit/12c1a063bcf4bac7d6b0a629ace59500cb9d52a4 . Maybe @risicle has some thoughts on it's fate.

ofborg is generally never going to successfully build anything on the staging branch anyway.

I'd be fine if chromium were commented out so it could at least serve as a prompt to a human.
But then we run into haskellPackages.re2, which presumably requires a ghc build.
It might be worth stopping ofborg from attempting any passthru.tests builds on staging at all. Or perhaps having a hard block on specific packages like chromium.


Test template not working responsively on Edge, Firefox and IE (works fine in Chrome)

When I test the bundled template using "npm test" I can see it correctly react to window-width changes only on Chrome while it breaks on Firefox, IE11, Edge 13 (windows 10).

I guess the issue is related to some CSS applying a display: block !important to <table> tags and Chrome not supporting altering the display on table (and other table related) tags.
Of course this doesn't seem an issue with foundation for emails itself, but maybe the default css.

This issue was moved to zurb/ink#163


Nil tracking/checking

Environment

name
version

IDEA version
IDEA 2020.1

Luanalysis version
1.0.1

OS
Linux

What are the steps to reproduce this issue?

Make a local with type foo|nil (in my case, that's because the function's return is marked as so)
Check for ~nil in a branch
Use the local knowing it's not nil

What happens?
The local is still assumed to be potentially nil
What were you expecting to happen?
The local should be un-flagged as "potentially nil" interally

I would definitely like to add this. Although of course can be complicated in certain circumstances.
It is going to be a bit difficult though as Lua allows overloading of operators, and whilst Lua itself isn't multi-threaded, it is frequently used in multi-threaded environments.
In the example above its doing the right thing though i.e. using a local, rather than a table property. May need to inspect the type as well to be sure the comparison isn't overloaded.
For now, if you haven't already, take a lot at @not casts. They're good for casting away nil without throwing away further type safety:
https://github.com/Benjamin-Dobell/IntelliJ-Luanalysis#not-type-casts

Can I use @not for exists variable in if-scope?
Something like this:
---@param s string
function print(s) end

---@type string|nil
local a = "Hi"
if a ~= nil then
    ---@not nil: a
    print(a)
end


Remove stop from service container menu and replace with restart

v0.27.0-rc4
Steps:

Create and stop a service
In the service container menu, select stop

Results:
Container stops then restarts.
Expected:
Since this is actually expected behavior, we should remove the stop and just have restart in the menu.

The UI shows the actions the resource says it has, so this would be an API change

As we allow services containers to be in stopped state (when restartPolicy=No) is defined, looks like this bug can be closed. As when restartPolicy=No is specified, stop woudln't result in container restart. What do you think, @vincent99?

What happens if a service container with restartPolicy=yes/always and you call stop; do we start it again?
- If we do not start it, then I agree this can be closed.
- If we do start it again even though I just stopped it, then I still think the stop action should be removed from the API response for containers of a service with restartPolicy=yes.

@vincent99 we do start it again if restartPolicy=always.
I'm not sure there is a way to remove specific action from the object based on object's attribute. Object either has an action, or it doesn't.

I think James had to do that somewhere... @hibooboo2 or @ibuildthecloud do you know how to disable actions on a resource based on custom logic/attributes of the resource?


Ukrainian Patch 1

Please tell me if I did a mistake.

This looks good, keep it up!

Small thing: make sure the last line is "Dummy": "Dummy", like shown in the en.json: https://github.com/Yellow-Dog-Man/Locale/blob/main/en.json#L2720C5-L2720C25

Thank you very much for adding Ukrainian language! I'm always excited when we get new languages!
I was low-key hoping for someone to do Ukrainian translation specifically at some point. I don't speak the language, but my grandma was from Ukraine.

Just a small note, the ISO 639-1 code was wrong. Ukrainian is uk instead of ua.
I've fixed it on master now, make sure to sync up and make further edits to uk.json file instead.


Adding nodes with a RollbackSynchronizer causes resimulation from tick -1

I encountered this issue while implementing periodic spawns of rollback-aware NPCs : each new RollbackSynchronizer still has a _latest_state set to -1 by the time _before_loop is first called, causing the _resim_from variable to be -1 for the corresponding _rollback call and thus resimulating everything from the start of the game (or history size, I didn't check, but it was tanking my FPS hard).
I worked around this by adding a _record_initial_tick function and calling it from process_settings as follows:
func _record_initial_tick(tick: int):
	# Broadcast state we own
	if not _auth_state_props.is_empty():
		var initial_state = {}

		for property in _auth_state_props:
			initial_state[property.to_string()] = property.get_value()

		if initial_state.size() > 0:
			_latest_state = max(_latest_state, tick)
			_states[tick] = PropertySnapshot.merge(_states.get(tick, {}), initial_state)

	# Record state for specified tick ( current + 1 )
	if not _record_state_props.is_empty() and tick > _latest_state:
		_states[tick] = PropertySnapshot.extract(_record_state_props)

It's more of a hack at this point but it works. I would be interested if there were a preferred solution to this.

Good catch, ideally new nodes should start their history from their spawn tick. Thanks for providing a workaround as well! It's pretty sensible at first glance, but I'll look into it further.

Hey @Noobsaure, just pushed #204. Looks good from my testing, would you mind validating as well? Just swap RollbackSynchronizer with the new version.

Merged PR, but feel free to chime in with updates!


WIP: Implement multi-port Services

There are still a few things to do here, but it builds and passes unit tests.
While this is up for review I will do manual testing, finish last nits, and get an e2e run.  As before, please focus on API, conversions, defaults - as these are most likely to go wrong, IMO.

Thanks a lot for plowing through this.
API LGTM, and a read through all the code LGTM, also.
Is there a snowball's chance we could quickly agree on a resolution to #4811?
Do you plan to punt multiple ports in other cloudproviders to later? I'd be fine with filing issues. In the meantime, errors for unsupported use cases would be nice if not too hard.

I'll @ the people who own the other providers.
On Mon, Mar 30, 2015 at 2:02 PM, Brian Grant<EMAIL_ADDRESS>wrote:

Thanks a lot for plowing through this.
API LGTM, and a read through all the code LGTM, also.
Is there a snowball's chance we could quickly agree on a resolution to
#4811 https://github.com/GoogleCloudPlatform/kubernetes/issues/4811?
Do you plan to punt multiple ports in other cloudproviders to later? I'd
be fine with filing issues. In the meantime, errors for unsupported use
cases would be nice if not too hard.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/6182#issuecomment-87830568
.

@thockin this is breaking backwards comp of service entity, right? (just want to make sure we're on the same page)

@abonas Mostly this just breaks v1beta3 backwards compatibility.

LGTM

will need to rebase before merge, e2e is running now

e2e passed

Fire in the hole!

probably should have squashed :)


Xbox Node Controls

Purpose
This branch pulls in the latest code that allows the xbox controller to control the mars rover.
Testing
The testing was performed on the gazebo simulation. A possible issue we found was that the simulation lagged quite a bit when testing, which affected our ability to confidently conclude whether or not the speed control works.
Plan & Details
The plan below has details about how to run the node, and test it, as well as how the controls work
https://soumyakhanna.notion.site/XBox-Controller-Movement-Design-Plan-83ad9293d39144619543e5cf6105b0de

please point this at comp-2024 branch and try to rebase your branch on comp-2024 if possible (be careful when doing so to not mess up your git history!)


[MINOR][SQL] Avoid wildcard import Network in KafkaRDD.

What changes were proposed in this pull request?
KafkaRDD exists import with wildcard, I think this is a minor task. but it's OK.
How was this patch tested?
Exists UT.

Can one of the admins verify this patch?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/11703/
Test PASSed.

Test build #106460 has started for PR 24858 at commit 4fedcc5.

Test build #106460 has finished for PR 24858 at commit 4fedcc5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106460/
Test PASSed.

There has lots of places using wildcard import, also seems it doesn't violate scalastyle check, so to me it is not so necessary to fix, unless we have a style warning about it.

Yea, let's don't fix this alone.

Yea, let's don't fix this alone.

Do you mean to solve multiple similar problems? or do not need to solve it at all?

The changes will introduce lots of conflicts to other PRs, I would suggest to not fix it unless we have a consensus on this style change.

The changes will introduce lots of conflicts to other PRs, I would suggest to not fix it unless we have a consensus on this style change.

Thanks for your review first! I think these conflicts is easy to solve. We have a consensus on this style change is the important thing.

Where was the consensus made? They have been usually rejected.
Since we're going ahead for Spark 3, some changes like this are being merged when they fix multiple cleanups but the changes like this are not encouraged.

e.g, https://github.com/apache/spark/pull/24857.
Also, causing conflicts itself is a problem because we need to manually fix the conflicts in files. This is an overhead comparing to just git cherry-pick and git push.
Also, think about multiple conflicts like this. Those changes are usually rejected for those reasons because fixing style is virtually nothing real but it causes a real problem.

@jerryshao @HyukjinKwon OK. I get it. I will close this PR.

@jiangxb1987

@haoyuan

@liyinan926

@davie

@davies

@mengxr

@wzhfy

@xiajunluan

@zsxwing

@rxin


Support multi-account m( master payer and sub-accounts )

We want real-time alerts across all of our accounts triggering lambda compliance runs and reporting to a centralized s3 bucket for reports.  With cloud custodian, we’d only be able to schedule runs (in it’s current form).  Is that a correct understanding ? or are multi accounts supported
i.e. one master payer account and sub-accounts

its a little unclear what your asking. custodian supports scheduled and event based runs, and can be run across multiple accounts. we distribute a separate cli tools/c7n-org for running across multiple accounts concurrently. lambda policies are typically deployed in the account they are monitoring. most users typically execute custodian, from a single account to manage a fleet of accounts. Note this is distinct from master payer account relationships, its about role assumption trust relationship on roles in the target accounts, you can run across account with custodian cli using the --assume flag.


Image background for chart

问题简述 (One-line summary)
I would like to add an image background to my chart (like a photo). I couldn't find any documentation how to do this. Should I use chart.getZr() and then add a zrender.shapes.Image(), or there was a way with echarts.graphics.Image()?
版本及环境 (Version & Environment)

ECharts 版本 (ECharts version): Echarts v3
浏览器类型和版本 (Browser version):
操作系统类型和版本 (OS Version):

重现步骤 (Steps to reproduce)

期望结果 (Expected behaviour)
可能哪里有问题 (What went wrong)
ECharts配置项 (ECharts option)

option = {

}

其他信息 (Other comments)

You can use css to add background to the container.

Im trying to make a line plot over the image showing how something in the
image moved (think computer vision tracking). For that I really need the
image to be only the background of the chart as I want to plot x,y in image
pixel coordinates.
Css background is for the whole plot.
On 5 Sep 2016 04:39, "Yi Shen"<EMAIL_ADDRESS>wrote:

You can use css to add background to the container.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ecomfe/echarts/issues/4005#issuecomment-244647205,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACjo17hUWSZCBYEXd0O_jDVH_OxmyE_ks5qm4DOgaJpZM4J0UQT
.

Hi @nzjrs Did you solve this issue? I am doing a very similar thing and stuck at image coordinate transfornation.

I also looking for such a feature. I want to have an image of a map behind an eCharts graph. If I zoom in, the image should be also zoomed. If I move the graph, the image also should move.

I also looking for such a feature. I want to have an image of a map behind an eCharts graph. If I zoom in, the image should be also zoomed. If I move the graph, the image also should move.

Exactly the same here,  I've scoured the docs and examples it seems the only way is to register an SVG
Surprised we can't just provided a regular image with relative scaling to the data.

I also looking for such feature. CSS only works if you set an id for the container. There is no id.

I also looking for such a feature. I want to have an image of a map behind an eCharts graph. If I zoom in, the image should be also zoomed. If I move the graph, the image also should move.

Same here, did someone figure it out?

I think since it's marked as 'Closed'  no one from eCharts team will look at this?  (even though the CSS suggestion doesn't address the requested functionality)
There is some really long winded approach that I got half working but abandoned

create a relatively positioned div that fills the same area are your chart div

make the padding match the grid of your chart (if all you wanted was a static background, you can stop here)

hook into the 'onzoom' callback of a zoom in your echart

use the values of the zoom (annoyingly the zoom data changes if it were a mousewheel or a drag even though ultimately they are just percentages)  to feed back into the image div and manipluate image background of the div.

Something like
chartContainer.style.backgroundSize = (100 / zoomX) + '% ' + (100 / zoomY) + '%';
chartContainer.style.backgroundPosition = (-offsetX / zoomX) + 'px ' + (-offsetY / zoomY) + 'px';

It was too convoluted to get it finished though -   if eCharts simply allowed an image as well as svg for backgrounds in scatter/map type charts this would solve it :)

Exactly the same here, I've scoured the docs and examples it seems the only way is to register an SVG Surprised we can't just provided a regular image with relative scaling to the data.

So it works for SVGs (with dragging and zooming)? Would I use the "graphic" option for that?


UI:  backup list may temporarily become empty

Without refreshing page, the backup list will become empty after deleting a backup in backup list page

Longhorn UI version: fc8ba32
Fixed


permutation test and t-max trick

Hi!
It's unclear from the documentation how do you use t-max trick for multiple comparisons correction.
The documentation says that the function permutation_t_test returns:
p_values : array of shape [n_tests]        P-values for all the tests (a.k.a. variables).
H0 : array of shape [n_permutations]        T-statistic obtained by permutations and t-max trick for multiple comparison.
Are these p-values already corrected for multiple comparisons or should we use H0 output and perform the t-max correction ourselves?
I saw similar questions on the forum:
https://mne.discourse.group/t/permutation-t-test-multiple-comparison-correction/2729
Maybe you can update the documentation in order to make it clear.
Thanks!

@nastia-lado can you use the forum https://mne.discourse.group/ to ask users questions unless you think it's a bug?


add scale type bound for aes

discrete-only aes types (like "symbol") can be mapped to only with categorical scales

@AndreiKingsley What's state?

Not finished

Are we taking it?

No


add Float::exp

This PR add Float::exp. The code is basically transcribed from the musl libc.
https://git.musl-libc.org/cgit/musl/tree/src/math/expf.c

Pull Request Test Coverage Report for Build 3313
Details

9 of 10 (90.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 83.222%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

float/exp.mbt
9
10
90.0%

Totals

Change from base Build 3301:
0.01%

Covered Lines:
4097

Relevant Lines:
4923

💛  - Coveralls


Terminal problem

VSCode Version:1.2.0
OS Version:Windows 10

Steps to Reproduce:

Input some Chinese characters in terminal
You will find the characters overlapped

终端里中文字符会重叠

Duplicate of https://github.com/Microsoft/vscode/issues/7062


lag time in detecting new namespaces

Describe the bug
I've noticed a lag of at least a few hours in pixie collecting data on pods in newly created namespaces.
App information (please complete the following information):

Pixie version = 0.7.5
K8s cluster version - v1.20.11-eks-f17b81
Node Kernel version - 5.4.144-69.257.amzn2.x86_64
Browser version - Vivaldi 5.0.2497.48

Additional context
I initially saw this around April 10th

@bdols, are you able to reproduce this issue? Do you still see it?


need to change user name from ubunto to ec2-user

see http://stackoverflow.com/a/4342085
basically if using ubuntu@ you will get Permission denied (publickey)  need the user to be ec2-user

It depends on what kind of machine you have created. Canonical's releases use ubuntu.
If you work with some other user (like ec2-user), you can simply change it in the system environment SASH_DEFAULT_USER (as written in the README.md). You can even set usernames per machine using the set_user command.


⚠ Samsung has degraded performance

In 1766c4e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2323 ms

Resolved: Samsung performance has improved in bdfe767.


Client Allocation Request for: Samjung

Client Allocation Questions
Core Information

Name: Samjung
Website / Social Media: http://e-samjung.co.kr/gnuboard4/
Region: Asia excl. Greater China
DataCap Requested: 1TiB
Addresses to be Notarized: f3vnnnt6zokj2bfplbzrqiwukdi6y7xprt36vdrnljw752hturceqql5z4grkdwhqws4zxrly5ymyjptdv5oma
Notary Requested: IPFSUnion

@Samjungee Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi, Samjung. I'd like to know more about your business. Can you kindly answer my following questions?
* individual and organization
    1.	Please introduce yourself and your team briefly, and show me some your social accounts such as email address, WeChat official account and other evidence proving that you have the right to apply on behalf of the company.
    2.	For your organization, Please describe its time since inception, registration country，scale, named officers, project, industry reputation etc.
* track record
    1. How did you know about Filecoin? Please describe your understanding of Filecoin storage.
    2. Regarding your data you intend to store, What’s the original source of those data, and do you have any proof of ownership or authorization?
    3. Has your organization obtained DataCap before?
* use plan
    1.	Please describe your plan to use DataCap briefly? (such as use case, miner etc.)

Hi, IPFS Union.
I'm Sooyoung Choi, a member of the technology management team. Please refer to our company's website. (http://e-samjung.co.kr/gnuboard4/)
We're Samjung Trading Co., Ltd., and we're a cosmetics raw material company. We are located in Gyeonggi-do, South Korea, and was established in 2009, and was converted into a corporation in 2011 and has been growing steadily so far.
We heard Filecoin from within our company. We only know information that it is easy to manage and store data.
Ownership of the product belongs to us because we store data about our product in storage.
We have never requested an assignment before.
We research and develop cosmetics raw materials and receive supplies from our partners and trade with manufacturers such as LG Household & Health Care. We will store all the data generated in this process in the Datacap. There are more than a thousand products that our company has researched and manufactured, and more products will continue to come out in the future. Inform our company and data (efficacy or research data) for each product will be publicly stored in the Datacap. We are planning on 5 miners. There is no specific minor yet.
Thank you.


Fix broken link to grafana dashboard. (#5215)

Pull request opened by the merge tool on behalf of #5215

Pull request rejected by merge tool. The tests for this branch did not succeed.

Merged into branches iso5 in b5902afa66693c7bade915105569f2bb990f4196

An unexpected error occurred while processing this pull request. The request might have been partially processed.You can find further information in the logs of merge-tool, on the jenkins master node(jenkins.ii.inmanta.com - journalctl -u merge-tool). See also the documentation of merge-tool: https://internal.inmanta.com/developer/tasks/commiting_changes.html#an-unexpected-error-occurredThis error was caused by: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2b118e12b0>: Failed to establish a new connection: [Errno -2] Name or service not known'))

Pull request rejected by merge tool. No change entry file found


Default schema for HUDs without customizations

HUDs that do not have their own schema file can make use of a default schema with basic customization options.

Added in https://github.com/CriticalFlaw/TF2HUD.Editor/commit/eae965605df71393cfc4616013279c4b96c8596d#diff-10ee1f5b253bccbd10b911972eba17ebf2ca713fb7925cfee0f1b46b30447e8d

Reopening because I hadn't actually implemented any customization options, ooops.

Implemented in b62ded630977a520ef0b7223fc3f1d2dd1d2523b by @cooolbros


Offer an option to output dates in long form

Long dates are unambiguous:
6/7/1980 could mean either
6th July 1980, this is what a British paramedic would read
June 7th 1980, this is what a US EMT would read.
If the date actually matters then it matters that someone be able to read it in a hurry and get the right value.
Also different national formatting standards use different separators; Norway uses dots 06.07.1980.
See also: https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#dates

anyone has any ideas what a good condensed internationally recognized format might be?

How about as in RFC 5322 without the time part.  That is like the output of
date --rfc-email

without the time.


landscape orientation not supported in ios

Hi,
is there a way to support landscape orientation in ios, this is work in Android,  but not in ios.
thank you.

Any help, please!

Hi @mamdouh-mowesolutions,
It is actually supported on both platforms. You can try and see it in the example project.
What's not working with landscape orientation for you? Please re-open the issue when you provide more details.


Context menu's more option is stuck in "... Loading"

Description
Whenever I try and right-click to open the context menu,  the "More" option is not shown, and instead a greyed-out "...loading" will be shown.
What's worse is that this bug persists even if I close down Files completely.
However it does not appear to affect if you open up the context menu on a drive.
Steps To Reproduce
Sadly I do not know exactly how this bug occurs.

Right-click on any folder or file
Context menu's option of "More" is replaced with a grey "...Loading"
It never changes away from "...Loading".

Requirements
It should be able to load the "More" option or have a fail-safe to revert back to.
Files Version
<IP_ADDRESS>
Windows Version
10.0.19045.3393
Log File
debug.log

Thanks for the report, can you see if this is an issue in the preview version. https://files.community/download

@hishitetsu I believe this is fixed in main, can you confirm?

My fix was merged before <IP_ADDRESS>, so I guess this is another issue.

I can also add that restarting the computer makes the issue go away, but it will then reoccur at some point again.

Perhaps it depends on your environment. Maybe one of the shell extensions is doing something bad.

If this were the case, is it possible to add a feature to alert the user of this?

@piperun which shell extensions do you have in the context menu?

Quite a few:

I don't think any of those should be causing issues

@hishitetsu is there any logging to check for a "bad" extension?

No, it just catches exceptions and ignores them without logging.

Same for me. I use SVN Tortoise which works in right click so I really need it :/

"Loading..." will disappear when an exception occurs during loading. So if "Loading..." remains, the loading process may be taking a very long time or get stuck.

Ať first it dosappears and then it just stays on "Loading..."

Is this still an issue in 3.7.11?

I haven't encountered this issue now.

Thank you for the update.


Updated Dev Guide and improved code quality

Coverage decreased (-0.008%) to 88.76% when pulling 1525308a2dfab98a52cd326ea16745420d718f05 on alvinlyj:final into 7ca06005f83ca1132dadc35efc83768c228591ab on CS2103JAN2017-T11-B1:V0.5.

Coverage increased (+0.3%) to 89.035% when pulling 2597c6a2e0fd606adc3d720581366d7252fdae7d on alvinlyj:final into 7ca06005f83ca1132dadc35efc83768c228591ab on CS2103JAN2017-T11-B1:V0.5.

Coverage increased (+0.1%) to 88.893% when pulling 24879be459b88c30c02452f9370e3e1f404ced4d on alvinlyj:final into 7ca06005f83ca1132dadc35efc83768c228591ab on CS2103JAN2017-T11-B1:V0.5.


4k resolution issue

Hello, there is a problem in OSE Monitoring with players, on hdmi with 1920x1680 resolution  is ok, I can se what is running from management console but when raspberry pi is connected on hdmi with 3848x2160 resolution the image is not showing, shows that is online,  somo management and somo player are updated .

Hello @snipper1993,
thanks for reporting that issue - For me, it isn't possible to reconstruct that issue because I don't own a 4k screen 😞
Can you paste a screenshot from the overview, maybe?
Best
didiatworkz

Hello @didiatworkz,
I attached the screenshot from the overview in somo management.
I tried in /boot/config.txt to change following lines but if the raspbery pi is restart few times resolution is change again to 4k because the tv is 4k by default, so i change following lines to dislplay only full hd:
////////////////////////////////
disable_overscan=1
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=31
///////////////////////////////
Best,
@snipper1993
...............................................END

Hello @snipper1993
I was successfully to reproduce the issue... (I forgot that I own a 4K TV)
When you play HD content, everything work fine:

But the issue happens when you play 4k content -> Then the add-on has this error message vc_dispmanx_snapshot() failed until HD content plays again.
I will investigate this and let you know when I find something more.
Best
didiatworkz

Hello @snipper1993
you need to reinstall the add-on on your devices (v3.1) or set the GPU memory to minimum 128MB raspi-config nonint do_memory_split 128
That solved the problem for me:

Please let me know if this solution also solve your issue.
Best
didiatworkz

Hello @didiatworkz
It worked using raspi-config nonint do_memory_split 128,  many thanks.

You're welcome


fix: helm trap fix

Fix MIB_SERVER_URL for helm installation
Enhance values files and documentation
Add hidden possibility tu use different image and version, allowing developers to test locally built images

:tada: This PR is included in version 0.11.0-next.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Unable to style HelpText component

Hi,
Can you please make the help text style dynamic and depends on a props, It make no since to have help text with black color it should be something around red.
Thanks

Overwriting does not work. Even when I try to change the helpTextContainer and helpText properties in the core files.


Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript

Tool name
VoiceOver Utility
Tool license
Copyright © 2005-2017 Apple Inc. / Unknown
Add or update?

[ ] Add
[X] Update

Desired version
Version 10 / All
Approximate size
No response
Brief description of tool
VoiceOver is a screen reader system application that provides auditory descriptions of elements help you easily navigate your screen with keyboard or gestures.
You can configure VoiceOver through the system application VoiceOver Utility.app. One such option is a checkbox Allow VoiceOver to be controlled with AppleScript which allows the user to use AppleScript scripts to automate VoiceOver tasks. (Reference: https://support.apple.com/en-gb/guide/voiceover/cpvougen/mac).
This feature request is to enable this option for the macos virtual environments.

URL for tool's homepage
https://support.apple.com/en-gb/guide/voiceover/welcome/mac
Provide a basic test case to validate the tool's functionality.
#!/bin/bash

test -f "/private/var/db/Accessibility/.VoiceOverAppleScriptEnabled" && echo "VoiceOver AppleScript Control Enabled"

Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[X] macOS 10.15
[X] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019
[ ] Windows Server 2022

Can this tool be installed during the build?
I'm currently uncertain if you can set this option programatially...
From what I can tell, whether this is enabled or not is driven by the presence of a /private/var/db/Accessibility/.VoiceOverAppleScriptEnabled file (containing the single character a - as determined by digging into VoiceOver Utility / ScreenReaderCore.framework), but this directory has SIP so writing the file I'm assuming is a no-go (disabling SIP not an option).
It also appears trying to import a .voprefs file with the SCREnableAppleScript key set to true is simply ignored.
Attempts to UI script the clicking of the checkbox appears to just being doing nothing in GitHub actions for macos-11 or macos-10.15 envs, and screenshots of the final state look like nothing has happened at all (checkbox remains unchecked, no sign of SecurityAgent popup window etc.). Attempts locally (on Monterey) work fine though require password entry through the SecurityAgent dialog. Curiously starting VoiceOver Utitlity using sudo results in similar behaviour to what is observed (afaik) on the virtual envs. i.e.
sudo /System/Applications/Utilities/VoiceOver\ Utility.app/Contents/MacOS/VoiceOver\ Utility 2&> /dev/null &

Would be very curious to know if there is anything that can be done to have this option enabled for the virtual envs. Atm struggling to see a way past other than disable SIP, enable the option by adding the file to the protected directory, and then re-enable SIP. I suspect this isn't an option for security reasons + faff of trying to deal with the recovery mode etc.
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

@cmorten Hello!
Thanks, we will take a look at it, the best thing to do this is probably using applescript.

As a starter for 10, here’s what have tried so far in GitHub actions…
#!/bin/bash

# Debug screenshots
mkdir -p ./screenshots

screencapture ./screenshots/voiceover_utility_started.png

osascript ./.github/workflows/enableVoiceOver.applescript

if [ ! -f "/private/var/db/Accessibility/.VoiceOverAppleScriptEnabled" ]; then
  echo "Unable to enable AppleScript control for VoiceOver"
  exit 1
else
  echo "Successfully enabled AppleScript control for VoiceOver"
  echo "cat /private/var/db/Accessibility/.VoiceOverAppleScriptEnabled"
  cat /private/var/db/Accessibility/.VoiceOverAppleScriptEnabled
fi

delay 1

log "Activating VoiceOver Utility..."
tell application "VoiceOver Utility"
	activate
end tell

delay 1

tell application "System Events"
	repeat while not (exists window 1 of application process "VoiceOver Utility")
		delay 0.1
	end repeat

	do shell script "screencapture ./screenshots/voiceover_utility_activated.png"

	log "Ticking checkbox..."

	tell application process "VoiceOver Utility"
		repeat until (exists checkbox 2 of splitter group 1 of window 1)
			delay 0.1
		end repeat

		click checkbox 2 of splitter group 1 of window 1
	end tell

	delay 1

	do shell script "screencapture ./screenshots/voiceover_utility_checked.png"
end tell

log "Quiting VoiceOver Utility..."
tell application "VoiceOver Utility"
  quit
end tell

Replacing checkbox 2 with checkbox 1 works fine for toggling the "display welcome…" checkbox, but the script as stands is lacking in some way for the AppleScript checkbox 🤔

Struggling to find a workable solution, SIP seems to be a real blocker!
I’m aware that for security reasons SIPis not being disabled for images, but for https://github.com/actions/virtual-environments/issues/650 was temporarily disabling for building the image considered? E.g.
Template:
        {
            "type": "shell",
            "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
            "script": "./provision/core/reboot-recovery.sh",
            "expect_disconnect": true
        },
        // … SIP disable, limited changes (e.g. only changes a user could instrument through an Apple app like System Preferences), and SIP re-enable. Then we reboot back.
        {
            "type": "shell",
            "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
            "script": "./provision/core/reboot.sh",
            "expect_disconnect": true
        },

reboot-recovery.sh:
#!/bin/bash -e -o pipefail

sudo nvram internet-recovery-mode=RecoveryModeDisk

sudo reboot

Where can be some subtle differences require depending on OS version. Ref: https://apple.stackexchange.com/questions/367336/can-i-initiate-a-macos-restart-to-recovery-mode-solely-from-the-command-line
sipActions.sh:
#!/bin/bash -e -o pipefail

csrutil disable

# Enable VoiceOver AppleScript control (Voicer Utility > General > Allow VoiceOver to be controlled by AppleScript)
echo -n "a" > /private/var/db/Accessibility/.VoiceOverAppleScriptEnabled

csrutil enable

@cmorten we haven't had a chance to take a look at the script so far yet we enabled the setting in our templates. The next deployed images will have this option enabled. The deployment is starting on January 10 and will take about 3 days.

@miketimofeev thanks for your time on this!
It appears I missed a piece of the puzzle, which is the setting of:
defaults write com.apple.VoiceOver4/default SCREnableAppleScript 1

which unlike the file, doesn't require any SIP negotiation. Starting to doubt if there are other elements that have been missed...

happy to contribute here where needed. would love to use this feature to run https://github.com/AccessLint/voiceover.js in CI

+1 happy to help where I can. I attempted to get around this with similar strategies without success
https://github.com/coryrylan/web-test-runner-voiceover/blob/main/src/voiceover/settings.ts#L39
https://github.com/coryrylan/web-test-runner-voiceover/blob/main/src/voiceover/system.ts#L44

Delighted to say this appears to be working (at least for simple examples!). I've run a simple experiment and have observed the following on the macos-11 agent:
VoiceOver Utility shows the AppleScript control checkbox to be checked:

I am able to start VoiceOver programatically:

I am able to use AppleScript to move the vo cursor (from the desktop to the first item of the dock):

🎉


Fix broken cacnel button link on patch page

When clicking cancel on the bottom of patch page, it will go src/master/patch but the treepath patch is not exist. This PR fix that.

Codecov Report

Merging #18718 (a9d7055) into main (4d93984) will decrease coverage by 0.20%.
The diff coverage is 7.24%.

@@            Coverage Diff             @@
##             main   #18718      +/-   ##
==========================================
- Coverage   46.64%   46.44%   -0.21%
==========================================
  Files         846      851       +5
  Lines      121331   121925     +594
==========================================
+ Hits        56595    56622      +27
- Misses      57859    58428     +569
+ Partials     6877     6875       -2

Impacted Files
Coverage Δ

modules/git/diff.go
75.93% <0.00%> (-4.07%)
:arrow_down:

routers/api/v1/repo/migrate.go
50.71% <0.00%> (ø)

routers/api/v1/repo/patch.go
0.00% <0.00%> (ø)

routers/web/repo/cherry_pick.go
0.00% <0.00%> (ø)

routers/web/repo/patch.go
0.00% <0.00%> (ø)

services/forms/repo_form.go
41.29% <0.00%> (-0.82%)
:arrow_down:

services/repository/files/cherry_pick.go
0.00% <0.00%> (ø)

services/repository/files/patch.go
0.00% <0.00%> (ø)

modules/setting/setting.go
45.77% <20.00%> (-0.34%)
:arrow_down:

modules/queue/workerpool.go
51.44% <38.70%> (-4.43%)
:arrow_down:

... and 18 more

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 f9e7edc...a9d7055. Read the comment docs.

I'm fairly certain that I put the treepath in because of some other problem that meant it was necessary.


How to close the modal??

I can't for the life of me figure out how to close the modal. The pen is here: https://codepen.io/stdusan/pen/jOPepGg

Hi @dusanstojanovic
You were on the right track in your pen yet needed to reference a different selector in the click event. Try this:
$('.close').click(function(){
    $('.modaal').modaal('close');
});


Fix BASEFS over NFS if the NFS server's TZ differed from the local TZ

If BASEFS is on an NFS mount, nohang was immediately killing builds
if the NFS server's timezone differed from the local timezone. This
appears to be because fifos created over NFS initially have their
mtime set to the server's local time not the clients. Working around
this by adding a "touch" after creating the nohang fifo.

I was just documenting this for a release and am confused now.  I don't see the fifo file's mtime being used by nohang at all so I'm not sure how this achieves anything.  A few lines down there is a stat -f done on the logfile, which if it were on NFS could cause the problem reported here I think.

# nohang()

lastupdated=$(stat -f "%m" ${logfile})
now=$(date +%s)

# No need to actually kill anything as stop_build()
# will be called and kill -9 -1 the jail later
if [ $((now - lastupdated)) -gt $log_timeout ]; then
        ret=2
        break
elif [ $((now - starttime)) -gt $cmd_timeout ]; then
        ret=3
        break
fi

In this, the log_timeout is NOHANG_TIME (7200).

Ok I think I see the problem now.  This fix was only partial and hid the other problem.
First the read -t below times out.  At 7200 seconds this timeout is set to 720 seconds.  So fixing the fifo timestamp allows the read to go for 720 seconds before it loops around and does the stat -f comparison.  At an instant read -t timeout due to the fifo mtime, it finds the logfile mtime is wildly different than the local server time and bombs out.  So the fix committed here appears to only add 720 seconds before hitting the stat -f comparison.  nohang is ran per-phase, so as long as each build phase is under 720 seconds there is no problem.
The one thing I can't explain is that since stat -f is done before read -t, how it doesn't immediately cause a problem and exit before hitting the timeout.  This is of course working on the assumption that the patch here fixed the problem for you.  If so I guess there may be some other kernel caching occurring which allows the first stat -f comparison to succeed.  I am more inclined to think that it is just immediately hitting the error and that touching the fifo is probably needed but not enough.
Here's the relevant part of the function (before the touch) with 2 msg added in for debug:
read_timeout=$((log_timeout / 10))

fifo=$(mktemp -ut nohang.pipe)
mkfifo ${fifo}
exec 8<> ${fifo}
rm -f ${fifo}

starttime=$(date +%s)

# Run the actual command in a child subshell
(
        local ret=0
        _spawn_wrapper "$@" || ret=1
        # Notify the pipe the command is done
        echo done >&8 2>/dev/null || :
        exit $ret
) &
childpid=$!
echo "$childpid" > ${pidfile}

# Now wait on the cmd with a timeout on the log's mtime
while :; do
        if ! kill -CHLD $childpid 2>/dev/null; then
                _wait $childpid || ret=1
                break
        fi

        lastupdated=$(stat -f "%m" ${logfile})
        now=$(date +%s)

        # No need to actually kill anything as stop_build()
        # will be called and kill -9 -1 the jail later
        if [ $((now - lastupdated)) -gt $log_timeout ]; then
                ret=2
                break
        elif [ $((now - starttime)) -gt $cmd_timeout ]; then
                ret=3
                break
        fi

        # Wait until it is done, but check on it every so often
        # This is done instead of a 'sleep' as it should recognize
        # the command has completed right away instead of waiting
        # on the 'sleep' to finish

        msg "WAITING"

        unset n; until trappedinfo=; read -t $read_timeout n <&8 ||
                [ -z "$trappedinfo" ]; do :; done

        msg "TIMEOUT or done"

        if [ "${n}" = "done" ]; then
                _wait $childpid || ret=1
                break
        fi
        # Not done, was a timeout, check the log time
done

=======================<phase: check-sanity   >============================
====>> WAITING
/!\ WARNING /!\
Ports Collection support for your FreeBSD version has ended, and no ports are guaranteed to build on this system. Please upgrade to a supported release.

===>   NOTICE:

The cvs port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port

===>  License GPLv2+ accepted by the user
====>> TIMEOUT or done
===========================================================================
=======================<phase: pkg-depends    >============================
===>   cvs-1.20120905_4 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.9.4_1.txz
[exp-10amd64-commit-test] Installing pkg-1.9.4_1...
[exp-10amd64-commit-test] Extracting pkg-1.9.4_1: .......... done
===>   cvs-1.20120905_4 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of cvs-1.20120905_4
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
====>> WAITING

So you can see that the WAITING->"TIMEOUT or done" covers the entire phase.
I am going to swap the ordering here to do the read first rather than the stat -f, as in most cases that should avoid ever running stat -f.
I don't have a setup to test any of this over NFS, if you could double check that this patch did fix the issue for you and that reverting it does restore the issue, then I have some idea for debugging further.


Deep mocking results in a TypeScript error + extreme compilation slowness

I'm experiencing the exact same behavior and error message as described in https://github.com/marchaos/jest-mock-extended/issues/97 when using v0.1.16
v0.1.10 does not yet have the issue. I didn't test with other versions between 0.1.10 and 0.1.16

I need to included the upstream changes, that might fix it. Will try as soon as I find the time!

@gertjangaillet please check it this it resolved in v1.0.0

@eratio08 it looks like there is something wrong (or was there perhaps a breaking change?) with the exports:
src/.../....test.ts:2:22 - error TS7016: Could not find a declaration file for module 'vitest-mock-extended'. '/.../node_modules/vitest-mock-extended/lib/index.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/vitest-mock-extended` if it exists or add a new declaration (.d.ts) file containing `declare module 'vitest-mock-extended';`

2 import { mock } from 'vitest-mock-extended'
                       ~~~~~~~~~~~~~~~~~~~~~~

Or am I missing something? Do you have a @types package that I'm not finding?

Looks like I broke the types. Checking!

@gertjangaillet please check v1.0.2

Thanks, that works perfectly!

@gertjangaillet are the performance issues also resolved for you?


Just Query

Hey can you give me your professional contact id, where we can communicate.

On email<EMAIL_ADDRESS>Or Instagram abhinandvk41


Error with cache

Hi @gi0baro
This is using weppy 1.3.3 in development mode
I have two cached functions, one makes a call to the database and the other just returns a list
cache = Cache()

@cache(key='mykey1', duration=300)
def f1():
    rows = MyModel.all().select()
    # With some data from rows I create a dictionary and return it
    return v

@cache(key='mykey2', duration=60)
def f2():
    return [1,2,3]

In this case inside the _get_dbset of weppy-rest I call f1 and f2. But for that matter it would be the same to call her on any route
In the client I have:
window.setInterval(function(){
  /// call function here
}, 1000*60*3);

What I observe is that it randomly throws an error when calling f1 (KeyError: 'mykey1'), but it never gives an error when calling f2

...
File "./myapp/controllers/services/my_service.py", line 80, in _get_dbset
A = f1()
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 67, in wrap
key, lambda: f(*args, **kwargs), self.duration)
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 109, in get_or_set
self.set(key, value, duration)
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 83, in wrap
return method(self, key, *args, **kwargs)
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 97, in wrap
expiration=now + duration)
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 186, in set
self._prune()
File "/venv36/lib/python3.6/site-packages/weppy/cache.py", line 155, in _prune
self._heap_acc.remove((self.data[rk].acc, rk))
KeyError: 'mykey1'

The error is not frequent, I have left it making requests from two browsers for ~ 1hr and it happened 5 times

@josejachuf can you please test this with current 1.x (39c7447)?

Hi @gi0baro
This works fine. It was 4 hr and no error occurred.
thanks


Docker-machine doesn't show how to specify a Docker host name

On my Macbook Pro, running Mac OS X El Capitan, I tried using docker-machine to create a new Docker host, and received an error:

Error: No machine name specified

However, there is absolutely nothing in the help text that tells me how to specify the "machine name."
The "usage" says:
Usage: docker-machine create [OPTIONS] [arg...]

Also, the error message is helpful, but it doesn't tell you how to resolve the error. I'm using docker version:
Trevors-MBP:~ trevorsullivan$ docker -v
Docker version 1.10.1, build 9e83765

My recommendation is to avoid making assumptions about the end user's knowledge of command line structure, and make it painfully clear how to properly and comprehensively use the command. Upon further inspection, this actually applies to pretty much all of the docker-machine sub-commands. None of them specify anywhere, how to specify a Docker host's name, within a command call. It is assumed that the user knows to tack it on at the end of the command line.
There should probably also be a common --host parameter on all of the docker-machine sub-commands, so that the user can explicitly specify the Docker host using a named parameter, versus a positional parameter.
Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell

No, I'm against adding --host.
Despite the guide is very very clear on how to create a machine, I think we should fix the online help, but there is something strictly defined already in codegangsta/cli so it's not just modifying a string.

I disagree with @fsoppelsa. Refusing to allow for clear instructions is tantamount to insufficiencies in documentation practices. This issue persists, whilst it could have easily been resolved years ago. Please can we request a vote for a good decision rather than a subjective one?


TEST ONLY: Update third_party/protobuf to 3.21.12

Change was created by the release automation script. See go/grpc-release
Based on https://github.com/grpc/grpc/pull/32135

Python311 artifact build on windows failure is interesting:
https://source.cloud.google.com/results/invocations/435291ee-873b-4ca3-b8bd-94841beacf56/targets/github%2Fgrpc%2Fbuild_artifacts_python/tests;passed=true;group=tasks;test=build_artifact.python_windows_x64_Python311;row=4

The sanity test error seem to be due to a design flaw in check_protobuf_pod_version.sh which, takes version1=$(git describe --tags | cut -f 1 -d'-')
+ '[' 21.12 '!=' 3.21.12 ']'
+ echo 'Protobuf version in src/objective-c/!ProtoCompiler.podspec does not match protobuf version in third_party/protobuf.'
Protobuf version in src/objective-c/!ProtoCompiler.podspec does not match protobuf version in third_party/protobuf.

Python311 artifact build on windows failure is interesting: https://source.cloud.google.com/results/invocations/435291ee-873b-4ca3-b8bd-94841beacf56/targets/github%2Fgrpc%2Fbuild_artifacts_python/tests;passed=true;group=tasks;test=build_artifact.python_windows_x64_Python311;row=4

Details

And it might have been a one-off flake.

CC @sampajano  for the check_protobuf_pod_version.sh fix.

CC @sampajano for the check_protobuf_pod_version.sh fix.

Thanks for cc! I'm not very familiar with protobuf versioning but i suppose this "3.x.y" format won't work forever.. hence i've added a comment for you to link to the source of why you're making this change so we can update it in the future when appropriate. Thanks!


Customizable JSX/TSX mode

We currently have two jsx modes, preserve and react. Using preserve leaves the <Something /> for an additional compilation step, and react ties you into using the React library. I want to propose a compiler option which allows you to define the emitted types. For example setting:
"jsx": {createElement: "el"}

Which would transform this code:
let test =

;

Into this result:
var test = el("div", null, el("span", null), el("span", null));

Essentially, replacing React.createElement with el. Now I can define an el function like:
(name: string, properties: {[key: string]: string}, ...children: MyElement[]) => MyElement

To implement an own library. Why? Because some of us don't like being forced into using React, and this would allow us to either create our own libraries or use an existing DSL such as virtual-hyperscript (perhaps with some minor modifications there).

There are more and more frameworks using JSX coming up, i.e. https://github.com/garbles/yolk. So this would be very useful.

Yes, I want this feature. However, not all library have same convention like react. So, simple renaming createElement to "el" name like @Deathspike example will not work for some library.
msx (https://github.com/insin/msx) will transform

Test

  <Uploader onchange={ctrl.files}/>
  <my-element name="test"/>

to like this.
{tag: "div", attrs: {id:"example"}, children: [
  m.component(Uploader, {onchange:ctrl.files}),
  {tag: "h1", attrs: {}, children: ["Test"]},
  {tag: "my-element", attrs: {name:"test"}}
]}

@bungcip : As a quick workaround you can wrap the JSX -> React.createElement generated js with another runtime javascript function that returns an object literal of the desired structure (or am I wrong?) :rose:

To follow up on this issue. this issue has been discussed

sorry hit comment too soon.
this issue has been discussed in https://github.com/Microsoft/TypeScript/issues/3788.  you can find the current decesion at: https://github.com/Microsoft/TypeScript/pull/6146#issuecomment-169476527
with https://github.com/Microsoft/TypeScript/pull/6146, --reactNamespace option allows you to define alternative JSX factories to React.
anything more involved will need to wait for https://github.com/Microsoft/TypeScript/issues/5595.
this issue seems to be a duplicate of #3788 and is fixed by #6146 now.


Change Amount::MAX from u64::MAX to Amount::MAX_MONEY

As discussed in #3688 and #3691 using u64::MAX causes errors when converting to f64 so MAX_MONEY is should be used as the maximum Amount.

Amount::MAX changed to equal MAX_MONEY
Add a check to add, multiply and from_str functions
Change tests to account for new lower maximum

Different approach to the existing PR #3692.  I have only done Amount and not SignedAmount until there is feedback on which approach to use.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

26 of 26 (100.0%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 82.861%

Files with Coverage Reduction
New Missed Lines
%

units/src/amount/unsigned.rs
2
83.71%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.01%

Covered Lines:
20180

Relevant Lines:
24354

💛  - Coveralls

utACK 0922c82c167e62e92cc57a2f9e284c5c9885dcb3 -- but I guess the tests don't pass on your first commit? If not, can you squash everything together so that they will pass on every commit? (Alternately, in your first commit, you can just add /* */ comments around the tests you intend to change later, which will lead to a cleaner diff.)

I went with the easier option of squashing

Different approach to the existing PR https://github.com/rust-bitcoin/rust-bitcoin/pull/3692. I have only done Amount and not SignedAmount until there is feedback on which approach to use.

I can just rebase these changes into 3652 since this a smaller subset of changes I propose making in 3652.

Can you write an issue please @jamillambert "enforce MAX invariant in Amount" or some such thing. Then link to it here please.

Just because I hit it today; here is a pleasant example of a usecase for an Amount that is less than MAX_MONEY
"amount" : x.xxx,             (numeric) The total amount received by addresses with this label

@tcharding I guess you mean "more than MAX_MONEY". And that display, depending on how it is calculated, will easily overflow the mantissa of a f64 and less-easily overflow a u64. So anything displaying it needs to have special logic anyway (or just accept that it'll be wrong).

Oh I was just commenting that here was an example of a float that should be able to be parsed into a type and the value be less that MAX_MONEY. It was purely out of interest.


(PUP-3167) Prevent regex node names from colliding

Prior to this commit, it was possible for a node resource to have
a name that collided with another resource. This is due to the fact
that when a resource is created for a node, if the node has a regex
name the regular expression will be munged and altered into a regular
string.
If the munged node name matched the name of another resource, the
two would collide and the collision would go undetected but potentially
case small errors.
In order to prevent this from happening, prepend "node_regexp"
to front of resource names that represent nodes which are specified
by a regex in order to prevent a possible collision.

CLA signed by all contributors.


[Bug]: Failed to load the image

Is there an existing issue for this?

[X] I have searched the existing issues

What is the current behavior?
When reviewing the results of a test plan that was looking at the user experience from a web page the screenshot area only ever shows the following message Failed to load the image. The run is successful and in the filestore, there are jpeg images from the run each time it runs.

I cannot see anything in the logs that shows a permission error and also the files are being written.
This is the 3.0.1 community version running on Docker on Ubuntu 22.04
### docker yml file
version: "3.9"
services:
mysql:
image: mysql:5.7 # Replace with mysql:8.0.32 for m1
platform: linux/x86_64 # Replace with linux/arm64/v8 for m1
container_name: testsigma_mysql
restart: always
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testsigma_opensource
LANG: C.UTF-8
LC_ALL: C.UTF-8
ports:
- "3306"
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
healthcheck:
test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=root 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; }
interval: 1s
retries: 120
testsigma_server:
image: testsigmahq/server:v3.0.1 # Replace with testsigmahq/server:v3.0.1-m1 for m1
container_name: testsigma_server
ports:
- "9090:9090"
- "443:443"
volumes:
- ./ts_data:/opt/app/ts_data
depends_on:
mysql:
condition: service_healthy
Is there anything else I can do, check or amend?
What is the expected behavior?
Display a screenshot for each of the steps of the test plan once run.
Steps To Reproduce
Click on any step of the test plan that has just been executed and see the resultant screen shot. screenshot
Version
Testsigma Community Edition

Resolved - I was using a custom domain on the CE edition - when I set the environment variable in the YML file it now works correctly and I can download exports properly too. I added
environment:
- TESTSIGMA_SERVER_URL=https://..com


[#2238] feat(server): Add the operations for the user

What changes were proposed in this pull request?
Add the operations for the user.
Why are the changes needed?
Fix: #2238
Does this PR introduce any user-facing change?
Yes,  I will add the open api and the document in the later pr.
How was this patch tested?
Add a new UT.

LGTM, @yuqi1129 would you please double the usage of tree lock here?

LGTM, @yuqi1129 would you please double the usage of tree lock here?

No problem was found here, so it's okay for me with the changes.

OK, I think we can change the whole lock mechanism in #2732 if necessary, we don't have to block this PR.


[WIP] distributed training

Description
Based on this branch (https://github.com/ZiyueHuang/byteps/tree/mx2), we can perform distributed training for the electra model (and other models). Tested both on a single worker and two workers, each has multiple GPU cards. However, there are two issues:

We should first call trainer._init_params() before the first iteration (forward/backward) to synchronize the parameters across all workers, otherwise trainer will call _init_params inside allreduce_grads (see mxnet/python/mxnet/gluon/trainer.py), thus the synchronization of the parameters actually happen after the first forward/backward computation, meaning that in the first iteration the gradients on different workers are computed w.r.t. different parameters. But in practice this may not be a severe problem, as only the first gradient descent step is not totally correct.
When the model in gluon-nlp confirms to the new coding standard (removing defer_init for all parameters @sxjscience ), then we can directly call trainer._init_params after model.initialize.
Actually I am a little confused about the semantic meaning of defer_init in the numpy mode, because shape with zeros (such as (0, 5)) in the numpy mode will be treated as scalar tensors' shape and zero-size tensors' shape, instead of as unknown in the legacy mode.

I found that we have to build MXNet and BytePS from source on our target machine. Using pip install mxnet (I have tried several wheels in August) will not work for BytePS, either core dump immediately after import bps.mxnet due to undefined symbols (seems because some symbols are not exported into binary, fixed after 0820 wheel), or mysterious segfault (maybe due to c++ ABI issues or other compiler issues, as the mxnet wheels and BytePS (which is setup on our target machine) may not be compiled using the same version of gcc. Besides, there are no related compiler flags such as D_GLIBCXX_USE_CXX11_ABI for MXNet in BytePS's setup.py).

Checklist
Essentials

[ ] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

cc @dmlc/gluon-nlp-team

Just found that the API behavior in BytePS master branch changes recently...... Not sure if that is intended or bugs. Tracked here (https://github.com/bytedance/byteps/issues/292).

@ZiyueHuang  You may merge the upstream/master since we recently fixed the CI.

undefined symbols

What are they?

Horovod also has similar issue that the actual broadcast happens after the first iteration. See here

To avoid the problems of horovod, in GluonNLP v1, the convention is to not rely on deferred initialization when implementing the model. For example, for dense layer, we should always give the in_units.

Sorry for the late reply.
@szha  core dump due to undefined symbols is fixed after 0820 wheel, and I didn't record the undefined symbols. For the segfault, below is the stack trace
Fatal Error: Segmentation fault
Stack trace:
Segmentation fault (core dumped)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/bin/bpslaunch", line 4, in <module>
    __import__('pkg_resources').run_script('byteps==0.2.4', 'bpslaunch')
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 667, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1464, in run_script
    exec(code, namespace, namespace)
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/byteps-0.2.4-py3.7-linux-x86_64.egg/EGG-INFO/scripts/bpslaunch", line 213, in <module>
    launch_bps()
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/byteps-0.2.4-py3.7-linux-x86_64.egg/EGG-INFO/scripts/bpslaunch", line 206, in launch_bps
    t[i].join()
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/byteps-0.2.4-py3.7-linux-x86_64.egg/EGG-INFO/scripts/bpslaunch", line 34, in join
    raise self.exc
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/byteps-0.2.4-py3.7-linux-x86_64.egg/EGG-INFO/scripts/bpslaunch", line 27, in run
    self.ret = self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/byteps-0.2.4-py3.7-linux-x86_64.egg/EGG-INFO/scripts/bpslaunch", line 177, in worker
    stdout=sys.stdout, stderr=sys.stderr, shell=True)
  File "/home/ubuntu/anaconda3/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'python ./test.py' returned non-zero exit status 139.

@sxjscience @szhengac  Horovod doesn't have similar issue, since in hvd.broadcast_parameters when there are defer_init parameters, it will register a hook to param. init_impl (see https://github.com/horovod/horovod/blob/9464e20ab2565f25105d5d7f6194ca90d6fca9e5/horovod/mxnet/init.py#L121-L127), thus immediately after the actual initialization, Horovod will broadcast the parameters, then forward/backward. However, there are no similar mechanisms in BytePS to handle the logic of defer_init.

Actually I am a little confused about the semantic meaning of defer_init in the numpy mode, because shape with zeros (such as (0, 5)) in the numpy mode will be treated as scalar tensors' shape and zero-size tensors' shape, instead of as unknown in the legacy mode.

You can report it as a bug in MXNet issue tracker


allOf, anyOf, oneOf

I can see that this repo hasn't been updated in a while.
Are there plans to support these keywords. Do you have a solution sketch? I may try a PR if there is still interest...

@Quafadas I am interested in this too, but not very familiar with javascript. Did you find any alternative solution to this?

@dfanesiDB Well, I had a stab at a PR in this repository, but to be honest, concluded it would be pretty hard.
I ended up over here;
https://github.com/quicktype/quicktype/pull/1932
I claim, that PR works. It generated case classes for the Vega schema at any rate :-).
https://github.com/Quafadas/dedav4s/tree/main/generated/shared/src/main/scala/viz/dsl
If you checkout that repo / branch and build the QuickType CLI from source, you should be able to generate case classes for scala 3 / circe. I have the hope, that the maintainers will merge it.
I'm not 100% sure about the treatment of enums, and would love to add upickle to that PR... but for now it was enough for me!
I will say that QuickType appears to be rather well designed. It would not be tooooo hard, to add scala 2 support.


Improve client session syncing

Session state is now synced across Windows and Tabs.
Adds NEXTAUTH_CLIENT_MAXAGE option (set via env var in next.config.js) to tell the client to sync the session state with the server every X seconds (defaults to 0, which is never).

Resolves #252

Published as<EMAIL_ADDRESS>


type & input directive syntax highlighting

The current version of this extension (v1.1.1) does not handle type/input related directives.
Example:
# example 1
type MyType @mydirective(kind: "fake", value: "foo") { ... }

# example 2
input MyInput
@mydirective(
  kind: "fake",
  value: "foo")
{ ... }

@xpepermint can you provide with a link where I can learn more about this? From what I see in the official spec, there are only two directives supported for queries, but none for type or input. Ref: http://graphql.org/learn/queries/#directives

@kumarharsh not all features are documented but have been in use for months. You should check the graphql-js implementation to see that. You can use parse method to see the available features.
Example:
import { parse } from "graphql";
parse(`
type Query {
   version: String
   # and so on ...
}
`);

Also: https://github.com/graphql/graphql-js/issues/797

Perfect!


what i changed

@jvc006 I am closing this PR, please open a new PR with the your name added in the correct file :)


Create LICENSE

License file was missing
MIT was chosen because it is very permissive. It is not only welcoming open-source developers, but also businesses who can build proprietary software. This allows it to be both business-friendly and open-source friendly, while still making it possible to be monetized.

Can you add some context to either the PR or better the commit message on why MIT was chosen?

Can you add some context to either the PR or better the commit message on why MIT was chosen?

Let me know if the updated commit message help.

IANAL, so it's not my area of expertise, but have we considered any sort of dual licensing to ensure that no other commercial entity takes the code and uses it in their proprietary software? (recent examples of elasticsearch etc come to mind).

bors r+


Look into Visual Studio Code with the vshaxe support

Definitely need to find a good IDE to recommend on mac - sublime text is way too techy. Visual Studio Code doesn't look much better, but should investigate anyway
https://www.reddit.com/r/haxe/comments/5azu0n/what_editor_do_you_use/d9mx17t/

Nope, no good. Setting it up involves as much or more command line nonsense as Sublime text, so it isn't an improvement. It might actually be worse - you need to run a haxelib command to generate a code completion xml file!


[mesos-tidy] Fix broken Dockerfile due to llvm repo move.

This appears to fix the mesos-tidy docker image build, which now works per the readme instructions:
$ docker build -t mesos-tidy .

Running the image was hitting gcc internal errors due to OOMs, which I fixed via the updates shown in the readme.

@bbannier sorry, accidentally got this closed this when updating the branch, where I deleted then pushed instead of force pushing, and it doesn't seem like I can re-open this one. Here's the new one: https://github.com/apache/mesos/pull/517

Attempting to re-open.


Fix HTTP 500 Error when accessing the favicon

Fix #158
The server returns HTTP 500 error when requested '/favion.ico'
The handler worked fine, but send_file has failed with the error Missing MIME type for extension ".ico"
so I register mime type for .ico file

Great! Thanks a lot for fixing this :D


Bump jetty version from 9.2.28 to 9.4.28

Vulnerability: https://github.com/advisories/GHSA-84q7-p226-4x5w

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10164/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10167/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10172/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10179/
Test FAILed.

alluxio-bot, test this please.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10183/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10184/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10185/
Test PASSed.

ping @gpang

@gpang See the comment I put on the other one where I changed from MalformedURLException to IOException. The underlying code no longer throws MalformedURLException. It only throws IOException.

alluxio-bot, merge this please


Feedback: Node Shutdown

Page: https://cockroachlabs.com/docs/v24.1/node-shutdown.html
What is the reason for your feedback?
[ ] Missing the information I need
[ ] Too complicated
[x] Out of date
[ ] Something is broken
[ ] Other
Additional details
We have changed some clusters setting for node shutdown. Could we update them to keep them consistent w/ cluster setting page? So that it's clear and not confusing. Thanks!
server.shutdown.initial_wait
(alias: server.shutdown.drain_wait)
server.shutdown.connections.timeout
(alias: server.shutdown.connection_wait)
server.shutdown.transactions.timeout
(alias: server.shutdown.query_wait)
server.shutdown.lease_transfer_iteration.timeout
(alias: server.shutdown.lease_transfer_wait)
In addition, we have a new cluster setting on job.timeout. What does it start in the drain process? Could we document it so we can advise customers on it. Thanks!
server.shutdown.jobs.timeout
(alias: server.shutdown.jobs_wait)

The old setting names continue to work and are ubiquitous. After https://github.com/cockroachdb/cockroach/pull/125643 is backported to a major version, both setting names will appear in the Cluster Settings page for that version, and I can safely update the non-automated docs to use the new names, while still allowing docs for the old setting names to be found. That's being tracked separately.
We discovered together that the new setting can safely be ignored.


Add an option to disable automatic stack trace collection

👍

I created a more generic solution to handle this problem - see https://github.com/Microsoft/ApplicationInsights-node.js#telemetry-processor


Part 2 of A350-900 liveries (Livery Request)

Like I said, I'll make a part 2 of my A350-900 liveries. (I said earlier that I won't make Aeroflot and Asiana A350, but I try to make them again and it's not bad. I'm really bad at predicting things.) So here is the liveries:
Liveries I made:
Aeroflot
Air Mauritius
Asiana Airlines
Cebu Pacific (Fictional / Concept)
China Airlines
China Southern Airlines
Evelop Airlines
Hainan Airlines
Hong Kong Airlines
Iberojet
Japan Airlines
K5 Aviation (Blank)
K5 Aviation (w Blue stripes)
Philippine Airlines
South African Airways
TAM Airlines
(And during Christmas in 2019, one of my family members went to Canada and one of their flights is from Hong Kong to Vancouver using a Hong Kong Airlines A350-900)

Btw here is some attempts making the tail in the Asiana Airlines livery:

dude,calm down a bit. relax, you don't need to make 50 liveries but it is still appreciated

dude,calm down a bit. relax, you don't need to make 50 liveries but it is still appreciated

ok
btw some of them are made in just a day lol
and the reason I tried to make many liveries is cuz I don't have anything to do in my house
my pc, broken, my phone, missing, my mom's laptop and phone, gone till Thursday cuz of abroad, that's why I made liveries here since end of September


Syntax sugar for Func/Delegate/Type

Syntax sugar would be specifically to have a value-type that can be used as options.Notification to hold the delegate, and also to hold onto the delegate.

@HaoK any progress concerning this (essential) feature? :smile:

With named options going away, we could use this in place of IOptions for middleware, maybe something like:
public class Box<TService> {
   public Box(TService instance) { _instance = instance; }
   public Box(Func<TService> factory); { _factory = factory; }

   public void Initialize(IServiceProvider services);

   public TService Value {
     return _instance ?? _factory?.Invoke() ?? _services?.GetRequiredService<TService>();
   }
}

public class XyzMiddleware {
   public XyzMiddleware(Box<XyzOptions> options) { Options = options.Value }
}

app.UseMiddleware<XyzMiddleware>(new Box(xyzOptions)); // use instance
app.UseMiddleware<XyzMiddleware>(new Boxy(() => new XyzOptions())); // factory delegate
app.UseMiddleware<XyzMiddleware>(); // use whatevers in DI

I'll also have to update the TypeActivator to special case Box parameters, and call Initialize with the ISP

Thoughts? @divega @lodejard @Tratcher @davidfowl

Instead we can just make MyOptions : IOptions<MyOptions> and accomplish this without the Box

Sounds like this is no longer needed with the direction we went making Options implement IOptions

Sounds like this is no longer needed with the direction we went making Options implement IOptions

Do you have a sample demonstrating how it works concretely?
A typical case is when you want to replace the default notifications class with a new class where you need to inject per-scoped things like a DbContext.
public class MyOAuthBearerAuthenticationNotifications : OAuthBearerAuthenticationNotifications {
    public MyOAuthBearerAuthenticationNotifications(DbContext context) {
        SecurityTokenReceived = async notification => { [validate the token with a DB call] };
    }
}

Still no official plan for DI-enabled events classes?
Related topic: https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server/issues/275
/cc @ilmax