File menu and drop down list for selection of Tags.json are not working

The fields in the form are greyed out and I cannot find a way to open a tags file.  I have internet connectivity.  No idea what the issue is.

You can use the File menu (just to the right of "Formbuilder") to load an existing form or use "New" to create a new form. the use the New button in the Sections, Forms, and Forms Items area tocreate new entries.  Once there are entries the other buttons will be enabled.  Once you have created your form you can save it.


Not responsive

Standard and Branch part aren't responsive.

Issue has been solved  by Hardik Thakkar. Hurraaahhhh !!!!


Cannot install from 4.2.0 source tarball

Describe the bug
After successfully downloading and building the 4.2.0 source tarball, attempting to install with either make install or cmake --install  produces errors.

Errors differ depending on which command is run.
I am setting DESTDIR to redirect output to a specified directory for packaging.
Building with make or cmake --build build does not seem to make a difference.
A few weeks ago, with a pre-4.2.0 git checkout, make install seemed to run successfully.  Will update after trying with a current git checkout.

To Reproduce
$ cmake -B build -S "hal-4.2.0" \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX='/usr'
...

$ cmake --build build
...

$ pkgdir="$PWD/pkg"
$ mkdir -p "$pkgdir"

$ make DESTDIR="$pkgdir" install

make: *** No rule to make target 'install'.  Stop.

$ DESTDIR="$pkgdir" cmake --install build
...

-- Copy file /usr/share/hal/ld_conf/hal.conf to /etc/ld.so.conf.d/
Error copying file "hal.conf" to "/etc/ld.so.conf.d/".
-- Running: ldconfig
ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
CMake Warning at build/post_install.cmake:11 (message):
  ldconfig failed
Call Stack (most recent call first):
  build/cmake_install.cmake:147 (include)

...

Expected behavior
Files should be installed to DESTDIR without error.  Files should not (attempt to) be installed outside of DESTDIR.

make install with git checkout (cb176c3a194b700f4efed433cde958d1048022b2) does not have the same error as when trying to install from the 4.2.0 tarball.  However, it does have the same error message as cmake --install from the tarball.  I found old logs, and the same error did occur previously (pre-4.2.0 git 1c499268a9f).
-- Copy file /usr/share/hal/ld_conf/hal.conf to /etc/ld.so.conf.d/
Error copying file "hal.conf" to "/etc/ld.so.conf.d/".
-- Running: ldconfig
ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
CMake Warning at build/post_install.cmake:11 (message):
  ldconfig failed
Call Stack (most recent call first):
  build/cmake_install.cmake:147 (include)

I believe the problem may be:
https://github.com/emsec/hal/blob/2ab94d205e13cf32800020ae306c1fc60a6aa840/cmake/post_install.cmake.in#L6
Perhaps changing the line to the following would fix it:
 execute_process(COMMAND ${CMAKE_COMMAND} -E copy hal.conf "$ENV{DESTDIR}/etc/ld.so.conf.d/")

I have not tested the change because of the length of time building takes.


Update sbt to 1.8.0

Coverage remained the same at 85.321% when pulling c0878af58f94f41ea9c0d28cbb80e238085b4cd6 on sbt-1.8.0 into 1d7ac064b305628c3a06ec8d9e04f2516702af6b on master.


Troubleshoot adding and saving new items

I was not able to create a new item using the form editor.  In my email error, I received this message:
stack level too deep
app/models/document.rb:186:in `transition_publication_state'

Could this have been related to the (now-solved) problem of records being suppressed in GEOMG when the checkboxes were not working? It occurred when I was wrestling with that issue and tried to repeatedly create a new record.
However, just now, I tried to create a new record using a Slug already present in the database. I then got a descriptive error in my email "  PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_kithe_models_on_friendlier_id", so maybe that wasn't it.

Could this have been related to the (now-solved) problem of records being suppressed in GEOMG when the checkboxes were not working? It occurred when I was wrestling with that issue and tried to repeatedly create a new record.
However, just now, I tried to create a new record using a Slug already present in the database. I then got a descriptive error in my email "  PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_kithe_models_on_friendlier_id", so maybe that wasn't it.

I think the original issue might have been all that work to normalize publication state values... but that's just a guess.

I think the original issue might have been all that work to normalize publication state values... but that's just a guess.

Hmm, I think it must have been something along those lines because I am able to create new records now without issue. Can I close this issue?

Hmm, I think it must have been something along those lines because I am able to create new records now without issue. Can I close this issue?

Yeah. Closing as unable to reproduce now.

Yeah. Closing as unable to reproduce now.

OK, I just reproduced the error. I think what happens is if you try to create a new record and set publication state immediately to "published", this stack level error happens. If I leave the default publication state as "draft," it is fine.

OK, I just reproduced the error. I think what happens is if you try to create a new record and set publication state immediately to "published", this stack level error happens. If I leave the default publication state as "draft," it is fine.

Not a huge problem, but maybe something to address later on.

Not a huge problem, but maybe something to address later on.

The form has been updated. You cannot set publication state on a new item. Instead you create the object and its default state becomes "draft". You then can update it to "published".
Kinda odd, but the state machine library we're using seems to only allow objects to walk through state (draft => published), instead of being created as published.


Lodestar Integration into DappNode Tracker

As part of our milestones to integrate Lodestar into more community-based initiatives, Lodestar will be integrated into DappNode as an additional onramp for users to try Lodestar as their consensus client. The package located here is the implementation which is currently continuing with our support.
This issue is to track the progress and any additional requirements needed to integrate Lodestar into DappNode's stack.
Current ongoing progress is located here: https://github.com/dappnode/DAppNodePackage-Lodestar

@philknows @dapplion Is there anyone we can ping to help this along? we have PRs there sitting for a few weeks, don't want them to rot

We need to get the goerli package to work first which is located here https://github.com/dappnode/DAppNodePackage-Lodestar-Prater. Can ignore the PRs on the other mainnet package for now as the changes will be ported over once the goerli package is tested.
I tested the Lodestar package on goerli and it is broken at the moment, opened some PRs to fix the issues.

https://github.com/dappnode/DAppNodePackage-Lodestar-Prater/pull/25
https://github.com/dappnode/DAppNodePackage-Lodestar-Prater/pull/31
https://github.com/dappnode/DAppNodePackage-Lodestar-Prater/pull/32
https://github.com/dappnode/DAppNodePackage-Lodestar-Prater/pull/33
https://github.com/dappnode/DAppNodePackage-Lodestar-Prater/pull/34

Current status of dappnode integration:

all 3 Lodestar packages are production ready, DAppNodePackage-Lodestar, DAppNodePackage-Lodestar-Prater, DAppNodePackage-Lodestar-Gnosis
https://github.com/dappnode/DNP_DAPPMANAGER/pull/1388 needs to be merged and mentioned packages in PR need to be published
https://github.com/dappnode/DNP_DAPPMANAGER/pull/1389 needs to be merged and released
PRs similar to https://github.com/dappnode/DNP_DAPPMANAGER/pull/1389 need to be created to add Gnosis and Mainnet to Stakers UI

[ ] https://github.com/dappnode/DNP_DAPPMANAGER/pull/1419 needs to be merged and published
[ ] https://github.com/dappnode/DNP_DAPPMANAGER/pull/1418 needs to be merged and published
[ ] https://github.com/dappnode/DAppNodePackage-web3signer-gnosis/pull/49 needs to be merged and published
[ ] https://github.com/dappnode/DAppNode/pull/553 needs to be merged and published AFTER lodestar Mainnet is published
[ ] https://github.com/dappnode/DAppNodePackage-execution-multicaster/pull/5 Should be merged AFTER lodestar mainnet is published, doesnt need publishing yet as the package is not yet published publicly itself, just should merge this PR

Lodestar integration tracker on dappnode https://github.com/dappnode/DNP_DAPPMANAGER/issues/1422

Lodestar is now officially supported on all networks, see  release announcement  🚀


Authoring tutorials as jupytext *.py files

Process:

Write a tutorial as a *.py jupytext file under test/python/jupytext.
Run commands as explained in test/python/jupytext/readme.md to first convert it to *.ipynb and then execute that and convert it to *.md + folder with image files.
Copy the *.md and image file folder to docs/notebooks/.
git ignores the generated files, but not they copies.

I forgot that my notebooks require installing graphviz b/c it is needed for displaying pipelines.
Do you think it's OK to install it in our build images?
@ms-lolo, @jzazo

While we resolve the graphviz question, I remove the new command (rats-devtools.pipx build-jupytext-notebooks) from CI and instead committed the generated notebooks to git.


Automate - Model schema change for Cloud Orchestration Retirement class.

Changed class schema to have only a method and relationship.
Removed unneeded provider specific schema entries.
Cloud/Orchestration/Retirement/StateMachines/Methods.class
https://www.pivotaltracker.com/story/show/132190495

@tinaafitz
Please review

@billfitzgerald0120 Looks good.
@bzwei Please review.

LGTM. Thanks for deleting code.

Euwe Backport details:
$ git log
commit 9b37ccc4b2c09068729bace57db79e290c162539
Author: Madhu Kanoor<EMAIL_ADDRESS>Date:   Thu Oct 13 14:59:12 2016 -0400

    Merge pull request #11895 from billfitzgerald0120/schema_orch_retire_statemachine

    Automate - Model schema change for Cloud Orchestration Retirement class.
    (cherry picked from commit a6393202720f1fa250abc1edef9f130bd408890a)


Ensure order-of-operations for shuffling shard mod

What
Add some brackets to update_registry_and_shuffling_data to ensure shuffling_start_shard < SHARD_COUNT.
Why
The following code runs and prints "end"
epoch_committee_count = 2047;
SHARD_COUNT = 1024;
old_shuffling_start = 1023;

current_shuffling_start_shard = (
	old_shuffling_start +
	epoch_committee_count % SHARD_COUNT
)

assert(current_shuffling_start_shard > SHARD_COUNT)

current_shuffling_start_shard = (
	(old_shuffling_start +
	epoch_committee_count) % SHARD_COUNT
)

assert(current_shuffling_start_shard < SHARD_COUNT)

print("end")

This bug fix was subsumed in #808

Can we get rid of state.validator_registry_update_epoch and rely on just state.finalized_epoch?
The simplifications are 🤯. Loving it!

Actually going to express this to master for v0.5.1

closing in favor of #821


Azure CLI task Doc - Using 'argument's together with 'inlineScript' in the second code example is misleading

If I don't take it wrong, 'argument' is meant to be used with the script file. If someone is using inline script, content put in the argument is simply disregarded.

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

ID: 8de3304e-98f9-bac0-3ccc-c65f68a89e87
Version Independent ID: 8fb2f6a9-545d-dff1-ff86-974694a85054
Content: Azure CLI task - Azure Pipelines
Content Source: docs/pipelines/tasks/deploy/azure-cli.md
Product: devops
Technology: devops-cicd-tasks
GitHub Login: @ushan
Microsoft Alias: UshaN

@ramiMSFT Assigning to you, but you should check the author and ms.author on this topic.

@Smoovsky You can use arguments with both inline and file scripts. I'm adding two examples to the article.


Vim not detecting terminal colors

[X] I am on the latest Hyper.app version
[X] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: OS X 10.11
Hyper.app version: 1.2.1
Link of a Gist with the contents of your .hyper.js: default file, with solarized theme installed
Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere):
The issue is reproducible in vanilla Hyper.app:

Issue

Hi,
I have a fresh install of Hyper, and I've installed the solarized light theme. Everything works perfectly except Vim. I have the solarized light theme installed on vim as well - the 16 colour version.
My Hyper terminal shows up correctly in the solarized colors, but Vim doesn't seem to be reading the colors correctly. I confirm my configuration is correct because it works perfectly in iTerm.
Here are two screenshots:

I couldn't find any documentation, and couldn't find this in issues.
Best,
Samir.

possible duplicate of 155?

Here are 2 workarounds: https://github.com/vercel/hyper/issues/155#issuecomment-738556676


C++ Database connectivity programming with my sql

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
C++ Database connectivity with my sql
Introduction paragraph (2-3 paragraphs):
In this article, I shall describe specifically Relational database Management systems to define, control and manupulate data. For programming examples, we will use the default TCP port number 3306 for running MSQL server. To acess the MSQL server, we will write some programs in C++ to connect to the database server at the given IP address and TCP port number(3306), issue the SQL commands, and process the results received.
Key takeaways:

setting up MYSQL
install C++ database connectivity driver
Allocate a Connection object, for connecting to the database server.
Allocate a Statement object, under the Connection created earlier, for holding a SQL command
Write a SQL query and execute the query, via the Statement and Connection created.
6.process the query results

References:
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@Newton-cyber
to help avoid a backlog queue we are only accepting one article topic/pr approved at a time 👍 can be reopened once the first PR is merged.


Token headers example

Hi James,
I have read your blog related to the M365AppsAPI calls you published here, and unless I am reading it wrong, the APIs do not work or do they actually? I am only interested in the OneDrive reports. I captured header details via Fidler, read carefully your blog, but I am still unable to make it work. Could you please contact me on<EMAIL_ADDRESS>and help me out with a sample header you add to the bearer token?
Much obliged in advance
Petr

Hi @pesors
I just went and checked a few endpoints to see whether they'd changed anything, but it all seems to still work.
Literally all I did was open Edge Dev Tools when navigating config.office.com and grabbed the bearer token from one of the requests and threw that into the authorisation in PostMan.

Thanks
James


Update README.md

Related Issue

I have added a Redme to Searching Folder

Proposed Changes

Added a Readme.md file For Searching Folder (Linear Search)
by following All the Rules

Additional Info

All kind of Information I have Given In the Readme File as well as give the sample code,advantage/disadvantage

Checklist

[x] ✅ My code follows the code style of this project.

[x] 📝 My change requires a change to the README.

[x] 🎀 I have updated the README accordingly.

[x] 👀 I have read the CONTRIBUTING document.

[x] ✨ I have added tests to cover my changes.

[x] 🚩 All new and existing tests passed.

[x] 🌟 ed the repo

I have added a redme.md fille in the searching algorithim Basically There Is no Readme File earlier in Searching folder so i make a New redme file to contribute and for better understanding.\

This Readme cover the Linear search Explanation it covers Everything Required for understanding Linear Search From Basic

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

Output Screenshots

Screenshot #1
Screenshot #2

Readme Images

|

|
|

|

|
|

But mention the issue number related to this PR if you haven't created any issue yet create one and then update PR description and mention ISsue number there

@all-contributors please add @mohammadruman code ,


Redirect mdb-398 to https://ridemyvalleytransit.com/gtfs

mdb-398 doesn't download datasets. Should be deprecated and redirected to https://ridemyvalleytransit.com/gtfs

Closed with #486


Filter profiles by favorite (starred) no longer works

Extension Version
1.8.11
Description
I've had my extension set to only show my favorite (starred) profiles for months now by toggling on the star filter button. However, after the release of version 1.8.10 or 1.8.11, I noticed that whenever opening the extension, it now shows all the profiles (starred and not starred) and the star filter button is toggled off. With all the profiles showing, I can see the profiles that I have marked favorite (starred), but if I click the star filter button to toggle it back on, then all the profiles disappear and nothing is shown.
The "Show All Profiles on Open" option is unchecked.
Here's a screenshot of all profiles showing, which is fine, but a recent update seems to have toggled off the filter star button.

Here's a screenshot of filtering by starred profiles and all the profiles disappear.

Browsers
Chrome
OS
Linux

Same issue here.

I was able to work around this by removing the extension and adding it back.

@jon-price-visiontree thanks for the info.
AWS slightly changed the login pages & URLs. I'm thinking user configs were corrupted in someway, but haven't been able to reproduce it yet.
If the issue reappears, lmk - there's still a few odd things going on with the new URLs.

same on mac chrome, what does AWS URL have to do with favorite filter?

@isarang nothing directly, but for a short period the extension was trying to refresh your profiles on the wrong URLs, which may have led to a corrupt config & plenty of other downstream problems based on that.
I can't seem to reproduce this - the favorites are working as expected with multiple users, directories, and with/without the "show all profiles" setting.
Would somebody mind exporting & sharing their config?
You can email me if you don't want to post here wtfender.cs at gmail.com.
I'd recommend re-installing the extension to see if that fixes it (export your config if you have a lot of custom stuff you dont want to lose).


0.3.2 release

Coverage remained the same at 99.776% when pulling 8f11cf5b8ce8ce2e91bd52c06bbd946cdc735ce0 on atb00ker:master into 6268d79b345cb6be1e1aa41fd6148d0a3405adbd on openwisp:master.

Coverage remained the same at 99.776% when pulling 8f11cf5b8ce8ce2e91bd52c06bbd946cdc735ce0 on atb00ker:master into 6268d79b345cb6be1e1aa41fd6148d0a3405adbd on openwisp:master.

@atb00ker have you tested the admin to make sure the new version of django-leaflet does not cause issues?

Yes, it works, except when I drag the map with mouse it show error in leftlet.js on console but it does that for older versions as well and everything works even with the error, so I think we are in the green.


pearson_pdf.PageDownloadError - plus.pearson.com

window.foxitAssetURL; returns https://plus.pearson.com/eplayer/pdfassets/prod1/109693/4e309576-c7ad-42f5-9663-ce760d9e20bc
running
pearson_pdf https://plus.pearson.com/eplayer/pdfassets/prod1/109693/4e309576-c7ad-42f5-9663-ce760d9e20bc
results in
Traceback (most recent call last):
File "/home/withingssync/.local/bin/pearson_pdf", line 8, in
sys.exit(main())
File "/home/withingssync/.local/lib/python3.6/site-packages/pearson_pdf/main.py", line 26, in main
combine_pages(download_pages(args.book), args.save_path)
File "/home/withingssync/.local/lib/python3.6/site-packages/pearson_pdf/init.py", line 49, in combine_pages
page_0 = pages[0]
IndexError: list index out of range
Happy to accept this is user error but not having much luck decoding what I'm doing wrong... TIA!

Hmm, you seem to be receiving a different foxitAssetURL compared to what I receive.
I receive https://d2f01w1orx96i0.cloudfront.net/resources/products/epubs/generated/*id*/foxit-assets.
How are you accessing the page to get your foxitAssetURL?
My page is https://reader-sin-prod.gls.pearson-intl.com/product/*id*, and I access it through https://www.pearsonplaces.com.au/dash.

not having much luck decoding what I'm doing wrong
I agree, I'll add a proper error message now

Hmm, you seem to be receiving a different foxitAssetURL compared to what I receive.
I receive https://d2f01w1orx96i0.cloudfront.net/resources/products/epubs/generated/*id*/foxit-assets.
How are you accessing the page to get your foxitAssetURL?
My page is https://reader-sin-prod.gls.pearson-intl.com/product/*id*, and I access it through https://www.pearsonplaces.com.au/dash.

portal.mypearson.com which takes one to https://openvellum.ecollege.com/ which links to https://vizedhtmlcontent.next.ecollege.com/(NEXT(4245680ef8))/Main/CourseMode/VizedHtmlView/View.ed?eclg_courseId=16958242&refid=136&# which ultimately opens https://plus.pearson.com/courses/6014273/products/109693/pages/i?locale=&platformId=1030

It looks like you're accessing your book from a completely different reader than from where I access my books. Not sure why Pearson runs two different versions.
I would still like to support this version if you are interested. I can't access that book using my account, so could you follow these steps so I can support this?

Open up developer tools.
Go to the network tab.
In the reader, go to a different page.
In the developer tools, you should see the page be fetched from a server. Double clicking it should open/download the page.
Right click and select copy URL and paste it here.

Could you do this for page 1 and 2? Then I'll be able to take a look at what I need to do to get this working with my code.
Of course, if you have experience with Python you can have a go at implementing this yourself with my code. Feel free to let me know if you have any questions.

Hmmm, I see something like 132 requests in the network tab of various types: document, sylesheet, scripts, xhr, shr, preflight, etc...
There are only 3 document links, two appear related to login/authentication:

https://login.pearson.com/v1/piapi/login/oidcauthorize?client_id=&redirect_uri=https%3A%2F%2Fplus.pearson.com%2Fcourses%2F6014273%2Fproducts%2F109693%2Fpages%2Fi%3Flocale%3D%26platformId%3D1030&nonce=123454321&prompt=none
https://plus.pearson.com/courses/6014273/products/109693/pages/i?locale=&platformId=1030&iesCode=R22Zs6MndS
https://login.pearson.com/v1/piapi/login/html/v2/checkSessionFrame.html?v=3.49.2

Double-clicking those brings up a new tab - but always on the first page of the PDF no matter where I am when I capture the info.  It certainly feels like FoxIt is running against a complete PDF document vs multiple PDF files but I can't prove that.

Hmm, all three of those links are blocked behind authentication for me.
My book's pages are image files which are not blocked behind authentication (for some reason).
It's also possible that my book is the one that is different. I only have one pearson book.
Either way, considering I can't access those links it's going to be hard for me to implement this.

Thanks, yeah I'm fearing this one is quite different, but I'd appreciate any info you can provide on suggested approaches. I can create a discord account I guess and hit you up that way rather than bog down the issues here.

Alright, the first thing I would do is figure out where it is downloading the pdf/pages from.
If you want to talk somewhere else I have a few accounts: https://joel.tokyo/contact
I’m also happy to sign up to a service if that suits you better.

Hi @rlsolomon, can you see if going to {your foxitAssetURL}/foxit-assets/pages/page1 downloads the first page of your book?

I get Access Denied for that URL but some fiddling around shows the "which ultimately opens" URL above does go to specific pages in the viewer: e.g. https://plus.pearson.com/courses/6014273/products/109693/pages/78 brings up page 78...

Hi! Thanks for opening this issue, but I've decided that I'm not going to fix this issue as I cannot debug it from my computer. As it needs your credentials, it's incredibly hard to fix downloading your book. All of the books I have work with this tool and I'm not sure why your book is different. There might be an alternative you can use.


How should data be preprocessed for ligrec

What format does gr.ligrec expect the gene expression to be in, i.e. raw UMI counts/normalized/log-normalized/...?
Sorry if I missed it in the docs!

Normalized! Also best to log-transform them. CellphoneDB originally has option for non log-transformed data and transforms them in the function call. We don't do that, just taking anndata.X (or layers).

:ok_hand:
Thanks for the quick response!


[🐞] TS4023 issue when using QwikIntrinsicElement

Which component is affected?
Qwik Runtime
Describe the bug
When creating a UI library for Qwik and strong typing the properties using QwikIntrinsicElement used like
export type MyLabelProp = QwikIntrinsicElement['label']
that results in a TS4023 issue.
Reproduction
https://github.com/gparlakov/qwik-lib-TS4023-issue-repro
Steps to reproduce
Repro for issue

pnpm i (or yarn or npm)
npx tsc -p to build the project and emit the d.ts files
notice the TS4023 error

(excluding the file label.tsx results in successful build and d.ts files gen)
System Info
System:
    OS: Linux 6.2 Ubuntu 22.04.3 LTS 22.04.3 LTS (Jammy Jellyfish)
    CPU: (8) x64 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    Memory: 1.20 GB / 7.61 GB
    Container: Yes
    Shell: 5.8.1 - /usr/bin/zsh
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.16.0/bin/yarn
    npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
    pnpm: 8.7.4 - ~/.nvm/versions/node/v18.16.0/bin/pnpm
  npmPackages:
    @builder.io/qwik: ^1.2.10 => 1.2.10

Additional Information
Suggest exporting all from the jsx-generated.ts file instead of just the few types currently exported.
Previously libraries have done that like https://github.com/ngrx/platform/pull/1118 or guessing what was done to fix https://github.com/BuilderIO/qwik/issues/2783
TS issue https://github.com/microsoft/TypeScript/issues/5711

Here's the real world use case from qwik-ui

DevJSX ends needed to be exported - https://github.com/qwikifiers/qwik-ui/blob/main/packages/kit-headless/src/components/combobox/combobox.tsx#L31
Label Attributes ends up needed to be exported - https://github.com/qwikifiers/qwik-ui/blob/main/packages/kit-headless/src/components/combobox/combobox-label.tsx


Implement incremental build annotations

my company won't let me contribute to this, but you could ease fears and add value by implementing incremental builds.  for example, task installLiberty
currently, every time you do something installLiberty is run.  But, since there are no incremental builds setup, you never really know if it did anything or not.  The log just shows that it ran.  So the user asks the question, "did it install anything?", "does it really reinstall on every run?"
if you were to add something like this to the task
class InstallLibertyTask {
@Input
String license

@Input
String downloadurl

  @OutputDirectory
  File folderToInstallLibertyIn

def InstallLibertyTask(){
folderToInstallLibertyIn = project.wherever.this.value.is.in.extension.
downloadurl= project.wherever.this.value.is.in.extension
license=project.wherever.this.value.is.in.extension
}
}

what would happen is gradle would look to see if any of those annotated values changed since the last time it ran.  if it didn't detect a change, then you would get
:installLiberty UP-TO-DATE
in your log.  this tells the user that it just checked the install but didn't actually install anything.  it also makes the build much faster because gradle will skip the step if it feels that everything is up to date.
I would make the change, but my company doesn't allow it and i would run into major legal issues.

We were looking at incremental builds more for this release, but there are some issues. Without inclremental build, the underlying Ant task displays some messages that indicate if the install was done or if the runtime was already installed, but you don't see those without more info requested. To support incremental builds for installLiberty, we would need to also remove or clean the build if the inputs change. For now, the Ant task checks to see if the build is already installed, and if you want to change the build installLiberty inputs, you have to clean or remove the runtime.

If the user is curious what installLiberty does every run, the user can add a -i or --info flag to see a verbose version of the task. Ant's info messages in installLiberty is usually:
Liberty profile is already installed.
If we want to have Gradle's UP-TO-DATE message, we can, for example, set the wlp directory be installLiberty's output. This speeds up the build by 0.014 seconds by bypassing the check built into the Ant task. Analyzing optimal inputs would take more time, but this investigation may be worth it if requested.

The problem is the rank and file aren't going to know about the -i.  All they are going to see is gradle looking at them stupidly for several minutes, assume its locked up, kill the window and submit a support ticket.  i manage 1800 developers, 1000 overseas, i know how lazy they are and their habits.  and for us, a support ticket costs $18.50 to process and a one day turnaround.
I've been thru this with other systems we have tried to implement, i know what will happen.
All im saying for you is to be descriptive of what is happening.  People expect the incremental build system nowadays, its only been out for 2 years or so.  rank and file users really don't care if the ant build fires or any of that.  all they care about is their procedure says run ./gradlew build.  if it doesn't work, file a ticket.
keep in mind also, only about 1/2 to 1/3 of my users are actual developers.  the rest are BA's and other testers.

Thank for the feedback. I think replacing the install without a clean in something we should consider for a future release.  When we handle that, incremental install support will go along.


Version number

It would be nice and useful to have the version number somewhere on the homepage.
Thanks
Aldo

Hi @aldodemi,
I'm glad you find the app useful! :) At the moment this project doesn't have a version number, but I'm happy to come up with a solution if that helps the userbase. New versions are published quite frequently, often multiple times a day, so I'm wondering that maybe a date-based build number would make more sense than semantic versioning.
Could you tell me more about what you'd like to see? And when you say "somewhere on the homepage", are you referring to the GitHub page or the Dirigera Web app's login page?

First of all I found your application very nice so thank you for your works!
My request to have the version number would be to understand if and when the application needs to be updated.
In reality my request was to have the version number on the Dirigera web app page, but I realize that it would be of little use if the corresponding number wasn't also on github...
thanks again for everything

@aldodemi I came up with a solution which I believe should work for you. Let me know if you have any feedback!


Set height of ToC to 80% of the screen height

I've faced an issue when Table of contents looks awkward on larger screens if a list of item is long enough.
Basically, ToC is only shown partly halfway through the page with a scroll.
I figured that having relative max-height does the trick. I've implemented it on my page.
See example here:
https://mitelman.engineering/blog/python-best-practice/automating-python-best-practices-for-a-new-project/

Thanks for your contribution! 😉


How to use CAF with Axios' cancelToken argument?

Hi, first off, thanks for this library. I was in the middle of implementing my own async generator-runner when I realized that CAF does exactly what I want and has excellent documentation. It's really, really helpful that you've made this public.
I noticed in the README there are examples showing how to pass signal to fetch() in order to to abort mid-request. It's awesome that optimization is supported.
Are there any CAF users who are doing a similar thing with Axios? Axios supports a cancelToken argument, documented here, but the API seems like it might be slightly off from CAF's.
Here's what Axios does with the cancelToken argument: https://github.com/axios/axios/blob/f3cc053fb9feda2c3d5a27513f16e6722a0f9737/lib/adapters/xhr.js#L165
Is there a way I can pass CAF's signal.pr to Axios' cancelToken? Or wrapped version of signal.pr?
CAF and Axios seem to have independent implementations of cancellation, but given that AbstractController is a browser standard, I'm wondering if there's a way to connect the dots between CAF and Axios.
I've been reading the docs and code on both sides carefully, but it's not worth trying and getting it wrong because bailing from an Axios request early is an optimization in my case, not a core requirement. Thanks again for this fantastic library!
–Ben

I think this is doing the trick, I'm not sure if there's a more direct way to just pass something to Axios' cancelToken, though.
The idea is:

Listen for CAF to tell us about cancelation
Forward the cancelation to Axios in the way that Axios documents

  static sync = CAF(function *sync(signal, syncRequest) {
    // Axios cancellation
    const CancelToken = axios.CancelToken;
    const source = CancelToken.source();
    signal.pr.catch((reason) => {
      log.warn(`canceling any outstanding axios requests, reason: ${reason}`);
      source.cancel();
    });

    const response1 = yield axios.get(`/members/${id}`, {
      params: {
        foo: 'bar',
      },
      cancelToken: source.token,
    });

    const response2 = yield axios.get(`/members/${id}`, {
      params: {
        baz: 'bang',
      },
      cancelToken: source.token,
    });

Perhaps try:
yield axios.get(.. , {
   // ..
   cancelToken: new axios.CancelToken(cancel => signal.pr.catch(cancel))
})

Closing for now, hopefully that suggestion worked.

Hey, thank you for the reply, and sorry for the delay in reporting back. Here's what I'm doing now, but I will try your method when I get a chance.
    // Forward CAF cancellation to Axios so we can abort a sync mid-request. We
    // don't need to do this in every DataSource, it's an optimization, but
    // maybe there's a way we can generalize it in the main DataSource class one
    // day.
    // https://github.com/getify/CAF/issues/16#issuecomment-640120307
    const CancelToken = axios.CancelToken;
    const source = CancelToken.source();
    signal.pr.catch((reason) => {
      log.debug(`canceling any outstanding axios requests, reason: ${reason}`);
      source.cancel();
    });

    // Get boards ids for member and orgs - /members/{id}
    log.debug(`getting board - /members/${account.upstreamId}`);
    const boardsResponse = yield client.get(`/members/${account.upstreamId}`, {
      params: {
        fields: 'idBoards',
        organizations: 'all',
        organization_fields: 'idBoards',
      },
      cancelToken: source.token,
    });

Also, thanks again for providing this library, it helped us solve a hard problem.
In other parts of our app we're now playing with similar ideas around wrapping Promises as special-case Observables that return a single value. Async world is crazy!


Support Winston as Custom Logger

Partially fix https://github.com/sainsburys-tech/next-logger/issues/29
Description
Fix the code and actually support winston as a custom logger
Testing

npm run test
npm run lint

I added two commits, one for moving pino to peerDeps and one for updating the usage instructions to fix https://github.com/sainsburys-tech/next-logger/issues/13. Please feel free to merge them or I could separate them into another PR depending on your preference.
I tried to update the tests to use the instrumentation hook so that they align with the new instructions, but I couldn't find a good way as the tests invoke the Next logging and console logging directly instead of running the whole Next stack which will load the instrumentation hook. Let me know if you have any thoughts and I am happy to help update the code.
And these are all of my current plans of changes, if there aren't anything new, I think you could bump up the version (5.x? since moving pino could be considered as a breaking change, requiring the users to explicitly install one if they don't already) and make a new release.

This is published now as v5.0.0. Thank you @CHC383! 🎉


Returning a null value for a field if its resolver fails

The GraphQL spec states the following (link):

If an error is thrown while resolving a field, it should be treated as though the field returned null, and an error must be added to the "errors" list in the response.

If I create a resolver that can fail, for example:
impl Person {
    async fn name(&self) -> Result<String> { ... }
}

The resulting type in the schema is String!, not String, which means that on an error, the value returned will be null and will propagate to the next nullable parent. Often, this behaviour is undesirable.
You can fix the schema's representation of the type by changing String to Option<String>, like so:
impl Person {
    // The type in the schema is now String (explicitly nullable).
    async fn name(&self) -> Result<Option<String>> { ... }
}

But this doesn't change the behaviour - if the resolver fails, the null value will still propagate to the next nullable parent, instead of simply being returned as the value of the field in the result.
Ultimately, you can achieve the correct behaviour and schema representation by making the type Option<Result<String>>, but this has its own problems. For one, I feel that semantically it doesn't represent the operation well - the resolver is trying to return an optional value but may fail when doing so, whereas this type makes it sound more like the resolver might run code that can fail, or just return null. More importantly, the implementation code for the resolver can't make use of features such as the ? operator as easily, because the return value must be wrapped with Some(...) regardless of whether the operation failed or not.
Have I missed something? And if not, could this behaviour be changed? If we were to follow the GraphQL spec as accurately as we can, I feel that it makes most sense for a Result<T> to be represented as a nullable T in the schema (with Err values resulting in a null field), but this would mean that the behaviour of existing projects would change. Alternatively, Result<Option<T>> could return null for the field on failure, instead of propagating to the next nullable parent.

You should check:
https://github.com/async-graphql/async-graphql/issues/1272
and
https://github.com/async-graphql/async-graphql/issues/798
I believe this is a shortcoming in the library that is being worked on.


feat(dev env): Reuse core dev env

This reduces the dev-env to an example-plugin setup, following:
https://github.com/cloudoperators/greenhouse/pull/353
Find the actual changes with this commit:
https://github.com/cloudoperators/greenhouse-extensions/pull/210/commits/2b0b4b3027eb3d253495232f6693294efbc7eea6
The second commit being the renaming of the folder.

Changed CODEOWNERS entry


F #3293 Read driver action on attach_disk using STDIN for vcenter dri…

…vers

--> master
--> one-5.8


Added "Open Source" to Evercam

Hi Sean,
Not sure if this is helpful at all, but I added "Open Source" to Evercam as the whole codebase is under AGPL.
Bin it if this doesn't suit you. Nice list :)
Marco

:+1:

Works for me @marcoherbst, thank you!


Add nteract data explorer extension

At Tubi, we built a data visualization jupyterlab extension based on nteract Data Explorer to help us understand our data in various intuitive ways. In this PR, we want to contribute this extension to the community, hopefully it's helpful for others.

Hi @springuper, thanks for this!  We'll discuss incorporating this at this week's meeting, might you be able to attend?

@blink1073 I'm glad to have that opportunity, thank you!

The outcome of the discussion is documented here: https://github.com/jupyterlab/team-compass/issues/52


Implement storage initialization in the SDK

The JSON format spec for storage initialization is now ready: https://github.com/FuelLabs/fuel-specs/blob/master/specs/protocol/storage_initialization.md
The compiler will emit this file (task tracked in https://github.com/FuelLabs/sway/issues/1185) and the SDK read that file and set the initial storage slots in the contract creation tx.

I think this was already documented here: https://github.com/FuelLabs/fuels-rs/issues/87

Ohhhh alright, I'll let you handle organizing these issues then. Feel free to close this one :)

Sounds good, I'll update the original one with the new info from this one -- thanks!


Can not read more than 4 sec on Linux

Debian Linux, python 3.9.1, rtl sdr dongle by rtl-sdr blog, V3
$ python3 cali.py -v
{'f': None, 'm': 'dab', 's': 'rtlsdr', 'c': 'all', 'rs': 2048000, 'rg': 20, 'rd': 0, 'nsec': 10, 'graph': False, 'verbose': True}
let's find your SDR's oscillator precision
scanning...
starting mode: dab
Detached kernel driver
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Scanning all channels
Scanning…:   0%|                                    | 0/35 [00:00<?, ?it/s]Reattached kernel driver
Scanning…:   0%|                                    | 0/35 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "/home/lumag/Projects/Ham/CalibrateSDR/cali.py", line 199, in <module>
    main(vars(args))
  File "/home/lumag/Projects/Ham/CalibrateSDR/cali.py", line 74, in main
    cali.utils.scan_one_dab_channel(dabchannels, channel, sdr, rs, ns, rg, filename, samplerate,
  File "/home/lumag/Projects/Ham/CalibrateSDR/calibratesdr/utils.py", line 101, in scan_one_dab_channel
    record_with_rtlsdr(sdr, rs, cf, ns, rg, filename)
  File "/home/lumag/Projects/Ham/CalibrateSDR/calibratesdr/utils.py", line 88, in record_with_rtlsdr
    samples = sdr.read_bytes(ns * 2)
  File "/home/lumag/.local/lib/python3.9/site-packages/rtlsdr/rtlsdr.py", line 456, in read_bytes
    raise LibUSBError(result, 'Could not read %d bytes' % (num_bytes))
rtlsdr.rtlsdr.LibUSBError: <LIBUSB_ERROR_NO_MEM (-11): Insufficient memory> "Could not read 40960000 bytes"

Debian Linux, python 3.9.1, rtl sdr dongle by rtl-sdr blog, V3
[...]
  File "/home/lumag/.local/lib/python3.9/site-packages/rtlsdr/rtlsdr.py", line 456, in read_bytes
    raise LibUSBError(result, 'Could not read %d bytes' % (num_bytes))
rtlsdr.rtlsdr.LibUSBError: <LIBUSB_ERROR_NO_MEM (-11): Insufficient memory> "Could not read 40960000 bytes"

Hi @lumag , thanks for the feedback.
can you please check if you got a file "tmp.dat" in your CalibrateSDR folder?
if this is there, the recordning works at least.
the last "memory" notice seems like you do not have enpugh spare memory. I use Windows and if I have a simular notice, I either have too many things running in parallel, or the file is just too big for Python (and I forgot to use the 64bit version, which can handle more ram) or numpy. but with -nsec = 10 seconds the files are not near 2gb ram.
so first, check if you have a tmp.dat file so I know recording works (I use windows and did not provide any libs for win or linux).
then try again CalibrateSDR with -nsec 4 then the tmp.dat file will be smaller.
maybe tell me what system you use (pc, raspi, etc).
speak you soon :)

There is no tmp.dat.
-nsec 5 fails with the similar message:

rtlsdr.rtlsdr.LibUSBError: <LIBUSB_ERROR_NO_MEM (-11): Insufficient memory> "Could not read 20480000 bytes"

-nsec 4 works, but seems to give no calibration:
{'f': None, 'm': 'dab', 's': 'rtlsdr', 'c': 'all', 'rs': 2048000, 'rg': 20, 'rd': 0, 'nsec': 4.0, 'graph': False, 'verbose': True}
let's find your SDR's oscillator precision
scanning...
starting mode: dab
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Scanning all channels
Scanning…: 100%|███████████████████████████| 35/35 [04:32<00:00,  7.79s/it]

____Results_______________________________________________________________________________________
#   , block, freq [Hz], SNR [dB] , Prec. [ppm], offset [Hz], block [x][o][ ] & signal strength
--------------------------------------------------------------------------------------------------
#  0, 5A   , 174928000,  +0.99264,       None,        +0.0, [ ]  [###############     ] 73%
#  1, 5B   , 176640000,  +1.07592,       None,        +0.0, [ ]  [################    ] 79%
#  2, 5C   , 178352000,  +1.02170,       None,        +0.0, [ ]  [###############     ] 75%
#  3, 5D   , 180064000,  +1.09491,       None,        +0.0, [ ]  [################    ] 80%
#  4, 6A   , 181936000,  +1.36087,       None,        +0.0, [ ]  [####################] 100%
#  5, 6B   , 183648000,  +0.94552,       None,        +0.0, [ ]  [##############      ] 69%
#  6, 6C   , 185360000,  +0.77546,       None,        +0.0, [ ]  [###########         ] 57%
#  7, 6D   , 187072000,  +0.75930,       None,        +0.0, [ ]  [###########         ] 56%
#  8, 7A   , 188928000,  +0.88496,       None,        +0.0, [ ]  [#############       ] 65%
#  9, 7B   , 190640000,  +0.96256,       None,        +0.0, [ ]  [##############      ] 71%
# 10, 7C   , 192352000,  +0.88146,       None,        +0.0, [ ]  [#############       ] 65%
# 11, 7D   , 194064000,  +0.90515,       None,        +0.0, [ ]  [#############       ] 67%
# 12, 8A   , 195936000,  +0.85149,       None,        +0.0, [ ]  [#############       ] 63%
# 13, 8B   , 197648000,  +0.83504,       None,        +0.0, [ ]  [############        ] 61%
# 14, 8C   , 199360000,  +0.72051,       None,        +0.0, [ ]  [###########         ] 53%
# 15, 8D   , 201072000,  +0.56573,       None,        +0.0, [ ]  [########            ] 42%
# 16, 9A   , 202928000,  +0.58411,       None,        +0.0, [ ]  [#########           ] 43%
# 17, 9B   , 204640000,  +0.56797,       None,        +0.0, [ ]  [########            ] 42%
# 18, 9C   , 206352000,  +0.63058,       None,        +0.0, [ ]  [#########           ] 46%
# 19, 9D   , 208064000,  +0.68284,       None,        +0.0, [ ]  [##########          ] 50%
# 20, 10A  , 209936000,  +0.60197,       None,        +0.0, [ ]  [#########           ] 44%
# 21, 10N  , 210096000,  +0.61475,       None,        +0.0, [ ]  [#########           ] 45%
# 22, 10B  , 211648000,  +0.51649,       None,        +0.0, [ ]  [########            ] 38%
# 23, 10C  , 213360000,  +0.58776,       None,        +0.0, [ ]  [#########           ] 43%
# 24, 10D  , 215072000,  +0.62344,       None,        +0.0, [ ]  [#########           ] 46%
# 25, 11A  , 216928000,  +0.61269,       None,        +0.0, [ ]  [#########           ] 45%
# 26, 11N  , 217088000,  +0.61241,       None,        +0.0, [ ]  [#########           ] 45%
# 27, 11B  , 218640000,  +0.60204,       None,        +0.0, [ ]  [#########           ] 44%
# 28, 11C  , 220352000,  +0.62399,       None,        +0.0, [ ]  [#########           ] 46%
# 29, 11D  , 222064000,  +0.58510,       None,        +0.0, [ ]  [#########           ] 43%
# 30, 12A  , 223936000,  +0.59538,       None,        +0.0, [ ]  [#########           ] 44%
# 31, 12N  , 224096000,  +0.56769,       None,        +0.0, [ ]  [########            ] 42%
# 32, 12B  , 225648000,  +0.60087,       None,        +0.0, [ ]  [#########           ] 44%
# 33, 12C  , 227360000,  +0.54024,       None,        +0.0, [ ]  [########            ] 40%
# 34, 12D  , 229072000,  +0.58276,       None,        +0.0, [ ]  [#########           ] 43%

I'm using a laptop, 15 GiB of mem,  4.4 GiB free at this momen.

Executing the script after running without a parameter in my case crashing too, with same error.
With parameter -nsec 4 it works fine:
python3 cali.py -nsec 4
script output:
...
# 31, 12N  , 224096000,  +0.42769,       None,        +0.0, [ ]  [#                   ] 4%
# 32, 12B  , 225648000,  +0.44650,       None,        +0.0, [ ]  [#                   ] 4%
# 33, 12C  , 227360000,  -2.64297,   -57.8529,    -13153.4, [ ]  [                    ] -23%
# 34, 12D  , 229072000, +11.54215,   -57.7258,    -13223.4, [x]  [####################] 100%

@lumag - your text output looks like you have not present DAB signal on RTL SDR receiver input - do you have DAB+ signal coverage in your area? (you can check it by same HW - DAB+ RTL SDR receiver https://github.com/AlbrechtL/welle.io )
You also have significantly higher signal strength on all channels, however, I used a not very suitable antenna for this quick test.

Executing the script after running without a parameter in my case crashing too, with same error.
With parameter -nsec 4 it works fine:
python3 cali.py -nsec 4
script output:
...
# 31, 12N  , 224096000,  +0.42769,       None,        +0.0, [ ]  [#                   ] 4%
# 32, 12B  , 225648000,  +0.44650,       None,        +0.0, [ ]  [#                   ] 4%
# 33, 12C  , 227360000,  -2.64297,   -57.8529,    -13153.4, [ ]  [                    ] -23%
# 34, 12D  , 229072000, +11.54215,   -57.7258,    -13223.4, [x]  [####################] 100%

@lumag - your text output looks like you have not present DAB signal on RTL SDR receiver input - do you have DAB+ signal coverage in your area? (you can check it by same HW - DAB+ RTL SDR receiver https://github.com/AlbrechtL/welle.io )
You also have significantly higher signal strength on all channels, however, I used a not very suitable antenna for this quick test.

I can confirm the <LIBUSB_ERROR_NO_MEM (-11): Insufficient memory> "Could not read 40960000 bytes" with -nsec over 4.086 (fails with 4.087 with 16740351 bytes). It seems like libusb under linux is not able to allocate enough memory for 5 sec of recording.
But with the a low -nsec it works like a charm!
{'f': None, 'm': 'dab', 's': 'rtlsdr', 'c': '2', 'rs': 2048000, 'rg': 20, 'rd': 0, 'nsec': 4.086, 'graph': False, 'verbose': False}
let's find your SDR's oscillator precision
scanning...
starting mode: dab
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Scanning only channel # 2

____Results_______________________________________________________________________________________
#   , block, freq [Hz], SNR [dB] , Prec. [ppm], offset [Hz], block [x][o][ ] & signal strength
--------------------------------------------------------------------------------------------------
#  2, 5C   , 178352000,  +4.74037,    -5.4584,      -973.5, [x]  [####################] 100%

Archlinux python 3.9.0 pyrtlsdr==0.2.92

I can confirm the <LIBUSB_ERROR_NO_MEM (-11): Insufficient memory> "Could not read 40960000 bytes" with -nsec over 4.086 (fails with 4.087 with 16740351 bytes). It seems like libusb under linux is not able to allocate enough memory for 5 sec of recording.
But with the a low -nsec it works like a charm!
{'f': None, 'm': 'dab', 's': 'rtlsdr', 'c': '2', 'rs': 2048000, 'rg': 20, 'rd': 0, 'nsec': 4.086, 'graph': False, 'verbose': False}
let's find your SDR's oscillator precision
scanning...
starting mode: dab
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Scanning only channel # 2

____Results_______________________________________________________________________________________
#   , block, freq [Hz], SNR [dB] , Prec. [ppm], offset [Hz], block [x][o][ ] & signal strength
--------------------------------------------------------------------------------------------------
#  2, 5C   , 178352000,  +4.74037,    -5.4584,      -973.5, [x]  [####################] 100%

Archlinux python 3.9.0 pyrtlsdr==0.2.92

record_with_rtlsdr in utils.py is using sdr.read_bytes() which returns the low-level ctypes.Array from librtlsdr.  Garbage collection should handle things as expected with this under most cases, but record_with_rtlsdr is returning the buffer and it's being thrown away when the function is called
It may be worth trying to either copy the samples to a list before returning it:
_samples = sdr.read_bytes(ns * 2)
samples = _samples[:]
del _samples

or just not returning the array at all

record_with_rtlsdr in utils.py is using sdr.read_bytes() which returns the low-level ctypes.Array from librtlsdr.  Garbage collection should handle things as expected with this under most cases, but record_with_rtlsdr is returning the buffer and it's being thrown away when the function is called
It may be worth trying to either copy the samples to a list before returning it:
_samples = sdr.read_bytes(ns * 2)
samples = _samples[:]
del _samples

or just not returning the array at all

Thanks @nocarryr for looking into this!
I have tried both your suggestions, but the error remains. I isolated the sdr.read_bytes() call and it still throws the error:
https://gist.github.com/quantenProjects/2f42c8455a88b72bd4ccc8b2c3b375ed
$ python -V
Python 3.9.0
$ pip freeze
cycler==0.10.0
kiwisolver==1.3.1
matplotlib==3.3.3
numpy==1.19.5
Pillow==8.1.0
pyparsing==2.4.7
pyrtlsdr==0.2.92
python-dateutil==2.8.1
scipy==1.6.0
six==1.15.0
tqdm==4.55.1
$ uname -a
Linux buzzbaton 5.9.13-arch1-1 #1 SMP PREEMPT Tue, 08 Dec 2020 12:09:55 +0000 x86_64 GNU/Linux
$ python debug_issue_1.py
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Traceback (most recent call last):
  File "…CalibrateSDR/misc/debug_issue_1.py", line 8, in <module>
    sdr.read_bytes(20480000)
  File "…CalibrateSDR/venv/lib/python3.9/site-packages/rtlsdr/rtlsdr.py", line 456, in read_bytes
    raise LibUSBError(result, 'Could not read %d bytes' % (num_bytes))
rtlsdr.rtlsdr.LibUSBError: <LIBUSB_ERROR_IO (-1): Input/output error> "Could not read 20480000 bytes"

To me it does not seem like a problem with memory management inside CalibrateSDR (although we should either copy samples or not returning it at all) and more like a problem with rtlsdr or LibUSB. Do you have any other idea?

Thanks @nocarryr for looking into this!
I have tried both your suggestions, but the error remains. I isolated the sdr.read_bytes() call and it still throws the error:
https://gist.github.com/quantenProjects/2f42c8455a88b72bd4ccc8b2c3b375ed
$ python -V
Python 3.9.0
$ pip freeze
cycler==0.10.0
kiwisolver==1.3.1
matplotlib==3.3.3
numpy==1.19.5
Pillow==8.1.0
pyparsing==2.4.7
pyrtlsdr==0.2.92
python-dateutil==2.8.1
scipy==1.6.0
six==1.15.0
tqdm==4.55.1
$ uname -a
Linux buzzbaton 5.9.13-arch1-1 #1 SMP PREEMPT Tue, 08 Dec 2020 12:09:55 +0000 x86_64 GNU/Linux
$ python debug_issue_1.py
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Traceback (most recent call last):
  File "…CalibrateSDR/misc/debug_issue_1.py", line 8, in <module>
    sdr.read_bytes(20480000)
  File "…CalibrateSDR/venv/lib/python3.9/site-packages/rtlsdr/rtlsdr.py", line 456, in read_bytes
    raise LibUSBError(result, 'Could not read %d bytes' % (num_bytes))
rtlsdr.rtlsdr.LibUSBError: <LIBUSB_ERROR_IO (-1): Input/output error> "Could not read 20480000 bytes"

To me it does not seem like a problem with memory management inside CalibrateSDR (although we should either copy samples or not returning it at all) and more like a problem with rtlsdr or LibUSB. Do you have any other idea?

I have pushed a workaround using read_bytes_async. With it, I'm able to record more than 4 sec.
@OK2AMA and @lumag Can you try out the new version?
@nocarryr I think it would still be interesting, why read_bytes fails with Linux (@hornig has no problem with his windows)

I have pushed a workaround using read_bytes_async. With it, I'm able to record more than 4 sec.
@OK2AMA and @lumag Can you try out the new version?
@nocarryr I think it would still be interesting, why read_bytes fails with Linux (@hornig has no problem with his windows)


Pages deploy

Related Issue
Supports #99
Related PRs
Depends #180
What does this PR do?
Wire's up github pages deploy and also has a contract deployed to rinkeby
Description of Changes
BAND_ADDRESS=0x61D87e60B3893801DbC9056c10bc124251Ea7980
BOOTLEGGER_ADDRESS=0xB0de7C9266bFb141bE4e5203e285339C76d8f20B

What gif most accurately describes how I feel towards this PR?

@barlock also, I changed BAND_ADDRESS= to ARTIST_ADDRESS

Merged to see the deploy go... I'd love discussion on the artifact thing because 🤷♀


Support for FF in millis

Is there any posiblity to add support to FF format for milliseconds (like HH24:MI:SS.FF6), please?

Just to warn you, I've found JDBC driver support of timestamps to be one of the more annoying things to deal with in this plugin. It would be polite to say it's inconsistent.
There are 2 options we can try:

Either we implement a configuration option for a custom strftime formatting string - this will depend on whatever JDBC endpoint you're using as to whether or not it'll work
Provide a configuration option to use setTimestamp instead of formatting the timestamp to a string, and hope your JDBC driver works properly

Let me know what JDBC driver you're using, and an example table and I'll see what works.

We use ORACLE as a JDBC endpoit where we have this need and just add the support for the formating with TO_DATE(?, 'dd/mm/yyyy hh24:mi:ss.FF5') instead of just TO_DATE(?, 'dd/mm/yyyy hh24:mi:ss')

The most recent versions for Logstash v5 and v2 should already be outputting milliseconds (between 000...999) (see https://github.com/theangryangel/logstash-output-jdbc/blob/master/lib/logstash/outputs/jdbc.rb#L17).
What version of Logstash and what version of the plugin are you using, please? I highly recommend the latest version of the plugin if you're on Logstash v2, and I highly recommend you're on at least Logstash 2.3.

We are using Logstash 2.4, so as far as I can remember it is compatible with 5 api. We'll upgrade to the latest version. Thank you so much for your time!

If you find it's still not working after upgrading let me know and I'm happy to take a look at it when I have a moment.


/etc/iproute2/rt_tables: No such file or directory

I'm facing an error during setup screen:
sed: can't read /etc/iproute2/rt_tables: No such file or directory
Here is what I have done:

In Raspberry Pi Imager, flashed a SD Card with Ubuntu 24.04 64 bits
Used it on a Raspberry Pi4
Cloned ot-be-posix with "--recursive". NB: At this stage the RPi is connected by Ethernet
Run bootstrap script (still by ethernet)
I'm then switching to Wifi.
Run "INFRA_IF_NAME=wlan0 ./script/setup"

I'm then getting the above error.
I'm attaching the traces.
Do you think that it is related to the change of interface (eth -> wifi)?
setup_nok.txt

If I use the Ethernet interface and call "INFRA_IF_NAME=wlan0 ./script/setup" (which is odd), I get the same error

I have also tried this:

connect the RPi by Wifi
bootstrap
Run "INFRA_IF_NAME=wlan0 ./script/setup"
I'm getting the same error.

A clean is maybe necessary to flush what has been built before for Ethernet.

I have fixed it with:
sudo mkdir -p /etc/iproute2
sudo touch /etc/iproute2/rt_tables
echo -e "255\tlocal\n254\tmain\n253\tdefault\n0\tunspec" | sudo tee /etc/iproute2/rt_tables
sudo chmod 644 /etc/iproute2/rt_tables

Is it normal that I had to do this after an installation from scratch?


Create bootstrap guide

We need some manual about how this bot should be prepared to run on server

done - in readme.md


Helping injected languages parse docstrings

Hi! Currently, the tree-sitter-python parser only emits nodes for a string's beginning, middle and end parts. Consider the following sample Python file:
"""A demo module.

This module has a class that does nothing.
"""

class Demo:
    """A demo class.

    It does nothing.
    """

This produces the following named nodes (as seen by Neovim's :InspectTree command):

Treesitter Nodes for the sample Python file

(expression_statement) ; [1:1 - 4:3] python
 (string) ; [1:1 - 4:3] python
  (string_start) ; [1:1 - 3] python
  (string_content) ; [1:4 - 4:0] python
  (string_end) ; [4:1 - 3] python
(class_definition) ; [7:1 - 11:7] python
 name: (identifier) ; [7:7 - 10] python
 body: (block) ; [8:5 - 11:7] python
  (expression_statement) ; [8:5 - 11:7] python
   (string) ; [8:5 - 11:7] python
    (string_start) ; [8:5 - 7] python
    (string_content) ; [8:8 - 11:4] python
    (string_end) ; [11:5 - 7] python

The problem
This works fine if you only want to highlight the entire string contents as "string", but it causes some trouble with injected languages. For example, when injecting rst into docstrings, it gets confused by the leading four space indentation, and interprets everything as block quote, which messes with the highlighting quite a bit:

Treesitter Nodes with injected rst

(expression_statement) ; [1:1 - 4:3] python
 (string) ; [1:1 - 4:3] python
  (string_start) ; [1:1 - 3] python
  (string_content) ; [1:4 - 4:0] python
   (paragraph) ; [1:4 - 17] rst
   (paragraph) ; [3:1 - 42] rst
  (string_end) ; [4:1 - 3] python
(class_definition) ; [7:1 - 11:7] python
 name: (identifier) ; [7:7 - 10] python
 body: (block) ; [8:5 - 11:7] python
  (expression_statement) ; [8:5 - 11:7] python
   (string) ; [8:5 - 11:7] python
    (string_start) ; [8:5 - 7] python
    (string_content) ; [8:8 - 11:4] python
     (paragraph) ; [8:8 - 26] rst
     (block_quote) ; [10:5 - 20] rst
      (paragraph) ; [10:5 - 20] rst
    (string_end) ; [11:5 - 7] python

As you can see, the contents of the module docstring were correctly identified as two (paragraph)s, however the second paragraph of the class docstring was misidentified as (block_quote) (containing a (paragraph)). This also breaks highlighting for e.g. titles (underlining must start at the beginning of the line), and additionally will cause almost the entire docstring contents to be highlighted with the "rst block quote" highlighting instead of that for strings.
This was also part of the reason why nvim-treesitter removed rst injections from Python docstrings. (The other reason being that rst is not universally used – note however that Markdown docstrings for instance suffer from the exact same issue.)
A possible solution
If my understanding of this machinery is correct (which, admittedly, it may very well not), there already is a facility which could be used to make the injected language ignore this leading whitespace. When a node is marked as injection which has child nodes from the original language, these nodes' text is not passed over to the injected one. In other words, the Python grammar can "take over" the common leading whitespace by emitting nodes for it, and thus hide it from the injected language.
This is also how injections nested within markdown block quotes can work seamlessly. The >  prefix is correctly identified (and highlighted) as part of the block quote, and the injected Python parser doesn't get confused into producing (ERROR) nodes:
some text

> ```python
> class Injected:
>     python = True
> ```

more text

(Evidently, Github is currently not using treesitter to parse this.)

:InspectTree output

(section) ; [1:1 - 9:0] markdown
 (paragraph) ; [1:1 - 2:0] markdown
  (inline) ; [1:1 - 9] markdown
 (block_quote) ; [3:1 - 7:0] markdown
  (block_quote_marker) ; [3:1 - 2] markdown
  (fenced_code_block) ; [3:3 - 7:0] markdown
   (fenced_code_block_delimiter) ; [3:3 - 5] markdown
   (info_string) ; [3:6 - 11] markdown
    (language) ; [3:6 - 11] markdown
   (block_continuation) ; [4:1 - 2] markdown
   (code_fence_content) ; [4:3 - 6:2] markdown
    (class_definition) ; [4:3 - 5:19] python
     name: (identifier) ; [4:9 - 16] python
     body: (block) ; [5:7 - 19] python
      (expression_statement) ; [5:7 - 19] python
       (assignment) ; [5:7 - 19] python
        left: (identifier) ; [5:7 - 12] python
        right: (true) ; [5:16 - 19] python
    (block_continuation) ; [5:1 - 2] markdown
    (block_continuation) ; [6:1 - 2] markdown
   (fenced_code_block_delimiter) ; [6:3 - 5] markdown
 (paragraph) ; [8:1 - 9:0] markdown
  (inline) ; [8:1 - 9] markdown

You can see the markdown parser emitting multiple (block_continuation) nodes which consume the leading >  characters (each being col. 1-2 of lines 4-6). In my opinion, leading whitespace in Python multi-line strings is roughly on that same level; in most cases if it's there, it's because it looks better (everything neatly indented), and it either doesn't matter (because e.g. docstring tooling will clean it up automatically) or it's stripped explicitly with something like textwrap.dedent(). And if it does end up being significant to the injected language after all, it's possible to still include it by setting the injection.include-children flag on the capture (in Neovim, that is – although I'd be surprised if other editors didn't have something similar).
Obviously, all this is just wishful thinking on my part so far. What do you think about this idea? Does it make sense in the broader picture to handle this leading whitespace in the python parser? And is this even possible to implement (reasonably efficiently) at all?

Sorry but trimming the spaces won't happen here, perhaps a custom predicate can be used to trim the spaces and set the ranges for parsing accordingly.


When using ext2rd on a not yet existing output directory it fails with a "No such file or directory" error

The error message it quite fuzzy:
mkdir(savepath): No such file or directory
mkdir(savepath): No such file or directory
mkdir(savepath): No such file or directory
mkdir(savepath): No such file or directory
mkdir(savepath): No such file or directory
mkdir(savepath): No such file or directory
EXCEPTION - did you specify -B for a block device?

If you create the directory before running ext2rd it works okay.
Expected behaviour: ext2rd should create the directory if it does not exist or give a clear message that the output directory should be created before using the tool.

I improved the mkdir handling in https://github.com/nlitsme/extfstools/commit/aa9d9b1acb3c1eb030bee33d009a9833c62ff5c7
does this solve your problem?

Excellent! Now it works without creating the directory. Dank u.


Multi-Word last name or first name

A slack name with more than two words will not match to the user in Planning Center. This seems to be due to a split on spaces where element 0 is treated as the first name and element 1 is treated as the last name.

Is this in reference to the app permissions lookup?

Yes.

Ok I need a bit more info. Can we assume that if there is a 3rd element then it's First, Middle, and Last name?
fl_name = {'first_name': message.sender['source']['real_name'].split()[0],
                       'middle_name': message.sender['source']['real_name'].split()[1],
                       'last_name': message.sender['source']['real_name'].split()[2]}

Or is there some sort of double last name edge case we're dealing with?

It is a double last name case. For example: "Joseph Van Boxtel" should split to (First: "Joseph" Last: "Van Boxtel") The following seems to work.
fl_name = {'search_name_or_email': slackSource['real_name']}
Do you know of a drawback to using this approach?

That is perfect! I'll test it! Or a pull request would be great

The only think I can think of is that right now we have check_name who's job is to verify they have at least a first and last name, and explain this needs to match Planning Center for the authentication to work. It's now obvious it doesn't quite work. What's your thoughts on this?
I think it's pretty messy how I have it currently implemented.

It seems like this change would make check_name unneeded because a black name on slack would probably not filter anyone out so the email check would still work. That brings up the question should we check the name and the email in a replacement for check_name?
Also, it seems the get(message, app) checks the email, but get_apps(message) doesn't check the email so it would probably have issues if two people had the same name.

Really good points.
I agree check name won't be needed anymore.
I also want to add the auth failure response to the authenticate.get so we can clean up the responces and get rid of duplicate code.
get_apps will need to be updated too.

After testing fl_name = {'search_name_or_email': message.sender['source']['real_name']} I found it to be very very slow. It returns too many results that have to be parsed. Any other ideas?

We could only do it conditionally if the full name has more than 2 components.

It was so slow It feels like it Isn’t working at all. User will probably keep resubmitting the request 🤔


Remove lodash.noop lib dependency

Lodash noop lib is useless and it's better to use just:
var noop = Function;

Because of following reasons:

It's shorter
It's faster
It doesn't take space in node_modules
It will not fail in case of deletion of lodash.noop
It will not take space in package.json and yarn.lock
Even lodash devs removed lodash.noop from their code.

I signed it!

Coverage remained the same at 94.233% when pulling 0d4df2c96716b16741852c1411fa37721271fae1 on SkeLLLa:feature/remove-useless-lib into 642fba87a4631b5272ab650bf9f2abd4d867dff6 on google:master.

Why Function instead of function() {}? Strictly speaking, Function isn't a noop; It's a function that returns a new function based on the input.

noop is not equivalent to Function itself. The latter is a constructor of a function. The equivalent to noop is function() {}

From a noop perspective, the following should all work:
var noop = function () {};
var noop = new Function();
var noop = Function();
var noop = Function;
var noop = Function.prototype;

Why not create and use a named, static noOp in utils.js and just import it? In the current form you would be needlessly creating a new instance of the same function signature in each file and allocating 4 unnecessary function instances.

With var noop = Function.prototype; we can avoid 4 extra function instances and avoid modifying utils.js.
Ultimately though, I don't think this lib should be using noop at all, the callback should be mandatory (breaking change) where the lib is currently falling back to the noop.

@cristiancavalli usually in my libs I prefer to set once global.noop = Function. In case of public lib it can do some harm to others, so it's probably not an option. But in any case creating 1 or 4 anonymous functions will not have significant affect on performance.
Also I think var noop = Function.prototype will be better, because it will not create additional instances, just like with var noop = Function

@jmdobry What is the problem making noOp in utils? It's a util right?
@SkeLLLa Thanks, but the performance impact is not the point - its the idea that each top-level has a different localized assignment and implementation for what is ostensibly a globally-shared entity thereby creating an anti-pattern

@cristiancavalli as I've wrote using global.noop is not an option for a public library. Also using lodash.noop as 3rd party module is also kind of antipattern.
As for implementing in some module a simple noop function will require to add require('utils.js') in all files where you need noop. Even if not utils are required in all files that not a guarantee that it will be the same in future. So I would agree with @jmdobry that's var noop = Function.prototype; will be good enough.

also @jmdobry Every single file in this PR already requires util.js except for jwtaccess.js. Why would we create a localized implementation in each file of a function which is a util and only needs to be implemented once.

@SkeLLLa All the files (save 1) in this PR already requires util

Also @SkeLLLa not sure how using a third-party module is an anti-pattern? Even for something like noOp. Where as this copy-paste solutions seems like a classic case of Abstraction inversion to me on the class level

@cristiancavalli as for me it's definite antipattern to require module that doesn't contain any logic and have only one line of code that could be easilly replaced by one line in simple javascript code. It's like adding two numbers in js with help of jquery

@SkeLLLa I understand your complaint - I've had it many times myself and I think subbing out lodash.noOp is better than keeping it in but I don't what you're citing is not an anti-pattern. An inefficiency? Totally. Violating any rules of abstraction/inheritance/relation? I can't see any, but I may not be seeing it

Coverage remained the same at 94.233% when pulling 415cad76deccdf3633e6f4517f9d42e6c5943a8b on SkeLLLa:feature/remove-useless-lib into 642fba87a4631b5272ab650bf9f2abd4d867dff6 on google:master.

Coverage remained the same at 94.233% when pulling 415cad76deccdf3633e6f4517f9d42e6c5943a8b on SkeLLLa:feature/remove-useless-lib into 642fba87a4631b5272ab650bf9f2abd4d867dff6 on google:master.

I'm fine with either option in this case, but @cristiancavalli makes a good point that the files are already importing utils.js anyway, so I'm cool with moving the noop definition to utils.js.

Coverage remained the same at 94.233% when pulling 415cad76deccdf3633e6f4517f9d42e6c5943a8b on SkeLLLa:feature/remove-useless-lib into 642fba87a4631b5272ab650bf9f2abd4d867dff6 on google:master.

@jmdobry file https://github.com/google/google-auth-library-nodejs/blob/master/lib/auth/jwtaccess.js isn't importing utils

@SkeLLLa Just by LOC, even with the change to jwtaccess.js for utils, you'd still come in under the current change footprint. (just sayin')

Alright folks, just took a closer look at the code, and utils.js is not even used by the library, it's only used in one place in the tests. Turns out we confused var util = require('util'); with var utils = require('../utils');. So, to move the noop to utils.js is now a bigger change than we thought.

@jmdobry Nice catch. Given that, I'm fine with @SkeLLLa 's current solution.

Thanks @SkeLLLa !!

@cristiancavalli as for antipatterns - each module you require contains "risk". Even such little module as noop. Also noop module contains only one function that's already exist in javascript out-of-the-box. It makes no sense to write a separate module that will export something like
module.exports = Array.prototype.map;

The same with noop. But it's my point of view.


Make DNS server listen on one IPv6 address

I want to run acme-dns and have it listen on just a single IPv6 address, since I already have another DNS server listening on some other IPs on the same server. I've edited the configuration like this:
[general]
# dns interface
listen = "[2605:6400:20:92e::eff]:53"
# protocol, "udp", "udp4", "udp6" or "tcp", "tcp4", "tcp6"
protocol = "udp6"

...

[api]
# listen ip, default "" listens on all interfaces/addresses
#ip = "<IP_ADDRESS>"
ip = ""
# listen port, eg. 443 for default HTTPS
port = "8496"

However, when I run it, it seems like it's only listening on the API port and not on the DNS one:
13:28 daniel@vps03 /home/daniel
% sudo netstat -tulnp | grep acme-dns
tcp6       0      0 :::8496                 :::*                    LISTEN      28247/acme-dns

Am I using the correct syntax? It's a bit confusing because the API section has separate "ip" and "port" options, but I just see a single "listen" option for the DNS server, so I just tried to guess the syntax.

So it turns out I was just forgetting to run it with sudo, and it does not throw any errors when there's a permission error
Also, confusingly there's an info notice for listening to HTTP:
INFO[0000] Listening HTTP                                host=":8496"

But not for DNS. It would be nice to have that for DNS too.


Deadline for Comments and Reactions Services

I would like to underline an essential fact that Comments Service and Reactions Service have to be done until next Monday - April 22nd.

Firstly, we will show it to our supervisor (Mr Sulecki) during first pointed checkpoint so he could know that work in our team is approximately divided in an equal way. Please, pay attention to the fact that this will have an impact for our mark.
Secondly, frontend is aimed to be developed very intensively on days and these services are needed next after Students, Events and Posts (which were done or are almost done).

@zniwiarzxxx, @olegkiprik, the whole Our team believes in You. Our project is in phase that we have beautiful plans, a great deal of work to do and a lack of working people. It's best time to go for work, thanks to it we will achieve our targets together!

All the deadlines were not met. I do close this issue due do the lack of any farther activity.


So that I can test the Automation all the way through

eventname
So that I can visit Gianluca
date
2022-12-22 08:00:00 -00:00
description
I want to visit Gianluca on my birthday so I have created this event so that I can.
I just want to be able to spend some time with him and this is my birthday so I think I should be allowed.
<img alt="A beautiful view" src="https://pbs.twimg.com/media/FXJblDJXkAAPBIa?format=jpg&name=900x900"
width=120" height="120">
Anyway, here is the event
With some more information
Maybe it will work
registrationurl
https://sessionize.com/api/v2/APITAG/view/GridSmart
rooms
No response
scheduleurl
No response
sponsors
https://quantumdatis.com:Quantum/ Datis:120,sponsor2link:sponsor2name:sponsor2height,sponsor3link:sponsor3name:sponsor3height
speakerlisturl
https://sessionize.com/data-saturday-parma-2022/
volunteerrequesturl
No response
organizers
<EMAIL_ADDRESS>

Thats really funny - which beard forgot about colons in the URLs


Silent Failure to Pick - ClassNotFound vs ClassCast and AppCompatActivity

In ImagePicker.kt startActivity, around line 299, there is the following code:
if (e is ClassNotFoundException) {
However, running Kotlin 1.3.61 and Java 1.8 the excption caught here is not a ClassNotFoundException it's a ClassCastException.
Because there is no other test for any other exception type in this handler, this method fails silently. To the developer, it appears that the picker fails without running the inline result handler.
Also, in the READ.ME it says:

If you are yet to Migrate on AndroidX, Use support build artifact: imagepicker-support:1.5

I am using several AndroidX components, however I had not yet migrated my Activity to AppCompatActivity. (I'm actually writing a Tasker plugin and the Tasker sample library doesn't use that super class). Even after changing to use imagepicker-support:1.5, it appears the library still does a cast to AppCompatActivity.
I'm a bit unclear what support:1.5 is supposed to change if the library still depends on AppCompatActivity. If AppCompatActivity is in fact a requirement, please consider updating the READ.ME to make this requirement clear.
Thanks!

@jbienz  Thanks for pointing out the issue:
Currently, ImagePicker uses InlineActivityResult to receive the activity result directly after the startActivityForResult. But as of now, it doesn't work with Activity. I will mention this in READ.ME.
Also, imagepicker-support is built with the Android Support Library class. It's the same as imagepicker only difference is imagepicker-support use android support libs while imagepicker use Androidx.


feat: list plugin to display available and installed plugins

What I did
fixes: #
How I did it
How to verify it
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

I tried to use it after fixing those unknown variable issues and it says:
You are missing these CORE First Class:
  ape_ethereum
  ape_networks
  ape_test
  ape_plugins
  ape_pm
  ape_compile
  ape_http
  ape_run
  ape_accounts
  ape_console

Can we close this in favor of #212 which is only the relevant commit?

This PR is not longer required. It being fulfilled by PR #212 https://github.com/ApeWorX/ape/pull/212


73.SetMatrixZeroes.py

Added solution for the problem
Pull Request Template
What have you Changed(must)
Added solution for the problem
Issue no.(must) - #501
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[X] This issue was assigned to me if not it will be marked as spam.
[X] My file is in the proper folder
[X] I am following clean code and Documentation.
[X] I have added the title and what program will do first in the file
[X] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

Please merge this @SSKale1 @Yashica7


[BACKLOG-10029] - Preparing assemblies to not depend on agile-bi.

Adding mondrian.properties to the assembly for things in the osgi container.

Build Completed
:white_check_mark: There was nothing to build. The changes are probably excluded by the build rules. If this is an error, please contact your system administrator.


3.4.0 Regression: dependency check does not  completely honor the enable: false

Issue Type

Bug report

Molecule and Ansible details
>  .tox/py36/bin/molecule --version
molecule 3.4.0 using python 3.6
    ansible:2.9.25
    delegated:3.4.0 from molecule
    podman:1.0.1 from molecule_podman requiring collections: containers.podman>=1.7.0 ansible.posix>=1.3.0

Molecule installation method (one of):

pip

Ansible installation method (one of):

OS package

Desired Behavior
With  molecule/default/molecule.yml containing
---
dependency:
  name: galaxy
  enabled: false

The dependency check should be print (output from molecule 3.3.4):
INFO     Running default > dependency
WARNING  Skipping, dependency is disabled.
WARNING  Skipping, dependency is disabled.
INFO     Running default > syntax

Actual Behaviour
Instead it tries to install the podman driver dependency:
INFO     Running default > dependency
INFO     Running ansible-galaxy collection install --force -v containers.podman:>=1.7.0
CRITICAL Collection 'containers.podman' not found in '['/home/[user]/.cache/ansible-lint/dbf977/collections', '/home/[user]/.ansible/collections', '/usr/share/ansible/collections']'
WARNING  An error occurred during the test sequence action: 'dependency'. Cleaning up.

I suppose it's due to #3192 which calls super.execute() before verifying if the dependency check is enabled or not in  src/molecule/dependency/shell.py

After moving the call to super.execute() after the if not self.enabled: check (see diffs at the end of the message), the dependency checker is skipped as expected.
INFO     Running default > dependency
WARNING  Skipping, dependency is disabled.
WARNING  Skipping, dependency is disabled.
INFO     Running default > syntax

The diffs
*** .tox/py36/lib/python3.6/site-packages/molecule/dependency/shell.py.old	2021-09-08 17:15:44.639945919 +0200
--- .tox/py36/lib/python3.6/site-packages/molecule/dependency/shell.py	2021-09-08 17:17:58.855439536 +0200
***************
*** 87,102 ****
      def bake(self) -> None:
          """Bake a ``shell`` command so it's ready to execute."""
          self._sh_command = BakedCommand(cmd=self.command, env=self.env)

      def execute(self):
-         super().execute()
          if not self.enabled:
              msg = "Skipping, dependency is disabled."
              LOG.warning(msg)
              return

          if self._sh_command is None:
              self.bake()

          self.execute_with_retries()

--- 87,103 ----
      def bake(self) -> None:
          """Bake a ``shell`` command so it's ready to execute."""
          self._sh_command = BakedCommand(cmd=self.command, env=self.env)

      def execute(self):
          if not self.enabled:
              msg = "Skipping, dependency is disabled."
              LOG.warning(msg)
              return

+         super().execute()
+
          if self._sh_command is None:
              self.bake()

          self.execute_with_retries()

*** .tox/py36/lib/python3.6/site-packages/molecule/dependency/ansible_galaxy/base.py.old	2021-09-08 17:20:17.016800665 +0200
--- .tox/py36/lib/python3.6/site-packages/molecule/dependency/ansible_galaxy/base.py	2021-09-08 17:20:20.980667576 +0200
***************
*** 111,126 ****
              cmd=[self.command, *self.COMMANDS, *util.dict2args(options), *verbose_flag],
              env=self.env,
          )

      def execute(self):
-         super().execute()
          if not self.enabled:
              msg = "Skipping, dependency is disabled."
              LOG.warning(msg)
              return

          if not self._has_requirements_file():
              msg = "Skipping, missing the requirements file."
              LOG.warning(msg)
              return

--- 111,126 ----
              cmd=[self.command, *self.COMMANDS, *util.dict2args(options), *verbose_flag],
              env=self.env,
          )

      def execute(self):
          if not self.enabled:
              msg = "Skipping, dependency is disabled."
              LOG.warning(msg)
              return

+         super().execute()
          if not self._has_requirements_file():
              msg = "Skipping, missing the requirements file."
              LOG.warning(msg)
              return

@ssbarnea the #3235 commit fixes the issue only for the "shell" dependency checker, not for the "galaxy" checker.
The ansible_galaxy/base.py file requires the same change.


Added YouTube video to contributing file with the img (#7289)

Fixes Issue #7289
Added a YouTube video thumbnail with a link to the Contributing Guide video for LinkFree.
Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

I have added the text below to describe the image: #7289.


Allow "opt-out" of appending default port 9200

Hi,
we are running multiple OpenSearch Clusters in Kubernetes and most of our services access them from outside the cluster do so by using the Host-Header.
This is way easier than handling the port-mapping on the ingress and i think this should at least be possible.
I had the same problem before with Elasticsearch/Logstash, but i think here is a better place to take a shot at this "issue".
Using a default port, that is not clearly deductable from the URL/Config is a bad thing i think... :)

... and for OnPremise Clusters it requires additional configs on the external loadbalancers
seems very counter intuitive for something that works very easy in all other regards..

@erSitzt Thanks for creating an issue. Do you have a proposal that introduce this change without affecting existing configurations?

maybe an additional parameter that, when set overrides appending the port.
as it would mostly benefit users who want to use the host header only it could be a true/false flag defaulting to false
use_http_host_header_only => true
something like this ? i'm bad at naming stuff, but you should get the intention ;)

Hi @erSitzt , Thanks for suggestion. What do you think of creating new config called "port" with default value as 9200 and behavior as follows

use defaults.

The below configuration will have host as "hostname:9200"
 opensearch {
        hosts       => ["hostname"]
        user        => "admin"
        password    => "admin"
        index       => "logstash-logs-%{+YYYY.MM.dd}"
    }

override default port

The below configuration will have host as "hostname:1234"
 opensearch {
        hosts       => ["hostname"]
        port       => "1234"
        user        => "admin"
        password    => "admin"
        index       => "logstash-logs-%{+YYYY.MM.dd}"
    }

Don't append port using above apporach

The below configuration will have host as "hostname"
 opensearch {
        hosts       => ["hostname"]
        port       => ""
        user        => "admin"
        password    => "admin"
        index       => "logstash-logs-%{+YYYY.MM.dd}"
    }

It would be ok for my situation, but wouldnt it confuse people switching from ES to OpenSearch version ?
Because it's "Hosts" and not "Host" ?
the original examples were like this, so how would you handle different ports for different hosts ?
"<IP_ADDRESS>"
["<IP_ADDRESS>:9200","<IP_ADDRESS>:9200"]
["http://<IP_ADDRESS>"]
["https://<IP_ADDRESS>:9200"]
["https://<IP_ADDRESS>:9200/mypath"] (If using a proxy on a subpath)
My approach would only take affect when NO port is defined for any of the hosts and then NOT to default to 9200 to allow named based routing in a load-balancer
I think this would have less impact and cause less confusion for people familiar with logstash from Elastic

I would prefer just to be able to opt out of this default here
https://github.com/opensearch-project/logstash-output-opensearch/blob/aeee1cfbf5135fc23a6f9a2ef57ab24b7d55ca04/lib/logstash/outputs/opensearch/http_client.rb#L270

hey @VijayanB is there any progress on this ?

Sorry @erSitzt, the team has not had a chance to prioritize this work. We will review work across clients again in the Jul-Aug timeframe. This would be a good candidate for help wanted though so I'm adding the proper label.


Add PngByteQRCode type

As discussed in this issue https://github.com/codebude/QRCoder/issues/73 let's add PngByteQRCode as QRCode type for systems which doesn't support System.Drawing.

By the help of @pontusi we now have also a raw PNG renderer, which has support for multiple platform.
Pull request: https://github.com/codebude/QRCoder/pull/91
Smaller fixes: https://github.com/codebude/QRCoder/commit/2b98d81053e441b3e156e761760c56f16630fb2f , https://github.com/codebude/QRCoder/commit/ab860503ddb202cceb16c3c8833c40c679c80f66 , https://github.com/codebude/QRCoder/commit/9279b528f747db1afc29cac03ee6f00f9a3ba096 , https://github.com/codebude/QRCoder/commit/247da1c9b6d967105ed627001751ab6e06b82ff6
Wiki entry: https://github.com/codebude/QRCoder/wiki/Advanced-usage---QR-Code-renderers#25-pngbyteqrcode-renderer-in-detail
Thus this issue can be closed. If needed, feel free to re-open this issue later or open a new issue.

Sorta OT, but have you tried loading the png in with libpng or something? libpng warns if an invalid png (which is indeed an old version of png) gets loaded. Go ahead and zip a png file generated and I can test it.

Hi @Hydroque ,
just check out the latest code and generate a .png-file yourself. I think this is easier, than generating one and sending it to you.

Not really. I haven't actually ever used this library.

Hm, than I don't understand, why you're raising issues and spending your time on a project, which you never have used. Anyway - I attached a png from the lib to this post. (Maybe it's not full standard compliant, but it gets shown without trouble in all webbrowser and windows image viewers I checked. So in general it's fine for me. I prefer a 95% solution over having nothing, because a feature isn't 100% perfect.)

Meanwhile I checked the above QRCode with "pngcheck".
Result:
PS C:\Users\RCC-Herrmann\Downloads\pngcheck-2.3.0-win32> .\pngcheck.exe -vt C:\tmp\test.png
File: C:\tmp\test.png (429 bytes)
  chunk IHDR at offset 0x0000c, length 13
    580 x 580 image, 1-bit grayscale, non-interlaced
  chunk IDAT at offset 0x00025, length 372
    zlib: deflated, 32K window, default compression
  chunk IEND at offset 0x001a5, length 0
No errors detected in C:\tmp\test.png (3 chunks, 99.0% compression).

The last line (No errors detected in C:\tmp\test.png (3 chunks, 99.0% compression).) sounds good for me. Let me know, what your tool gives as result.

You produced a grayscale image, which could be problematic when trying to implement QR codes with color? Especially having to force people to rewrite png loader section and specify specifically to the render api that we are using a monocolor image with it - which probably means a new shader... if they haven't already. This does tack on a lot, so resaving it would be something someone would have to do I guess.

Hi @Hydroque ,
it's a grayscaled image because only black and white is used. A coloured code, like attached, produces a valid PNG with color palettes:
PS C:\Users\Raffael Herrmann\Downloads> .\pngcheck.exe -vt c:\tmp\color.png
File: c:\tmp\color.png (447 bytes)
  chunk IHDR at offset 0x0000c, length 13
    580 x 580 image, 1-bit palette, non-interlaced
  chunk PLTE at offset 0x00025, length 6: 2 palette entries
  chunk IDAT at offset 0x00037, length 372
    zlib: deflated, 32K window, default compression
  chunk IEND at offset 0x001b7, length 0
No errors detected in c:\tmp\color.png (4 chunks, 98.9% compression).

So for me this looks ok. But I have to admit, that I don't understand what you mean with:

Especially having to force people to rewrite png loader section and specify specifically to the render api that we are using a monocolor image with it - which probably means a new shader... if they haven't already. This does tack on a lot, so resaving it would be something someone would have to do I guess.

Why should someone re-save a graphic/png-file if it renders without problems?

With palettes, you now force people to have to render the image without palettes to get a displayable image - which happens at loading time.
They should resave it so it is unpaletted and a uniform 3 bytes. The compression will note and take care of this to make it grayscale if it is truely grayscale.

Ok, I think I get an idea what you mean. But that's about my level/knowledge about PNG. If you're able to implement this, feel free to make the needful changes and send in a pull request. So far I will live with solution as it is now. Maybe it's not perfect, but it's better than nothing.

Solution is easy, and I am being picky here. Say in opengl, you need to define how many color channels an image has. It is usually GL_RED, GL_RGB, and GL_RGBA. With compression, GL_RED (1 color channel, ie grayscale) is indeed an optimization, but that means the user will have to change to GL_RGB (3 color channel) if they want to color it many different colors other than 2. The lack of support for RGB and RGBA can be troublesome for usability.
So just use 3 color channels, and no palette.
If this isn't something you can do easily or add easily I will think about making a pull request. Turn your attention elsewhere, but I do indeed people will run into problems with this format. Especially if they decode the image themselves rather than go with a library or have to rewrite sections of their code to support GL_RED per se.

Those are som unsubstantiated claims. Palettes are most certainly not deprecated in the PNG standard and tools like pngcrush will always reduce an image to palettes when possible. I'd prefer not to reduce compression for the general case to support the special case that @Hydroque is dealing with, though I guess you could add an extra mode.

Hi @pontusi hi @Hydroque ,
now you've left me behind. As I said am not a PNG expert.
@Hydroque - I'm not able to do this changes easily, so I take your offer to send in a pull request. But I think also, that @pontusi had a valid point and this changes should be added as extra mode/option, so that the user can choose if he wants to go with palettes or with channels.

@pontusi Some things that have affected me in the past as an OpenGL programmer - where I load in images myself. Reducing to palettes call for load time setup. Anything that isn't raw image data does. Converting from paletted grayscale to grayscale doesn't introduce a size different because of the compression algorithm. I suspect it is noting the lengths of the white horizontal lines and the black boxes and reducing it so. I suspect no such loss in file size that matters.


Nautical miles scale

a nautical mile scale should replace the statute mile scale on the map.

We now use the standard Leaflet scale control that does not provide it out-of-the-box. Maybe a good idea to check if https://github.com/jtreml/leaflet.customscale could be used instead, or be directly implemented in KDK as the code is pretty old.

Should now be more easily possible to integrate https://github.com/kalisio/leaflet-graphicscale thanks to https://github.com/kalisio/kdk/issues/818.


Don't trim trailing whitespaces for markdown

LGTM but you should add this change to all our repos.

I added it to all I had cloned except gitea itself.

gitea, go-sdk and git also share the same .editorconfig

I'll do.

LGTM