Add IP and Country Named Locations

Hi @manicminer
First attempt at contributing to any GoLang project so if there are obvious seeming mistakes I apologise in advance!
In this PR I've added named location (both country and IP based) and I'm planning to continue on to add full conditional policies if all goes well.
I have a couple of questions that I'm hoping you can help with:

I've had to comment out the created/modified date in order to stop an error around these values being read only. I see some of your existing types have these same attributes but I can't work out how you got around that issue
As Graph uses the same endpoint for country and IP based named locations you have to send the ODataType attribute, is there a way to set the default value of that in the model definition as that should theoretically never change?
Is having two models the right way to go for this resource or should there just be one named location model that contains all the possible attributes of both types?
Is this the right way to get CA policy support in the AzureAD Terraform provider or should I be contributing directly to that?

Thanks!

@alexwilcox9 Thanks for this PR, this is off to a great start!
For readonly fields, I believe if you use omitempty in your struct tag, and leave the field with a nil pointer reference, it should be omitted from requests and avoid any API errors related to setting that readonly field - but if you are having issues with this we can test and work this out before merging.
It's a great question whether or not we should implement multiple clients here. Given the API exposes these subtypes via a single endpoint, and supports other methods via that endpoint, I'm leaning towards the latter and having a single NamedLocationsClient, and a set of models for the different types of named locations - largely modelling the API types.
This client could have methods like CreateIPNamedLocation and CreateCountryNamedLocation (or possibly just CreateIP / CreateCountry), which would each accept their respective model. A client is not necessarily expected to always have the same methods and it could simply not have a Create method. This would also allow listing of all named locations via a List method with filtering left to the user, a common Delete method etc.
OData metadata is populated when parsing API responses but there's currently no support for automagically handling these fields in requests, so for the @odata.x fields which accept a single value - such as @odata.type in this case which informs the API which object you are sending - I think it's ok to have the client forcibly set these in the incoming model variable for now. We should be able to cleanly refactor this later.
The models could use struct embedding to implement a base NamedLocation model embedded in child types such as IPNamedLocation and CountryNamedLocation, for example:
type NamedLocation struct {
	ID               *string    `json:"id,omitempty"`
	CreatedDateTime  *time.Time `json:"createdDateTime,omitempty"`
	DisplayName      *string    `json:"displayName,omitempty"`
	ModifiedDateTime *time.Time `json:"modifiedDateTime,omitempty"`
}

type CountryNamedLocation struct {
	*NamedLocation
	CountriesAndRegions               *[]string `json:"countriesAndRegions,omitempty"`
	IncludeUnknownCountriesAndRegions *bool     `json:"includeUnknownCountriesAndRegions,omitempty"`
}

In terms of getting this support into the Terraform AzureAD provider, at present it would first need to be added to this SDK, so thanks for submitting this here!
FYI there's another PR #23 in progress for conditional access policies which looks fairly solid, to avoid any duplicate efforts there :)

HI @manicminer thanks for the review!
I haven't encountered embedding before so this is a useful tip. If I create a list function that returns a slice of NamedLocation's does that mean the type specific attributes like CountriesAndRegions will not be captured? And if so does that matter?
Cheers for the heads up on that other PR, luckily it looks like we've managed to avoid overlap so far!

The common list function could return an interface which would allow the user to use type assertion it to discover the actual type, e.g.

// models

type NamedLocation interface {}

type BaseNamedLocation struct {
	// common fields
}

type CountryNamedLocation struct {
	*BaseNamedLocation
	// country-specific fields
}

type IPNamedLocation struct {
	*BaseNamedLocation
	// ip-specific fields
}

// clients

type NamedLocationClient struct {}

func (c NamedLocationClient) List() (*[]NamedLocation, error) {
	r := CountryNamedLocation{
		BaseNamedLocation: &BaseNamedLocation{},
	}
	return &[]NamedLocation{r}, nil
}

func main() {
	locs, _ := NamedLocationClient{}.List()
	if locs != nil {
		for _, l := range *locs {
			fmt.Printf("%+v ", l)
			if _, ok := l.(CountryNamedLocation); ok {
				fmt.Println("is a CountryNamedLocation")
			} else if _, ok := l.(IPNamedLocation); ok {
				fmt.Println("is an IPNamedLocation")
			}
		}
	}
}

(I renamed NamedLocation to BaseNamedLocation for clarity)
In this example the locations in the result are being tested to see which type they are.
These are just suggestions, if it feels too clunky when you are implementing it, feel free to try something different! :)

@alexwilcox9 In the client List() function, you are unmarshaling the response into a slice of interface{} and the model structs aren't used. I'm assuming the response json has @odata.type set for each element of the array to indicate which type of object it is? If so, you could use the odata struct to pull out any useful odata, then determine the type for each one and attempt to unmarshal it using the appropriate model struct, before appending to a slice of NamedLocation and returning that.
Something like (no error checking, totally untested, may not even compile, pretty much pseudocode):

var result struct {
	NamedLocations *[]json.RawMessage `json:"value"`
}
json.Unmarshal(respBody, &data)

if result.NamedLocations == nil {
	return
}
ret := make([]NamedLocation, 0, len(result.NamedLocations))
for _, namedLocation := range *result.NamedLocations {
	var o odata.OData
	json.Unmarshal(namedLocation, &o)

	switch o.Type {
	case "#microsoft.graph.countryNamedLocation":
		var loc CountryNamedLocation
		json.Unmarshal(namedLocation, &loc)
		ret = append(ret, loc)
	case "#microsoft.graph.ipNamedLocation":
		var loc IPNamedLocation
		json.Unmarshal(namedLocation, &loc)
		ret = append(ret, loc)
	}
}

return ret

This essentially starts off by unmarshaling the containing array into a slice of RawMessage (which is just a byteslice alias), so you can loop through the items and unmarshal them individually. Then for each one it unmarshals using the OData struct (in this project) to inspect the @odata.type property, and then decides which struct to use to unmarshal the useful data before appending to a slice which gets returned at the end.
I think this will work, but shout out if it doesn't make sense or I've overlooked something :)

@manicminer I think I've got it! Thanks for the example code, I messed around with the pointers until it stopped erroring and it seems to work 😂
$ go test -v -timeout 30s -run ^TestNamedLocationClient$ github.com/manicminer/hamilton/clients
=== RUN   TestNamedLocationClient
    namedlocation_test.go:61: {BaseNamedLocation:0xc000682450 IPRanges:0xc0003fa360 IsTrusted:0xc000400238}
    namedlocation_test.go:65: is an IPNamedLocation
    namedlocation_test.go:61: {BaseNamedLocation:0xc0006824b0 CountriesAndRegions:0xc0003fa4b0 IncludeUnknownCountriesAndRegions:0xc000400324}
    namedlocation_test.go:63: is a CountryNamedLocation
--- PASS: TestNamedLocationClient (14.60s)
PASS
ok      github.com/manicminer/hamilton/clients  14.604s

Not sure why the linting is failing as that passes on my machine...
Let me know what you think :)

@manicminer Thanks for that! I got so focused on all the other points I totally missed the first one on pluralising!
Cheers for all the help on this

No worries, thanks for all your work! :)


new deployment infra:  OCI for workbench constituents

Further readings

Nix + Docker, a match made in heaven
Arion: fast NixOS on Docker Compose (NixCon 2019)
Functional programming and Nix for reproducible, immutable infrastructure

Closing this. If this is still relevant please reopen.


package.json: remove redundant "npm prepare"

"prepare" is always executed as part of npm install. Currently, CI is running "npm run build" redundantly twice, once as part of "install", and once as part of an explicit build step.

The reason is that you don't need to run build explicitly.

It is also ensure the package is built before publish.


Zoho -> G Suite

🙏

[ ] Open a plan on the Business Starter level

[ ] Create multiple admins

[ ] Migrate emails and make sure let everyone know when that's going to happen

[ ] Post instructions to help people with export their emails from Zoho before we close the account https://www.systoolsgroup.com/import/zoho-to-g-suite-migration/

[ ] Start file tree for consistent formatting

[x] deprecate zoho budget spreadsheet and move it to google sheets (see here)
[x] replace info about zoho in onboarding docs with google


Flash of unlocalized content opening a PR

Open a PR on insiders.vscode.dev
Notice a quick flash in the PR tree view:

Will be fixed by https://github.com/microsoft/vscode-pull-request-github/pull/4087


PoC of a tfplan output

underlying work: a driftctl output as plan.

LGTM using build 11dea42-dev


Responsive Contribution

I commented a few days ago on issue #177 .
I think I have a way to add a responsive element into this package.
The basic idea is to add a few new properties to grid-item (smallH, smallW, mediumH, mediumW, largeH, largeW) that will allow users to assign different widths and heights based on screen size. grid-layout can then be modified to use matchMedia (https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia) and resize the grid-items as needed. Would this be an acceptable solution?

There is a PR (#194 ) with some responsive support. Let me take a look at it first. Hopefully I'll have some time this week.

@jeremytiki the other PR is not working, so you if are willing to try implementing responsive support, it would be much appreciated.

https://github.com/lrembacz/vue-responsive-grid-layout


Throwing broken promise warning with MQTT disabled

Describe the bug
I got the following Warning when running Butler-CW with MQTT disabled. I looked into it, and it looks in loadAppIntoCache it doesn't check for whether or not MQTT is enabled when it runs mqttClient.publish() on line 184. I think it needs to have the sort of if statement checking if mqttConfig.out.enable is set that we see on line 331.
(node:15104) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'publish' of undefined
    at [REDACTED]\index.js:184:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:15104) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:15104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

To Reproduce
Disable MQTT and don't put a valid URL in mqttconfig.broker.uri, then try to cache-warm an app.
Expected behavior
Ideally with the MQTT server disabled it wouldn't attempt to publish to it and we wouldn't get this warning.
Describe environment:

OS: Windows Server 2019
Containerisation - No
Version of Butler CW used - 4.0.2
Command used to start Butler CW - node index.js

Config file(s)
mqttConfig:
  out:
    enable: false
    tzFormat: UTC
    baseTopic: butler-cw/
  broker:
    uri: mqtt://<IP_ADDRESS>

Ouch.
I suspect this is something that has surfaced when using Butler CW with recent Node.js versions.
Previously those unhandled exceptions were handled by Node.js, but that's no longer the case I believe (need to check that..).
Anyways, it's obviously a bug that should be fixed. Should be an easy one.. I'll try to find some time during coming couple of weeks.
Or: if you feel up to it I am happily accepting pull requests, of course!
Happy holidays,
/G

@ZachPruckowski
This should now be fixed in v4.0.3, which is available on the releases page.


Input Validation erroring on values that should be supported

System Info
OS version: Ubuntu 20.04.6
Model: Mixtral-8x7B-Instruct-v0.1
GPU: 4xA6000
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction

Start TGI via docker

run -d --restart=always --name mixtralbig --gpus '"device=0,1,2,3"' --shm-size 1g -p 8081:80 -v /data/models/:/data [ghcr.io/huggingface/text-generation-inference:1.4.1](http://ghcr.io/huggingface/text-generation-inference:1.4.1) --model-id mistralai/Mixtral-8x7B-Instruct-v0.1 --max-best-of 1 --max-input-length 10000 --max-total-tokens 32000 --max-batch-prefill-tokens 12000

Send a request with top_p or typical_p set to 1

curl <IP_ADDRESS>:8081/generate -X POST -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":20,"top_p":1}}' -H 'Content-Type: application/json'
Result:
{"error":"Input validation error: 'top_p' must be > 0.0 and < 1.0","error_type":"validation"}
Expected behavior
Validation should allow 1.0 for inputs such as top_p and typical_p as 1.0 is very commonly the default value for these inputs. This huggingface transformers doc says 1.0 is the default value.
https://huggingface.co/docs/transformers/en/main_classes/text_generation#transformers.GenerationConfig.typical_p

Adding to this, almost no parameter allows 0, is this really the desired behavior? Many LLM UIs such as SillyTavern expect 0 to be a supported value for things such as top_k, top_p, etc


Undocumented results

Hi, The following is documented in the readme.
const data = await gcpMetadata.instance();
console.log(data); // ... All metadata properties

Could we please get a link or example of what this might return.
In my case I'm specifically looking for the GAE version_name but would be great to explore whats available.

Greetings!  Fun fact - for the version name in app engine, you should be able to access the GAE_VERSION environment variable:
https://cloud.google.com/appengine/docs/standard/nodejs/runtime#environment_variables
That question aside - the details of what data is going to come back is largely covered here:
https://cloud.google.com/compute/docs/storing-retrieving-metadata#default

My goodness. I didn't think of that. Thank you


Release Cadence? Last release was 2 years ago.

I was curious if there are plans on creating new releases? As it stands, https://github.com/pinterest/teletraan/releases/tag/v1.0.1 is 2 years old. Is it expected that master branch is stable?

We are in the status where our production directly pulls the head of master. So I'd consider master is stable. But sure I can create a release tag.

Cool! Knowing master is gold -> thats good enough for me. Thanks!


bug(mat-form-field): suffix button layout bug when is used inside a component

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
15.0.0
Description
i founded a bug in this component: https://material.angular.io/components/form-field/overview#prefix--suffix
if I use it directly in my page, it works normally, but If I transform all the structure into a new component and try to use the component in my page, the "mat-icon-button" is not align correctly, it's not respecting the padding in the rigth of the mat-form-field: https://imgur.com/a/Bt6OGJO
bug to be reproduced: https://github.com/Iam-Luik/angular-animation-poc
-download
-npm i
-ng serve
Reproduction
Steps to reproduce:

try to add the  https://material.angular.io/components/form-field/overview#prefix--suffix into app.component.html directly in the page then it works well
now take the code and create a new component with it
try to use the component in the page, now it's reproduced

Expected Behavior
it should display with the padding-rigth correctly
Actual Behavior
it's displaying without de padding-rigth
Environment
Angular CLI: 16.0.0
Node: 18.16.0
Package Manager: npm 9.5.1
OS: win32 x64

sorry, i don't know how to use stackblitz

It is an online IDE you can run Angular applications on, it's ideal for us because it allows us to just click a link and see your code running without having to download anything.
All of our examples we have on our documentation site also have a link to it in Stackblitz. It allows you to make mess around with the code since it's interactive. It's the third button as shown on the screenshot below.

Once you create an account and sign in, if you make changes to an example and save it will create a fork (a copy). Then once you have reproduced your error please paste that Stackblitz link here so we can take a closer look.
I hope this helps!

https://stackblitz.com/edit/zqzc7j?file=package.json

https://stackblitz.com/edit/zqzc7j?file=src/app/form-field-prefix-suffix-example.css
I don't know if I shared it correctly, but here is the bug I mentioned. It's a little bit different from the images because I was using tailwind.css in my local project. However, the bug still appears. As you can see, the mat-form-field is not even respecting the parent's padding.

@Iam-Luik seems like you forgot to import the MatButtonModule in input.module.ts,  you can check this for your reference:
https://stackblitz.com/edit/zqzc7j-9pkmgs?file=src/app/apresentacao/componentes/input/input.module.ts

It's because app.module.ts imports MaterialExampleModule which includes MatButtonModule on its exports.

It seems that the issue is resolved here, so I'll close this issue. Thanks for helping debug @arnelumandapjr!


Apply Python 3.11 migration

As the bot won't be able to due to the custom conda_build_config.yaml.

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


Add input character validation  to maximum number of character length for site /region /zone/device hostname as inputs in inventory.yaml

Issue Summary
Currently there are no validation checks on inputs  (character length/type of characters/)on region zone /device hostname  via AVD . we should have that check . Also we should have an additional check that region /zone/device hostname  should same in router section (wan hierarchy )  and region to zone to site  association section in pathfinder meta studio.
Which component(s) of AVD impacted
No response
How do you run AVD ?
Ansible CLI (with virtual-env or native python)
Steps to reproduce
Create region/zone/site/device association in inventory.yaml  , Same names should be given as inputs on other related inputs via AVD provisioning . Also user should give inputs values to specific character length , type of characters etc for region /zone /site.

Relevant log output
No response
Contributing Guide

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

Thanks for opening the issue. Can you please provides what are the length and the allowed character set?

pattern='[A-Za-z0-9_.:{}\[\]-]+'


 Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'

Thanks for reporting this bug.

for MySQL prior to 5.7, the default binlog_format is statement which is not allowed for the innodb engine. Users who open --log-bin in the /etc/my.cnf need to change the binlog_format=row or mixed. For MySQL after 5.7, the binlog_format defaults to row.
This is no a zstack bug.


feat: auto comment feature to improve collabration ✨

Close #4142
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

Hey the @MohitGupta121,
Please review this PR and merge this with level3 label, because this is one of the core contribution to this Repository.
Thank you!

Great @0xabdulkhalid  You Just copy the code from GitHub market place here also you got level 1  :https://github.com/marketplace/actions/auto-comment
here is the profe


Colab version is crashing

Hi. I'm getting this error when running the current Colab version.

RuntimeError                              Traceback (most recent call last)
 in
12 image_file = "/content/image.png" #@param {type:"string"}
13
---> 14 waveform, sample_rate = torchaudio.load(wav_file)
15 torchaudio.save(wav_file, waveform, sample_rate, encoding="PCM_S", bits_per_sample=16)
16
1 frames
/usr/local/lib/python3.8/dist-packages/torchaudio/io/_compat.py in load_audio(src, frame_offset, num_frames, convert, channels_first, format)
101     format: Optional[str] = None,
102 ) -> Tuple[torch.Tensor, int]:
--> 103     s = torch.classes.torchaudio.ffmpeg_StreamReader(src, format, None)
104     return _load_audio(s, frame_offset, num_frames, convert, channels_first)
105
RuntimeError: Failed to open the input "/content/audio.wav" (No such file or directory).

thanks @Miscend ❤ please try again


command bar, clicking an item should also work

if I click an item in the command bar it doesnt work, but figured in the future we would want this

I believe this is resolved, but let me know if you still can't click an item @jessfraz. I should write a test for this, so even if you can do it don't close this, I'll just rename it to "Write test for clicking a command bar item instead of keyboard interacting" or something.
https://github.com/KittyCAD/modeling-app/assets/23481541/6f172840-4e37-45fc-8f5d-0e64bb2382e2


Fixed Designing of Login Page

Related Issue
Fixes #695
Description
I have fixed the overlapping of the elements
Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@Ayushmaanagarwal1211 Update branch

@SUGAM-ARORA Updated

@Ayushmaanagarwal1211 There was a merge failure. Please do any one more commit and then update branch again.


Multiple newlines in the text are copied to the editor, leaving no empty newlines

Describe the bug
When I copy text from a website or document into an editor, Multiple newlines in the text are copied to the editor, leaving no empty newlines
To Reproduce
Steps to reproduce the behavior:

Go to '[...](https://nhn.github.io/tui.editor/latest/tutorial-example03-editor-with-wysiwyg-mode)'
Copy text from '[...](https://www.sfchronicle.com/projects/2021/jessica-simulation-artificial-intelligence)'
Empty lines between paragraphs are no longer visible in the editor

Expected behavior
keep the empty lines

@songwone
It's not the bug. It seems that the data is being pasted normally.
There is a margin style between sentences in your example page, so there seems to be an empty sentence.

@songwone It's not the bug. It seems that the data is being pasted normally. There is a margin style between sentences in your example page, so there seems to be an empty sentence.

Ok, thank you very much


Need flag for APIKeys so we can hide the UI Session key, also need activate/deactivate actions

Rancher versions: v2.0.0-alpha12
Steps to Reproduce:

Go to API Keys
Create a key

Results:

[ ]  There is a UI Session key there.  If a user deletes it, it will break 2.0.  We need a flag in API so we can hide the key.

[ ]  Also notice there is no Activate/Deactivate actions for the key.  We should support these actions.

The flag is isDerived. True indicates that this was not a login token

Assigning to @vincent99 for UI developer routing

@cjellick Not sure that's the same thing; What I'd like to know is if the token is the current session authorizing the request, so that one can be hidden and doesn't get killed if you do e.g. select all/delete.

lets call the new field "current"

Version - 2.1 master 9/19
Verified fixed


Image preview bugged on ST

What system are you running Yazi on?
Linux X11
What terminal are you running Yazi in?
ST 0.9 with some patches
Yazi version
yazi 0.1.5
Did you try the latest main branch to see if the problem has already been fixed?
Tried, but the problem is still present
Describe the bug
The image preview looks buggy, blurry.

Expected Behavior
The image preview should work normally
To Reproduce
Install ST, ueberzugpp, yazi and try to use image preview
Configuration
no config

Hi! I noticed that you are using the old version v0.1.5, please try if it exists in the latest version of v0.2.2, https://github.com/sxyazi/yazi/releases/tag/v0.2.2

Hi! I noticed that you are using the old version v0.1.5, please try if it exists in the latest version of v0.2.2, https://github.com/sxyazi/yazi/releases/tag/v0.2.2

It's the latest available that i could install using pacman, when i arrive at my home i will test using this new version compiling from source.

The issue does not happen when using yazi-git package from AUR.

Yeah, yazi-git is the latest version.
Nice to hear that your problem has been resolved. Let me close this issue then.


Can't update public IP field in node contracts

In case of there are more than one VM on the same deployment with public IPs and decide to delete one of them, the machine's public IP can be deleted from the deployment on zos, but can't update the contract to delete this public IP and keep reserving and paying for it.

@DylanVerstraete  is this something we still need to do? if yes, please put 'next' on milestone. if yes but not this month, please put later on the milestone. if no needed please delete this issue.

@xmonader can you give me your input on this please?

@DylanVerstraete I believe we should plan it still

@DylanVerstraete I believe we should plan it still

What exactly do you want to plan? I still strongly suggest that we don't allow adding/removing ips after the contract is deleted. In case we still want to do this we need rethink the way we create contracts in the first place.

I think we should restrict the number of public IP's on a node contract to 1. This way we can safely update the contract to either have a public IP or not.
@xmonader @LeeSmet ?

I disagree, we should allow multiple IP's on a node contract. I'm partially thinking it might also be interesting to be able to specify a specific IP to reserve, though this will probably require some rethinking, so that might be more interesting in the future.
Essentially, a workload should be modifiable. We already did some steps for this with the grace period, but this should be expanded upon (where possible), mostly in zos. E.g a VM should be able to add and remove disks on the fly, and same with network interfaces. Network is slightly harder, admittedly, as once the VM is live we can't really configure the new IP on the host, but still, low lvl it should be possible.

Suggestion:
We restrict the number of public ips on a Node Contract to one.
We also move the list of public ips from the farm object to a seperate storage map: FarmIps (Vec<PublicIP>). We will also need to give every PublicIP a unique ID and save all the "Free" IPs in a seperate storage map FarmFreeIps (Vec<u64>).
Now, for node contract we drop the duplication of Public IP struct and just reference to an ID of a PublicIP. This way we avoid data duplication and save some storage. We also restrict the number of PublicIPS on a Node Contract to one. If we do this we can rework creation where to user just has to specify is he wants an IP or not. If he wants an IP, we check the  FarmFreeIps and pick one out of that list and save it on the contract. Now, the user can update the Node Contract to remove or / add an IP by simply specifiying a boolean (yes or no).

no longer needed


Add webassembly-js-api for *_bg.d.ts.

Per #1040, import 'webassembly-js-api' is needed for WebAssembly.Memory.

Thanks for the PR!
This inspired me to write some tests we can run on CI to ensure that this doesn't regress. In making that though I'm wondering if this is necessary? There it looks like just depending on @types/webassembly-js-api is enough to pacity the TypeScript compiler, but I'm curious if perhaps there's a common way to use TypeScript or configure it which does require this? (I'm not too familiar with TypeScript myself)

Ooh Typescript tests.  Nice.
So, I'm not super familiar with with TS either.  I looked around a bit.  Essentially you're asking the TS compiler to introduce something into the global scope automatically.  As far as I can tell, that's not a common thing to do.

I agree yeah it's nonstandard and in general a bad idea, but for this case specifically WebAssembly is like String and Array where it's ambiently available in JS (part of the JS spec) and doesn't typically need an import. For that I think the import shouldn't be necessary because the JS types are already in scope and don't need imports

Yeah, this needs to be added to the TypeScript compiler. They already do that for ES6 + DOM APIs. It's easy to add support for WebAssembly.
They have a tracking issue here: https://github.com/Microsoft/TypeScript/issues/29747

Thanks for the reference and comment @Pauan! Sounds like we should close this for now but recommend depending on @types/webassembly-js-api in the meantim?

Yes, installing @types/webassembly-js-api should be enough for now.
If that issue takes too long to fix, we can gently ping the TypeScript team.

Sounds good to me!
@konkers would you be interested in perhaps sending a PR to update our documentation for using TypeScript to indicate this?

Odd!  I though I tried with just@types/webassembly-js-api installed.  Guess not.  I reverted my patch and it's all working now.  Thanks for the pointers @Pauan!

Yeah, I'll send a PR for a doc update.

I'm thinking that adding an example using typescript with callouts about @types/webassembly-js-api and the necessary webpack configs would be best.  Thoughts?

@konkers an example sounds like a great idea to me!

Yes, installing @types/webassembly-js-api should be enough for now

Just for the record, apparently one has to install<EMAIL_ADDRESS>since installing the latest version fails due to:
$ npm install --save @types/webassembly-js-api
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition. webassembly-js-api provides its own type definitions, so you do not need this installed.
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/webassembly-js-api - Not found
npm ERR! 404
npm ERR! 404  'webassembly-js-api@*' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of '@types/webassembly-js-api'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.


Other DBs?

I'm wondering if you are planning on adding support for sqlite and postgres?
(Is this the right place to ask questions?)

Hi Sean, I've been looking for a grid solution to implement and yours looks great! I just DLed v 2.1.7 and noticed in the ajax.php file you are still using mysql_connect rather than PDO (or at least mysqli). From what I understand, mysql_connect is being totally REMOVED in PHP 7 so anyone that upgrades their PHP is going to break this. Have you given any further thought to PDOizing it?
Best Regards,
Chris Scopp

I haven't had time to bring this up to date, but please feel free to make a fork that is PDO ready, it should be very easy

I currently have 3 projects going on so I'm not sure if I can do it now, but I've always wanted to contribute to an open source project so I'll let you know if my schedule clears up.
It may not be quite as easy as it may seem. We would not only need to replace the actual connection itself, but other things as well. For example, mysql_real_escape_string in your grid.php is also deprecated (and I believe removed in PHP 7) so we probably want http://php.net/manual/en/function.filter-input.php instead. Also, anytime you have other calls such as mysql_query and mysql_fetch_assoc also need to be changed. It might be a little bit of an undertaking to make sure nothing else gets broken in the process, I'm sure you know how that goes!
Take Care brother!
Chris

Yep it's a few things, but it really does need to get done. I can help with questions if you get stuck anywhere. I'm still have my 8 years of PHP experience even if I use node now a days. Ha


Move to the Kafka 0.10 message format (with timestamps)

#376 was merged, effectively ending backwards compatibility with Kafka 0.9, because I thought we were ready to move off Kafka 0.9. This has proven to not be the case, so I'm not comfortable with having the main line of development (master) only be compatible with a version of Kafka I'm not personally running.
Native Kafka 0.10 support (without protocol format re-writing on the broker side) has been postponed.

@dasch is there any chance of creating a second branch for 0.10 support, with RubyGems releases? I'd really love to use the broker timestamps to improve our monitoring of Kafka, but that requires the 0.10 API.

I probably won't do Rubygems releases, as that would require me to keep the two branches in sync at all times, but I can try to rebase this branch from time to time and you can depend on it from your Gemfile. Would that work?

Hey @dasch, looks like 0.5.x is targetting the Kafka 0.10 API? Is that correct? If so, anyone wanting to use 0.10 API features can start using the beta of that I think? Maybe worth putting in the README if so.

@isaacseymour I've pulled the beta from Rubygems because I wanted to continue development on the master branch and be able to push 0.9 compatible releases from that (as I'm only able to run 0.9 in production myself.)
Once I have a production environment running 0.10+ I'll switch the master branch over to be 0.10 compatible and cut a stable branch for 0.9 support.

Update: planning on cutting a stable branch for 0.4 on Monday, then merging this and releasing v0.5.0!

@dasch  irrelevant to this but no other way to reach you - please show yourself @ ruby kafka slack if you could :D


wheelhandler is too sensitive on desktop

Hi,
Thanks for the work on this.
One thing I noticed is that the wheelhandler for desktop is super sensitive. Is there any way to disable the wheelhandler, or at least slow it down on desktop via the config?
https://github.com/ahmednooor/halkaBox.js/blob/master/src/halkaBox.js#L570

For others that may be looking, I've been able to remove the wheelhandler using the following;
document.querySelector('#hb-wrapperjs-halkabox').addEventListener('wheel', (event) => {
    event.stopImmediatePropagation();
});

@darrenjacoby  thanks for your input. I will try to add an option for this in the next release.

@darrenjacoby

fixed sensitivity of wheel (feel free to test it and share result) https://github.com/ahmednooor/halkaBox.js/blob/075995f4d8ceb7b0a54fbf86d1080d664f5d8a8d/src/halkaBox.js#L557-L561.
you can also disable wheel by using nextPrevOnWheel: false in options (see  readme for options usage).

hope this fixes the issue.
closing now.

@ahmednooor that's great, thank you for this!


Execution times

Description
In depth info about execution plans
This is more of a meta-issue (/roadmap) focusing everything about execution times.
Plans I have in mind:

first audit of execution time, map possible improvement, low hanging fruits improvements, see if there are design flaws
Will be using flamegraphs and run our current e2e tests with that
Work on benchmarks
CI integration to see regressions / improvements with each versions
probably an auto generated page with these execution times of well known models
Add execution info (or links to) on the readme for known models

I am not sure whether all of this is overkill or not since we're just using tract and not really touching the perf sensitive parts. We'll see.
Additional Information
None
Checklist

[ ] This tests concerns BlindAI Client
[x] This tests concerns BlindAI Server

"I am not sure whether all of this is overkill or not since we're just using tract and not really touching the perf sensitive parts. We'll see."
We are not only using Tract actually, and because we are executing the code inside an enclave, the performance sensitive part is affected. We cannot rely on the same way than the original library to load a model in memory, because of the enclave context we have to load the model entierly in one-go, and the memory management inside an enclave is different than on a normal application.
This PR can be an opportunity to test the performance with hardware optimization we can use inside an enclave./


CARDS-1842: Configure the periodic task to export survey data as csv

To test:

Start in prems mode
On http://localhost:8080/system/console/configMgr make sure there are 3 entries for Survey csv export
On http://localhost:8080/system/console/status-slingscheduler check that the 3 CSV jobs are scheduled for next Saturday at 02:00

Looks like this PR includes https://phenotips.atlassian.net/browse/CARDS-2028 and https://phenotips.atlassian.net/browse/CARDS-2040.


Bug Report: Roomba combo not supported

Describe The Bug:
Roomba Combo doesn't start when activated. It beep one time and then nothing. On the homebridge (and homekit as well) side I look it switch on for a moment and then switch off imadiately
To Reproduce:
Install plugin, configure with cloud, try to start device.
Expected behavior:
Roomba start cleaning
Logs:
[17/10/2022, 08:48:35] [iRobot] Set Roomba Combo To Clean

Config:
{
            "name": "iRobot",
            "email"<EMAIL_ADDRESS>            "password": "*********",
            "roombas": [
                {
                    "autoConfig": true,
                    "info": {
                        "ver": 2
                    }
                }
            ],
            "manualDiscovery": false,
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }

Node Version:
v16.16.0
NPM Version:
8.11.0
Homebridge Version:
1.5.0
Plugin Version:
v2.1.16
Operating System:
Raspberian

Please try the latest beta:

Please try the latest beta:

Cannot set up to HomeKit
Status:  Disconnected
Failed to load logs from /var/lib/homebridge/iRobot/5C6671E61E8A4CFF932D1CCCAFA0DD9F.log


Validations inside an array

Hi,
I'm not able to put simple string validations inside an array.
Here is an example of that I want to do.
http://schemaform.io/examples/bootstrap-example.html#/3d9fbe4aee5cbd0082ed
Thanks

Found what I has missing "type":object in the "items"


Add index compression benchmarking dashboard

Description
Add index compression benchmarking dashboards to opensearch.org/benchmarks webpage
Issues Resolved
NA
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@bbarani - I wonder if the iframe needs to be / can be expanded at the bottom - the page cuts off the "2.9.0-SNAPSHOT: OpenSearch Version" area and won't display it very well

@krisfreedain can you check on a narrower screen? Also, the same issue might exist on today's report. If it's not a net new problem, can you sign off? @bbarani can you take a look otherwise?

@krisfreedain I don't see this issue on my local. I have added table with the data now below the graph but I don't see it chopped off in full page view (on desktop).

@krisfreedain I just realized that you are looking in to the wrong menu header. This PR is to add new menu for index compression and the issue you pointed out is for different header.

@krisfreedain @AMoo-Miki Can you please review this PR again? CC: @wbeckler @CEHENKLE


CSS

User Story
As a boot camp student
I want the pre-work notes to be structured on a webpage (or rather, this has been assigned so I can learn)
So that I can easily find and read the information (and so that I can get familiar with this formal process.)
Acceptance Criteria
GIVEN a Pre-work Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

I did this on the main branch, tisk tisk. Will double check that I do work on another branch next time.


publish<EMAIL_ADDRESS>

Requested by: @buenaflor
Merge target: main
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[x] pub-dev
[x] github
[x] registry

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

#retract


Duplicate Name "parser"

I get an error when running run.py

ModuleNotFoundError: No module named 'parser.cmds'; 'parser' is not a package

I suppose the reason is that one module is named "parser" while one file is named "parser".

This might be the case, but I still haven't encountered this problem. I'll check it latter.
If you solve it, can you tell me where is the problem?

Yes. I changed the module name and modified the relevant codes slightly and it works now. Currently, I am facing another problem with encoding...

Did you run it on windows?
Just now I re-clone the repo and run the code on both the Ubuntu server and windows 10 WSL, and there was still no problems. Since there are no computation resources on my windows machine, I didn't test the code on windows carefully.

Yeah I am running on a win10 machine with python 3.7.3

OK, I will fix this bug later, thanks.


No prebuilt binaries found (target=20.14.0 runtime=node arch=arm64 libc= platform=win32)

Having issues on Windows-on-Arm.

prebuild-install warn install No prebuilt binaries found (target=20.14.0 runtime=node arch=arm64 libc= platform=win32)

pnpm i better-sqlite3@11 # v11.0.0

# Packages: +38
# ++++++++++++++++++++++++++++++++++++++
# Progress: resolved 38, reused 38, downloaded 0, added 0, done
#<EMAIL_ADDRESS>Running install script, failed in 797ms
# .../node_modules/better-sqlite3 install$ prebuild-install || node-gyp rebuild --release
# │ prebuild-install warn install No prebuilt binaries found (target=20.14.0 runtime=node arch=arm64 libc= platform=win32)
#
#  ELIFECYCLE  Command failed with exit code 1.

pnpm i better-sqlite3@10 # v10.1.0

# Packages: +38
# ++++++++++++++++++++++++++++++++++++++
# Progress: resolved 38, reused 38, downloaded 0, added 1, done
#<EMAIL_ADDRESS>Running install script, failed in 1.8s
# .../node_modules/better-sqlite3 install$ prebuild-install || node-gyp rebuild --release
# │ prebuild-install warn install No prebuilt binaries found (target=20.14.0 runtime=node arch=arm64 libc= platform=win32)
#
#  ELIFECYCLE  Command failed with exit code 1.

pnpm i<EMAIL_ADDRESS>
# Packages: +38
# ++++++++++++++++++++++++++++++++++++++
# Progress: resolved 38, reused 38, downloaded 0, added 1, done
#<EMAIL_ADDRESS>Running install script, done in 637ms
#
# dependencies:
# + better-sqlite3 10.0.0 (11.0.0 is available)
#
# Done in 3.9s

The prebuild for ARM on windows failed in GHA. I suspect if you install the node build tooling on that box you'll have to wait for the compilation, but it'll work:

@mceachen Thanks for the workaround. I guess it is related to this issue:

https://github.com/WiseLibs/better-sqlite3/issues/1186

Do I have to install the 'necessary tools' once, using any versions of the Node.js installer?

I hope the next release includes the pre-built binaries. I've switched back from libSQL just for this.

The latest release should address this: v11.1.1.


Using DrawerSlideTransition should resize the side view controllers to the available width

First off, really good work, it's a really clear project and easy to setup!
I have a suggestion: when using a DrawerSlideTransition, since no background is visible (like DrawerFloatTransition for instance), it would be great if the child view controllers were resized to fit the available width.
I have been able to make this by updating a bit DrawerContent.swift :
    internal func updateView() {
        let width = CGFloat(drawerWidth)
        contentView.frame.size.width = width
        drawerOffset = 0.0

        guard let superView = contentView.superview else { return }
        if drawerSide == .right {
            drawerOffset = superView.frame.width - width
        }
        viewController.view.frame = CGRect(
            x: 0,
            y: 0,
            width: width,
            height: superView.frame.height
        )
    }

This may not be perfect to obtain the needed behaviour, and this affects all other transitions. Would you know a way to achieve this behaviour with a custom transition or a an additional setting?
I also noticed it's not possible de create custom transitions because the methods of DrawerTransition are not marked open.

Thank you for your good suggestion.
First, the proposed DrawerContent.swift file has been modified in #24.
Next, i will modify the part that is not open.
Thank you for letting know what I missed.

@dvkch Fixed access levels issue #27.


style: update pre-commit.yaml and fix ruff

Description

Update code style to meet the new requirement of ruff.
Update pre-commit.yaml as well

Motivation and Context
ruff failed in PR #260, this PR fix it.
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide. (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[ ] I have updated the documentation accordingly.
[x] I have reformatted the code using make format. (required)
[x] I have checked the code using make lint. (required)
[x] I have ensured make test pass. (required)

Codecov Report

Merging #261 (20aa2d0) into main (9e76d28) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

:exclamation: Current head 20aa2d0 differs from pull request most recent head f3cbb42. Consider uploading reports for the commit f3cbb42 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #261      +/-   ##
==========================================
- Coverage   97.00%   96.97%   -0.03%
==========================================
  Files         138      138
  Lines        6991     6991
==========================================
- Hits         6781     6779       -2
- Misses        210      212       +2

Files Changed
Coverage Δ

omnisafe/algorithms/on_policy/second_order/pcpo.py
100.00% <ø> (ø)

omnisafe/algorithms/model_based/base/loop.py
97.87% <100.00%> (ø)

omnisafe/algorithms/model_based/base/pets.py
100.00% <100.00%> (ø)

omnisafe/utils/tools.py
98.43% <100.00%> (ø)

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


updated to the atom-workspace tag

the .workspace class is deprecated, updated to the atom-workspace tag.

Also pushed to APM as version 0.0.7


support for Gemma 2

when using the models from the mlx community it prints out this error:
ValueError: Model type gemma2 does not supported

You need to update MLX LM: pip install -U mlx-lm.  It should be version 15.0 (python -c "import mlx_lm; print(mlx_lm.__version__)")


Vuejs with Capybara

Hey, does anyone got success with integrations specs using capybara and vuejs?

Use poltergeist  https://github.com/teampoltergeist/poltergeist

I use to use a gem I created some time ago, take a look in capybara_watcher.


St Pete August 24 Corrections

Database corrections for St Pete data completed in August 2024.

Closed with completion of #23


Move to TOML files (?)

Should MUSiC move from .cfg to .toml files?
How to deal with includes?
Resources:
TOML docs: https://toml.io/en/
C++ TOML parser: https://marzer.github.io/tomlplusplus/index.html

[ ] Run configuration
[ ] Cross-sections
[ ] Jets
[ ] Btag
[ ] Electrons
[ ] Photons
[ ] Trigger paths
[ ] Trigger objects
[ ] Taus (?)
[ ] MET
[ ] Gen Cuts


relative_to and absolute_to

Can we achieve these features currently?
https://medialize.github.io/URI.js/docs.html#relativeto

relativeTo should be possible.
What is the relationship between absoluteTo and resolve?

I don't know


create curl bash install script

With home-brew does the executable really go into ./bin?
Most people will have no idea which release they need.  Please make a Mac/Linux/Win executable.  On first run it should:

Install the binary into the path or add the binary path to the PATH
Run astra-setup, which guides you to get a token (which currently just populates .astrarc and .env but could pull the bundle)

so homebrew is hugely popular and is on the "how to install" section for a number of similar tools including the official gihub cli, helm, k3d, etc.
I did make executables for all the platforms are they are in the releases section of the website. I would think being able to download the latest would be fine.

I am sorry I just do not agree with the critique here apologies.

how about we do the following:

shell installer script (curl/wget)
scoop or chocolatey (popular windows installer)

actually this is done in https://github.com/rsds143/astra-cli/pull/29


[Image Copy] Fix the hyper_v_generation of image copy

Fix the issue that the hyper_v_generation is always V1 when copying the image.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Image Copy


AnimationTree process the extra frame when restarting Animation by some Nodes

Godot version
4.0.dev (b36447f6f09ac608bfa76dda6a50ac92c7040077)
System information
MacOS 11.6
Issue description
When selecting a state, NodeTransition and NodeOneShot internally seeks and restarts the animation after it has played once, but processes the last frame at the time of restart.
https://user-images.githubusercontent.com/61938263/172902205-cf5b3476-891d-44f4-8839-aa1f3b17f8bb.mov
Steps to reproduce
Play the animation once using NodeTransition or NodeOneshot, then change the state and play it again.
Minimal reproduction project
node_t_state.zip

It could be that the internal time is not reset while reseek in AnimationNodeAnimation::process.

The pingpong issue will be resolved in #68992. The only remaining issue is the first frame of OneShot and Transition.


Fix IE display issue with page size dropdown

[ch5294]

There's still an issue with vertical alignment in the dropdown and it should be addressed before merging


[Bug] Incorrect Return Value for Twitch CLI Testing Channel.Prediction.Lock

What is the problem?
I've encountered a bug while using the Twitch CLI. When using the twitch event trigger channel.prediction.lock --transport=websocket command, the return value for the field "channel_points_won" is an integer, contrary to the documentation which states it should be null.
According to the documentation, the field "channel_points_won" should always be null for Prediction progress and Prediction lock events. It should only be 0 if the outcome did not win or if the Prediction was canceled with Channel Points refunded.
I believe this inconsistency between the expected behavior described in the documentation and the actual behavior of the Twitch CLI command is a bug. I kindly request your attention to this matter and a resolution to ensure the return value aligns with the documented behavior.
Please let me know if you require any additional information or if there's anything I can do to assist in resolving this issue promptly.
Operating System
windows 10
Architecture Version (x86, x64, arm, etc)
x64
Steps to reproduce

Open the Twitch CLI.
Execute the command: twitch event trigger channel.prediction.lock --transport=websocket.

Expected result:
According to the documentation, the return value for the "channel_points_won" field should be null in the event payload for Prediction progress and Prediction lock.
Actual result:
Instead of returning null, the "channel_points_won" field is returning an integer value.
Relevant log output
✔ Forwarded for use in mock EventSub WebSocket server
{"subscription":{"id":"7026093e-c640-02d2-9a00-4d184a72767c","status":"enabled","type":"channel.prediction.lock","version":"1","condition":{"broadcaster_user_id":"24703267"},"transport":{"method":"websocket","session_id":"WebSocket-Server-Will-Set"},"created_at":"2023-06-18T19:54:04.4393126Z","cost":0},"event":{"broadcaster_user_id":"24703267","broadcaster_user_login":"testBroadcaster","broadcaster_user_name":"testBroadcaster","id":"3957341a-fda4-2dbb-0bd9-534eb63c093a","locked_at":"2023-06-18T20:04:04.4393126Z","outcomes":[{"channel_points":18129,"color":"blue","id":"65a1851b-974d-ab92-d1c8-ddd2ea4ffc58","title":"yes","top_predictors":[{"channel_points_used":8724,"channel_points_won":17448,"user_id":"24721661","user_login":"testLogin","user_name":"testLogin"},{"channel_points_used":9405,"channel_points_won":18810,"user_id":"54114402","user_login":"testLogin","user_name":"testLogin"}],"users":2},{"channel_points":7841,"color":"pink","id":"1ed6ac9b-020a-3cad-cd46-ee73e404a949","title":"no","top_predictors":[{"channel_points_used":6016,"channel_points_won":0,"user_id":"54821927","user_login":"testLogin","user_name":"testLogin"},{"channel_points_used":1825,"channel_points_won":0,"user_id":"3875571","user_login":"testLogin","user_name":"testLogin"}],"users":2}],"started_at":"2023-06-18T19:54:04.4393126Z","title":"Will the developer finish this program?"}}

this is the problematic code
https://github.com/twitchdev/twitch-cli/blob/74cca29b8c827e3bdbbf507663245ad8d35ff7eb/internal/events/types/prediction/prediction.go#L75-L80
should not be set on lock and progress


Create New Release Leveraging Improvements in apko_image

Hi all, I'd love to use the improvements to the apko_image rule, namely the .lock targets generated by this addition. I'm using the 1.2.1 release as a bazel_dep and unfortunately, it doesn't contain those features.
Would it be possible to cut a new release in the short term?
Thanks!

https://github.com/chainguard-dev/rules_apko/releases/tag/v1.2.2 is out


Add (basic) support for Spread modes in PresentationMode (issue 14749)

Simplify the signature of BaseViewer._scrollIntoView and make the method private
In PR 14112 usage of this internal method was reduced, and it thus can't hurt to clean-up things a little bit more.
Note in particular that we can simplify the call-sites by directly passing in the already available PDFPageView-instance, since the id-property those contain can replace the previous pageNumber-parameter[1].
Given that the method name has always been prefixed with an underscore it was thus never intended to be "public", hence we can now enforce that with modern ECMAScript features.

[1] There's already a bunch of other spots, throughout the viewer-code, where we assume that the PDFPageView.id-property contains proper page numbers (and not e.g. indices); note how we initialize the PDFPageView-instances in the BaseViewer.setDocument-method.

Add (basic) support for Spread modes in PresentationMode (issue 14749)
After recent changes, adding basic Spread mode support in PresentationMode has now become reasonably straightforward.
However, documents with varying page sizes are non-trivial to handle and would require re-writing (or at least re-factoring) a bunch of the zooming-code.
Hence this PR purposely only allow Spread modes to be used, in PresentationMode, for documents where all pages have exactly the same size. While this obviously isn't a fully complete solution, it will however cover the vast majority of all documents and should hopefully be deemed good enough for now.

/botio-linux preview

Looks good!


Can't logout from Custom CCP with third-party-cookie phaseout

I am working on a custom CCP using Streams v2.7.2, with the embedded CCP set to hidden. In order to handle third-party cookies as per the instructions on this page, I have enabled Chrome's experimental feature test-third-party-cookie-phaseout. However, when attempting to logout from the CCP using the following code, but can't logout.
fetch("https://<xxxxxxxxx>/connect/logout", { credentials: 'include', mode: 'no-cors'})

It appears the request is being made without attaching any cookies.

How can I resolve this issue to ensure a successful logout from the CCP?
Is the only solution to utilize first-party cookies for logging out by opening the logout URL in a separate window?

@orihika0123  https://github.com/amazon-connect/amazon-connect-streams/issues/782 , I am trying to implement third party cookies phaseout and facing the issue shared in above line, can you please guide us how to implement this correctly.

@orihika0123, please make sure that you are also triggering the TERMINATE event. Please see: https://github.com/amazon-connect/amazon-connect-streams/blob/master/Documentation.md#logging-out

@andywang219 Thank you for the advice!
I tried adding a TERMINATE event trigger as follows:
connect.core.initCCP(ccpDiv, {
    ccpUrl: `https://${callCenterDomain}.my.connect.aws/ccp-v2#/`,
    region: 'ap-northeast-1',
    loginPopup: true,
    softphone: {
      allowFramedSoftphone: false,
      disableRingtone: false,
    },
    storageAccess: {
      mode: "custom"
    }
  })

connect.core.initSoftphoneManager({allowFramedSoftphone: true})

const logout = () => {
  fetch(`https://${callCenterDomain}.my.connect.aws/logout`, { credentials: 'include', mode: 'no-cors'})
    .then(() => {
      connect.core.getEventBus().trigger(connect.EventType.TERMINATE);
    });
}

Unfortunately, even with the trigger added, I couldn't log out.
When executing the logout fetch:

In the logout get process, all cookies are being filtered.
The reason for filtering appears to be cross-site context?

After fetch and reloading the page, I'm not logged out from the CCP(= The CCP launches automatically without any login action).
It seems that if I could delete the cookie from the browser, I would be able to log out. However, since the cookie has the httponly attribute, it seems I cannot delete it from within my code.

The environments I tested are:
Chrome versions: 117, 118, 119β
Experimental Flags: Storage Access API, Storage Access API permission UI, Test Third Party Cookie Phaseout all set to enabled.

I believe there might be a need for a new method in Amazon Connect Streams to log out of the CCP.
Without this method, the workaround might be to open the logout URL in a separate window, which is visible to the user. I'd like to avoid this as it degrades the user experience.


Check this out i have made a list full of courses

I saw your course list and thank you. I have made a list too if you want to share it with other. Just wanna help out 👯♂

what's the point of this pdf file?


use equality comparisons where possible

ILIKE queries in Postgresql can't use an index and are unnecessary in these simple cases.
All tests pass for all three databases.

I meant to mention - I don't know a lot about the performance implications for mysql or sqlite. If this needs to be put in a conditional to be postgresql only I'm happy to make that change.

It seems like you skipped ESCAPE, but it should be escaped. Please fix.

I'm confused about which escaping part you are referring to. I removed the escape_like call since this is no longer a LIKE query and so the % and _ characters don't have any special meaning. I removed the ESCAPE statement as without the escape_like clause we no longer need to use the ! as an escape character.
Let me know where the flaw in my logic is and I'd be happy to fix it.

+1 ILIKE is really slow on the larger databases and there's no way you can use index with it


#2417 Collapsible groups on target page

#2417 Collapsible groups on target page

Sorry, I missed  2628.


feat: self documenting test macro for layout tests ✨

This macro
assert_size![
    let (area, flex) = (100, StretchLast),
    Length(25) => (x == 0, size == 25),
    Length(25) => (x == 25, size == 75),
];

expands to
let area = 100;
let flex = Flex::StretchLast
let rect = Rect::new(0, 0, area, 1);
let constraints = [Constraint::Length(25), Constraint::Length(25)];
let intended_widths = [25, 75];
let intended_x = [0, 25];

let items = &Layout::horizontal().flex(flex).split(rect);
let widths: Vec<_> = items.iter().map(|item| item.width).collect();
assert_eq!(widths, intended_widths]);
let x: Vec<_> = items.iter().map(|item| item.x).collect();
assert_eq!(x, intended_x);

This makes it easier to read and tests and understand them without having to deal with whitespace or formatting.

Let's wait for @joshka's review before merging this since I know he had some opinions on how to do this.

I'd really suggest avoid making tests complicated like this. It looks neat, but it would be difficult to generally fix a test without intricate knowledge of the template macros. Let's instead find a way to get 90% of the same functionality with methods and super simple code.
Take this test:
        assert_size![
            // Proportional splits equally (widths only test)
            let (area, flex) = (100, Stretch),
            Length(25) => (x == 0, size == 50),
            Length(25) => (x == 50, size == 50),
        ];

We're testing that when you split an area of width 100, with stretch and two Length(25)s, then it returns two areas.
Something like this would keep the tests simple and obvious:
struct Split {
   start: u16,
   size: u16,
}

/// compute a list of splits for the size and constraint
fn splits(size: u16, flex: Flex, constraints: [Constraint]) -> Vec<Split> {
  let area = Rect::new(0, 0, size, 1);
  let items = &Layout::horizontal().flex(flex).split(rect);
  items.map(|item| SplitResult(start: item.x, size: item.width).collect();
}

This gives you simple tests, which are just as self describing as the onse above.
#[test]
fn proportional_splits_equally() {
  assert_eq!(
    splits(100, Stretch, [Length(25), Length(25)]);
    [Split { start: 0, size: 50 }, Split { start: 50, size: 50 }]
  }
);

I think the only thing missing here is that the constraint doesn't directly align with the start and position.
You might also do something like this:
fn splits<const N; usize>(size: u16, flex: Flex, constraints: [Constraint; N]) -> [Split; N] {
  let area = Rect::new(0, 0, size, 1);
  let layout = Layout::horizontal().flex(flex);
  let items = area.split(&layout);
  items.map(|item| SplitResult(start: item.x, size: item.width).collect();
}

#[test]
fn proportional_splits_equally() {
  let [length_1, length_2] = splits(100, Stretch, [Length(25), Length(25)]);
  assert_eq!(length_1, Split { start: 0, size: 50 });
  assert_eq!(length_2, Split { start: 50, size: 50 });
);

What do you think about this syntax:
assert_size![
    let (area, flex) = (100, Stretch),
    Length(25) => (start == 0, size == 50),
    Length(25) => (start == 50, size == 50),
];

but implemented as a one line macro_rule implementation that transforms to this:
assert_eq!(
    splits(100, Stretch, [Length(25), Length(25)]);
    [Split { start: 0, size: 50 }, Split { start: 50, size: 50 }]
}

That would make it easier to debug.
Alternatively, we can leave it the way it is right now with this:
#[case::splits_equally_to_end(
    100, Flex::Stretch,
    [Length(25), Length(25)],
    [(0, 50), (50, 50)]
)]

What I'd really love to do is this:
assert_layout!(
    Flex::Stretch,
    <-----------------40 px---------------->
    ┌──────20 px───────┐┌──────20 px───────┐
    │      Min(20)     ││      Max(20)     │
    └──────────────────┘└──────────────────┘
)

It would be more verbose to type it out but it would be fully visually self describing.

I'd still say that adding a macro for testing should be a last resort. It's added complexity, which is something that always makes tests worse.

That would make it easier to debug.

Show the errors that you get for both approaches. I'd bet the function approach has much easier to grok backtraces.

What I'd really love to do is this:

assert_layout!(
    Flex::Stretch,
    <-----------------40 px---------------->
    ┌──────20 px───────┐┌──────20 px───────┐
    │      Min(20)     ││      Max(20)     │
    └──────────────────┘└──────────────────┘
)

I'd still want quotes around the layout, but that seems probably doable using functions still.
I think flipping the the constraint and the pixels would make sense.
Simplifying it to something like:
assert_eq!(
   render_split(Flex::Stretch, [Min(20), Max(20)]),
   buffer!("
        <--40px------>
        | Min(20 ||Max(20)|
    "));

This introduces the buffer macro, but does so in a way where it's more widely useful. Not 100% sure on this. Ideally you'd want the output to make it easy to paste back into the tests directly (which makes test generation quick and comparing failures quick), and this breaks down that.


Infinite recursion in plugin force closes IDA

Greetings,
As I'm still getting the hang of using IDA and Ghidra together like this, it appears that certain functions I am sending to the IDA decompiler are force closing IDA. A dumpfile of 0 bytes is created, however, but that's not of much use.
The functions can consist of a lot of calls and branches, and perhaps trying to gather all the necessary information in IDA to transfer to Ghidra is causing an issue. Loading the binary in Ghidra itself seemingly allows the decompile of the same address function to work just fine, so I'm not sure how to diagnose this issue.

There is likely a bug in the interface.  The protocol is complicated enough as well as IDAs database information to make the whole thing non-trivial.
Usually the best option is to

Open the project with Visual Studio 2019 and make a Debug build.
Copy the debug build to the IDA folder.
Run IDA and open the database which has Ghidra configured.
Attach to process in Visual Studio, by choosing IDAs process idag.exe.
Hit F5 to run the decompilation and some exception which is not gracefully handled will come back which should give a useful stack trace and exact location in the code, and some intuition about what is happening.  Some unexpected XML field from Ghidra or what have you is common.

If you have a publicly available sample to reproduce the issue and I have some time I can also look into it.

I don't have the native IDA decompiler, so I use Ctrl+G here instead of F5.
Doing all this yielded a not so fruitful result:
Unhandled exception at 0x00007FFBB83E95A0 (dbgcore.dll) in ida.exe: 0xC0000005: Access violation writing location 0x00000005FA200FD0.
I'm going to begin testing conditions with a new database built from the same binary but with no pre-existing IDA information to see if the problem is still reproducible. The rabbit hole could get quite deep if it involves something in my already existing IDA database but if the problem can't be reproduced from a clean start it will be much harder to diagnose.

Sorry I meant Ctrl+G.  The exception is not helpful, but did you get a stacktrace?  The stacktrace is the key.  Its probably a bug you found, some error or protocol issue not being gracefully handled.  If we knew the line of code, it would be easy to fix.  It is strange that it doesn't reproduce though.  Certainly the code is not perfect, but it does work well in at least a reasonably large amount of cases, which is incredibly useful from within IDA rather than having to deal with Ghidra's Java UI.  If its an IDA version issue that is also something to note.

Ah yes, terribly sorry. I was using msys2 with cmake to build (Visual Studio gives errors for some reason) and forgot the install part does not copy the .pdb and .lib files. My mistake.
The break seems to happen here: https://github.com/GregoryMorse/GhidraDec/blob/1ff85b326c624f49c30d2d037814fadb001275fd/decompiler.cpp#L827
And offset in the Autos window seems to be ridiculously high at<PHONE_NUMBER>8967641292
As I am not entirely familiar with stack trace logs in Visual Studio, a bit of googling allows me to suspect it's the copy of the displayed output in the Call Stack window: stacktrace.log

That offset is >>> hex(14757395258967641292)
'0xcccccccccccccccc'
All 'c's is usually in a debug build for uninitialized memory.  But its an infinite recursion that is causing the issues.
Line 900 -> 976 -> 900 -> 976 -> etc.  Its a bug due to offset 0 occurring when it was chasing a pointer chain.

Line 976 should change (!checkPointer(offset, typeChain, deps)) to pass an extra parameter, bool dataChecked.  Then on line 900 it should do if (!dataChecked) lookupData()...
Such an infinite recursion should not be possible.  Apparently offset 0 is a valid pointer and has some type of fixup but Ive never seen or handled this case before.  But regardless infinite recursion must be fixed.  Thanks for the report.

So here's the thing, offset 0 is used in my IDA disassembly because I output as an ASM file and am able to refine it a bit to something that can be reassembled with gnu's assembler. The pointer is needed to differentiate MEMA and MEMB instruction formats for the assembler, however, it isn't needed just to browse the disassembly. I can simply change the pointer to the literal value 0 and this should not cause the infinite recursion.


Upgrade SonarQube base image version on v4.5.6

Upgrade will fix at least one issue related to Complexity broken charts.
They also change version of Java ( java:openjdk-8u45-jre ) and added security checks.
I checked on latest version of ADOP, everything looks working:

LGTM.
Going to merge this in so that Docker Hub builds the latest version, once that's available can you verify it works please and once confirmed I'll tag the new release ready for the Compose file?
Thanks!

@nickdgriffin tested with the latest version of Compose file ( commit cbc23899640b7a6ba7bb12398dab6987cfd9ea87 ) :
-  image: accenture/adop-sonar:0.1.0
+  image: accenture/adop-sonar

Everything works fine.

Great, thanks for testing!
I've created the release, it should appear in Docker Hub relatively soon. Can you submit a PR on adop-docker-compose once the image is available please?

done


[New Icons] lunancy, ren'py, inkscape, podman, lxc, jupyter, render, githubpages, jekyll, leaflet, open source, api, terminal, lighthouse, llamaindex, element plus, tomcat, prime vue, pm2, pl/sql, oracle db

Add New Icon(s)
Icon Details

Icon ID
Icon

lunacy

renpy

inkscape

podman

lxc

jupyter

render

githubpages

jekyll

leaflet

opensource

api

lighthouse

llamaindex

elementplus

tomcact

primevue

pm2

plsql

oracledb

Notes
closes #153, closes #155, closes #156, closes #157, closes #158, closes #160, closes #164, closes #165, closes #166, closes #168, closes #163
Checklist

[x] Added icon(s) to the appropriate directory
[x] Updated documentation with the new icon(s)
[x] Verified the icon(s) display correctly
[x] If the icon has light and dark, verified the auto switch works correctly

Could you make the logos (from, lxc, jupyter & renpy) a lot more around the 200px ? else I think they are too big (or too small), idk.

yes

oracle is already in it... for render light, plz use #131313 instead of pure black. It would be interesting for the future, to make less icons in one PR, it make a lot to review...

done

I'm going to approve for now, but I'm going to make some changes for sure on some of them

lxc have strokes


Add Igor Bezukh to test approvers

Signed-off-by: Igor Bezukh<EMAIL_ADDRESS>Release note:
NONE

/cc @rmohr

/lgtm

/approve

/retest

Since CI is still flaky and this was part of a larger batch which failed on an unrelated issue where I have goo test insight, merging this to reduce the queue.


support macos options(aka alt) key to work well with zellij

OS: MacOS 13.6.6
multiplexer: zellij
When using Zellij with Ghostty, the alt key is mapped to the wrong action. I'm unsure which mapping is being used, but this appears to be a bug in Ghostty. I'm going to review the docs to see how I can fix this, but if the maintainers can help, I would really appreciate it.
Recreate:
cargo install zellij
zellij
ctrl+p  -> n
options+arrow keys open a floating window instead of moving between panes.
related to: https://github.com/zellij-org/zellij/issues/265

did you found a possible fix? @qballer


⚠ Fortnite has degraded performance

In 49ff740, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1445 ms

Resolved: Fortnite performance has improved in e14c31d.


AzureSiteRecoveryProvider.exe Error

Hi, when I was running AzureSiteRecoveryProvider.exe on my Hyper-V host, I got the following error message:
Setup cannot proceed as no compatible product was found :-
To install on HyperV server, ensure that Hyper-V role is enabled and server is not acting as Domain Controller
To install on Configuration Server, ensure that installation is performed on machine with 'Microsoft Azure Site Recovery Configuration/Process Server' installed.
To install on VMM server ensure that VMM Server 2012 R2 and above is present on the machine

My Hyper-V host is also a domain controller. So how can I migrate my VMs to Azure?

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

ID: 0f6cf488-07d3-1b2b-69f2-f04c7890bd55
Version Independent ID: fd658be4-17c5-19c7-b6c9-630090880c3c
Content: Migrate on-premises Hyper-V VMs to Azure with Azure Migrate Server Migration
Content Source: articles/migrate/tutorial-migrate-hyper-v.md
Service: azure-migrate
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

@a00012025 Thanks for your question. We are checking on this and will respond to you soon.

@a00012025 This scenario is not supported. You cannot have a host which is also a domain controller. As a workaround, you can treat the VMs as if they were physical machines and use that to replicate.
We will close this issue for now. Please tag me in you reply if you've further questions in this matter.

@SadiqhAhmed-MSFT I am also facing the same issue. I have checked my VM is not a domain controller but I am not sure how I can achieve point 2 and how can i check point 3 of the error. ANy advice?


Update stable region PR to latest master branch.

@crusso This is the PR that we made together during our call.

Merges with master, as of today.
In particular, brings default.nix into sync with master.
Resolves merge conflicts between master and multiple-stable-memory.

You don't need approval to merge into your own branch, btw.
The CI is failing coz of an unused declaration in compile.ml:
 > File "codegen/compile.ml", line 5123, characters 6-17:
       > 5123 |   let read_word32 env =
       >              ^^^^^^^^^^^
       > Error (warning 32 [unused-value-declaration]): unused value read_word32.

Prefixing the name with _ should silence the warning and let CI go further.


Freeze encoder

Hi, thanks for your wonderful work! I have a question that SAM-adapter freezes the image encoder which is described in the paper. But I see that although the freeze code is provided, they are not runned. Whether is it necessary to freeze image encoder. Thanks!

As we mentioned in our manuscript, our approach involves an adaptation method that eliminates the need for lengthy fine-tuning.  It's possible to fine-tune the SAM on your specific task without freezing the image encoder and also utilize the adapters' input.

As we mentioned in our manuscript, our approach involves an adaptation method that eliminates the need for lengthy fine-tuning. It's possible to fine-tune the SAM on your specific task without freezing the image encoder and also utilize the adapters' input.

where to state freezing the image encoder

Hi, thanks for your wonderful work! I have a question that SAM-adapter freezes the image encoder which is described in the paper. But I see that although the freeze code is provided, they are not runned. Whether is it necessary to freeze image encoder. Thanks!

Hi.Where's the code for the freeze encoder.Could you please tell me


Add Prometheus metrics

Since #184 has been abandoned, here is my take on adding Prometheus metrics.
It exposes something like:
mochi_co_mqtt_info{version="2.2.6",goversion="go1.20.2"} 1
started<PHONE_NUMBER>
time<PHONE_NUMBER>
uptime 456
bytes_received 0
bytes_sent 0
clients_connected 0
clients_disconnected 0
clients_maximum 0
clients_total 0
messages_received 0
messages_sent 0
messages_dropped 0
retained 0
inflight 0
inflight_dropped 0
subscriptions 0
packets_received 0
packets_sent 0
memory_alloc 2998272
threads 7

I made a couple of decisions, which could be challenged:

don't add external dependencies (since the metrics format is quite simple, I don't think that this is needed)
use reflection, so that any change to the system.Info struct is automatically exposed on /metrics
export a WriteMetrics method (since I intend to push the metrics to VictoriaMetrics, instead of pulling)

@thedevop maybe you have any feedback, since you authored #184

Thanks @oliverpool. This is nice way of exporting metrics in Prometheus format without the use of Prometheus library, and should be suffice for people that uses the standalone application. However, for those that embed this module in their own application, most likely they're already using Prometheus library if they're exporting Prometheus metrics, and #184 integrates well with that.
@mochi-co , it comes down to if you prefer not using Prometheus library for standalone broker app or a unified solution for those that embed this as a module.

I agree with @thedevop here, there are cases (majority?) when mqtt server is just a part of bigger piece, which probably already have metrics exposed.
I would just add mqtt metrics as part of prometheus lib, and user can extend this with his custom metrics.

This PR is somewhat out of date now. I would recommend that we discuss it as a group and co-author @oliverpool if any of these changes are applied. I will close the PR for now - however note that it's not an indication of the code quality or functionality, which is otherwise very good. @oliverpool I'm sure we would all be grateful if you provided your experience in future discussions around this topic in https://github.com/orgs/mochi-mqtt/discussions/280#discussioncomment-6755593


Don't review a file if its signing failed (bug 1156333)

Fixes bug 1156333
The current iteration simply makes sure that if there's any failure while signing, it bubbles up to the user (as a "OOPS" page). The important point here is that the addon/version/file isn't reviewed if the signing failed, giving the opportunity to re-review it (and have it signed) at a later point if the signing is fixed.

r+wc

I'm not going to merge this one yet to avoid too many merge conflicts when cherry-picking commits for the current tag that is in production.

Closing this: most of the work needed (removing the try/except) was done in https://github.com/mozilla/olympia/commit/8d6f0ba353a5eabe236a16c88b1371e8d6bd0389
All is left here is code cleanup/refactoring, but we're already nearly done and we've already used the current code to do all our bulk signing and QA tests on -dev and stage. Refactoring now would imply doing all that again. Maybe in the future.


WololoGoal purpleSheepPredicate is named wrongly

The purpleSheepPredicate actually checks if the sheep is blue.

What it's doing is checking if the original colour combined with the new colour makes purple.

@MAX1234567890 that can't be the case. It is a predicate on a sheep not two colors.

The second colour is always red. Hence it checks sheep->colour + red == purple (ie sheep->colour == blue)

Although that is true it is a misleading way to put it.
      private final TargetPredicate purpleSheepPredicate = (new TargetPredicate()).setBaseMaxDistance(16.0D).includeInvulnerable().setPredicate((livingEntity) -> {
         return ((SheepEntity)livingEntity).getColor() == DyeColor.BLUE;
      });```

The second colour is always red. Hence it checks sheep->colour + red == purple (ie sheep->colour == blue)

That is a complete misunderstanding of the game's logic.
That TargetPredicate is used to test if the evoker should wololo the sheep, i.e. the Sheep MUST be blue:
List<SheepEntity> list = EvokerEntity.this.world.getTargets(SheepEntity.class, this.purpleSheepPredicate, EvokerEntity.this, EvokerEntity.this.getBoundingBox().expand(16.0D, 4.0D, 16.0D));
if (list.isEmpty()) {
    return false;

Also a further look into the goal shows the sheep is never meant to turn purple, but red as shown in castSpell

I know it doesn't turn purple, but the predicate, already knowing the sheep will turn red, checks if the original colour of the sheep combined with the new colour of the sheep is purple.  Basically, the evoker is using a { return purple - x; } construction, but the evoker's favourite colour is red, so he only wants to turn sheep red. so he has to make sure that red = purple - the original colour, i.e. the colour is blue.
http://www.clipartbest.com/cliparts/aiq/Mb5/aiqMb5AiM.jpeg

Hmm, is there anything documenting that specific backstory? wiki for example?

Not directly, but given that a) it is officially stated that Evokers built redstone and b) the fact that Vexes are red as well is what lead me to that conclusion.

This should be put in documentation not the actual name.

Lol why the heck are you concerned about implementation details if the implementation details are confusing and not helpful. Just call it convertibleSheepPredicate, why are you going to brainfart about a color nonsense
Also blame mezz for this thing. Yarn has been much smarter since luckily, naming things in more efficient ways.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff-b6376ebd10e80e5e322fb28f766d47c4R44

The details aren't confusing and its very clear what is being done though. It checks if the sheep is blue.


[0.56.0-rc-2] Decorator support broken

Environment
Run react-native info in your terminal and paste its contents here.
React Native Environment Info:
    System:
      OS: macOS High Sierra 10.13.4
      CPU: x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
      Memory: 148.02 MB / 16.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 8.11.2 - /usr/local/bin/node
      Yarn: 1.6.0 - /usr/local/bin/yarn
      npm: 6.1.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 11.3, macOS 10.13, tvOS 11.3, watchOS 4.3
    IDEs:
      Android Studio: 3.0 AI-171.4443003
      Xcode: 9.3.1/9E501 - /usr/bin/xcodebuild
    npmPackages:
      react: ^16.3.2 => 16.4.1
      react-native: ^0.56.0-rc.2 => 0.56.0-rc.2
    npmGlobalPackages:
      eslint-plugin-react-native: 3.2.1
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

Description
After upgrading to RN56, I am receiving a red screen for error:(...node-modules/react-native-Libraries/react-native/react-native-implementation.js: Cannot find module 'react-native-stage-0/decorator-support'....
My .babelrc file is as follows and worked on previous versions:
{
  "presets": [
  	"react-native",
  	"react-native-stage-0/decorator-support"
  ],
  "plugins": [
    "transform-decorators-legacy"
  ],
  "sourceMaps": true
}

Dev deps in package.json
  "devDependencies": {
    "babel-eslint": "^8.2.3",
    "babel-jest": "21.2.0",
    "babel-preset-react-native": "5.0.2",
    "babel-preset-react-native-stage-0": "^1.0.1",
    "eslint": "^4.19.1",
    "eslint-plugin-eslint-comments": "^2.0.2",
    "eslint-plugin-flowtype": "^2.49.3",
    "eslint-plugin-jest": "^21.17.0",
    "eslint-plugin-prettier": "^2.6.0",
    "eslint-plugin-react-native": "^3.2.1",
    "jest": "21.2.1",
    "react-test-renderer": "^16.4.1"
  },

Reproducible Demo
Use provided .babelrc on a 0.56.0-rc2 project
react-native init example --version="0.56.0-rc.2"
cd ./example
yarn add --dev babel-preset-react-native-stage-0

RN 0.56 uses babel 7, but babel-preset-react-native-stage-0 clearly depends on babel 6, see: https://github.com/skevy/babel-preset-react-native-stage-0/blob/master/package.json#L10-L18
It will not work )

I solved this by using
"babel-plugin-transform-decorators-legacy": "^1.3.5",

and
"plugins": [
    "transform-decorators-legacy",
]

In my .babelrc file.

@alexwasner OK to close this issue?

@jshearer
No, you should @babel/plugin-proposal-decorators for babel 7. The plugin you use was for babel 6

This is not a bug caused by the changes in the default config.
It’ll be impossible to account for custom configs since it’s certain that some third party plugins will break in babel 7, and it’s up to the plugin authors to fix them/users to change their config.
And thanks to suggestions from @jshearer and @fwh1990 I think we can close this but not lock for a bit.


Change the documentation example for partition_compaction_key_field

Change the example for partition_compaction_key_field to include the  table alias. (the table alias in example query is payload)

:+1:

:+1:

:+1:

:+1:


Button Integration rather than hacked text string?

Any plans to update this mod with a proper button to trigger the Weather Block condition of a selected drawing rather than have to use hacked text string?

not really, since the module has been basically copy pasted into fx master it only exists for the automatic weather blocking with levels\better roofs