Best approach with asset bundles

I have a Unity component that has a SteamVR action as property. This script works fine in the normal situation. However I'm having problems when placing the object with this script in a scene that is loaded through an Unity asset bundle.
I have a basic scene with the SteamVR player prefab. In this scene I load another scene as 'additive'. This other scene is loaded through an asset bundle and has the object with my script.
The problem is that the actions get duplicated between the first scene with the player and the second one with the script because of Unity's dependency management for asset bundles. Ie. Unity sees the actions as a dependency of the second and includes a copy in the asset bundle. The actions in the first scene get initialized, but since script in the second scene actually refers to a duplicate of the action, that script doesn't work anymore because it doesn't refer to an initialized action.
I tried adding the actions to an asset bundle (that way the first scene and the second one should refer to the same actions), but then I have problems with instantiating the player prefab.
I also tried adding the player prefab to the asset bundle instead and then load a scene from that asset bundle with the player, but that also didn't work for me.
So I'm a bit lost on how to work with SteamVR actions in combination with asset bundles. Are there any guides on this?

Unfortunately this isn't an issue we've tested, you seem to be the first! As an immediate solution you could try loading the actions through code to get around unity recognizing them as dependencies. You can do this through a number of static functions in the SteamVR_Input class. GetAction to get by name, or GetActionFromPath to get by the full path.

Thanks for pointing me in the direction of GetActionFromPath. That will do as a work around for now.


Introduction to Web Scraping with JavaScript and Puppeteer

Introduction to Web Scraping with Javascript and Puppeteer
When developers need data for their web apps, they usually lookup for an API (Application Programming Interface), hoping that it will have the data they need for the app. This API is created by someone else and we expect it to have the exact data that we need. But this is not always the case. We may also need data from a certain website which unfortunately does not have an API. This is where web scraping comes in.
In this article, we are going to learn how we can get data from any website using vanilla JavaScript and Puppeteer. Puppeteer is a Node library that provides a high-level API to control Chrome or Chromium over the DevTools Protocol.
Prerequisites:

Basic knowledge of HTML and CSS.
Intermediate JavaScript knowledge.
Understanding of arrow functions in JavaScript.
Understanding of asynchronous JavaScript.

Key takeaways:

How to get data from any website.

References:
N/A
Templates to use as guides
N/A

@kimanikevin254
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Great topic 🚀 , make sure it matches the following:

Adds value beyond what is in the official docs and what is covered in other blog sites.
To avoid any potential article closure, it should not overlap with any existing EngEd articles or incoming topic suggestions.

We actively sell products that aim to prevent web scraping.
Some websites do not allow web scraping. Therefore, ensuring permissions should be front and center with this article, the topic is okay as long as you lead with the legal issues.
Please reference any relevant EngEd articles in yours and build a unique project - Approved. @NdoloBonface


remove direct use of HTMLCanvasElement

HTMLCanvasElement is interface of canvas element, it should not be used to create element.

Can you re-submit without the new minified builds?

Can you re-submit without the new minified builds? Happy to merge once that's complete.

Ok, I have re-push change.

Would love to see this merged and have a new release published to npm! This is currently a blocking issue for me.

Thanks, I can merge this shortly.

Reviewing this: It does change the behaviour.
In the current version, the HTML canvas always overrides the one created using createCanvas(). Basically it creates it if it can (ie, if HTMLCanvasElement exists).
In the PR, it will only do it if the createCanvas returns null.
Not saying its a bad implementation, but its different, so I am just following up with the author on intent.


Updated the account lock string for the Tuya extension to a constant

Proposed change

Updated the account lock string of the Tuya integration to a constant in order to improve maintainability.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Deprecation (breaking change to happen in the future)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[x] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] I have followed the perfect PR recommendations
[x] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
[ ] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

[ ] I have reviewed two other open pull requests in this repository.

Kishor Peneff Group 10
2: The icon being a string which is duplicated several times throughout the document adds extra workload in case the icon is to be changed in the future.
3: Changing the string to a constant eliminates the extra workload as value of the constant can easily be changed in order to change the icon for all the instances in the code.

looks good


Determine App Update System

There needs to be a way for the app to be updated over time as new functionality and bug fixes get added. Ideally this will be automatically updated, but at the very least you should be able to get a new installer (whether downloaded or given manually) and running it should update the app.
Task

[x] Research update possibilities
[x] Select an update method

When I was working on #14 it became a good option to use the Microsoft Store update system for natural upgrades. This was tested with the last two releases and updates work as expected so not only has an update system been selected, it is implemented and confirmed as working.


JS-Controller 3.2.x Error

Adapter Version 2.3.3
seit dem Controller Upgrade kommt folgendes bei einem Iobroker stop
`

sonoff.0
2021-01-16 20:36:12.942
error
(13924) Cannot read property 'setState' of null

sonoff.0
2021-01-16 20:36:12.942
error
at processTicksAndRejections (internal/process/task_queues.js:97:5)

sonoff.0
2021-01-16 20:36:12.942
error
at runMicrotasks ()

sonoff.0
2021-01-16 20:36:12.942
error
at Adapter.setForeignState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6307:35)

sonoff.0
2021-01-16 20:36:12.942
error
(13924) TypeError: Cannot read property 'setState' of null

sonoff.0
2021-01-16 20:36:12.933
error
(13924) unhandled promise rejection: Cannot read property 'setState' of null

sonoff.0
2021-01-16 20:36:12.933
error
(13924) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

`

This seems to be happening when the adapter ends, so is seems to be that setState calls happen after unload was called

This seems to be happening when the adapter ends, so is seems to be that setState calls happen after unload was called

fixed in 3.2.12 controller and with update here later

fixed in 3.2.12 controller and with update here later


Add Decimal128 to DataType::is_numeric and clean the numeric casting code

Which issue does this PR close?

Closes #2611.
Rationale for this change

We try to match the is_numeric function in the Datafusion (aka, adding Float16 and Decimal128). However, as Float16 is not supported by some upstream libraries (such as lexical_core::FromLexical), we can't add it now. (This is not a big deal because Float16 is a minor use case). Decimal128 could be added successfully.
What changes are included in this PR?

Are there any user-facing changes?

Unfortunately, I don't find a definition of which types are numeric in the Arrow format: https://github.com/apache/arrow/blob/master/format/Schema.fbs
We have a trait ArrowNumbericType in arrow-rs, but there is no doc to describe what is it and why we need it.
In datafusion, the definition of is_numeric is here: https://github.com/apache/arrow-datafusion/blob/master/datafusion/expr/src/binary_rule.rs#L392-L414. It covers the types in DataType::is_numeric and Float16 and Decimal128.
This PR is trying to build a consistent definition of DataType::is_numeric and is_numeric in the Datafusion, so that we could remove the is_numeric in Datafusion and users will not get confused when choosing between the two.

so that we could remove the is_numeric in Datafusion

In the context of DataFusion what is it used to determine?

The only use case currently is the numerical coercion (https://github.com/apache/arrow-datafusion/blob/master/datafusion/expr/src/binary_rule.rs#L570, and https://github.com/apache/arrow-datafusion/blob/master/datafusion/expr/src/binary_rule.rs#L187)

so that we could remove the is_numeric in Datafusion

In the context of DataFusion what is it used to determine?

Datafusion and arrow-rs are two different system, in the datafusion some cases or operations are not supported now, but that operations maybe supported in the arrow-rs.
We just can consider the arrow-rs, and make the consistent in the arrow-rs.
@HaoYang670 @tustvold

Datafusion and arrow-rs are two different system, in the datafusion some cases or operations are not supported now, but that operations maybe supported in the arrow-rs.

Thank you, @liukun4515. At least, I think we should rename the is_numeric in the Datafusion, so that developers would not misuse the two functions.

FWIW, I think this PR is correct and it would be nice to get in the next release. DataFusion should depend on these functions and remove it's own similarly-named functions. I'd be happy to do a follow-on issue for DF to clean that up.
In DF, these functions are only used for determining type to type coercion rules, but then it uses arrow-rs's cast functions to do the actual conversion .. shouldn't the coercion rules also be in arrow-rs which also manages the types, the type implementations, and the casting? There's a can_cast_types() which is either what we need already, or a similar function like can_cast_types_without_loss().

I think my major reservation with this as it stands is that at least currently the decimal support in arrow-rs is extremely limited, I think once we have all the operations for decimals as other "numerics" I would be more happy with this change. Otherwise I think it is confusing to label decimals as numeric types, when they aren't properly supported

What ever happed with this PR?

Converting to draft until we decide on next steps

Closed by https://github.com/apache/arrow-rs/pull/3121


A Bug

In Firefox the play button wouldn't highlight to let me play so I had to change the HTML. Once I did press it, the game looked like this:
http://postimg.org/image/vc2h7chnp/

Same

Update to the latest version.


Add option to use "Enter" key instead of "CMD+Enter" keys in super prompt

In previous versions, I found it convenient to only use the "Enter" key in the super prompt. I'm adding an option to allow users to use either the "Enter" key or "CMD+Enter" keys in the super prompt.

nicely done!

fyi this broke multiline prompt entry for me (bc i need "shift+enter" to not submit) so i switched the default https://github.com/smol-ai/menubar/commit/499b81b5917570eac57afca17bc819cd167c702a


[SPARK-11783][SQL] Fixes execution Hive client when using remote Hive metastore

When using remote Hive metastore, hive.metastore.uris is set to the metastore URI.  However, it overrides javax.jdo.option.ConnectionURL unexpectedly, thus the execution Hive client connects to the actual remote Hive metastore instead of the Derby metastore created in the temporary directory.  Cleaning this configuration for the execution Hive client fixes this issue.

Test build #46491 has started for PR 9895 at commit 560ca28.

Test build #46491 has finished for PR 9895 at commit 560ca28.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46491/
Test PASSed.

Test build #46601 has started for PR 9895 at commit 1d9b85a.

This has been broken for quite a while ever since we introduced the isolated Hive client in 1.4. My theory about the reason why people seldom noticed it is that:

Commands executed by the execution Hive client are mostly transient, they don't touch data stored in the real metastore. Thus logically it doesn't matter which Hive client execute them.
Even if the remote Hive metastore runs a version that is lower than Spark SQL's execution Hive client, it still works as long as the Thrift protocols used by involved commands are backwards compatible.
Although we've already upgraded to Hive 1.2.1, we haven't implemented many advanced features that only exist in new Hive versions yet, thus most commands taken by the execution Hive client are indeed backwards compatible with lower versions.

Unfortunately the only reliable way I found to verify this change is to inspect the internal HiveMetaStoreClient instance of the execution Hive client via remote debugging. Because we need a remote Hive metastore here. For example, we can start the Thrift server using:
$SPARK_HOME/sbin/start-thriftserver.sh\
  --driver-java-options "-agentlib:jdwp=transport=dt_socket,server=y,address=localhost:5005,suspend=y"

Then attach the debugger to the endpoint localhost:5005. (Remote debugging facilities in IntelliJ IDEA can be quite neat here.)
Also, please refer to the JIRA ticket for more information about how to reproduce this issue locally.

Test build #46601 has finished for PR 9895 at commit 1d9b85a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46601/
Test PASSed.

Merged build finished. Test PASSed.

I tested it with remote metastore setup. It indeed fixes the issue.

https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin does mention that If hive.metastore.uris is empty local mode is assumed, remote otherwise. Also https://github.com/apache/hive/blob/release-1.2.1/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L2694-L2699 shows that if metastore uri is set, the mode will not be local.

I am going to merge it to master and branch 1.6. I will modify the comment to point to hive's code and doc.

Merged. @liancheng You can find my updated comments in https://github.com/apache/spark/commit/c7f95df5c6d8eb2e6f11cf58b704fea34326a5f2.

@yhuai Cool, thanks for the update.

@liancheng  I use spark 1.6.3 and hive 1.2.1, but i still encounted the same error. Did it be resolved in spark 1.6.3? The below is my hive-site.xml

hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse

hive.metastore.uris
thrift://spark05:9083
Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.

hive.metastore.connect.retries
3
Number of retries while opening a connection to metastore

hive.metastore.failure.retries
3
Number of retries upon failure of Thrift metastore calls


Reverted to zero mean squared values init

Reverted to zero mean squared values initialisation state.m.
Since the gradients get divided by this moving average it might be sensible to be initialised with ones, since it avoids making big steps in the beginning.
However, this update resulted a substantial decrease in the performance of many of my projects, and I'm sure it's breaking more.

i'll patch in a configurable value, that by default is 0.

@iassael @andreaskoepf see https://github.com/torch/optim/commit/0154acd51b80f97f5f52752c0a4f5af68d48b03f

Faster than his shadow. Thank you.

@soumith configurable initial mean is very reasonable. But I think the main "problem" for slow adaption of the true mean is the default alpha of 0.99 - as discussed before I think 0.9 would be more reasonable as default but probably changing that would also break existing projects.
I have switched from rmsprop to Adam in most of my projects. @iassael do you have some models where rmsprop performs better than Adam?

@andreaskoepf in several Deep RL we have seen much better performance using RMSProp, but I'm sure with a problem dependent parameter search this could be averaged.


Use feegrant for paying fees. Remove fee burden on the validators.

Fee-grant enables one to use fees from other accounts. Here instead of using hot wallet for fees, let delegators pay fees for their transactions. If there are 100k delegators, fees for a validator would be very high. It's a benefit for delegators, and competely optional for them. So they can pay fees

I think validators that aren't willing to cover the transaction cost shouldn't offer restake.
Personally, from an end-user perspective, I'd be weary of any authz grant requesting the ability to charge fees to my wallet.
It would also run the risk of emptying someone's wallet, since their rewards are being restaked and not flowing back into their wallet.
From a validator perspective, enabling restake helps increase how much people deletgate to you, and it increases your commission over time, which I feel is a fair compensation for footing the transaction fee.

Disclaimer, I'm not in charge of this project, but I provide restake on my lum-network validator, and on other networks, I use it as an end-user.

I think validators that aren't willing to cover the transaction cost shouldn't offer restake.
Personally, from an end-user perspective, I'd be weary of any authz grant requesting the ability to charge fees to my wallet. It would also run the risk of emptying someone's wallet, since their rewards are being restaked and not flowing back into their wallet.
From a validator perspective, enabling restake helps increase how much people deletgate to you, and it increases your commission over time, which I feel is a fair compensation for footing the transaction fee.

Disclaimer, I'm not in charge of this project, but I provide restake on my lum-network validator, and on other networks, I use it as an end-user.

Sounds fair. How about giving it as an option. Either validator can chose to payfee or use feegrant. Delegators can limit the fees that an account can use. So no risk of emptying the account for fees

Totally agree with both of you tbh. The awesome thing about restake is it provides validators a new service they can offer, and the more we can make that customisable/flexible the better. Larger validators might not want to shoulder the cost of fees since they don't need to attract the delegations, but giving delegators the option to still have autocompounding if they pay fees is a nice alternative.
Another option for delegator is to run restake themselves, which can be made a lot easier than it is currently. But I like the validators providing this service, it's easy for us.
Anyway, definitely keeping this open to investigate and add feegrant for sure, but I have a few other things to sort first

To add this an an option you'd need to guarantee to each delegator that the reward of continuously re-staking at potentially volatile APRs is more than the increase in possibly mutable fees incurred due to the frequency of re-staking.
As this would likely be unprofitable for wallets under a certain threshold on most blockchains, the validator would need to make a re-staking plan on a per address basis to ensure this is profitable for that delegate's wallet size. This plan should be clearly reported to the delegator so they fully understand the terms of their re-stake strategy.
It's also important to consider that the Authz grant expires after 1 year, so the delegate may be issuing the initial grant for something that doesn't happen within that timeframe.
@tombeynon

It definitely raises a number of implementation questions. The recent batch autostake transactions have improved fees quite a bit too. I wonder if introducing something like this would be more confusing than it's worth, but will keep this open for any further comments on costs for validators. The larger validators might be suffering this more than others.

Given the challenges involved ensuring a feegrant was worthwhile for the user, and the improvements in gas costs for the validators in #293, #483 and #487, I think this is resolved enough to close this issue.


⚠ Bofrost.lu has degraded performance

In 91ef7a6, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2312 ms

Resolved: Bofrost.lu performance has improved in 5c0b3fe after 10 minutes.


Wrong file exported from index in shared folder

OS : Mac OS El Capitan

v1.0.0-beta.10

Repro steps.

Go inside shared folder
Run ng g pipe helloWorld
File created will be hello-world.pipe.ts but the file exported from index.ts will be helloWorld.pipe

Duplicate of #1434

sorry. closing this.


Support for other countries?

Hi, I've been looking for something like this forever but I live in Texas in the US. Would you be able to pull global data from pollen.com?

Realizing pollen.com might be for US only. For example you could scrape each page by zipcode:
https://www.pollen.com/forecast/current/pollen/78701

This custom integration gets its data from the Hungarian National Public Health Office in its proprietary format; it has no API, thus a HTML page had to be scraped. Due to this proprietary solution there are no plans extending it.
Having a quick look on pollen.com, https://www.pollen.com/forecast/current/pollen/ doesn't use static page elements, therefore the scrape might not work (the pollen data is generated by some Javascript scripts).


Stop exposing tensorboard console script in standard Tensorflow package?

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
No
Source
binary
Tensorflow Version
2.11.0
Custom Code
No
OS Platform and Distribution
OpenSUSE Leap 15.3
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
The *tensorflow_cpu* Python package exposes the `tensorboard` command, leading to a duplicate declaration of the corresponding entry point. For environments where such duplicate commands are considered bad behavior, an exception has to be added.

There is some documentation on this inside the corresponding code: https://github.com/tensorflow/tensorflow/blob/3b43530ab8d9513f78368652e22558b4a1286ee4/tensorflow/tools/pip_package/setup.py#L183-L188 Doing a `git blame`, this seems to have been introduced in https://github.com/tensorflow/tensorflow/commit/05c491d30888088873fedfbe81bca378c8c3fc87, which does not seem to provide any additional details on it as well.

For me this sounds like an issue which should rather be fixed within *pip* instead of working around this in *tensorflow* for multiple years. Having a quick look at the issue tracker there, I could not find an issue which describes such a behavior. Has anything been done to possibly fix this/get this fixed for *pip*?

Standalone code to reproduce the issue
`grep -r "tensorboard.main:run_main" .`, where `.` is the directory of the virtual environment the TensorFlow and TensorBoard packages have been installed inside. This will produce a result inside `entry_points.txt` for `tensorboard` and `tensorflow_cpu`.

Relevant log output
No response

@stefan6419846 !
Thanks for sharing your observation on duplicacy w.rto tensorboard and tensorflow-cpu.
As per this comments  , It is already excluding the installation of tensorboard script in nightly version.
Not sure on coming with a fix to avoid of duplication of commands in setup.py for now.
@SuryanarayanaY !
Could you look this issue.
Thank you!

This is preventing TensorFlow from being installed with installer:
# python -m installer tensorboard-2.12.1-py3-none-any.whl
# python -m installer tensorflow-2.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/opt/venv/lib/python3.8/site-packages/installer/__main__.py", line 98, in <module>
    _main(sys.argv[1:], "python -m installer")
  File "/opt/venv/lib/python3.8/site-packages/installer/__main__.py", line 94, in _main
    installer.install(source, destination, {})
  File "/opt/venv/lib/python3.8/site-packages/installer/_core.py", line 87, in install
    record = destination.write_script(
  File "/opt/venv/lib/python3.8/site-packages/installer/destinations.py", line 230, in write_script
    entry = self.write_to_fs(
  File "/opt/venv/lib/python3.8/site-packages/installer/destinations.py", line 167, in write_to_fs
    raise FileExistsError(message)
FileExistsError: File already exists: /opt/venv/bin/tensorboard

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

This seems to still be an issue: https://github.com/tensorflow/tensorflow/blob/36a0ea85c4953cf157b27f647a9423a2cc235a8c/tensorflow/tools/pip_package/setup.py#L177-L182 and https://github.com/tensorflow/tensorboard/blob/947a790ba42905af45fff4759fff4129c616160d/tensorboard/pip_package/setup.py#L34-L36


lglaf doesn't work anymore on LG K10 2017 (M250N) since the last Oreo update.

I'm afraid that LG did something with the last Oreo update to prevent us from using lglaf:
$ python extract-partitions.py --debug
2018-09-14 10:46:24,417 LGLAF.py: DEBUG: Using endpoints 83 (IN), 02 (OUT)
Traceback (most recent call last):
  File "extract-partitions.py", line 70, in <module>
    main()
  File "extract-partitions.py", line 65, in main
    with partitions.laf_open_disk(comm) as disk_fd:
  File "/usr/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/home/user/Downloads/lglaf/partitions.py", line 59, in laf_open_disk
    open_header = comm.call(open_cmd)[0]
  File "/home/user/Downloads/lglaf/lglaf.py", line 254, in call
    raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)

I made sure to enable OEM unlocking in Developer Options. Dialing *#*#759#*#* does not give me a OEM unlock menu anymore (as it did before).

extract-partitions.py doesn't have KILO (CENT / METR) challenge response authentication. All new versions of lafd require KILO to talk at all. You can use partitions.py --list to get a list, and --dump to dump the ones that you want.
-- Brian

Brian, thanks for responding; sadly, both commands (partitions.py --list and  partitions.py --dump) result in the same error.

You need to pass the --cr parameter so: ./partitions.py --cr --list or ./partitions.py --cr --dump
-- Brian

Hi Brian, thank you;
I got a little bit further with this issue by doing a clean Linux install and then issuing the following in this order:

sudo pip3 install pycrypto pyusb
sudo pip3 install cryptography

Now, when running python lglaf.py I get the following:
$ python lglaf.py
LGLAF.py by Peter Wu (https://lekensteyn.nl/lglaf)
Type a shell command to execute or "exit" to leave.
# ls
Hello, I am LAF. Nice to meet you.#

Apparently, LG disabled a lot of commands, as this seems to be the response when a command is not supported.
When running lglaf with the --rawshell argument, the dmesg command does seem to get through:
# dmesg
(...)
<4>[  889.136818 / 09-18 14:43:57.770][4] -(4)[0:swapper/4]Power/swap DP: No enter --- SODI3: No enter --- SODI: No enter ---
<12>[  891.313029 / 09-18 14:43:59.940][4]  (4)[278:lafd][LAF] dmesg!!

Everything else I tried did not seem to be supported.
On the partitions.py command, I tried issuing this with the --cr switch, but this one is not supported by Lekensteyn's lglaf; I cloned steadfasterX's lglaf which does allow for a --cr switch. This only resulted in errors:
$ python partitions.py --cr yes --list
Traceback (most recent call last):
  File "partitions.py", line 378, in <module>
    main()
  File "partitions.py", line 341, in main
    list_partitions(comm, disk_fd, args.partition, False)
  File "partitions.py", line 127, in list_partitions
    diskinfo = get_partitions(comm, fd_num)
  File "partitions.py", line 41, in get_partitions
    data = laf_read(comm, fd_num, read_offset // BLOCK_SIZE, chunksize)
  File "partitions.py", line 76, in laf_read
    header, response = comm.call(read_cmd)
  File "/home/user/Downloads/lglaf-auth/lglaf.py", line 269, in call
    raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x80000119 (LAF_ERROR_<unknown>)
$ python partitions.py --cr no --list
Traceback (most recent call last):
  File "partitions.py", line 378, in <module>
    main()
  File "partitions.py", line 336, in main
    with laf_open_disk(comm) as disk_fd:
  File "/usr/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "partitions.py", line 63, in laf_open_disk
    open_header = comm.call(open_cmd)[0]
  File "/home/user/Downloads/lglaf-auth/lglaf.py", line 269, in call
    raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
$ python partitions.py --cr yes --dump recovery recovery.img
Traceback (most recent call last):
  File "partitions.py", line 378, in <module>
    main()
  File "partitions.py", line 344, in main
    diskinfo = get_partitions(comm, disk_fd)
  File "partitions.py", line 41, in get_partitions
    data = laf_read(comm, fd_num, read_offset // BLOCK_SIZE, chunksize)
  File "partitions.py", line 76, in laf_read
    header, response = comm.call(read_cmd)
  File "/home/user/Downloads/lglaf-auth/lglaf.py", line 269, in call
    raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x80000119 (LAF_ERROR_<unknown>)

anyone able to provide the same command but with the "--debug" switch?

anyone able to provide the same command but with the "--debug" switch?

@steadfasterX For what it's worth, I'm getting same error 0x80000119 trying to dump any partition on LG V40. Using steadfasterX fork, branch develop. Ran with --debug, attaching log.
steadfasterX branch develop.dump laf_a on LG V40.error 0x80000119.log

anyone able to provide the same command but with the "--debug" switch?

@steadfasterX For what it's worth, I'm getting the same error 0x80000119 trying to dump any partition on LG V40. Using steadfasterX fork, branch develop. Ran with --debug, attaching log.
steadfasterX branch develop.dump laf_a on LG V40.error 0x80000119.log
"partitions.py --list" works for me, lists partitions on LUNs up to sdf.

you can try my "ufs-test" branch (assuming that the v40 is an UFS device) but not guarantees. The problem is that in the middle of implementing the new UFS methods we both (@runningnak3d and I) stopped development. That means even though it might work for parts of the device the open commands are hard coded and so you can work only with one of the UFS disks at the same time. my mentioned UFS branch contains all known open cmds though and the only thing to do would be implementing a logic to use all of them automatically (for listing) and ofc a more intelligent logic when it comes to more like backing up etc (i.e. use only the required open cmd etc).
My main issue was (and still is) that I do not own a LG UFS device and I am not willing to buy one. I don't know what happened to @runningnak3d but he might be your best chance (if he ever comes back here).

@steadfasterX Danke schön, mann - yeah, I see the hardcoded open commands in laf_open_disk() in ufs-test branch, and I can backport other commits (laf_crypto, challenge-response, etc.) from develop branch to ufs-test branch. I see the Wireshark protocol dissector, enough for me to work on ... when I have time :-/

Just to note that this instructions worked for me on my LG M257 Harmony (Cricket). So the fork, installing extra dependencies, and then running python partitions.py --cr yes --list and python partitions.py --cr yes --dump out.bin userdata. Without fork I was able to dmesg and ls with python lglaf.py --cr --debug --skip-hello --rawshell, but not much more.


chore: reinstate the ic-ref-run test

which has been deactivated in #3935 due to missing ic0.is_controller interface. (It was missing because we couldn't import the ic-hs changes.)
The change in the test case is due to https://github.com/dfinity/ic-hs/pull/179.

@Mergifyio refresh


[ENH] FE talks to logservice

Description of changes
https://linear.app/trychroma/issue/CHR-242/fe-talks-to-log-service

FE talks to logservice

Test plan
How are these changes tested?

[ ] test_logservice

Current dependencies on/for this PR:

#1793  👈
main

This stack of pull requests is managed by Graphite.

This is fine. I would check if we can use test_producer_consumer.py, would be nice to get that if it makes sense. Also can we turn this test on in CI in the workflow?

yes, let me add that to git workflow


SAK-33898 - Support SHA265 LTI Launches

This has a test plan - it should go into 12-x and 12.1 once tested and approved but is a new feature not a blocker so should not be in 12.0.

Thans @ottenhoff

Commit message should have been SHA256 :(


Add docs explaining how to recover deployments after rebooting the VM

@ryanholder, @dpb587 - Could you give this guide a review please

Looks fine to me


Saving filter params, loading filter params on render?

Hi,
What would be the best way to apply custom filter parameters immediately on the first render of a table?
For example, I'd like to save user selected filtering parameters in sessionStorage, so when a user returns to the table, the saved filter parameters (and possibly the page number) are loaded and applied again, otherwise the filter parameters are reset back to default.
Is there a way I could capture the filter parameters, and re-reapply them?
Andy

Right now, you can designate the filters you want applied to any column with the filterList column option. You can do this dynamically if you want, and should reset, reapply those filters, or when your component first mounts or something.

Thanks @gabrielliwerant  - that will work, using columns.filterList and options.onFilterChange should do what I need.

I am doing the exact same thing but it does not seem to work for me. @andygock were you able to work it out.
I store the filterList in the session storage in onFilterChange. Then the user can navigate to some other page and come back to the page with the table. I defined the columns in a separate JS file (I have a lot of columns),
Here is my code snippet
`
const [columns, setColumns] = useState(null);
const [data, setData] = useState(null);
.....
      useEffect(()=>{
     // data is being read by a remote server

         let table_columns = get_table_cols() // imported from another file (Array of objects)
         let sessionFilterList = get_filters_from_session()
         let columnDisplay = get_column_display_flag_from_session()
         for (let i = 0; i < table_columns.length; i++) {
            table_columns[i]['options']['display'] = columnDisplay[i]
            table_columns[i]['options']['display'] = columnDisplay[i]
          }
        setColumns(table_columns)
        setData(data)
      },[])

`


Should not have more than one tag per person

Each person should only have 1 tag each: SECURED or POTENTIAL

Can limit Set elements to 1 OR change Set to Object

Conclusion
Feature Flaw
Solution
Inform in UG that we only allow one Tag


Support for 256 head dim

Really love this repo, I've been using it to finetune CodeGen models with >2k context windows.
It's way faster than hugging face (3x) and slightly faster than Megatron for the 350M and 2.7b parameter CodeGen models but doesn't work for the 6.1B and 16B parameter models as they have a head dimension of 256.

I would imagine CodeGen finetuning will be a solid use-case for flash attention since coding models can really benefit from long context windows. And CodeGen is basically SOTA for coding (competitive with Codex).
Is this something that is even possible with flash attention?

Thanks for the kind words! I agree that code generation is a great use case!
We haven't been able to get speedup on headdim=256. In order to reduce memory reads/writes, we load some block of Q, K, V from GPU memory to SRAM, and SRAM size is the main constraint (e.g. 163 KB per streaming multiprocessor on A100). As head dimension gets large, we can't fit the block into SRAM without making the block size very small, and thus making the whole computation slower.
For now we support head dimension up to 128.

Ahh, yeah I see. Looks like I'll have to find another pretrained code model to use for long sequences 😔
Again this code has been fantastic. My mind was blown when I saw how high I could set batch sizes without running out of memory.

(e.g. 163 KB per streaming multiprocessor on A100)
Hi, is SRAM on A100 163KB or 192KB. I notice the latter in paper

The total SRAM per multiprocessor is 192KB, but only 163KB is usable for the programmer (the remaining is L1 cache I believe).

Thanks for reply~

Thanks for your reply~
So can we assume that M in the paper is 163 * 1024 = 166912, and B_c = M/4/d (assume d=64) = 652 while B_r = 64?
I'm kind of confused cause the B_c and B_r are both fixed 128 in the triton version, and I have not figured out where the Cuda version config them. Is it alright only if the SRAM can hold it no matter how we set B_c/B_r?

In practice the block sizes are set to optimize for speed and ease of implementation. For example, the Triton version set block sizes to (128, 128) because that's what the Triton compiler support (other shapes will lead to wrong results or compiler error). As another example, block sizes are always powers of 2, otherwise it's much harder to implement.
The CUDA version sets B_c = 128 or 256, and B_r = 16.
For example, the dispatch here corresponds to B_c = 256 and B_r = 16.

I have not implemented anything for headdim > 128 (it takes effort to implement the low-level shared memory loading/writing for different head dimensions, for best efficiency).
If you have info on this that would be very helpful.

Thanks! I don't have any info on this as well. I assumed that it's not supported because you have tried it and the result is mixed. We will explore it when we get a chance.

As of v2 we support all head dimensions up to 256. Head dim > 192 backward requires A100/A800 or H100/H800.


Linked List Palindrome Check.cpp

Check if the linked list is palindrome or not if yes return true if not return false. Linked list has to be taken as an input from the user.
ISSUE: #1340

@tarun26091999 @plazzy99 @rudrakshi99 Please review

main function is not present


Node versioning...

When we update an existing node (say change the SQL of a transform that's connected up and down the dag) we should be conscious about how we handle that:

do we update in place ?
or do we just make the nodes immutable and help creating a new node from the original one?
do we make +1 version (and the node name stays the same) ?

Re #1 There are some node properties that we surely can allow to be updated in place.
Re #2 It should also be easy to make copies of nodes and create new ones under new names.
So the issue comes down to #3. We can offer a version strategy in which we would support various aspects of node management with version build. Let's think of it as a managed view layer:

If we support ONLY one active version, it would be obvious which one should be used by consumers.
We could help the node author to fill in all the gaps (columns inference + data backfills) so the DAG is valid, before they flip the active version.
Optionally we could support the API overrides, such that the consumers would have an escape hatch if the current active version of a node is not working for them.

Thanks for opening this @agorajek, a lot of great points for us to think through. A working system I've seen for similar user-defined config objects usually includes four components. This may not be the best system but I figured it's good to lay this out here since it shares a good amount with how DJ is already designed now.

ref - an alpha-numeric name that's used by users and other objects in the system to refer to this object. This is defined by the user at creation time and can never be changed. (equivalent to a node name in DJ)
display_name - A very easily update-able display name that has no impact to functionality. A ref of "cars.sales.revenue" might have a display_name of "Revenue from Sales (Cars)" (doesn't currently exist in DJ)
uuid - an automatically generated uuid that represents the object in a specific state. Users have no reason to be aware of it and any update to the object generates a new uuid for the unchanging ref.
version - This increments whenever the object is updated and is always paired with a new definition entry with a new uuid but the same ref

To your point #1 in the first list, I think we can break that down into two lists. One list includes properties that we want to update in place without producing a new version--basically anything that has no impact to functionality and allowing rollback is not super important. Display name and description are two examples. The second list includes properties that we want to allow updating in place but definitely want that to produce a new version. The most obvious one being the query. With some clever data modeling we can enable these varying levels of flexibility.

Yes, a cool little list @samredai . Agree with your observations. I am not strict about it but I think for more approachable system I propose we use the terms in parents:

ref (or name)
display_name (or description)
uuid (or id)
version (no change)

Two questions:

Do you think a new uuid always goes with a new version or not? I am not sure how to think about these two. Perhaps if a version would be enough to represent a node in a specific state?
Is the internal system ID yet another reference or is it what you mean by uuid above?

When a new version is created (making any update to the node), we will only append a new node definition without deleting the old one so that we can support rolling back. I was thinking of the uuid as a composite key for name+version and rolling back would just be pinning the "current" pointer to a specific uuid. I guess we could also just always include lookup nodes using two fields instead of one but does that then mean the uuid is useless and we should drop that field? Not sure what the best practice is here.

Yeah by uuid I meant the internal system ID (something we could show to the user somewhere off to the side but they'd never really have to remember it or use it)

This is an interesting problem! I spent some time sketching out a solution based on the comments above. @agorajek and @samredai let me know what you think.
We'll have two tables: node and node_history
The node table would have information used to uniquely identify the node. These are things that we won't allow users to change from revision to revision. It will also contain a reference to the current version.

id: uuid, primary key
name: str
type: node type
current_version: int
created_at: timestamp

The node_history table will contain all the fields that users can change. This is essentially an audit log.

node_id: references id in the node table
version: int
updated_at: timestamp
query: str
description: str
mode: PUBLISHED | DRAFT
PRIMARY KEY (node_id, version)

Rolling back to an older node version would just mean updating node.current_version to reference a different version of the same node_id in the node_history table. And ideally we would keep track of the user who made the change in the history table as well (i.e., add modified_by column), but I skipped that for now as the current system doesn't track users.

@shangyian I really like that design! The other nice thing about your proposal is that the logic for creating a new node and updating an existing node becomes a lot more similar. They both just add an entry to the node_history table, the difference then being that updating will update a current_version attribute of an existing entry in the node table and creating will add a new entry to the node table with current_version=1.

This is great @shangyian . I am wondering if we ever want to allow users to update the node type, but I think that just as the name change this action would likely define a new node. Thoughts?

I've started to implement this, but there's a lot more going on here to flesh out. Perhaps worth chatting about in the sync... I've renamed node_history to noderevision, as the latter maps closer to the fact that it's a series of versions of nodes.
We'll have to add some items to what I outlined above, as beyond just query, we'll also want to track changes to tables. We also need to store the derived fields like parents, children, missing_parents, and columns for each NodeRevision, since those will change depending on the parsed query AST.
Scenarios
Let's go through two scenarios:
Source Node + Modifying Tables

A user creates a new source node with tables A and B. We'll create a Node and a NodeRevision, with NodeRevision.node_id=Node.id and version=1.
The user modifies the source node by removing table B. We create a new NodeRevision (version=2) without the table reference to B and point the current_version on Node to 2.
The older version=1 NodeRevision continues to reference table A.

Transform Node + Modifying Query

A user creates a new transform node Y with a query that references source node X. We'll create a Node and a NodeRevision, with NodeRevision.node_id=Node.id and version=1.
This now causes an issue: do we create a new NodeRevision for source node X, given that its children have now changed? I suspect we don't.
Now suppose the user modifies the query on this transform node and we now reference source node Z. Modifying the query will trigger a new NodeRevision for transform Y. That new revision will have parents referencing source node Z. But should we now (a) remove the child for source node X's current revision or (b) create a new revision for X that has no children?


ARROW-16340: [Python] Move all Python related code into PyArrow

13311

 Quality gate: Failed
228 Issues

 4 Vulnerabilities
 224 Code issues

Details

 Quality gate: Failed
135 Issues

 1 Vulnerabilities
 132 Code issues
 2 Anti-patterns

Details


jq 1.6

The jq version is currently jq-1.5-1-a5b5cbe.
It would be great to update this to jq 1.6, which has support for the JQ_COLORS env var.

jq is now at 1.6. Thanks!

If you want it to match the az jsonc output:
export JQ_COLORS="0;34:0;34:0;34:0;34:0;33:1;37:1;37"`

Here is my jq_colors.json for reference:
{
  "description": "7 colon delimited sections, each with two semicolon delimited fields.",
  "sections": {
    "one": null,
    "two": false,
    "three": true,
    "four": 1,
    "five": "string",
    "six": [
      "array"
    ],
    "seven": {
      "object": "object"
    }
  },
  "fields": [
    {
      "bright": 1,
      "dim": 2,
      "underscore": 4,
      "blink": 5,
      "reverse": 7,
      "hidden": 8
    },
    {
      "black": 30,
      "red": 31,
      "green": 32,
      "yellow": 33,
      "blue": 34,
      "magenta": 35,
      "cyan": 36,
      "white": 37
    }
  ],
  "command": "export JQ_COLORS=jq_colors_string",
  "default": "1;30:0;37:0;37:0;37:0;32:1;37:1;37",
  "cloudshell": "0;34:0;34:0;34:0;34:0;33:1;37:1;37",
  "enhanced": "2;34:1;31:1;32:0;36:0;33:1;37:1;37"
}

If you save that as a file, then jq . jq_colors.json will show the various colours in use. Then add export JQ_COLORS=<jq_colors_str> to your .bashrc.


Revert "Fix changed modules detection in PRs and run only necessary"

This reverts commit 90938352c7c61bd25a5c9ad41b190d476a6c9405.
Now that I understand the problem, only Quarkus QE Test Suite was affected as this PR workflow does not output changes. I'm very sorry.

So we need to reference steps.files.outputs.all_changed_and_modified_files because we have the following definition above the Test in Native mode step?
      - id: files
        uses<EMAIL_ADDRESS>        continue-on-error: true

yeah, exactly, yesterday I misunderstood example in the docs, now I understand it I know Beefy scenarios were never affected https://github.com/quarkus-qe/quarkus-test-suite/pull/972


work directory?

I've found that vagga adds a work directory that bind to the project directory on the host machine. I has two questions related to it:

since it's not a directory of the filesystem itself but instead is being added by vagga, why it's not hidden like docker .dockerinit file (and the same happens with the run directory)? Also it could have some vagga-something name so it's easier to identify (both that are vagga related files and also that we are running on a vagga or a LXC environment...)
when exec vagga run I get thrown directly to that directory instead of the root filesystem, that's the default $HOME environment variable for linux kernel and also what Docker does. I understand that it could make sense for the use case where you want to exec your current project folder inside a LXC container, but what about when you have everything ready on tarballs? How are you able to have $HOME set to / (and if possible, no /work directory mounted)?

since it's not a directory of the filesystem itself but instead is being added by vagga, why it's not hidden like docker .dockerinit file (and the same happens with the run directory)? Also it could have some vagga-something name so it's easier to identify (both that are vagga related files and also that we are running on a vagga or a LXC environment...)

Because you want to use it everywhere in paths, settings, cd /work and so on. The /.work would look ugly. It's not /vagga-work because I hate /vagrant directory, it would be much nicer if both vagrant and vagga use same mount point for project directory.

(and the same happens with the run directory)

Well /run is very used directory in every linux distribution known to me (it's also there /dev/shm points in some distributions to make shared memory work). It's there to create less problems, just like /tmp, /proc and similar. You can change parameters of /run mountpoint by adding it to volumes. But I'm not sure you can cancel it. Probably volumes: { /run: null } should be
used for that (but I'm almost sure it doesn't work at the moment).

How are you able to have $HOME set to / (and if possible, no /work directory mounted)?

Home is set just like any environment variable:

http://vagga.readthedocs.org/en/latest/container_params.html#opt-environ
http://vagga.readthedocs.org/en/latest/commands.html#opt-environ

Note: some programs read /etc/passwd instead of HOME (Java, all setuid programs ...). You can write anything to /etc/passwd too.

when exec vagga run I get thrown directly to that directory instead of the root filesystem

Because it's the most useful thing to do, for development environments. There is http://vagga.readthedocs.org/en/latest/commands.html#opt-work-dir and work-dir: / works well.

(and if possible, no /work directory mounted)?

The /work is just sane default. Convention over configuration. I don't have a clear use case to have no /work mounted. Usually even if it is not used it's not harmful.
We could add /work as a special volume type (just like !VaggaBin) and allow to disable it as described above.
If you can suggest improvements to documentation, please do a pull request:)

I don't think there is anything actionable here left.


Check if we can filter incoming messages

Currently we are listening to all messages that are published on the respective SNS Topics.
That leads to quite a high amount of messages in SQS, even though message retention is only 90 mins.
We should check whether we can filter our subscription to only let trough relevant messages.
See: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html

Done, we now have a filter on the SNS Topic Subscription.


IPv6 outbound NAT rules do not work

Hi, the new IPv6 support for Outbound NAT seems to not function at all
IPv4 Rule:
nat on $Work_VPN  from $NAT_Source to any -> <IP_ADDRESS>/32 port 1024:65535
IPv6 Rule:
nat on $Work_VPN  from $NAT_Source6 to any -> <IP_ADDRESS>/32 port 1024:65535
Even if the Source address is manually specified:
nat on $Work_VPN  from 2001:470:1f07:5ba::/64 to any -> <IP_ADDRESS>/32 port 1024:65535
Only if i manually specify the NAT address does the rule work, but still not get generated properly (missing the inet6):
nat on $Work_VPN  from $NAT_Source6 to any -> 2607:fcd0:a:b::100d/128 port 1024:65535
The NAT Address is specified as Interface Address. It seems that the rules are not being processed as IPv6, and is therefor not adding inet6 to the rule, nor choosing the correct address for the interface address.
The proper rules should be generated like this:
nat on $Work_VPN inet6 from $NAT_Source6 to any -> 2607:fcd0:a:b::100d/128 port 1024:65535
nat on $Work_VPN inet6 from 2001:470:1f07:5ba::/64 to any -> 2607:fcd0:a:b::100d/128 port 1024:65535
Looking at the code, it appears that filter_nat_rules_generate_if() was not modified to have a tcp version parameter, and therefor has no way to know that it needs to generate an inet6 rule and use the ipv6 address of the interface

I have submitted a pull request that will fix this issue #1080


Python: Fix several bad join orders.

Performance on taers232c/GAMADV-X (which exhibited pathological behaviour in
the most recent dist upgrade) went from ~670s to ~313s on
py/hardcoded-credentials.
There are still a few tuple counts in the 10-100 million range, but this commit
takes care of all of the ones that numbered in the billions. (A single tuple
count in the 100-1000 million range remains, but it appears to be less critical,
taking only two seconds to calculate.)

Nothing much changed on the usual performance test targets, so this is probably ready for review:


ADD: Pools / Liquidity - Volume/APR

Visit Figma:
https://www.figma.com/design/CwiuShU0mwYammHrR1Hv4x/WEWESWAP-WEWE?node-id=5600-15327&node-type=frame&t=BJL6BvdWEgN3vaQM-0
ADD:

[x] TVL ( total position of the vault in the uniV4 pool )
[x] RANGE ( infinity range)
[ ] VOLUME ( needs Subgraph )
[x] APR ( needs Backend )

Confirm:

[ ] Size and Fonts

Depends on https://github.com/weweswap/app-page/issues/104


Add Instituto Tecnologico de la Contrucción

Domain: https://itc-ac.edu.mx/

@ikcam Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course.

@ikcam You might miss my previous comment. Please react.

@ikcam I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


The book page 46

the real url is  https://github.com/fpj/zookeeper-book-example
the book write https://github.com/fpi/zookeeper-book-example

Huh, you're real attentive


fixed the link

Docs Build status updates of commit dc5c2f3:
:clock10: Pending: waiting for processors (41 builds ahead of you)
:warning: Docs Build is busy, currently there are 41 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit dc5c2f3:
:clock10: Full build: the average full build time is 75 min(s) 19 sec(s), this is based on the last 477 build(s) for this repository.

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

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-legacy)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit dc5c2f3:
:clock10: Full build: the average full build time is 75 min(s) 26 sec(s), this is based on the last 478 build(s) for this repository.

Docs Build status updates of commit dc5c2f3:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-autogen/overview/KeyVault.yml
:warning:Warning
View (azure-java-stable)
Details

legacy/docs-ref-autogen/overview/EventHubs/Client.yml
:warning:Warning
View (azure-java-legacy)
Details

docs-ref-services/servicebus.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-legacy)

docs-ref-autogen/overview/KeyVault.yml

[Warning-DuplicateUids] Uid(azure.java.sdk.landingpage.services.keyvault) has already been defined in docs-ref-services/keyvault.md.

legacy/docs-ref-autogen/overview/EventHubs/Client.yml

[Warning-DuplicateUids] Uid(azure.java.sdk.landingpage.services.eventhub.Client) has already been defined in docs-ref-services/messaging-eventhubs-readme.md.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thank you!


🚀 Installation and publishing magic

Summary
I will have to add some internal docs with all the private information etc but otherwise, everything is ready and the library is now published on maven central.
I mostly followed this tutorial.
We can improve this even further with bitrise publishing in the future.
Relationships
Closes https://github.com/toggl/android/issues/2135

I mostly followed this tutorial.

Which tutorial?

Which tutorial?

Sorry, forgot to include the link
https://medium.com/mobile-app-development-publication/upload-to-mavencentral-made-easy-for-android-library-30d2b83af0c7


Promises

Implementations
Currently we have our own Promise interface, which is fine. It seems that we won't have a Promise PSR anytime soon.
However, there are already awesome promise packages:

https://github.com/guzzle/promises
https://github.com/reactphp/promise/

I remember that Guzzle used to use ReactPHP's promise implementation. Maybe @mtdowling could tell us why they created their own?
Anyway: would it make sense to rely on third party promise implementations instead of ours?
Possible ways:

Keep the interface in the contract and use wrappers around third-party promises
Drop our interface and rely on a third-party directly (which would require relying on an implementation in the contract)

Convenience methods
Currently we have two convenience methods: getResponse and getException. These are what make our interface a "special" promise implementation. As the above two implementations, ours claim to be an implementation of Promises/A+ standard. Although I see the point in these methods, I think we should probably get rid of them.
Here are a few reasons:

If a Promise PSR ever becomes real, we would still need to extend it. In this case we couldn't just accept any kind of promises to be used.
The same case, if we want to use a third-party implementation now.
It is not part of the original standard, but as I can see, returning the value in the wait method is.

I propose removing those method. However in that case we need a "standard" way of getting the value and deciding whether it is an exception, a response, or an invalid value. Checking the type is obvious, but might led to duplicated code. Maybe we could check how Guzzle does it.

I don't mind dropping the getResponse / getException method, problem is more in the return type of the onFulfilled callable or the throw type, that's must be fixed. Having those method makes (maybe) user / implementors understand more what the promise must return / use.
A valid promise specification allow anything for the value or for the reason. However in our case having something different from ResponseInterface / HttpException will break everything. (A plugin can return a string in the onCallable, this would be valid for the promise specification, but will break everything for the pluginChain)

ours claim to be an implementation of Promises/A+ standard

Not at all, but it may be not clear, it's an extension of this standard (basically it's the promise a+ standard with addition that the value and reason has a type: ResponseInterface / Http\Exception)

Having those method makes (maybe) user / implementors understand more what the promise must return / use.

I would say we should clearly document this. That would probably be enough.

However in our case having something different from ResponseInterface / HttpException will break everything.

Promises are created "internally" by adapters/clients. Although the promise spec allows any values, we force it to be Response/HttpException. However the data itself is not resolved by the promise, the promise only holds it (as soon as the promise is resolved). So I think we don't need this restriction on an interface level.
As I said, I see the point in a custom interface, but I am afraid it could limit the usage (like switching to an upcoming PSR, using third-party, etc)

Guzzle has its own implementation to get rid of recursive promise resolution, add the ability to wait on a promise, add the ability to unwrap a promise, and to use Promises/A+ instead of Promises/A (dropping the progress callbacks).

Thanks for clarification @mtdowling!

After playing with this: we cannot use Guzzle or any other implementation if we stick to our interface.
So we either have to drop ours and stick to guzzle (don't like that) or maintain our own.
Even if we go with option two, the convenience methods should be removed as we couldn't rely on them anyway in case of using the upcoming PSR.
Thinking about PSR: In case we will have a PSR, we have to remove our own interface from the repository and require psr/promise. Why not doing it now? Move the promise interface into its own repository.
Pros:

Client Tools repos does not have to rely on httplug, only promise
We can easily implement promises without relying on httplug
Stick to the actual architecture we will eventually use, so when we switch to PSR, we don't have to touch httplug

Cons:

One more package

i am +1 for that proposal. the extra repo will go away (or rather, be
deprecated) once psr/promise comes out.

Yeah. If we magically and up with the same or very similar API as the PSR then we can implement it and deprecate the old without major version change.

Whis one looks cool:
https://github.com/thenable/promise

but it has no wait. and this mixed mode with then() and done(). is that
not a different philosophy than what we do?

Not really, it is similar. I am about to contact the author and ask how we could use this. It seems that this is going to be some sort of PSR proposal.
I don't insist on it, but would be cool to pass this responsibility to developers who work with promises already. :stuck_out_tongue:

We should keep it simple for the moment and stick to our current interface. If there is something to change we can always make adapter / major version if we keep something light.
There is a long way before having a promise PSR and really don't know where it will be going (for the moment they need a EventLoopInterface before considering the promise one)
Don't mind dropping the getException / getReponse method in favor of returning a response / throwing an exception in the wait method, from my view it doesn't change anything.

Sounds like a plan.

This has been solved by extracting the Promise interface to it's own package and relying on our own implementation.


[Backport 2.5] Coredns-autoscaler needs readiness and liveness check

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
coredns autoscaler does not have a readiness and liveness check
Result:
If a node goes offline where coredns-autoscaler is running, it will not be rescheduled properly.
Other details that may be helpful:
Environment information
Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA): HA
gz#7893
SURE-1649
Original issue: https://github.com/rancher/rancher/issues/24939

Testing template
Root cause
N/A. CoreDNS autoscaler health checks requested for more debug info if a coredns-autoscaler pod is not able to be rescheduled onto a failed node.
What was fixed, or what changes have occurred

Added new CoreDNS template with liveness and readiness probes for the autoscaler https://github.com/rancher/kontainer-driver-metadata/blob/dev-v2.6/rke/templates/coredns_v1.8.3-rancher2.go
Updated templates.go with new template https://github.com/rancher/kontainer-driver-metadata/blob/0d1175e5c569318589905b5255e41666f9a5b2a8/rke/templates/templates.go#L141

Areas or cases that should be tested
Test steps

Create an RKE1 downstream cluster on Rancher 2.6-head. The coredns autoscaler will deploy automatically
View the coredns autoscaler pod config
View Health Checks. You should see the health check fields configured

What areas could experience regressions ?
If template gets overwritten or removed, then health checks will not show up as configured in the coredns-autoscaler pod for RKE1 downstream clusters.
Are the repro steps accurate/minimal ?
Yes.

Discovered there are port requirements for the coredns autoscaler to expose health check endpoints at only /healthz:8080. Put in a PR to fix.

Rancher Server:

v2.5.12 (KDM pointing to dev-v2.5)
docker install

Validation steps followed as mentioned here:

Provisioned a single node AWS node driver k8s v1.20.15-rancher1-1 cluster.
Checked the coredns-autoscaler heatlh check fields and Readiness and Liveness Check are configured correctly.

Result:

The Health Check fields values are configured as expected, hence closing the issue.


Define filters for cleaning GitHub issues

We should come up with good filters to get rid of low quality issues. This could be done by going through a sample (e.g. 100) issues and working out patterns of low quality data.

Hi @lvwerra, I'd like to work on this since I'm already manually inspecting some github issues for PII


Is the TestRedditSharp project working?

I'm trying to run the included test project on Windows 8.1 using Visual Studio 2015, not using OAuth, and I receive a System.ArgumentOutOfRangeException on the last line of GetThingByFullname, when trying to get comment t1_ciif2g7.
The code seems to expect data.children to contain something, which it will then parse into a Comment object. But the returned JSON has just an empty list there, causing an error when the code tries to get index 0.
Am I running this incorrectly? I can verify that attempting to access https://www.reddit.com/api/info.json?id=t1_ciif2g7 with my web browser also returns the same JSON that the code is receiving, with an empty data.children.

It's not meant to be some thing you use to demonstrate that RedditSharp works. It's just some code that I change whenever I need to test something because of the issues this project has with unit tests.

Thank you.


How to handle a customized element from Selendroid.

Please tell me how to handle this element type from selendroid.
Following is the design of the element:
          <com.a.android.ui.scrollablelist.SListView
                        android:id="@+id/year"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.32" />

Note: This element is a roller. I need to scroll the element and select a value.
Thanks in advance.

I'm closing this issue due to inactivity.
If is a question rather than an issue, please send questions to the selendroid user group.
If you think it's an actual problem with selendroid and still experience the issue described on the latest release of selendroid feel free to file a new issue. If you do please provide a concise reproducible test case and describe what results you are seeing and what results you expect.


Wtf did I just watch?

it doesn't autostab at the maximum possible range probably bc the calculation for backstab checks is a bit conservative.

actually looking back at this I think the check is fine and this could be issue #197


Building our basic structure: re-pricing vanilla options

Think since I already merged the PR, I can "re-link" it back to this issue.


Sign In with GitHub gives 403 TypeError...

Describe the bug
When trying to sign in with the link "Continue with GitHub" it shows
TypeError
403 res.redirectWithFlash is not a function

and in URL shows this link: https://api.freecodecamp.org/auth/auth0/callback?code=6X57g2PAyhwjKAz-
To Reproduce
Steps to reproduce the behavior:

Go to 'https://www.freecodecamp.org/learn/'
Click on 'Sign in to save your progress'
On the next page click "Continue with GitHub"
See error as above

Expected behavior
Sign in with no errors.
Any browser, any device. Obvious it's a server-side bug

Also having this issue when logging in with any of the sign-in options.

same issue

Same problem here!

Had this problem for a while but just logged in with my GitHub account.

It seems that issue has been already resolved


[A2] Wrong attributes order

In the file https://github.com/bot4dofus/Datafus/blob/master/data/A/DofusInvoker/scripts/com/ankamagames/dofus/network/messages/connection/IdentificationMessage.as#L119
The correct serialization order is:

autoconnect
useCertificate
useLoginToken
version
lang
credentials
serverId
sessionOptionalSalt
failedAttempts

Current order is (based on attributes declaration):

version
lang
credentials
serverId
autoconnect
useCertificate
useLoginToken
sessionOptionalSalt
failedAttempts

events.json content:

	"IdentificationMessage": {
		"file": "data/A/DofusInvoker/scripts/com/ankamagames/dofus/network/messages/connection/IdentificationMessage.as",
		"id": "7755",
		"superclass": "NetworkMessage",
		"interfaces": [
			"INetworkMessage"
		],
		"attributes": {
			"version": "Version",
			"lang": "String",
			"credentials": "Vector<VarInt,Byte>",
			"serverId": "Short",
			"autoconnect": "Boolean",
			"useCertificate": "Boolean",
			"useLoginToken": "Boolean",
			"sessionOptionalSalt": "VarLong",
			"failedAttempts": "Vector<Short,VarShort>"
		}
	},

autoconnect, useCertificate, useLoginToken are wrapped at the beggining


JS: Recognize '+' in suffix check

I spotted a false negative due to not recognizing .length + 1.
Evaluation.

Test failure is unrelated; merging.


to_pathdict() serialization functionality

OmegaConf.to_pathdict() takes the same arguments as OmegaConf.to_container() (plus separator)
and outputs a "flattened" dict. Useful for serializing when you can't have a nested hash map.
(Essentially the inverse operation of creating a config from a dotlist)
I'm not sure if the tests are in the right place, or if I should write more than just one.
Let me know what I need to change to get this accepted.

Please file an issue so we can discuss the need before reviewing the code.

Thanks.
Closing because #520 is a cleaner implementation.


[STA-156] Add toggle to join the Community Center Discord server on logging into Discord

From SyncLinear.com | STA-156

Fixed by #101


Add docker images for v0.36 to v0.38

Thanks for your great work.
Sadly the docker images since version 0.36 are missing on the docker hub.
I prefer updating my docker images via a certain tag instead of using latest because the latter is quite ambiguous.
Could you please create the images/tags for these versions as well? Thanks in advance.

@d-Rickyy-b hi, I added a new github runner to push the tag, there is now 0.38 but i'm afraid its too tricky to add this runner for older tags, but as a trade-off, i can promise you that all tags in the future will be pushed :)
https://hub.docker.com/layers/dgtlmoon/changedetection.io/0.38/images/sha256-a68578add7a9645071c6cfd189f85b06d8b794b615967ab84cc566533c41c160?context=explore

Very cool! Thank you.


All searches return an empty collection

Laravel Version: 5.7
Adldap2-Laravel Version: 5.1
PHP Version: 7.3
LDAP Type: ActiveDirectory

I believe I have all of my settings correct:
//Here is the ldap.php file
<php
return [
'connections' => [
    'default' => [
        'auto_connect' => env('LDAP_AUTO_CONNECT', true),
        'connection' => Adldap\Connections\Ldap::class,
        'settings' => [

            'schema' => Adldap\Schemas\ActiveDirectory::class,
			'account_prefix' => env('LDAP_ACCOUNT_PREFIX', ''),
            'account_suffix' => env('LDAP_ACCOUNT_SUFFIX', 'mydomain.com'),
			'hosts' => explode(' ', env('LDAP_HOSTS', '<IP_ADDRESS>')), //This is correct and verified
            'port' => env('LDAP_PORT', 636),
			'timeout' => env('LDAP_TIMEOUT', 5),
			'base_dn' => env('LDAP_BASE_DN', 'CN=Users,DC=mydomain,DC=com'),
			'username' => env('good_username'),
            'password' => env('correct_password'),
			'follow_referrals' => false,
			'use_ssl' => env('LDAP_USE_SSL', true),
            'use_tls' => env('LDAP_USE_TLS', false),

        ],

    ],

],

];
Now with this set up - in the route web.php I have
use Adldap\Laravel\Facades\Adldap;
Route::get('/', function () {
$search2 = Adldap::search()->users()->get();
dd($search2 );
return view('welcome');
});
This should be enough to retrieve all the AD users and it always returns an empty collection.
Is there anything that I can try?

Hi @ctyler69, I'll help you out and get you up and running.
Can you verify that your base_dn is set properly? This is the first thing to check when performing searches.
I ask about the base DN, as you've set it to CN=Users,DC=mydomain,DC=com (might be different, since you may have added it in to your .env file). Usually a base_dn would consist of domain components (in your case DC=mydomain,DC=com).

Hi @stevebauman ,
I was deidentifying the domain/ip info. I have verified it with active directory. If I go into Active Directory and Computer, right click users, select properties, select attribute Editor Tab and scroll down to distinguishedName it say: CN=Users,DC=mydomain,DC=com. (Actual domain name). I have tried adding it just like that and DC=mydomain,DC=com. Same results.

Ok, can you check your laravel logs to ensure there's no connection issue going on with Adldap2 and your server? If there isn't we can rule that out and continue on.

There is no connection errors listed. Also, if I change a port number or something it throws an error:
Can't contact LDAP server
So it seems to be connecting fine. It does act like the base dn is incorrect but it is not.

Ok great. Hmmm, can you try running the following and see if you get anything back?:
Route::get('/', function () {
    $root = Adldap::search()->getRootDse();

    dd($root);
});

RootDse {#223 ▼
+exists: true
#query: Builder {#216 ▼
+columns: array:1 [▶]
+filters: array:3 [▶]
+limit: 1
+paginated: false
#sortByField: ""
#sortByDirection: ""
#sortByFlags: null
#dn: ""
#type: "read"
#raw: false
#nested: false
#connection: Ldap {#210 ▶}
#grammar: Grammar {#217}
#schema: ActiveDirectory {#213}
}
#schema: ActiveDirectory {#213}
#modifications: []
+dateFormat: "Y-m-d H:i:s"
#timestampFormat: "YmdHis.0Z"
#attributes: array:44 [▶]
#original: array:44 [▶]
}

I did not clear the cache. I just did and ran:
Route::get('/', function () {
$root = Adldap::search()->getRootDse();
dd($root->getFirstAttribute('defaultnamingcontext'));

});
And this was was returned:
"DC=comlivserv,DC=com"

Ok, can you enter that into your base_dn configuration value and then try performing a global search on users via Adldap::search()->users()->get() and see if you get results back?

I copied and pasted the value into the base_dn
Then
$search2 = Adldap::search()->users()->get();
dd($search2);
Returns:
Collection {#220 ▼
#items: []
}

If it helps, I was using adldap successfully. I was able to search and add users to AD.

Hi @ctyler69,

If it helps, I was using adldap successfully. I was able to search and add users to AD.

What do you mean? Are you up and running now?

Oh okay. The older adLDAP library isn't maintained by me or have much at all in common with Adldap2 (besides the name of course).
It still looks like something is off in your config, as you originally suggested that DC=mydomain,DC=com was indeed your base DN, but it seemed to differ from the base DN returned from Adldap (DC=comlivserv,DC=com).
If this is incorrect by a single character, no search results will be returned.
Are you able to locate individual users in your domain via a findByDn():
$user = Adldap::search()->findByDn('cn=John Doe,dc=acme,dc=org');

dd($user);

If so, then your configured base_dn is still incorrect.

I have an update. So I deleted everything and started over. As I said early, I used adldap (the currently abandoned one) on another box. So I made sure a had all of the php extensions installed on both boxes. There were some installed on the previous box that were not installed on the new.  Then I installed laravel and adldap2/laravel. I added all of the config data.
Boom it worked.
Thank you for your help and patience Steve.

Hey @ctyler69, awesome! Glad you were able to resolve the issue. Also no problem at all!
If you encounter any other problems, feel free to create an issue here and I'll help you out. :smile:

@stevebauman please let me know do I need to write admin username and password in .env in order to perform searches only and basic authentication?
I am in deep trouble performing AD Authentication in my project, It will be great favor if you help me a little.
Bundles of thanks in advance.

Hi @muzammilaskari,
Yes you do - unless your domain allows anonymous binds, then you can set the username and password to null.


Typo

Hello,
I noticed there area couple of typos of throughout instead of throughput under Connection Policy https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-connectivity-architecture#connection-policy

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

ID: e1a62365-4312-8aad-d2f1-bb5c4184adf1
Version Independent ID: 2ba5b809-8025-d7ee-c756-d6d1bab033fb
Content: Connectivity Architecture - Azure SQL Database and SQL Data Warehouse
Content Source: articles/sql-database/sql-database-connectivity-architecture.md
Service: sql-database
Sub-service: development
GitHub Login: @rohitnayakmsft
Microsoft Alias: rohitna

@scruffty We are checking this and will get back to you.

@scruffty We have requested the change for the document. Once approved the changes will display.
Thanks for the feedback.


Constant freezing in Godot and very long start-up times

Godot version
4.1.1.stable
System information
Windows 11 - 4.1.1.stable - Vulkan (Forward+)
Issue description
Opening the project manager in Godot as well as editing the project in the editor is painfully slow and has constant freezing issues. It is likely due to the high startup time for the Godot servers:
BENCHMARK:
        - register_core_types :  0.004062  sec.
        - servers :  70.432877  sec.
        - register_editor_types :  0.001205  sec.
        - scene :  0.061486  sec.
        - editor_register_and_generate_icons_all :  0.063672  sec.
        - editor_register_and_generate_icons_with_only_thumbs :  0.000644  sec.
        - editor_register_fonts :  0.001264  sec.
        - create_editor_theme :  0.151104  sec.
        - create_custom_theme :  0.151117  sec.
        - project_manager :  0.185759  sec.
        - startup_begin :  70.69265  sec.

Steps to reproduce
Run in the command line:
Godot_v4.1.1-stable_win64.exe --verbose --benchmark
Minimal reproduction project
Occurs in all projects

Seems related: https://github.com/godotengine/godot/issues/82063

Can you compare with 4.0.4? (the command line argument there is --startup-benchmark IIRC)

Same issue occurs on 4.0.4.
STARTUP BENCHMARK:
        - core :  0.005956  sec.
        - servers :  70.566598  sec.
        - scene :  0.052944  sec.
        - project_manager :  0.199615  sec.
        - total_time :  70.8303  sec.

Issue still occurs on 3.5.2 as well but I was unable to generate a benchmark for it.
One thing is that I have seemingly diagnosed the issue to my USB headphones being connected to the system when the computer starts. If I unplug them and restart the computer, Godot works fine.

USB devices are known to cause issues, keyword 'usb devices stall'


Processing issue - Leaked semaphore objects - There appear to be %d

[DLC.CORE] Creating temp resources...
[DLC.CORE] Extracting frames...
[DLC.FACE-SWAPPER] Progressing...
Processing:   0%| | 2/1306 [00:01<16:09,  1.34frame/s, execution_providers=['CoreMLExecutionProvider'], execution_threads=8, max_memory=4Applied providers: ['CoreMLExecutionProvider', 'CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}, 'CoreMLExecutionProvider': {}}
inswapper-shape: [1, 3, 128, 128]
Processing:  27%|██▋       | 359/1306 [02:04<05:59,  2.63frame/s, execution_providers=['CoreMLExecutionProvider'], execution_threads=8, max_memory=4]zsh: killed     python3 run.py --execution-provider coreml

/opt/miniconda3/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

When I try to process a video, it gives the above error near 25%. I couldn't find a valid fix.
Regards.

Looks like this is in the context of a broader app and the log message isn't relevant but the leaked semaphore message is usually related to running out of memory on your system.


Saucifying features

Explanation of Bugfix/Feature/Enhancement:
Moved features to sauce: Category Activity Popup Width, Current Month Indicator, Google Fonts Selector, Hide Account Balances.
Recommended Release Notes:
Internal refactoring of features to help us move towards Web Extensions.

I might have missed the conversation in another issue, but what do you mean by moving to Web Extensions?
Is the idea to start writing native extensions instead of depending on a third-party framework?

Yup, that's the idea. We're currently using Kango to build the extension so it works on Firefox and Chrome. Unfortunately that creates a .xpi for Firefox, which they're no longer supporting. They've created the WebExtensions API, which is mostly a copy of what Chrome was doing in the first place, which Edge is also going to pick up. So we're moving across to that API. Once we've moved across we'll get quicker review times on Firefox, Edge compatibility, and Chrome won't notice the difference except it should be much lighter on that platform.
The first step is to refactor the features so they're getting built with Webpack instead of being static files that get strung together by the Kango build process.


fix namespace and some tests

Can the test to be repaired give some suggestions or sample code, then I will fix it.

Merged. Thanks!


Adding Diagnostic Model Integration

Earth-2 MIP Pull Request
Description

This PR adds diagnostic models into Earth-2 MIP in a modular way.

Adds Geo Operator interface
This introduces both a DiagnosticBase which defines the required interface needed when adding a diagnostic model.
Adds a DiagnosticTimeLoop
Adds three examples: WindSpeed calculation, Precipitation model and Climate Net mode
Adds short example to demo usage
Uses an upstreamed fix in Modulus

Closes: https://github.com/NVIDIA/earth2mip/issues/65
Checklist

[ ] I am familiar with the Contributing Guidelines.
[ ] New or existing tests cover these changes.
[ ] The documentation is up to date with these changes.
[ ] The CHANGELOG.md is up to date with these changes.
[ ] An issue is linked to this pull request.

Dependencies

/blossom-ci

Let's leave this code in earth2mip/diagnostics for now and do a cleanup PR later on to move around.

This is the only high level comment to be addressed:

refactor tests to not use s3 and to work with small resolution input data.

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci


clamav: Fix check failure of clamscan no tests

Clamav wasn't building due to failing tests.
It seems like clamav uses pytest as a test runner preferentially, then falls back to unittest. For some reason unittest isn't discovering the tests inside clamav/unit_test/clamscan, and instead exitting with sys.exit(_NO_TESTS_EXITCODE).
I have checked actual clamscan tests are being run using nix develop .#clamscan, genericBuild, checkPhase then manually running ctest -V.
Fixes https://github.com/NixOS/nixpkgs/issues/325510
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

3 packages built:

clamav
clamtk
clamtk.man


importing sif like pandas dataframe

I would like to offer a feature like this issue title.
"sif like pandas dataframe" is 3 column dataframe.

1st column is source node
2nd column interaction type
3rd column is target node

This will be available in 0.4.0.
DataFrame utility will supports:

Convert data from DataFrame to cytoscape.js JSON
Update tables from DataFrame
Create Table from DataFrame

This can be done by from_dataframe method now.


🤖 Run orin tests on fast worker

https://spectrocloudcommunity.slack.com/archives/C04B1833NEA/p1692614471662219

Fixed on 2b27bbaa65ee6dc3610a7aa71d4556f50716c942


implementing cloud point classifier model

implementing a simple code to convert the event image to point-e photo to 3D photo
an implementation to convert 1k dataset to pointe dataset
implementing a cloud point classifier model


Use og:image to display avatar

So social sharing crawlers pickup a useful image

This is more of a question than a request, but should other OpenGraph meta tags be added to the head if og:image is going to be used?

@JamesIves I've added a few more primary Open Graph tags and made the page title a little more dynamic.


This API no longer works: New one

https://github.com/areed1192/interactive-brokers-api

Thank you, I'm planning to archive this one soon.


Improve text communicating payments

Problem
Today's text explaining how payments work is not up to standards for open project management.

Open Collective is in the business of fiscal sponsorship, and supporting projects with financial management stuff. I don't ever see "other factors" as a line-item in threat models. No security project would have any respect, if they tried that. Open Collective being vaguesauce about how it makes its own sausage, is no different.

The below question asks for a timeframe. Its answer, is handwavey, uses jargon, and does not answer the question. All are disrespectful to users. Impact needs to matter more than intentions.

Solution

Spell-out the "other factors" somewhere on the website (clearly!) and link to that from this email. Or, just qualify what they are, in the email. From what I learned today, one of those other factors is bank limitations on the total amount of external transfers per week. That is easy to understand, and easy to put into writing. Whatever additional other factors there may be, I also expect to see spelled-out. Threat models do that. That is what "Open" business practices do. Communication is work, and a PITA. Why many business do not run "Open," less than any desire to be cagey or proprietary.

Answer the dang question, first and foremost. "Between 1 and 7 days after a project's admin approves an expense, extenuating circumstances not withstanding. We try to do it every few days, but are small so sometimes that doesn't work. For details on specific methods of payment, see our docs" is what I'm guessing to be the correct answer. In the docs, then put a table spelling-out all the different variables in different forms of payment.

Don't use terms like "the Collective" or "Fiscal Host," because FOSS contributors are unlikely to know what on Earth those mean.  Under promise and over deliver. Not the reverse. Write for the users (so, project contributors) and to our needs, not to communicate your brand values or utopian vision through some of the most important text for us to understand how to get paid from our labor. Brand values and utopian hoo-ha are for marketing pages and social content.

Triage Template (core team only)
This template is for members of the team to triage for prioritisation. For more guidance see https://www.loom.com/share/369ab467fbc64dec848085d38ff57ca0:
P1 high frequency, high impact
P2 low frequency, high impact
P3 high frequency, low impact
P4 low frequency, low impact
Examples of high impact - a problem affects users during an essential process (expenses and payments > onboarding and registration > contributing) with no workaround.
High frequency - >10% of users affected (measured as a proportion of total potential users for this case).

Ping @alanna

I understand the need here, but the fact is that this varies hugely by fiscal host and we cannot generalise the specific answer at the platform level. All we can do is approximate as we already do, and refer users to the host's expenses policy which may have more detailed info.

@alanna Did you read the text up above? Nobody knows who or what "a fiscal host" is. If there are many, then identify who the one is for each project. This is a design problem, and one that can in fact be easily solved, if in fact you prioritize this as a project with your team. The ask here, is to do just that. That is working "Open," not allowing things to remain blurry and obscure simply because they're complicated.


fix: Collect usage statistic question not showing again after if the command gets "killed"

Description
I am not entirely sure if this is a "bug" but if I run the very_good command in a clean environment and stop (CTRL+C, CMD+C) the command without answering the collect usage statistic question it will never ask me again.
This might not be a bug as it might just assume "no" and I know I can toggle it using the --analytics flag but from a user experience I am now left in the dark in what it does.
Steps To Reproduce

Install the very_good_cli from clean (tested it with v0.6.0)
Run a very_good command
Kill the process without answering the collect usage statistic question
Run a very_good command again, it won't ask again

Expected Behavior
I expected that it would ask me again considering I did not explicitly answer with a yes or no. So right now I am not sure if it is collecting data or not.
Screenshots

Additional Context
NVT

This analytics request has been removed from the tool so this ticket no longer is relevant. Closing as "no action needed"


std::string back is only available for c++11

Getting this error:
/home/dan/src/MinVR2/src/config/VRDataIndex.cpp:129:14: error: ‘VRString’ has no member named ‘back’
if (elem.back() == '\') {
^
/home/dan/src/MinVR2/src/config/VRDataIndex.cpp:131:12: error: ‘VRString’ has no member named ‘back’
elem.back() = separator;
Apparently back in std::string is only available for c++11.  Is there another way to implement this code?
Thanks,
Dan

Yes, there is, and I just did it. Should be fine now. Checked into master.


Export KonvaEventHooks

Found I needed these while re-implementing examples external to the project.

Thanks. Definitely makes sense to expose


feat: add support for MATCH AGAINST

Support was added for both MySQL and Generic dialects.
Reference: https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html#function_match

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

49 of 59 (83.05%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 86.263%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/parser.rs
24
28
85.71%

src/ast/mod.rs
15
21
71.43%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
11856

Relevant Lines:
13744

💛  - Coveralls


The web browser language identification codes and Java locale values aren't the same in most cases.

Example:

Spanish Web browser language identification codes: es or es-ES
Spanish Java locale : es or es_ES.

When I translate from web code to Java locale, we have to change the '-' with '' character.
When I translate from Java locale to web code, we have to change the '' with '-' character.

Merged


bug while creating sales return clone

steps to reproduce :
1 : create a sales return
2 : then create clone of that sales return with  status open  (save as open)

issue closed


[DO NOT MERGE] Add state aid type and outcomes to CMA cases

This shouldn't be merged until the corresponding changes have been made to the content schemas and the search schemas and search-api has been reindexed.

Trello card

Tested on integration, looks good.  Need to reindex search in production before this can be deployed though.


Pytest failure

Bug description
A lot of test cases fail due to erroneous module imports, one example being https://github.com/Lightning-AI/lightning/blob/c4ddc068c90d9913b0de97a01446bf287710526c/tests/tests_pytorch/utilities/migration/test_migration.py#L24
Just wondering if this is a temporary problem that is intentionally being overlooked? Been trying to fix #16188 but it is difficult to do so with so many test errors.
cc @borda

@yhl48 That's not intentional. I suspect there is something wrong with your local installation. Did you follow the instructions in the tests/readme.md file?

Yes there was some problem with Horovod installation but the issue has been resolved now, thanks. A problem that persists is with backward compatibility testing with old checkpoints, in which there is always an ImportPathMismatchError
E   _pytest.pathlib.ImportPathMismatchError: ('simple_classif_training', '/home/user/pytorch-lightning/tests/legacy/simple_classif_training.py', PosixPath('/home/user/pytorch-lightning/tests/legacy/checkpoints/1.8.4/simple_classif_training.py'))

Could you please advise?

@yhl48 I don't know what is causing that exactly, but you can open a draft PR with your changes so that we see the progress and CI shows any issues.

As Horovod was moved to a separate package from 2.0 let's assume this as resolved... :rabbit: