Google Api Error: releasesTooManyCompletedReleases when rolling out to 100% of production with retained APKs

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description

Supply is returning a Google Play API error when trying to rollout our staged release to 100% of production. We also have quite a few retained APKs which are part of each release which may be related.
Command executed

fastlane rollout
The relevant part of our Ruby Fastfile is as follows:
    lane :rollout do |options|
      supply_options = {
        package_name: APPLICATION_ID
        json_key: key_file,
        track: 'production',
        version_code: version_code,
        rollout: 1,
        skip_upload_apk: true,
        skip_upload_aab: true,
        metadata_path: METADATA_PATH
      }

      supply(supply_options)
    end

Complete output when running fastlane, including the stack trace and command used

[07:47:39]: Sending anonymous analytics information
[07:47:39]: Learn more at https://docs.fastlane.tools/#metrics
[07:47:39]: No personal or sensitive data is sent.
[07:47:39]: You can disable this by adding `opt_out_usage` at the top of your Fastfile
[07:47:39]: ---------------------------
[07:47:39]: --- Step: opt_out_usage ---
[07:47:39]: ---------------------------
[07:47:39]: Disabled upload of used actions
[07:47:39]: ------------------------------
[07:47:39]: --- Step: default_platform ---
[07:47:39]: ------------------------------
[07:47:39]: Driving the lane 'android rollout' 🚀
[07:47:39]: ---------------------------------------------
[07:47:39]: --- Step: google_play_track_version_codes ---
[07:47:39]: ---------------------------------------------
[07:47:41]: Found '673, 73701, 362400, 383300, 682100, 1211063, 673, 73701, 362400, 383300, 682100, 1210962' version codes in track 'production'
[07:47:41]: Verified version code is included in 'production' track.
[07:47:41]: --------------------
[07:47:41]: --- Step: supply ---
[07:47:41]: --------------------
+-------------------------+--------------------------------+
|                Summary for supply 2.137.0                |
+-------------------------+--------------------------------+
| package_name            | com.myapp                      |
| json_key                | /usr/src/app/key.json          |
| track                   | production                     |
| version_code            | 1211063                        |
| rollout                 | 1.0                            |
| skip_upload_apk         | true                           |
| skip_upload_aab         | true                           |
| metadata_path           | /usr/src/app/fastlane/metadata |
| release_status          | completed                      |
| skip_upload_metadata    | false                          |
| skip_upload_changelogs  | false                          |
| skip_upload_images      | false                          |
| skip_upload_screenshots | false                          |
| validate_only           | false                          |
| check_superseded_tracks | false                          |
| timeout                 | 300                            |
| deactivate_on_promote   | true                           |
+-------------------------+--------------------------------+
[07:47:43]: Updating 673's rollout to '1.0' on track 'production'...
+------------------+-----------------+
|            Lane Context            |
+------------------+-----------------+
| DEFAULT_PLATFORM | android         |
| PLATFORM_NAME    | android         |
| LANE_NAME        | android rollout |
+------------------+-----------------+
[07:47:43]: Google Api Error: releasesTooManyCompletedReleases: Too many completed releases specified. - Too many completed releases specified.
+------+------------------------+-------------+
|              fastlane summary               |
+------+------------------------+-------------+
| Step | Action                 | Time (in s) |
+------+------------------------+-------------+
| 1    | opt_out_usage          | 0           |
| 2    | default_platform       | 0           |
| 3    | google_play_track_ver  | 2           |
|      | sion_codes             |             |
| 💥   | supply                 | 1           |
+------+------------------------+-------------+
[07:47:43]: fastlane finished with errors
[!] Google Api Error: releasesTooManyCompletedReleases: Too many completed releases specified. - Too many completed releases specified.
[07:47:43]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables

Environment

[✔] 🚀
[23:09:52]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:09:52]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables
[23:09:53]: Sending anonymous analytics information
[23:09:53]: Learn more at https://docs.fastlane.tools/#metrics
[23:09:53]: No personal or sensitive data is sent.
[23:09:53]: You can disable this by adding `opt_out_usage` at the top of your Fastfile
[23:09:53]: Generating fastlane environment output, this might take a few seconds...
🚫 fastlane environment 🚫
Stack

Key
Value

OS
debian_based 8.7

Ruby
2.4.0

Bundler?
false

Git
git version 2.1.4

Installation Source
/usr/local/bundle/bin/fastlane

Host
Debian GNU/Linux 8 debian_based 8.7 (4.9.125-linuxkit)

Ruby Lib Dir
/usr/local/lib

OpenSSL Version
OpenSSL 1.0.1t  3 May 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
./fastlane/Fastfile
Ommitted :)

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.137.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.2

claide
1.0.3

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.13.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.6.0

terminal-table
1.8.0

plist
3.5.0

public_suffix
2.0.5

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.7.0

tty-cursor
0.7.0

tty-spinner
0.9.1

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.70.0

faraday
0.17.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.13.1

fastimage
2.1.7

gh_inspector
1.1.3

json
2.0.2

mini_magick
4.9.5

multi_xml
0.6.0

rubyzip
1.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.5

bundler
1.14.6

naturally
2.2.0

simctl
1.6.6

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mime-types-data
3.2019.1009

mime-types
3.3

multi_json
1.14.1

signet
0.12.0

memoist
0.16.2

os
1.0.1

googleauth
0.6.7

httpclient
2.8.3

google-api-client
0.23.9

google-cloud-env
1.3.0

google-cloud-core
1.4.1

digest-crc
0.4.1

google-cloud-storage
1.16.0

emoji_regex
1.0.1

openssl
2.0.2

io-console
0.4.6

psych
2.2.2

Please let me know if I'm doing something wrong or if you need more information from me!h

We also have quite a few retained APKs which are part of each release which may be related.

Can you provide more information what this actually means?

@janpio I'll do my best to explain. Every Android app has a minimum SDK requirement which is the oldest version of Android that the app supports. For example, an Android app may have a min SDK of 21 meaning that it only runs on Android 5.0 devices and higher.
Android developers can bump their min SDK meaning that they drop support for an older version of Android. Normally this means that users on older SDKs trying to download the app from the Google Play store will get a message that their device is no longer supported. Google Play supports a feature where old binaries can be "retained" so that they are still served to users. This means that users on old version of Android can still download an old version of app but they will not receive updates.
See: https://developer.android.com/google/play/publishing/multiple-apks.html
In the bug report mentioned above, we have a few retained APKs which corresponding to min SDK changes. The highest version in the version codes list printed out by fastlane is the new binary being released while the other ones are being retained.

We're still having this issue. Any idea what is going on? Thanks!


Questions about ATS translation request and ATS Page Request handling

Whether the DTF affects the following logged in the fault queue

ATS [1] translation requests that encounter a configuration error results in a Completer Abort (CA)
response to the requester. The following cause codes belong to this category:
• Instruction access fault (cause = 1)
• Read access fault (cause = 5)
• Write/AMO access fault (cause = 7)
• MSI PTE load access fault (cause = 261)
• MSI PTE misconfigured (cause = 263)
• PDT entry load access fault (cause = 265)
• PDT entry misconfigured (cause = 267)

Whether the following status cause a fault to log in the fault queue? The conditons where no faults are logged in the fault queue for PCIe ATS "Page Request" messages don't include both the following status

The status is set to Invalid Request if the following faults are encountered:
• ddtp.iommu_mode is Bare
• EN_PRI is set to 0

Whether the DTF affects the following logged in the fault queue

Yes it does. Please also see table 11.

Whether the following status cause a fault to log in the fault queue? The conditons where no faults are logged in the fault queue for PCIe ATS "Page Request" messages don't include both the following status

Yes, they will. Please also see section 4.2 that states "If a fault condition prevents locating a valid device context then the DTF value assumed for reporting such faults is 0."

Yes, they will. Please also see section 4.2 that states "If a fault condition prevents locating a valid device context then the DTF value assumed for reporting such faults is 0."
So what is the cause of each of them?I think that when ddtp.iommu_mode is Bare,report"Transaction type disallowed" (cause = 260);and when EN_PRI is set to 0, report "DDT entry misconfigured" (cause = 259).And the ttyp should be "PCIe Message Request"(ttyp ==9).Is that right?

The cause is 260 for both of these and the transaction type is message request.

I also have another question. For the PRI fault report, the software can get the relevant information through the interruption caused by fip or pip, except when pqen=0 or pqon=0. I can understand why a fault report is not generated to log in fault queue when page-request queue encountered a memory access fault (pqcsr.pqmf == 1) or "Page Request" could not be queued due to the page-request queue being full (pqt == pqh - 1) or had a overflow (pqcsr.pqof == 1). That's because pqof and pqmf themselves generate an interrupt. Why there is no fault report logged in fault queue when pqen==0 or pqon==0?

Why there is no fault report logged in fault queue when pqen==0 or pqon==0?

When software has just disabled the page requests queue then it is not useful to remind software that it has disabled the page request queue.

Thanks for your answer.


Unexpected PASS[OK] on RV32I that does not support misaligned instruction addresses

Hey everyone,
I have been testing a RV32I CPU that does not support misaligned instruction addresses through the privilege set of tests  and I was expecting to have all tests failing but ebreak/ecall passing, as it's implemented in the design. But for my surprise misalign1-jalr-01 test was passing as you can see in the image below.

While reading the objdump I noticed that the instruction which is suppose to generate a synchronous trap / exception is the one at the line 85 once the jump address is not 4-byte / word aligned.

The problem that I see is that this jump will never generate a trap once LSB needs to be cleared for the jump target address as specified in the unprivileged ISA.

Thus technically this test seems contradictory once it should not pass if the design does not support misaligned instr. addresses as mentioned in the Test Disclaimers. Am I missing something?
Ps.: Is there a set of tests for the Zicsr?, if so what is the RISCV_DEVICE value?

@aignacio The test does behave as intended. This test is used to generate effective addresses which have the LSB set. As pointed out by you in the spec, the LSB should be cleared while generating the target address using JALR. By setting the LSB of the address in the register to 1 we ensure that this operation is performed correctly in the DUT. This test should not generate a trap incase the design conforms to the RISC-V spec. It would be a problem if the test indeed trapped. The misalign2-jalr-01 is the tests which tests for 2 byte offsets. That test is intended to trap in implementations which do not have the C extension. I think the disclaimer should remove the misalign1-jalr from the list of tests which will fail.

Thanks for the feedback @pawks, I see your point, so the test disclaimer needs to be updated just to avoid the same question again =)

Just to make this clear: where is this disclaimer that should be modified?
On Sun, Feb 20, 2022 at 6:29 AM Anderson Ignacio @.***>
wrote:

Thanks for the feedback @pawks https://github.com/pawks, I see your
point, so the test disclaimer needs to be updated just to avoid the
same question again =)
—
Reply to this email directly, view it on GitHub
https://github.com/riscv-non-isa/riscv-arch-test/issues/232#issuecomment-1046250107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJXRLWDR2HI4IXWDTIDU4D3FPANCNFSM5O4OVLXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Its this line here which needs to be changed to:
   2. rv[32/64]i_m/privilege/src/misalign2-jalr-01.S

got it, thanks
On Sun, Feb 20, 2022 at 8:28 PM S Pawan Kumar @.***>
wrote:

Its this
https://github.com/riscv-non-isa/riscv-arch-test/blob/307c77b26e070ae85ffea665ad9b642b40e33c86/README.md?plain=1#L33
line here which needs to be changed to:

rv[32/64]i_m/privilege/src/misalign2-jalr-01.S

—
Reply to this email directly, view it on GitHub
https://github.com/riscv-non-isa/riscv-arch-test/issues/232#issuecomment-1046464020,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJT3UOT2KQJSSU4FFETU4G5QRANCNFSM5O4OVLXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

@allenjbaum are you going to update the test disclaimers?

I was actually going to have the person that added the disclaimer do that.
I will contact him.
On Mon, Mar 7, 2022 at 12:40 AM Anderson Ignacio @.***>
wrote:

@allenjbaum https://github.com/allenjbaum are you going to update the
test disclaimers?
—
Reply to this email directly, view it on GitHub
https://github.com/riscv-non-isa/riscv-arch-test/issues/232#issuecomment-1060332445,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJTXEIHWMXUK4F4MLTTU6W6IBANCNFSM5O4OVLXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Done here.


Cannot immediately dismiss Flashbar instance

Consider this code:
class MainActivity : AppCompatActivity() {

    var flashbar : Flashbar? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setupFlashbar()
    }

    override fun onStart() {
        super.onStart()

        flashbar?.show()
        flashbar?.dismiss()
    }

    fun setupFlashbar() {
        flashbar = Flashbar.Builder(this)
                .message("Test")
                .gravity(Flashbar.Gravity.BOTTOM)
                .build()
    }
}

If you run it, you'll see that flashbar is still shown, regardless of flashbar?.dismiss() being called.
I'm not sure if this is a bug, since method isShowing() is provided so case like that was considered. If so, please add something like onFlashbarShown interface so it's possible to make sure that flashbar is dismissed.
Thanks for reading this. The library is great ♥

any solution for this ?????

@sondangpangaribuan Yes, but it is only a dirty quick fix:
Using debouncer library you can delay your .dismiss() call to make sure that flashbar is fully shown. Show/hide animation continues for 300 ms.
This is a code example:
if (loadingFlashbar.isShowing()) {
     Debouncer.debounce("hide-loading-snackbar", new Runnable() {
        @Override
        public void run() {
            loadingFlashbar.dismiss();
        }
    }, 300);
} else {
    loadingFlashbar.dismiss();
}

thank you

@sondangpangaribuan Yes, but it is only a dirty quick fix:
Using debouncer library you can delay your .dismiss() call to make sure that flashbar is fully shown. Show/hide animation continues for 300 ms.
This is a code example:
if (loadingFlashbar.isShowing()) {
     Debouncer.debounce("hide-loading-snackbar", new Runnable() {
        @Override
        public void run() {
            loadingFlashbar.dismiss();
        }
    }, 300);
} else {
    loadingFlashbar.dismiss();
}

The bad thing is that we cannot use this if we migrate to the AndroidX libraries. Gonna have to find another work around to this.

@sondangpangaribuan Yes, but it is only a dirty quick fix:
Using debouncer library you can delay your .dismiss() call to make sure that flashbar is fully shown. Show/hide animation continues for 300 ms.
This is a code example:
if (loadingFlashbar.isShowing()) {
     Debouncer.debounce("hide-loading-snackbar", new Runnable() {
        @Override
        public void run() {
            loadingFlashbar.dismiss();
        }
    }, 300);
} else {
    loadingFlashbar.dismiss();
}

The bad thing is that we cannot use this if we migrate to the AndroidX libraries.
Gonna have to find another work around to this.

I don't think that this debouncer will introduce any issues while migrating to AndroidX - it does have no dependencies. In fact, it's just one .java file wrapped with module and deployed to bintray.


[ZEPPELIN-5705] Incorrect scala version checking in SparkSqlInterpreter.java

What is this PR for?
Trivial PR to reset the ClassLoader for the correct scala version
What type of PR is it?
[Bug Fix ]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5705

How should this be tested?

Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Will merge if no more comment


Renaming the async variable

Renaming the async variable because it is a keyword in new python versions and this breaks voltron.
Fixing Issue #241

ping @snare

ping


update vite and purgecss dependencies

A small update to be able to continue using this package without problems with vite >= 3.

please merge it


Upgrade dependencies to support stack resolver set 17.x

Required package bumps:

[ ] http2 range needs to accept 2.0.5
[ ] network range needs to accept <IP_ADDRESS>

Never mind, it looks like it already does. Don't mind me.


As user, I should be able to add, update, delete and query shop products before stock entry

User should be able to see the product screen
User should be able to add the product by filling the required details in the form given
User should be able to see the list of the products added into my shop
User should be able to update the selected product
User should be able to delete the selected product
Any error during any of operation need to displayed on screen

Feature completed


German Translation

I made a german translation for your mod. If translations are missing or forgotten, just contact me.
[SR]Factional War german.zip
greetings b0tch

I made a german translation for your mod. If translations are missing or forgotten, just contact me.
[SR]Factional War german.zip
greetings b0tch

Thank you very much !

hi, could you post your steam url here. I want to add it to credit
------------------ 原始邮件 ------------------
发件人:                                                                                "Shadowrabbit/ModRimWorldFactionalWar"                                                                                @.>;
发送时间: 2021年7月10日(星期六) 凌晨0:41
@.>;
@.***>;
主题: [Shadowrabbit/ModRimWorldFactionalWar] German Translation (#3)
I made a german translation for your mod. If translations are missing or forgotten, just contact me.
[SR]Factional War german.zip
greetings b0tch
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

https://steamcommunity.com/id/botchnade/ thats my account
greetings


Paging support for longer tickets

Fixes #20 and adds / fixes relevant tests

Fixes #20 the Zendesk API defaults to 100 comments per page. This update adds paging support for those longer tickets


Clicking in the title area after the menu does not close the menu

Click on the menu. While open click on the area in the title after the last menu entry -> menu does not close.
Notice how menus on win / mac always close if you click there.
The current behavior makes the menu more sticky and not nice.

duplicate of #53479


how to run the demo example?

I tried to run  cargo loco start command in the examples/demo folder. It started to install crates and then failed with:
    Finished dev [unoptimized + debuginfo] target(s) in 56.60s
     Running `target/debug/demo start`
Error: Connection Error: pool timed out while waiting for an open connection

Caused by:
    pool timed out while waiting for an open connection

Location:
    /home/gabor/os/loco/src/cli.rs:228:31

I guess it failed to connect to the database (as I don't have one)
Maybe the examples need a README file to explain how to run it and what does it do.

Hi! thanks for trying it out!
You can check out the DB instructions in the tour:
https://loco.rs/docs/getting-started/tour/
I will create a new issue to display a helpful text when a db is not available

Thanks. I'd still add a README to the example, maybe with a link to this page.

thanks, added readme to all starters


Can't run on rootless podman

I do all my Rust development inside a rootless podman container; think Docker but (1) no server and (2) everything runs as my own user.
Attempting to run tarpaulin gives:
   Compiling zero2prod v0.1.0 (/src/zero2prod)
    Finished test [unoptimized + debuginfo] target(s) in 40.04s
Sep 05 04:21:58.330  INFO cargo_tarpaulin::process_handling::linux: Launching test
Sep 05 04:21:58.330  INFO cargo_tarpaulin::process_handling: running /src/zero2prod/target/debug/deps/zero2prod-bc2e565627450988
Sep 05 04:21:58.330 ERROR cargo_tarpaulin: Failed to run tests: ASLR disable failed: ENOSYS: Function not implemented
Error: "Failed to run tests: ASLR disable failed: ENOSYS: Function not implemented"
Sep 05 04:22:05.834 ERROR cargo_tarpaulin: Failed to get test coverage! Error: Failed to run tests: Unexpected signal when starting test
Error: "Failed to get test coverage! Error: Failed to run tests: Unexpected signal when starting test"

I poked around online a bit, and it seems like it's normal/expected to not be able to disable ASLR inside a container (see for example https://security.stackexchange.com/questions/214923/disable-aslr-inside-docker-container ).  So I disabled it on the running system; here's the outer system and the container:
rlpowell@stodi> sudo sysctl kernel.randomize_va_space
kernel.randomize_va_space = 0
root@a7f0bda449f1:/src/zero2prod# sysctl kernel.randomize_va_space
kernel.randomize_va_space = 0

I suspect the issue is something like "tarpaulin can't detect the ASLR state properly from inside the container".  Unless tarpaulin actually requires running as root on the real kernel, in which case yeah this isn't gonna work.
Here's full debug output:
https://gist.github.com/05e704c84daa0633c26f6741f8a991cc

so in docker (which ime is normally the same as podman) the normal approach is to use --security-opt seccomp=unconfined. Tarpaulin does use the personality syscall to change the ASLR flag for a binary so I guess the security options prevent that syscall from succeeding and cause the failure.
If there's an easy way to check if ASLR is disabled for the system and then skipping the personality call that should hopefully solve the issue. I can look into this after work or if you're interested I can point at where in the code you'd add it (process_handling/linux.rs most likely, just grep for personality)

Oh!  No, --security-opt seccomp=unconfined totally worked just fine.  I couldn't find anywhere saying that that would work, or I would have tried it.  :)

I definitely see that the docs say to do that, but I wasn't searching on seccomp, I was searching on the error, so it might be worth mentioning ASLR in the docs somewhere?
Also, --security-opt seccomp=/tmp/seccomp.json works, where /tmp/seccomp.json is https://github.com/moby/moby/blob/master/profiles/seccomp/default.json with the following diffs ; this is a much safer option.
Thanks for the help!
--- /tmp/seccomp.json.orig      2022-09-05 10:14:53.781705007 -0700
+++ /tmp/seccomp.json   2022-09-05 10:14:56.109701729 -0700
@@ -424,66 +424,7 @@
                        "names": [
                                "personality"
                        ],
-                       "action": "SCMP_ACT_ALLOW",
-                       "args": [
-                               {
-                                       "index": 0,
-                                       "value": 0,
-                                       "op": "SCMP_CMP_EQ"
-                               }
-                       ]
-               },
-               {
-                       "names": [
-                               "personality"
-                       ],
-                       "action": "SCMP_ACT_ALLOW",
-                       "args": [
-                               {
-                                       "index": 0,
-                                       "value": 8,
-                                       "op": "SCMP_CMP_EQ"
-                               }
-                       ]
-               },
-               {
-                       "names": [
-                               "personality"
-                       ],
-                       "action": "SCMP_ACT_ALLOW",
-                       "args": [
-                               {
-                                       "index": 0,
-                                       "value": 131072,
-                                       "op": "SCMP_CMP_EQ"
-                               }
-                       ]
-               },
-               {
-                       "names": [
-                               "personality"
-                       ],
-                       "action": "SCMP_ACT_ALLOW",
-                       "args": [
-                               {
-                                       "index": 0,
-                                       "value": 131080,
-                                       "op": "SCMP_CMP_EQ"
-                               }
-                       ]
-               },
-               {
-                       "names": [
-                               "personality"
-                       ],
-                       "action": "SCMP_ACT_ALLOW",
-                       "args": [
-                               {
-                                       "index": 0,
-                                       "value":<PHONE_NUMBER>,
-                                       "op": "SCMP_CMP_EQ"
-                               }
-                       ]
+                       "action": "SCMP_ACT_ALLOW"
                },
                {
                        "names": [

Ah yeah I'll adapt the docs accordingly, also thanks for that snippet I'll add it to the ever increasing readme :sweat_smile:

Awesome thank you!  And thank you for the tool!

Updated the readme


Images Optimized Using ImgBot

This is an Additional Pull Request which is made possible with help of ImgBot(contributed). It has optimized Images used in the Documentation of this file. Thank You.

Hey @iamhardikat11, it is required that you work on an existing issue since CONTRIBUTING.md talks about choosing an issue first and no such issue for image optimization was created yet. I appreciate the interest you show in contributing to the chatApp, however I don't think we need optimization on images for now. Thank you for understanding!

Cool, No Problem.


tests: build_all: Add missing sensor drivers

Updates the build_all sensors tests to include many missing sensor drivers
Fixes several compiler warnings and build issues found as a result

Codecov Report

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

@@           Coverage Diff           @@
##           master   #10114   +/-   ##
=======================================
  Coverage   52.48%   52.48%
=======================================
  Files         213      213
  Lines       26135    26135
  Branches     5633     5633
=======================================
  Hits        13718    13718
  Misses      10160    10160
  Partials     2257     2257

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 47db520...0b81033. Read the comment docs.


Proposal to add Zobrist Hashing in Chess.js.

I would like if someone would add Zobrist Hashing in Chess.js because I'm trying to implement a Transposition Table but there is no hash function.

I second this.


[PROPOSAL] Add Jule to Github Linguist

Detailed description
Right now, GitHub doesn’t recognize Jule files, which means there’s no syntax highlighting for Jule code.
Adding Jule to GitHub Linguist will allow GitHub to properly highlight Jule code, making it easier to read and work with. This will help developers see the code clearly and improve collaboration. It will also make Jule more visible, helping it gain popularity and attract more contributors.
Context
Currently, Jule isn’t supported for syntax highlighting on GitHub, which makes it harder to read and work with Jule code in repositories. It will help Jule gain more visibility, encouraging more people to try it out and contribute, which could help grow the Jule community.
Possible implementation
We can:

Add the .jule file extension to the languages.yml file in the Linguist repository.
Set up syntax highlighting rules for Jule to match its basic syntax, similar to how other languages are handled.
Test the changes using some Jule code samples to ensure the highlighting works properly.
Submit a pull request to the Linguist repository so the changes can be reviewed and merged.

This process should help GitHub recognize and highlight Jule code correctly.
Additional information
No response

This is not a proposal that the Jule team will directly accept or reject, because it about an independent repository, but there is no harm in adding it. Therefore I mark it as "Accepted".
It is not currently possible or not a priority for official Jule developers to do it. Linguist has a development environment and technologies I'm not familiar with, so community support is needed for the necessary PR. I'll do my best to support.
Some guesses for any community member looking to implement this;

When adding support for Jule, it might be helpful to look at what Jule-like languages do.
For example, Go and Rust  are good candidates.
For keywords and similar things, Jule's vscode extension may help; especially this file

This is not a proposal that the Jule team will directly accept or reject, because it about an independent repository, but there is no harm in adding it. Therefore I mark it as "Accepted".
It is not currently possible or not a priority for official Jule developers to do it. Linguist has a development environment and technologies I'm not familiar with, so community support is needed for the necessary PR. I'll do my best to support.
Some guesses for any community member looking to implement this;

When adding support for Jule, it might be helpful to look at what Jule-like languages do.
For example, Go and Rust  are good candidates.
For keywords and similar things, Jule's vscode extension may help; especially this file

Exactly, I opened it here just to keep it as an idea.

Adding support in chroma might be a good idea as well. A lot of projects use it (including WakaTime

Adding support in chroma might be a good idea as well. A lot of projects use it (including WakaTime).

I agree. It would be good.

https://github.com/github-linguist/linguist/blob/main/CONTRIBUTING.md#adding-a-language

@adamperkowski Should we work on a PR for this?
Do you think Jule can pass the popularity assessment by #5756?

@mertcandav we could start working on that. i'm sure it'll take a lot of time though as i think we need an ace and codemirror modes done.
about the requirements, i'm not sure we have 100% of what's needed but i don't think it's a big deal.

okay so i started working on the PR here. all we need is some examples now


fix cuda DNN lib path for mac

https://github.com/tensorflow/tensorflow/commit/ddedb9e094fe3c0e942fdf9d70c21d4df87f8c35 introduced an error providing a non-existent lib.
From the Tensorflow docs:
https://www.tensorflow.org/get_started/os_setup under the section: Optional: Setup GPU for Mac:

Finally, you will also want to install the CUDA Deep Neural Network (cuDNN v5) library which currently requires an Accelerated Computing Developer Program account. Once you have it downloaded locally, you can unzip and move the header and libraries to your local CUDA Toolkit folder:
$ sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/
$ sudo mv lib/libcudnn* /Developer/NVIDIA/CUDA-8.0/lib
$ sudo ln -s /Developer/NVIDIA/CUDA-8.0/lib/libcudnn* /usr/local/cuda/lib/

The cuDNN v5 library provided by Nvidia at https://developer.nvidia.com/rdp/cudnn-download, cudnn-8.0-osx-x64-v5.1.tgz, has libcudnn.5.dylib, not libcudnn.5.
Here's the output of ./configure, run on a Macbook Pro 10.11.6:
Before (buggy) version that gets stuck on specifying the cuDNN path:
➜  tensorflow git:(master) ./configure
~/os/tensorflow ~/os/tensorflow
Please specify the location of python. [Default is /usr/bin/python]:
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N]
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with Hadoop File System support? [y/N]
No Hadoop File System support will be enabled for TensorFlow
Found possible Python library paths:
  /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
  /Library/Python/2.7/site-packages
Please input the desired Python library path to use.  Default is [/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python]

Using python library path: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Do you wish to build TensorFlow with OpenCL support? [y/N]
No OpenCL support will be enabled for TensorFlow
Do you wish to build TensorFlow with CUDA support? [y/N] y
CUDA support will be enabled for TensorFlow
Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:
Please specify the CUDA SDK version you want to use, e.g. 7.0. [Leave empty to use system default]:
Please specify the location where CUDA  toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]:
Please specify the Cudnn version you want to use. [Leave empty to use system default]: 5
Please specify the location where cuDNN 5 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /Developer/NVIDIA/CUDA-8.0/
Invalid path to cuDNN  toolkit. Neither of the following two files can be found:
/Developer/NVIDIA/CUDA-8.0/lib/libcudnn.5
/Developer/NVIDIA/CUDA-8.0/libcudnn.5
Please specify the Cudnn version you want to use. [Leave empty to use system default]:

After my changes:
➜  tensorflow git:(master) ./configure
~/os/tensorflow ~/os/tensorflow
Please specify the location of python. [Default is /usr/bin/python]:
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N]
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with Hadoop File System support? [y/N]
No Hadoop File System support will be enabled for TensorFlow
Found possible Python library paths:
  /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
  /Library/Python/2.7/site-packages
Please input the desired Python library path to use.  Default is [/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python]

Using python library path: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Do you wish to build TensorFlow with OpenCL support? [y/N]
No OpenCL support will be enabled for TensorFlow
Do you wish to build TensorFlow with CUDA support? [y/N] y
CUDA support will be enabled for TensorFlow
Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:
Please specify the CUDA SDK version you want to use, e.g. 7.0. [Leave empty to use system default]:
Please specify the location where CUDA  toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]:
Please specify the Cudnn version you want to use. [Leave empty to use system default]: 5
Please specify the location where cuDNN 5 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /Developer/NVIDIA/CUDA-8.0/
Please specify a list of comma-separated Cuda compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size.
[Default is: "3.5,5.2"]: 3.0
............
INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
........
____Loading package: tensorflow
____Loading package: tensorflow/contrib/tfprof/python/tools/tfprof
____Downloading http://bazel-mirror.storage.googleapis.com/github.com/google/protobuf/archive/008b5a228b37c054f46ba478ccafa5e855cb16db.tar.gz: 157,769 bytes
[truncated]
Configuration finished

Can one of the admins verify this patch?

This bug exists only if the answer to the question "Please specify the Cudnn version you want to use. [Leave empty to use system default]: " is non-empty. This PR would solve the problem in that case, but would introduce another bug for the case where the answer is empty. Can you make changes around line 292h please?

Ping!
Any progress here?
Should we take over this?

I'll be happy to take this on myself in case @K75gTJnoDY0e is unavailable to work on it.

The underlying issue should have been fixed by PR https://github.com/tensorflow/tensorflow/pull/6641. Closing this PR.


Wrong endpoint for Get-RubrikVolumeGroupMount

Endpoint changed in 5.3, wrong endpoint for Get-RubrikVolumeGroupMount

Fixed in #727
https://github.com/rubrikinc/rubrik-sdk-for-powershell/pull/727


download_strategy: only take basename of Content-Disposition

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

This is breaking netris.

Review period skipped due to critical label.


Improving the distributed deployment overview

Refactoring the Distributed Deployment overview page.

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


No more indication on hover of the selected link in the top bar

Apologies if this is a duplicate and if the question was already answered elsewhere.
First of all, thanks for the nice theme that takes accessibility into account. Linked to this, I was quite surprised that there is no more indication when hovering the selected link in the top bar:
Screencast from 06-12-2024 11:30:33.webm

From https://pydata-sphinx-theme.readthedocs.io/en/v0.15.4/community/index.html

Before (14.x), there was an double underline. Was it removed intentionally ?
Thanks !

Hey @loichuder 👋🏽 yes, we have continued to work on the interactive elements, and this was one where folks mentioned the previous behavior being a bit disruptive.
@smeragoel recently reworked these designs, and mixed states (hover + current, focus + hover) were quite problematic to get right, so in the interim, we removed this current + hover.
We might reevaluate this in the future, but right now we are focusing on other items.

True, that is always tricky to get right. Thanks for the answer :+1:

Hi @loichuder!
While @trallard has already provided the answer, I wanted to mention how valuable it is that you reported this. It’s really helpful for us to understand how users are engaging with the theme and such feedback helps us to make the theme more accessible and user-friendly as we continue to work on it.
Thanks again for taking the time to share your thoughts! 🌟


SMTPs profile not created/assigned to virtual server when smtpsStartTLS is set to "require"

Environment

Application Services Version: 3.43
BIG-IP Version: <IP_ADDRESS>

Summary
SMTPs profile not created/assigned to virtual server when smtpsStartTLS is set to "require"
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json",
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
      "class": "ADC",
      "schemaVersion": "3.43.0",
      "id": "123abc",
      "label": "SMTPS Example",
      "remark": "",

      "Tenant_Acme": {
        "class": "Tenant",

        "acme_smtp_app": {
          "class": "Application",

          "acme_smtp_vs": {
            "class": "Service_TCP",
            "virtualAddresses": [
              "<IP_ADDRESS>"
            ],
            "virtualPort": 25,
            "pool": "acme_smtp_pool",
            "snat": "self",
            "smtpsStartTLS": "require",
            "serverTLS": {
              "bigip": "/Common/clientssl"
            },
            "clientTLS": {
              "bigip": "/Common/serverssl"
            },
            "persistenceMethods": []
          },

          "acme_smtp_pool": {
            "class": "Pool",
            "loadBalancingMode": "round-robin",
            "monitors": [{
              "use": "smtp_monitor"
            }],

            "members": [{
              "servicePort": 25,
              "shareNodes": false,
              "serverAddresses": [
                "<IP_ADDRESS>"
              ],
              "hostname": "foobar"
            }]
          },
          "smtp_monitor": {
            "class": "Monitor",
            "monitorType": "smtp",
            "interval": 30,
            "timeout": 91,
            "domain": "F5"
          }
        }
      }
    }
 }

Observe the following error response:
Application gets created, but with no SMTPS profile:

{
    "id": "885d82d8-5e8d-4ef9-b336-703df0db6979",
    "results": [
        {
            "code": 200,
            "message": "success",
            "lineCount": 27,
            "host": "localhost",
            "tenant": "Tenant_Acme",
            "runTime": 890
        }
    ],
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.43.0",
        "id": "123abc",
        "label": "SMTPS Example",
        "remark": "",
        "Tenant_Acme": {
            "class": "Tenant",
            "acme_smtp_app": {
                "class": "Application",
                "acme_smtp_vs": {
                    "class": "Service_TCP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>"
                    ],
                    "virtualPort": 25,
                    "pool": "acme_smtp_pool",
                    "snat": "self",
                    "smtpsStartTLS": "require",
                    "serverTLS": {
                        "bigip": "/Common/clientssl"
                    },
                    "clientTLS": {
                        "bigip": "/Common/serverssl"
                    },
                    "persistenceMethods": []
                },
                "acme_smtp_pool": {
                    "class": "Pool",
                    "loadBalancingMode": "round-robin",
                    "monitors": [
                        {
                            "use": "smtp_monitor"
                        }
                    ],
                    "members": [
                        {
                            "servicePort": 25,
                            "shareNodes": false,
                            "serverAddresses": [
                                "<IP_ADDRESS>"
                            ],
                            "hostname": "foobar"
                        }
                    ]
                },
                "smtp_monitor": {
                    "class": "Monitor",
                    "monitorType": "smtp",
                    "interval": 30,
                    "timeout": 91,
                    "domain": "F5"
                }
            }
        },
        "updateMode": "selective",
        "controls": {
            "archiveTimestamp": "2023-03-28T14:36:35.957Z"
        }
    }
}

BUT virtual server does not have SMTPs profile assigned:
tmsh list ltm virtual /Tenant_Acme/acme_smtp_app/acme_smtp_vs all-properties
ltm virtual /Tenant_Acme/acme_smtp_app/acme_smtp_vs {
address-status yes
app-cloud-security-services none
app-service none
auth none
auto-lasthop default
bwc-policy none
clone-pools none
cmp-enabled yes
connection-limit 0
creation-time 2023-03-28:07:36:35
description acme_smtp_app
destination /Tenant_Acme/<IP_ADDRESS>:smtp
enabled
ephemeral-auth-access-config none
eviction-protected disabled
fallback-persistence none
flow-eviction-policy none
gtm-score 0
ip-protocol tcp
last-hop-pool none
last-modified-time 2023-03-28:07:36:35
mask <IP_ADDRESS>
metadata none
mirror disabled
mobile-app-tunnel disabled
nat64 disabled
parent-name none
partition Tenant_Acme
per-flow-request-access-policy none
persist none
policies none
pool /Tenant_Acme/acme_smtp_app/acme_smtp_pool
profiles {
clientssl {
context clientside
}
f5-tcp-progressive {
context all
}
serverssl {
context serverside
}
}
rate-class none
rate-limit disabled
rate-limit-dst-mask 0
rate-limit-mode object
rate-limit-src-mask 0
related-rules none
rules none
security-log-profiles none
serverssl-use-sni disabled
service-down-immediate-action none
service-policy none
source <IP_ADDRESS>/0
source-address-translation {
pool /Tenant_Acme/acme_smtp_app/acme_smtp_vs-self
type snat
}
source-port preserve
syn-cookie-status not-activated
traffic-classes none
traffic-matching-criteria none
translate-address enabled
translate-port enabled
transparent-nexthop none
urldb-feed-policy none
vlans none
vlans-disabled
vs-index 34
}
Expected Behavior
SMTPS profile with startTLS Action Mode = require
Actual Behavior
SMTPS profile with startTLS Action Mode = require is not happening

I realized that I really should not define a clientTLS (serverssl) for this configuration, so I resubmitted it without the clientTLS block, but got the same results (no smtps profile is assigned).
{
"$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json",
"class": "AS3",
"action": "deploy",
"persist": true,
"declaration": {
"class": "ADC",
"schemaVersion": "3.43.0",
"id": "123abc",
"label": "SMTPS Example",
"remark": "",
  "Tenant_Acme": {
    "class": "Tenant",

    "acme_smtp_app": {
      "class": "Application",

      "acme_smtp_vs": {
        "class": "Service_TCP",
        "virtualAddresses": [
          "<IP_ADDRESS>"
        ],
        "virtualPort": 25,
        "pool": "acme_smtp_pool",
        "snat": "self",
        "smtpsStartTLS": "require",
        "serverTLS": {
          "bigip": "/Common/clientssl"
        },
        "persistenceMethods": []
      },

      "acme_smtp_pool": {
        "class": "Pool",
        "loadBalancingMode": "round-robin",
        "monitors": [{
          "use": "smtp_monitor"
        }],

        "members": [{
          "servicePort": 25,
          "shareNodes": false,
          "serverAddresses": [
            "<IP_ADDRESS>"
          ],
          "hostname": "foobar"
        }]
      },
      "smtp_monitor": {
        "class": "Monitor",
        "monitorType": "smtp",
        "interval": 30,
        "timeout": 91,
        "domain": "F5"
      }
    }
  }
}

}

Thank you @pedley-f5. I have added this issue to our internal product backlog as AUTOTOOL-3789. In order to prioritize and understand the issue better, please reach out to us at<EMAIL_ADDRESS>

Apparently I was adding the "smtpsStartTLS": "require", in Service_TCP when it really should have been added in TLS_Server. That changes my declaration which apparently works. I'll need to dig more over the next couple days to see if this aligns with what the customer needs:
{
"$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json",
"class": "AS3",
"action": "deploy",
"persist": true,
"declaration": {
"class": "ADC",
"schemaVersion": "3.43.0",
"id": "123abc",
"label": "SMTPS Example",
"remark": "",
  "Tenant_Acme": {
    "class": "Tenant",

    "acme_smtp_app": {
      "class": "Application",

      "acme_smtp_vs": {
        "class": "Service_TCP",
        "virtualAddresses": [
          "<IP_ADDRESS>"
        ],
        "virtualPort": 25,
        "pool": "acme_smtp_pool",
        "snat": "self",
        "serverTLS": "acme_smtp_tls",
        "persistenceMethods": []
      },
      "acme_smtp_tls": {
        "class": "TLS_Server",
        "certificates": [
          {
            "certificate": "acme_smtp_cert"
          }
        ],
      "smtpsStartTLS": "require"
      },
      "acme_smtp_cert": {
        "class": "Certificate",
        "certificate": { "bigip": "/Common/default.crt"},
        "privateKey": { "bigip": "/Common/default.key"}
      },
      "acme_smtp_pool": {
        "class": "Pool",
        "loadBalancingMode": "round-robin",
        "monitors": [{
          "use": "smtp_monitor"
        }],

        "members": [{
          "servicePort": 25,
          "shareNodes": false,
          "serverAddresses": [
            "<IP_ADDRESS>"
          ],
          "hostname": "foobar"
        }]
      },
      "smtp_monitor": {
        "class": "Monitor",
        "monitorType": "smtp",
        "interval": 30,
        "timeout": 91,
        "domain": "F5"
      }
    }
  }
}

}


Presentation tool not working using hosted studio

Using presentation tool with a hosted studio works when using dev server locally. But when trying to build the project and run it, the presentation tool fails with following message: Unable to connect to visual editing. Make sure you've setup '@sanity/visual-editing' correctly.
Others on Slack are reporting the same issue: https://sanity-io-land.slack.com/archives/C0694CDMP18/p1716470649146499

I've now pinpointed this to be an issue with Safari only.
Looks like an issue with origin.
Blocked a frame with origin "https://x-git-develop-x.vercel.app" from accessing a frame with origin "https://x-studio-git-develop-x.vercel.app". Protocols, domains, and ports must match.


using TLS cause process hangs in Watcher constructor

When using Client with tls(construct Client by CA+CERT+KEY), after several successful construction of Watcher. Newer Wather constructor hangs and never return.
If we do not use tls, all things are ok.

You mean, after successfully creating a set of watchers, they works and expected and the next new watcher hangs in its constructor?

I'm not sure what happens in the details, but could you please try to create every new watcher with a new client?
Creating watcher from established client will reuse the underlying gRPC channel.

It never should hang, though. Could you please provide me a simplified test program to reproduce?

It never should hang, though. Could you please provide me a simplified test program to reproduce?

Our code snippet are as below:
// read {url, ca, cert, key} from config
auto pEtcd = new etcd::Client(url, ca, cert, key, "round_robin");
// auto pEtcd = new etcd::Client(url, "round_robin"); // not hang on insecure etcd
//
// some code, the belowing code run in multi threads, and pEtcd is shared
// in these multi threads
//
while (SomeCondition) {
   std::atomic<bool> done{false};
   etcd::Response response;
   auto callback = [&](etcd::Response&& resp_task) {
      response = std::move(resp_task);
      done.store(true);
   };
   int from_index = 0;
   std::string watch_key = DifferentOnEachLoop();
   // here, after several successful construction, later construction hang
   etcd::Watcher watcher(*pEtcd, watch_key, from_index, callback);
   //
   // some code
   //
  pEtcd->rm(watch_key);
}


Reporting a vulnerability

Hello!
I hope you are doing well!
We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly.  GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.
Can you enable it, so that we can report it?
Thanks in advance!
PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository

I've enabled it. I'm on holiday so it might take it till next week to fix it. @Lee-W if you can please take a look

@woile sure! @igibek please let me know when you report it. we'll see how we can fix that. Thanks!


[INF] Openpyxl env dep

PR Description
Please describe the changes proposed in the pull request:

Add openpyxl to environment_dev

This PR resolves #772 .

PR Checklist

Please ensure that you have done the following:

[x] PR in from a fork off your branch. Do not PR from <your_username>:dev, but rather from <your_username>:<feature-branch_name>.

[x] If you're not on the contributors list, add yourself to AUTHORS.rst.

[x] Add a line to CHANGELOG.rst under the latest version header (i.e. the one that is "on deck") describing the contribution.

Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Quick Check
To do a very quick check that everything is correct, follow these steps below:

[x] Run the command make check from pyjanitor's top-level directory. This will automatically run:

black formatting
flake8 checking
running the test suite
docs build

Once done, please check off the check-box above.
If make check does not work for you, you can execute the commands listed in the Makefile individually.
Code Changes

If you are adding code changes, please ensure the following:

[ ] Ensure that you have added tests.
[ ] Run all tests ($ pytest .) locally on your machine.

[ ] Check to ensure that test coverage covers the lines of code that you have added.
[ ] Ensure that all tests pass.

Documentation Changes

If you are adding documentation changes, please ensure the following:

[ ] Build the docs locally.
[ ] View the docs to check that it renders correctly.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl

@samukweku see my comments on #772 and #771, but I don't think this is the solution to our problems.

@samukweku I don't think this should have been merged without deciding this was the best route to take. In group projects like this, I don't think it's a good idea to merge your own PRs (unless you are BDFL)

Thanks for the catch, @hectormz. Partially my responsibility, as I didn't delegate decision-making responsibilities properly either. Don't feel to bad about this one, @samukweku. If there's anything that needs to be reverted, another PR is good. Nothing "irreversible" with Git anyways; the releases are the main thing that we probably wanna be accountable for.

@hectormz @ericmjl And the rest of the team. My apologies on this.

@samukweku no worries, it's a small change. I just wanted to make sure we are reviewing everyone's PRs.


djot-reader.lua cannot process tables

Hi.
djot-reader.lua is not able to process tables. (See output two paragraphs below.)
The problem seems to be exclusively in the djot-reader.lua's, given lua bin/main.lua properly renders the HTML of the table, as well as the AST representation of djot.lua is almost identical to the one of djot.net/playground (the TypeScript version).
$ pandoc --version
pandoc 3.1.2
Features: +server +lua
Scripting engine: Lua 5.4
User data directory: /home/user/.local/share/pandoc
Copyright (C) 2006-2023 John MacFarlane. Web:  https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.

$ GIT_PAGER=cat git log --oneline -- djot-reader.lua
c0109d4 Initial commit (split from jgm/djot)

$ GIT_PAGER=cat git log --oneline -1
5970f1c (HEAD -> main, tag: 0.2.1, origin/main, origin/HEAD) Bump to 0.2.1.

$ cat test.dj
| Header 1 | Header 2 |
|---|---|
| Row 1.1 | Row 1.2 |
| Row 2.1 | Row 2.2 |

$ pandoc -f djot-reader.lua -t html test.dj -o test.html
Error running Lua:
table expected, got nil
        while retrieving list
        while retrieving function argument align
        while retrieving arguments for function SimpleTable
stack traceback:
        djot-reader.lua:201: in function <djot-reader.lua:164>
        (...tail calls...)
        djot-reader.lua:98: in method 'render_children'
        djot-reader.lua:111: in function <djot-reader.lua:108>
        (...tail calls...)

$ lua bin/main.lua test.dj

Header 1
Header 2

Row 1.1
Row 1.2

Row 2.1
Row 2.2

I tried to quickly look in the origin of the problem (see djot-reader-logging.diff and pandoc-djot-reader-stderr.txt in djot-reader-bug-report.zip), and I have the impression the parameter (node) sent to Renderer:table is not proper.
That is the furthest I managed to go by myself given my limited knowledge on Lua, but let me know whether I can support you further.
As a final remark, I insist on djot.lua instead of djot.js because of limitations on my environment, and given djot.js is not binary-distributed (as Pandoc is), it is not an optional for me to use at my current environment.
Thanks in advance.

djot-reader-logging.diff and pandoc-djot-reader-stderr.txt were extract by the commands below:
$ git diff > djot-reader-logging.diff

$ pandoc --verbose -f djot-reader.lua -t html test.dj 1>/dev/null 2> pandoc-djot-reader-stderr.txt

I'm still getting incorrect HTML, but now correct native, so looking into a possible bug in HTML writer...

Reopening because I don't understand this issue.  I'm now getting the following, correct looking, native output:
[ Table
    ( "" , [] , [] )
    (Caption
       Nothing [ Plain [ Str "My" , Space , Str "table" ] ])
    [ ( AlignDefault , ColWidthDefault ) ]
    (TableHead
       ( "" , [] , [] )
       [ Row
           ( "" , [] , [] )
           [ Cell
               ( "" , [] , [] )
               AlignDefault
               (RowSpan 1)
               (ColSpan 1)
               [ Plain [ Str "Header" , Space , Str "1" ] ]
           , Cell
               ( "" , [] , [] )
               AlignDefault
               (RowSpan 1)
               (ColSpan 1)
               [ Plain [ Str "Header" , Space , Str "2" ] ]
           ]
       ])
    [ TableBody
        ( "" , [] , [] )
        (RowHeadColumns 0)
        []
        [ Row
            ( "" , [] , [] )
            [ Cell
                ( "" , [] , [] )
                AlignDefault
                (RowSpan 1)
                (ColSpan 1)
                [ Plain [ Str "Row" , Space , Str "1.1" ] ]
            , Cell
                ( "" , [] , [] )
                AlignDefault
                (RowSpan 1)
                (ColSpan 1)
                [ Plain [ Str "Row" , Space , Str "1.2" ] ]
            ]
        , Row
            ( "" , [] , [] )
            [ Cell
                ( "" , [] , [] )
                AlignDefault
                (RowSpan 1)
                (ColSpan 1)
                [ Plain [ Str "Row" , Space , Str "2.1" ] ]
            , Cell
                ( "" , [] , [] )
                AlignDefault
                (RowSpan 1)
                (ColSpan 1)
                [ Plain [ Str "Row" , Space , Str "2.2" ] ]
            ]
        ]
    ]
    (TableFoot ( "" , [] , [] ) [])
]

But when I render this to HTML or any other format, I only get 1.1 and 2.1 -- the second column is omitted!  What is happening here?

Ah, it's because there's only one element in the colspecs.


microk8s.status breaking change

@balchua @ktsakalozos
Today's latest/edge channel revision 1278 has a breaking change to existing code for others.
Specifically, this PR https://github.com/ubuntu/microk8s/pull/876 "Make microk8s.status addons more readable" is catered to humans and not scripts.
I had in a shell script  this line:
while ! microk8s.status | grep "storage: enabled" ;do echo "not ready";sleep 2;done which the PR breaks.
OK. no problem. I can accomodate with this change:
while ! microk8s.status --addon storage | grep "enabled" ;do echo "not ready";sleep 2;done
(though unless I now want complex branching logic, I have to not release my change to others in my company who are on latest/stable channel until this PR makes it to latest/stable).
However, I ran into another problem, and that is I'm not the only one checking for the old format of "$addon: enabled".  My script ultimately ends up calling chectl server:start -p microk8s ....
Eclipse Che's chectl, not my project, checks for storage: enabled and ingress: enabled in the same manner, and now fails in those checks.  I've submitted a bug report to them here: https://github.com/eclipse/che/issues/16408
Might I respectfully request that you maintain the former, simply grep-able presentation, as if it were an api or interface, i.e., a 'contract' that others have built code around (because it is so).  Otherwise, this is a breaking change that forces others to change their code.
Two suggestions for making the pretty format available are -o pretty or --pretty switches.
Thanks.

Hi @TheRealChssAddct
Thank you for reporting this and for following the edge channel, we really appreciate early feedback.
You are right we should not be changing our interfaces and that includes the CLI.
In https://github.com/ubuntu/microk8s/pull/1042 we have taken corrective action to make sure we maintain the CLI and output we have until now.
microk8s.status and microk8s.status --yaml have the same output as used to. We introduced a new argument --format to which you can pass pretty and get the add-ons with their descriptions, or yaml to get the new yaml format with the addons and their descriptions in a list.
Apologies for the inconvenience we may have caused.

Thanks so much for your very quick turnaround and responsiveness! For readability, I like the new better. For continuity with existing code, I appreciate you keeping the old.

@TheRealChssAddct we postponed the status output update for many months. We will be moving on with the change on the v1.19 release. You can give it a try by installing MicroK8s from the latest/edge channel (sudo snap install microk8s --classic --channel=latest/edge). The old status format is still available with microk8s status --format short.

oh. woops. I didn't see this till today.  I appreciate the heads up.
I don't agree with the decision to go with the breaking change, but I can accept it.  It's simply a matter of it will break some who use earlier versions of chectl, forcing them to explicitly deal with it somehow, i.e., force a specific earlier version of microk8s, or update to a later version of chectl after it is fixed to work with the breaking change.


Make model name handling more consistent (and fix some pytype errors).

I need to go fix the tests anyway..


Update bower configuration for clean install

Bower install was failing due to syntax of range for angular version. Changed to equivalent range that means >= 1.2.0 and < 1.7
Also was receiving warning that the main property of bower.json can only have one entry per file type. The bower documentation is unclear about what this main property is used for and it does not seem to impact my install or even the wiredep behavior in my project that includes this module, so I just removed the reference to moment.js. Now bower install no longer complains since there is only one .js file referenced.

Thank you! 🙇


token-sdk updates - token fetcher overrides, metaplex provider load options

Updates for token-sdk

Adding handling of Metaplex bug where invalid fetch method is being used for downloading offchain JSON
Adding type for Overrides
Adding handling of overrides in TokenRepository
Adding loadImage option for MetaplexProvider. Metaplex data contains a reference to offchain JSON. The JSON loading is slow even when batched, and it is only used to populate image. Adding this flag allows usage without resolving the offchain JSON for speed improvements. This is useful for services that don't care about the image and only need decimals, symbol, etc.
TokenRepository updates - removing TokenFetcher as a dependency and passing in as param for fetch methods. Get methods renamed to fetch.

Thanks Meep!
Hey @yugure-orca - Heads up that I'm going to merge this first and publish a beta version of the token-sdk for use in my other patches. Let me know if you'd like any changes when you get a chance to review, and I'm happy to open another PR to address those!
Specifically, it would be great to see if the changes to MetadataProvider in the SDK work when using in the frontend.


Flash/Debug STM32 from devcontainer

Hello,
did anyone manage to flash an STM32 board from a devcontainer environment
It seems like the docker image is missing STM32CubeProgrammer (I don't know if that's supposed to come with zephyr toolchain or it should be installed separately)
I'd be happy to contribute.
Thanks in advance.

I'm pretty sure it does not come with the container, it is quite challenging to download ST software from headless machines since ST requires login and EULA. This one is a dirty solution but I've installed it using on a different machine with similar setup + GUI and then moved the binaries to the container

Yes, I agree STM32CubeProgrammer download and install is not straight forward and I shoud figure out a way to install it on the container by just moving a local copy of the installation to specific directories in the container.

And how about debugging from inside the vscode devcontainer?
Since the debugger uses ST-LINK_gdbserver which is a tool part of the STM32CubeIDE installation, I guess I should find a way to also copy that tool to the container with its dependencis.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "cwd": "${workspaceFolder}",
            "executable": "${workspaceFolder}/app/build/zephyr/zephyr.elf",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "stlink",
            // This one
            "stlinkPath": "/opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.linux64_<IP_ADDRESS>310302101/tools/bin/ST-LINK_gdbserver",
            "device": "STM32U575ZI",
            "interface": "swd",
            "runToEntryPoint": "main",
            "preLaunchTask": "Build (application)",
            "gdbPath": "${userHome}/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb",
            "armToolchainPath": "${userHome}/zephyr-sdk-0.16.4/arm-zephyr-eabi/arm-zephyr-eabi/bin",
        }
    ]
}

I haven't used STCubeProgrammer to debug anything yet. I just opened an OpenOCD server on my host and connected to it with gdb and vscode cortex-debug plugin I think. It was a long time ago so I don't remember specifics but I do have my launch.json file;
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote STM32",
            "cwd": "${workspaceRoot}",
            "executable": "./build/zephyr/zephyr.elf",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "external",
            "gdbTarget": "<IP_ADDRESS>:3333",
            "device": "STM32F0xx",
            "runToEntryPoint": "main",
            "svdFile": "./esdc8034/boards/arm/esdc8034/stm32f030.svd",
            "showDevDebugOutput": "raw",
            "preLaunchTask": "build_ecool_app",
            "preLaunchCommands": [
                "monitor reset halt",
                "monitor stm32f0x unlock 0",
                "monitor stm32f0x mass_erase 0",
                "monitor program C:/Users/arifb/build/zephyr/zephyr.elf verify reset"
            ],

        }
    ]
}

i am able to debug stm32 with devcontainer in vscode and use editor to step by step debug, i haven't tried to use docker images in this repo but i used ghcr.io/zephyrproject-rtos/ci:latest docker image (https://github.com/zephyrproject-rtos/docker-image) as base, vscode extension marus25.cortex-debug and openocd comes within the docker image, you don't need ST IDE here. required toolchain comes with the docker image
devcontainer.json
{
	"name": "zephyr-template",
	"image": "ghcr.io/zephyrproject-rtos/ci:latest",
    "workspaceMount": "source=${localEnv:HOME}/projects/zephyr-stm32,target=/workdir,type=bind,consistency=cached",
    "workspaceFolder": "/workdir",
	"runArgs": [
        "--device", "/dev/bus/usb/"
    ],
	"postCreateCommand": "west init zephyrproject/ && cd zephyrproject/ && west update",
	"customizations": {
		"vscode": {
			"extensions": [
				"ms-vscode.cpptools-extension-pack",
				"marus25.cortex-debug"
			]
		}
	}
}

launch.json
{
    "configurations": [
    {
        "cwd": "${workspaceRoot}/<application_folder>",
        "executable": "build/zephyr/zephyr.elf",
        "name": "Debug with OpenOCD",
        "request": "launch",
        "type": "cortex-debug",
        "serverpath": "/opt/toolchains/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/bin/openocd",
        "servertype": "openocd",
        "searchDir": [],
        "runToEntryPoint": "main",
        "device": "<device_name>",
        "showDevDebugOutput": "none",
        "configFiles": [
         "/workdir/zephyrproject/zephyr/boards/arm/<device_name>/support/openocd.cfg"
        ]
    }
    ]
}

settings.json
{
    "cortex-debug.armToolchainPath": "/opt/toolchains/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/",
    "cortex-debug.armToolchainPrefix": "arm-zephyr-eabi",
    "files.associations": {
        "locale": "c",
        "pwm.h": "c",
        "typeinfo": "c",
        "stm32_ll_bus.h": "c"
    },
    "cmake.sourceDirectory": "/workdir/<application_folder>"
}

i am able to debug stm32 with devcontainer in vscode and use editor to step by step debug, i haven't tried to use docker images in this repo but i used ghcr.io/zephyrproject-rtos/ci:latest docker image (https://github.com/zephyrproject-rtos/docker-image) as base, vscode extension marus25.cortex-debug and openocd comes within the docker image, you don't need ST IDE here. required toolchain comes with the docker image
devcontainer.json
{
	"name": "zephyr-template",
	"image": "ghcr.io/zephyrproject-rtos/ci:latest",
    "workspaceMount": "source=${localEnv:HOME}/projects/zephyr-stm32,target=/workdir,type=bind,consistency=cached",
    "workspaceFolder": "/workdir",
	"runArgs": [
        "--device", "/dev/bus/usb/"
    ],
	"postCreateCommand": "west init zephyrproject/ && cd zephyrproject/ && west update",
	"customizations": {
		"vscode": {
			"extensions": [
				"ms-vscode.cpptools-extension-pack",
				"marus25.cortex-debug"
			]
		}
	}
}

launch.json
{
    "configurations": [
    {
        "cwd": "${workspaceRoot}/<application_folder>",
        "executable": "build/zephyr/zephyr.elf",
        "name": "Debug with OpenOCD",
        "request": "launch",
        "type": "cortex-debug",
        "serverpath": "/opt/toolchains/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/bin/openocd",
        "servertype": "openocd",
        "searchDir": [],
        "runToEntryPoint": "main",
        "device": "<device_name>",
        "showDevDebugOutput": "none",
        "configFiles": [
         "/workdir/zephyrproject/zephyr/boards/arm/<device_name>/support/openocd.cfg"
        ]
    }
    ]
}

settings.json
{
    "cortex-debug.armToolchainPath": "/opt/toolchains/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/",
    "cortex-debug.armToolchainPrefix": "arm-zephyr-eabi",
    "files.associations": {
        "locale": "c",
        "pwm.h": "c",
        "typeinfo": "c",
        "stm32_ll_bus.h": "c"
    },
    "cmake.sourceDirectory": "/workdir/<application_folder>"
}

I practically did the same, here is my repo: https://github.com/kaizoku-oh/zephyr-online-workspace


Add charting to buoy & spot location pages

Is your feature request related to a problem? Please describe.
We should add charting or graphs to the instance pages (eg; /spots/{id}) to show forecasts & tides for:

1 day (hourly)
7 day (daily)

We already have the API clients requesting this data for the pages, so it should be trivial to show it in a graph or chart.
Describe the solution you'd like
Research the following charting libraries:

d3.js (usually a steep learning curve and we don't need all its robustness)
highcharts (I've used this before and its very simple)
MUI charts (new to me, but we already use MUI)
react-charts (these folks also make react-query) https://github.com/TanStack/react-charts
Other suggestions are here, but take this with a grain of salt.

Describe alternatives you've considered
Don't have charts.
Additional context
The chart on open meteo is pretty good. We can do something like this: https://open-meteo.com/en/docs/marine-weather-api

added charts in https://github.com/crubio/surfe-diem-app/pull/37


Allow comments before an access modifier [fix #2463]

This should resolve issue #2463. Tested on mri and jruby. Did not succeed in installing a usable rbx with rbenv on OS X.

Looks good. Just rephrase the commit message to [Fix #2463] Allow ... to match our convention.

Cool. Updated the commit message accordingly.

Ups, it is conflicting with master. I will rebase and update again.


Behavior of json_unpack (document or update code?)

When doing json_unpack with multiple values and the call fails, some of the values may be set, while others (valid) values are not. I think this behavior should either (1) be documented or (2) changed to make sure that if the call fails then none of the variables is set/changed.
To give it more context, assume the following unpack:
const char format[] = "{s?s, s?i, s?s}";
const char *s1, *s3;
int n;
json_unpack_ex(j, &error, 0, format,
		"string1", &s1,
		"string2", &n,
		"string3", &s3)

There is a mistake, the second item to unpack is in reality a string, but I marked it as an integer with s?i. The unpack will fail and in this case s1 will be set but s3 will still be null.
I do one of two things: either (1) validate the incoming json beforehand with JSON_VALIDATE_ONLY, or (2) reset/free all variables in case of failure.

I'm using libjansson from the repositories of Ubuntu 16.04, currently at version: libjansson4 (= 2.7-3).

I think I got a better understanding on how it works. If I'm understanding it correctly, memory for strings is allocated internally, but once we call json_decref(j) then all memory is released.
The reason I'm having issues is because I set all char arrays to NULL before calling the function, and after json_decref they (some) are no longer NULL even though they have been freed. So maybe the pointers are not being reset to their old values (in this case NULL) after we call json_decref.
In addition, if I want to release the resources related to Jansson but keep the char arrays for later use, then I'll have to copy them over to a new variable. In my previous code snippet:
const char format[] = "{s?s, s?i, s?s}";
const char *s1=NULL, *s3=NULL;
int n=0;
json_unpack_ex(j, &error, 0, format,
		"string1", &s1,
		"string2", &n,
		"string3", &s3)

//1: s1 is not NULL, but s3 is NULL
//2: somehow copy the string I need to keep into new_string
json_decref(j); // releases not only j but also s1 which was set
//3: s1 is not NULL, but s3 is NULL (like before, but...
//   now s1 only contains garbage: it's okay because I have a copy called new_string)

When doing json_unpack with multiple values and the call fails, some of the values may be set, while others (valid) values are not. I think this behavior should either (1) be documented or (2) changed to make sure that if the call fails then none of the variables is set/changed.

Actually, this behavior is documented, although only in the comments of the last example near the end of this chapter:
/* root is an empty JSON object */
int myint = 0, myint2 = 0, myint3 = 0;
json_unpack(root, "{s?i, s?[ii]}",
            "foo", &myint1,
            "bar", &myint2, &myint3);
/* myint1, myint2 or myint3 is no touched as "foo" and "bar" don't exist */

I think I got a better understanding on how it works. If I'm understanding it correctly, memory for strings is allocated internally, but once we call json_decref(j) then all memory is released.

Your reasoning is correct, and this is documented behavior. From the description of the s format:

s (string) [const char *]
Convert a JSON string to a pointer to a null terminated UTF-8 string. The resulting string is extracted by using json_string_value() internally, so it exists as long as there are still references to the corresponding JSON string.

The best way to keep the string around is to use the s% format to obtain a pointer and data length, call malloc to allocate a buffer of the same length, and then copy the data using memcpy.
Another way is to unpack using the O format (capital o), and then use json_string_value() to obtain the string data. The string data is available until you decref the extracted json_t value. This has the downside that you don't get automatic validation by json_unpack(), so the value might not be a string.

Thank you for taking the time to look into this issue, and also for the tip at the end.
I wrote this piece of code showing what I thought could be an issue. I'm adding it for completeness:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>

int main()
{
	const char format_in[] = "{s:s, s:s, s:s}";
	const char format_out[] = "{s?s, s?i, s?s}";
	json_error_t error;
	const char *s1 = NULL;
	int         n2 = 0;
	const char *s3 = NULL;
	char *s;

	json_t *j = json_pack(format_in,
			"string1", "foo",
			"string2", "str in pack, int in unpack",
			"string3", "bar");
	s = json_dumps(j, 0);
	printf("pack result=%s\n", s);
	free(s);

	int ret = json_unpack_ex(j, &error, 0, format_out, "string1", &s1, "string2", &n2, "string3", &s3);
	s = json_dumps(j, 0);
	printf("unpack result: s1=%s, n2=%d, s3=%s\n", s1, n2, s3);
	// return is -1 (fail) but some values are set and others are not
	printf("ret=%d\n", ret);
	if (ret) {
		fprintf(stderr, "error text: %s\n", error.text);
	}
	free(s);

	json_decref(j);

	printf("Is s1 NULL after releasing resources? %d\n", (s1==NULL));
	printf("Is s3 NULL after releasing resources? %d\n", (s3==NULL));

	return 0;
}

$ gcc -g -Wall -Wextra -o jansson3 jansson3.c -ljansson && ./jansson3
pack result={"string3": "bar", "string1": "foo", "string2": "str in pack, int in unpack"}
unpack result: s1=foo, n2=0, s3=(null)
ret=-1
error text: Expected integer, got string
Is s1 NULL after releasing resources? 0
Is s3 NULL after releasing resources? 1

json_unpack_ex fails with -1 because it tries reading "string2" as an int, but it is actually a string. Despite the failure with return -1, the first parameter foo is still set.
Had I tried extracting a value named say "string4" which does not exist, instead of "string2", then the return value would have been 0 and both s1 and s3 would be set.
After resources are released, s1 is not set to NULL.

So basically, my doubt was why values were being set when the return value was -1 (and I wasn't aware at first that the library would release the strings and not the caller). This was the first time I used the library, but the behavior is clear to me now.
For my part, the issue is solved. Thanks!


Rewrite is_on_floor() branch check

Simplify if statement for Air->Idle/Run transitions and while at it added an Utils (general purpose) singleton. For now it only defines the E constant which is a small number used in comparisons on floats. It's never a good idea to do equality comparison with floats, eg. move.get_move_direction().x == 0.0 especially when they can take different values, in a rage (0.0 - 1.0, say using a joystick in this case). It's safer to check for taking a small error in consideration, eg. abs(move.get_move_direction().x) <= Utils.E

I know you like math notation but remember it's for a course. We need a better name than Utils.E. Also, should we have a new autoload just for that? What else would we put in utils?
Some alternative options: var < 0.0001, or var < THRESHOLD_FLOAT or create a function is_equal_float(a, 0). Not sure what reads best, I'd use one of the first two.
Same thing as it's for a course, I'm not sure about the ternary operator inside parens. I'd store the value in a variable, e.g. var target_state: = ... if ... else .... We have viewers who already struggle with simpler code than that.
Note I certainly code like that at times, so if you stumble upon cases where I did the same, you can open issues or correct them

Lastly, I don't know if it's in yet, but at least there was a PR so that vectors automatically compare with approximate equality. I've also read there'll be a built-in function for float equality in the next version, so we could have a function named the same way

There you go, it's called is_equal_approx(a, b): https://github.com/godotengine/godot/pull/18992

so in order:

it's not about math, it's about thinking in a different perspective: the ternary operator enforces the good practice of always returning something on both branches, while the regular if statement allows incomplete/partial branch resolution
yeah, I do agree that maybe it isn't necessary to make a Utils singleton just for this, I was expecting it to grow and maybe instead of having a separate ControlUtils singleton, we could rename that into Utils and add in as we need
I never really thought about having a function instead of an ERROR/UNCERTAINTY constant, it's a good approach, makes stuff clearer


Check unleash version and add it to status

Check the Unleash version and add it to the status for making it easier to see the version from the command line. This is also useful if we need to support multiple versions.

Close by https://github.com/nais/unleasherator/pull/133


Introduce SQLClaim that can handle any RDS database engine

Description of your changes
Instead of hardcoded PostgreSQL, make generic SQL XRD/Composition that can handle arbitrary RDS instance engine configuration

PostgrSQLInstance -> SQLInstance
expose engine and engineVersion in XRD
Add 3306 SecurityGroupRule
Provide mariadb example

Signed-off-by: Yury Tsarev<EMAIL_ADDRESS>I have:

[x] Read and followed Upbound's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR, as appropriate.

How has this code been tested
k apply -f examples/cluster-claim.yaml,examples/postgres-claim.yaml,examples/mariadb-claim.yaml

PostgreSQL connectivity test from within instantiated EKS cluster
cat psql.yaml
apiVersion: v1
kind: Pod
metadata:
  name: see-db
  namespace: default
spec:
  containers:
  - name: see-db
    image: postgres:12
    command: ['psql']
    args: ['-c', 'SELECT current_database();']
    env:
    - name: PGDATABASE
      value: postgres
    - name: PGHOST
      value: platform-ref-aws-db-postgres-t5jnc-hgktq.cxal1lomznba.us-west-2.rds.amazonaws.com
    - name: PGUSER
      value: masteruser
    - name: PGPASSWORD
      value: <password>

k logs -f see-db
 current_database
------------------
 postgres
(1 row)

mariadb connectivity test from within instantiated EKS cluster
kubectl run -i --tty --rm debug --image=mysql --restart=Never -- sh
sh-4.4# mysql -h platform-ref-aws-db-mariadb-grpz9-92kzs.cxal1lomznba.us-west-2.rds.amazonaws.com -u masteruser -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 79
Server version: 5.5.5-10.6.10-MariaDB managed by https://aws.amazon.com/rds/

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| innodb             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

@stevendborrelli PR amended, could you please take another brief look?


[phpstorm-stubs] Fixed testMethodsDefaultParametersValue and added default values for parameters that missed it

@LolGleb Could you please review tests/TestData/mutedProblems.json and try to cleanup methods/functions that have wrong default value known problem. Possibly some of the items can be fixed now

@LolGleb please fix cs-fixer problems before merge. In main branch cs-fixer is fixed


Will collecting Prometheus metrics sending to Log Analytics be retired or not?

According to this announcement, the custom metrics collected by Container Insights will be retired in May 2024.
What is not so obvious: Will the method described in this page also retire? It apparently sends Prometheus metrics to Log Analytics so that they can be queried and alerts can be configured. So it may be affected by the retirement? On the other hand, the retirement may concern only the metrics sent to the Metrics Explorer and not Log Analytics?
Please add a note to this page on whether it's gonna retire or whether this feature will be preserved even if metrics collection will be retired.

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

ID: 9b2ab022-64e9-6258-8c0c-a8d37c1db151
Version Independent ID: f8e7fd6f-d8f9-7558-e881-0d9b70894e8e
Content: Collect Prometheus metrics with Container insights - Azure Monitor
Content Source: articles/azure-monitor/containers/container-insights-prometheus-logs.md
Service: azure-monitor
Sub-service: containers
GitHub Login: @bwren
Microsoft Alias: bwren

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

@kompa3, thank you for the feedback.
@bwren, could you please review this feedback and share your thoughts. Thank you


<Formik ... > instead of useFormik()

Hello !
I would love to use this library, but I'm stuck because of another important library in my project that force me to use the Formik <Formik ...> element instead of the useFormik() hook.
Is there a way to use your library with <Formik ...> element ?
I followed your example (https://stackblitz.com/edit/multi-formik-hook-basic-example) and only made change to the PersonalDataForm to use <Formik ...> element instead.
So I tried this :
const formik = useFormik({
    initialValues,
    validationSchema,
})

return (
    <Formik {...formik}>
        ...
    </Formik>
)

When I fill my form, I see the values in the FormikContext.Provider, but when I use the forms.submitAll() or even the forms.getValues(instance) all the values are set the initialValues.
My guess would be that the values in the form stays in the <Formik ...> element and aren't accessible from that formik variable or something like that.

Hi! Sorry for the late response.
I'm not sure if it's possible to integrate this library with the original <Formik /> component. It dynamically creates formik hooks (useFormik) when you call bind or bindGroup, which have it's own lifecycle. It's designed to be used as a hook. It triggers validation when some other hook is created or removed from the component tree, or if some form is changed the dirty or valid state.  Because of this layer of communication between hooks it's not compatible with <Formik /> component since it has its own lifecycle.


What does the decrease param mean in ConstructRemoveAuthorizedParty func

Can you elaborate on what decrease does? Does it decrease the signing thresholds for a msig?
For instance there are 2 signers for a 1/1 msig actor. When I remove 1 signer and set decrease to false, I assuming the signing thresholds remain at 1/1?
What happened when there are more signers say I have 4 signers and I have a 3/4 msig actor. When I remove 1 signer and set decrease to true, does it reduce the thresholds to 2/3?

Assuming this gets piped into the multisig actor as the decrease param in RemoveSignerParams, then, yes, this boolean indicates whether the signing threshold should be decreased.
I don't know what the x/y notation means when talking about multisigs, but, here's some examples, starting with your scenarios:

If there are 5 signers for a msig with threshold set to 4, and you remove a signer with decrease = false, the threshold will stay at 4
If there are 5 signers for a msig with threshold set to 4, and you remove a signer with decrease = true, the threshold will fall to 3
If there are 5 signers for a msig with threshold set to 5, and you remove a signer with decrease = false, the remove operation will fail, since this was put the multisig in a useless state. Decrease must be set to true.
If there are 5 signers for a msig with threshold set to 1, and you remove a signer with decrease = true, the remove operation will fail, since this was put the multisig in an insecure state (zero thresholds). Decrease must be set to false.

Thank you! closing


104 create example jgiven bdd tests

Hi Simon,
please check the methods in AbstractC7EmbeddedStage.
Should process_waits_in be checking for events or only user tasks?


Feature add task

Closes #119, #41.
This PR adds the addTask command to UniNurse. This feature adds a task to a specified Person since the Patient class has yet to be implemented. Note that tests for addTask and other related classes such as Task and TaskList have not been written.

Codecov Report
Base: 71.57% // Head: 67.98% // Decreases project coverage by -3.59% :warning:

Coverage data is based on head (8c90369) compared to base (7a5b007).
Patch coverage: 28.70% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #122      +/-   ##
============================================
- Coverage     71.57%   67.98%   -3.60%
- Complexity      399      407       +8
============================================
  Files            71       75       +4
  Lines          1242     1343     +101
  Branches        126      136      +10
============================================
+ Hits            889      913      +24
- Misses          321      391      +70
- Partials         32       39       +7

Impacted Files
Coverage Δ

...a/seedu/address/logic/commands/AddTaskCommand.java
0.00% <0.00%> (ø)

...edu/address/logic/parser/AddTaskCommandParser.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
88.88% <0.00%> (-11.12%)
:arrow_down:

.../main/java/seedu/address/model/person/Address.java
80.00% <ø> (ø)

src/main/java/seedu/address/model/task/Task.java
0.00% <ø> (ø)

...in/java/seedu/address/storage/JsonAdaptedTask.java
0.00% <0.00%> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
19.04% <16.66%> (-0.96%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
81.25% <33.33%> (-15.98%)
:arrow_down:

...c/main/java/seedu/address/model/task/TaskList.java
33.33% <33.33%> (ø)

...c/main/java/seedu/address/model/person/Person.java
89.79% <50.00%> (-7.83%)
:arrow_down:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Setting attributes to constrain query in "fetching" event handler doesn't work

I'm trying to constrain a query automatically based on the prescence or absence of a certain attribute on the model. To do this, I've made an event handler and used model.set(...) to set the attribute, thinking that this would be used when forming the query. However, it appears that the query is unmodified following model.set(...).
Here is the code I'm using:
initialize() {
    this.on('fetching', (model) => {
        console.log('Event!');
        // If x is unspecified, set y
        if (!model.get('x')) {
            console.log('Setting!');
            model.set('y', true);
        }
    });
}

And here is the debugging output (id has been set on the model separately):
Event!
Setting!
{ method: 'select',
  options: {},
  bindings: [ '1d2a8031-947c-443e-8193-22b0efd37955', 1 ],
  sql: 'select "a".* from "a" where "a"."id" = ? limit ?' }

Am I doing anything wrong? Is the query being formed before the "fetching" event is fired, or if Bookshelf not updating the query following the model.set(...) call?
Using<EMAIL_ADDRESS>

I'm not a proponent of using set attributes in a fetch, and would prefer to deprecate this feature, so I'm going to give you what is in my opinion a more sane way to go about achieving the same:
initialize() {
    this.on('fetching', (model, columns, options) => {
        if (!model.get('x')) {
          options.query.where({y: true});
        }
    });
}

No need to set anything on the model since the response will contain the y column.

Thanks very much. I didn't see anything about this in the documentation for the fetching event - there, it says that the options parameter will contain the options passed to fetch, which doesn't include the query. Perhaps the docs could be updated to indicate what properties are added to the options parameter? (unless I've missed that information somewhere?)

Would you be willing to open a PR to fix this? JSDoc comment in
src/sync.js (I think).
On Tue, Jan 26, 2016, 10:01 AM Ben Ockmore<EMAIL_ADDRESS>wrote:

Thanks very much. I didn't see anything about this in the documentation
for the fetching event - there, it says that the options parameter will
contain the options passed to fetch, which doesn't include the query.
Perhaps the docs could be updated to indicate what properties are added to
the options parameter? (unless I've missed that information somewhere?)
—
Reply to this email directly or view it on GitHub
https://github.com/tgriesser/bookshelf/issues/1103#issuecomment-174716829
.

Sure, I'll see if I can get round to it tomorrow.


290 general activity

Fixes: https://github.com/PerfectFit-project/virtual-coach-issues/issues/290
The general activity dialog has been implemented in this PR.

Yes, the content is becoming really huge. We are using different files for each conversation, to contain the complexity, but it will be tricky still.
The "ordered-chateau" is the rasa trained mode. The names are randomly assigned and are very funny.