Discard empty lines in env_file

Fixes #877

 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.

LGTM!


support flat style configration

ESLint has provided flat config since v9.
https://eslint.org/docs/latest/use/configure/configuration-files
And in v10 the classical config style will be removed.
It would be nice if it could be easily set up as follows:
import vue from 'eslint-plugin-vue'
import pinia from 'eslint-plugin-pinia'

export default [
  ...vue.configs['flat/recommended'],
  ...pinia.configs.recommended,

  // Currently it can be configured as follows
  // {
  //   files: ['**/*.ts'],
  //   plugins: { pinia },
  //   rules: {
  //     ...pinia.configs.recommended.rules,
  //   },
  // },
]

Since eslint provides an API compatibility list, I think it would be possible to provide rules that work before v9.
https://eslint.org/blog/2023/09/preparing-custom-rules-eslint-v9/
if it were supported it would be great, because this plugin could be used for projects that have not yet been migrated that also support it.

Hi @kazupon thanks for the input it makes a lot of sense to do the upgrade. I will take a look into how difficult it is to upgrade the plugin to eslint 9. Looking at the breaking changes it seems dooable: https://eslint.org/docs/latest/use/migrate-to-9.0.0#breaking-changes-for-plugin-developers but there might be some peer dependencies which need to be removed first

import { FlatCompat } from '@eslint/eslintrc';
const compat = new FlatCompat();
export default [
    ...compat.config(pluginPinia.configs.all)
];

Hi @lisilinhart, if this isn't something you're actively working on right now, I'd love to take it up.
I recently did a similar migration for the Intlify Svelte eslint plugin here and here


Removing {[type]} & return

Sometimes I document what the function actually does in the function description and I don't need to specify the type of the param or the return, Option to remove this and just keep the name?
Also removing the @return if there's no return found within the function brackets?
Also automatic function description would be wonderful like:
function test(a, b, c) {
}

Would turn into:
/**
   * test
   * @param  a
   * @param  b
   * @param  c
   */

:+1: for detecting if there is any return

Unfortunately detecting if there is a return isn't feasible with the current setup since all parsing is baed on regexes and for that the would need something more sophisticated. The type is part of jsDoc and I don't think it's a good idea to add it sometime and sometime not. However #312 address something similar from the perspective of flowtype which I think makes more sense. Closing in favor of this issue.


Bug Fixes on The Master/Release

German is mentioned in src/editor/locales/index.js but it is not included. Please comment or remove it to make the build functional.

Expected vue2Dropzone.css in node_modules/vue2-dropzone/dist/ but found vue2Dropzone.min.css. Please change that in the code.


Added basic test and support for .tsv.gz files.

Added support for .tsv.gz files and basic testing - see also other pull requeset.

the lint is failing, run make lint to see the error locally

Should work now in the latest commit:
Success: no issues found in 3 source files Your code has been rated at 10.00/10 (previous run: 9.97/10, +0.03) All done! ✨ 🍰 ✨


Async Visual Acceptance

This project uses semver, please check the scope of this pr:

[ ] #none# - documentation fixes and/or test additions
[ ] #patch# - backwards-compatible bug fix
[x] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Fixes https://github.com/ciena-blueplanet/ember-cli-visual-acceptance/issues/102
Make changes to capture function to use async requests rather than sync

@ro0gr did it really quick while during class, mind doing a review?

Visual Acceptance tests:
No changes

I would gladly review this when I can access my laptop. I think 28th of february. Currently I'm mobile only(on vacation).
Anyways this change looks better to me.

No worries enjoy your vacation @ro0gr

Fixed failed comparisons but now the message is:
Integration: FrostButtonComponent renders something else
    ✘ done() invoked with non-Error: {"isSameDimensions":true,"dimensionDifference":{"width":0,"height":0},"rawMisMatchPercentage":0.3756880215647346,"misMatchPercentage":"0.38","diffBounds":{"top":3,"left":1,"bottom":69,"right":58},"analysisTime":32}
        Error: done() invoked with non-Error: {"isSameDimensions":true,"dimensionDifference":{"width":0,"height":0},"rawMisMatchPercentage":0.3756880215647346,"misMatchPercentage":"0.38","diffBounds":{"top":3,"left":1,"bottom":69,"right":58},"analysisTime":32}
            at http://localhost:7357/assets/test-support.js:12570:25
            at http://localhost:7357/assets/test-support.js:7609:11
            at <anonymous>

Rather than:
Integration: FrostSelectComponent selects the hovered item when enter is pressed
    ✘ Image is above mismatch threshold.: expected false to be true
        AssertionError: Image is above mismatch threshold.: expected false to be true


PixRacer Mag Calibration fails after the 9250 MAG support was added.

With the addition of the new MAG source, a dynamic method for determining if a MAG is healthy needs to be implemented.

@pkocmoud  fix to allow you to calibrate the 9250 mag
https://github.com/PX4/Firmware/pull/3988

Worked around on master.


h-event time test should not normalise timezone -v2

in microformats-v2/h-event/time.html

    The 4th Microformat party will be on

            <time class="value" datetime="2009-06-26">26 July</time>, from
            <time class="value">19:00:00-08:00</time>

            <time class="value" datetime="2009-06-26">26 July</time>, from
            <time class="value">19:00:00-0800</time>

...

the output reads
"start": ["2009-06-26T19:00:00-0800", "2009-06-26T19:00:00-0800"...

with the colon removed from the first timezone. There is an issue discussing normalisation, but for now http://microformats.org/wiki/value-class-pattern#Date_and_time_parsing seems to indicate the colon should be preserved.

Yes your right. My parser is been a bit too clever and normalising dates. I am using ISO 8601 date "profiles" which are like a set of sub rules that restrict the ISO 8601. The default profile drops colon from timezone.
The tests needs changing and I need to add a flag for "date normalisation" which is switch off by default. Unless of cause we add date normalisation to parsing rules : )
I will do this in next round of updates

Normalizing is a proposal, I have it implemented and commented out in
mf2py. Happy to pursue that route instead if you prefer
On Wed, Jun 10, 2015, at 09:11 AM, Glenn Jones wrote:

Yes your right. My parser is been a bit too clever and normalising
dates. I am using ISO 8601 date "profiles" which are like a set of sub
rules that restrict the ISO 8601. The default profile drops colon from
timezone.

The tests needs changing and I need to add a flag for "date
normalisation" which is switch off by default. Unless of cause we add
date normalisation to parsing rules : )

I will do this in next round of updates

— Reply to this email directly or view it on GitHub[1].

Links:

https://github.com/microformats/tests/issues/29#issuecomment-110815472

The tests now do NOT normalising dates as per current parsing rules. Leave this issue open while normalising dates is discussed.

@tantek recently resolved http://microformats.org/wiki/microformats2-parsing-issues#parsing_a_dt-_property.  It seemed to be mainly focused on normalizing dates with regards to space vs "T" as a separator and removal of implying 00 seconds.  However, the vcp page is also now pretty clear that a resulting dt value should not have colons in the timezone.

h-event/dates example is normalizing to add the colons still.

Nudging this because this test is the only v2 test that's failing for the Rust library. Should we opt to keep (current behavior expected in the Rust library), preserve as authored, or drop the colon in offsets?
(Originally published at: https://jacky.wtf/2022/6/kduV)

Specification updated (https://github.com/microformats/microformats2-parsing/issues/56) to normalize by removing colon in timezone offset, so these tests can be updated accordingly.

I reviewed the master branch and confirmed that https://github.com/microformats/tests/commit/17d31dbeb3d64426d5a15548ea778f61df73c28f normalized the test outputs, so no additional test updates are needed to resolve this issue.


cmake error with newer python 3.11.2

-- Could NOT find Python3 (missing: Python3_NumPy_INCLUDE_DIRS NumPy) (found version "3.11.2")
CMake Error at CMakeLists.txt:261 (message):
Python3 and Numpy are required for MOPAC testing (testing can be disabled
with -DTESTS=OFF)

I encounter this problem frequently myself. It happens when there are multiple versions of Python installed on a system, and CMake arbitrarily picks one without actually checking which versions have NumPy installed. In principle, CMake should be smart enough to find a version of Python that supports NumPy if one is available, but it doesn't quite work out that way in practice.
The simplest workaround is to just install NumPy for whatever version of Python CMake has detected using pip. However, it isn't necessarily clear which version of Python it found without examining CMake variables. I will expand the error message to provide instructions on which version of Python is being used and how to pip-install NumPy to it. I will also look into ways to force CMake to use a specific version of Python, but I'm not sure if that is easy to do.

I made the error message more verbose when CMake fails to detect Python or NumPy. It will report the path of the Python interpreter that CMake has detected, and you can either install NumPy to that location with pip or increase the priority of a Python interpreter in a different location with NumPy installed (e.g. have it appear earlier in your PATH or activate an appropriate Conda environment).


Create snapshots of the images index with the snapshot generator

Closing as WONTFIX for now. I don't remember why I had this idea, we already have the works snapshots, and if we do need it we can create a new ticket.


Adjusting content to show verb parameter examples

This information was given to me over at the forum so I figured an addition here would benefit everyone.

Thanks!


[Not for merging] AZ-395 test code substitute

Changes looks good, we might think of incorporating those tests in CI pipeline in further sprints.


[ Jio TV] it asks for password but jio requires OTP

Your Environment

Add-on name: [e.g. Jiotv]
Add-on version: [e.g. 2.0.0]
Operating system version/name: [e.g. Windows 10, LibreElec 9.0, etc...]A
Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Debug log

The debug log can be found from this link:

Jio has made it notoriously hard to signup with email/password. Here's what worked for me:

Download the JioTV app
First screen shows option to sign in - choose Jio Id option here
You should see an option to create new id or recover password etc.
Sign up with your email address associated with Jio number (you can add email in My Jio app or online jio portal first)
Now use the email/password in Kodi

Hope this saves some time.

Thanks, @codito for an explanation. Closing this issue since it'll be not implemented in the future as well because OTP authentication is temporary and you have to do it every 5 days. That's why it uses the password to do the job for you.

Jio has made it notoriously hard to signup with email/password. Here's what worked for me:

Download the JioTV app
First screen shows option to sign in - choose Jio Id option here
You should see an option to create new id or recover password etc.
Sign up with your email address associated with Jio number (you can add email in My Jio app or online jio portal first)
Now use the email/password in Kodi

Hope this saves some time.

If my understanding is correct, for getting JIO Id and password JIO Fiber is required ?

@xts-velkumars no, just jio sim works (I don't have jio fiber). Try downloading the JioTV app on your phone and follow the rest of the steps.

@xts-velkumars no, just jio sim works (I don't have jio fiber). Try downloading the JioTV app on your phone and follow the rest of the steps.

Got, it. Thank you. Its working now


K8SPS-73 Group replication scaling test

Scale everything:

router
mysql

 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.

Test name
Status

auto-config
passed

demand-backup
passed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
failed

monitoring
passed

semi-sync
passed

config
passed

service-per-pod
passed

sidecars
passed

gr-demand-backup
passed

limits
passed

version-service
passed

one-pod
passed

haproxy
passed

tls-cert-manager
passed

scaling
passed

users
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/3f9114fa6b931d22babf37ec19c17eab6e7ee103
image: perconalab/percona-server-mysql-operator:PR-257-3f9114f

Test name
Status

demand-backup
passed

auto-config
passed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
passed

monitoring
passed

config
passed

semi-sync
passed

gr-demand-backup
passed

service-per-pod
passed

one-pod
passed

sidecars
passed

haproxy
passed

limits
passed

version-service
passed

tls-cert-manager
passed

scaling
passed

users
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/0505606fa25b61602608a1f82862e6486df6d5ad
image: perconalab/percona-server-mysql-operator:PR-257-0505606

Test name
Status

demand-backup
failed

auto-config
failed

init-deploy
failed

gr-demand-backup
failed

gr-init-deploy
failed

gr-scaling
failed

monitoring
failed

semi-sync
failed

scaling
failed

users
failed

config
failed

service-per-pod
failed

sidecars
failed

limits
failed

one-pod
failed

haproxy
failed

version-service
failed

tls-cert-manager
failed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/0a10374771acac3e9657625251e95291e9a23e6e
image: perconalab/percona-server-mysql-operator:PR-257-0a10374

Test name
Status

auto-config
passed

demand-backup
failed

init-deploy
passed

gr-demand-backup
passed

gr-init-deploy
passed

gr-scaling
failed

scaling
failed

users
passed

config
passed

monitoring
passed

semi-sync
passed

one-pod
passed

haproxy
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
failed

tls-cert-manager
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/6af7b15ef56c7cc5c97dfd9aa3b1a0384d687621
image: perconalab/percona-server-mysql-operator:PR-257-6af7b15

Test name
Status

auto-config
passed

config
passed

one-pod
passed

haproxy
passed

demand-backup
failed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
failed

gr-demand-backup
passed

scaling
failed

users
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
failed

tls-cert-manager
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/6af7b15ef56c7cc5c97dfd9aa3b1a0384d687621
image: perconalab/percona-server-mysql-operator:PR-257-6af7b15

Test name
Status

auto-config
passed

init-deploy
passed

demand-backup
failed

gr-demand-backup
passed

gr-init-deploy
passed

gr-scaling
failed

config
passed

scaling
failed

users
passed

monitoring
passed

one-pod
passed

semi-sync
passed

haproxy
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
failed

tls-cert-manager
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/9b86acb773fb550aa370b3ebe66a5d495d6c85e8
image: perconalab/percona-server-mysql-operator:PR-257-9b86acb

Test name
Status

auto-config
passed

demand-backup
failed

init-deploy
passed

gr-demand-backup
passed

gr-init-deploy
passed

gr-scaling
failed

config
passed

scaling
failed

users
passed

monitoring
passed

one-pod
passed

semi-sync
passed

haproxy
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
failed

tls-cert-manager
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/7edbdd459e5ad07cfd46f66bd6a2ee79b94164ae
image: perconalab/percona-server-mysql-operator:PR-257-7edbdd4

Test name
Status

auto-config
passed

demand-backup
failed

config
passed

one-pod
passed

haproxy
passed

gr-demand-backup
passed

scaling
failed

users
passed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
failed

monitoring
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
failed

tls-cert-manager
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/7edbdd459e5ad07cfd46f66bd6a2ee79b94164ae
image: perconalab/percona-server-mysql-operator:PR-257-7edbdd4

Test name
Status

auto-config
passed

demand-backup
passed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
failed

config
passed

gr-demand-backup
failed

monitoring
passed

one-pod
passed

semi-sync
passed

haproxy
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
passed

scaling
passed

tls-cert-manager
passed

users
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/670d2cb501f126e71bf66004b2a71b4a6519f6bc
image: perconalab/percona-server-mysql-operator:PR-257-670d2cb

Test name
Status

init-deploy
passed

auto-config
passed

gr-init-deploy
passed

config
passed

demand-backup
passed

gr-scaling
failed

one-pod
passed

gr-demand-backup
passed

haproxy
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
passed

tls-cert-manager
passed

scaling
passed

users
passed

We run 18 out of 18

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/670d2cb501f126e71bf66004b2a71b4a6519f6bc
image: perconalab/percona-server-mysql-operator:PR-257-670d2cb

Test name
Status

auto-config
passed

demand-backup
passed

init-deploy
passed

gr-init-deploy
passed

gr-scaling
failed

config
passed

monitoring
passed

gr-demand-backup
passed

semi-sync
passed

one-pod
passed

service-per-pod
passed

haproxy
passed

scaling
passed

sidecars
passed

limits
passed

users
passed

version-service
passed

tls-cert-manager
passed

gr-tls-cert-manager
passed

We run 19 out of 19

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/d17dd33ebd7ff61bbc3bc5c76af66195296f74d5
image: perconalab/percona-server-mysql-operator:PR-257-d17dd33

Test name
Status

auto-config
passed

demand-backup
passed

init-deploy
failed

gr-init-deploy
passed

config
passed

gr-scaling
failed

gr-demand-backup
passed

one-pod
passed

monitoring
passed

haproxy
passed

semi-sync
passed

scaling
passed

service-per-pod
passed

users
passed

sidecars
passed

limits
passed

version-service
passed

async-ignore-annotations
failed

tls-cert-manager
passed

gr-tls-cert-manager
passed

gr-ignore-annotations
passed

We run 21 out of 21

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/450b5196f8f19ca5262f33014aadf9a402d99049
image: perconalab/percona-server-mysql-operator:PR-257-450b519

Test name
Status

demand-backup
passed

init-deploy
passed

auto-config
passed

gr-init-deploy
passed

gr-scaling
passed

monitoring
passed

config
passed

semi-sync
passed

gr-demand-backup
failed

service-per-pod
passed

sidecars
passed

one-pod
passed

limits
passed

haproxy
passed

version-service
passed

tls-cert-manager
passed

gr-tls-cert-manager
passed

scaling
passed

users
passed

async-ignore-annotations
failed

gr-ignore-annotations
passed

We run 21 out of 21

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/be878b98c3d32f0d982b0605ed46ac3456bf807a
image: perconalab/percona-server-mysql-operator:PR-257-be878b9

Test name
Status

auto-config
passed

config
passed

one-pod
passed

haproxy
passed

init-deploy
passed

gr-init-deploy
passed

demand-backup
passed

gr-scaling
passed

gr-demand-backup
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

sidecars
passed

limits
passed

version-service
passed

tls-cert-manager
passed

gr-tls-cert-manager
passed

scaling
passed

users
passed

async-ignore-annotations
passed

gr-ignore-annotations
passed

We run 21 out of 21

commit: https://github.com/percona/percona-server-mysql-operator/pull/257/commits/be878b98c3d32f0d982b0605ed46ac3456bf807a
image: perconalab/percona-server-mysql-operator:PR-257-be878b9


Update versioning

While the tags show multiple releases with the latest one being named 0.11.0, the APK always identifies as
package: name='com.shortendesign.k9keyboard' versionCode='1' versionName='1.0' compileSdkVersion='31' compileSdkVersionCodename='12'

versionCode should be increased with each release; it's what Android uses internally to tell versions apart and signal updates
versionName is what is shown to the user (and should be in sync with your tag names), so it's important for issues reported (to know what version is affected)

Could you please adjust that (for future releases)? Thanks in advance!

Thanks.  I'm very new to Android development so appreciate these pointers.

Thanks a lot! I've just pulled the latest update manually (my updater refused as 0.12.0 is smaller than 1.0 – but that was to be expected; from now on it will work correctly as versioning is fixed).


Add warning on Aer and IBMQ ImportError

Summary
This commit adds a warning whenever qiskit is imported if it can't
import qiskit-aer or qiskit-ibmq-provider. Right now if a user installs
terra and either does not install aer or the ibmq-provider, or also
equally as likely installs them but python packaging messes up the
namespace and there is no indication that these features are missing
until they go to use qiskit.Aer, or qiskit.IBMQ. To address this
commit adds a warning that will only be displayed once on the first
import of anything from the qiskit namespace in a python process, using
python's stdlib warning mechanism (which is configurable and
suppressible). This will hopefully remove the surprise when users try
to use Aer or IBMQ like in documentation and tutorials and they just
get an empty AttributeError.
Details and comments
Related #2483

These read a bit odd.  Perhaps:
Could not import the Aer provider from the qiskit-aer package.
Install qiskit-aer or check your installation.
Could not import the IBMQ account from the qiskit-ibmq-provider package.
Install qiskit-ibmq-provider or check your installation.


README link needs updated

Currently, we link to https://letsencrypt.github.io/acme-spec/ in README.rst, but that displays the following when opened:
NOTE: This Repository is Deprecated

This repository is not active and does not accurately reflect what Let's Encrypt currently implements. It's retained only for history.

All new work happens here: https://github.com/ietf-wg-acme/acme/

The README file should be updated in reference to this notice.
Thank you to @michaelfrance for reporting this issue.

Resolved via merge of #66


[flatbuffers] flatc.exe tool not being created when using custom target

flatbuffers (2.0.6) not generating flatc.exe tool after successful installation of library. I've tried removing the package and reinstalling it but still same issue.

OS: Windows
Compiler: VS2017

Using custom target (x86-windows-static) to create static x86 library. This used to generate flatc.exe in the past, however, I'm updating the codebase now after 1 year but its not generating flatc.exe anymore. Tried with x64-windows and that generated flatc.exe in tools folder as expected.
 set(VCPKG_TARGET_ARCHITECTURE x86)
 set(VCPKG_CRT_LINKAGE static)
 set(VCPKG_LIBRARY_LINKAGE static)
 set(VCPKG_PLATFORM_TOOLSET "v141")
 set(VCPKG_DEP_INFO_OVERRIDE_VARS "v141")

Steps to reproduce the behavior:

./vcpkg install flatbuffers:x86-windows-static (see above)
Port is installed successfully but flatc.exe is missing from tools folder

Try setting the host triplet to x86-windows-static as well, so vcpkg doesn't think that it's cross compiling.

Add --host-triplet=x86-windows-static to the command line


support explicitly disabling dev services for cognito user pools

Copied implementation from base class used by other services:
https://github.com/quarkiverse/quarkus-amazon-services/blob/4ac8b51fa5395994accea1a4230c57b5d597b18d/common/deployment-devservices-spi/src/main/java/io/quarkus/amazon/common/deployment/spi/AbstractDevServicesLocalStackProcessor.java#L27-L33
Addresses concern raised here: https://github.com/quarkusio/quarkus/issues/34801#issuecomment-1669665084

@all-contributors  please add @emattheis for code


Google backend

what
Use google services to retrieve the state (gcs) and metadata (firestore)
why
For those who use google cloud it is hard to adopt atmos as all the GH tooling is built around AWS. This PR and several other fixes that.
references
See also related PRs in:

https://github.com/cloudposse/github-action-terraform-plan-storage/pull/35
https://github.com/cloudposse/github-action-atmos-terraform-apply/pull/64
https://github.com/cloudposse/github-action-atmos-affected-stacks/pull/55

need help
To proper name the fields in metadata for google cloud.

This PR will have to get merged first https://github.com/cloudposse/github-action-atmos-terraform-plan/pull/92, take a look at how that is done, since that will be the new pattern.
Also, the changes to the Atmos storage action will have to go first before these PRs can be merged.

@shirkevich great contribution.
I will work on merging it exact after get @jamengual Prs merged


Slack plugin not tagging slack users and sending double messages

Describe the bug
For a bit of background, I'm basing my deployment on the dispatch-docker repository and running it in kubernetes.  After setting up the slack plugin, and getting a slack app up and running, I'm facing two issues.
The first issue:
Whenever I create an incident, in the new channel it double sends every message, this can be seen in the image attached:
When dispatch app sends a message to me in the app section of dispatch, or when it sends a message such as the response /dispatch-list-incidents it only sends it a single time
The second issue:
In addition, as you can also see in the screenshot, it is formatting my name like so: <|Joe D'Angelo> rather than tagging my slack handle.  I haven't been able to figure out why it is doing so, but any ideas would be great.  Thank you!
I've investigated my notification settings and I only have one email notification and nothing else.  I've attached a screenshot of that.  In addition, I've set up the slack app according to the instructions, using both the contact information resolver and conversation management plugin.  The slack app is running in socket mode.
Expected behavior
I would expect a single message to be sent announcing the incident participant, as well as the incident participant being tagged in the slack message
Screenshots
Double sent messages and failure to tag user:

Notification settings:

Whenever I create an incident, in the new channel it double sends every message, this can be seen in the image attached:
I think this is happening because you're both the incident reporter and commander and we don't de-dupe email addresses here . I'll put out a fix for it.

In addition, as you can also see in the screenshot, it is formatting my name like so: <|Joe D'Angelo> rather than tagging my slack handle.
I suspect the the markdown here is not getting properly rendered, because participant_weblink here does not have a value. What's the value of DISPATCH_UI_URL in your .env file? Are you using any contact plugins (e.g. Slack Plugin - Contact Information Resolver)?

PRs for issues reported here have been merged.


Provide more context around Kotlin DSL script class loading failures

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Create assertExitCode

Create an assert function that verifies the exit code of the return/exit code

like assertExitCode
and assertNotExitCode

assertNotExitCode too?

Is this assertion necessary? I'll provide an example of how it can be done currently without it:

I 've got something like this in mind:
#
# Usage: assertExitCode 1 script.sh
#
function assertExitCode() {
    local expected_exit_code=$1
    shift
    local command_to_run="$*"

    $command_to_run

    local actual_exit_code=$?

    if [ $actual_exit_code -eq "$expected_exit_code" ]; then
        return 0
    else
        exit 1
    fi
}

But you might be right, we can easily check the last return/exit code using $? right after the execution of a script, that might be sufficient using an assertEquals right after that. Would you say, we should close this issue and wont do, at least for now, @Tito-Kati @khru ?

It's true what @Tito-Kati says, It is also true that it could be very interesting to simplify the assertions or make them more semantic.
So I think it wouldn't be a bad assertion and would help with semantics.

It's true what @Tito-Kati says, It is also true that it could be very interesting to simplify the assertions or make them more semantic.
So I think it wouldn't be a bad assertion and would help with semantics.

I 've got something like this in mind:
#
# Usage: assertExitCode 1 script.sh
#
function assertExitCode() {
    local expected_exit_code=$1
    shift
    local command_to_run="$*"

    $command_to_run

    local actual_exit_code=$?

    if [ $actual_exit_code -eq "$expected_exit_code" ]; then
        return 0
    else
        exit 1
    fi
}

I see value on male the assertions more semanticts and simple, so to me it's a go

But you might be right, we can easily check the last return/exit code using $? right after the execution of a script, that might be sufficient using an assertEquals right after that. Would you say, we should close this issue and wont do, at least for now, @Tito-Kati @khru ?

The issue with doing it the way you suggest is that the assertion is responsible for executing the command/function, which means you couldn't assert both the printed output and the response code at the same time. In other words, it couples the acting to the assertion...

The issue with doing it the way you suggest is that the assertion is responsible for executing the command/function, which means you couldn't assert both the printed output and the response code at the same time. In other words, it couples the acting to the assertion...

That's true, but we could implement it, simply by consulting the last execution and thus make the assert not tied to the execution
But for me the discussion is more about whether this assertion makes sense or not and I think so.

The issue with doing it the way you suggest is that the assertion is responsible for executing the command/function, which means you couldn't assert both the printed output and the response code at the same time. In other words, it couples the acting to the assertion...

That's true, but we could implement it, simply by consulting the last execution and thus make the assert not tied to the execution
But for me the discussion is more about whether this assertion makes sense or not and I think so.

Oh, what about this?
#
# Usage: assertExitCode 1
#
function assertExitCode() {
    local expected_exit_code="$1"
    local actual_exit_code=$?

    if [ $actual_exit_code -eq "$expected_exit_code" ]; then
        return 0
    else
        exit 1
    fi
}

All our assertion tests are a perfect sandbox to test whichever implementation we find most suitable. In any of those tests, we should assert that the return code is correct (in addition to what they currently do, which is to assert that the appropriate message is printed).
So, we have the perfect place to experiment and see if we like the outcome or not. What do you think about adding the new assertions and adapting these tests in a single PR to see if we like the result?

I mean, for instance, these tests should be something like this?
function test_successful_assertEquals() {
  assertEquals "" "$(assertEquals "1" "1")"
  assertExitCode "0"
}

function test_unsuccessful_assertEquals() {
  assertEquals\
    "$(printFailedTest "Unsuccessful assertEquals" "1" "but got" "2")"\
    "$(assertEquals "1" "2")"
  assertExitCode "1"
}

I didn't implement assertNotExitCode in https://github.com/Chemaclass/bashunit/pull/49 because I thought it's not really needed... but maybe it is. What do you think, @khru @Tito-Kati ? It could be a nice easy task for @fabriziofs, for example


Put single quotes in error messages with resources

Fixes https://github.com/GoogleContainerTools/kpt/issues/964

Please use double quotes. %q is good way to go instead of %s. Does %q work fine instead of %v ?

Please use double quotes. %q is good way to go instead of %s. Does %q work fine instead of %v ?


Feature/update quakes on page load

For this PR, I focused on updating the earthquake data every time the page reloads. Most changes are made in overview.py.
Created an additional callback that updates map data on page reload. The input is coming from a hidden div in Layout with id=trigger-reload. The output of the callback results in various circle markers, representing the latest earthquakes. This is generated from the update_map_data callback function which calls get_latest_quakes_chis_fsdn on page reload. It further generates and returns circle markers for each data point (representing an earthquake).
Further, I have added comments throughout the overview.py file to make the code more readable. I have also moved all the helper functions present at the beginning of overview.py file into a new data_utils.py file, in order to ensure further code readability, and also allowing for every file to have a single purpose (i.e. one for page layout UI, another for getting data functionality).
The new data_utils.py file can be used either to store helper functions or functions that are getting data through API calls. It is flexible to change and adjust for future developments. In the future, I would also potentially look to do something similar in site.py as there are also many helper functions present in that file, and some functions may overlap with overview.py (e.g get_config_params).
Note: When I merged with main, in dash_app.py, my changes are now app.run(debug=True, host=args.host, port=args.port) on line 53. However, when I was testing the application, I had app.run(debug=True, host=<IP_ADDRESS>).

closes #37


zencad doesn't start on ubuntu-18.04

Zencad tried to open window (it flashes for 0.1s) then fail with 'Fatal IO error 9 (Bad file descriptor)'
[svpcom@linux work]$ virtualenv --python=python3.6 zencad
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/svpcom/work/zencad/bin/python3.6
Also creating executable in /home/svpcom/work/zencad/bin/python
Please make sure you remove any previous custom paths from your /home/svpcom/.pydistutils.cfg file.
Installing setuptools, pkg_resources, pip, wheel...done.
[svpcom@linux work]$ ./zencad/bin/pip install zencad
Collecting zencad
  Using cached https://files.pythonhosted.org/packages/f0/71/a764904f822782a94d7508485c4342bbc468f7492cf64b13d5de7a89a877/zencad-0.17.4-py3-none-any.whl
Collecting pillow (from zencad)
  Using cached https://files.pythonhosted.org/packages/19/66/6113477dc3206ccb1e192cffd626f2840ead02375a6cebe2436ad4c19f61/Pillow-6.2.0-cp36-cp36m-manylinux1_x86_64.whl
Collecting pyservoce>=1.10.0 (from zencad)
  Using cached https://files.pythonhosted.org/packages/52/13/584a0d240a02332d39780b307ab682bb50bb8ddc379275b86d6be7001902/pyservoce-1.10.1-cp36-cp36m-manylinux1_x86_64.whl
Collecting numpy (from zencad)
  Using cached https://files.pythonhosted.org/packages/e5/e6/c3fdc53aed9fa19d6ff3abf97dfad768ae3afce1b7431f7500000816bda5/numpy-1.17.2-cp36-cp36m-manylinux1_x86_64.whl
Collecting evalcache (from zencad)
  Using cached https://files.pythonhosted.org/packages/a2/de/59e09a41b05b3758d66c5f93f801ca8defc076c60b708dcc91acf79df619/evalcache-1.10.1-py3-none-any.whl
Collecting PyQt5 (from zencad)
  Using cached https://files.pythonhosted.org/packages/12/63/a7a32557fdce42b1ddf2353d9e2a576143376046ead0b1918fd4cfe01b90/PyQt5-5.13.1-5.13.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl
Collecting setproctitle (from zencad)
Collecting PyQt5_sip<13,>=4.19.19 (from PyQt5->zencad)
  Using cached https://files.pythonhosted.org/packages/f2/5e/da07d1977cf54d636e44a50271bc0ad1f7f34b502e484b4cefd6a1a6962a/PyQt5_sip-4.19.19-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: pillow, pyservoce, numpy, evalcache, PyQt5-sip, PyQt5, setproctitle, zencad
Successfully installed PyQt5-5.13.1 PyQt5-sip-4.19.19 evalcache-1.10.1 numpy-1.17.2 pillow-6.2.0 pyservoce-1.10.1 setproctitle-1.1.10 zencad-0.17.4
[svpcom@linux work]$ ~/work/zencad/bin/python -c 'import zencad; zencad.show()'
/usr/bin/python3: No module named zencad.__main__; 'zencad' is a package and cannot be directly executed
Gdk-Message: 22:03:32.709: zencad: Fatal IO error 9 (Bad file descriptor) on X server :0.0.

The bug is caused by the fact that I inaccurately hardcoded as an interpreter path and forgot to make a change later. Therefore, he swore at virtualenv. I solved it in version 0.17.5
In addition, the circumstance that interferes with the work in the interactive mode was revealed. I will solve this a bit later. Now I put a temporary stuff on launch in interactive mode - the incomplete version of gui will launched in that case.

Or... May be not...

OK. Now this should work (0.17.6)

fixed


update build.sh and remove lxml

Current coverage is 38.42%

Merging #112 into master will not affect coverage as of 03e96f9

@@            master    #112   diff @@
======================================
  Files           24      24
  Stmts          726     726
  Branches         0       0
  Methods          0       0
======================================
  Hit            279     279
  Partial          0       0
  Missed         447     447

Review entire Coverage Diff as of 03e96f9

Powered by Codecov. Updated on successful CI builds.

LGTM


Add Python implementations for binary search tree operations

This commit introduces Python implementations for various operations and functionalities related to binary search trees (BSTs). The added files include:

insert_in_bst.py: Code for inserting a node into a BST.
search_in_bst.py: Code for searching for a node in a BST.
delete_a_node_in_bst.py: Code for deleting a node from a BST.
inorder_traversal.py: Code for implementing an in-order traversal of a BST.
mirror_a_bst.py: Code for creating a mirror image of a BST.
print_in_range.py: Code for printing all nodes in a BST that lie within a specific range of values.
root_to_leaf_paths.py: Code for finding all root-to-leaf paths in a BST.
validate_bst.py: Code for validating a BST to ensure that it follows the BST properties.

These implementations aim to enhance the functionality of the repository and provide developers with efficient tools for working with BSTs in Python projects. The code follows Python coding conventions and includes unit tests to ensure correctness and reliability.

Thank you 😊..

Can I please know why the tests have failed while merging ,is there any issue with my code, so that I will make necessary changes.


Any plan for pipeline parallel to suit larger model?

Hi, I wonder if you have any plan on adding pipeline parallel to this library so that we could fine-tune larger model across multiple gpus? The reason for mentioning pipeline parallel particularly is that it may be easier to implement a general version comparing to tensor parallel or other model parallel strategies. If you have such plan, I'd love to help :)

Hello @zhuzilin, as PEFT relies on 🤗 Accelerate for all distributed training needs, it would be great if you can help us in supporting pipeline parallelism in generic fashion in 🤗 Accelerate itself: https://github.com/huggingface/accelerate


Issues with Turn Undead

Turn Undead automation is looking great, but I am having a few issues with it:
1- It seems to go through and check every token (or at least enemy) on the scene, which seems inefficient but maybe that's the best way.
2- But if you have dead tokens around it spams the UI with warnings that some of them are incapacitated.  Including ones nowhere near you.  And even if they are near you, it should probably just ignore anything already at 0 hp.

2- It is not only affecting undead, it is making all hostile tokens within 30 feet roll saves and suffer the consequences.

I didn't catch that during testing. I'll get it updated in the next release.

Just pushed a fix for this.  Not much to be done about it yelling about dead targets.  Midi-qol checks that before I can rewrite the targets.


fix: oz n 05

What ❔

Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.

You should read my reply in the defender. I could not apply them because:

stack too deep issues

_l2ToL1message parameter is handled as memory for byte manipulation

reentrancy guard is out of scope I think, we did not write it.

baseTokenAssetId was fixed


ARC-1797 Replace Localstack with ElasticMQ

What's in this PR?
As some of our GHE customers don't want to create a hole in the firewall, but as a workaround, they're happy to run the GitHub app in their own infrastructure.  Those customers should be able to run the app using docker-compose command with minimum number of prerequisite steps. One of the bottlenecks is that we're dependent upon the localstack when we're running the app using docker-compose. The localstack is purely used for development purposes and we're only using localstack's SQS service. Our aim in this PR is to use ElasticMQ instead of relying upon localstack's SQS.
Why
Enterprise customers should able run the app in their own infrastructure
Affected issues
ARC-1797
How has this been tested?
Local
Staging

@Harminder84 I think we can close this one?

Close it for now as inactive for long time. Can re-open if need to.


example to use token of location thing

Hello,
I was wondering if there is an example to use AssistNow service by token instead of Mqtt option in ubxlib ?

Hi: not sure I'm following your question.  There is the assist_now_main.c example, which shows how to obtain assistance data from the AssistNow service, encoding the AssistNow request (including authentication token) into a buffer which is sent to the AssistNow server as an HTTP request.  The data returned in the body of the HTTP response is then sent down to the GNSS device.
If that is not the kind of thing you meant, could you maybe rephrase your question?

Thanks Rob, Actaully that is what I was looking for how to use AssistNow in ubxlib. However this assist_now_main.c demonstrates only an individual gnss modem connected directly to MCU. Is there an example to do same job but for built in Cellalur with gnss ?

Ah, good.

Is there an example to do same job but for built in Cellalur with GNSS?

It is pretty much the same, you would just open the cellular device (that contains the GNSS chip) first and then open a GNSS network on that cellular device, kind of like in the main_loc_gnss_cell.c example, like this:
    // Either use this configuration structure for GNSS or, in your case I think you would
    // use the device tree mechanism; there's nothing to set really, especially if you
    // decide to set U_GNSS_MODULE_TYPE_ANY
    static const uNetworkCfgGnss_t gNetworkCfgGnss = {
        .type = U_NETWORK_TYPE_GNSS,
        .moduleType = U_GNSS_MODULE_TYPE_M10,   // Set the correct GNSS module type here
        .devicePinPwr = -1,
        .devicePinDataReady = -1
    };

    returnCode = uDeviceOpen(&gHttpDeviceCfg, &httpDevHandle);
    if (returnCode == 0) {
        returnCode = uNetworkInterfaceUp(httpDevHandle, U_NETWORK_TYPE_GNSS, &gNetworkCfgGnss );
        if (returnCode == 0) {
            // From here you can call any of the ubxlib GNSS or location APIs using httpDevHandle
            // and it will know to use the GNSS chip inside the cellular module

            ...

        } else {
            printf("Unable to open GNSS network on cellular device (%d).\n", returnCode);
        }
    } else {
        printf("Unable to open cellular device (%d).\n", returnCode);
    }

HOWEVER there is a catch: when the GNSS chip built-into a cellular module is used there is a software entity inside the cellular module (we call it UPOS) which will also talk to the built-in GNSS chip.  There is no way to stop it doing this.  It will usually only do so when the GNSS chip is being initially powered up, so it may not be an issue for you, but the reason UPOS is doing all of this talking is so that you, actually, don't have to; all of the AssistNow etc. things can be managed by the UPOS entity in the cellular module on your behalf.
I try to explain this (probably badly!) at the top of the file u_cell_loc.h, the file which defines all of the APIs provided for managing location through cellular; for the AssistNow parts, see this section of the header file.
So you may find it easier to use the uCellLocXxx() APIs to configure AssistNow etc. rather than doing it "the long way" yourself.  Note that you can do both: you can still talk to the GNSS chip directly, following the pattern above, and, probably beforehand, call the uCellLocXxx() APIs to get UPOS to manage the AssistNow stuff for you.

Gah, now that you just posted issue #249 and I've switched my brain on: you are using LENA-R8 and so we need to remember that LENA-R8 does not support access to the internal GNSS chip through CMUX, which is what all of our other modules do and it is how ubxlib accesses a GNSS chip inside a cellular module when you do as I have indicated above (i.e. when you call uNetworkInterfaceUp() for a GNSS network in a cellular device).
You can still do the above but, for LENA-R8, you would have to force ubxlib to use the AT+UGUBX polling mechanism to access the internal GNSS chip by defining U_NETWORK_GNSS_CFG_CELL_USE_AT_ONLY for your build, and then we're back to the same problem you had before in #241 with replies from the GNSS chip to UPOS commands ending up replacing the wanted replies to commands that you have sent to the GNSS chip.
So I think it is simpler if you ignore any mechanism via which the cellular module configures the internal GNSS chip for you, just leave the internal GNSS chip off as far as the cellular entity is concerned and do as you indicated in #241 and open the GNSS chip as an entirely separate device, talking to it over the dedicated and separate rx_gnss and tx_gnss pins.  In other words, follow the assist_now_main.c example and nothing else.
Does that make sense?

@mos216: are you OK to close this one now?

Hi Rob , yes sure thanks again!


[Bug]Get-WingetCmd can return winget from a user while running from the system context

The problem
Recently installed WAU and tried running it under the system context via the schedule task created.
This was however not working when reviewing the log, however while executing it under the user context was working as intended.
When run from system context it was unable to execute the file winget.exe that had been set by the $Script:Winget
On closer inspection it was due to Get-command returning the normal users Winget instance and being the first item in the if statement.

I would like to suggest something like the below to avoid this being a possible issue in the future.
#Function to get the winget command regarding execution context (User, System...)

Function Get-WingetCmd {

    #Get WinGet Path (if admin context)
    # Includes Workaround for ARM64 (removed X64 and replaces it with a wildcard)
    $ResolveWingetPath = Resolve-Path "$env:ProgramFiles\WindowsApps\Microsoft.DesktopAppInstaller_*_*__8wekyb3d8bbwe" | Sort-Object { [version]($_.Path -replace '^[^\d]+_((\d+\.)*\d+)_.*', '$1') }
    if ($ResolveWingetPath) {
        #If multiple version, pick last one
        $WingetPath = $ResolveWingetPath[-1].Path
    }

    #If Running under System or Admin context obtain Winget from Program Files
    if((([System.Security.Principal.WindowsIdentity]::GetCurrent().User) -eq "S-1-5-18") -or ($WingetPath)){
        if (Test-Path "$WingetPath\winget.exe") {
            $Script:Winget = "$WingetPath\winget.exe"
        }
    }else{
        #Get Winget Location in User context
        $WingetCmd = Get-Command winget.exe -ErrorAction SilentlyContinue
        if ($WingetCmd) {
            $Script:Winget = $WingetCmd.Source
        }
    }

    If(!($Script:Winget)){
        Write-ToLog "Winget not installed or detected !" "Red"
        return $false
    }

    #Run winget to list apps and accept source agrements (necessary on first run)
    & $Winget list --accept-source-agreements -s winget | Out-Null

    #Log Winget installed version
    $WingetVer = & $Winget --version
    Write-ToLog "Winget Version: $WingetVer"

    return $true

}

What version of WAU has the issue?
1.17.7
What version of Windows are you using (ex. Windows 11 22H2)?
Windows 11 22H2
What version of winget are you using?
v1.5.2201
Log information
##################################################
#     CHECK FOR APP UPDATES - 7/09/2023
##################################################
22:07:30 - Running in System context
22:07:30 - Running Post Update actions:
22:07:30 - -> Checking prerequisites...
22:07:31 - -> Prerequisites checked. OK
22:07:31 - -> Checking if Winget is installed/up to date
22:07:31 - -> WinGet is Installed/up to date
22:07:31 - -> Winget sources reseted.
22:07:31 - -> ListPath setting was missing. Fixed with empty string.
22:07:31 - -> ModsPath setting was missing. Fixed with empty string.
22:07:31 - -> Checking Mods Directory:
22:07:31 - -> The mods directory was already secured!
22:07:31 - -> C:\ProgramData\Winget-AutoUpdate\Version.txt removed.
22:07:31 - Post Update actions finished
22:07:31 - Notification Level: Full. Notification Language: English
22:07:31 - Checking internet connection...
22:07:31 - Connected !
22:07:32 - Winget Version:
22:07:32 - WAU current version: 1.17.7
22:07:32 - WAU AutoUpdate is Enabled.
22:07:32 - WAU is up to date.
22:07:32 - WAU uses Black List config
22:07:32 - Checking application updates on Winget Repository...
22:07:32 - An unusual thing happened (maybe all apps are upgraded):

22:07:32 - No new update.
22:07:33 - User context execution not installed...
22:07:33 - End of process!

VS

##################################################
#     CHECK FOR APP UPDATES - 7/09/2023
##################################################
21:42:19 - Running in User context
21:42:19 - Notification Level: Full. Notification Language: English
21:42:19 - Checking internet connection...
21:42:19 - Connected !
21:42:26 - Winget Version: v1.5.2201
21:42:26 - WAU current version: 1.17.7
21:42:26 - WAU uses Black List config
21:42:26 - Checking application updates on Winget Repository...

Additional information
No response

This is what I get using the same OS/commands:

Tips: if ((([System.Security.Principal.WindowsIdentity]::GetCurrent().User) -eq "S-1-5-18") -or ($WingetPath)) can be shortened to if (($null -eq ${env:=::}) -or ($WingetPath))

I agree with @KnifMelti you should get an error with the get-command winget.exe under system context

I understand that it's not necessarily normal behaviour but as you can see above in my screenshot it can occur.
However it doesn't necessarily make sense to pull the path that you intend to use under system context and then while under system context try pulling the get-command while under system context to begin with.
Suggested code above means it will never hit the unneeded get-command function if running under system. This is how I have fixed the issue on my system.

Yes, make sense. Feel free to PR your changes to get credited 👍🏻

Fixed under https://github.com/Romanitho/Winget-AutoUpdate/pull/389


Create e2e test for auth.resolver.ts

Don't need to make it fancy.

Just want to make sure signUp works
whoAmI works with userId
invalid email like abc@missingdot throw error

@vanpho93 Please let me handle this ticket. Thank you.


Error "Unable to display caps. Conversion failed." on DYK 33UX250

I am unable to capture any images from a DYK 33UX250 on Ubuntu 20.04 and a Raspberry Pi 4 running Raspbian Buster. They fail in the same way.
tcam-capture correctly identifies the camera, but lists no Formats, Resolutions or FPS in the selection boxes.
tcam-ctrl reports:
pi@raspberrypi:~ $ tcam-ctrl -c 45910379
Unable to display caps. Conversion failed.

Hi,
The DYK 33UX250 requires two special settings to function properly.

The flag TCAM_ARAVIS_USB_VISION has to be set to ON during configuration.
tiscamera-dutils has to be installed. You can find them in our download section.

The kernel drivers do not yet contain our polarization formats so a workaround has to be used.


radio.RATE_250KBIT in V1 but not V2

radio.RATE_250KBIT is not defined in MicroPython for V2 but is for V1.
It's commented out in the source: https://github.com/microbit-foundation/micropython-microbit-v2/blame/eba8995843ebc7246765b364710543c9ffee344a/src/codal_port/modradio.c#L269 (and elsewhere).
It's documented in the V2 docs radio.config data_rate parameter: https://microbit-micropython.readthedocs.io/en/v2-docs/radio.html#radio.config
It looks like the relevant MODE is deprecated for nRF52. This DevZone response that Carlos found suggests it is not tested.
If it's not reasonable to support it for V2 then we should mention this in the docs for the parameter. Happy to create a PR for that but raising this for discussion first.

In a52cd59732e49005afd4a9e805e1e9971ae29574 I made it so the user can pass in a value of "2" to select 250Kbit, if they really need it to communicate with a micro:bit v1.  But otherwise they shouldn't use it and so the constant radio.RATE_250KBIT is unavailable.

I've tested this with a micro:bit V1.3 and V2.2 and it works!
from microbit import *
import radio

rate = radio.RATE_250KBIT if hasattr(radio, "RATE_250KBIT") else 2
radio.config(data_rate=rate)
radio.on()

while True:
    if button_a.is_pressed():
        display.show(Image.SURPRISED)
        radio.send("hello")
    else:
        received_data = radio.receive()
        if received_data:
            display.show(received_data)
        else:
            display.show(Image.HAPPY)
    sleep(500)

I've also raised this PR to remove radio.RATE_250KBIT from the docs: https://github.com/bbcmicrobit/micropython/pull/731


[WIP] Cloud 2.0 multi-user docs

Work-in-progress PR for the first phase of upcoming multi-user features in Cloud 2.0.

Will create a new PR after beta-9 is merged.


Blueprint indexing isn't working

The blueprint indexing doesn't seem to function.
My UClass is showing as no usage within the project...

Yet this class is used in many blueprints...

Unreal link is connected and working

When the indexing background task was running, it didn't look like it had scanned the whole content folder.
Is there a way to inspect why it stopped and resume indexing?
We are running Unreal 4.27

Hello, @ChristopherGascoyne!
Thank you for the feedback. Unfortunately, we were not able to reproduce the issue. Could you please file one issue in YouTrack with detailed case description and attach here Rider's logs? You can collect them via Help | Collect Logs.
Thank you in advance!

FYI the easiest way to report a Rider bug with logs is Help | Report a bug


no error message but black rtmp video stream

Hi i do all like the manual but when i stream to nginx server and from nginx server to obs studio i get only a black screen.
The system switch automaticly the scene, thats function also the system detect a video rate, but i dont get the video. ^^

Did you install VLC? Are you using the VLC Media Plugin in OBS? If so what address are you using to pull in the video feed?

Yes its installed, i use this link with the vlc plugin: rtmp://localhost:8080/publish/live

So you changed the rtmp port to 8080 in the nginx.conf ??

yes thats the config

thats the NOALBS config:

here the OBS Studio RTMP screenshot:

Hello Benjo,
You should use rtmp://localhost/publish/live in VLC.

-.- that was the problem....   thanks <3

Hey I was on my way to helping him, thanks for stealing my thunder brah 😕 ... 🤣👍


Buffer opens up with modifiable set to false

Installed the plugin using lazy as specified in the README. It looks as follows,
{
    'mikesmithgh/kitty-scrollback.nvim',
    enabled = true,
    lazy = true,
    cmd = { 'KittyScrollbackGenerateKittens', 'KittyScrollbackCheckHealth' },
    event = { 'User KittyScrollbackLaunch' },
    -- version = '*', -- latest stable version, may have breaking changes if major version changed
    -- version = '^4.0.0', -- pin major version, include fixes and features that do not have breaking changes
    config = function()
        require('kitty-scrollback').setup({
            {
                status_window = {
                    style_simple = true,
                },
                visual_selection_highlight_mode = 'kitty',
            },
        })
    end,
},

The relevant portion in kitty configuration is as follows,
# kitty-scrollback.nvim Kitten alias
action_alias kitty_scrollback_nvim kitten /Users/prayagmatic/.local/share/nvim/lazy/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py

# Browse scrollback buffer in nvim
map kitty_mod+h kitty_scrollback_nvim
# Browse output of the last shell command in nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
# Show clicked command output in nvim
mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output

When I use any of these keybindings, the nvim buffer opens up as expected. However, I can't modify anything since it opens up with modifiable set to false.
I have tried the following extra arguments to nvim,

--nvim-args -u /Users/prayagmatic/.config/kitty/init.lua: Use a different nvim configuration which is copied from the README.
--nvim-args --cmd "set modifiable" or its Lua equivalent
--nvim-args --clean --noplugin -n

In all the cases, it always starts with modifiable set to false. It only works when I toggle it manually after the buffer is opened.
I can't exactly pinpoint as to who's overriding this value. Is it possible that the kitten or the nvim plugin is forcefully overriding this value?
TIA.

Well, this got fixed after toggling this plugin option, https://github.com/mikesmithgh/kitty-scrollback.nvim/blob/08960ad9a96ff6ea6269157dbd4a8a499f7a4311/lua/kitty-scrollback/configs/defaults.lua#L63
Closing this issue. Though still curious as to how it was being set to false. I checked launch.lua and saw that it is explicitly defined as true,
https://github.com/mikesmithgh/kitty-scrollback.nvim/blob/08960ad9a96ff6ea6269157dbd4a8a499f7a4311/lua/kitty-scrollback/launch.lua#L148


[Smart Account] Revert state of failed authenticator within anyOf

What is the purpose of the change
Making sure that state of sub authenticators in anyOf that failed gets reverted even if anyOf it self is passed.
This make expectation of authenticator consistent that if the authenticator returns error, it shouldn't update the store in any case rather than depending on parent authenticator result.
Testing and Verifying

unit tested in x/authenticator/authenticator/composite_test.go

This is cool! do you think we should do the same for Track()?


🧑💻: add Sorting Algorithms

Title
Sorting Algorithms
Enhancement Aim
To add bubble sort, merge sort, and quick sort implementations
Changes
add codes related to bubble sort, merge sort, and quick sort implementations
Screenshots 📷
N/A
Guidelines

[X] I have read the guidelines
[x] I have the link to my latest merged PR

Full Name
Chiluka Akshitha
Participant Role
GSSOC-ext and hactobefest

https://github.com/UTSAVS26/PyVerse/pull/229
latest pr merged


Upgrade to circuits_gpio?

circuits_gpio is an improved version of Elixir/ALE's GPIO support. I'm trying to encourage libraries that use Elixir/ALE to upgrade to Circuits since it's easier for me to support Circuits should any issues arise. There should also be a decent performance improvement - although it might not be noticeable under normal operation.
Thanks!

@fhunleth
I wrote a simple library lcd_display that uses the latest Elixir Circuits libraries and supports some popular I/O expanders.
At first, I tried to fork this repo, but I had never used  Elixir ALE before and it was easier for me to start from scratch with Elixir Circuits libraries that I am familiar with.

@fhunleth
I wrote a simple library lcd_display that uses the latest Elixir Circuits libraries and supports some popular I/O expanders.
At first, I tried to fork this repo, but I had never used  Elixir ALE before and it was easier for me to start from scratch with Elixir Circuits libraries that I am familiar with.


CanvasRenderingContext2D based renderer

Is your feature request related to a problem? Please describe.

I tested glow and webgl1 painter on Epiphany and Midori browsers . now they don't support both browsers.  WebkitGTK's webgl  implementation is bag of bugs.
Also may better support for non sRGB browsers .
Describe the solution you'd like

eliminate webgl related error from browsers.
Describe alternatives you've considered

Do not support WebkitGTK browsers
Additional context

I'm implementing mobile text edit and IME support for winit on web .
I'm using egui to demonstrate or debugging  with modified egui_winit_platform with addtional winit IME support.
I tested it on Chrome,Firefox,MS Edge browsers . but I tested on WebkitGTK browsers then i faced alot of errors.

The very first egui renderer was using CanvasRenderingContext2D! I think drawing most shapes should be pretty straight-forward, and perhaps text can be rendered from the texture atlas using https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage
I’m curious what the performance will be though. I’m not very optimistic

I made this renderer called egui_canvas


Investigate validator check-redirect errors with code -1001

https://github.com/SwiftPackageIndex/PackageList/actions/runs/5844404666/job/15847529354
ERROR: https://github.com/artemnovichkov/fastfood.git Error Domain=NSURLErrorDomain Code=-1001 "(null)" (ignored, keeping package)

Ok, looks like -1001 is a timeout. I think we can safely ignore these as they'll be retried the next day.


travis-ci.com migration

Description

Fixes CI!
https://docs.travis-ci.com/user/migrate/open-source-repository-migration

Talking with @macdonst, we won't be able to use travis-ci.com because of funding requirements. So our options are GitHub Actions and CircleCI.


Gradle: add support for dependencies in buildSrc

Gradle has a concept of buildSrc (https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources) that provides logic for the project build files.
Also it is possible to define there a dependencies (even using common Kotlin files): https://github.com/JLLeitschuh/ktlint-gradle/blob/master/plugin/buildSrc/src/main/kotlin/PluginDependencies.kt
Please add support to updating dependencies defined in buildSrc folder in Groovy, Java or Kotlin file (please also keep in mind closed dependabot/feedback#392)

Gradle 6.8 will include a new official dependencies management.

Apologies for bumping this thread, but I felt it was worth mentioning that the new dependencies management moved over to the 7.0 RC1 milestone on December 8. In case you're already on 6.8 and want to try this out, as I was. :sweat_smile:

Apologies for bumping this thread, but I felt it was worth mentioning that the new dependencies management moved over to the 7.0 RC1 milestone on December 8. In case you're already on 6.8 and want to try this out, as I was. :sweat_smile:

Gradle 7.0 milestone1 is available and the stable version should be available before February ends.

What happened to the support for buildSrc?

What happened to the support for buildSrc?

You should stop using buildSrc and move to catalogs, it is not recommend by Gradle.

Version catalogs is what was introduced in 7.0. It's still in preview, however.
https://docs.gradle.org/current/userguide/platforms.html

What happened to the support for buildSrc?

You should stop using buildSrc and move to catalogs, it is not recommend by Gradle.

How is it not recommended by Gradle? I have been following their guide to setup my multi-project build and was told to use buildSrc for that.
See here:
https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins
They even mention project dependencies specifically and declare a dependency on junit:junit:4.13  in their example:
https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins
It would be pretty nice if dependabot could scan the files under buildSrc as well, since Gradle in my eyes still wants people to use buildSrc to share build logic in multi-project builds.

Because it breaks some caches. There is multiple workaround to use catalogs inside precompiled plugins.

Are you saying that I should make my project work with catalogs by using some workarounds, just to get dependabot working?
I thought this was a bug in dependabot which is how I got here and am a bit confused about the state of this issue. Since according to my understanding Gradle still wants people to use buildSrc.
Even if workarounds exist to make it work I don't want to put in extra effort to reconfigure the project and potentially mess something up.
If dependabot is not going to support this case that's fine with me. I'll need to monitor the dependencies myself then, so some kind of heads up about that would be appreciated.

@jeliebig, I didn't say you should use one or another, using catalogs doesn't imply not using precompiled catalogs.
I am using precompiled plugins AND catalogs every single day, for single or multi-project builds.
I was using precompiled plugins + dependency management in buildSrc since 2019 and I still use precompiled plugins but without having the dependency management in buildSrc, moving it to Version Catalogs.
Why do you have to hardcode the strings + versions directly in the precompiled plugins and/or buildSrc object/classes instead of getting the catalog INSIDE buildSrc precompiled plugins and get the deps from there, and adding them to the dependencies block in your precompiled plugin?
You should use Version Catalogs for dependency management, something completely unrelated to precompiled plugin feature. You can get the deps from the Version Catalogs and apply them inside buildSrc precompiled plugins.
That means if you update your deps, you have to change nothing in buildSrc, avoiding breaking cache.

Oh that doesn't sound that hard to do!
I thought workarounds means that I would have to follow some kind of complicated process to get something to work that isn't supposed to work.
But what you just described sounds pretty easy to me. I guess I'll give it another try and see if it works.
Although it doesn't solve this issue, this might be acceptable to just get it working at the moment.
Thank you for your patience with me!

Complex build logics still need buildSrc, any plan to support this feature?

did this just got released? I see a lot of PR:s in my buildsrc today :)

Same here. Looks like "something" was released. Where can we find any details?

Alright, found minute after asking a question (so typical...). See: https://github.com/dependabot/dependabot-core/pull/5028

So.. this can be closed now?? 😮


Document and mark the ResourceId operator as public api

Useful to make feature id queries with fx. WFS format/protocol.

I had to redo my clone so https://github.com/openlayers/openlayers/pull/14169 replaces this. It's in draft until do the tests.


feat(v2): add support for sync to npm2yarn tabs

Motivation
Add support for tab choices synchronization to npm/yarn tabs (see https://v2.docusaurus.io/docs/markdown-features/#syncing-tab-choices for more details).
I did it via option to make the plugin behavior more flexible.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

good idea 👍


Background color changes by itself sometimes

Compare:
Tab 1:

Tab 2:

I didn't do anything to change bg color of the first tab, it happened by itself.

That looks to me like acrylic turned itself off. Sometimes that just happens, by OS policy. I think there are some dupes for that floating around...

It looks super-weird :( especially given that this does not apply uniformly to all tabs

@vadimkantorov What OS version are you on? This might be #7047
(#1414 is also a related discussion)

Windows 10 version 2004, build 19041

Yep, that'll do it. I'm pretty confident you're seeing the affects of #7047. I believe that's a bug they're gonna service, but I'm not totally sure about its status. I'd follow #7047 for updates.
/dup #7047

Is it that "transparency" does not work? Or is it that "transparency" gets enabled by itself?

Basically, the OS incorrectly decides that your system can't support acrylic (when it really can), so it disables it. It's not consistent though, which is why it seems like sometimes it doesn't work.

Maybe it's again related to CPU/RAM resources. But it looks supper weird. I'd prefer whole terminal downgraded or an option to always start it without Acrylic, rather than downgrading just one tab out of many

It's actually caused by a bug in DWM. It incorrectly doesn't re-populate the properties for the monitor or something - I don't really understand the bug. I do know that the bug is fixed already internally, so it won't be too long before it rolls out to Insiders.
The Terminal unfortunately doesn't really have any way to know if acrylic will or not work when we ask for it. That's not really something that XAML exposes to us, and I'm not really sure it's worth our effort to add some mitigation code on our side for a bug that's already fixed.

When I remove focus from Terminal, light-black turns back into dark-black. So yeah, probably DWM fix is the right place for the fix


Question about your paper

Hi @cpflat ,
I read your paper carefully ("Latent Semantics Approach for Network Log Analysis: Modeling and its application"). It is a great work. I have a little bit confuse about how to you model topic. Actually, you have 34.7M logs and 1789 log templates in SINET4 dataset. Did you apply topic modeling for corpus from 1789 log templates (each log template as a document -> corpus with 1789 inputs) or 34.7M logs (convert raw log to log template and consider a log template as a document -> corpus with 34.7M inputs) ?
Also, in your paper, it seems that you did not preprocess with the periodic such as cron job in certain time. e.g. a cron job always run in 0h. It only effect the topic distribution in the specific time and it can effect the result when the ticket reference is mismatch with this specific time (e.g you have a ticket in other time and have a similar issue in the time you run cron job -> it can make the cosine similarity decrease because cron job effect the topic distribution)

Sorry for the late reply.
We use a corpus with 1789 inputs. As the log messages are converted into log templates as semantics analysis inputs, the 34.7M inputs include too many duplications. Also, in the viewpoint of processing time, the full log messages should not be used for semantics analysis because the analysis won't be completed in an acceptable processing time. Furthermore, if we use one input for one log template, we can focus more on minor log messages that are usually more important than repeated messages in network troubleshooting. That's why we use the smaller inputs.
Basically, the time-series factor is meaningless at least in the semantics analysis part. We did not consider the periodicity issue in the application with LogCluster for a fair comparison evaluation. At least in our experiments, the periodicity is not a root cause of estimation failures in our manual survey. If needed, we've discussed the way to remove periodic components from log time-series data in another paper as you may know:
https://doi.org/10.1109/TNSM.2017.2778096

Thank for your response. It is more clear for me. Now, I can understand the reason you choose the template as input. The periodic component is not a root cause, but it can affect the topic distribution if the number of occurrences is enormous. Such as in my case, a script always run in 0h and it spam the Interactive command in log and it can make the decrease consine similarity when I compare with the same error not in 0h.
About the periodic event, I also refer to your paper "Mining causality of network events in log data", "Causal analysis of network logs with layered protocols and topology knowledge" and the latest version "A Quantitative Causal Analysis for Network Log Data". I also read your implementation in logdag. As your response, it seems that you use the preprocessed data as input for detection. In my opinion (also I tried the preprocessing as Fourier transform with my data), it has 2 problems:

The processing requires lots of data to remove long interval, that mean you need data with time range is more than interval to capture and to detect interval, in particular in the case a script always run in a specific time in a day (e.g. 0h in a day). Then, we need to trade off between removing periodic data and fast detection. I am trying to build a job to detect anomaly based on your paper in each hour. Then, if each hour, I need to collect one day data to preprocessing, it will be in trouble in resource computing each time.
The result after remove with Fourier can be negative or not integer. In your code "https://github.com/amulog/logdag/blob/master/logdag/source/period.py", in "restore_data" function, you use the " np.median", in some case, it can return the "periodic_cnt" is not integer, so, the time series will be not integer (because the number of occurrences for a template is always integer). Also, it can be negative because of delay time in log (cause by high load system) or missing data (the device is down). E.g. the count of a log template in time series can be: 5, 7 (because of delay and time bin size is small, e.g. 10s, the log comes to next time bin), 6, 6, 6, 6, ,6 then after filter, it will be -1, 1, 0, 0, 0, 0, 0. How do you treat with this problem ???

The processing requires lots of data to remove long interval
I understand the tradeoff. If we only consider 1-day data, we will miss the per-day periodicity. If we use longer data, it requires a large processing time.
One possible solution is using a time-series DB (such as influxdb) to store the input of preprocessing. With it, we can query time-series data with different granularity in a short time, because the DB is designed mainly for fast and dynamic visualization of time-series data. If you need to focus on periodicity with long intervals, you can query time-series with large granularity, e.g., 1-week or 1-month data with a bin size of 1 hour.

The result after remove with Fourier can be negative or not integer.
Sorry that I don't have enough time to validate my code right away. If that is correct, it's just a bug or a design error.
We basically use the source/period.py module from source/filter_log.py. You can see the preprocessed time-series data is restored into list of datetime (on LogFilter.filter_periodic), and the negative value seems just ignored (same as 0).
At least in my memory, I tried to subtract 5,5,5,5,5 (not 6,6,6,6,6) (i.e., min(data[periodic_time] rather than median(data[periodic_time]))) in the case of your example.
Anyway, pull requests are welcome if you have some other solution.

Thank you for your response.

One possible solution is using a time-series DB (such as influxdb) to store the input of preprocessing.

My point of view is trying to detect as soon as possible. With my case, the number of host can be more than 500 device, it still huge load if I use influxdb to count the template occurrences and group by time in time bin (60s as your paper recommend) (my monitoring system also use influxdb as backend so I have lot of experiments with influx). I will try to tuning the range to see the impact.

You can see the preprocessed time-series data is restored into list of datetime (on LogFilter.filter_periodic), and the negative value seems just ignored (same as 0)

Yes, I see your code in filter_periodic, you ignore the value less or equal 0. But I guess that in "_revert_event", it should be
l_dt += [dt] instead of  l_dt += [dt] * int(val) (add the time index when value is more than 0, as the code you comment). Otherwise, based on your slide in "http://sat.hongo.wide.ad.jp/papers/crw2018.pdf" I guess that the min(data[periodic_time] is more reasonable than median (as the slide number 36), and after that, subtract will always return a value more than or equal 0.
I think that it is clear now. Thank you again for your kind support. I will close this issue, try to validate the periodic in my case to testing the median and the min and make a PR if need.


Chore/update docs outline

WIP: https://deploy-preview-393--ohif.netlify.com/advanced/extensions.html

@biharck, the extensions section should be ready for review. Please let me know if you have any questions or comments.

LGTM!
The only thing I think it would help new users is to see a flow diagram (or any other related diagram) so that they can see the Big Picture about Extensions.

@biharck, I've created a task to update the docs with your suggestion :+1:
I'm going to merge this for now. Thanks for taking the time to review it.


Add caching for downloading dependencies

One more comment i think the commit message and PR title could be a bit more descriptive.
What you are doing in this commit is implementing a certain flavor of FetchingCacheService.

One more comment i forgot to make.
FileLock supports shared locks, we could aquire a shared lock for reading and a (i.e. readlock) and an exclusive one for writing (i.e. writelock) on the same file.
This would allow multiple agents to read and copy the same item from the cache in parallel, rather than blocking after another reader.
To me, this seems straighforward to add, however the benefit is also pretty low, so if you think it's a significant amount work we could skip for the moment (but it would be nice to leave a TODO if we ever come back to this class looking for ways to make it faster).

Merged to master


Usage Problems

Can you offer any kind of documentation or tell me how it works please .

Usage part added now, you can check it.
And please if you find any issues in this packages, report it
Thanks


[Analysis] customElementsMode.js Types and behaviour of attributeChangedCallback()

customElementsMode.js prop key types = always string
I tested a lot whith CustomElements.js. First I created a simple counter component, but without passing a value (props). It was working as expected, but i had to call this.update() inside the changeValue() function, to update the component.
Then I passed the props key value to the component. It was not working as expected, since the type of value was always string. I tried different approaches to change the value type to number or convert to Int/Number, but nothing worked.
Behaviour of attributeChangedCallback()
After I read all the docs about Custom Webcomponents, I was wondering, why actually I had to call this.update() at all, since attributeChangedCallback actually should update the component itself. I analysed the code of CustomElements.
 Please read here.
Have a question?
I don't know maybe I was just trying too many hours to archive the desired results.
But I have setup a repo with 3 different demonstrations.
https://github.com/jrson83/nanojsx-elements-test

counter_simple.tsx : for demonstrating prop key type is always string
counter.tsx : more advanced approach with more debuging
word.tsx : for demonstrating that attributeChangedCallback actually only works with setAttribute

There are also comments inside the files, for more information. To change the compiled file just change the entry in webpack.config.js.
It would be great if you checkout the repo and give some feedback on my thougts.

counter_simple.tsx
In the web, the value of an html attributes can only be of type string.
counter.tsx
If you manually create a WebComponent, you can use attributeChangedCallback to update things. In nanojsx you have to call update(). attributeChangedCallback will only be called once internally.
word.tsx
If you want to update the value on the DOM you can do this. But I don't see the use of it.

Thanks, I suspected this and should not have spent so much time analyzing the functions. I close the issue.


Review addition of libjpeg-turbo and libjpeg-turbo-devel

This is a follow up on https://github.com/openshift/sti-python/pull/102. Moving the discussion here for it's easier to track an open issue than a merged PR (rather easy to forget).
Open questions:

[ ] Check where the libs belong, it anywhere in the official images.
It's unclear what apps or Python libraries depend on those libs. Perhaps it doesn't belong in the Python layer, but in sti-base? Or in a specialized derivative of sti-python?
Quoting @bparees:

@donnydavis can you elaborate on why you consider this to be a common dependency?

[ ] The patch was applied only to the 2.7 image (update 3.3 and 3.4 in a follow up?)

[ ] The increase in image size is of ~3 MB. Do we consider that OK?

$ docker images | grep jpeg
python-27-jpeg                                      latest              15639fcae25f        29 seconds ago      657.7 MB
python-27-no-jpeg                                   latest              804931d10c74        2 days ago          654.8 MB

Something else to consider?

i'm ok with the 3mb size increase, assuming we can satisfy the other questions.
and yes, definitely should be done in 3.3 and 3.4 as well (assuming we keep it).  If we can't justify it in those, then it probably doesn't belong in 2.7 either (unless it's been supplanted by a different library used by python3.3/3.4 apps).

We don't know yet the original use case, but I was extrapolating that for whatever uses some libjpeg in Python, there'd be a similar "need" in Perl, Ruby, PHP, etc...
Looking at the existing yum packages we install at the sti-python level, those are only Python related (like pip), and httpd is the only exception to that so far.

@donnydavis can you weigh in here on what your use cases were?  we're having trouble justifying keeping the jpeg libs in the common image w/o your help.

at this point i'm inclined to just close this.  we'll leave the library in python2.7 but not add it to the other versions.  if a request comes to add it to 3.3 or 3.4 we can revisit this discussion about where it belongs, whether it belongs, etc.
any objections @rhcarvalho ?

@bparees it will stand out when diff'ing the multiple image versions, but I'm okay with whatever decision you make.

yeah, minor annoyance, i think we can live with it.

This should be closed, pillow will now build. Sorry for the delays in getting back to you

This should be closed, pillow will now build. Sorry for the delays in getting back to you

Do you mean that the libs are not needed?


fix(key-auth): keep query params order if hide_credentials is true

When hide_credentials=true, query parameters should not be sorted alphabetically. This alters the original request and can have unintended consequences for upstream services. One example is authentication with the pseudo header (request-target) as described in https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures#section-2.3. Since the order is not preserved, the signature does not match and the upstream rejects the request.

query parameters order is not altered when hide_credentials=true
add two new test cases in spec/03-plugins/09-key-auth

Checklist

[X] The Pull Request has tests
[X] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

 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.

I agree with your points @gszr , although those are in relation to the headers. The order of the headers is not important because, as you point out, the client MUST use the values of each HTTP header field in the headers Signature Parameter, in the order they appear in the headers Signature Parameter.
The point here is that one of those headers is the (request-target) pseudo-header. This header includes the path and the query string, that is the reason why the order of the query string arguments should not be altered. See an example in slide 6 here https://revenue-ie.github.io/paye-employers-documentation/PIT3/examples/REST_Request_Authentication_V1.pdf.
I hope this clarifies.

If you see the example in https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures#section-3.1.3, the headers that will be part of the signature are:
headers="(request-target) (created) host digest content-length"
Those headers can be received in any order, that is not a problem because the upstream knows how they should be ordered to calculate the signature.
The key point, is that the (request-target) header contains the HTTP method and the request path, eventually including the query parameters. For example:
(request-target): get /this/is/a/sample/path?zparam=1&tparam=2&aparam=3
With the current implementation of key-auth plugin, if hide_credentials=true, the order of the query params are altered and placed in alphabetical order. So the upstream will receive the request as:
/this/is/a/sample/path?aparam=3&tparam=2&zparam=1
And the signature calculated by the upstream will not match the signature provided by the client.

@battlebyte I have taken the liberty to rebase and make a couple of changes to the code:

Use ngx.re.gsub with the oj flags (explanation here for anyone interested) as commonly done in our code base
Remove some formatting issues

I will also request @bungle to take a look at this one.
Also, the oauth2 plugin removes the header in the same way; should this fix also be applied there?

Thanks for the review and changes @gszr .
Regarding oauth2, I think the same fix should be applied there to avoid altering the query params ordering.

Thanks for the review and changes @gszr . Regarding oauth2, I think the same fix should be applied there to avoid altering the query params ordering.

Agreed; once this one is merged we can submit a separate PR.

Such a small PR which on a surface looks good and perhaps better than what we have, just raises a lot of small questions, for example:
Can querystring param names be urlencoded, e.g. key= -> %6B%65%79= or k%65y=, this will complicate the processing. Or is this somehow handled already (let's figure this out).

Update:
The Ada bindings look quite fine:
https://github.com/bungle/lua-resty-ada
And the Ada library is proposed to be added here:
https://github.com/Kong/kong/pull/13120

Thanks @bungle , that makes sense. Your proposal is a much better solution. Thanks for taking the time!

Hi @bungle , what are the next steps to close this topic?


Make BookieId work with PulsarRegistrationDriver (second take)

Motivation
In Pulsar 2.10 the custom "BookieId" feature doesn't work anymore because in PulsarRegistrationDriver we are not implementing getBookieServiceInfo
This patch also partially resolves https://github.com/apache/pulsar/issues/17759
Modifications
Implement getBookieServiceInfo
This is a new version of https://github.com/apache/pulsar/pull/17762.
The main difference is the additional commit, in which we mimic the original code in BookKeeper
see https://github.com/apache/bookkeeper/blob/034ef8566ad037937a4d58a28f70631175744f53/bookkeeper-server/src/main/java/org/apache/bookkeeper/discover/ZKRegistrationClient.java#L183
We cannot perform reads from the MetadataStore in getBookieServiceInfo because it is very likely that
something will wait for the results of the returned CompletableFuture in a metadata store thread.
So we introduce a cache that is updated when the client scans the list of Bookies.
This works well in the original ZKRegistrationClient because the BookKeeper Client always looks for the available bookies
and this triggers the preloading of the local cache.
When we will upgrade to BK 4.15.1+ users will be able to leverage BP-41 flag to turn off BookKeeper Server address resolver
https://github.com/apache/bookkeeper/pull/3356
Verifying this change
This change added tests
Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

Matching PR in forked repository
PR in forked repository:https://github.com/eolivelli/pulsar/pull/17

/pulsar-bot rerun-failure-checks

@Jason918 @codelipenghui @nicoloboschi @mattisonchao @michaeljmarshall you reviewed the first version of the patch.
Would you mind to take a look to this new version ?

In Pulsar 2.10 the custom "BookieId" feature doesn't work anymore because in PulsarRegistrationDriver we are not implementing getBookieServiceInfo

I think we have to cherry-pick this PR to branch-2.10 and 2.11, and this PR can also fix the ZK thread-blocking problem.
/cc @eolivelli

Yes we can do it, to port it to branch 2.10 but there is no hurry.
I don't think that Pulsar users are using the bookieId feature even on 2.8. Because it is not supported by the Helm Chart.
We would have to port this only of someone is on 2.8 and it uses BookieID.
So I am mot against porting it but I don't think it is worth, especially because it may introduce some little overhead and branch 2.10 is very stable

Yes, I see. thanks! @eolivelli


Start by translating home page

@fawzisf what's the status on this?

Will push towards finishing it this week, was a little pressured last week.

Hello @fawzisf, @iRayan7 created a new Glossary wiki, please use it as a reference and keep checking it as it's WIP.
Cheers!


MNIST example is crashing

I confirmed it crashed on iPhone 6. And after trying some times it ran successfully but the result it got is never correct.

It's also crashed on iPhone 8.


Batch read flag requests to at most 1k message IDs

Send at most 1k message ids in a single read flag request to avoid locking
large number of rows in server database in a single request and avoid long
processing time.

#11956
Testing Plan:
Testing is WIP. Automated tests have to be included and proper testing is pending.
GIFs or Screenshots:

@thedeveloperr this implementation looks great; I agree some sort of automated test for this would be nice (one good technique would be to make message_flags._unread_batch_size an exported value, so that for testing either manually or with unit tests, one can change it to 1.

Update: Added automated tests for the new feature. @timabbott please review

That test is awesome, thanks @thedeveloperr!
Merged after editing the commit message to close #11956.


Chore: Update extensions/v1beta1 to networking.k8s.io/v1 on OpenAPI-2-Kong

This is in order to follow the deprecation guide of past k8s version +1.22
https://kubernetes.io/docs/reference/using-api/deprecation-guide/#ingress-v122

Migrate manifests and API clients to use the networking.k8s.io/v1 API version, available since v1.19.
All existing persisted objects are accessible via the new API
Notable changes:

spec.backend is renamed to spec.defaultBackend
The backend serviceName field is renamed to service.name
Numeric backend servicePort fields are renamed to service.port.number
String backend servicePort fields are renamed to service.port.name
pathType is now required for each specified path. Options are Prefix, Exact, and ImplementationSpecific. To match the undefined v1beta1 behavior, use ImplementationSpecific.

Let's make sure we document this really well but sounds like we need to make a major version bump for sure.


Multirow - class isn't removed after resize

This is a (multiple allowed):

[x] bug
[x] enhancement
[x] feature-discussion (RFC)

Version (I use VUE & Nuxt):
Installed: "vue-awesome-swiper": "^3.1.3",
https://www.npmjs.com/package/vue-awesome-swiper
Swiper 4
What you did
Set this params:
    swiperOption:{
      autoplay: false,
      slidesPerView: 'auto',
      slidesPerColumn: 2,
      slidesPerColumnFill: 'row',
      allowSlidePrev: false,
      allowSlideNext: false,
      breakpoints: {
        768: {
          slidesPerColumn: 1,
          slidesPerColumnFill: 'column',
          allowSlidePrev: true,
          allowSlideNext: true,
        },
      },
      pagination: false //{el: '.swiper-pagination', clickable: true}
    }

Expected Behavior
Load from more than 900px and resize to small 767px (in this example)
Class "swiper-container-multirow" removed from DOM
Actual Behavior
Class stay and need to be removed manually.
It isn't problem after resizing up as I can add property from css manually (flex: wrap)
Why no class modifier to this option or renaming in Namespace section?

The same issue with "swiper": "=4.5.0"

vue-awesome-swiper isn't related to swiper. Use swiper official vue component.

vue-awesome-swiper isn't related to swiper. Use swiper official vue component.

For future, yeah - sorry! That's right, it's not bug in this repo. Only done push in code, no trace that this class is removed in any time.
Reference: https://github.com/nolimits4web/swiper/blob/e39d8e924048fd043377054e0a2d6d9496bf11aa/src/components/core/classes/addClasses.js

For future, yeah - sorry! That's right, it's not bug in this repo. Only done push in code, no trace that this class is removed in any time.
Reference: https://github.com/nolimits4web/swiper/blob/e39d8e924048fd043377054e0a2d6d9496bf11aa/src/components/core/classes/addClasses.js


fix: load monog url from .env file

This pr fixes issue #21 .
Here I have made changes to load the mongodb connection string from the .env file and the port as well .

@rycerzes please review this

Good work! thanks for contributing. merged!


chore(master): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2023-02-07)
Features

make events generic on player (68868e0)

Bug Fixes

node: stringify bool query params for replace (63b7462)

Miscellaneous Chores

update readme (5763b4a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ooliver1/mafic/releases/tag/v1.0.0 :sunflower:


Implement Hadolint CI For DockerFiles

Issue summary
This task is to implement Hadolint CI to better the state of our docker files and keep them at system standards.
Task Requirement

All CI checks must pass
Dockerfiles must have better comments
PR checks must pass before merge

It's already done in https://github.com/ChainSafe/forest/issues/2613, no?


Shaunting Yard  Algorithm

Here is how the algorithm works:
Create an empty stack for operators and an empty queue for output.
Read the expression from left to right.
If the token is a number, add it to the output queue.
If the token is an operator, then:
a. While there is an operator on top of the operator stack with greater or equal precedence and it is not a left parenthesis, pop it off the stack and add it to the output queue.
b. Push the current operator onto the operator stack.
If the token is a left parenthesis, push it onto the operator stack.
If the token is a right parenthesis, then:
a. While the top of the operator stack is not a left parenthesis, pop operators off the stack and add them to the output queue.
b. Pop the left parenthesis off the operator stack (and discard it).
When there are no more tokens to read, pop any remaining operators off the stack and add them to the output queue.
The output queue now contains the postfix notation of the input expression.
can I write the code for it??

I already implemented this here, but it might have some issues, if you can fix it, then open pull request and I will merge it.

It worked well and it also worked on 2 or more digit numbers, untill you provide a space between operands and operators. Only problem is that while printing answer it does not take care of spaces. For Example,
for this infix expression : (10 + 20) * 30 - 40 / 50 ^ 60
it will output this: 1020+30*405060^/-
instead it should take care of spaces and print: 10 20 + 30 * 40 50 60 ^ / -
If you can


Add PURGE METHOD for http methods

https://github.com/danielmiessler/SecLists/blob/285474cf9bff85f3323c5a1ae436f78acd1cb62c/Fuzzing/http-request-methods.txt
ADD PURGE METHOD
"PURGE"

Please open up a merge request to add it!