Spike: Graph lines change colors repeatedly

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

The flux query is ugly:

import "math"

humidity = from(bucket: "telegraf")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r._measurement == "environment" and (r._field == "humidity"))
  |> aggregateWindow(every: 30s, fn: mean)
   |> fill(column: "_value", usePrevious: true)
 |> keep(columns: ["_value", "_time"])

 temperature = from(bucket: "telegraf")
  |> range(start: v.timeRangeStart)
  |> filter(fn: (r) => r._measurement == "temperature" and (r._field == "temp_f"))
  |> aggregateWindow(every: 30s, fn: mean)
  |> fill(column: "_value", usePrevious: true)
 |> keep(columns: ["_value", "_time"])
  |> yield(name: "Temperature")

first_join = join(tables: {temperature: temperature, humidity: humidity}, on: ["_time"])
    |>map(fn: (r) => ({temperature: r._value_temperature, humidity:r._value_humidity, _time: r._time}))
    |> keep(columns: ["_time", "humidity", "temperature"])
    |> yield(name: "first")

last_join = first_join
|> map(fn: (r) => ({ "_time": r._time, "temperature": r.temperature, "humidity": r.humidity}))
 |> map(fn: (r) => ({
     r with heatIndex:
        if  ((-42.379 +  2.04901523*r.temperature + 10.14333127*r.humidity - .22475541*r.temperature*r.humidity - .00683783*r.temperature*r.humidity - .05481717*r.temperature*r.humidity + .00122874*r.temperature*r.temperature*r.humidity + .00085282*r.temperature*r.humidity*r.humidity - .00000199*r.temperature*r.temperature*r.humidity*r.humidity +  r.temperature)/2.0) < 80.0  then (0.5 * (r.temperature + 61.0 + ((r.temperature - 68.0)*1.2) + (r.humidity*0.094)))
        else if ( r.humidity < 13.0 and r.temperature > 80.0) then ((-42.379 +  2.04901523*r.temperature + 10.14333127*r.humidity - .22475541*r.temperature*r.humidity - .00683783*r.temperature*r.humidity - .05481717*r.temperature*r.humidity + .00122874*r.temperature*r.temperature*r.humidity + .00085282*r.temperature*r.humidity*r.humidity - .00000199*r.temperature*r.temperature*r.humidity*r.humidity - (((13.0-r.humidity)/4.0)*math.sqrt(x: ((17.0-math.abs(x: (r.temperature-95.0))/17.0))))))
        else if r.humidity > 85.0 and r.temperature >= 80.0 and r.temperature <= 87.0 then ((-42.379 +  2.04901523*r.temperature + 10.14333127*r.humidity - .22475541*r.temperature*r.humidity - .00683783*r.temperature*r.humidity - .05481717*r.temperature*r.humidity + .00122874*r.temperature*r.temperature*r.humidity + .00085282*r.temperature*r.humidity*r.humidity - .00000199*r.temperature*r.temperature*r.humidity*r.humidity) + (( r.humidity-85.0 )/10.0) *((87.0-r.temperature)/5.0))
        else (-42.379 +  2.04901523*r.temperature + 10.14333127*r.humidity - .22475541*r.temperature*r.humidity - .00683783*r.temperature*r.humidity - .05481717*r.temperature*r.humidity + .00122874*r.temperature*r.temperature*r.humidity + .00085282*r.temperature*r.humidity*r.humidity - .00000199*r.temperature*r.temperature*r.humidity*r.humidity)

        })
    )
|> map(fn: (r) => ({_value: r.heatIndex, _time: r._time}))
 |> yield(name: "HeatIndex")

I've attached a csv dataset from 2 different color changes.

Archive.zip

...

Expected behavior:
graph lines shouldn't change colors
Actual behavior:
Graph lines change colors about nearly every data refresh
Environment info:

System info: Run uname -srm and copy the output here

Mac OS X 10.14

InfluxDB version: Run influxd version and copy the output here

Built from source, flux-staging-v0.40.0 branch

Other relevant environment details: Container runtime, disk info, etc

Config:
Copy any non-default config values here or attach the full config as a gist or file.

Logs:
Include snippet of errors in log.
Performance:
Generate profiles with the following commands for bugs related to performance, locking, out of memory (OOM), etc.
# Commands should be run when the bug is actively.
# Note: This command will run for at least 30 seconds.
curl -o profiles.tar.gz "http://localhost:8086/debug/pprof/all?cpu=true"
curl -o vars.txt "http://localhost:8086/debug/vars"
iostat -xd 1 30 > iostat.txt
# Attach the `profiles.tar.gz`, `vars.txt`, and `iostat.txt` output files.

I suspect the issue here is that the results from queryd are coming back with different table ids, hence, we are assigning them different colors. Flux doesn't guarantee ordering of the tables across subsequent queries.
In the UI, we are struggling with how to handle this. One proposal is to store some identifier for each flux table and ensure the same table is given the same color each request. Open to other ideas about how to solve this from @nathanielc, @desa, @goller

bump

Please fix. This is a hindrance to visually processing the graph and gaining insight when you have many lines with different colors that change.
Also, when comparing two adjacent cells that have same data sources, the colors are different also
I like everything so far, but this behavior makes the product hard to use.

Please fix. This is a hindrance to visually processing the graph and gaining insight when you have many lines with different colors that change.
Also, when comparing two adjacent cells that have same data sources, the colors are different also
I like everything so far, but this behavior makes the product hard to use.

No plans to address this issues in the short term.


More errors after last firmware update.

After the last update of the firmware it seems I got more errors.
2020-12-03 13:47:10.650 Error: (Zigbee) A Zigbee publish error occured for device 'TVlamp' with error message: Publish 'set' 'state' to 'TVlamp' failed: 'Error: Command 0x84182600000f0057/3 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Data request failed with error: 'MAC no ack' (233))' 2020-12-03 13:53:09.079 Error: (Zigbee) A Zigbee publish error occured for device 'Keukenkastspotjes' with error message: Publish 'set' 'state' to 'Keukenkastspotjes' failed: 'Error: Command 0xccccccfffeafe310/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Timeout - 4199 - 1 - 7 - 6 - 11 after 10000ms)' 2020-12-03 15:03:08.684 Error: (Zigbee) A Zigbee publish error occured for device 'LEDlamp' with error message: Publish 'set' 'state' to 'LEDlamp' failed: 'Error: Command 0x680ae2fffe72486d/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Data request failed with error: 'MAC channel access failure' (225))' 2020-12-03 15:07:25.332 Error: (Zigbee) A Zigbee publish error occured for device 'Keukenkastspotjes' with error message: Publish 'set' 'state' to 'Keukenkastspotjes' failed: 'Error: Command 0xccccccfffeafe310/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Timeout - 4199 - 1 - 12 - 6 - 11 after 10000ms)'
I did only change the firmware and updated to the latest zigbee2mqtt
It seems that the errors came after the firmware update. Mostly timeout errors.
Coordinator is a CC1352P_2, which was working fine.

Does downgrading resolve the issues?

I Will check tomorrow.

It looks like it's not the firmware, because today with firmware 20201026 I got this error.
(Data request failed with error: 'MAC channel access failure' (225))
I did not notice that kind of errors before, so it should be something else what changed.
I only added a SEA801, which showed up as a SEA802. That's the only change to the network.
Do you have an idea what might cause these errors?

@SargonofAssyria I have the same error (MAC channel access failure), how did you fix it?

For the other ones who have the same issue, the solution for me was in this other post https://github.com/Koenkk/zigbee2mqtt/issues/2437 (detaching USB hard drive worked).

I did not fix it. I occasionally have those (and other) kind of errors.
I cannot detach SSD drive, because my system is on it.


Tighten criteria for accepting Shelley or Byron addresses in REST API

Summary
It has become established usage that Byron addresses are associated with the Base58 encoding while Shelley addresses are associated with the Bech32 encoding.
To catch more user errors, we now enforce this usage more strictly.
Specifically,

Base58 encoded addresses are assumed to be Byron addresses and are additionally deserialized to CBOR to check whether they comply with the  Byron address binary format.
We no longer accept Base16 encoded addresses. The swagger documentation has already highlighted that only Base58 and Bech32 are accepted.

To avoid loss of funds, we strongly recommend to use Shelley addresses and the Bech32 encoding, as this encoding includes error detection and is more robust against misspellings and truncations.
Relevant standards: CIP 19 — Cardano addresses.
Comments
(EDIT: correction)

Ideally, lay users would only see a single canonical version of every address. Unfortunately, we are not quite there yet, and this PR is only a partial improvement. For example,

Bech32-encoded addresses can represent Byron addresses instead of Shelley addresses. These would be shown in Base58 encoding in the blockchain explorer.
A sequence of bytes which is too long to be a valid Shelley address, but has a header-byte that indicates a Shelley address, may be truncated to the proper size. Put differently, seemingly invalid addresses are mapped to valid ones. Fortunately, the error correction inherent to Bech32 and reserving the Base58 encoding for Byron addresses (implemented in this PR) make this less likely to occur through user mistake.

A general clean up of our address data types would be nice, but is out of scope for this pull request.

Issue Number
ADP-1033, ADP-1280

Thanks for your review, Jonathan! 😊
Will merge unless there are further objections.

bors r+

bors r+


Better Verified Contacts Handling

The VASP List endpoint required both verified and unverified contacts to
display badges correctly in the UI. This PR adapts the response to
return a map of contact name to verified bool rather than just a list of
verified contacts.
Unblocks SC-594

Codecov Report

Merging #110 (9b1256f) into main (281bfd1) will increase coverage by 0.36%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##             main     #110      +/-   ##
==========================================
+ Coverage   37.52%   37.89%   +0.36%
==========================================
  Files          26       26
  Lines        2665     2684      +19
==========================================
+ Hits         1000     1017      +17
- Misses       1494     1498       +4
+ Partials      171      169       -2

Impacted Files
Coverage Δ

pkg/gds/models/v1/models.go
73.43% <77.77%> (+6.77%)
: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 281bfd1...9b1256f. Read the comment docs.

@pdeziel you're definitely right - there is a lot of one-off contact handling code that could be simplified in the models package. For example, it's very common to loop through all the contacts, but you have to do that one by one. I'll create a story in GDS enhancements for us to do a better job of this.


Take a look at the size between blocks.

Actual result
Wrong spacing between blocks.

Expected result
Spacing between blocks should be as on the mock-ups.

User story and test case links
E.g.: "User story #108
Labels to be added
"Bug", Priority ("pri: high"), Severity ("severity: major"), Type ("UI")

Not a bug.  Page is flexible.


upload of declaration for Telemetry_System_Poller to BIG-IP failes with 502 error

Environment

Telemetry Streaming Version: 1.20.1
BIG-IP Version: <IP_ADDRESS>

Summary
Trying to upload a Telemetry_System_Poller action filter with locations.
But upload works until 5 locations.
Whenn adding the 6'th location upload failes with 502 bad gateway.
(not sure about the filter correctness, but filter works until 5'th location definition)
I need to filter because I hope to mitigate the timeout issue related to #182 and also want to reduce the amount of scraping due to high number of vserver and admin partitions on the system
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "class": "Telemetry",
    "My_Poller": {
        "class": "Telemetry_System_Poller",
        "interval": 0,
		"actions": [
			{
				"includeData": {},
				"ifAnyMatch": [
					{
						"virtualServers": {
							"/adom_A/*": {}
						}
					},
					{
						"virtualServers": {
							"/adom_B/*": {}
						}
					}
				],
				"locations":
					{
						"virtualServers": {
							"/adom_.*": true
						},
						"pools": {
							"/adom_.*": true
						},
						"system": {},
						"ltmPolicies": {
							"/adom_.*": true
						},
						"httpProfiles": {
							"/adom_.*": true
						},
						"clientSslProfiles": {
							"/adom_.*": true
						},
						"serverSslProfiles": {
							"/adom_.*": true
						},
						"iRules": {
							"/adom_.*": true
						}
					}
			}
		]
    },
    "My_System": {
        "class": "Telemetry_System",
        "enable": "true",
        "systemPoller": "My_Poller"
    },
    "prometheus_pull_consumer": {
        "class": "Telemetry_Pull_Consumer",
        "type": "Prometheus",
        "systemPoller": "My_Poller"
    }
}

Observe the following error response:

.....
> POST /mgmt/shared/telemetry/declare HTTP/1.1

> Host: <BIGIP>

> Authorization: Basic <AUTH>

> User-Agent: curl/7.53.0

> Accept: */*

> Content-Type: application/json

> Content-Length: 1131

> Expect: 100-continue

{ [5 bytes data]

< HTTP/1.1 100 Continue

} [5 bytes data]

* We are completely uploaded and fine

{ [5 bytes data]

< HTTP/1.1 100 Continue

< Pragma: no-cache

< Cache-Control: no-store, no-cache, must-revalidate
....
< Server: com.f5.rest.common.RestRequestSender

100  1131    0     0  100  1131      0     17  0:01:06  0:01:03  0:00:03     0{ [5 bytes data]

< HTTP/1.1 502 Bad Gateway
...

Expected Behavior
I expect 200 OK
When it works until 5'th location I do not see 100 Continue
Actual Behavior
I do get an 502 Bad Gateway

Thank you for your feedback. I am unable to reproduce this issue. I believe the 502 status code is coming from the iContrtol REST system, and the request is likely not even reaching the Telemetry Streaming code. This issue may be caused by the restjavad process (part of the iControl REST system) not having enough memory. Does increasing the memory allocated to restjavad resolve your issue?
How to increase restjavad memory allocation: https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/best-practices.html#workarounds


[Tessen]  throwing render error when GATSBY_NEWRELIC_ENV not set

Description
We are seeing a rendering issue in the developer site, gatsby develop build.
The error seems to be being thrown by Tessen, searching for the error message in the repo shows this:

I tried setting the GATSBY_NEWRELIC_ENV to staging and this resolved the issue

Changing the yarn run command in the package.json resolved the issue but we will need to investigate why this is happening and if we need to permanently add that environment variable
"develop": "GATSBY_NEWRELIC_ENV=staging gatsby develop",

Acceptance Criteria

[ ] Investigate why it's throwing the error and if we always need the GATSBY_NEWRELIC_ENV set

The work to fix this is already covered by this ticket https://github.com/newrelic/gatsby-theme-newrelic/issues/483


feat(storage): Add CRC32 Checksums to Cloud Storage uploads.

This cannot be merged until google/crc32 has a stable release.
cc @frankyn.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2de1433). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #1846   +/-   ##
=========================================
  Coverage          ?   91.58%
  Complexity        ?     4414
=========================================
  Files             ?      305
  Lines             ?    13115
  Branches          ?        0
=========================================
  Hits              ?    12012
  Misses            ?     1103
  Partials          ?        0

Impacted Files
Coverage Δ
Complexity Δ

Storage/src/Bucket.php
97.18% <ø> (ø)
70 <0> (?)

Core/src/Upload/ResumableUploader.php
100% <100%> (ø)
21 <0> (?)

Storage/src/Connection/Rest.php
100% <100%> (ø)
46 <3> (?)

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 2de1433...fc6365f. Read the comment docs.

Fix for Windows CI failure here: https://github.com/google/php-crc32/pull/6

Pending the crc32c extension release. Otherwise lgtm.

@dwsupplee let's move forward with merging this. I asked for a release of google/crc32 (right now it's required at dev-master, so that needs to change before merge). I'll keep working on getting the extension to PECL. Users have the option of installing it from source, or if they're on 7.3 or higher, a pretty good implementation is in native PHP. It still defaults to md5 in any case, so any change is opt-in.


[Issue] before-render event payload changed after update to 9.3.6

If anyone has encountered the same issue as me when working with custom events (specifically, before-render), be aware that its payload has changed in 9.3.6:
9.3.4:
rapidocElement.addEventListener('before-render', (event) => {
  if (event.target.__specUrl) {
      // rest of the code
  }
});

9.3.6:
In the code above, the event.target.__specUrl returns undefined. To workaround it:
rapidocElement.addEventListener('before-render', (event) => {
  if (event.target.attributes['spec-url'].value) {
      // rest of the code
  }
});

although this is an internal representation of various html elements inside <rapi-doc> web component, but I can imagine how in certain cases it may be needed.
Thanks for sharing it


DOC: add note to readme about submodules

I almost added a note about using python -m http.serve to get a local server, but I suspect you have a better way.

The better way is just file:// with the submodules inited.


Sensu handler always fires even with filters and stashed items

I have a sensu handler that always executes, even when filters are defined and/or when a stash item is created for that check.
The handler and filters are both on the sensu server only, the client does not have the filters.  The handler is a standalone program written in Go.
Sensu version: 0.18.1
Server: Ubuntu 14.04
Filter definition:
{
  "filters": {
    "dumb_repeat_alerts": {
      "attributes": {
        "client": {
          "environment": "somenv"
        },
        "check": {
          "name": "dumb_program_running"
        }
      }
    }
  }
}

Handler definition:
{
  "handlers": {
    "foo": {
      "type": "pipe",
      "command": "sensu-handler-foo",
      "severities": [
        "ok",
        "warning",
        "critical"
      ],
      "filters": [
        "dumb_repeat_alerts"
      ]
    }
  }
}

Additionally in the server log, when I change the config file, I see what appears to be a parsing error for the filter:
{"timestamp":"2015-08-27T22:57:11.359334-0700","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/filters/dumb_repeat_alerts.json","changes":{"filters":{"dumb_repeat_alerts":[null,{"attributes":{"client":{"environment":"somenv"},"check":{"name":"dumb_program_running"}}}]}}}

Hi @FartParty, your defined filter dumb_repeat_alerts will let any event with the defined attributes pass through (not negated). As for event silencing with stashes, your event handler written in golang must query the Sensu API to check for their existence (its up to the handler).

for example note this handler with embeded filtering on silenced stashes.   https://github.com/sensu-plugins/sensu-plugin/blob/master/lib/sensu-handler.rb#L144
( is this issue really a bug?  or should it be closed as works as designed? )

Looks like this should have been closed, so I'm going to go ahead and close it. Please feel free to create a new issue if this matter is not resolved. #monitoringlove


ign-transport9 debbuilds failing on debian buster

Environment

OS Version: debian Buster
debbuild for 9.1.0

Description

Expected behavior: expect debbuild to succeed
Actual behavior: it fails

Steps to reproduce

rebuild the following job: https://build.osrfoundation.org/job/ign-transport9-debbuilder/175/

Output
/var/lib/jenkins/workspace/ign-transport9-debbuilder/build/ignition-transport-9.1.0/src/NodeShared.cc:98:16: error: ‘send_flags’ in namespace ‘zmq’ does not name a type
     const zmq::send_flags &_type)
                ^~~~~~~~~~

Per https://github.com/ignition-tooling/release-tools/issues/297, this may require a port of https://github.com/ignitionrobotics/ign-transport/pull/159

I believe #159 is already in ign-transport9, I see lots of IGN_CPPZMQ_POST_4_7_0s in that branch.

I believe #159 is already in ign-transport9, I see lots of IGN_CPPZMQ_POST_4_7_0s in that branch.

you're right; I see them too. I don't know what else is needed then


Upgrading from 0.7.1 to 0.7.3 the operator is no longer able to start

Hi,
I wanted to upgrade to the latest version of the operator, however the deployment gets stuck in a restart loop because of a Python error (see below). Unfortunately, I don't have time right now to debug further, so I downgraded back to 0.7.1 which works fine
Output of the signin action
{
  "message": "Activity 'bitwarden_signin' failed with an exception.


feat: Jekyll/RubyGems (kitchen sink)

To use retry middleware with Faraday v2.0+, install faraday-retry gem
Configuration file: /home/runner/work/blog/blog/_config.yml
Dependency Error: Yikes! It looks like you don't have jekyll-avatar or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. If you've run Jekyll with bundle exec, ensure that you have included the jekyll-avatar gem in your Gemfile as well. The full error message from Ruby is: 'cannot load such file -- jekyll-avatar' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!
bundler: failed to load command: jekyll (/home/runner/work/blog/blog/vendor/bundle/ruby/3.3.0/bin/jekyll)
/home/runner/work/blog/blog/vendor/bundle/ruby/3.3.0/gems/jekyll-4.3.3/lib/jekyll/external.rb:70:in `rescue in block in require_with_graceful_fail': jekyll-avatar (Jekyll::Errors::MissingDependencyException)


unable to shrink apk size using - -keep class com.shockwave.**

please help me with this - my app apk size is 7mb and after added library now apk size in 30mb.
I have used mentioned proguard -keep class com.shockwave.** but still the apk size is same i.e, 30mb.

There are various posts on here that discuss shrinking the apk size, you have recompile the source to shrink the size


Character Encoding issue

If the text involved is not ASCII, it seems to get mangled.
For example if the shortcut is echo “iCanHazShortcut” | pbcopy then pasting gives ‚ÄúiCanHazShortcut‚Äù because the UTF-8 curly quotes at the beginning and end of the echo string are treated, erroneously, as ASCII.
If the shortcut is typed into the shell, it works correctly, and preceding the shortcut definition with LANG=en_US.UTF-8 in iCanHasShortcut setup seems to make no difference.

Pipes create subshells, so if you want to set LANG explicitly it should be done in both shells you spawn:
LANG=en_US.UTF-8 echo “iCanHazShortcut” | LANG=en_US.UTF-8 pbcopy
But first declaration can be omitted because echo actually doesn't care about encodings:
echo “iCanHazShortcut” | LANG=en_US.UTF-8 pbcopy
However, I recommend setting your locale variables through your shell config file (.bash_profile or similar), add this:
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Ha! I had checked my environment for LANG, but I hadn’t thought to check LC_ALL. Adding that to my .bashrc fixed the problem. Thanks!!
Chris
On Feb 28, 2023, at 11:20 AM, Ivan Novokhatski @.***> wrote:
ATTENTION: This email came from an external source. Do not open attachments or click on links from unknown senders or unexpected emails.
Pipes create subshells, so if you want to set LANG explicitly it should be done in both shells you spawn:
LANG=en_US.UTF-8 echo “iCanHazShortcut” | LANG=en_US.UTF-8 pbcopy
But first declaration can be omitted because echo actually doesn't care about encodings:
echo “iCanHazShortcut” | LANG=en_US.UTF-8 pbcopy
However, I recommend setting your locale variables through your shell config file (.bash_profile or similar), add this:
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
—
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdeseven%2FiCanHazShortcut%2Fissues%2F56%23issuecomment-1448470373&data=05|01|Christopher.Vickery%40qc.cuny.edu|90c7c0a9a40a437f8dd608db19a7c501|6f60f0b35f064e099715989dba8cc7d8|0|0|638131980574236436|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=oBytGYhLL5vC3H6I0wxQ3PpKWC9PApUSONn4gMv1Si4%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAADZXOA4JWXN4XYFU455QBLWZYQWFANCNFSM6AAAAAAVK5IFS4&data=05|01|Christopher.Vickery%40qc.cuny.edu|90c7c0a9a40a437f8dd608db19a7c501|6f60f0b35f064e099715989dba8cc7d8|0|0|638131980574236436|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Stpv%2BjlTTYBr%2FRBjlCTmdhHtxCWRO109IqAd2gFXAhM%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


Allow overriding for JmDNS instance creation inside JmmDNSImpl

Resolves #215
You can replace the JmDNS instance creation by subclassing JmmDnsImpl
import java.io.IOException;
import java.net.InetAddress;

import javax.jmdns.JmDNS;
import javax.jmdns.impl.JmmDNSImpl;

public class FastJmmDnsImpl extends JmmDNSImpl
{
    private static final String COMPUTER_NAME = System.getenv("COMPUTERNAME");

    @Override
    protected JmDNS createJmDnsInstance(InetAddress address) throws IOException
    {
        return JmDNS.create(address, COMPUTER_NAME);
    }
}

and then passing this class as the JmmDNS ClassDelegate:
JmmDNS.Factory.setClassDelegate(FastJmmDnsImpl::new);

Hi, allowing for this change is essential. Overriding the way how the JmDNS is created is essential as currently there is no way to bind all interfaces to an own local domain.


Load first lua extensions

Load extensions through a ~/.le file.
All that should be required is to change the filename to load in main() to ~/.le

Could also load lua/init.lua as well for the initialization of core lua stuff.


建议: examples of differences

Please kindly update the readme with various examples on how it is differentiated from normal sql client

A clear explanation will be made later on our website


Data Table stylesheet

Hello Winston,
It seems like the Google Visualization API's stylesheets are not being correctly downloaded and applied.  The allowHtml option works fine though.  So I think it may not even be Google Visualr issue but I thought I will alert you.  The way I noticed it is that the styling on my tables (I used Google's default styling which has a bluish header and alternating row colors).  I am not getting that anymore, instead, it is just a plain color.
This is not a problem by itself, but it causes the data rows to run into the column header rows when scrolling the table.  I am not sure how to fix it.  Is there a place where I can download the style sheet from?
Thanks.
Bharat

Seems to be working on googlevisualr.heroku.com.
Do you have any examples of the failing CSS? Could it be a conflict with any table styles that you have?
In any case, I am not sure where you could download the Google's style sheet.

Hello Winston,
Apologies for the late response, but the problem was not with Google Visualr.  It was with our Internet firewall.  It so happened that it started blocking the download from Google CDN for the spreadsheet and this was happening with not only my software but also the examples that you have so nicely created.    I went around the Internet software firewall by going to alternate route using wireless network and everything was fine.
So no problems, I am closing the issue.
Thanks for your prompt response.
Regards,
Bharat


Introduce API to safely initialize Packets

Problem
We currently abuse uninitialized data with the Packet type that leaves us open to UB in several places. A common pattern is:

Initialize a PacketBatch (mostly a Vec<Packet>) with capacity N
Call set_len(N) on that PacketBatch
Access individual Packet's as if they are properly initialized
https://github.com/anza-xyz/agave/blob/f621667cd1d159142a57922ee4e9fb49ec0182ff/entry/src/entry.rs#L546-L569

As that comment suggests, we did this to avoid writing data / 0's that we will immediately overwrite. However, the manner in which we're doing it is not safe.
Summary of Changes

Introduce PacketWriter to help fill the buffer of a MaybeUninit<Packet> through pointers instead of references
Add several methods to Packet to initialize from some serializable data or a regular byte stream
Update abusers in entry.rs and ShredFetchStage

Subsequent PR's
Some other work that I have in mind that I'd like to defer to subsequent PR's for the sake of keeping each individual PR as small as possible.

Remaining packet_batch.set_len()
There is still one more location where we do set_len() and access the item:
https://github.com/anza-xyz/agave/blob/f621667cd1d159142a57922ee4e9fb49ec0182ff/streamer/src/nonblocking/quic.rs#L960-L972
This one is slightly different as the writes could come out of order, so I was thinking of refactoring that in a different PR

clippy::uninit_assumed_init()
Another instance where me may immediately access uninitialized data is here:
https://github.com/anza-xyz/agave/blob/f621667cd1d159142a57922ee4e9fb49ec0182ff/sdk/packet/src/lib.rs#L210-L219
I would like to address this separately as well, as I think the proper solution is to deprecate Packet::default(). However, Packet lives in sdk so we have to be a little more careful with that one

Not convinced right now that keeping set_len is the ideal safe API.
Can we not do some sort of 'push_data'? This could be a safe fn that can set_len internally. but our function would be safe.

Would push_data() do anything else besides call set_len()? I'd be open to demoting set_len() to private in favor of something else where we do the set_len() + add comments to hopefully avoid future abuse. Just want to make sure I follow your suggestion

I was imagining something like this:
fn try_push_data(&mut self, bytes: &[u8], addr: Option<&SocketAddr>) -> bool {
    if self.len() == self.capacity() {
        return false;
    }

    let uninitialized_packet = self.x.spare_capacity_mut()[0];
    Packet::init_packet_from_bytes(uninitialized_packet, bytes, addr);
    self.set_len(self.len() + 1);

    true
}

I was imagining something like this:
...

Gotcha, we could do something like that and I don't feel too strongly either way. To confirm, is the idea to concentrate as much as possible (if not all) of the unsafe in PacketBatch. If so, this seems reasonable and I'm open to making that adjustment

If I understand this correctly rust says doing assume_init on an uninitialized memory which is not written to yet is undefined behavior. But I do not understand yet if that is still a problem if you never read that uninitialized memory unless you first write to it. Is this clarified anywhere?

The issue is Drop. Say that you have let v = Vec::<u8>::with_capacity(1024). Here v.spare_capacity_mut() returns 1024 bytes of uninitialized memory. But it's safe, and drop(v) is safe because it only drops v.len() elements - it won't drop uninitialized elements. This is why you can't do v.set_len(x) before actually having written to x elements: if between the set_len and writing the elements you panic, then you have UB.

However even with the new code, of the 1232 bytes of the packet buffer, you may only write to a couple of bytes of it but you do assume_init on the whole packet. Why is that ok in the new code but not ok in the old code?

This is never ok. Because Packet::buffer is an array, and drop(array) always drops the whole thing (unlike vec which has variable length), the spare capacity must be initialized with .fill(0). So you save the memset cost on the actual payload size, the rest must be memset.

However even with the new code, of the 1232 bytes of the packet buffer, you may only write to a couple of bytes of it but you do assume_init on the whole packet. Why is that ok in the new code but not ok in the old code?

This is never ok. Because Packet::buffer is an array, and drop(array) always drops the whole thing (unlike vec which has variable length), the spare capacity must be initialized with .fill(0). So you save the memset cost on the actual payload size, the rest must be memset.

I now understand the issue you're calling out Behzad & thanks for the elaboration Alessandro; the fill-rest-with-zero is something I didn't consider / account for. So I guess we have several options:

Continue to have possible UB by not filling rest of buffer
Update code to do ptr.write_bytes(0, capacity - num_written)

I don't immediately see any other options without a much more major change to avoid the ptr.write_bytes(0, ...) to fill the rest of the buffer; certainly open to ideas 😄

But does drop implementation for type Packet (or u8 for the buffer field) going to read any of the memory?
I don't think it does, and if it doesn't why should that still be a problem?

drop of [T; N] is drop(each T in the array) and Drop::drop() takes &mut self so it's like doing uninitialized_u8.drop()

okay, but where does this emit any instructions to read the memory?
and if it doesn't, what is the problem then?

But does drop implementation for type Packet (or u8 for the buffer field) going to read any of the memory?
I don't think it does, and if it doesn't why should that still be a problem?

drop of [T; N] is drop(each T in the array) and Drop::drop() takes &mut self so it's like doing uninitialized_u8.drop()

okay, but where does this emit any instructions to read the memory? and if it doesn't, what is the problem then?

The problem is that this is not C: the compiler is telling you what happens if you make me call drop on something that isn't initialized is undefined and I might crash or sell your SOL. See the SIGILL bug we just fixed.

Continue to have possible UB by not filling rest of buffer
Update code to do ptr.write_bytes(0, capacity - num_written)

Please feel free to tell me I'm dumb. Can we not make Packet store a MaybeUninit buffer?
We can write into it, and whenever we read we assume_init just the slice we know we've written?
This seems like it should be safe and avoids us setting zeroes.
I'm not sure this avoid the Drop of array though as alessandro described.

Please feel free to tell me I'm dumb. Can we not make Packet store a MaybeUninit buffer? We can write into it, and whenever we read we assume_init just the slice we know we've written? This seems like it should be safe and avoids us setting zeroes. I'm not sure this avoid the Drop of array though as alessandro described.

I was thinking along the same line (MaybeUninit<[u8; PACKET_DATA_SIZE]>) so will continue reading & see if anyone spots any issues right out of the gate. We would have to do more pointer manipulation within Packet, but I think we could use stuff like std::slice::from_raw_parts() to still return a &[u8] to a caller wanting to read the contents.
By having the entire thing be MaybeUninit, I believe that drop would not get called at all on the array. But if the array is u8's, I don't think this is problem ?

I was thinking along the same line (MaybeUninit<[u8; PACKET_DATA_SIZE]>) so will continue reading & see if anyone spots any issues right out of the gate. We would have to do more pointer manipulation within Packet, but I think we could use stuff like std::slice::from_raw_parts() to still return a &[u8] to a caller wanting to read the contents.
By having the entire thing be MaybeUninit, I believe that drop would not get called at all on the array. But if the array is u8's, I don't think this is problem ?

all correct!

okay, but where does this emit any instructions to read the memory? and if it doesn't, what is the problem then?

The problem is that this is not C: the compiler is telling you what happens if you make me call drop on something that isn't initialized is undefined and I might crash or sell your SOL.

Okay, so there is no uninitialized memory read but this is still considered UB arbitrarily by the compiler. Is that what you are saying? and do you have any reference for this?

See the SIGILL bug we just fixed.

That was different though.
But there is no pointer here and whatever garbage you write to the memory allocated to Packet, the packet is still valid.
Trying this out on godbolt I only get a ud2 only if I uncomment the last line which uses a pointer:
https://godbolt.org/z/bd6EcGM7b

That was different though.
But there is no pointer here and whatever garbage you write to the memory allocated to Packet, the packet is still valid.

Correct me if I'm wrong @steviez. There is not really an issue now with the current code. It compiles, it may work, even if we're relying on undefined behavior (drop may not work correctly at some points). That can change in any future update of our rustc version, if the compiler becomes more strict about checking for UB - which is what happened to us in 1.82. The goal of the PR is to "future proof" this so it doesn't break in a future compiler version - and since we just fixed another issue related to this, it is fresh in our minds. It makes sense to fix now rather than wait until it breaks and we have to re-gather the context.
We're breaking the assumptions laid out by set_len, and it doesn't matter if the any bit pattern works for that type. From docs of MaybeUninit (https://doc.rust-lang.org/beta/std/mem/union.MaybeUninit.html#initialization-invariant):

This makes it undefined behavior to have uninitialized data in a variable even if that variable has an integer type, which otherwise can hold any fixed bit pattern

Also,

whatever garbage you write to the memory allocated to Packet, the packet is still valid.
I'm pretty sure this isn't true. Packet contains Meta which has an IpAddr. That's an enum and is not valid for any random bit pattern due to the discriminant.


Segmentation Fault

at first, code runs normally, but at gen 32, the thread died because of a Segmentation Fault

I changed the value of mu and lambda to 5 and 20, I also changed  the initial pos of the birds to make them in the range of  SCREEN_HEIGHT // 16 * 7, SCREEN_HEIGHT // 16 * 9
no further modification is made


feat(trin-execution): add JSON-RPC trait's required for the Engine API

What was wrong?
We don't implement the engine api. The first step to do this is by adding the jsonrpcee trait outline.
The engine api, exposes the engine namespace and also a subset of the eth namespace, both under JWT authentication.
I made a PR first just adding the trait to make the changes easier to review, my follow up PR's will be implementing the rest of the Engine API I am not sure how many PR's it will end up being, but I will try to make them all easily review-able sizes
How was it fixed?
Implementing the jsonrpcee trait which outlines both the engine and eth (subset) namespaces which is required to support the engine API

I'm asking this because if I want to build a client to call it, I don't want to depend on the trin-execution for it. But this is something we can easily extract in the future, when we see who is going to use it and how, so no action is expected now.

You can use alloy to call it. Since these calls aren't related to Portal in any context I didn't think it made sense to put it in ethportal-api


feat: map LOI clustering

Implements initial marker clustering support for LOIs of type Point. Currently, we just use the default clustering thresholds. We can tweak this as needed.
Note that we need to tweak a few things in the Map Fragment to make this work. First of all, we need to pass the clustermanager as the map's callback listener for certain events. We also implement a custom renderer for our marker stylings.

Leaving this in draft state for the moment—need to make sure this behaves well w/ marker selections and clean up the code a little then I'll move this out of draft state.

Is this ready for review or is it till in a draft state?

Is this ready for review or is it till in a draft state?

Yes, I think it's rfal now!

Thanks! Needs unit tests, otherwise LGTM!

Added some basic tests, rfal whenever!


spi.c explicitly removes __not_in_flash_func(), but no reason why.

I have been looking to speed up some code of mine which handles a display running over SPI. Delving into spi.c I see that there is the following code, but without an explanation/comment.
`
#pragma warning "spi.c: removing __not_in_flash_func() directive"
#undef __not_in_flash_func
#define __not_in_flash_func(x) x
`
I also see that as well as some functions which are declared inline, and some with no decorators, that some functions are declared as __not_in_flash_func() .... so someone must have decided that these should be in flash for a reason, and rather than removing the directive in the function declaration, that has been left there and the define has been undef'ed.
I am assuming that me putting them back into RAM isn't going to break anything, but being rather anal about such things it would be nice if there was a comment in the code to explain why these functions are in flash, even though they have declarations that state they are  __not_in_flash_func().

Where are you looking? I can't see that in https://github.com/raspberrypi/pico-sdk/blob/develop/src/rp2_common/hardware_spi/spi.c

Where are you looking?

Hi Lurch,
seems like I am the culprit. I just redownloaded the SDK and diffed it against the one I had and it appears that that was the only change.
Apologies.

Where are you looking?

Hi Lurch,
seems like I am the culprit. I just redownloaded the SDK and diffed it against the one I had and it appears that that was the only change.
Apologies.

What's bad is that I don't even recall doing it!


Add an endpoint for creating new users

Please see the commits for details.
A subsequent PR will implement a minimal admin UI for creating new users.
Resolves #1088.

@mnonnenmacher @sschuberth @mmurto could I kindly ask for a review decision on this PR? I'd like to know whether it still needs rework, or whether I can move on to something else (like, add a very minimal UI for it or start working on UI implementation for the new endpoints).

@mnonnenmacher @sschuberth @mmurto could I kindly ask for a review decision on this PR? I'd like to know whether it still needs rework, or whether I can move on to something else (like, add a very minimal UI for it or start working on UI implementation for the new endpoints).

After looking at the PR again I just wonder, why did you not add the new routes to the existing admin route?

@mnonnenmacher @sschuberth @mmurto could I kindly ask for a review decision on this PR? I'd like to know whether it still needs rework, or whether I can move on to something else (like, add a very minimal UI for it or start working on UI implementation for the new endpoints).

After looking at the PR again I just wonder, why did you not add the new routes to the existing admin route?

Can't think of a reason why not. We had an internal team review and wanted to get some comments from you as to that.  Another thing is, I'm not sure UserService belongs under hierarchy, either.


Guidance for transferring ownership of extension

Hey guys,
Not sure if this the best place to post this but there doesn't seem to be any instructions or guidance on how to transfer ownership of an existing extension?
The extension in question is https://marketplace.visualstudio.com/items?itemName=mjmcloug.vscode-elixir
Is this even possible?

Hi,
There are really two approaches, both are not 100% ideal but I'll share them here:

Ask mjmcloug to give you permission to publish the extension (this is possible through the marketplace management experience).  For example we regularly publish the lukehoban.go extension on Luke's behalf.  The upside here is all of the metadata for the extension remains intact (download count, rating, ...) the downside is that you can publish as mjmcloug and that may not be desirable.

Deprecate the existing extension by publishing an update and point users to the next extension.  This is something we did for editorconfig and sql.  The pros here are that you get a fresh new identity and total control of publishing.  The downside is some customer action is required and the metadata is lost.

Here is an example of how the second option worked for SQL.
...

We just published an update to the vscode-mssql prototype on the VS Code Marketplace. This is what users will see when they search for ‘mssql’ on the VS Code Marketplace.

Existing users who have already installed the vscode-mssql extension will see a prompt from VS Code telling them there’s a new version of the extension. After they upgrade to v0.0.5 of ‘vscode-mssql’, VS Code will show the info message below each time the extension is activated:

Clicking ‘Go to VS Code Marketplace’ takes them to our official extension on the VS Code Marketplace here: https://marketplace.visualstudio.com/items?itemName=ms-mssql.mssql
*Clicking ‘Close’ dismisses the info message

In either case, v0.0.5 of the vscode-mssql extension will not add any “MSSQL” commands to the VS Code command palette with this update.
We’ve added a note saying the source code is still available on github in case the community wishes to fork or copy/paste: https://github.com/sanagama/vscode-mssql

I'll close this for now - but fell free to re-open if you have additional questions.
Sean

@seanmcbreen hey mate, thanks for this. Because I'm obviously being blind can you please link me to the marketplace management experience page please as I don't know where I'm looking for it

Hey sorry I missed this - doh.
Here you go:
https://marketplace.visualstudio.com/manage
This should (once authenticated) take you to a page to manage extensions.  Since we normally use the CLI this is not well documented for VS Code sorry.

From here click on your publisher name and select edit publisher

Note: I've moved to my publisher for this screen shot not the Microsoft one in the screens above.

Under Roles you can add additional users and give them publish access.  You need to use the login that the user will have for VSTS.  They will also need to have created a Personal Access Token for that account with access to all accounts.

After that they can log-in via the VSCE CLI i.e. vsce login seanmcbreen then they should enter their Personal Access Token for the account you mapped.
Then vsce publish and vsce unpublish should work.
With that you should be good to go.  LMK if I can clarify any more.
Sean


[Capture location] Capture location button label truncated on some devices

@rfontanarosa What device were you using for the demo today?

@shobhitagarwal1612 @jcqli  Let's come back to this on the next iteration?

I'm unable to reproduce this in Pixel 4 API 32 (4.65inch 720x1280). Can we have more details around the device configuration?

Can't repro


Update cats-effect, cats-effect-laws to 2.4.1

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws

from 2.3.3 to 2.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Migrations

github:typelevel/cats-effect/v2_4_0?sha=v2.4.0

Documentation:

https://github.com/typelevel/cats-effect/blob/v2.4.0/scalafix/README.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, semver-minor, scalafix-migrations

Superseded by #489.


Wip/jsdoc

Pull Request Test Coverage Report for Build 687

13 of 14 (92.86%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.004%) to 82.318%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/schema.js
1
2
50.0%

Totals

Change from base Build 686:
-0.004%

Covered Lines:
7020

Relevant Lines:
8295

💛  - Coveralls


ISO19139 Json-schema creation

Hi,
I trying to create the Json-schema of ISO19139 profile.
../jsonix/lib$ java -jar jsonix-schema-compiler-full.jar http://schemas.opengis.net/iso/19139/20060504/gmd/metadataEntity.xsd

Exception in thread "main" com.sun.tools.xjc.BadCommandLineException: unrecognized parameter -generateJsonSchema
        at com.sun.tools.xjc.Options.parseArguments(Options.java:814)
        at org.hisrc.jsonix.JsonixMain.main(JsonixMain.java:74)

Maybe this feature is not yet with jsonix distributions file ? But the compiler is executed without the generateJsonSchema parameter does not work either.
../jsonix/lib$ java -jar jsonix-schema-compiler-full.jar http://schemas.opengis.net/iso/19139/20060504/gmd/metadataEntity.xsd

Any ideas ?
Thanks in advance
JM

You should npm install jsonix-schema-compiler. The JAR in Jsonix lib is not the actual as Jsonix was not released for quite a while already.
You're trying to compile an OGC Schema. :) This is extremely hard. You need a lot of carefully orchestrated configs and binding files to make it work. This is the scope of the ogc-schemas project. I'll add schema generation in one of the next versions. It's just too tricky - not because of Jsonix but mainly because of the underlying tech (JAXB/XJC).

Yes, I know! :D
I started working with Json-schemas to auto-generate forms. I had nice results using angular-schema-form with the business models on the project I am working on.
Well I just tried it! with ogc-schemas! :P

I'll close this since JSON Schemas area already generated in ogc-schemas:
https://github.com/highsource/ogc-schemas/tree/master/scripts/jsonschemas


section 3: chapter04_code.R mangled

Looks like some encoding issues with the chapter04_code.Rfile.  I noticed it only because github is detecting it as rebol.

Thanks Jesse. Can you explain a little bit more for @peterhcharlton, so he can look into this?

It looks like it was pasted from a source which was HTML, and didn't paste well.  It has HTML style special characters.  e.g., " instead of "

Many thanks @jraffa , I've amended the chapter04_code.R file and I think it's now fixed.

Looks good.  Thanks!


avoid having the word appropriate twice

I think it would be better to avoid having the word used twice in the same sentence. Never type in a live webinar.

This pull request was created as part of a live demo during the webinar about the Open Documentation Initiative, in the SAP Open Source Webinar series. See the replay page for more info and for the recording: https://webinars.sap.com/ospo-webinar-series/en/webinar-replays


Add role to User

"role" is required for transcript in Emulator to work properly, and will enable multi-user scenario.
Currently, in User interface, we only have id, name, and iconUrl. They are not sufficient to clearly identify the origin of an activity. With the upcoming multi-user support, it will be more confusing between bot and users.
The newly added role will give a clearer sense on if the activity is from a bot or an user.
botbuilder-dotnet also has role defined in ChannelAccount.cs:68.

@Stevenic @tomlm Can you take a look at this PR if it's good on the protocol side?


download pretrained model

How i got effnet b0 but not download the weights. I cann't do that

You can use
model = EfficientNet.from_pretrained('efficientnet-b0')


Bug: [V5] Recommended way to set higher-level logic breaks actor

Description
The recommended way to set higher-level logic creates a TypeError: this.logic.getPersistedState is not a function downstream.
function withLogging(actorLogic) {
  const enhancedLogic = {
    ...actorLogic,
    transition: (state, event, actorCtx) => {
      console.log('State:', state);
      return actorLogic.transition(state, event, actorCtx);
    },
  };
  return enhancedLogic;
}

const counterActor = createActor(withLogging(counterMachine));

Expected result
Actor system work with recommended way to add higher level logic.
Actual result
Type Error when calling actor.getPersistedState
Reproduction
https://lit.dev/playground/#sample=examples%2Fhello-world&gist=2c690b9eabd345221116ad5722d78a5f
Additional context
Workaround:
function withLogging(actorLogic) {
  const transition = actorLogic.transition
  const enhancedLogic = {
    transition: (state, event, actorCtx) => {
      console.log('State:', state);
      return transition(state, event, actorCtx);
    },
  };
  return enhancedLogic;
}

Hmm, this is because this particular logic (StateMachine) is implemented using a class. When you spread it... its prototype methods are not spread onto the new object.

Hmm, this is because this particular logic (StateMachine) is implemented using a class

Yes, I agree it is not a big deal - it is just that following the current leads to this issue.


Need to Set a Max version for psql

Issue in help/query-service/clients/psql.md
Using these instructions I installed Postgres 12.3 and was unable to connect to AEP servers.
After rolling back my Postgres version to 10.14 I was able to connect as intended.
The Docs should specify which versions of the Postgres client are compatible with Query Service.

Contact at<EMAIL_ADDRESS>

The documentation has now been updated to clarify connection instructions.
https://experienceleague.adobe.com/docs/experience-platform/query/clients/psql.html?lang=en#connect-psql-and-query-service


Support for Tuya TS0601-family gas leakage sensor

Adds support for Tuya TS0601-family gas leakage sensor:TS0601/_TZE200_ggev5fsl.
NOTE: The device works well but there is still an issue while adding a new automation in HomeAssistant: the New Automation dialog show 'smoke' events instead of gas. This needs to be fixed additionally.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

22 of 33 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 80.926%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/tuya/ts0601_gas.py
22
33
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
4896

Relevant Lines:
6050

💛  - Coveralls


Documentation mentions SmtpTransport::new, which doesn't seem to exist

The documentation at https://docs.rs/lettre/0.10.0-alpha.1/lettre/transport/smtp/struct.SmtpTransport.html#impl says:

Consider using [SmtpTransport::new] instead, if possible.

But I can't find that function. Does it exist?

Fixed in  0.10.0-alpha.2


Force jenkins-ci hook when base url mis-configured

I tried this plugin with my setup.  I managed to successfully Test Connection.
And saw the notification go through to the slack channel which I set up.
I got this warning every time I clicked on Test Connection:
WARNING: Overriding base url to team domain 'portworx' this is due to mis-configuration, you don't need to set base url unless you're using a slack compatible app like mattermost

If I removed the override url, and just used the team domain, then I got:
Failure: {"ok":false,"error":"invalid_auth"}

So for my setup, I need the override URL, otherwise it doesn't work.
Is this warning going to print every time slack sends something?  I'll get hundreds of warnings in my log.

@rodrigc have you tried creating a new token?

I tried this plugin with my setup. I managed to successfully Test Connection.
And saw the notification go through to the slack channel which I set up.
I got this warning every time I clicked on Test Connection:
WARNING: Overriding base url to team domain 'portworx' this is due to mis-configuration, you don't need to set base url unless you're using a slack compatible app like mattermost

If I removed the override url, and just used the team domain, then I got:
Failure: {"ok":false,"error":"invalid_auth"}

So for my setup, I need the override URL, otherwise it doesn't work.
Is this warning going to print every time slack sends something? I'll get hundreds of warnings in my log.

Can you add the log message that slackSend logs without this PR?
I'm wondering if someone is setting botUser somewhere

Without this patch, I have hundreds of logs like this from slackSend():
https://github.com/jenkinsci/slack-plugin/issues/594#issuecomment-516740921

FYI, when upgrading from version 2.11 to version 2.33 with this PR I started getting the following error when running the slackSend step:
java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
	at java.util.regex.Matcher.reset(Matcher.java:309)
	at java.util.regex.Matcher.<init>(Matcher.java:229)
	at java.util.regex.Pattern.matcher(Pattern.java:1093)
	at jenkins.plugins.slack.StandardSlackService.correctMisconfigurationOfBaseUrl(StandardSlackService.java:134)
	at jenkins.plugins.slack.StandardSlackService.publish(StandardSlackService.java:193)
	at jenkins.plugins.slack.StandardSlackService.publish(StandardSlackService.java:292)
	at jenkins.plugins.slack.StandardSlackService.publish(StandardSlackService.java:287)
	at jenkins.plugins.slack.workflow.SlackSendStep$SlackSendStepExecution.run(SlackSendStep.java:342)
	at jenkins.plugins.slack.workflow.SlackSendStep$SlackSendStepExecution.run(SlackSendStep.java:248)
	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

@basil can you post details of the slack portion of your Jenkins setup?  (Comment out any sensitive data), similar to what I did here: https://github.com/jenkinsci/slack-plugin/issues/594#issuecomment-516948297

@basil can you post details of the slack portion of your Jenkins setup? (Comment out any sensitive data), similar to what I did here: #594 (comment)

The Slack portion of my Jenkins setup is completely blank; I don't have any global configuration. I just configure each slackSend step individually.

Fixed released in 2.34 sorry about that @basil
https://github.com/jenkinsci/slack-plugin/releases/tag/slack-2.34

Thank you!

@timja This fix helps a bit, but I'm still getting hundreds of warnings in the Jenkins log:
Sep 30, 2019 6:54:46 AM jenkins.plugins.slack.StandardSlackService correctMisconfigurationOfBaseUrl
WARNING: Overriding base url to team domain 'XXXX' this is due to mis-configuration, you don't need to set base url unless you're using a slack compatible app like mattermost`

CONFIGURATION 1: Set the Workspace, leave the override URL empty
If I set the team domain, auth fails completely if I click on Test Connection.

CONFIGURATION 2: Unset the Workspace, populate the override URL, select bot user
Auth succeeds but I get a warning in the log:
Sep 30, 2019 6:54:46 AM jenkins.plugins.slack.StandardSlackService correctMisconfigurationOfBaseUrl
WARNING: Overriding base url to team domain 'XXX' this is due to mis-configuration, you don't need to set base url unless you're using a slack compatible app like mattermost

*CONFIGURATION 3: Unset the Workspace, populate the override URL, unselect bot user
Auth succeeds but I get a warning in the log:
Sep 30, 2019 7:11:38 AM jenkins.plugins.slack.StandardSlackService correctMisconfigurationOfBaseUrl
WARNING: Overriding base url to team domain 'XXX' this is due to mis-configuration, you don't need to set base url unless you're using a slack compatible app like mattermost

Is there a way that the slack-plugin can stop printing out this warning, since I
cannot get this to work unless I use the override URL.  I got the override URL by
creating a new integration at https://XXX.slack.com/services/new/jenkins-ci

Ah OK, that worked, thanks.  From the instructions, and the error message, this is not obvious.

Could you suggest where it could be improved or even better a pull request to docs or UI?

@timja I can confirm that the latest plugin works.
To minimize user error, I would recommend that the UI be changed so that if
someone enters in the Override url field any string which matches slack.com/services/hooks/jenkins-ci, then the UI should print out a warning or error message in red.
This was not obvious to me when I set this up originally, and having the UI provide more useful hints would have been helpful

Created https://github.com/jenkinsci/slack-plugin/issues/635


Wrong URL when using CloudFront in front of API Gateway

Just reporting a bug I'm working on right now: I have trouble getting the correct URL called in the browser when using CloudFront in front of API Gateway.
CloudFront -> API Gateway -> AWS Lambda

CloudFront is useful to be able to serve both assets from S3 and dynamic content from Lamdba in the same website.
However the URL detected by Bref in the lambda is not the one actually loaded in Cloudfront because Cloudfront URLs do not contain the stage prefix (e.g. /dev).
I have asked a question on stackowerflow: https://stackoverflow.com/questions/52582792/how-to-get-the-original-url-called-in-aws-lambda Here is a description of the problem:
I have a lambda setup with the proxy integration in API Gateway. I can call my lambda with a URL like https://7kbw9fcfa4.execute-api.us-east-1.amazonaws.com/dev/foo The path here is /dev/foo.
However if I set up CloudFront in front of that, the URL becomes https://a45ex7tnds5r5o.cloudfront.net/foo and the path is /foo.
In both cases I have the same keys in the event variable:

path contains /foo
requestContext.path contains /dev/foo

So I don't know yet how to reliably retrieve the correct URL of the original request.

This is actually the same issue with a custom domain name I believe.
One thing we could do is always drop the stage prefix (/dev) from the URL. That means it's easier to go from local development (e.g. Symfony routes) to online on API Gateway to production with a custom domain/Cloudfront: we use always the same routes.
But that also means that we are "hiding" the real URLs when on API Gateway. And if we use the router to generate URLs (e.g. links to other pages) then we generate wrong links…  Can the URI be mapped from one to the other programattically somehow on the AWS side?

@eddmann yes, but the problem is when using CloudFront like this:
CloudFront -> API Gateway -> AWS Lambda

@mnapoli Are you using CloudFront directly or via API Gateway?

I use it to serve both assets from S3 and dynamic content from Lamdba in the same website/domain name.
I had an interesting answer on StackOverflow:

You could configure your CloudFront distribution to use a custom header that would be passed to the Lambda function. Then you could determine whether to use path or requestContext.path based on if that CloudFront-only header is present.

I guess that would work, but that's definitely not great to ask Bref users to do that for their projects…

Sounds like a good "hack" which could be at least partially automated, and if we add some information in bref readme that should be fine for now, no?

Ahh right. Yes you could add an additional header with CloudFront requests. Another option is to have two separate CloudFront distros. one which API Gateway manages (handling the desired prefix etc). and another which is used for static assets. Doing it this way however would require two separate domains which I'm assuming you are trying to get away from?
Another option that I haven't tried and am unsure on (due to Lambda sizes) is to store all assets within the Lambda along side the code. In this case you have a dedicated handler that gets run when static assets are requested. Performance for this would not be ideal on initial request but as you can tweak the Cache controls and API Gateway is going through CloudFront you will benefit from there caching platform.

Doing it this way however would require two separate domains which I'm assuming you are trying to get away from?

Yes, I'm trying to make it possible to do what most PHP applications do, i.e. serve both PHP and assets under the same domain.

store all assets within the Lambda along side the code. In this case you have a dedicated handler that gets run when static assets are requested.

I wondered about this too. The first hit would be slow and that seems overkill to serve assets using PHP. And as you mention, it's too bad to have to upload the assets to the lambda, that doesn't seem ideal 🤔 	But maybe for small application it could work… Anyway if I can make it work with CloudFront that's better IMO.

Just my 2 cents, lambda zip file is limited to 50mb so all assets should be optimized, and they should be served by the node handler without ever hit the php handler, what do you think?

Just my 2 cents, lambda zip file is limited to 50mb so all assets should be optimized, and they should be served by the node handler without ever hit the php handler, what do you think?

Hmm, wouldn't that cause a problem when the routing / management for assets is handled by the PHP framework?

Oh that’s definitely simpler to serve assets using Node! Maybe there could be an optional config to let Bref’s JS handler serve assets, and if you want to handle those manually with Cloudfront or PHP then it’s up to you...
Le 4 oct. 2018 à 10:35 -0400, Neal Brooks<EMAIL_ADDRESS>a écrit :

Just my 2 cents, lambda zip file is limited to 50mb so all assets should be optimized, and they should be served by the node handler without ever hit the php handler, what do you think?
Hmm, wouldn't that cause a problem when the routing / management for assets is handled by the PHP framework?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Sure - maybe some configurable toggle to serve assets using node / PHP?


code for cifar10 prediction

Can you share the code for cifa10 prediction? Thanks.

The current version is not scalable to high-loss cases and this is why we included a high-order bias in the stochastic approximation, which still requires an excessively large batch size of 1000. We have worked out a variant that can work well in the case of high-losses. You can wait a while for the new version to study if you don't mind, otherwise, you can send me your email.

The current version is not scalable to high-loss cases and this is why we included a high-order bias in the stochastic approximation, which still requires an excessively large batch size of 1000. We have worked out a variant that can work well in the case of high-losses. You can wait a while for the new version to study if you don't mind, otherwise, you can send me your email.

Thanks. My email is<EMAIL_ADDRESS>

Thanks. My email is<EMAIL_ADDRESS>

Thanks. My email is<EMAIL_ADDRESS>
Sent.

Thanks. My email is<EMAIL_ADDRESS>
Sent.


Fail to insert VARBINARY type using clickhouse-jdbc with new driver com.clickhouse.jdbc.ClickHouseDriver

I use clickhouse jdbc 0.3.2 and the new driver com.clickhouse.jdbc.ClickHouseDriver, but encounter an exception when inserting binary data into clickhouse.
It can be reproduced with the following code:
private static final String DRIVER_NAME = "com.clickhouse.jdbc.ClickHouseDriver"
public static void main(String[] args) throws Exception {
        Properties info = new Properties();
        info.setProperty("user", CLICKHOUSE_USERNAME);
        info.setProperty("password", CLICKHOUSE_PASSWORD);
        Driver loadedDriver = loadDriver(DRIVER_NAME);

        try (Connection connection = loadedDriver.connect(CLICKHOUSE_JDBC_URL, info)) {
            Statement statement = connection.createStatement();
            String createTableDDL =
                    "create table if not exists t1(id int, varbinary_data VARBINARY) ENGINE = MergeTree() ORDER By id";
            statement.execute(createTableDDL);
            int i = 1;
            byte[] bytes = "charlie".getBytes();
            PreparedStatement preStatement =
                    connection.prepareStatement(
                            "INSERT INTO `t1`(`id`, `varbinary_data`) VALUES (?, ?)");
            preStatement.setInt(1, i);
            preStatement.setBytes(2, bytes);
            preStatement.execute();
        }
    }

private static Driver loadDriver(String driverName)
            throws SQLException, ClassNotFoundException {
        Preconditions.checkNotNull(driverName);
        Enumeration<Driver> drivers = DriverManager.getDrivers();
        while (drivers.hasMoreElements()) {
            Driver driver = drivers.nextElement();
            if (driver.getClass().getName().equals(driverName)) {
                return driver;
            }
        }
        // We could reach here for reasons:
        // * Class loader hell of DriverManager(see JDK-8146872).
        // * driver is not installed as a service provider.
        Class<?> clazz =
                Class.forName(driverName, true, Thread.currentThread().getContextClassLoader());
        try {
            return (Driver) clazz.newInstance();
        } catch (Exception ex) {
            throw new SQLException("Fail to create driver of class " + driverName, ex);
        }
    }

It'll then throw
Exception in thread "main" java.sql.SQLException: Code: 47. DB::Exception: Missing columns: 'charlie' while processing query: 'charlie', required columns: 'charlie' 'charlie': While executing ValuesBlockInputFormat. (UNKNOWN_IDENTIFIER) (version <IP_ADDRESS>)
, server ClickHouseNode(addr=xxxx, db=default)
	at com.clickhouse.jdbc.SqlExceptionUtils.handle(SqlExceptionUtils.java:54)
	at com.clickhouse.jdbc.SqlExceptionUtils.handle(SqlExceptionUtils.java:69)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.executeStatement(ClickHouseStatementImpl.java:139)
	at com.clickhouse.jdbc.internal.SqlBasedPreparedStatement.executeBatch(SqlBasedPreparedStatement.java:128)
	at com.clickhouse.jdbc.internal.SqlBasedPreparedStatement.execute(SqlBasedPreparedStatement.java:382)
	at org.apache.flink.connector.clickhouse.T3.main(T3.java:61)
Caused by: java.io.IOException: Code: 47. DB::Exception: Missing columns: 'charlie' while processing query: 'charlie', required columns: 'charlie' 'charlie': While executing ValuesBlockInputFormat. (UNKNOWN_IDENTIFIER) (version <IP_ADDRESS>)

	at com.clickhouse.client.http.HttpUrlConnectionImpl.checkResponse(HttpUrlConnectionImpl.java:130)
	at com.clickhouse.client.http.HttpUrlConnectionImpl.post(HttpUrlConnectionImpl.java:201)
	at com.clickhouse.client.http.ClickHouseHttpClient.postRequest(ClickHouseHttpClient.java:88)
	at com.clickhouse.client.http.ClickHouseHttpClient.execute(ClickHouseHttpClient.java:115)
	at com.clickhouse.client.ClickHouseRequest.execute(ClickHouseRequest.java:1375)
	at com.clickhouse.jdbc.internal.ClickHouseStatementImpl.executeStatement(ClickHouseStatementImpl.java:133)
	... 3 more

But when I changed the DRIVER_NAME to ru.yandex.clickhouse.ClickHouseDriver, it works well

Thanks for the report @luoyuxia. Will take a look when I get home. Meanwhile, could you try v0.3.2-patch11(Maven groupId is com.clickhouse)? Alternatively, you may try v0.4.0 with connection property use_binary_string set to true?
FYI, starting from v0.4.0, the driver treats String as text by default, but you may enable binary support by setting use_binary_string to true, at the cost of additional memory footprints(due to unnecessary byte array copy) and ~10% performance degrade when handling String.

@zhicwu Thanks for quick response. 0.3.2-patch11 works well.
But I'm curious about why 0.3.2-patch11 works, is there any issue/pr fix it?

@zhicwu Thanks for quick response. 0.3.2-patch11 works well.

Good to know.

But I'm curious about why 0.3.2-patch11 works, is there any issue/pr fix it?

It was an issue before v0.3.2-patch3. PR #815 fixed the issue and passed regression test in trino.


calling explorer.exe stopped working

Your Windows build number:  (Type ver at a Windows Command Prompt)
10.0.18917.1000

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.):
In Ubuntu shell, just type explorer.exe and press enter. Same thing happens with "explorer.exe ."

What's wrong / what should be happening instead:
I get the error "/mnt/c/WINDOWS/explorer.exe: Invalid argument" instead of the expected opening of Explorer in Windows. It also indents the prompt on the next line aligned to the end of the error message. This used to work the last couple of days.

Strace of the failing command, if applicable:  (If some_command is failing, then run strace -o some_command.strace -f some_command some_args, and link the contents of some_command.strace in a gist here).
I don't think this is applicable.

For WSL launch issues, please collect detailed logs.
Not applicable

Well, I figured out the cause, sort of.
I had another Explorer window open with a modal error message popped up saying that \wsl$[rest of path] was not available anymore. I guess that happened at some point when my laptop went to sleep? Not positive.
Regardless, I'm unblocked, but that's a not-so-helpful error message.

but that's a not-so-helpful error message

What would you propose the execve()? [This is a rhetorical not a real question.]
Happy to hear you are unblocked. 👍


Zooming under Android 3 crashes the browser

The browser crashes when zooming on Android 3 tablet. Have no idea why this happens and how to debug this, so any help is much appreciated.

Is this still an issue?
		if (!L.Browser.android) { 			this.on('tileunload', this._onTileRemove); 		}
My app is running fine on Crosswalk 22 (Chromium 52) without the upper check.


chore(dev): enhance the dev experience

It's now a lot faster to get updates on the page.
Still some issues (that were already present before): some menu items
are disappearing when you change layouts or markdown files.
Most probably because the navigation building is based on the
processed files.
We will have to fix that.

LGTM


prompt now requires the module prompt-pwd

It would help the user after the latest update of his modules to have a short note that prompt now requires the module prompt-pwd, instead of the error message that the prompt-pwd command is missing.

Hi @Konfekt. Check discussion in https://github.com/zimfw/magicmace/issues/3.
TL;DR I'm announcing these changes in the  📢 Announcements discussion channel, and changes are also being shown in the git log in zimfw update:
) magicmace: Updating 9fc8e39..7386964
  * 7386964 Require prompt-pwd module (18 hours ago)

Also, I've included:

[ ] I've checked the 📢 Announcements and I'm not being affected by announced changes.

in the template of the bug request here.

Okay, thank you and pardon the noise, this is then more or less a duplicate.


select being called after subscribe on autopipeline + enableOfflineQueue

Redis version: 4.28.5
I have a pretty simple singleton subscriber instance. It is used on a redis instance (underlying running AWS ElastiCache, non-clustered, v6.0.5) only for subscribe queries.
The pattern used is, I create or retrieve the singleton, not waiting for the ready event, call subscribe, and listen for responses.
Between 3 and 20ms after the ready event fires, I get an error from redis due to the select query being fired presumably after the subscribe query that would have been placed in the offline queue.
The configuration is
{
  port: options.port,
  host: options.host,
  password: options.password,
  db: options.database, // value between 0 and 4
  enableReadyCheck: true,
  enableAutoPipelining: true
}

When enableAutoPipelining is removed or set to false, the error does not reproduce.
[In order to work around this issue, I'm going to wire up a queue outside ioredis and only feed queries in after ready fires... or, at least, that'll be my next attempt]
Error:
ReplyError: ERR Can't execute 'select': only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT are allowed in this context
Stack:
    at Redis.emit (events.js:314:20)
    at Redis.EventEmitter.emit (domain.js:483:12)
    at Redis.silentEmit (/home/ec2-user/bubble/node_modules/ioredis/built/redis/index.js:553:26)
    at /home/ec2-user/bubble/node_modules/ioredis/built/redis/event_handler.js:42:22
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Edit: ~minimal reproduction
const Redis = require('ioredis')

const options = {
  port: 6379,
  host: 'localhost',
  db: 6,
  enableReadyCheck: true,
  enableAutoPipelining: true
}

function frob () {
  const redis = new Redis(options)
  redis.on('error', function (err) {
    console.log('Error connecting to redis')
    console.log(err)
  })
  redis.subscribe('frob')
}

frob()

Edit 2: After a good deal of investigation, I have reason to believe that non-subscriber clients on dbs other than 0 are sending some portion of their commands to db 0 before the first select gets issued under the same conditions as this issue.

Today I faced same issue, when upgraded bull and ioredis in one of my projects. I previously used enableAutoPipelining: true both for Redis storage and queue connections. Disabling enableAutoPipelining for my queues solved the issue.

[In order to work around this issue, I'm going to wire up a queue outside ioredis and only feed queries in after ready fires... or, at least, that'll be my next attempt]

Turns out the select is still firing even though we wait for the ready event with an external queue, just not as often


cleanup(sinsp): add set_static_container method

What type of PR is this?
/kind cleanup

Any specific area of the project related to this PR?
/area libsinsp

Does this PR require a change in the driver versions?

What this PR does / why we need it:
This change splits configuration of the static container data away from the sinsp constructor and into a separate set_static_container method.
The motivation behind this change is two fold:

Configuration of other container engines is handled by a call to set_container_engine_mask() before starting the inspector, the new method is closer to this implementation.
Enabling metrics collection should not require adopters to pass in 4 unrelated arguments to the sinsp constructor.

These changes will require some modifications into the Falco main repo, as far as I can tell they should be relatively straight forward.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Remove static container arguments from sinsp constructor.
Add set_static_container method.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Molter73]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: eaea7250dd6067f4fd314de72751cea3e50c1c7a

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,Molter73]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, incertum, Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,Molter73,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Validate HA Rancher deployment on hardened K3s cluster

Validate HA Rancher deployment on hardened K3s cluster.

Am able to deploy v2.6 rancher using both ingress-nginx and traefik on a hardened k3s cluster. Validated on master-head commit cf5a75f. In traefik setups, the following network policy is required to be deployed:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-network-traefik-policy
  namespace: kube-system
spec:
  ingress:
  - ports:
    - port: 80
      protocol: TCP
    - port: 443
      protocol: TCP
  podSelector:
    matchExpressions:
    - {key: app, operator: In, values: [traefik,svclb-traefik]}
  policyTypes:
  - Ingress


[SPARK-41410][K8S] Support PVC-oriented executor pod allocation

What changes were proposed in this pull request?
This PR aims to support PVC-oriented executor pod allocation which means Spark driver will create a fixed number of PVCs (= spark.executor.instances or spark.dynamicAllocation.maxExecutors) and hold on new executor pod creations if the number of created PVCs reached the limit.
Why are the changes needed?
This will allow Spark to hand over the existing PVCs from dead executors to new executors. Previously, Spark creates new executors without waiting the dead executors release their PVCs.
Does this PR introduce any user-facing change?
No, this is a new feature which is disabled by default.
How was this patch tested?
Pass the CIs with the newly added test case.

I think the PVC_COUNTER should only be decremented when the pod deletion happens (in response to error).
@dongjoon-hyun
What do you think of the following change ?
diff --git a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala
index 4188a9038a..63fc29ea80 100644
--- a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala
+++ b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala
@@ -433,6 +433,7 @@ class ExecutorPodsAllocator(
         podWithAttachedContainer, resolvedExecutorSpec.executorKubernetesResources, reusablePVCs)
       val createdExecutorPod =
         kubernetesClient.pods().inNamespace(namespace).resource(podWithAttachedContainer).create()
+      var success = 0
       try {
         addOwnerReference(createdExecutorPod, resources)
         resources
@@ -445,6 +446,7 @@ class ExecutorPodsAllocator(
             logInfo(s"Trying to create PersistentVolumeClaim ${pvc.getMetadata.getName} with " +
               s"StorageClass ${pvc.getSpec.getStorageClassName}")
             kubernetesClient.persistentVolumeClaims().inNamespace(namespace).resource(pvc).create()
+            success += 1
             PVC_COUNTER.incrementAndGet()
           }
         newlyCreatedExecutors(newExecutorId) = (resourceProfileId, clock.getTimeMillis())
@@ -455,8 +457,12 @@ class ExecutorPodsAllocator(
             .inNamespace(namespace)
             .resource(createdExecutorPod)
             .delete()
-          PVC_COUNTER.decrementAndGet()
+          if (success == 1) {
+            success += 1
+          }
           throw e
+      } finally {
+          if (success == 2) PVC_COUNTER.decrementAndGet()
       }
     }
   }

If pvc isn't created successfully, it seems the counter shouldn't be decremented.

Thank you for review, @tedyu .
Could you make a PR with valid test case for your claim?
BTW, technically, a single pod can have multiple PVCs. So success == 2 is incorrect in your suggestion. You need to fix that in your PR.

Do you mean that .delete() can fail, @tedyu ?

Yeah - the delete in catch block may fail.
There could be other error, say prior to the creation of PVC.

In case of creation failure, PVC_COUNTER.incrementAndGet() is not invoked.
https://github.com/apache/spark/blob/e58f12d1843af39ed4ac0c2ff108490ae303e7e4/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala#L447-L448
In case of deletion failure, PVC_COUNTER.decrementAndGet() is not invoked.
https://github.com/apache/spark/blob/e58f12d1843af39ed4ac0c2ff108490ae303e7e4/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/ExecutorPodsAllocator.scala#L454-L458
So, we had better remove PVC_COUNTER.decrementAndGet(), right? If you agree, I will make a follow-up for the deletion of PVC_COUNTER.decrementAndGet().

The catch block handles errors beyond PVC creation failure.
        case NonFatal(e) =>

Execution may not reach the resource(pvc).create() call.
So we would know the cause if additional flag, success above, is introduced.
The decrementAndGet call should be executed in the scenario shown in https://github.com/apache/spark/pull/38948

I commented on your PR.


💡[FEATURE]: Bank Loan modelling

Context
This case is about a bank (Thera Bank) which has a growing customer base. Majority of these customers are liability customers (depositors) with varying size of deposits. The number of customers who are also borrowers (asset customers) is quite small, and the bank is interested in expanding this base rapidly to bring in more loan business and in the process, earn more through the interest on loans. In particular, the management wants to explore ways of converting its liability customers to personal loan customers (while retaining them as depositors). A campaign that the bank ran last year for liability customers showed a healthy conversion rate of over 9% success. This has encouraged the retail marketing department to devise campaigns to better target marketing to increase the success ratio with a minimal budget.
The department wants to build a model that will help them identify the potential customers who have a higher probability of purchasing the loan. This will increase the success ratio while at the same time reduce the cost of the campaign.
Content
Column descriptions ID Customer ID Age Customer's age in completed years Experience #years of professional experience Income Annual income of the customer ($000) ZIPCode Home Address ZIP code. Family Family size of the customer CCAvg Avg. spending on credit cards per month ($000) Education Education Level. 1: Undergrad; 2: Graduate; 3: Advanced/Professional Mortgage Value of house mortgage if any. ($000) Personal Loan Did this customer accept the personal loan offered in the last campaign? Securities Account Does the customer have a securities account with the bank? CD Account Does the customer have a certificate of deposit (CD) account with the bank? Online Does the customer use internet banking facilities? CreditCard Does the customer uses a credit card issued by UniversalBank?
Acknowledgements
This data set was given as part of course in machine learning. I have also added my observations on the data. I thank my faculty for giving an opportunity to work on this dataset.
Inspiration
Study the data distribution in each attribute, share your findings.
Use a classification model to predict the likelihood of a liability
customer buying personal loans.

Hello @Akshat111111  can you assign me this issue . I wanna solve this issue

Hello @Akshat111111 can you assign me this issue . I wanna solve this issue

let @PRIYANSHU2026 solve this issue.You can create a new issue as per your specification.


fix unescaping code to match all instances of & and not just the first

This fixes a bug where we weren't unescaping enough. Not a security issue.

+1


Available workload updates blow up azd up

I just had a deployment blow up randomly because there is workload updates available. here is the relevant section from the azd output. It isn't an AZD issue, it is an issue with the fact that container publish blows up if a workload update is available:

@radical Looks like it broke on the azd side due to parsing the output. AZD would be looking at the output looking for the container ID.

This shows me that we should prioritize controlling how azd gets the manifest. This should be controlled by our targets

This also happens for the container build/publish so its not just manifest related.

We haven't seen any more of this so the mitigation possibly worked. Closing for now.


Created a new extension to Parsedown / ParsedownExtra

I have created a new extension there contain a lot of the requested features called ParsedownExtreme
Its require:

Parsedown - 1.8.0-beta-4
ParsedoenExtra - 0.8.0-beta-1

there are no knowing bugs at the moment but will update it and optimize it

Feel free to add this to the list over at https://github.com/erusev/parsedown/wiki/Extensions-and-Related-Libraries, I'll close this for now since it's not really an "issue" :)


wasabiwallet: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zkSNACKs/WalletWasabi/releases.
meta.description for wasabiwallet is: "Privacy focused Bitcoin wallet"
meta.homepage for wasabiwallet is: "https://wasabiwallet.io/"
meta.changelog for wasabiwallet is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

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

Warning: no invocation of /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS>/bin/wasabiwallet had a zero exit code or showed the expected version

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

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

found <IP_ADDRESS> with grep in /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS>

found <IP_ADDRESS> in filename of file in /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS>

directory tree listing: https://gist.github.com/0026a02be3b136fdd86c1b5f348252b4

du listing: https://gist.github.com/e26a3900dc56926619ec048164bbbbfe

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

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
wasabiwallet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS>
ls -la /nix/store/dvpzb4cn4aafqvq4wahk1jpf1412zw3p-wasabiwallet-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

wasabiwallet

Maintainer pings
cc @mmahut for testing.

Result of nixpkgs-review pr 118107 at ad21bad7 run on x86_64-linux 1

1 package built successfully:

wasabiwallet

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/blockchains/wasabiwallet/default.nix:46:3:
   |
46 |   installPhase = ''
   |   ^

new release available


Draw the infra

As mentioned in the JOURNEY.md, I haven't designed the infra as I pictured it in my head, now I need to get it down to paper so others (and future me 😄) will realize what I did.
Definition of done
Added an image of the infra to the README.md file

Yalla this commit https://github.com/unfor19/restro/commit/5840129058f9c87a6e0252bc3cb762e2ec18cb77 closes this issue.
It's nasty to commit directly to main, but I'm living on the edge at the moment


[Question] deploy the application to the same server that hosts the strider

I wish to host the strider and my application in the same dev server. How should I write the deploy script in this case?
Thanks!

That depends on how you plan on deploying. By default the custom plugin runs bash commands in the directory where the project is cloned, so you don't have to do much.

Thank @knownasilya for the nice script!
It shame on me that I used the SSH plugin and didn't notice the Custom Scripts until now lol.

Glad I could help.


[Dialog] Improves borders behavior in scrollable Dialog

[x] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

When Dialog is scrollable show borders around its content only when content is bigger than calculated max height.
Address https://github.com/callemall/material-ui/issues/4310.

This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a temporary error. The following address(es) deferred:
<EMAIL_ADDRESS>Domain biomassiv.es has exceeded the max emails per hour (112/100 (112%)) allowed.  Message will be reattempted later
------- This is a copy of the message, including all the headers. ------
------ The body of the message is 5032 characters long; only the first
------ 5000 or so are included here.
Received: from github-smtp2-ext1.iad.github.net ([<IP_ADDRESS>]:51841 helo=github-smtp2a-ext-cp1-prd.iad.github.net)
by chi-server32.websitehostserver.net with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
(Exim 4.88)
(envelope-from<EMAIL_ADDRESS>id 1cy1dg-000LNr-Hp
for<EMAIL_ADDRESS>Tue, 11 Apr 2017 14:39:44 -0500
Date: Tue, 11 Apr 2017 12:39:05 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
s=pf2014; t=1491939545;
bh=bTsZxVsoDTdfkhvboM8QlYFltriXnTrTs2soR12WPy0=;
h=From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post:
List-Unsubscribe:From;
b=AnwQumjPK23xu3VyFpzrtPXlwZZkihKj1GogJzgLwwnBT3ehz3tXqgZLl5+QwqQUP
BjTFikD/ZL8CyE3zHrJ2HsMSCbDzGn8e042UjRgfIe3Wx1VIZKdx05laSIxoX2SSo0
bCoKaxx3hGhzHN1tzQu/p+OyOIjO2/6KOYxR2qMA=
From: Bogna Knychała<EMAIL_ADDRESS>Reply-To: callemall/material-ui<EMAIL_ADDRESS>To: callemall/material-ui<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>Subject: [callemall/material-ui] [Dialog] Improves borders behavior in
scrollable Dialog (#6576)
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_58ed30d972451_365a3feac4cf9c2c1725f3";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: bognix
X-GitHub-Recipient: biomassives
X-GitHub-Reason: subscribed
List-ID: callemall/material-ui <material-ui.callemall.github.com>
List-Archive: https://github.com/callemall/material-ui
List-Post<EMAIL_ADDRESS>List-Unsubscribe<EMAIL_ADDRESS>https://github.com/notifications/unsubscribe/AELU4jw13se9WOr0oM1XLCgLW8QHqKGIks5ru9bZgaJpZM4M6jeI
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address<EMAIL_ADDRESS>----==_mimepart_58ed30d972451_365a3feac4cf9c2c1725f3
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

When Dialog is scrollable show borders around its content only when content is bigger than calculated max height.
Address https://github.com/callemall/material-ui/issues/4310.
You can view, comment on, or merge this pull request online at:
https://github.com/callemall/material-ui/pull/6576
-- Commit Summary --

Add borders around dialog content only when dialog has scroll

-- File Changes --
M src/Dialog/Dialog.js (8)

-- Patch Links --
https://github.com/callemall/material-ui/pull/6576.patch
https://github.com/callemall/material-ui/pull/6576.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/callemall/material-ui/pull/6576
----==_mimepart_58ed30d972451_365a3feac4cf9c2c1725f3
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit

 PR has tests / docs demo, and is linted.
 Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
 Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

When Dialog is scrollable show borders around its content only when content is bigger than calculated max height.
Address #4310.

You can view, comment on, or merge this pull request online at:
  https://github.com/callemall/material-ui/pull/6576
Commit Summary

Add borders around dialog content only when dialog has scroll

File Changes

M
src/Dialog/Dialog.js
    (8)

Patch Links:

https://github.com/callemall/material-ui/pull/6576.patch
https://github.com/callemall/material-ui/pull/6576.diff

—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

----==_mimepart_58ed30d

@bognix Sorry for the delay, thanks!