Elasticsearch metrics DAG

Fixes

Fixes #564 by @AetherUnbound
Description

This PR adds a DAG which captures Elasticsearch metrics for the 72 hours prior to the schedule interval and reports them to slack.
I also took this opportunity to use the TaskFlow API for Airflow - it made the actual DAG definition so much simpler! Super useful when all of your steps would otherwise be PythonOperators.
Additional notes

This adds a few new variables/connections. With the way this is set up though, nothing (should) need to be modified in production besides adding the ES_INSTANCE_IDS Variable.
This adds a new python package (PIL) in order to perform some image manipulation. This means we'll need to publish and deploy a new Docker image in order to actually run this DAG. We could do this as a specific commit, or we could cut and release v1.3.1.
This adds a new bucket to S3, openverse-airflow. This bucket can be used for Airflow entities that don't explicitly relate to the catalog (since openverse-catalog almost exclusively has TSVs in it). I've added this bucket by hand for testing, but I recognize that it should probably have a follow-up in the infrastructure repo. @sarayourfriend do you have any insight on where it'd be best to put that?
I tried to make the DAG agnostic to the number of metrics we're gathering, in case we want to add more in the immediate future.

Screenshots
DAG

Slack Message

Testing Instructions

In order to test this DAG locally, you will need to set the following variables in your .env file:
AIRFLOW_VAR_ES_INSTANCE_IDS=i-00e708a227372b51b,i-0e609c909948a7a02,i-075774d799a0da4b3
AIRFLOW_CONN_AWS_METRICS=aws://<your-key>:<your-secret-url-encoded>@?region_name=us-east-1
AWS_METRICS_CONN_ID=aws_metrics

Note: The metrics connection must use your actual AWS credentials, otherwise the DAG will not be able to retrieve metrics from CloudWatch. The secret key must be URL encoded as well, you can do so with this command:
python -c 'import urllib.parse; safe_string = urllib.parse.quote_plus("<your-secret>"); print(safe_string)'

Once this is set up, run just up and turn on the DAG! The DAG should kick off a run on its own. This will generate a PNG from the metrics and upload it to your local Minio instance. You can view the generated PNG once the DAG is complete by navigating to http://localhost5011 and going to openverse-airflow/metrics/elasticsearch/<date>/es-metrics.png and then click "Preview".

Checklist

[ ] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Sure! Elasticsearch is consistently my greatest question mark and source of unknowns. Having anomaly detection is great, but the sustained erratic behavior we're seeing sort of constitutes a persistent anomaly. I am hoping that these graphs will let us see if/when that situation changes, and a snapshot into the health of our cluster. I'm foreseeing that most of the posts won't necessitate any intervention, and (ideally!) we'll turn this off once we've stabilized ES performance at a consistently lower level. It's not my desire to have this in perpetuity, but this make me personally feel a lot better because I get to see a picture of "what's happening with Elasticsearch today" (and so does the rest of the team). I could certainly go and check the dashboard every day for that information; for myself, I find the "push" aspect of slack notifications to be more beneficial for this particular case because it happens without me having to think about it.

So, I have lots of questions about this still and I wrote a long comment asking them all. I don't think that's necessarily the most helpful, but I can share those questions later if necessary.
My primary questions relates to these sentences:

[...] but this make me personally feel a lot better because I get to see a picture of "what's happening with Elasticsearch today" (and so does the rest of the team). I could certainly go and check the dashboard every day for that information; for myself, I find the "push" aspect of slack notifications to be more beneficial for this particular case because it happens without me having to think about it.

One of the daily tasks of the mini-support rotation role that we've recently implemented is to check the CloudWatch overview dashboard. That dashboard includes the graph in question in this PR.
Is the MSR's attention insufficient for the coarse grained monitoring we're promoting with this? If so, why?
Part of my understanding of the MSR role is to reduce the noise and ambiguity for other folks on the team. Pushing an image of a graph into an already heavily used notifications channel seems to go against the intentions of the MSR role.

A firehose channel would make something like this less worrisome to me. I would probably silence it with the assumption that the MSR is monitoring it for any aberrations. However, then I still don't understand the point as it seems like a real-time and up-to-date dashboard is more relevant than this kind of thing.
I will leave it to other folks to discuss further. I've shared my thoughts, I don't think I have more to add :+1:

I think that the circumstances we find ourselves in regarding ES usage are exceptional, and I think this would be good information for the whole team in addition to MSR monitoring. I don't see this being a permanent fixture and I fully agree that alarms would be more ideal.
I also wonder if an Airflow-specific notifications channel might make more sense as well, particularly as we get more reporting. Or perhaps even something like #openverse-data-notifications - this could serve as a place for the ingestion load messages as well as data refresh updates and any other reporting we want to add that doesn't fit alarms/general notifications. I'm interested in hearing what other folks think 🙂

I like the idea of having a #openverse-airflow-notification or #openverse-data-notifications channel for this kind of thing. I also think we can benefit from having these metrics in Slack during this exceptional period, it's more accessible there, and maybe even other experienced folks can see a trend and give some hints.

Is the MSR's attention insufficient for the coarse grained monitoring we're promoting with this? If so, why?
Part of my understanding of the MSR role is to reduce the noise and ambiguity for other folks on the team. Pushing an image of a graph into an already heavily used notifications channel seems to go against the intentions of the MSR role.

The MSR role is to catch (almost) all the glue work, it makes certain things easier for the rest as a side effect, but ES CPU usage requires further investigation that is out of the scope of this role, will be convenient that more than one person from the team is monitoring.
Moreover, it's only an image, so I'm less concerned given this is temporary. Will it be running daily? Maybe every other day is a better schedule, given it reports the last 3 days?

I don't know how to interpret the images, so I would prefer for this message to go to a separate channel such #openverse-data-notifications. Or at least to document the criteria for when this DAG becomes obsolete and can be turned off.

I'm going to close this, we've got some new alerting thanks to @sarayourfriend which will tell us when ES CPU drops. That should cover the case this DAG was trying to cover well enough, and we can always revisit this down the line as well. If nothing else, it can be a good reference for the TaskFlow API in the future!


Document storage compatibility

See forward and backward compatibility remarks in https://duckdb.org/2024/02/13/announcing-duckdb-0100.html#backward-compatibility

Duplicate of #2040


fix: bug with alias relation ... not being implicitly defined

Fixes the issue reported in #39

Codecov Report

Merging #41 (e2e5dec) into master (b751a2a) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
+ Coverage   77.94%   77.96%   +0.01%
==========================================
  Files           8        8
  Lines        1147     1148       +1
==========================================
+ Hits          894      895       +1
  Misses        189      189
  Partials       64       64

Impacted Files
Coverage Δ

internal/access-controller.go
75.90% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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


Backport STM32 SMPS Support to v2.7.0

Describe the bug
STM32H7 based boards require SMPS configuration to work propserly (cf https://github.com/zephyrproject-rtos/zephyr/issues/34732).
To address this issue, a series of PR were merged in main branch.
Some of these PR were not strictly identified as bug fixes but are required to fix the global issue.
These PR should be also merged in V2.7.0 branch in which the same issue is present.
Current issue is raised to ease the follow up of the PRs backporting into V2.7.0 branch.

Branch
Main
V2.7

PR1
#39555 [x]
#41267 [ ]

PR2
#40862 [x]
NA [ ]

PR3
#41087 [x]
NA [ ]

PR4
#41105 [x]
NA [ ]

@cfriedt

@cfriedt I've created this PR to clarify backport request for this whole topic on V2.7.
For now there's only #41267, but as you see there are more to come that will raise the same concern.
I hope this helps.
@belolap FYI


H713A Space Heater

Govee Device SKU
H713a
Govee2MQTT Version
2024.01.10-8beb67bb
Describe the issue
For my second heater I have those command :

I think the label are not good. I try to play with but noting happen.
Startup Diagnostics
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
GOVEE_API_KEY=REDACTED
GOVEE_MQTT_HOST=core-mosquitto
GOVEE_EMAIL=REDACTED
GOVEE_PASSWORD=REDACTED
GOVEE_MQTT_PASSWORD=REDACTED
GOVEE_MQTT_USER=addons
GOVEE_MQTT_PORT=1883
++ cd /app
++ exec /app/govee serve
[2024-01-11T10:51:44 INFO govee::commands::serve] Starting service. version 2024.01.10-8beb67bb
[2024-01-11T10:51:44 INFO govee::commands::serve] Querying platform API for device list
[2024-01-11T10:51:44 INFO govee::commands::serve] Querying undocumented API for device + room list
[2024-01-11T10:51:45 INFO govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted.
[2024-01-11T10:51:45 INFO govee::commands::serve] Starting LAN discovery
[2024-01-11T10:51:45 INFO govee::commands::serve] Waiting 10 seconds for LAN API discovery
[2024-01-11T10:51:45 INFO govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted.
[2024-01-11T10:51:55 INFO govee::commands::serve] Devices returned from Govee's APIs
[2024-01-11T10:51:55 INFO govee::commands::serve] Radiateur salon (CB:49:60:74:F4:9B:3A:DA H713B)
[2024-01-11T10:51:55 INFO govee::commands::serve] Platform API: devices.types.heater. supports_rgb=true supports_brightness=true
[2024-01-11T10:51:55 INFO govee::commands::serve] color_temp=None segment_rgb=None
[2024-01-11T10:51:55 INFO govee::commands::serve] Undoc: room=None supports_iot=true ble_only=false
[2024-01-11T10:51:55 INFO govee::commands::serve]
[2024-01-11T10:51:55 INFO govee::commands::serve] H5075_B559 (12:F0:A4:C1:38:2F:B5:59 H5075)
[2024-01-11T10:51:55 INFO govee::commands::serve] Undoc: room=None supports_iot=false ble_only=true
[2024-01-11T10:51:55 WARN govee::commands::serve] Unknown device type. Cannot map to Home Assistant.
[2024-01-11T10:51:55 INFO govee::commands::serve]
[2024-01-11T10:51:55 INFO govee::commands::serve] Radiateur bureau (19:88:60:74:F4:0C:0F:44 H713A)
[2024-01-11T10:51:55 INFO govee::commands::serve] Platform API: devices.types.heater. supports_rgb=false supports_brightness=false
[2024-01-11T10:51:55 INFO govee::commands::serve] color_temp=None segment_rgb=None
[2024-01-11T10:51:55 INFO govee::commands::serve] Undoc: room=None supports_iot=true ble_only=false
[2024-01-11T10:51:55 INFO govee::commands::serve]
[2024-01-11T10:51:55 INFO govee::service::http] http server addr is <IP_ADDRESS>:8056
[2024-01-11T10:51:58 ERROR govee::hass_mqtt::light] Unable to list scenes for Radiateur salon (CB:49:60:74:F4:9B:3A:DA H713B): list_scene_names: get_scene_caps: request https://openapi.api.govee.com/router/api/v1/device/scenes status 200: OK: parsing https://openapi.api.govee.com/router/api/v1/device/scenes response: Failed with status 400 Bad Request Bad Request: Request to https://openapi.api.govee.com/router/api/v1/device/scenes failed with code 400 Bad Request devices not support this instance. Full response: {"requestId":"uuid","msg":"devices not support this instance","code":400,"payload":{"sku":"H713B","device":"CB:49:60:74:F4:9B:3A:DA"}}
[2024-01-11T10:51:58 WARN govee::hass_mqtt::enumerator] Do something about Mode nightlightScene for Radiateur salon (CB:49:60:74:F4:9B:3A:DA H713B) DeviceCapability { kind: Mode, instance: "nightlightScene", parameters: Some(Enum { options: [EnumOption { name: "Fire", value: Number(1), extras: {} }, EnumOption { name: "Rainbow", value: Number(2), extras: {} }, EnumOption { name: "Cadence", value: Number(3), extras: {} }, EnumOption { name: "Leisure", value: Number(4), extras: {} }, EnumOption { name: "Asleep", value: Number(5), extras: {} }] }), alarm_type: None, event_state: None }
[2024-01-11T10:51:58 WARN govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Radiateur salon (CB:49:60:74:F4:9B:3A:DA H713B) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: true }] }), alarm_type: None, event_state: None }
Additional Logs
No response
Home Assistant Logs
No response
Anything else?
No response

Seems mine doesn't want to be controlled:
Here is some additional info from the log :
[2024-01-12T11:57:39 WARN  govee::hass_mqtt::enumerator] Do something about TemperatureSetting targetTemperature for Office Heater (1C:A9:00:00:00:00:00:00 H713A) DeviceCapability { kind: TemperatureSetting, instance: "targetTemperature", parameters: Some(Struct { fields: [StructField { field_name: "autoStop", field_type: Enum { options: [EnumOption { name: "Auto Stop", value: Number(1), extras: {} }, EnumOption { name: "Maintain", value: Number(0), extras: {} }] }, default_value: Some(Number(0)), required: false }, StructField { field_name: "temperature", field_type: Integer { unit: None, range: IntegerRange { min: 5, max: 30, precision: 1 } }, default_value: None, required: true }, StructField { field_name: "unit", field_type: Enum { options: [EnumOption { name: "Celsius", value: String("Celsius"), extras: {} }, EnumOption { name: "Fahrenheit", value: String("Fahrenheit"), extras: {} }] }, default_value: Some(String("Celsius")), required: false }] }), alarm_type: None, event_state: None }
[2024-01-12T11:57:39 WARN  govee::hass_mqtt::switch] CapabilitySwitch::notify_state: Do something with DeviceCapabilityState {     kind: Toggle,     instance: "thermostatToggle",     state: Object {         "value": String(""),     }, }

After a few restarts of the addon it showed 0.73 °C  (seems to be Fahrenheit ... should be 23C)

The error about listing scenes should be resolved in the latest version of the addon.
The rest need attention and/or reverse-engineering; see the other open space heater issues for more context.

The latest version of the addon has some logic that may resolve the temperature readings. Please let me know how you get on with it!

Yes the temperature is OK !

The oscillation toogle woks quite well (sometimes return to on when I ask OFF)
The mode doesn't work and the thermostat toggle too.

Please share logs from the things that aren't working

Mode is OK with the 2024.01.15-fba50505

Seems the Temp in Celsius is rounded to the closest .5 in the Govee Home App
The Thermostat switch doesn't seem to work yet.
Thermostat might need to be a climate. entity :D
If you need help debugging etc. Let me know.
Seems you have 2 guineapigs with this unit now :D

Temperature related entities have changed in the latest version of the addon.
There are some steps you need to take when upgrading:

Delete any devices that have temperature sensors or controls
Stop the addon/docker container
Ensure that you have set the new temperature scale configuration to your preference
Start the addon/container again.

If your device has a temperature reading, there is now only a single sensor entity that will report the value using the temperature scale that you configured with govee2mqtt. (There isn't a simple way to automatically get this from hass).
If your device has a temperature control, there should now be a number entity that will allow you to set the temperature.
It will use the temperature scale that you configured with govee2mqtt.

This one is also 1 degree off, and setting the temperature is not available in HA.
You can set the thermostat in the App.
Also Oscillate jumps back to it's previous setting as does the power button. which is a bit weird (and the app doesn't show it's off)

Please try the latest version.
re: states reverting to earlier values; it sounds like a bug in Govee's platform API where it doesn't always report the state correctly.

Current view from HA & App (after requesting an API sync)

Thermostat state is not polled ?
If you need some specific debugs ... let me know ...

Here I change the température from 21 to 22 :
[2024-01-17T13:05:10 INFO  govee::hass_mqtt::climate] Command: set-temperature for CB496074F49B3ADA: 22 [2024-01-17T13:05:10 INFO  govee::service::state] Using Platform API to set Radiateur salon (CB:49:60:74:F4:9B:3A:DA H713B) target temperature to 22°C [2024-01-17T13:05:10 ERROR govee::service::hass] While dispatching Message { topic: "gv2mqtt/CB496074F49B3ADA/set-temperature/targettemperature/°C", payload: "22", qos: AtMostOnce, retain: false, mid: 0 }: device has no targettemperature

the "device has no targettemperature" error should be fixed in the latest version.
For the thermostat toggle: if it didn't change then it is a bug in the govee platform API; the logs show that the request to change it was successful, at that point it is up to govee to actually do what they said they were going to do.


Add cmake icon

Changes proposed:

[X] Add
[ ] Prepare
[ ] Delete
[ ] Fix

Things I've done:

[ ] My pull request fixes an issue, I referenced the issue.

The cmake icon is applied to these files:

CMakeLists.txt
CMakeCache.txt
*.cmake

@jens1o what's the problem?

@jens1o I've made another commit to fix the order : b3fe8675f11220b0927646076fe31109b369836d

I just looked after the differences in the line deleted and the line added.... There was no difference between them. Until I realized the order itself had been changed ^^

Guys, the ordering is trivial. The build process assures that the list is sorted.

But it makes the file more readable, don't it?

It's for readability purposes.


import leading to a "Uncaught ReferenceError: require$$0$3" on build

I am currently trying to convert my application to LightningJS and we are using dependencies from a private registry. When I try to import like usual everything seems fine but when I create the build I get "Uncaught ReferenceError: require$$0$3" in the browser. Our import statements seem to work with all other packages so I assume it's coming from a conflict in the module and the way the babel is configured. When I check the module from the private registry there's some lint that says "File is a CommonJS module; it may be converted to an ES6 module." Also, these modules are typescript compiled into JS so I am also unsure if the issue could be coming from there. I know this is a really niche issue so I appreciate any communication about it. Thanks!

Hi @calebabratton,
Without more context on your project and its environment, or a way to reproduce this issue I'm unable to help I'm afraid. Are you using Babel in conjunction with tools like webpack?
Best regards

@g-zachar I understand, thanks for reaching out. I guess the main issue we are running into is that one of our dependencies is made up of commonJS modules. Currently we are just using the built in babel from lightningJS. Can it be as simple as adding a babelrc with the configuration to allow for commonjs modules & es modules?


Introducing Docker based golang build environment

Hey @eriknordmark @deitch and @kalyan-nidumolu -- please take a look at the new workflow I cooked up.
This is the result of a total frustration with golang and trying to make it build out of tree. From now on, we don't have to play weird games with symlinks and also try to build native bits on Mac OS. The solution from now on is: make shell. When you type this, it will (very quickly -- unlike make build) drop you into a linux environment where go will "just work" with go-provision code since everything is preset just right.
As you can see, I also migrated targets like make test and make vendor to this new infrastructure since it makes everything much more robust and straightforward.
Please try it out and let me know if it works for you

This appears to be getting rid of the mess that is src/vendor/ and strange symlinks. I really like that.
Some comments, mostly inline in the code.

GOVER ?= 1.12.3
DOCKER_GO = docker run -it --rm -u $(USER) -w /go/src/$(GOMODULE) \
	  -v $(CURDIR)/.go:/go -v $(CURDIR):/go/src/$(GOMODULE) -v $${HOME}:/home/$(USER) \
	-e GOOS=linux -e GOARCH=$(ARCH) -e CGO_ENABLED=0 golang:$(GOVER)

# many skipped lines

$(BINDIR):
	mkdir -p $(BINDIR)

build: $(APPS) $(APPS1)
	@echo $(BUILD_VERSION) >$(BINDIR)/versioninfo

$(APPS): $(BINDIR)
	@echo $$app
	@$(DOCKER_GO) go build
	-ldflags -X=main.Version=$(BUILD_VERSION) \
		-o $(BINDIR)/$$app github.com/zededa/go-provision/$$app

$(APPS1): $(BINDIR)
	@echo $$app
	@rm -f $(BINDIR)/$$app
	@ln -s $(APPS) $(BINDIR)/$$app

shell:
	@$(DOCKER_GO) $(SHELL_CMD)

This is not perfect, needs some debugging, but gets the idea across. It also eliminates the for loops in favour of targets (and lets you build just one thing, if it makes you happy).

If you wanted, you even could support both local and dockerized builds with build and build-local (or build and build-docker, depending on which you want to consider default) targets.

Once we have this cleaned and then merged in, I will work on swapping it out to go modules.

@deitch love your replacement for build -- how about you send a PR once I commit this one?
@eriknordmark docker build  and make build-docker remain 100% the same. This is actually orthogonal to this change since they are more for production use and this PR is more for edit-compile-debug cycle.
Makes sense?

love your replacement for build -- how about you send a PR once I commit this one?

You got it.

@deitch I pushed this PR. Please submit the PRs you've mentioned.


Bump compass to master-3a1554f2

Description
Bump to include https://github.com/kyma-incubator/compass/pull/1462 and also to be align with current master version.

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


Fixed build for modern macOS and GCC

Fixed build bug for macOS (version 10.13.6, macOS High Sierra). Ypsilon can now be build with GCC 9.2.0 or Apple LLVM version 10.0.0 (clang 1<IP_ADDRESS>).
Also added a .gitignore file to avoid commits of generated artefacts.

Thanks for the fixup, will be checking out! Sorry for the delay, I didn't quite get the notification for it.
I forked this from Google Code to preserve, have to check whether this is a good place to maintain this code.

This doesn't seem to work on latest macOS (12.3.1, Monterey), as 32bit support is no longer (fully) there.

@imrehg: Unfortunately I only have access to macOS 10.13.6, on my good old macbook air from 2011. Hence, I can not test nor fix any issues on a never macOS (because I can not upgrade macOS anymore -- the macbook air 2011 is stuck on metal fro graphics and Apple does not support it anymore in newer macOS).
But I am sure there are new build issues. Emphasis on new.
I assume, that this pull request's fixes are anyway required.
I can't say what is best for you to progress: accept the pull request or not. My feeling is, to accept it and then look forward to fix the new issues. A lot of time passed since I made the request.
Btw, just as side note: I am regularly checking Ypsilon in my RACR library builds. It passes fine (on the old macbook air 2011).

I just build on my old macbook air 2011 with macOS 10.13.6 anew with gcc 11.2.0.
It works fine.


Write support?

Interested in using this crate but it is a bit unergonomic to having to resort to a different crate to write the bit patterns and then switch to this to read them

Makes sense, I experimented with the writer API a few years ago. Does this API look desirable? If so, I can look to resurrect it. https://github.com/nickbabcock/bitter/compare/master...io#diff-3e344dc31cd763c82ee7b32eb4d1423b17150a15ade513ff4ab002bdad81ff47

Looks ok mostly. These two look a bit weird:
    pub fn write_bits(&mut self,  bits: i32, value: u64) -> Result<()> {
        let bts = bits as usize;
        let data = value.to_le_bytes();
        let whole_bytes = bts / 8;

        self.write_slice(&data[..whole_bytes])?;

        let remainder = bts % 8;
        if remainder != 0 {
            let mut partial_byte = data[whole_bytes];
            for _ in 0..remainder {
                let bit = partial_byte & 1 == 1;
                self.write_bit(bit)?;
                partial_byte >>= 1;
            }
        }
        Ok(())
    }

    pub fn write_signed_bits(&mut self, bits: i32, value: i64) -> Result<()> {
        todo!()
    }
    ```

    why is `bits` signed? and what does `write_signed_bits` mean? you write 3 bits + the sign bits so 1 bit?

Thanks for looking it over.

why is bits signed?

Yeah that's a holdover from something else, and wouldn't be signed if writer support is made live

what does write_signed_bits mean? if you pass in a 3 bit number and set bits to 3 you write 3 bits + the sign bits so 4 bit?

I believe I intended a similar behavior to bitstream's implementation, however it's been a few years and I'm open to suggestions.

Ok make sense. the bistream implementation also has this SignedNumeric trait for the [write_signed](https://docs.rs/bitstream-io/2.2.0/bitstream_io/write/trait.BitWrite.html#tymethod.write_signed) function which is quite nice to avoid casting?

Yeah that's a good idea.

FWIW, I'm looking to implement some compression codes such as elias_gamma , elias_delta etc. and I'm looking for a bit-I/O crate.
would you be interested to have these as contributions? e.g. write_elias_gamma and read_elias_gamma or similar

Sure, though if these functions don't introduce anything new in the way of primitives, I'd recommend defining an extension trait in downstream crates where this functionality can be ergonomically exposed. An earlier version of this crate contained a lot of specific APIs that were only relevant to my domain. So, I removed them to better focus on making sure that the right primitives are exposed so others (including myself) can build the right abstractions.

I would argue if you are writing integers with different bit widths, writing them using codes like elias_gamma delta etc. is something I would expect in a bit-I/O crate. Instead of writing a u32 with 32 bits I would want to encode it using elias_gamma for example and there exist many compression techniques where different numbers in the stream are encoded/decoded that way.

But if you don't want these here I'll create a separate crate but I would still be interested in write support

I agree, universal codes are useful. Questions arise, like which codes to support? What would the API look like? Should there be separate APIs to handle non-positive numbers? Are there codes that can't be generalized and input has to be positive only?
Very exciting questions. That's why it might be better to iterate outside the main bitter api so that these changes can be incorporated when there's confidence in the design and implementation.


Weather doesn't work on my Oneplus8 Android 11 device

Describe the bug
Even if I fill in the API key, it will not remind me that I have configured it correctly, and the progress bar is endlessly in progress, weather information is also not displayed in the widget. It used to work well on Android 10
To Reproduce
Steps to reproduce the behavior:

Go to 'Weather'
Click on 'Weather provider'
Click on Setting icon behind any provider
Fill in API key
See the error

Expected behavior
It should work well.
Screenshots
If applicable, add screenshots to help explain your problem.
**Smartphone (please complete the following information): **

Device: [OnePlus 8]
OS Version: [Android 11.0]
App Version  [v2.2.2]

Additional context
None here.

Thank you. bug fixed

I have same issue, how did it fixed?


Some efficiency improvements for jfc.

Here's a list of changes:

Introduce typesafe === and =!= equality methods.
Introduce static True and False values.
Avoid reifying Eq[List[Json]] in each equality check.
Avoid allocating a List[Json] for each array comparison.
Switch parser from eager to lazy number parsing.
Parse to static True/False values for less memory use.

Full disclosure: I haven't set up benchmarks for these yet.
I'm pretty sure these changes will help reduce the memory
footprint of using jfc, and speed up things like equality
tests, but obviously more testing is needed.

Thanks! One question: do you mind setting the ReturnChecker level to warning in the Scalastyle config? I think it's reasonable here, and that's the only reason Travis CI is failing.

Oh hey, I just saw you merged this.
I was using the println to debug a test failure during development. I should have removed it.

No worries! The project's three days old—I figured the build could be broken for a few minutes. Thanks again—


Iterating over list not working?

Version
2.4.2
Reproduction link
https://jsfiddle.net/50wL7mdz/51521/
Steps to reproduce
This fiddle works: https://jsfiddle.net/50wL7mdz/51512/
But this one doesn't: https://jsfiddle.net/50wL7mdz/51521/
What is expected?
I expect the second fiddle to show text on both sides of the + symbols similar to the first fiddle.
What is actually happening?
Data is not being displayed, in the second fiddle.

Why might this be happening? Did I do something wrong in the second one? Perhaps Bootstrap code is messing it up?

You just missed {{country.name}} + {{country.code}} in your v-for...

The second demo just works as expected too.

As you can see, there is only a plus sign inside the template.

I do have {{country.name}} +{{country.code}} in my code editor. Turns out I didn't realize the server-side Handlebars was interpolating it so the template code never made it to the client. In the fiddle I had pasted the view-source of the result without realizing. Thanks and sorry for wasting your time guys! - Joe


Mention in Readme companies/users for social proof

If you'd like to join the list, please comment below 🙃

Me (Headout) :stuck_out_tongue:


napari.Viewer() breaks "stock" python REPL

🐛 Bug
Turns out that running napari.Viewer() from the vanilla python REPL doesn't work so well!  It enters a quasi-IPython state...
Obviously no one uses it like this much, but for debugging (particularly debugging stray object references) it's nice to be able to use the plain REPL sometimes.  So probably worth fixing.
To Reproduce
❯ python
Python 3.9.6 | packaged by conda-forge | (default, Jul 11 2021, 03:36:15)
[Clang 11.1.0 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import napari
>>> viewer = napari.Viewer()
In :  # we're in IPython now!  (kind of)

unfortunately, using exit or exit() don't really work anymore (I think keyboard interrupt got me out)

I was having this happen in 4.10, but only when I activated the Napari console (or it was active in the last Viewer). See https://napari.zulipchat.com/#narrow/stream/212875-general/topic/Measuring.20shapes.20via.20keybind/near/246470750
This was so annoying—especially due to inability to exit without using kill—that it led me to switch my workflow from running code in the VS Code integrated terminal to using the interactive window—which I now quite like, so lemonade?
Can confirm it happens now in 4.11 without a Napari console active. Trying to -c to break out, gives a traceback:
^C
Traceback (most recent call last):
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/napari/_qt/qthreading.py", line 429, in wait_for_workers_to_quit
    def wait_for_workers_to_quit(msecs: int = None):
KeyboardInterrupt

Trying to quit() also gives a traceback—same as I had before:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/IPython/core/autocall.py", line 70, in __call__
    self._ip.ask_exit()
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/ipykernel/zmqshell.py", line 523, in ask_exit
    self.exit_now = (not self.keepkernel_on_exit)
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/traitlets/traitlets.py", line 604, in __set__
    self.set(obj, value)
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/traitlets/traitlets.py", line 593, in set
    obj._notify_trait(self.name, old_value, new_value)
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/traitlets/traitlets.py", line 1217, in _notify_trait
    self.notify_change(Bunch(
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/traitlets/traitlets.py", line 1227, in notify_change
    return self._notify_observers(change)
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/traitlets/traitlets.py", line 1264, in _notify_observers
    c(event)
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-pyCL-D/lib/python3.9/site-packages/ipykernel/zmqshell.py", line 467, in _update_exit_now
    loop = self.kernel.io_loop
AttributeError: 'InProcessKernel' object has no attribute 'io_loop'

BTW, is this new? I opened the Napari console, after launching napari from my VS Code Interactive Window:
Jupyter QtConsole 5.1.1
Python 3.9.6 | packaged by conda-forge | (default, Jul  6 2021, 08:51:19)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.25.0 -- An enhanced Interactive Python. Type '?' for help.

_rwho_ls = %who_ls
...: print(_VSCODE_getVariableTypes(_rwho_ls))

It knows variables I set in VS Code??!
In [15]: microns_per_pixel
Out[15]: [0.6484374633000588, 0.6484376743503157]

Seems the console may actually be quite useful, now that I'm not affected by this bug!
🤣

AttributeError: 'InProcessKernel' object has no attribute 'io_loop'

That's likely a bug in IPython/IPykernel, we don't have that many users of in-process kernels.
And indeed it only triggered when the console is opened.
I might be able to have in-process kernels that do less modifications of global state, but unfortunately there are some things that are globals (like sys.ps1, or display hooks.)

https://github.com/ipython/ipykernel/pull/766 should at least avoid the errors.
quit() / exit() still wont' work, this will be a bit more complicated though.

thanks @Carreau!

want to bump this... just tried again with the newest ipykernel and i'm still seeing this.  It's actually kinda problematic because it's often quite hard to interactively check garbage collection in IPython (it always seems to maintain references to objects that get cleaned up successfully in the regular python REPL).  so this bug makes it a lot harder to debug leaked object references.  @Carreau, do you have any insight as to why this is happening?

BTW, is this new? I opened the Napari console, after launching napari from my VS Code Interactive Window:
Jupyter QtConsole 5.1.1
Python 3.9.6 | packaged by conda-forge | (default, Jul  6 2021, 08:51:19)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.25.0 -- An enhanced Interactive Python. Type '?' for help.

_rwho_ls = %who_ls
...: print(_VSCODE_getVariableTypes(_rwho_ls))

It knows variables I set in VS Code??!
In [15]: microns_per_pixel
Out[15]: [0.6484374633000588, 0.6484376743503157]

Seems the console may actually be quite useful, now that I'm not affected by this bug! 🤣

The above no longer happens with napari 0.4.15. The console opens blank.
However, the bug in the OP still happens for me. In vanilla python REPL when you launch napari, the console is functional and so is the REPL (you can use for example viewer.camera.zoom = 2, but it enters that wierd state where you can't close, etc. even after closing napari. control-c didn't help either. I had to make a new terminal and use ps to get the process and kill it.

I still have this behavior with a pretty fresh env.
>>> import napari
>>> viewer = napari.Viewer()

from python REPL (3.9.12) opens napari that has a functional console.
if you activate the console, closing napari and trying to use the REPL results the In: non responsive state (napari icon stays in dock).
Typically a few keystrokes (trying to exit) will result in a crash:
In : WARNING: Traceback (most recent call last):
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/apple-TF29/lib/python3.9/site-packages/superqt/utils/_qthreading.py", line 262, in await_workers
    @classmethod
KeyboardInterrupt
fish: Job 1, 'python' terminated by signal SIGABRT (Abort)
/Users/piotrsobolewski/Dev/miniforge3/envs/apple-TF29/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Bump. this is still an issue, but I want to note that when using the stock REPL, one can keep entering commands in that window and they interact with napari. It works just like ipython/jupyter as far as I can tell—but not as nice obviously. For those two cases, we block the console from opening. Should we just do that for the stock REPL?
Would prevent this bug from triggering and make it more consistent.
In this new world, the console would function when launched from a script or from the command line directly, but not from other interactive python envs.

Hmm, I must say I'm surprised that you can still enter commands in the base REPL, but that's good! In that case I support #5350, that was my main concern.


Raise ViewWillAppear for child even if parent is already visible

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix.
See discussion here. In the absence of any further advice, I have fixed this the only way I know how.
Does this PR introduce a breaking change?
No, unless people are relying on not being activated when a VM is assigned to an already-visible VMVH, and that would be weird.
Please check if the PR fulfills these requirements

[X] The commit follows our guidelines: https://github.com/reactiveui/reactiveui#contribute
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Coverage remained the same at 66.835% when pulling ed274d94d864808cc96c7df645511d57131ab0b7 on kentcb:vmvh-late-activation into 7221f582afccc9a10878c99874ef4a0d91871e3d on reactiveui:develop.

Coverage remained the same at 66.573% when pulling 4e848bf627f52acdb9f27d4369aeb7a062dd1582 on kentcb:vmvh-late-activation into c740e573f0fa0dd786165eb42cecfd6c489857a0 on reactiveui:develop.


Silently ignore content on APIs that don't require it

Description
Despite code paths and unit tests showing otherwise, OpenSearch silently ignores the content (body) of a REST request that doesn't require it.  We should do the same.
Issues Resolved
Fixes #638 (or at least doesn't give users a poor experience).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

We should not backport it 2.13 as the release date is today and there will be no new RC generation


Heroku deploys fail with hard coded port

Heroku passes in a dynamic port to this project under process.env.PORT. When it's hard coded, the Heroku port (I believe) is ignored, and then Heroku tries to bind to the process under the port it expects, which nothing is running on, then eventually fails with
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
heroku[web.1]: Stopping process with SIGKILL
heroku[web.1]: State changed from starting to crashed
heroku[web.1]: Process exited with status 137

Due to this commit:
https://github.com/erikras/react-redux-universal-hot-example/commit/3ec5ecb4a949c76d06da91d8a7688e8feefb3f48#diff-b9cfc7f2cdf78a7f4b91a753d10865a2
Ping @trungtin and @quicksnap for merging https://github.com/erikras/react-redux-universal-hot-example/pull/966
This took me about 6 hours to debug :) Suggest rolling back change ASAP. I suspect many heroku deploys will fail with the latest version of this library using a hard coded port.

Sorry for wasting your time :(. Maybe it's problem with better-npm-run when watch-client script not receive the env.PORT unless hard-coded, even when I put watch-client script after start-dev. Any suggestion ?

This commit is causing webpack-dev-server running on the wrong port

==> 🚧  Webpack development server listening on port 30001


Can't use mcrcon with minecraft server by using docker

Hi Tiiffi
I want to ask you a question regarding my minecraft server by using docker
I have packaged two  MC server (MC 1.16.5 and MC forge 1.12 )image by  using  docker
I already set up the rcon command in server.properties of two server.
one set up as :
rcon.port=25575
rcon.password=XXXXXX
enable-rcon=true
the other set up as:
rcon.port=25574
rcon.password=XXXXXX
enable-rcon=true
Then , I use mcrcon , but the program always show "Connection fail ".
I am not sure where the question is.
Sincerely,
Charlie

Using the tool for a similar feature, i've come across "Connection failed" as well, came here looking for answers, wondering if it has been deprecated.

Are you connecting from a different mashine or the localhost? If you try to runn it from a different mashine, you need to check if the rcon Ports are allowed in the firewall of the server. Maybe even check if the Docker may block the request.

I just ran into this as well. My solution was port publishing port 25575 to the host. The issue is while the docker container might be listening on port 25575 the host is not. You have to tell Docker to listen on that port. https://docs.docker.com/config/containers/container-networking/#published-ports


Using out side of BuildRenderTree Context

At the moment I only got this working within the context of the BuildRenderTree function context.
But I can make Renderfragments with a RenderTreeBuilder outside of this context.
But it doesn't seem to work with this library.
I really enjoy this way of building up components in cs and this is the only thing holding me back from using it.
If it's not too difficult to fix I would love this.

Thanks for raising this. Would you add a snippet of what you're trying to do showing markup that works and then the CS code you will like to work, please?

public RenderFragment? GenerateForProperty(PropertyInfo property)
{
        return builder =>
        {
            int sequence = 0;
            builder.OpenComponent(sequence++, questionType);
            builder.AddAttribute(sequence++, nameof(Question<object>.Property), property);
            builder.AddAttribute(sequence++, nameof(Question<object>.Datasource), ExampleParameters);
            builder.AddAttribute(sequence++, nameof(Question<object>.Property), property);
            builder.CloseComponent();
        };
}

This is what I would like to be able to do. Just create a builder and give it back as a renderfragment. This does work in my code right now but it would be great to do this with FluentRenderTreeBuilder.
Thanks for the quick reply.


Incorrect number of arguments for constructor

Is there any limitation on Effort when making a query with a group by clause?
When running my unit tests with Effort i receive that message "Incorrect number of arguments for constructor" but the same problem doesn't occurs when running in mssql database.
Is that a known issue?
Thanks!

+1 For this. This error occurs on versions higher than Effort.EF<IP_ADDRESS> (occurs on 1.1.5, 1.2.0 & 1.3.0). You might try downgrading to 1.1.4 in the meantime

Thanks Corey!
I'll try that.

+1.
I did some investigation into the problem and found the following:
context
    .Entities
    .GroupBy(
        x => new
        {
            x.Value1,
            x.Value2,
            x.Value3,
            x.Value4,
            x.Value5,
            x.Value6,
            x.Value7
        })
    .Select(
        x => new
        {
            Count = x.Count()
        }).ToArray();

^^ is the simplest way to reproduce the issue.
The commit causing the issue is: caa2e13
where the constant LargeDataRowAttribute.LargePropertyCount is changed from 32 to 8.
Unfortunately it's a constant, so it can't be changed runtime...
Actually the problem exists also in Effort.EF<IP_ADDRESS>, but you are not very likely to group an entity on 30ish properties.
I am not sure why the DataRow types handles "Large" types differently, but since they do they must be created in a different way if they are - Expression.New(ctr, args, members) (as in TransaformVisitor.Visit(DbGroupByExpression)) will not work the same way as for small DataRows.

I faced the same issue with query:
var res = _context.WorkItems
.GroupBy(wi => wi)//.ToArray()
.Select(group => new  {  Hours = group.Sum(wi => wi.TimeSpent) })
.ToArray();
If I uncomment ToArray() after ToArray(), all works properly
If I remove anonimous class creation it also works properly
Any updates?

I have the same issue with this syntax:
group tablename by new { ...
(16 fields)

Incorrect number of arguments for constructor

Hello all,
The v1.3.8 has been released.
We have added a new property DbConnectionFactory.LargePropertyCount = 16; to let you gets and sets the LargePropertyCount value.
By increasing the amount, you should no longer get the problem.
Let us know if everything works as expected.
Best Regards,
Jonathan

Hello all
This issue will be closed since it has been resolved.
Feel free to reopen it if you feel otherwise.
Best Regards,
Jonathan

Hi,
I'm writing tests for a database first application so I'm using
Effort.EntityConnectionFactory instead of
Effort.DbConnectionFactory and I'm facing the same issue with "Incorrect number of arguments for constructor" and a group by clause.
Is there a way to solve this for EntityConnectionFactory?
Thanks a lot!


Editor stuck in "The following files are newer on disk" After saving in external editor.

Godot version
4.0.beta-2 (Mono)
System information
Arch Linux x64 - Official Mono Build
Issue description
Sometimes when saving code in my external editor, (vscode) I get a dialog saying the code file changed, and in this version (beta 2) it just reopens the dialog infinitely until I chose to resave the file. This did not happen in beta 1, I was able to just click reload.
Now when I try to click reload I get this in the debug console and the dialog just reopens.
core/object/object.cpp:1057 - Error calling from signal 'confirmed' to callable: 'ScriptEditor::ScriptEditor::reload_scripts': Method expected 1 arguments, but called with 0.
Steps to reproduce
Edit code file in external editor and save, click back into godot to run.
Minimal reproduction project
No response

CC @Rindbee.

A temporary solution is to enable text_editor/behavior/files/auto_reload_scripts_on_external_change.

A temporary solution is to enable text_editor/behavior/files/auto_reload_scripts_on_external_change.

Out of curiosity, why is this disabled by default?

@Rindbee I don't seem to have that setting at all. In a fresh project started in 4.0 (Beta 2) I don't have the whole Text Editor section of the settings. When I try and add a new boolean setting with that name it doesn't seem to fix this issue.
Should I report the missing setting as a separate bug?

I don't seem to have that setting at all. In a fresh project started in 4.0.beta2 I don't have the whole Text Editor section of the settings. When I try and add a new boolean setting with that name it doesn't seem to fix this issue.

If you don't mind resetting the entire editor settings, you can go through Editor - Open Editor Settings Folder, then delete the editor_settings-4.tres file. Restart the editor and reset this option.

Oh wait, this was my mistake! I was looking in project settings and not editor settings. I do in fact have the right setting and it does work around this issue. Sorry about that!

Same issue here!
The error happens even when I write a config file with ConfigFile.save(path).
4.0.beta-2 version on Debian bullseye

This is happening to me and I can't even alt-f4 away from godot. In my case the root cause is renaming a tscn file in a way that changed only the case of one letter, and renaming the .gd file to go with it. The file it is saying is newer on disk is the .gd file and has the old case. The editor shows both new case and old case in the list of files I have open.

In this case, any of the three buttons will form an infinite popup loop (see #65824), which should be fixed by #66812.

We had this problem with the shaders editors, which has been fixed recently. Maybe a similar issue.

A temporary solution is to enable text_editor/behavior/files/auto_reload_scripts_on_external_change.

On 4.0.beta3.mono, using this workaround makes an issue identical to #49298 despite the issue being closed. The edits made on vscode aren't recognized, only after disabling General/Text Editor/External/Use External Editor and reopening it in internal editor the changes are recognized.
Attached is a project that exhibits the problem. Reproducing steps are identical with the mentioned issue and the attempted changes are commenting out the exported variables.
Troubleshoot.zip

On 4.0.beta3.mono (Ubuntu 22.04), using this workaround makes an issue identical to #49298 despite the issue being closed. The edits made on vscode aren't recognized, only after disabling General/Text Editor/External/Use External Editor and reopening it in internal editor the changes are recognized.

I modified the relevant code in #66867 and partially reverted #66405. So it's back to what it was before.
I try to use a signal to update the internal editor. Implemented using a series of PRs, see https://github.com/godotengine/godot/pull/66658#issue-1392290784, but at present it's only partially applied (#66867 is also part of this series). So, the effect is not as expected.
ScriptEditor just uses the script list to detect file changes. It is not as good as EditorFileSystem in detecting files. So my plan is to use EditorFileSystem to detect script file changes, and then pass the list of changed script files to some class (ScriptEditServer? Makes it possible to disable ScriptEditor) to process. #66880 should make this a little easier.


Development/windows

Blackduck scan failure details
Summary: 0 violations, 1 file pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/Thunder/232/rdkcentral/Thunder

Commit: b53c379ba89d35b38781c49fcee3e6a09036d843

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 1 file pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/Thunder/232/rdkcentral/Thunder

Commit: 9153291a6d3dd68b3c63671942b7e07f2e34c4ca

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 1 file pending approval, 0 files pending identification.

Protex Server Path: /home/blackduck/github/Thunder/232/rdkcentral/Thunder

Commit: 0c37d84603aa5a13f80b717a0563f1ef15ca5fa5

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 1 file pending approval, 0 files pending identification.

Protex Server Path: /home/blackduck/github/Thunder/232/rdkcentral/Thunder

Commit: 58777b151e1453c1642397483b56a9d17675a2c3

Report detail: gist


Fix release

Summary
Fix release package installation failure

Codecov Report
All modified lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (master@897f4c3). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##             master      #10   +/-   ##
=========================================
  Coverage          ?   94.87%
=========================================
  Files             ?        3
  Lines             ?       39
  Branches          ?        3
=========================================
  Hits              ?       37
  Misses            ?        1
  Partials          ?        1

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


Flubu plugin for Cake addins

How to use cake addins in flubu can be found here
https://github.com/flubu-core/FlubuCore.CakePlugin


Disable past dates

Hi, how can i disable past dates? In issue https://github.com/WenchaoD/FSCalendar/issues/302 i don't understand what need to do. I try to compare previous date with now date and i get block for all dates in calendar.

just like @r00tify said. the simple way is you can set minimum date method on FSCalendarDataSource
func minimumDate(for calendar: FSCalendar) -> Date {     return Date() }

Hello everyone, talking bout FSCalendarDataSource, why is it the mimumDate and maximumDate functions are not getting called? And while the other dataSource functions are getting triggered?


Skip playback arrow shortcuts

Skip ahead or behind (in seconds) the current time of video playback

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update PR action commands

Description
Add reuse compliance checking to PR action.
Update tox command of PR action.
Type of change
Please insert 'x' one of the type of change.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[x] Refactoring, Maintenance
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

LGTM


worker/osbuild: print raw osbuild output if it cannot be parsed

osbuild output should be always JSON-parsable. However, if a user has a weird installation of osbuild, it can return malformed JSON. In this case, it's very hard to debug what happened because the worker doesn't provide any useful information. This commit adds the non-parsable osbuild output to the error so there's at least some clue in the logs what happened.
Let me reiterate: In 99% of these cases, this shouldn't be needed. It will give us some hints in these 1% cases though.
You may want to ask if using json.Decoder isn't better because it doesn't buffer the input. However, it does buffer. Firstly, json.Decoder.Decode() buffers the whole JSON value (it contains kinda cool state machine to do it) and in the second run, it parses the buffer. Therefore, the only thing that this commit actually does is that it moves the buffer out of json.Decoder.

indeed, fixed, thanks!


Incorrect code for custom JS assets

Line 7 in layouts/partials/footer.html:
<link rel="stylesheet" href="{{ $.Site.BaseURL }}js/{{ . }}">

should be:
<script src="{{ $.Site.BaseURL }}js/{{ . }}"></script>

Thanks for spotting this @J-Miao . Looks like the wrong version of that file got committed. I have fixed it in cd08a0a .


Remove an unnecessary null pointer check

An extra null pointer check is not needed in the function "Table::Open".

Are you referring to:
if (index_block) delete index_block;

@cmumford: Yes.

Has been fixed in our internal repo. Will push this change out (hopefully) this week.

Thanks for your small source code improvement.


Adds a node-compatible export

Fix #9

Moves the node variant of the unwrapper to a node.ts file.
Adds a separate node entry to the webpack build so two entry points are built (one for browser, one for node)
Adds a second import path xatlas-three/node so the node variant can be used easily.
Automatically finds the xatlasjs files and initializes the wasm paths so there's no need to call "loadLibrary" explicitly. Unfortunately I don't think this can be done for the browser variant easily due to the state of workers and wasm imports...
Add "xatlasjs" dependency since it's required for node support, now.
Await the library to be loaded in the base unwrapper

Once node is working correctly there are a few things I'd like to adjust in future PRs if that's okay - let me know how this sounds:

Add a "verbose" flag and / or log callback to enable / disable the automatic logging that occurs when loading the xatlasjs files.
Add a "dispose" function to dispose of the wasm memory and workers used by the unwrappers.
Remove the need to explicitly pass in three.js' BufferAttribute to the constructor.

I'm also seeing this warning when running the node instance - looks like there's maybe a memory leak in xatlasjs? Or "comlink"?
(node:91465) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 11 message listeners added to [MessagePort [EventTarget]]. Use events.setMaxListeners() to increase limit
    at [kNewListener] (node:internal/event_target:534:17)
    at MessagePort.<anonymous> (node:internal/worker/io:308:12)
    at MessagePort.addEventListener (node:internal/event_target:645:23)
    at /Users/garrett/Desktop/git/xatlas-three/node_modules/comlink/dist/umd/comlink.js:331:16
    at new Promise (<anonymous>)
    at requestResponseMessage (/Users/garrett/Desktop/git/xatlas-three/node_modules/comlink/dist/umd/comlink.js:329:16)
    at Object.apply (/Users/garrett/Desktop/git/xatlas-three/node_modules/comlink/dist/umd/comlink.js:257:24)
    at _onAtlasProgress (/Users/garrett/Desktop/git/xatlas-three/node_modules/xatlasjs/dist/node/xatlas.js:9:63204)
    at wasm://wasm/0008d70a:wasm-function[31]:0xbf8
    at wasm://wasm/0008d70a:wasm-function[133]:0xdfc7


Material specific props not being removed before render

Internal mdc props are being set on raw DOM elements (e.g. ripple, label, helptext, etc).  Although this doesn't cause any bugs at the moment, these are not valid html attributes and have some overhead of having to be set.
From the demo site:

This code is supposed to account for it:
https://github.com/prateekbh/preact-material-components/blob/2ac3e39de474f028cf3fc76feebcd40af3bfe6c2/MaterialComponent.js#L65-L67
However, I think this should happen before this.materialDom(this.props) is called.

Oh, actually this code just removes mdcProps, not custom attributes we add to the components. Misunderstood what you meant on the other PR, guess we should indeed fix this. Should be able to add an array to every components and remove all contained attributes in MaterialComponent.js. Or deconstruct every prop in materialDom, might be better. What do you think @prateekbh?

MaterialComponent.js seems to be the best place to do this


Feature request for testing support

Hi,
There are 2 features that would come in very handy imo when testing axon events and commands, especially to avoid side affects between tests.

Possibility to purge event bus/command bus before/after a test
Possibility to reset an embedded (in memory?) event store (purge events and tracking tokens)

Love to know what you think about it.
Kr
Frans

Hi Frans! Would you be able to share a use case where this would help you out from a testing perspective?
Is this in integration tests? Or when using the Fixture tests for Aggregates/Sagas? Or something entirely different I am not over seeing at this point?

Hey Steven, I'll try to draw and explain how I came to this feature request.

I tend to go with @pepperbob on this one. It's dangerous to add functionality of this kind to components that are meant for production use.
Instead, I would strongly suggest changing to a scenario where you wait for the entire test to complete (including side-effects that you don't primarily care about; indeed, consider removing them from the test altogether), before starting a new one.
I do wonder why your "d" in the "problems" section occurs. The fact that some commands fail, should not have any effects on others.
I am closing this one as a won't fix, as I don't see Axon play a more significant role in this for now. Feel free to comment if you disagree or have additional information.


Update jiosaavn.py

updated code to pull highest quality 320 kbps
IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

ADD DESCRIPTION HERE
Fixes #
Template

Before submitting a pull request make sure you have:

[ ] At least skimmed through contributing guidelines including yt-dlp coding conventions
[ ] Searched the bugtracker for similar pull requests
[ ] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[x] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Please fill out the PR template properly, otherwise this can not be merged.
There are five quality levels available: 16, 32, 64, 128, 320
Does it make sense to request all five and list them as formats?

Please fill out the PR template properly, otherwise this can not be merged.
There are five quality levels available: 16, 32, 64, 128, 320 Does it make sense to request all five and list them as formats?

You mean Instead of selecting highquality, its better to list formats and select one of the,. Am icorrect?

Yes that would be the idea. It would come at the cost of making 5 instead of 1 HTTP request. I think that's fine, but maybe others disagree. I would at least request both the 128 and 320 format.

Sure i will work on that accordingly

it might be appropriate to have this configurable by extractor-arg, e.g:
        formats = []
        # available bitrates are 16, 32, 64, 128, 320
        for bitrate in self._configuration_arg('bitrate', ['128', '320'], ie_key='JioSaavn'):
            media_data = self._download_json(
                'https://www.jiosaavn.com/api.php', audio_id, f'Downloading format info for {bitrate}',
                fatal=False, data=urlencode_postdata({
                    '__call': 'song.generateAuthToken',
                    '_format': 'json',
                    'bitrate': bitrate,
                    'url': song_data['encrypted_media_url'],
                }))
            if not media_data.get('auth_url'):
                self.report_warning(f'Unable to extract format info for {bitrate}')
                continue
            formats.append({
                'url': media_data['auth_url'],
                'ext': media_data.get('type'),
                'format_id': bitrate,
                'abr': int(bitrate),
                'vcodec': 'none',
            })

Hey thanks for your suggested. I have updated my code accordingly. instead on two i have added all formats and we can use to below command to download certain format song.
--match-filter "abr = 320"

Below is the output i got when i use '-f 320' for downloading songs in 320kbps'
log.txt


Add options to hacky-dev-image-build task to build {process,trace}-agent

What does this PR do?
Add --process-agent and --trace-agent options back to the agent.hacky-dev-image-build invoke task to also build the process-agent and trace-agent and copy them in the docker image.
Motivation
These options were removed when we migrated to single binary.
But they weren’t added back when the single binary was reverted.
Describe how to test/QA your changes
Run something like
inv agent.hacky-dev-image-build --base-image gcr.io/datadoghq/agent:7.58.0-rc.4 --target-image europe-west3-docker.pkg.dev/datadog-sandbox/lenaic/agent:latest --push --process-agent --trace-agent

and validate that the agent, process-agent and trace-agent inside the docker image are your custom ones.
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Marker info window jumps to another marker if the original marker leaves composition

markerInfoWindow.webm
markerInfoWindow2.webm
On the second video you can see that it's not the marker itself that changes position, it's only the info window.
To reproduce this, I only added these sections to the BasicMapActivity of the sample app of this repository.
val states = listOf(singaporeState, singapore2State, singapore3State)
val visibleStates = remember { mutableStateOf(states) }

LaunchedEffect(cameraPositionState.position) {
    visibleStates.value = states.filter {
        cameraPositionState.projection?.visibleRegion?.latLngBounds?.contains(it.position) == true
    }
}

visibleStates.value.forEach {
    Marker(
        state = it,
        title = "Marker in Singapore",
        onClick = markerClick,
        // rotation = state.position.latitude.toFloat() * 2400f
    )
}

Sometimes it even crashes with the following stacktrace:
2022-11-18 17:36:10.561 5475-5475/com.google.maps.android.compose E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.google.maps.android.compose, PID: 5475
    java.lang.IllegalStateException: MarkerState may only be associated with one Marker at a time.
        at com.google.maps.android.compose.MarkerState.setMarker$maps_compose_debug(Marker.kt:88)
        at com.google.maps.android.compose.MarkerNode.onAttached(Marker.kt:46)
        at com.google.maps.android.compose.MapApplier.insertBottomUp(MapApplier.kt:53)
        at com.google.maps.android.compose.MapApplier.insertBottomUp(MapApplier.kt:34)
        at androidx.compose.runtime.ComposerImpl$createNode$3.invoke(Composer.kt:1548)
        at androidx.compose.runtime.ComposerImpl$createNode$3.invoke(Composer.kt:1543)
        at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3395)
        at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3392)
        at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:782)
        at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:813)
        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:526)
        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
        at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
        at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
        at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
        at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
        at android.view.Choreographer.doCallbacks(Choreographer.java:845)
        at android.view.Choreographer.doFrame(Choreographer.java:775)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)

I tested it on API 31 and 33, on v2.7.2.

This is due to the lack of keying of composables emitted in the forEach.
visibleStates.value.forEach { marker ->
  Marker(state = marker, /* ... */)
}

Here, each Marker composable's "identity" is simply its position in the list. This is fine for the first composition, but that position isn't stable, so once an item is removed from the list, another composable's state gets clobbered. You can see similar problems outside of Maps, where items' states replace each other upon structurally changing a list.
A good fix is to use the key composable to clarify the identity of each Marker:
visibleStates.value.forEach { marker ->
  key(marker) { // each `marker` instance is unique, making it a good key
    Marker(state = marker, /* ... */)
  }
}

This fixes the issue:
markers-with-keys.webm
Closing this as won't-fix, but open to suggestions for API/doc improvements.

Thanks, it did indeed fix my issue! :)


Docs Migration

To use:
pip install mkdocs
pip install 'mkdocstrings[python]'
pip install mkdocs-jupyter
pip install mkdocs-include-dir-to-nav
pip install mkdocs-material

cd new-docs
mkdocs serve  # hot-reloading

All config is in new-docs/mkdocs.yml

This PR is going to be second big PR under your feather! 💯


Created the Select All Text Behavior documentation

Hello @pictos and @brminnick ,
I just created the documentation for the SelectAllText behavior.
Let me know if it looks OK or if we need to update it.
Regards,
Victor

CC @bijington

@jfversluis I think this should be good now if you get a chance to review it


Experiment 1

Generate synthetic data for predicate 1 (x^2 + y^2 > z^2)
Implement a simple neural network
Train neural network to predict the predicate 1 with accuracy of at least 80 %

Did a prof of concept NN on predicate 1.
2 hidden layers with 128 and 32 units respectively,
Learning rate of 0.001,
Number of steps 2000,
Achieved 98.8% on test set.


Not work in electron

Run i18n-node
node example.js
works well , but not in main process in electron

Problem sovled, if your program may runned by other launcher, current working directory
maybe changed. Just define directory like :
directory: __dirname + "/locales"

Thanks for the info :)


[pipeline generator] Build out weekly test pipelines for all services and fix scheduling

This PR updates the weekly test pipeline to run by default for all services (which will behave like our weekday live tests). It also fixes a scheduling/bucketing problem where the weekly tests were running on both Saturday and Sunday.
Update: this PR also adds name collision detection for pipeline definitions, with a helpful log message for a workaround. Resolves https://github.com/Azure/azure-sdk-tools/issues/2474
Resolves https://github.com/Azure/azure-sdk-tools/issues/2377

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

/check-enforcer override


animationRunning in ChessboardPiecesAnimation should not be global

Problems with multiple simultaneous animations on different boards would occur, because of the global animationRunning property in the ChessboardPiecesAnimation Module. The global flag should be replaced and handled in the instance.

Fixed


Use a LocaleResolver to select the default locale

Move the default locale logic inside a LocaleResolver class. This allow to override the default locale choice based on entities.
A usage can be to use a different default locale based on an entity field, which will improve performances if we know that a given entity will be used mostly for a given language while some other entities will be for another language.

@l3pp4rd Could you have a look here ?

I think this adds an overhead to the library. it should be a framework related service. You can have translatable listener as a public service and manage its default locale based on your specific use cases.

@l3pp4rd do you mean a listener that will be called before yours for each TranslationRepository::translate and TranslationListener::postLoad ? I think that it may be broken easily if you're adding anything else related to the defaultLocale.
This PR way we can add an extension point that won't be break easily and mainly reduce the complexity of developing such a feature...

no @sroze I mean that translatable listener is hooked to entity manager event listeners. you can use the listener instance and call setDefaultLocale whenever you like. For example a symfony framework defines a service gedmo.listener.translatable in this case. At any point, you can get this service from container and set locale to it. I do not mean to add yet another listener. Use the actual one

@l3pp4rd yeah, seems better ! Btw we need to call this setDefaultLocale method before each case which means introducing possible bugs in the future. How much this new LocaleResolver is an overhead here in your opinion ?

Well, actually you may wrap it in something like $service->flushWithDefaultLocale('de'); which would set the locale flush and reset it back. I do not see any advantage having this abstraction it only increases complexity, extensions are already quite complex.

So closing that PR.


Shwe

make settings more clear with numbers and operators.

Codecov Report

Merging #73 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   90.12%   90.12%
=======================================
  Files           5        5
  Lines          81       81
  Branches       11       11
=======================================
  Hits           73       73
  Misses          8        8

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 b125d39...15b1c5b. Read the comment docs.

Project has moved on a bit since this PR: there is time left in break, so I am closing this.


Portion of image displayed

Hey Matthew -
Thanks for pannellum!
To workaround some CORS issues, I setup a node.js route to proxy the image request.  The route works fine when I hit it directly, but when loading in pannellum AJAX req, appears the image (3MB+) fully loads (progress meter up to 100%), only the top portion/chunk of the image is displayed, so it’s not getting all the bytes.  I don’t think this is an issue with the library, but perhaps you have some helpful thoughts to share.

The above was an issue related to CSS not being loaded ;)


Desktop Logs - Help menu does not include "Get Logs" option

Under the Desktop log section for Windows, there are 2 problems:
Problem 1 - There is no Get Logs option inside the Teams Help as suggested
I see no Get Logs option from within the Teams client and this option should be removed or more precise navigation should be provided.
Problem 2 - Teams Help is not a pull-down menu
There are 2 places to find Help (Note: neither of these include a Get Logs option)
The lower left of the Teams client
The 3 ellipses in the left navigation bar

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

ID: 97d5e6d3-b7e0-d79f-0dea-ed423186a157
Version Independent ID: ec6e68aa-552f-ab45-3c8e-92eff526b173
Content: Use log files in troubleshooting Microsoft Teams
Content Source: Teams/log-files.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@tomlaciano - thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:  https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@officedocsbot close

I believe you have misunderstood my feedback. I don't have a problem to be solved, I am stating that the Help content has incorrect or inaccurate references to the UI elements for finding or getting logs.

Thanks @tomlaciano the article will be improved after your comment.


footer markup and styling

Implements responsive footer, updates the font paths in style.css and adds normalize.css to make all browsers render elements consistently.
This gif shows the scaling:

for review @dethe

@jesicarson @dethe i updated the styling to reflect jesi's mobile footer design, and added a new gif. let me know what you think!

Snazzy 👏

Merge at will :shipit:


Site?

Maybe replace:
bg.png
binary.png
binary-tn.png
C2009P1.gif
coordsysbutton.gif
CSI-xs.png
data.png
earthsat.png
earthsat-tn.png
earthwx.gif
earthwx-tn.gif
gridbutton.gif
HSTOrbitAnim.gif
INDI.png
INDI-tn.png
intro-hzn.png
intro-moon.png
jupiter.png
jupiter-tn.gif
main.png
mars.png
mars-tn.png
moon.png
moon-tn.gif
naag.gif
naag-tn.gif
obslog.png
osxshot.png
plot.png
plot-tn.gif
SatMovie.gif
saturn.png
saturn-tn.png
skyip.gif
skyip-tn.gif
skyview.png
skyview-tn.gif
solsys.gif
solsys-tn.gif
sun.png
sun-tn.png
uranus.gif
uranus-tn.gif
wcs.gif
wcs-tn.gif
webmenu.png
xephemdrop.png
xephem.png

to XEphem/Site/img?
XEphem.diff.gz

Are the images causing any problems that we could resolve some other way? I would prefer to leave them in place so that any external links to them can remain stable. I do see your diff that tries to fix all of the internal references to them; but it also seems to make other adjustments to the HTML?

@brandon-rhodes say:

Are the images causing any problems that we could resolve some other way?

No problem, I just don't like the mess.


Could you please tell me how to set padding tokens?

Thank you for your work. Currently, the codebase set the eos as padding tokens. But how to set the padding tokens myself?

You mean granite-8b-code-base model ? You can edit https://huggingface.co/ibm-granite/granite-8b-code-base/blob/main/special_tokens_map.json


Default coordinate system for layers, and project/unproject

Background
First off, congratulations on the 6.1.0 release!
As detailed in #936 and #818, I have tried before to make a GeoJSON editor within deck.gl, but had hit issues due to precision on a Windows development machine.
Seeing that there was a new coordinate system released in 6.1.0, I went over the code I had dating back to the 5.0 release and adapted it to 6.1.
Initially, this was the result, which was the original problem outlined in #936:

I also tried setting fp64: true but still, I encountered that long startup for the layer that involved the browser lagging beyond usability.
After the initial disappointment that this feature I'm making might still not be feasible in deck.gl, I wondered whether this statement on the docs were set as default for all layers:

High-Precision Geospatial Projection (Experimental)
The projection algorithm used for geospatial coordinates (layers with coordinateSystem: COORDINATE_SYSTEM.LNGLAT) has supplemented with a "hybrid" projection/offset based implementation (COORDINATE_SYSTEM.LNGLAT_EXPERIMENTAL) that rivals 64-bit precision at 32-bit speeds. This mode is expected to make the use of fp64 precision unnecessary for most applications, which in turn should increase application performance and avoid issues on untested graphics drivers.

There wasn't anything in the docs that mentioned where to export these coordinate systems or set them in layers, so I looked around in the source code until I found this constants file and tried to set my layer's coordinate system manually to:
 new GeoJsonLayer({
  id: 'geojson-layer-feature',
  data: drawFeatureCache,
  ...
  coordinateSystem: 4,
}),

And here's the result:

🙌👏🎉 Thank you for this new coordinate system!
A few questions and suggestions on my end:

Isn't this new coordinate system (LNGLAT_AUTO_OFFSET) not set as default for the layers that support it?
Should the docs be updated as to how these coordinate systems can be set in the layers?
I'm still using this for my screen pixel -> coordinate conversion:

let lngLat = deckGLInstance.deck.layerManager.context.viewport.unproject([
  event.clientX,
  event.clientY,
]);

Right now, I only have a component for this. Is this something that can be converted to a custom layer?
Would be definitely interested if there was a different way to get these coordinates, as this looks hacky at best.
I'd be willing to send  a PR updating the docs if this looks good to you!
Again, thanks for all your hard work!
To Do List

[ ] Add label and assign to milestone
[ ] Coding
[ ] Doc update
[ ] Whats new update
[ ] Test

I'm still using this for my screen pixel -> coordinate conversion:

Yes, I seem to remember we talked about this quite some time ago. This one hasn't been addressed. I think the issue is that while adding a wrapper for the geospatial single view case is easy, doing it right while handling all our coordinate systems and also multi-viewports takes some though.
FWIW, there are number of issues open on improving the projection system, and an RFC has been started.
https://github.com/uber/deck.gl/issues/2151

Thanks for including the GIFs, I really like your editing capabilities.
Have you looked at nebula.gl? It is an editing framework for deck.gl.
You may want to head over there and connect with @georgios-uber, perhaps some collaboration or exchange of ideas is possible?


python pipeline.py hangs

when run second time. output is:
2015-10-17 17:55:03,163: radical.pilot       : MainProcess                     : PilotLauncherWorker-1: INFO    : pilot pilot.0000 seems alive and well
2015-10-17 17:55:04,922: radical.pilot       : MainProcess                     : Thread-1       : INFO    : ComputePilot 'pilot.0000' state changed from 'Active' to 'Done'.
2015-10-17 17:55:04,923: radical.pilot       : MainProcess                     : Thread-1       : INFO    : [Callback]: ComputePilot 'pilot.0000' state: Done.
2015-10-17 17:55:04,923: radical.enmd.SingleClusterEnvironment: MainProcess                     : Thread-1       : INFO    : Resource localhost state has changed to Done

Could it be that the shutdown is taking a while ? Is this repeatable ?


PSR - List - Add indicator somewhere in row that it has been submitted

On hold until design team provides direction.
Could possibly reuse the color chits from the PSR time list?

All unsubmitted should be red.


Testing, please ignore. (ozmszv)

This is a bug bounty test.. Please DO NOT APPROVE THIS! (ozmszv)

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

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


In-memory DuckDB should load upstream dataframes

Duplicate due to ZenHub error.
Issue here: https://github.com/astronomer/astro-sdk/issues/1831


Status is always 'Paused'

Problem/Motivation
Even when playing a video, the status is paused on the FireTV 4k
Expected behavior
It should say it's playing a video when it's playing a video.
Actual behavior
It just says 'Paused' all the time.
Steps to reproduce
Play a video. HA will still say the FireTV is paused.
Proposed changes
I don't know if this is a FireTV limitation or now. But it would be nice to be able to run automations based on the state. For example, turn the lights off when state changes to playing, and turn then on when it's stopped or paused.

This add-on simply provides a debug bridge. How the data is interpreted is not a concern of this add-on.
So, this should be a report on the HA side.


404controller

I created a new discussion.controller.js and calendar.controller.js file. I placed the appropriate script tags for both in the index.html file. I also made changes to distributionUrl in \platforms\android\cordova\lib\builders\GradleBuilder.js and set it to process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\://services.gradle.org/distributions/gradle-2.14-all.zip'; (latest version of gradle so far). Last change was done for myself on my local machine so I can load the app onto my Android device.
JAVA_HOME has to also be set on your computer (if you run Windows) to the path where the java.exe file resides (for the latest version of JAVA you are running). This is needed so that the files \platforms\android\gradlew.bat and \platforms\android\cordova\lib\check_reqs.js can set the JAVA_HOME variable properly.

LGTM pending feedback from @aakashhdesai.


CMake + PortAudio

I implemented this last year.  Open to changes.
Build Example on Linux:
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../bin
make -j

Thanks for the PR, although this seems like too significant of a refactor to merge.


Husky commit on lint fixed

Husky commit on lint fixed
Description
List of proposed changes:
Fixed issue where non staged files were being committed by husky when linting
What to test for/How to test
Update 2 files with bad linting.
Stage 1 of the files.
Commit files without pushing
Unstaged file should not be committed

This changes do the same as removing   "&& git add -A" , doesn't it ??

@MarcoGoC It still commits the files. The big difference is the lint only applies to staged files


Pad 5 version ?

Hello.
Did a pad 5 version exist or is the actual version is compatible.
Thanks you verry much 😄.

I am only tested on xiaomi 10, not sure if it is compatible with pad version


Daily challenge with a shareable result

I made a stab at creating a daily puzzle page, it should be live now.
Looking for feedback now regarding everything:

how's puzzle size / difficulty?
any bugs?
how can we make share text more interesting? A masked solution like in wordle doesn't quite work with this puzzle type. At least I can't think of what to show.

@aleda145 @sabas tagging you because you reacted to this issue =).

Awesome! Thanks!
Daily #hexapipes puzzle 2022-08-21
Solved it in 04:28
https://hexapipes.vercel.app/daily
My daily!
If you look at figure.game they have a global stats comparison which is quite cool. But would need some backend and sending requests, so not sure if thats feasable.

Cool I tried it now :)
Daily #hexapipes puzzle 2022-08-22
Solved it in 03:13
https://hexapipes.vercel.app/daily

Nice, thanks for trying. 3-5 minutes seems like a reasonable time to do a daily).
I'm not collecting any solves data currently, it's all very private). So it's true that I can't provide global stats.
Tomorrow's puzzle is pretty unusual :wink:.

ability to share the actual puzzles via an ID would be nice. Same for any other puzzles that aren't in the "custom" tab