External Auth

Hello @jkroepke can you maybe give me some information about how to use external auth function
Example.
I have login portal using a database. once you logged on the login portal you have the possibility to select the universe you want to play in (uni1, uni2 both with a new database)
If you click on login using uni1 it would check in the other database if you have a user like that registered, if yes then login if no then register and login using all info from the login portal
Same for uni2 with the 3th database and so on for each database, so each uni wil have hes personal database to not fill it with to much data

You have one database you want to using it as login source and multiple universe databases?
So the externalAuth Interface is verv very rudimentary.
The Login URL should be shomethink like: index.php?page=externalAuth&method=hilarious. On includes/classes/extauth/hilarious.class.php, you have to create a class HilariousAuth. Checkout the externalAuth interface to get the required methods, use existing classs the openid (never tested) or facebook (has been work years ago) as example. To avoid that the user has to be reqister manually, getLoginData must be return always some data: user.id, user.username, user.dpath, user.authlevel, user.id_planet. If the player does not exists on your game. to have to register them in this context.
To do this: you can calling the ShowRegisterPage internally or execute the same steps on the ShowVerifyPage. PlayerUtil::createPlayer is your friend. getAccountData can be empty for you, because you want to skip the registration page.
I hope you understand my bad english. If not, I will try to use the translator next time ;-)

Thanks for the help
i will try it out tonight and keep u updated, if i have any question
Regards

Hello jan i have a small question, wich file does actualy call the config.php file to connect to the database
as i would have to switch the file to another name if i want to be able to use it in this context
Game files in public_html/game folder
Portal files in public_html/ folder
This avoid me to upload 2x my game in different folders if i could simply switch the database info connexion file in function of the uni selected to login

Did you have different Subdomains for your universers?
You can simply do somethink like if DOMAIN = "A" { DB CONNECTIONS FOR UNI1 } elseif { DB CONNECTIONS FOR UNI2 } and so on. You could also use game/uni1 and game/uni2. $_SERVER['REDIRECT_UNI'] should contain the 1 or 2, if you are using apache. https://github.com/jkroepke/2Moons/blob/master/.htaccess#L47

Ok i found a way to do what i wanted
i have one small problem
world1.mydomain.com/game.php says it doesnt exist
mydomain.com/world1/game.php works perfectly
What could cause this ?
Regards

Nvm all sorted out
Regards


Add section on how to choose between types

As a follow up to https://github.com/ethereum/py-evm/pull/1390#discussion_r224931867, this adds a section on typing and how to choose between types for function parameters and return values.

@pipermerriam doesn't seem that I can merge in this repo


Let callable type be used.

Description
Add a feature, let callable type be used in ::set() and ::factory().
::set() is now a real alias of ::factory().
$container = new Container();

 $class = new class {
            public function get(): int
            {
                return mt_rand(0, 100);
            }
        };

$container->factory('random', [$class, 'get']);
$container->get('random'); // random int

Holy shit.. that is been in back my mind long time! 👍 Yes sir. I will merge that!

Hold on, rebasing ;)

Don't worry man, i'm make some change also.

It's not passing on php 7.1 but isn't you fault, i'm making some new feature also. (Alias). But i already fixed that. :).

Great! :D

Release 1.5.0 👍 I'm anxious to use this on my private projects. Thank for you support!


Adjusted the gravity of SKIP THIS IMAGE Fixed #2848

Description
Adjusted the gravity of SKIP THIS IMAGE Fixed for both portrait mode and landscape mode.
Fixes #2848 Skip this image title should be in center in landscape mode
Tests performed
Tested betaDebug on Xiaomi Mi A1 with API level 28 stock android.
Screenshots showing what changed
Before

After

Codecov Report

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

@@          Coverage Diff           @@
##           master   #2849   +/-   ##
======================================
  Coverage    3.42%   3.42%
======================================
  Files         246     246
  Lines       12193   12193
  Branches     1071    1071
======================================
  Hits          418     418
  Misses      11744   11744
  Partials       31      31

Continue to review full report at Codecov.

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

@domdomegg @neslihanturan Could you please review this change :)


tedge-apt-plugin update list missing keep config options

Proposed changes

Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

https://github.com/thin-edge/thin-edge.io/issues/2666
https://github.com/thin-edge/thin-edge.io/issues/2671
https://github.com/thin-edge/thin-edge.io/issues/2670

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

Approved. Nicely done. This refactoring will help avoiding the same kind of issues.
That said, this PR description is not correct: it doesn't address #2666

Sorry that was my fault, I linked the wrong ticket...updating now.


⚠ Bofrost.it has degraded performance

In 70ea6de, Bofrost.it (https://www.bofrost.it) experienced degraded performance:

HTTP code: 200
Response time: 2616 ms

Resolved: Bofrost.it performance has improved in 0350b18 after 6 minutes.


Database/Table/Row not found errors echo back text from URL

This was raised in Discord. The returned error message is escaped, so this isn't an XSS error, but it could still be used to create a confusing error message like so:

Code at fault: https://github.com/simonw/datasette/blob/93534fd3d0c34aac9ff5f8677f1a8d8bddf886f9/datasette/app.py#L1615-L1622

I'm going to remove the reflected database name entirely:

Same bug exists for tables:

... and row not found too:

The fix for 0.64.x looks different because the code is older.

Fix is deployed on latest.datasette.io now:

https://latest.datasette.io/database-does-not-exist
https://latest.datasette.io/fixtures/table-does-not-exist
https://latest.datasette.io/fixtures/facetable/row-does-not-exist

Shipped in 0.64.8: https://docs.datasette.io/en/stable/changelog.html#v0-64-8
It's live in Datasette Lite already:
https://lite.datasette.io/#/content/this+will+not+be_displayed


Removed arrow-up after selector issue #2365

The icon arrow-up was placed with a :after selector. While viewing the style guide icon overview, it was obvious the icon was placed twice because of the :after selector.

Merged in 287ca850bb11000367fe5d46780eb288783c5d31 (and into master in 5158ee7aad594d3d9b8b7cd14c139094080466fb) - thankyou for saving the day! :-)


[All Hosts] Update the Group element article in the manifest reference docs.

Indicate that the Icon element is a required child element of the Group element in the manifest.
Fixes #1462

Docs Build status updates of commit e666865:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/manifest/group.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[uart, dv] How is rx_overflow interrupt verified

Hi,
I run uart_fifo_overflow test and got the waveform for interrupt (internal) event signals and output ports. From the waveform, it seems that rx_overflow interrupt is not asserted so how is that feature verified?

@weicaiyang is on vacation until August. I will try to take a look tonight.

@weicaiyang is on leave until August. I will try to take a look tonight.

@sriyerg thanks

Hi Tung,
Sorry for the late reply. I can finally connect to my workstation.
In the overflow test, it simply overrides below task so that it may continue send rx item even fifo is full.
  virtual task wait_for_rx_fifo_not_full();
  endtask : wait_for_rx_fifo_not_full

I just reran one test with seed=1 and I can see rx overflow happens a few times

In your test, there may be 2 reasons that we didn't see rx overflow

It randomizes a small amount of rx items, which is not enough to have overflow. It could happen in some seeds, but chance is low
intr_rx_overflow_o may be gated by intr_enable. when intr_enable ==0, interrupt isn't shown in the pin.

@weicaiyang @tunghoang290780
this is something that should be caught by coverage in the future.

@weicaiyang @tunghoang290780
this is something that should be caught by coverage in the future.

@rasmus-madsen we have coverage for each interrupt. One sim may not hit this rx_overflow but regression should cover it.

@weicaiyang sorry for the late reply.
Great. that Is all I was trying to say, as long as we have coverage - not seeing this in a single test is not concerning.

@tunghoang290780 do you have more comment? Or can we close this issue now?

@weicaiyang sorry for my late response. I closed this issue!


let login_as setup users for specs

In tests there is no need to set session variables around user login.
No need to verify that the test helper create_guid_miq_server_zone does it's job.
/cc @dclarizio

Nice! :+1:  Did you test a user will multiple eligible groups in the UI (you can probably verify that the group dropdown is still populated...not sure how to spec though)?

In these tests, eligible is set because the it is trying to stub out errors, not because it wants to test this.
I will create a spec for the eligible behavior. I'm pretty sure we never test with multiple eligible groups.

Ohhh...I see.  Then, this LGTM :+1:  @dclarizio Please review.


Increasing performance of accessing variable labels in Xyna Data Types

Accessing variable labels of compiled Data Types with the Xyna JSON parser (application "Json") needs to be faster.
Current condition:
During deployment of a Data Type, Xyna converts the underlying XML into Java code. However, that code currently doesn't hold information about the labels. Therefore, to determine a label during runtime, the XML needs to be parsed, again.
Desired condition:

The Java code, being created from the XML, must store the labels of the variables as Java-annotations
Static Methods for accessing the information need to be added to XoUtils
Java-annotations with labels need to be added to the server-internal Data Types

Feature has been implemented.


PP-4584: Manage HTTP proxies via env. vars

Use environment variables to set JVM system properties for proxy configuration.
This makes the application respond to the following 3 environment variables:
http_proxy - passed as http.proxyHost
https_proxy - passed as https.proxyHost
java_http_non_proxy_hosts - passed as http.nonProxyHosts

Abandoning these new env. vars. JAVA_OPTS is the future


Readonly interfering with assignability of intersections (affects React higher-order components)

I'm trying to answer this Stack Overflow question on typing a React higher-order component.  I've been recommending intersections rather than Exclude for expressing the inner and outer prop types for a higher-order component since TypeScript's type relations and inference seem to handle intersections better than Exclude in general.  (I know this practice has problems; if you know a better way, please let me know!  For now, Object.assign and JSX spreads still generate intersections.)  However, React also uses Readonly for prop types, and I've hit an ugly case in which Readonly is getting in the way of matching up the intersections between the supplied and expected props.  Many simpler cases seem to work OK, but this one fails.
I'm not sure if this is a bug but would like the TypeScript team's feedback on the scenario, since the question has been up on Stack Overflow and I doubt anyone from the TypeScript team will ever look at it there.  Hopefully, in consideration of my answering hundreds of TypeScript questions on Stack Overflow and helping triage tens of other issues here, I can have the privilege of occasionally escalating questions I can't answer to the TypeScript team.  Thanks!

TypeScript Version:  master (8feddcd16d2765afa0ec87305dcf39a619ad61af)

Search Terms: readonly mapped type intersection assignable assignability higher order components
Code
import * as React from "react";

function myHigherOrderComponent<P>(Inner: React.ComponentClass<P & {name: string}>): React.ComponentClass<P> {
    return class OuterComponent extends React.Component<P> {
        render() {
            // Type 'Readonly<{ children?: ReactNode; }> & Readonly<P> & { name: "Matt"; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<P & { name: string; }, any, any>> & Readonly<{ children?: ReactNode; }> & Readonly<P & { name: string; }>'.
            //   Type 'Readonly<{ children?: ReactNode; }> & Readonly<P> & { name: "Matt"; }' is not assignable to type 'Readonly<P & { name: string; }>'.
            return <Inner {...this.props} name="Matt"/>;
        }
    };
}

Note: if we replace React.ComponentClass with React.ComponentType, then the issue does not reproduce due to #27385.  This may be why it hasn't been noticed so far.
Expected behavior: No error.
Actual behavior: Error as marked.
Playground Link: Link for non-React example
Related Issues: Possibly #27201

Minimal repro:
function f<P>(
    a: { weak?: string } & Readonly<P> & { name: "ok" },
    b: Readonly<P & { name: string }>,
    c: Readonly<P> & { name: string }) {
    c = a; // Works
    b = a; // Effectively identical, doesn't work
}

Right.  In essence, the current assignability rules only relate Readonly<T> to exactly T.  The decomposition of intersections may mean that T & U is assignable to Readonly<T>, but Readonly<T & U> isn't assignable to T.  In #27590, I started to try to extend the assignability rules for mapped types to handle intersections, but I got mired in existing bugs in the rules.  I'm starting to think a better solution to the original problem is to change the Object.assign signature (and the analogous thing for spreads in JSX) to strip Readonly from arguments before taking the intersection and also change JSX.LibraryManagedAttributes in @types/react to strip Readonly from the expected props type.  That should get Readonly completely out of the picture.  We can still add the more flexible assignability rules later if we want.


Fix bin path to yii

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues

Merged. Thanks!

Based on the design considerations from https://github.com/yiisoft/yii-base-web/issues/45#issuecomment-415479940
This repo should not contain access to yii.
If needed in a project, it rather should be installed into a yii-project-template with
composer require yiisoft/yii-base-web yiisoft/yii-base-cli

as described in this PR https://github.com/yiisoft/yii-project-template/pull/11/files#diff-04c6e90faac2675aa89e2176d2eec7d8


i m getting this error while installing tensorflow gpu ,have tried everything help me plezz

Traceback (most recent call last):
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\python36\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 978, in _gcd_import
File "", line 961, in _find_and_load
File "", line 950, in _find_and_load_unlocked
File "", line 648, in _load_unlocked
File "", line 560, in module_from_spec
File "", line 922, in create_module
File "", line 205, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('pywrap_tensorflow_internal')
File "C:\python36\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:/tst.py", line 1, in
import tensorflow
File "C:\python36\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import *
File "C:\python36\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 52, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\python36\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 978, in _gcd_import
File "", line 961, in _find_and_load
File "", line 950, in _find_and_load_unlocked
File "", line 648, in _load_unlocked
File "", line 560, in module_from_spec
File "", line 922, in create_module
File "", line 205, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('pywrap_tensorflow_internal')
File "C:\python36\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems

Hi viveky444,
If you already installed anaconda ,try installing tensorflow with
conda install -c conda-forge tensorflow

This is a duplicate of #13196. Please see that issue for more information.


Change maintainer name to GitHub username.

Signed-off-by: Burak Ince<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [mlflow])

Related to issue #2

We will solve kserve kind test problem in the issue #4


selected seats  pumping into fetched data

i have been trying to use json object to place as selected seats array , but it seems it doesnt work

@zackeria Could you please provide additional details about the issue you are currently facing?
Error log, code you have implemented, screenshot or video.


cnct: do not create an action for incoming dust htlcs

Fixes the 'unable to find incoming resolution' error that occured when trying to resolve incoming htlcs below the dust limit that are not actually present on the commitment tx.

Test added


Remove deprecated createFunctionApp API

In an effort to remove usages of findTreeItem, we can remove this deprecated part of createFunctionApp.
We deprecated this API in 2020 https://github.com/microsoft/vscode-azurefunctions/pull/2077

Actually, these two commands aren't related either. createFunctionApp is not deprecated, createFunctionFromCommand and createNewProjectFromCommand are what are deprecated.
Both of these commands refer to local function projects whereas createFunctionApp is a way to create Function Apps in Azure programmatically. I don't think that we can just remove this without creating a new API endpoint for creating Function Apps.

Actually, these two commands aren't related either. createFunctionApp is not deprecated, createFunctionFromCommand and createNewProjectFromCommand are what are deprecated.
Both of these commands refer to local function projects whereas createFunctionApp is a way to create Function Apps in Azure programmatically. I don't think that we can just remove this without creating a new API endpoint for creating Function Apps.

I'm not removing createFunctionApp, just removing the ability to pass in the subscription argument as a string. Which according to this unit test is deprecated.
Do we know who may be using this command passing in a subscription id as a string? I couldn't find any in my searches on GitHub.

It was some sort of IoT team - I can dig through my email if you really care. A few places IoT is mentioned:

https://github.com/microsoft/vscode-azurefunctions/pull/728
https://github.com/microsoft/vscode-azurefunctions/blob/main/test/createFunction/createFunction.CSharp.test.ts#L166


Browser thumbnails

This pull request adds image thumbnail display to the DICOM metadata viewer window:

This pull request replaces the WIP pull request by @pieper - https://github.com/commontk/CTK/pull/979#issuecomment-1398636887

I think we should also make this dialog non-modal, but that can be a different PR.


Improvent: Enhancing the User Interface for the Caesar Cipher Project

The current version of the project has a functional implementation of the Caesar cipher algorithm, allowing users to encrypt and decrypt messages with ease. However, the UI design requires improvement to enhance the overall user experience.

How I will do it (Expected Changes)

Visual Design:
Revise the CSS to create a appealing and visually consistent design.
Focus on addressing various aspects, such as layout, colors, typography, and usability, to make the application visually engaging and easy to navigate.

Code Refactoring:
I will evaluate the existing code base and refactor the CSS and HTML as needed.
Optimize code structure and eliminate any redundant or unnecessary code to enhance maintainability and performance.

Hey,
@harshit-paneri  @Harikaraja  @muskan467
can you please assign me this issue


python3Packages.twitterapi: 2.7.1 -> 2.7.2

Motivation for this change
Update to latest upstream release 2.7.2
Change log: https://github.com/geduldig/TwitterAPI/blob/master/CHANGE.log
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120332 run on x86_64-linux 1

2 packages built:

python38Packages.twitterapi
python39Packages.twitterapi

Result of nixpkgs-review pr 120332 at 8001007e run on aarch64-linux 1

2 packages built successfully:

python38Packages.twitterapi
python39Packages.twitterapi


Newtoki/ Manatoki images couldn't be loaded

Source information
NewToki/ManaToki 1.4.29
Source language
Korean/한국어
Steps to reproduce

Open manhwa and read in manatoki/newtoki
Open webview if captcha appears;
Images wouldn't load  error appears
Opening it on webview works but tachiyomi doesn't load images, tried on different manhwas from manatoki & newtoki, all of the mnahwas doesn't display images

Expected behavior
The images should pop out just fine.
Actual behavior
Images couldn't be loaded error appears

Mihon/Tachiyomi version
J2K 1.7.4
Android version
Android 11
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

https://github.com/keiyoushi/extensions-source/issues/1242#issue-2133535227 so on Mihon it also doesn't work

Duplicate of #1242


Remove CDO library

As I'm messing with it, it seems bad design to have NumSuch rely on CDO.  In Python, the user would use a wrapping library to call the database and return NumSuch objects, so the ops in MatrixOps.chpl are either a separate package OR part of CDO.  I'm not sure, but I think it's the former.
Either way, it's going to involve refactoring.

I've started this effort and called it https://github.com/buddha314/cdo-extras

Closing with this push https://github.com/buddha314/numsuch/releases/tag/v0.2.3


Transfer Posterior to GPU after Training on CPU ?

Hello,
I wanted to know if it's possible to transfer the posterior to the GPU after training on the CPU and vice versa.

Hi GPU -> CPU is possible, see end of the FAQ here.
We have not tested CPU -> GPU, please let us know if something does not work there.

I don't have a GPU available rn so I cannot test this, but can you try:
from sbi.inference.posteriors import DirectPosterior

with open("/path/to/my_posterior.pkl", "rb") as handle:
    posterior = pickle.load(handle)

posterior = DirectPosterior(posterior.posterior_estimator.to("cpu"), prior, device="cpu")

Thank you! The solution works for me


Architecture rework

Missing PR from last sprint.
Will add the missing buttons to navigate, as leo showed in our software architecture.

Only merged 'dev' into 'architecture-rework' to have the pipeline run again.


API browser version 1.0.18 -  an update is available: 1.0.19

When cloning the recent version, the about tool always reports an update is available. The latest commit looks like the version const was never updated if I'm correct?
https://github.com/malle-pietje/UniFi-API-browser/blob/8de5e1e7cf676324f5e259b2a91e3ba4bd955ab9/index.php#L23
Thanks

You're correct. Totally missed that omission. I will fix that right away.

Done. Thanks!


.gitignore files are ignored by npm pulish. So they do not exist in n…

…pm install package

This will fix https://github.com/qooxdoo/qooxdoo-compiler/issues/247


Https feature

adds a rich https server above everything.
includes some other fixes as well

@mathieutu I haven't tested out every load option. Willing to accept change requests

Thanks a lot, I'll review it the weekend.
However I don't know how to really test it, so can you please give me a process?
(my ssl part is always handle by a nginx part on top of the server)

the readme lists 4 different options for loading the ssl files.
i personally like putting the actual files on cert/ though

should be srv/cert/key.pem and cert.pem
its on line 50 loadPem

Hi, sorry for the delay, the last weeks where a bit busy. I'll try to review it soon.
Thanks.

It's ok take your time. I know what it feels to have no time for side projects 😄


What is the difference between the wait_for_frames() function and the poll_for_frames() function in pyrealsense?

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D435&D435i

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win10

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
2.25.0

Language
python

Segment
Robot

Issue Description
<Describe your issue / question / feature request / etc..>
What is the difference between the wait_for_frames() function and the poll_for_frames() function in pyrealsense?

The link below explains the difference between the commands.
https://github.com/IntelRealSense/librealsense/issues/2422#issuecomment-423254709

Thank you!
I'm truly grateful for your help!


Banchmark client

I'm bench marking our node.js based mosca broker, with a simple hand made node.js based client traffic generator.
Is there any possibility to link me to your client/load code/tool ? so than we can share the same benchmark environment ?

@behrad, we use https://github.com/emqtt/emqttd_benchmark to do simple benchmark test.

nice @erylee I'll try it out.
Have you ever successfully tried to go over 65K client connections with in a single machine? adding extra ip addresses as localAddresses but couldn't get it to work...
that way we need tons of client machines!!!

Hi Behrad,
No:) I created 6 nodes on QingCloud(a cloud provider in China), and start about 50k connections on each client node.
It’s very cheap if you only use these nodes for benchmark test. I’d like to share with your project if you want to benchmark Mosca.
Regards
Feng Lee

在 2015年6月15日，下午6:38，Behrad<EMAIL_ADDRESS>写道：
nice @erylee https://github.com/erylee I'll try it out.
Have you ever successfully tried to go over 65K client connections with in a single machine? adding extra ip addresses as localAddresses but couldn't get it to work...
that way we need tons of client machines!!!
—
Reply to this email directly or view it on GitHub https://github.com/emqtt/emqttd/issues/176#issuecomment-112014930.

Great @erylee
I've reached 150K connections on a 12core machine with 12G RAM with Mosca on centos7 so far, but think I can go further with more memory... my limits are clients now, I should test if docker can solve this.
Do you mind sharing kernel/network tunings?

this is mine:
  fs.file-max = 999999

  net.core.rmem_max = 16777216
  net.core.wmem_max = 16777216
  net.core.rmem_default = 16777216
  net.core.wmem_default = 16777216
  net.core.optmem_max = 2048000
  net.core.somaxconn = 65000
  net.core.netdev_max_backlog = 50000

  net.ipv4.tcp_rmem = 4096 4096 16777216
  net.ipv4.tcp_wmem = 4096 4096 16777216
  net.ipv4.tcp_max_syn_backlog = 30000
  net.ipv4.tcp_max_tw_buckets = 2000000
  net.ipv4.tcp_tw_reuse = 1
  net.ipv4.tcp_fin_timeout = 10
  net.ipv4.conf.all.send_redirects = 0
  net.ipv4.conf.all.accept_redirects = 0
  net.ipv4.conf.all.accept_source_route = 0
  net.ipv4.tcp_slow_start_after_idle = 0
  net.ipv4.ip_local_port_range = 8000 65535

  net.netfilter.nf_conntrack_max = 1000000
  net.netfilter.nf_conntrack_tcp_timeout_time_wait = 30

  vm.min_free_kbytes = 65536
  vm.swappiness = 0
  vm.overcommit_memory = 1

It's really great. I had thought node.js could not handle too many concurrent connections...
My settings of Linux and Broker for benchmark: https://github.com/emqtt/emqttd/wiki/One Million Connections
I will check the detailed kernel parameters and compare with yours later. I reached about 200k connections on a 8core, 32G RAM server with Centos, and one of my friends reached about 300k.

how much memory were emqtt consuming when reaching 200K? what showed free -m
I've written both in node.js and Erlang, and believe both are GOLD :dancer:
however node.js should be more memory hungry than Erlang optimized VM.

I’d like to share with your project if you want to benchmark Mosca.

so helpful, can I install iojs on them to load my broker instance?

About 7~8G RAM. @Behrad, I never use node.js before. could it scale one process on multicores, or start a process on each core?

在 2015年6月15日，下午7:25，Behrad<EMAIL_ADDRESS>写道：
how much memory were emqtt consuming when reaching 200K? what showed free -m
I've written both in node.js and Erlang, and believe both are GOLD
however node.js should be more memory hungry than Erlang optimized VM.
—
Reply to this email directly or view it on GitHub https://github.com/emqtt/emqttd/issues/176#issuecomment-112023943.

a process on each core!
each node.js process is a single thread (single core) event loop. Using builtin cluster https://nodejs.org/api/cluster.html module you can scale up to multicores, 1 process/core is a normal model for typical apps.
I believe both Erlang pseudo-threads and node's epoll based non-blocking event driven event loop are very powerful concurrency models with their own characteristics.

mv to wiki: https://github.com/emqtt/emqttd/wiki/linux-kernel-tuning


Hotfix/classesrename

I think you should reopen this pull request and merge hotfix/classesrename to dev branch instead of master.


Make inline and HUD eval result display "smart"

Right now every eval results appears as inline virtual text and in the HUD, I'd like to make it so that the inline results are the normal place for small results and the HUD is used for larger things where multiple lines and syntax highlighting are far more useful.
So right now the behaviour is "virtual and HUD for everything", the next iteration will be hybrid, "virtual for small, HUD (or both) for large" while still relying on the HUD for documentation and other explicitly multiline values.
This leads on from #112.

Honestly don't think this is worth the effort. I've been using it with both for ages now and it's totally fine, the inconsistency of things sometimes appearing and sometimes not will probably be more confusing than helpful. I'm going to close this until someone convinces me to reopen it 😅


json: exclude panics from duplicate keys

go-fuzz finds the following crasher: "{\"o\":0,\"o\":null}". This doesn't survive an Unmarshal/Marshal round trip. However, this is working as intended: The second value for key o overwrites the first during Unmarshal, and thus the round-trip fails. See https://github.com/golang/go/issues/24415 for more discussion. We should teach the json Fuzz function that duplicate keys means a round trip failure is OK.

About this, I'm not sure we should consider this OK for the parser: what happens is that the field O **int is first filled with a value, then the last pointer of the chain is niled, while on the second unmarshal the first pointer of the chain is niled, hence the deep-equal failure.
This is valid behavior, but I find it inconsistent somewhat: I would expected both payloads to end-up with the same level of pointer being nil, not being dependent on the previous value of the field.

Discussion of how the json parser should handle particular inputs should probably happen in a new issue in the Go repo. (Sorry you keep getting bounced around.)

I expected it. I just wanted to keep this issue updated (or at least linked) because the project here spans so much it's a little hard to keep track of everything (I've spend half my free time yesterday bouncing around while discovering :P ).

I didn't see a new issue get filed, so just in case, cc @mvdan, who probably has opinions about the json parser's behavior.

I don't have an opinion unless someone opens an issue on the tracker with a specific problem or proposed change ;)
The decoder could certainly be taught an option to reject duplicate keys on maps and structs, though. That's the kind of thing I had in mind to fix https://github.com/golang/go/issues/14750 sometime in 1.14.


🚀 Feature: Implement MySQL database support

🔖 Feature description
Implement MySQL support in Backstage
🎤 Context
At present, Backstage is compatible with two commercial databases, PostgreSQL and SQLite.  However, we require MySQL support in Backstage and its included plugins. Taking inspiration from a previously-submitted issue and a PR that added MySQL support in the Catalog plugin, we hope to continue that work to bring MySQL compatibility to Backstage. Since knex already supports MySQL as a backing store, these changes don’t require swapping out the existing DB abstraction layer.
✌ Possible Implementation
As stated above, our planned strategy to extend MySQL support would be to follow the example of the PR that updated the Catalog plugin. We plan to run Backstage against an instance of MySQL and rely on tests, the startup sequence, and its migrations to discover and fix any errors related to how the knex library is used to interact with the database.  This includes adding MySQL as a testing option to the corresponding tests for the changed files and possibly to any database related tests.
We have started making changes following the proposed strategy and these are the affected packages and plugins we have made changes to so far:

Packages

Backend

Plugins

App (backend)
Catalog
Code Coverage
Linguist
Tech Insights

Examples changes we’ve made:
Migrations:
Certain data types that are used to define columns will have to change to make them MySQL compatible, because of the need to have a size specified (string has implicit size of 255 chars):
- table.text('value').nullable().alter();
+ table.string('value').nullable().alter();

Plugins:
Format for date and time types and database specific functions in raw SQL will have to be accounted for as well.  MySQL needs YYYY-MM-DD hh:mm:ss.s’ while Postgresql and sqlite need ‘YYYY-MM-DDThh:mm:ss.sZ’:
if (this.knex.client.config.client.includes('sqlite3')) {
    startAt = this.knex.raw('datetime(?)', [time.toISO()]);
} else if (this.knex.client.config.client.includes('mysql')) {
    startAt = this.knex.raw(`?`, [time.toSQL({ includeOffset: false })]);
} else {
    startAt = this.knex.raw(`?`, [time.toISO()]);
}

If there are any associated tests for the affected files, they may need to be updated to include MySql as a test database:.
- ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3']
+ ids: ['MYSQL_8', 'POSTGRES_13', 'POSTGRES_9', 'SQLITE_3']

Questions
In order to cover all our bases before submitting a PR for our proposal, we were hoping to get some information regarding the the following questions:

The above package and plugins that have been affected by the changes were due to fixing errors encountered during the start-up process.  However, there are more plugins that interface with the database (they have migrations) that haven’t required any changes to make them compatible with MySQL.  If these plugins have tests that already include MySQL as one of their testing databases, is it safe to assume that they are ready to go, or is there additional scope that we are not aware of?

These are plugins:

Auth
Badges
Bazaar
Entity Feedback
Playlist
Scaffolder
Search

The “backend-task” package had some changes that were required for MySQL support, along with a test that needed to have MySQL to be added to a list of test databases.  Are there any other “backend” packages that should be in scope for this project, for example “backend-common”?

Are there any implications that we should be aware of with duplicating the Postgresql end-to-end test Github action?

For integration (Cypress) tests, we noticed that these tests live in the top-level Cypress directory for plugins, but within local “cypress” directories for packages, we just wanted to verify that this is indeed the pattern we should follow if we add any integration tests.

Not every plugin or package has an integration spec that tests them, can it be assumed that if there is no existing integration test for a changed plugin / package, we don’t have to add one?

Are there any integration tests outside the Backstage repo?

Please let us know if you have any feedback on our plan, additional scope that we missed, or suggestions to help us with this effort. Thanks!
Apologies, as stated in the "Context" section, we did find Issue 6281 asking for community help to add additional DB support to Backstage, but it had gone stale and was eventually closed.  So we decided to create this new one.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

cc @Rugvip @freben @jamieklassen

Hi, some quick responses here. Overall, cool that you are looking into this, but also, we've been a bit hesitant to add more engines officially supported, since it turns out that the burden is actually pretty significant as that number increases. Knex helps, but there are some much more subtle and tricky things to navigate.

Since knex already supports MySQL as a backing store, these changes don’t require swapping out the existing DB abstraction layer.

No, but as you've seen, in practice things are pretty complex and the capability differences of these engines can't really be hidden by that abstraction layer. So in some cases, it's been tempting to consider making an adapter layer inside some plugins to get away from all of these if statements all over the place that do slightly different things depending on the engine. Haven't gone there yet ... but the thought has occurred to us.

Examples changes we’ve made: Migrations: Certain data types that are used to define columns will have to change to make them MySQL compatible, because of the need to have a size specified (string has implicit size of 255 chars):
- table.text('value').nullable().alter();
+ table.string('value').nullable().alter();

For text columns, it seems to work to use the two-argument form of .text to supply an explicit column width.
.text('the_column_name', 'longtext')
You still need to be careful not to use these for indexing, of course, since you'll hit database limits.

Plugins: Format for date and time types and database specific functions in raw SQL will have to be accounted for as well. MySQL needs YYYY-MM-DD hh:mm:ss.s’ while Postgresql and sqlite need ‘YYYY-MM-DDThh:mm:ss.sZ’:
if (this.knex.client.config.client.includes('sqlite3')) {
    startAt = this.knex.raw('datetime(?)', [time.toISO()]);
} else if (this.knex.client.config.client.includes('mysql')) {
    startAt = this.knex.raw(`?`, [time.toSQL({ includeOffset: false })]);
} else {
    startAt = this.knex.raw(`?`, [time.toISO()]);
}

Same thing goes for computing time deltas.
const nextUpdateAt = (refreshInterval: number) => {
  if (tx.client.config.client.includes('sqlite3')) {
    return tx.raw(`datetime('now', ?)`, [`${refreshInterval} seconds`]);
  }
  if (tx.client.config.client.includes('mysql')) {
    return tx.raw(`now() + interval ${refreshInterval} second`);
  }
  return tx.raw(`now() + interval '${refreshInterval} seconds'`);
};

The above package and plugins that have been affected by the changes were due to fixing errors encountered during the start-up process.  However, there are more plugins that interface with the database (they have migrations) that haven’t required any changes to make them compatible with MySQL.  If these plugins have tests that already include MySQL as one of their testing databases, is it safe to assume that they are ready to go, or is there additional scope that we are not aware of?

I think there are no guarantees whatsoever anywhere, unfortunately. Since MySQL has never been an officially fully supported database, we may have added some spot checks here and there but they can't be seen as reliably battle tested etc, in particular since none of the maintainers have any active usage of MySQL in production at all. There will surely be a lot of code that happens to work, but it needs to be checked and maybe tests need to be amended in some cases, to ensure that all paths are exercised.

The “backend-task” package had some changes that were required for MySQL support, along with a test that needed to have MySQL to be added to a list of test databases.  Are there any other “backend” packages that should be in scope for this project, for example “backend-common”?

backend-common for sure. That's where all of the central database connection setup code lives, for example. I would have said backend-app-api too, but that one currently just leverages the old backend-common for all database related code I believe.

Are there any implications that we should be aware of with duplicating the Postgresql end-to-end test Github action?

Hm. Nothing that springs to mind spontaneously 🤔

For integration (Cypress) tests, we noticed that these tests live in the top-level Cypress directory for plugins, but within local “cypress” directories for packages, we just wanted to verify that this is indeed the pattern we should follow if we add any integration tests.

Will you be using cypress for backend database related testing too?

Not every plugin or package has an integration spec that tests them, can it be assumed that if there is no existing integration test for a changed plugin / package, we don’t have to add one?

If it's needed to get confidence in the MySQL work's correctness both now and over time as more development happens in these plugins and packages - then having them probably is a good thing.

Are there any integration tests outside the Backstage repo?

Not really.

Just wanna highlight that we only use Cypress for frontend integration tests and whatever backend features you may reach via that. For backend integration-like tests we still use Jest, see for example https://github.com/backstage/backstage/blob/e3f5d95a4cd95cb53073e8fda9b7025c66974aac/plugins/catalog-backend/src/tests/integration.test.ts#L360

@jamieklassen I think "officially supported" most often translates to "maintained by the owners". There's a bit more nuance here though, since a Backstage backend plugin can support MySQL, but it must support Postgres. It is effectively a requirement from the core framework that anyone maintaining a Backstage backend plugin that uses the database service for persistent storage should support Postgres. So in that sense it's perhaps most accurate to say that there is an "official requirement to support" Postgres.
Regarding CVEs we (core maintainers) care about them regardless of the level of support or owner. If there's a CVE affecting the main repo we aim to have it fixed, with higher severity and broader usage receiving higher priority.

Unstaling, but just noting here that MySQL still remains at a best-effort, community-contributed, support level.


Add support for global cache-dir and timeout args

Thanks for the PR but I'd like to know what's your use case for providing cache dir?

@simar7 combining this with the cache action in GitHub actions allows the trivy database to be cached between runs.
eg.
      - name: Trivy cache
        uses: actions/cache@v2
        with:
          path: /tmp/trivy
          key: ${{ runner.os }}-trivy
      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: ${{ steps.image-name.outputs.image_name }}:${{ env.IMAGE_TAG }}
          format: 'table'
          vuln-type: 'os,library'
          severity: 'CRITICAL,HIGH'
          cache-dir: /tmp/trivy


Serialization options (IgnoreCycles)

Is your feature request related to a problem? Please describe.
Cannot serialize objects with cyclic references.
Describe the solution you'd like
An option to add/set IgnoreCycles.
Describe alternatives you've considered
Serialize it myself, but then it will not respect the elasticSearch default naming conventions etc.
Additional context
https://discuss.elastic.co/t/elastic-clients-elasticsearch-8-x-custom-serialization/324435
A possible object cycle was detected. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 64. Consider using ReferenceHandler.Preserve on JsonSerializerOptions to support cycles. Path: $.ModifiedFields.Old.Languages.Parent.Parent.Parent.Parent.Parent.Parent.etc

@KoalaBear84, thanks for raising this. I will close it as it's covered in #7238 and something we are looking to support.


bugfix fix timezone not work for from_unixtime

Proposed changes
Issue Number: close #15284
Problem summary
timezone not work for from_unixtime
Checklist(Required)

Does it affect the original behavior:

[x] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.9 seconds
load time: 630 seconds
storage size:<PHONE_NUMBER>9 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221222152332_clickbench_pr_67467.html


Warning about latin1 encoding while using UTF-8

When running poxa from my upstart script I get this warning:
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)

Running locale I get this:
LANG=en_US.utf-8
LC_CTYPE="en_US.utf-8"
LC_NUMERIC="en_US.utf-8"
LC_TIME="en_US.utf-8"
LC_COLLATE="en_US.utf-8"
LC_MONETARY="en_US.utf-8"
LC_MESSAGES="en_US.utf-8"
LC_PAPER="en_US.utf-8"
LC_NAME="en_US.utf-8"
LC_ADDRESS="en_US.utf-8"
LC_TELEPHONE="en_US.utf-8"
LC_MEASUREMENT="en_US.utf-8"
LC_IDENTIFICATION="en_US.utf-8"
LC_ALL=

Is there anywhere else I can configure it? Am I doing something wrong?

Do you get the same warning if you run Poxa without upstart?

@darrencauthon No, just when using upstart

Oh hey! Can you share your upstart script or a small script so I can test myself? And also can you give me the Erlang version you are using? Cheers!

@edgurgel  of course and sorry for not doing that when opening this issue
Erlang: Erlang/OTP 18 [erts-7.0] [source] [64-bit]
# Upstart Configuration
# put on /etc/init
description     "Poxa"
author          "CloudWalk"

start on (filesystem or runlevel [2345])
stop on runlevel [!2345]

console none

pre-start script
    test -x /home/ec2-user/poxa/rel/poxa/bin/poxa || { stop; exit 0; }
    exec >"/tmp/$UPSTART_JOB.env"
end script

script
        export HOME=/home/ec2-user
        cd $HOME/poxa
        . "/tmp/$UPSTART_JOB.env"
        echo "[`date -u +%Y-%m-%dT%T.%3NZ`] Starting..." >> /var/log/poxa.log 2>&1
        exec ./rel/poxa/bin/poxa start >> /var/log/poxa.log 2>&1
end script

Check the log at /var/log/poxa.log to see the Warning message

Change my upstart script to call foreground and the same error happens

Thanks for the info. I will take a look at this during the weekend. Sorry for the massive delay to reply.

Does it fix if you do env LANG=en_US.UTF-8 in your file?


Files with conditionals break if they evaluate to nothing.

I discovered this when working on cookiecutter-pymodule. If I create a folder with a conditional:
mkdir '{% if cookiecutter.test_on_windows != "no" %}appveyor{% endif %}

If True: cookiecutter generates the folder with the files inside
If False: cookiecutter doesn't create the folder.

However, if I create a file with a conditional:
touch '{% if cookiecutter.test_on_windows != "no" %}appveyor.yml{% endif %}'

On generation it triggers a python IO read exception:
cookiecutter ../cookiecutter-pymodule/
module_name (default is "The name of the to-be-packaged model.")? papa5
full_name (default is "Daniel Greenfeld")?
email (default is "pydanny@gmail.com")?
github_username (default is "pydanny")?
short_description (default is "This package does X")?
release_date (default is "2014-01-11")?
console_script_name (default is "")?
test_on_windows (default is "no")?
Traceback (most recent call last):
  File "/Users/danny/.envs/pelican/bin/cookiecutter", line 9, in <module>
    load_entry_point('cookiecutter==0.7.2', 'console_scripts', 'cookiecutter')()
  File "/Users/danny/.envs/pelican/lib/python2.7/site-packages/cookiecutter/main.py", line 130, in main
    cookiecutter(args.input_dir, args.checkout, args.no_input)
  File "/Users/danny/.envs/pelican/lib/python2.7/site-packages/cookiecutter/main.py", line 70, in cookiecutter
    context=context
  File "/Users/danny/.envs/pelican/lib/python2.7/site-packages/cookiecutter/generate.py", line 196, in generate_files
    generate_file(project_dir, infile, context, env)
  File "/Users/danny/.envs/pelican/lib/python2.7/site-packages/cookiecutter/generate.py", line 117, in generate_file
    with io.open(outfile, 'w', encoding="utf-8") as fh:
IOError: [Errno 21] Is a directory: '/Users/danny/pydanny/cookiecutter-pymodule/papa5/./'

This is happening because internally Python is trying to do:
>>> open('')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: ''

I submitted a pull request with a fix for this (1717f1d513236f07536d6042771bf44277e0bc06)

Closed by #444.


[BUG] Kindle link does not navigate to highlight location if Kindle app is open (Windows)

Describe the bug
When I click a link like the one below in Obsidian, the Kindle app only navigates to the link's location if the app is not open or if I have selected another book. If the app is already open and I have the book open with highlights that I have synced to Obsidian, clicking a link in any of the highlights for that book switches focus to the Kindle app, but it does not change the current page.
kindle://book?action=open&asin=B7B9AY3XZZ&location=301
Method of syncing

[x] Amazon Kindle Reader
[ ] My Clippings file (please attach file that can be used to recreate issue)

To Reproduce
Steps to reproduce the behaviour:
0. Open the Kindle app on a Windows device (I haven't tested the behavior on a Mac). Open the target book that has highlights you have already synced to Obsidian.

Go to the page in Obsidian that got generated when you imported highlights from that book with the Kindle Highlights plugin.
Click on a location page number link for any highlight.
Observe that the current page does not change.
No errors appear in the Dev Tools console when I click a link.

Expected behaviour
I expect the current page to change so that I can see the page that contains the highlight I clicked in Obsidian.
Screenshots
If applicable, add screenshots to help explain your problem.
Metadata

OS: [Windows]
Plugin version [e.g. 1.6.10]
Obsidian version [0.15.9]

Could the problem be with the URL action (e.g. "open") ? Is there another URL action we could use? I wasn't able to find online where the different actions are for the Kindle URLs.

Seems like this may be a known issue with deep-linking support on the Kindle apps:
https://www.reddit.com/r/readwise/comments/w3qa0x/view_in_kindle_desktop_not_working_as_expected_a


separate requirements and CircleCI tests for master and release

Summary:

create a separate requirements file for master and release
setup CircleCI workflow for release

Differential Revision: D22083211

Abandoning this PR due to the following reasons

No straightforward way to install pytorch nightly and compatible torchvision
Introduces unnecessary complexity
commit  943d73873e9f5a16a86364aac2d34951bb0fedc7 adds clear communication about the status of the build for release and main branches. (main is expected to be under constant development and depend on pytorch main branch resulting in occasional instabilities)


Search: Add default responses for error cases

https://github.com/Azure/azure-rest-api-specs/blob/master/specification/search/data-plane/Microsoft.Azure.Search.Data/stable/2019-05-06/searchindex.json
It's convention to specify a "default" error shape when "200" (or whatever specified success code) isn't matched.
For example:
  "default": {
    "description": "Error Response",
    "schema": {
      "$ref": "#/definitions/SearchError"
    }
  }

where SearchError has code and message properties would be a good start.

Since all Track 2 SDKs should target version 2019-05-06-Preview, I'm going to fix this issue there and freeze the Track 2 2019-05-06 spec as-is.


[Service Bus] Fulfill promise when disconnect occurs after drain is requested

#6601 attempted to ensure that the promise returned by receiveMessages() is fulfilled if the connection is disconnected in the midst of receiving messages. The one case it failed to cover was when the connection is disconnected in the midst of draining events as seen in the logs in https://github.com/Azure/azure-sdk-for-js/issues/7689#issuecomment-606065795. In this case the finalActionHandler is already unset and therefore we are unable to fulfil the promise.
The finalActionHandler was being unset because the "final action" for happy path shouldnt ideally be called more than once.
This PR attempts to fix this by refactoring the code to have a dedicated "final action" handler for when connection is disconnected instead of re-using the one used for happy path. The connection error is passed to this new handler rather than storing it as a private variable on the batching receiver.
Other changes:

Have a single place to set isReceivingMessages to false and unset the handler
when connection disconnects with no error, make one up

Making this a draft PR for the sake of design discussion of the solution. No testing has been done.

cc @richardpark-msft, @chradek  and @HarshaNalluru

Do you need some help adding tests for this?

Yes please!

/azp run js - servicebus - tests

/azp run js - servicebus - tests

Alright, so I've added 2 sets of tests, with each set testing both receiveAndDelete and peekLock modes.

test disconnect behavior while receiver is draining.
test disconnect behavior while a receive is in progress.

And we already have tests for the scenario where a disconnect happens in between 2 receives.
Is there anything else you'd like to see tested?

/azp run js - servicebus - tests

/azp run js - servicebus - tests

@chradek Please create a follow up PR if you want to address Richard's comments on the tests


Reader bottom padding

Describe your suggested feature
Add paddin at the bottom by default
Why
I personally keep the eyes in the middle-up and middle-bottom while reading. It's more comfortable when one reaches the end of a chapter.

Other details
I know i could add it with CSS. This is issue is about making default.
I use this:
body {
margin-bottom: 120px;
}

Feel free to reject.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 2.0.0.
[X] I will fill out all of the requested information in this form.

What about an option to activate it in the settings? Turned off by default


Enh/take along axis

This PR adds take_along_axis that works similarly to numpy's take_along_axis.

[x] Closes #3663
[x] Tests added / passed
[x] Passes pre-commit run --all-files

Credit
@zklaus for providing a working solution in climix.
Example of use
from dask.array import take_along_axis

data: dask.array.Array
top10_indices = data.argtopk(k=10, axis=-1)
top10 = take_along_axis(data, top10_indices, axis=-1)

# Equivalent to
top10 = data.topk(k=10, axis=-1)

Performances
This is just a basic benchmark I ran on my laptop to compare how this implementation prerforms against numpy's.

import numpy as np
from dask.array import from_array
from dask.array.slicing import take_along_axis

random_arr = np.random.rand(1000,1000,1000)
dask_random_arr = from_array(random_arr)
top50 = dask_random_arr.argtopk(k=50, axis=0)
top50_np = top50.compute()

# Compute both argtopk and take_along_axis
%timeit take_along_axis(dask_random_arr, top50, axis=0).compute()
# 6.74 s ± 9.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit np.take_along_axis(random_arr, top50_np, axis=0)
# 864 ms ± 11.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit take_along_axis(dask_random_arr, from_array(top50_np), axis=0).compute()
# 2.3 s ± 9.04 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.

@zklaus, there are a few deviation from your original code:

I removed sparse arrays as it's not a dependency for dask.
I remove the check of shapes because it was breaking a use case. In particular, with this assert it break the following test dask/array/tests/test_slicing.py::test_take_along_axis__indexing_twice_same_1darray
I removed the meta argument passed in blockwise as it was a sparse array. I suspect it some sort of optimization to give blockwise what is the expected shape but it's not really documented.
Also some variable renaming and added types, docs and integration tests.

Is there someone available to review/comment on this PR ?

Sorry that I don't have the bandwidth to interact properly :/ One thing that concerns me a little is that the test/benchmark isn't really testing much dask because it is conducted with a dask array that consists of a single numpy array as it's only chunk. In that case, performance would probably be expected to be slightly worse than numpy, but it's also not really representative.
Particularly, the point of the sparse array, iirc, was that there is one array for every chunk that covers all the chunks. If this is sparse, that's ok (or at least I thought so when writing it), but it is prohibitive if dense, so I don't think replacing the use of sparse with dense matrices is the way to go. If we want to avoid the use of sparse as a dependency, the aggregation step needs to be re-thought.
As a practical step forward, @bzah, could you do a larger test? Why not apply this to some larger climate data in at least a local cluster with several workers? I suspect that perhaps more than compute time, memory requirements without the use of sparse would balloon.

@quasiben maybe this is something your team could review?

Related to this PR is a proposal to add take_along_axis to the Array API Standard: https://github.com/data-apis/array-api/issues/808.
If there are concerns regarding adding take_along_axis to Dask, it would be great to hear those concerns so that we can take those into account when formalizing expected behavior.


API: Assessment variables

The assessment API was overwriting the name variable with every
attribute.

Thanks @rfverbruggen.


OpenEBS cStor provisioner stuck in "leader election lost"

Description
I have a 4-node ARM64 cluster running OpenEBS 1.9.0 with some existing cStor volumes that are working well. I am running only a single instance of the OpenEBS cStor provisioner, but it looks like it got stuck in a "leader election lost" state and did not automatically recover.
(Side note: I have two changes with regards to 1.9.0 upstream. Both are related to the cStor disk pool and are likely irrelevant to this issue. What could be relevant is that this cluster used to be very unstable when OpenEBS was already installed, with multiple crashes in the cStor disk pool per day, and some nodes freezing and having to reboot.)
I created a new cStor replicated PVC, and since I am using volumeBindingMode: WaitForFirstConsumer in the storage class, the PVC remained Pending. I then created a Deployment which uses the PVC. The Pod, however, also remained Pending.
The pod:
$ kubectl get pods -A -o wide
NAMESPACE        NAME                                                              READY   STATUS    RESTARTS   AGE     IP                NODE       NOMINATED NODE   READINESS GATES
[...]
gitea            gitea-64fb46cd87-z9r7p                                            0/1     Pending   0          4m56s   <none>            <none>     <none>           <none>
$ kubectl describe pod -n gitea gitea-64fb46cd87-z9r7p
[...]
Volumes:
  data:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  gitea-data
    ReadOnly:   false
  default-token-hxcbf:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-hxcbf
    Optional:    false
[...]
  Warning  FailedScheduling  <unknown>  default-scheduler  Failed to bind volumes: timed out waiting for the condition

The PVC:
$ kubectl get pvc -n gitea -o wide
NAME         STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS       AGE   VOLUMEMODE
gitea-data   Pending                                      cstor-replicated   60m   Filesystem
$ kubectl describe pvc -n gitea gitea-data
[...]
Mounted By:    gitea-64fb46cd87-z9r7p
Events:
  Type    Reason                Age                   From                         Message
  ----    ------                ----                  ----                         -------
  Normal  WaitForFirstConsumer  17m (x182 over 62m)   persistentvolume-controller  waiting for first consumer to be created before binding
  Normal  ExternalProvisioning  2m24s (x53 over 15m)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "openebs.io/provisioner-iscsi" or manually created by system administrator

Expected Behavior
I expected the provisioner to create a PV for the PVC immediately as the Pod was created.
Current Behavior
The provisioner never created the PV. This was in its logs:
$  kubectl get pods -n openebs | grep provisioner
openebs-localpv-provisioner-848db54f69-98452                      1/1     Running       75         22d
openebs-provisioner-c4c58475c-ffqzh                               1/1     Running       21         22d
$ kubectl logs -n openebs openebs-provisioner-c4c58475c-ffqzh
I0503 00:06:01.693122       1 volume.go:73] OpenEBS volume provisioner namespace openebs
I0503 00:06:01.820637       1 leaderelection.go:187] attempting to acquire leader lease  openebs/openebs.io-provisioner-iscsi...
I0503 00:06:19.694075       1 leaderelection.go:196] successfully acquired lease openebs/openebs.io-provisioner-iscsi
I0503 00:06:19.705448       1 controller.go:636] Starting provisioner controller openebs.io/provisioner-iscsi_openebs-provisioner-c4c58475c-ffqzh_dfbffeb4-8cd1-11ea-9172-ce0fa70934e2!
I0503 00:06:19.705937       1 event.go:221] Event(v1.ObjectReference{Kind:"Endpoints", Namespace:"openebs", Name:"openebs.io-provisioner-iscsi", UID:"bf226647-74ee-48a5-a663-6bf293f03408", APIVersion:"v1", ResourceVersion:"56061831", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' openebs-provisioner-c4c58475c-ffqzh_dfbffeb4-8cd1-11ea-9172-ce0fa70934e2 became leader
I0503 00:06:19.906943       1 controller.go:685] Started provisioner controller openebs.io/provisioner-iscsi_openebs-provisioner-c4c58475c-ffqzh_dfbffeb4-8cd1-11ea-9172-ce0fa70934e2!
I0503 09:48:25.030780       1 leaderelection.go:231] failed to renew lease openebs/openebs.io-provisioner-iscsi: failed to tryAcquireOrRenew context deadline exceeded
F0503 09:48:25.030902       1 controller.go:711] leaderelection lost

To be clear, I have only a single openebs-provisioner running in the cluster, so it is weird that it would lose a leader election. I do also have an openebs-localpv-provisioner running.
A restart of the pod did fix the issue. These are the logs of the newly started pod:
$ kubectl logs -n openebs openebs-provisioner-c4c58475c-jl847
I0522 10:44:34.191819       1 volume.go:73] OpenEBS volume provisioner namespace openebs
I0522 10:44:34.231350       1 leaderelection.go:187] attempting to acquire leader lease  openebs/openebs.io-provisioner-iscsi...
I0522 10:44:51.895861       1 leaderelection.go:196] successfully acquired lease openebs/openebs.io-provisioner-iscsi
I0522 10:44:51.896319       1 controller.go:636] Starting provisioner controller openebs.io/provisioner-iscsi_openebs-provisioner-c4c58475c-jl847_399369d6-9c19-11ea-894d-2e6eda29ead2!
I0522 10:44:51.896990       1 event.go:221] Event(v1.ObjectReference{Kind:"Endpoints", Namespace:"openebs", Name:"openebs.io-provisioner-iscsi", UID:"bf226647-74ee-48a5-a663-6bf293f03408", APIVersion:"v1", ResourceVersion:"59281533", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' openebs-provisioner-c4c58475c-jl847_399369d6-9c19-11ea-894d-2e6eda29ead2 became leader
I0522 10:44:51.996743       1 controller.go:685] Started provisioner controller openebs.io/provisioner-iscsi_openebs-provisioner-c4c58475c-jl847_399369d6-9c19-11ea-894d-2e6eda29ead2!
I0522 10:44:51.998018       1 controller.go:991] provision "gitea/gitea-data" class "cstor-replicated": started
I0522 10:44:52.041723       1 event.go:221] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"gitea", Name:"gitea-data", UID:"318b2f41-40db-4ee7-8564-4c8677665bbf", APIVersion:"v1", ResourceVersion:"59279604", FieldPath:""}): type: 'Normal' reason: 'Provisioning' External provisioner is provisioning volume for claim "gitea/gitea-data"
E0522 10:44:52.460203       1 volume.go:171] HTTP Status error from maya-apiserver: Not Found
I0522 10:44:52.461273       1 volume.go:105] CAS Volume Spec Created:
{"metadata":{"name":"pvc-318b2f41-40db-4ee7-8564-4c8677665bbf","namespace":"gitea","creationTimestamp":null,"labels":{"openebs.io/namespace":"gitea","openebs.io/persistentvolumeclaim":"gitea-data","openebs.io/storageclass":"cstor-replicated"}},"spec":{"capacity":"10Gi","iqn":"","targetPortal":"","targetIP":"","targetPort":"","replicas":"","casType":"","fsType":"","lun":0},"cloneSpec":{},"status":{"Phase":"","Message":"","Reason":""}}
I0522 10:44:54.336280       1 volume.go:132] volume Successfully Created:
{"apiVersion":"v1alpha1","kind":"CASVolume","metadata":{"labels":{"openebs.io/cas-template-name":"cstor-volume-create-default-1.9.0","openebs.io/version":"1.9.0"},"name":"pvc-318b2f41-40db-4ee7-8564-4c8677665bbf"},"spec":{"accessMode":"","capacity":"10Gi","casType":"cstor","fsType":"","iqn":"iqn.2016-09.com.openebs.cstor:pvc-318b2f41-40db-4ee7-8564-4c8677665bbf","lun":0,"replicas":"3","targetIP":"<IP_ADDRESS>","targetPort":"3260","targetPortal":"<IP_ADDRESS>:3260"},"status":{"Message":"","Phase":"","Reason":""}}
I0522 10:44:56.295975       1 controller.go:1091] provision "gitea/gitea-data" class "cstor-replicated": volume "pvc-318b2f41-40db-4ee7-8564-4c8677665bbf" provisioned
I0522 10:44:56.296161       1 controller.go:1105] provision "gitea/gitea-data" class "cstor-replicated": trying to save persistentvvolume "pvc-318b2f41-40db-4ee7-8564-4c8677665bbf"
I0522 10:44:56.345121       1 controller.go:1112] provision "gitea/gitea-data" class "cstor-replicated": persistentvolume "pvc-318b2f41-40db-4ee7-8564-4c8677665bbf" saved
I0522 10:44:56.345316       1 controller.go:1153] provision "gitea/gitea-data" class "cstor-replicated": succeeded
I0522 10:44:56.345496       1 event.go:221] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"gitea", Name:"gitea-data", UID:"318b2f41-40db-4ee7-8564-4c8677665bbf", APIVersion:"v1", ResourceVersion:"59279604", FieldPath:""}): type: 'Normal' reason: 'ProvisioningSucceeded' Successfully provisioned volume pvc-318b2f41-40db-4ee7-8564-4c8677665bbf

Possible Solution
I don't know how the provisioner would lose an election against nobody else, but would expect that even if this happens, it should recover. If there are two provisioners, the leader could always randomly die, so the non-leader provisioner would have to be able to start a new election when the leader is gone. I wonder why that didn't happen in this case.
Steps to Reproduce
I'm not sure how to reproduce this. As you can see, the openebs-provisioner restarted 21 times on my cluster, so I think this could eventually happen if the provisioner restarted enough. Perhaps it could be reproduced by restarting the provisioner in a loop until it 'lost' an election. Or, perhaps it is a race condition triggered by the fact that this is running on arm64, which may have different timing characteristics than amd64 (it's most definitely slower).
Your Environment
$ kubectl get nodes
NAME       STATUS                     ROLES    AGE    VERSION
josje      Ready                      <none>   10d    v1.17.4+k3s1
kristel    Ready                      <none>   22d    v1.17.4+k3s1
karen      Ready,SchedulingDisabled   worker   201d   v1.17.4+k3s1
kathleen   Ready                      master   205d   v1.17.4+k3s1      <----- broken provisioner was running here (currently, my master also runs normal worker pods)
$ kubectl get sc cstor-replicated
NAME               PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
cstor-replicated   openebs.io/provisioner-iscsi   Delete          WaitForFirstConsumer   false                  20d

The node OS is k3os, an OS that runs only k3s, a lightweight version of Kubernetes.

I am running into the same issue. Let me know if you need any information or logs from my side.
@sgielen love the names of your nodes! :')


Block comment affects semantics of loop

In the following program, the output list is flat:
msq = [[4 9 2] [3 5 7] [8 1 6]]

console.log do
  for row in msq
    [v for v in row]
    /* */

prints [ 4, 9, 2, 3, 5, 7, 8, 1, 6 ].
Without the last line (/* */) it prints [ [ 4, 9, 2 ], [ 3, 5, 7 ], [ 8, 1, 6 ] ].

seems like it...
(since in this case, we have a JS)


Auto Dose tank sensors

Hi Albaintor,
I just upgraded to the latest release (v 1.0) and the Auto Dose tank sensors for my washing machine (PerfectCare 800 EW8F169ASA) are now missing. In the release from yesterday they were available as "Tank a reserve" and "Tank b reserve".

Is it on purpose?
If you need any more info, plesae let me know.

It should be fixed now

It is, Thanks a lot.


Update NVM to version 0.31.0

Version 0.31.0 adds support for "odd-versioned" stable releases
such as 5.7 and 5.9.

Hangs: https://staging.travis-ci.org/BanzaiMan/travis_staging_test/builds/492314
Succeeds: https://staging.travis-ci.org/BanzaiMan/travis_staging_test/builds/492316

We cannot use travis-build templating system, since the nvm.sh content is too large to be sent to echo.

As a side effect, we add Node.js support for OS X.

https://github.com/travis-ci/travis-ci/issues/2311

LGTM :+1: copying nvm.sh is how i update travis-cookbooks anyways

See https://github.com/travis-ci/travis-ci/issues/5845.


Configure SCC to create default attachment aligned with compliance claims for this stack

Coming in https://github.com/terraform-ibm-modules/stack-retrieval-augmented-generation/pull/180

PR merged. The current code now creates an SCC attachment by default, however its scoped to the full account and the schedule is also hard coded. Since Jordan is off for a few weeks, I created https://github.com/terraform-ibm-modules/stack-retrieval-augmented-generation/issues/188 to track adding these updates, and going to close this issue.


Update sbt to 1.9.3

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

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, version-scheme:early-semver, commit-count:1

Codecov Report
Patch coverage has no change and project coverage change: +0.30 :tada:

Comparison is base (70a25b5) 91.06% compared to head (70b8b7a) 91.36%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #119      +/-   ##
==========================================
+ Coverage   91.06%   91.36%   +0.30%
==========================================
  Files          10        9       -1
  Lines         347      336      -11
  Branches       14       14
==========================================
- Hits          316      307       -9
+ Misses         31       29       -2

see 1 file with indirect coverage changes

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

Superseded by #120.


Set the Ruby string encoding from the charset

Related: https://github.com/mikel/mail/issues/618#issuecomment-49389043
When getting the decoded string back for the body of a Message which is text (i.e. text? is true), the original encoding (which should be present in the charset) is lost, and it currently always forces to UTF-8. That seems bad, since if we know the "right" encoding (which we do, presuming the charset on the message is correct) if seems more desirable to use it.
The encoding stuff seems super hairy, so if I've totally misunderstood something, let me know :)
Only implemented for Ruby 1.9+, I'm not sure it's possible for < 1.9 since we do not know the current string encoding to pass to Iconv. Let me know if there is a way.

Good instincts, but for most email handling we want to work with a uniform encoding, regardless of incoming charset, much like Encoding.default_external behaves for files, databases, and other IO.
There's certainly room to make this more explicit: support something like a Message#default_external encoding that falls back to Mail.default_external_encoding and Encoding.default_external. If it's nil, preserve the internal charset encodings rather than converting to UTF-8.

Related: #558


Installation Failed

I got the following error message during the installation. My OS is Ubuntu 15
/usr/bin/ld: cannot find -lcrypto     collect2: error: ld returned 1 exit status     error: command 'c++' failed with exit status 1
    ----------------------------------------
  Rolling back uninstall of pybloomfiltermmap Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8hypHs/pybloomfiltermmap/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-8Cvawq-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-8hypHs/pybloomfiltermmap/

I get this same error building on linux mint (ubuntu) 32 bit.

Hi, I had this issue as well; I solved it with the below on Centos7.
# Centos7 3.10
sudo yum install gcc libffi-devel python-devel openssl-devel
pip install pybloomfiltermmap

I don't use Ubuntu but this might work for you,
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
pip install pybloomfiltermmap

@axiak nice library! You might want to add these requirements in the readme, it looks like there are two open issues involving the missing dev-packages you use in the bdist install.

I had this issue and this worked for me on RHEL.

Hi, I had this issue as well; I solved it with the below on Centos7.
# Centos7 3.10
sudo yum install gcc libffi-devel python-devel openssl-devel
pip install pybloomfiltermmap

@axiak nice library! You might want to add these requirements in the readme, it looks like there are two open issues involving the missing dev-packages you use in the bdist install.


YOGANODE

Cant run ur library. im getting this error
Cannot add child that doesnt have a YogaNode to a parent w/o a measure function......
im doing something like this:
			      <CardView
   			 		cardElevation={4}
    				cardMaxElevation={4}
    				cornerRadius={5}>
			        <Text>{this.state.tmpUser}</Text>
			      </CardView>
                                  <View>some view</View>

can u explain further.?

I have fixed this issue. Please use v2.0.0 or more. If still not working then feel free to open again.


MIDI Fix: Adding Multiple Virtual Ports

Possibly addressed one of the MIDI improvements listed in MIDI+VirtualPorts.swift -- having the ability to create more than one virtual port. This works with both the virtual inputs and virtual outputs.

Thanks!


--picture with package

Great tool! Testing it out I am struggling with specifying a image file for inclusion in a pkg. It works if creating the user directly without creating pkg, and the pkg works if I leave out the --picture
./mkuser.sh -n "testadmin" -f "testadmin" -u "407" -a --password-prompt --dont-create-home --picture "/tmp/logo.png" --package-version "1.0" --package-identifier no.example.testadmin --package-path
Error from installer-pkg:
ERROR 2: Invalid option "/private/tmp/no.example.testadmin+1641307482-551296118/mkuser.picture".
ERROR 2: Invalid duplicate "--stdin-password" option.
WARNING: User WILL NOT be created since INVALID OPTIONS OR PARAMETERS were specified, but still running checks to detect more possible errors.
ERROR 37: NOT creating Admin User "testadmin" since INVALID OPTIONS OR PARAMETERS were specified.
View "Show All Logs" output of the "Installer Log" (within the "Window" menu) for more details. Or, you can view "install.log" within the "Console" app.
Log:
Jan  4 16:58:49 MacBook-Pro Installer[10221]: Failed to load specified background image
Jan  4 16:58:49 MacBook-Pro Installer[10221]: Could not load resource readme: (null)
Jan  4 16:58:49 MacBook-Pro Installer[10221]: Could not load resource license: (null)

I'm so sorry for the issue!
I noticed this issue as well shortly after releasing the last update (an unfortunate small mistake leftover from when I changed long from options to needing double hyphens, which I allowed to work with with single hyphen earlier in development) and have a fix coming out later today along with some other small nice changes.

Awsome - that fixed it! Thanks

This bug has been fixed in version 2022.1.4-1 which can now be downloaded on the releases page: https://github.com/freegeek-pdx/mkuser/releases


Have a better poll() interface

Excerpt from Best practices for building Kubernetes Operators and stateful app point 5:

Use asynchronous sync loops
If an operator detects an error (e.g., failed pod creation) when reconciling the current cluster state to the desired state, it should immediately terminate the current sync call and return the error. The work queue should then schedule a resync at a later time; the sync call should not block the application by continuing to poll the cluster state until the error is resolved. Similarly, controllers that initiate and monitor long-running operations should not synchronously wait for the
operations. Instead, the controllers should go back to sleep and check again later.

That's something worth exposing better. Whether it's something we can hook into actix' actor system in a more native rust way, or whether we should have better queuing built in. Not sure. Leaving an issue here for now.

It'd be nice if poll/watch could return an async iterator or something in the near-ish future, so we could:
for await ev in informer.watch() {
    reconcile(ev)?;
}

This is a lot nicer in 0.6.0. Events can be handled at the rate necessary from the app:
https://github.com/clux/kube-rs/blob/6e658599a91e9f446da9cb063d966128bfd3b43a/examples/pod_informer.rs#L22-L28
Async iterators is still a way out so this is probably a good starting point.

Note that it might be possible to hook it into the actor system:
impl<T, U> Message for WatchEvent<T, U> {
    type Result = ();
}

impl<T, U> Actor for Informer<T, U> {
    type Context = Context<Self>;
}

impl Handler<Event<T, U>> for Informer<T, U> {
    type Result = ();
    fn handle(&mut self, e: WatchEvent<T, U>, ctx: &mut Context<Self>) -> Self::Result {
        match e {
            WatchEvent::Added(o) => {
                let name = o.metadata.name.clone();
                info!("Added Foo: {} ({})", name, o.spec.info);
                self.cache.write().unwrap()
                    .entry(name).or_insert_with(|| o.spec);
            },
            WatchEvent::Modified(o) => {
                let name = o.metadata.name.clone();
                info!("Modified Foo: {} ({})", name, o.spec.info);
                self.cache.write().unwrap()
                    .entry(name).and_modify(|e| *e = o.spec);
            },
            WatchEvent::Deleted(o) => {
                info!("Deleted Foo: {}", o.metadata.name);
                self.cache.write().unwrap()
                    .remove(&o.metadata.name);
            },
            WatchEvent::Error(e) => {
                warn!("Error event: {:?}", e); // ought to refresh here
            }
        }
        Ok(())
    }
}

but hard to see the full benefit atm. it's not this functional: message sent => typed response setup.
it needs to be hooked into the System, then maybe it'll let us have better error handling if an informer fails to recover?
But the message handler is really the event handler the user writes themselves, so exposing all that is probably not worth it.


Use cloud-hosted collections only

All supported GEDI collections are now cloud-hosted, which means we can pull granules via S3.
This PR includes the following:

updates the CMR queries to obtain the cloud-hosted collections only (#65)
adds vcrpy for unit testing CMR queries
adds a GitHub Actions workflow to automatically run unit tests and linting on PRs (#24)
removes a few more references to the returns library (#3)

I got a lint error, and 1 warning. Should we fix before accepting?
Linter caught in /tests/conftest.py:
             self._MAAP_HOST = "api.maap-project.org"
-            self._SEARCH_COLLECTION_URL = f"https://{self._MAAP_HOST}/api/cmr/collections"
+            self._SEARCH_COLLECTION_URL = (
+                f"https://{self._MAAP_HOST}/api/cmr/collections"
+            )
             self._CMR = CMR([], 20, {})
             self.aws = AWS(

Warnings
tests/test_gedi_utils.py::test_subset_hdf5[lat_lowestmode-lon_lowestmode-all-columns0-sensitivity < 0.9-0]
 /home/ochotona/code/devseed/maap/gedi-subsetter/tests/test_gedi_utils.py:222: FutureWarning: <class 'geopandas.array.GeometryArray'>._reduce will require a `keepdims` parameter in the future
   assert gdf.notna().all(axis=None)

I got a lint error, and 1 warning. Should we fix before accepting? Linter caught in /tests/conftest.py:
             self._MAAP_HOST = "api.maap-project.org"
-            self._SEARCH_COLLECTION_URL = f"https://{self._MAAP_HOST}/api/cmr/collections"
+            self._SEARCH_COLLECTION_URL = (
+                f"https://{self._MAAP_HOST}/api/cmr/collections"
+            )
             self._CMR = CMR([], 20, {})
             self.aws = AWS(

Warnings
tests/test_gedi_utils.py::test_subset_hdf5[lat_lowestmode-lon_lowestmode-all-columns0-sensitivity < 0.9-0]
 /home/ochotona/code/devseed/maap/gedi-subsetter/tests/test_gedi_utils.py:222: FutureWarning: <class 'geopandas.array.GeometryArray'>._reduce will require a `keepdims` parameter in the future
   assert gdf.notna().all(axis=None)

Ah, I missed that formatting error because that was a change I pushed from the ADE, where pre-commit didn't catch that. I'll fix it.

Actually, the build should have failed on that because pre-commit.ci should have been triggered, but it wasn't. Let me see if I can get pre-commit.ci to run as expected.

@wildintellect, I added a blurb on vcrpy and I got pre-commit.ci to trigger. It turned out that there's a setup step that is not clearly indicated on the pre-commit.com site. Essentially, each repo must give permission to pre-commit.ci, in addition to adding a ci block to .pre-commit-config.yaml.
Gah! Looks like pre-commit failed. At least it was triggered! Let me see what happened.

@wildintellect, I added a blurb on vcrpy and I got pre-commit.ci to trigger. It turned out that there's a setup step that is not clearly indicated on the pre-commit.com site. Essentially, each repo must give permission to pre-commit.ci, in addition to adding a ci block to .pre-commit-config.yaml.
Gah! Looks like pre-commit failed. At least it was triggered! Let me see what happened.

Oooh! I see what happened.  I have to tweak the pre-commit file. I had added a hook that ends up calling conda, which isn't installed on the pre-commit.ci server. Let me address that.

@wildintellect, I had to wrestle a bit with pre-commit stuff since your earlier approval. Mind having another look?


New API call to get a list of templates for a specific institution (funders)

Return a list of templates (funders) used to create DMPs for a specific institution. New API call for requirements_templates will return template name and created_at date for all public, institutional, and private plans at a specific institution_id.

Question on security here. My assumptions are as follows, please let me know if I am off base.

Unauthorized request:  Will return ONLY templates with public visibility
Authorized request (Institutional admin): Will return templates with public or institutional visibility (for the user's specific institution)
-Authorized request (DMP admin): Will return ALL templates

We should probably open up the authorized request at the institutional level to Requirements Editors, and Resource Editors which will return the templates for their institution.  Similar to what they would see when going to the DMP Templates page and/or Customizations page.

The goal is to provide admins with some info about all plans being created at their institutions. Currently they can't get any info about private plans which comprise the majority, so essentially they can't get any meaningful stats about DMPTool use. Anonymized info about private plans, especially template use, would be really useful to them.
For an authorized request, is there any way to return all templates regardless of visibility setting for a given institution?

thanks for clarifying the use case Stephanie.  that helps to shape what will be informative for the response.

Yes, thank you Stephanie.
I will set it up so that an institutional admin also sees private templates for their institution.

Super. That's what we want/need.

@stephaniesimms is the created_at date pertain to the plan or the template?  I assume the former.  Also, is this for plans in all states, new, revised, reviewed, submitted, done?

yes, created_at date pertains to the plan. and yes, for plans in all states.

If the date pertains to the plan then you could end up with multiple entries for a particular template:
[{"template": {"id": 1, "name": "A", "created": "02/02/2016"}},
{"template": {"id": 1, "name": "A", "created": "02/01/2016"}}]

If that is what we are after then the plans API may be the more appropriate path to getting this information. Its already returning the template that was used to create the plan and it provides the plan's created date.
{"plan": {"id":123, "name": "Test", "visibility": "unit", "created": "02/02/2016", "owner": {"full_name": "tester", "email": "tester"}, "template": {"name": "A", "active": true, "start_date": "01/31/2016", "review_type": "informal_review"}, "state": "new", "institution": "California Digital Library"}


[BR] Error: invalid source release: 17

I am using flutter latest version
Flutter 3.16.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision b0366e0a3f (7 days ago) • 2023-12-05 19:46:39 -0800 Engine • revision 54a7145303 Tools • Dart 3.2.3 • DevTools 2.28.4
`Launching lib/main.dart on ONEPLUS A6013 in debug mode...
Running Gradle task 'assembleDebug'...
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':flutter_face_api:compileDebugJavaWithJavac'.

error: invalid source release: 17

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 12s
Exception: Gradle task assembleDebug failed with exit code 1
`

I am also facing same issue, let me know if you fixed this

@Abdulah-butt Please update your Java build version.
I faced the same issue on javac 11.0.11 (JAVA_HOME_11_X64) while building on AppCenter.
* What went wrong:
Execution failed for task ':flutter_face_api:compileReleaseJavaWithJavac'.
> error: invalid source release: 17

I updated it to 17.0.10 (JAVA_HOME_17_X64) and the issue is gone. Feel free to check your Java version with the command javac -version

@Abdulah-butt Please update your Java build version. I faced the same issue on javac 11.0.11 (JAVA_HOME_11_X64) while building on AppCenter.
* What went wrong:
Execution failed for task ':flutter_face_api:compileReleaseJavaWithJavac'.
> error: invalid source release: 17

I updated it to 17.0.10 (JAVA_HOME_17_X64) and the issue is gone. Feel free to check your Java version with the command javac -version

i'm facing the issue, and no, it still there


About "python2 -m sounddevice" command

I type this command in my mac, and show it:
> 0 Built-in Microphone, Core Audio (2 in, 0 out)
< 1 Built-in Output, Core Audio (0 in, 2 out)

How could I name my microphone in /ears/config.py at line6 ?
Thx~

According to the docs either naming by substring (I think 'Built-in' might apply here, not sure about that) or using specific device IDs for input/output (0, 1) should work:
AUDIO_DEVICE = 0, 1

OK ~~ thank you.


Footer Update

Update site footer with OSPO-relevant links

This could use some detail as to what those links should be.   Currently, the footer contains the following links:
COMMUNITY
Data Science Institute
Data Science Hub
School of Computer, Data & Information Sciences
QUICK LINKS
Coding Meetup
Data Science Research Bazaar
Data Science @ UW Newsletter

Here's a link update:
COMMUNITY
Data Science Institute
Data Science Hub
UW-Madison Libraries
CURIOSS
NumFocus
QUICK LINKS
Join Our OSPO Google Group
Data Science Research Bazaar
Data Science @ UW Newsletter


Listen for SIGINT/KILL and quit.

 If it doesn't respond in 3
whacks, exit ibazel.

Travis appears to still be backlogged so I'm going to submit now that Jenkins approves.

This is racy, no? i.cmd is accessed in both goroutines?

I think there's a also a non-memory race but still a race even after adding some locks where the check in subprocessRunning can return false and then before the exit is called, a new process can be started up. That's one reason why justrun had to pick up the cmdReloader https://github.com/jmhodges/justrun/commit/97d05ac9e7cd40fedf1f2beaea3066af98ae1436


Add default values to generated record types

Purpose
This is to avoid getting an error when dispatching the message which has nil values.
Fixes #19245
Approach

Update the generated file.

Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #19926 into ballerina-1.0.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.0.x   #19926   +/-   ##
================================================
  Coverage            20.51%   20.51%
================================================
  Files                   52       52
  Lines                 1394     1394
  Branches               216      216
================================================
  Hits                   286      286
  Misses                1095     1095
  Partials                13       13

Continue to review full report at Codecov.

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