How to export a Huggingface transfromer model?

Tutorial Select
Prepare Custom Model
Feedback
I would like more context on how to optimize for mobile models other than the ones registered with PyTorch hub, such as Hugging  Face Hub for example.

I tried something like the code below, but would get unknown tensor error. Could be a numpy interaction.
import torch
import numpy as np
from transformers import AutoModelForSequenceClassification
from torch.utils.mobile_optimizer import optimize_for_mobile

task='sentiment'
MODEL = f"cardiffnlp/twitter-roberta-base-{task}"
model = AutoModelForSequenceClassification.from_pretrained(MODEL)
model.eval()

scripted_model = torch.jit.script(model)
optimized_model = optimize_for_mobile(scripted_model)
optimized_model._save_for_lite_interpreter("roberta-base-sentiment.ptl")

Hi @vukovinski , this process would be different from model to model. What I can describe from a high level perspective is that the torch.jit.script tries to convert the PyTorch model into a TorchScript model. The key process is inferring the types of variables in the model process, and in almost every case you would need to modify the model definition to add the type annotations so the .script function can correctly determine the types of the variables.
An easier way is to use the torch.jit.trace function but it also has their own limitations listed in the documentation.

I see, I believe I understand now. Basically I would need access to the source code for the model so that I could annotate it with python or torchscript (some confusion here) datatypes. Hmm, this requirement precludes using HuggingFace models for mobile device optimization, unless the original authors of the models embrace such a practice.
Alternatively, such models (meaning weights and nodes) could be reverse engineered, but that sounds like more trouble than retraining them.
Thank you once again @rraihansaputra
Move to close the issue.


[zh-cn] sync garbage-collection.md

Sync file:
content/zh-cn/docs/concepts/architecture/garbage-collection.md

/approve

/lgtm


thud: rename from go-thumbnailer, 0.1.0 -> 0.3.0

Description of changes
https://github.com/donovanglover/thud/releases/tag/0.2.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.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

[x] Fits CONTRIBUTING.md.

@emilylange Since you merged the original go-thumbnailer, do you mind helping me with this PR?

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

1 package built:

thud


Bluetooth: Mesh: Make bt_mesh_model as rodata

Since model struct most of member should not change at run time, so mark as const will be suitable and safely.

Compile:
west build -b bbc_microbit_v2 zephyr/tests/bluetooth/mesh_shell/ -p auto and select all Mesh 1.1 Models
Before(main branch):

After(This PR):

This resolves bullet point 2.2 from https://github.com/zephyrproject-rtos/zephyr/issues/57267:

All bluetooth models prefix const


Easy Beacons crafting bug (potentially economy breaking)

So basically we can just craft beacons by using the scroll rewards.

Disabled beacon crafting


Remove trailing comma and add pre-commit hook for JSON validation.

Description
This PR fixes a trailing comma (invalid in JSON) that makes versions.json have invalid syntax, and adds a lightweight pre-commit hook to prevent this problem from happening again.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The cmake-format.json is up to date with these changes.
[ ] I have added new files under rapids-cmake/

[ ] I have added include guards (include_guard(GLOBAL))
[ ] I have added the associated docs/ rst file and update the api.rst

/merge


missing peer dependencies

npm run install:ui

after running the above command from Contribute.md, the following log
><EMAIL_ADDRESS>install:ui /Users/noone/Dev_Projects/homebridge/homebridge-config-ui-x
> npm install --prefix ui

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

added 2 packages from 4 contributors, updated 3 packages and audited 16907 packages in 6.576s
found 162 high severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

But after running npm audit fix --prefix ui because npm instructs us to do so after installing modules, the earlier peer dependency warnings reappears
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

removed 2 packages and updated 3 packages in 6.38s
fixed 162 of 162 vulnerabilities in 16907 scanned packages

However, all the peer dependencies are still installed.
npm list | grep angular
├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>

These are just warnings. The missing/version miss-matched peer dependencies are not required for the UI to build successfully.

may we add a small notice to contribute.md


NoMethodError: undefined method `updated_at' for nil:NilClass

Check full details on Airbrake: #1587803368391687403
Backtrace:
[PROJECT_ROOT]/app/services/network_cache/validator.rb:32:in block in fresh?
[PROJECT_ROOT]/app/services/network_cache/validator.rb:31:in each
[PROJECT_ROOT]/app/services/network_cache/validator.rb:31:in all?
[PROJECT_ROOT]/app/services/network_cache/validator.rb:31:in fresh?
[PROJECT_ROOT]/app/services/network_cache/validator.rb:11:in valid?
[PROJECT_ROOT]/app/services/network_cache/cache.rb:18:in present?
 I'm not really sure what the approach is here. The culprit in this case is http://beta.moses.et-model.com/testing_grounds/53 which is a rather old LES.
We could edit the code so that it's backwards compatible with old LES's, assign the old LES's the default Market Model or remove the old LES's. I think the second approach is probably the most suitable.


[release-1.9] istioctl operator init: fix invalid revision accepted

This is an automated cherry-pick of #31018

@googlebot I consent


fix(README): Updating README

:tada: This PR is included in version 1.1.3 :tada:
Your semantic-release bot :package::rocket:


WAC: Windows Admin Center with Failovercluster / HyperV: Performance Charts / Virtual Disks

Hello all,
I am using Windows Admin Center Version 2110 Build 1.3.2111.01001 with a 4 node FailoverCluster based on Server 2019. I am using the Cluster for HyperV.
I am not using S2D, I have 4 CSV publsihed from a shared storage.
Both nodes have the latest windows updates.
When I am configuring a VM, the performance charts are not available. In addition and way more critical, the vhd´s are not showing up.
Follwing the errors I encountered:
Notification details
Error
Couldn't get the live performance data
9:54:39 AM
SourceGo to Virtual machines.
Type
Error
Message
There was an error getting the performance live chart data for ITIMRELAY01. Error: RemoteException: Failed Activity ID: {20aa0f8a-e39f-0015-5a2b-aa209fe3d701}
Notification details
Error
Couldn't get the virtual disks.
9:54:34 AM
SourceGo to Virtual machines.
Type
Error
Message
There was an error loading the virtual disks of virtual machine 'ITIMRELAY01'. Error: RemoteException: Failed to find SDDC Management resource, reason : No more data is available.

I checked on the S2D cluster there are no such errors.

Do you have a microsoft account logged in or an azure id logged in? I think that would work.

Do you have a microsoft account logged in or an azure id logged in? I think that would work.

Hi.
I checked on the S2D cluster there are no such errors. This situation is related to FailoverCluster.

@kasimovv Since there are no errors. Can we close?
(I AM NOT THE PERSON TO CLOSE THIS THOUGH)

@kasimovv Since there are no errors. Can we close? (I AM NOT THE PERSON TO CLOSE THIS THOUGH)

Hi. Why close? The problem is present, and it is reproduced on FailoverCluster, if connect an s2d cluster for example, then it will not be reproduced on it. In both situations, the same account is used. Found same problem: https://techcommunity.microsoft.com/t5/windows-admin-center/admin-center-with-failovercluster-hyperv-performance-charts/m-p/686776

?close aft 2MSREPRESENTIVE.rspnded/suc\USR: @chips2014(OWNER), @kasimovv(USER)

Can I have your email so I can add you to a ticket?? It was raised by another member in my org. (I AM THE FOUNDER).

ONLY GMAIL WORKS

Can I have your email so I can add you to a ticket?? It was raised by another member in my org. (I AM THE FOUNDER).

Sure. -<EMAIL_ADDRESS>

Thank you for contacting Microsoft. GitHub issues on this repo are for reporting problems with Windows Server documentation.  Please open a support ticket to get assistance.


Higher node version causes errors when building and installing packages

Package errors on higher versions of node
whenever I try using the latest version of node and even older than version 14.18.1 it causes errors and it either does not install the node_modules or it does not build
When using the latest version of node 16.11.1 for me, it throws this while running the npm install command
1

2
This is shown while building the code when using higher versions of node than 15.14.0

https://github.com/sass/node-sass/ is notorious for this type of crap because they use use c++. Should either be able to upgrade it (simplest) but may also be able to convert to dart-sass and be done with it (which might be easy or not).
So in summary:

[ ] Try to remove node-sass dependency and replace it with dart-sass and see if that works. I think the only need for sass in this project is for https://github.com/activescott/cookieconsent/blob/dev/webpack.common.js#L32, but I'm not 100% positive, and I'm not sure if other changes need in webpack (different loader plugin?) to leverage dart-sass instead.
[ ] If removing node-sass and switching to dart-sass isn't feasible, then upgrade node-sass to v6 (looks like their readme says that supports node v16+
[ ] Add a node v16 build strategy at https://github.com/activescott/cookieconsent/blob/dev/.github/workflows/cicd.yml#L11. It shouldn't need to do anything except build & test.

You can try the above and submit a PR, or I'll take a look when I get around to it.

@activescott  thanks a lot, this helped very much.

I'm re-opening this issue because it is a legitimate issue that should need fixed. I'd love it if someone submits a PR. If someone needs help to fix it, just tag me here with questions and I'll be happy to assist you in working through it!


[Bug]: requirements installing error with python 3.11.9 and aliyun pypi

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
main
Commit ID
48607c3cfbc66f79d1bec84ff7a557943b07c1b7
Other environment information
conda 24.1.2
Python 3.11.9
Windows 10 22H2

Actual behavior
Cannot install requirements with the below commands. I use python 3.11.9 installed by conda create -n ragflow python=3.11 nodejs=14.8
pip install -r requirements -i https://pypi.org/simple
pip install -r requirements -i https://mirrors.aliyun.com/pypi/simple

And the error is
ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 21.11 Requires-Python >=3.5,<3.10; 22.1 Requires-Python >=3.5,<3.10; 22.10.0 Requires-Python >=3.5,<3.11; 22.11.0 Requires-Python >=3.5,<3.11; 22.12.0 Requires-Python >=3.5,<3.11; 22.4.0 Requires-Python >=3.5,<3.10; 22.6.0 Requires-Python >=3.5,<3.11; 22.7.0 Requires-Python >=3.5,<3.11; 22.8.0 Requires-Python >=3.5,<3.11; 22.9.0 Requires-Python >=3.5,<3.11; 23.1.0 Requires-Python >=3.5,<3.11; 23.2.0 Requires-Python >=3.5,<3.11; 23.3.0 Requires-Python >=3.5,<3.11; 23.4.0 Requires-Python >=3.5,<3.11
ERROR: Could not find a version that satisfies the requirement nvidia-cudnn-cu12==<IP_ADDRESS> (from versions: 0.0.1.dev5, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>2, <IP_ADDRESS>)
ERROR: No matching distribution found for nvidia-cudnn-cu12==<IP_ADDRESS>

Expected behavior
requirements installed successfully.
Steps to reproduce
1. `conda create -n ragflow python=3.11 nodejs=14.8`
2. `pip install -r .\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/`

Additional information
I found the same problem reported at https://github.com/infiniflow/ragflow/issues/460#issuecomment-2105657281 but not be replied or resolved

Comment out the inconsistent package or remove the version number in requirement.txt.
Or you could use requirements_dev.txt.

@KevinHuSh The error occurred when installing nvidia-cuda-runtime-cu12==12.1.105. All resolutions you mentioned are not ok.
I launched a ubuntu 2204 container via docker desktop and installed requirements in the container successfully... For windows guys, developing with wsl and vscode is a not too bad solution.


Financing

Hi :wave:,
I'm Romuald from the Lsos, an organization that develops financial solutions for open source projects, and we are currently doing outreach to projects we like.
One of our solutions is the Lsos Commons which I believe could fit; is that something React Toast Notifications would be interested in?
If not I'm sorry for having opened this ticket and I'll close it :).

We developed a new solution: the Lsos Donation Fund. Unlike the Lsos Commons, the Lsos Donation Fund doesn't alter your license and everything stays free; the donation fund collects donations on your behalf and uses a "donation-reminder".
We estimate the donation-reminder to substantially increase donations. Sublime Text, for example, achieves impressive results using a similar technique.
We are just starting (we are finishing up the implementation of the donation-reminder) and we are looking for a handful of early adopters to try out the donation-reminder.
Would that be something you'd be up to? The only thing you have to do is to add our @lsos/donation-fund npm module to your dependencies which implements the donation-reminder. We take care of everything but we'll let you know exactly about our plans and what the npm module does. You'll be more than welcome to object to anything and give feedback.
For example, we plan to show the donation-reminder only to large companies and make it removable. But if you want to further increase donations we can change things.
While in the long term the goal is to distribute company donations among all open source projects used by the company, at the beginning we expect that most donations will go to our early adopters.
We care a lot about transparency; each company will see to what open source projects its donations goes to, and each open source project will see from what companies its donations came from.
Let me know if you are interested, we are super eager to give this experiment a shot!

Hi @brillout, that sounds like a great initiative! Thank you for considering this project.
My problem is more that I'm time-poor (if you can't tell from this very delayed response 😅).


[BUG]Add circuits breaker for FlintREPL

What is the bug?
In some cases flint queries just keep going without being timeout or circuit break
How can one reproduce the bug?
From workbench run:
source = mys3.default.http_logs head 5

What is the expected behavior?
Jobs should be timed-out / circuit break after a max running time
Do you have any screenshots?
The following job dosent stop running:
Sprak Config Params:
--class org.apache.spark.sql.FlintREPL --conf spark.hadoop.fs.s3.customAWSCredentialsProvider=com.amazonaws.emr.AssumeRoleAWSCredentialsProvider --conf spark.hadoop.aws.catalog.credentials.provider.factory.class=com.amazonaws.glue.catalog.metastore.STSAssumeRoleSessionCredentialsProviderFactory --conf spark.jars.packages=org.opensearch:opensearch-spark-standalone_2.12:0.1.0-SNAPSHOT,org.opensearch:opensearch-spark-sql-application_2.12:0.1.0-SNAPSHOT,org.opensearch:opensearch-spark-ppl_2.12:0.1.0-SNAPSHOT --conf spark.jars.repositories=https://aws.oss.sonatype.org/content/repositories/snapshots --conf spark.datasource.flint.host=ec2-18-237-133-156.us-west-2.compute.amazonaws.com --conf spark.datasource.flint.port=9200 --conf spark.datasource.flint.scheme=http --conf spark.datasource.flint.auth=noauth --conf spark.datasource.flint.customAWSCredentialsProvider=com.amazonaws.emr.AssumeRoleAWSCredentialsProvider --conf spark.sql.extensions=org.opensearch.flint.spark.FlintPPLSparkExtensions,org.opensearch.flint.spark.FlintSparkExtensions --conf spark.emr-serverless.driverEnv.ASSUME_ROLE_CREDENTIALS_ROLE_ARN=arn:aws:iam::924196221507:role/FlintOpensearchServiceRole --conf spark.executorEnv.ASSUME_ROLE_CREDENTIALS_ROLE_ARN=arn:aws:iam::924196221507:role/FlintOpensearchServiceRole --conf spark.hive.metastore.glue.role.arn=arn:aws:iam::924196221507:role/FlintOpensearchServiceRole --conf spark.sql.catalog.mys3=org.opensearch.sql.FlintDelegatingSessionCatalog --conf spark.flint.datasource.name=mys3 --conf spark.flint.job.requestIndex=.query_execution_request_mys3 --conf spark.flint.job.sessionId=NWpKUFBobmtiZ215czM= --conf spark.dynamicAllocation.enabled=false --conf spark.executor.instances=10 --conf spark.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory --conf spark.emr-serverless.driverEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.x86_64/ --conf spark.executorEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.x86_64/

Job error Log:
https://aws.oss.sonatype.org/content/repositories/snapshots added as a remote repository with the name: repo-1
Ivy Default Cache set to: /home/hadoop/.ivy2/cache
The jars for the packages stored in: /home/hadoop/.ivy2/jars
org.opensearch#opensearch-spark-standalone_2.12 added as a dependency
org.opensearch#opensearch-spark-sql-application_2.12 added as a dependency
org.opensearch#opensearch-spark-ppl_2.12 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent-e89ff3b7-170e-4545-bd38-2304496ffbe0;1.0
	confs: [default]
	found org.opensearch#opensearch-spark-standalone_2.12;0.1.0-SNAPSHOT in repo-1
	found org.opensearch#opensearch-spark-sql-application_2.12;0.1.0-SNAPSHOT in repo-1
	found org.opensearch#opensearch-spark-ppl_2.12;0.1.0-SNAPSHOT in repo-1
downloading https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/opensearch-spark-standalone_2.12/0.1.0-SNAPSHOT/opensearch-spark-standalone_2.12-0.1.0-20231025.180019-42.jar ...
	[SUCCESSFUL ] org.opensearch#opensearch-spark-standalone_2.12;0.1.0-SNAPSHOT!opensearch-spark-standalone_2.12.jar (1796ms)
downloading https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/opensearch-spark-sql-application_2.12/0.1.0-SNAPSHOT/opensearch-spark-sql-application_2.12-0.1.0-20231025.180031-35.jar ...
	[SUCCESSFUL ] org.opensearch#opensearch-spark-sql-application_2.12;0.1.0-SNAPSHOT!opensearch-spark-sql-application_2.12.jar (292ms)
downloading https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/opensearch-spark-ppl_2.12/0.1.0-SNAPSHOT/opensearch-spark-ppl_2.12-0.1.0-20231025.180026-19.jar ...
	[SUCCESSFUL ] org.opensearch#opensearch-spark-ppl_2.12;0.1.0-SNAPSHOT!opensearch-spark-ppl_2.12.jar (229ms)
:: resolution report :: resolve 7942ms :: artifacts dl 2324ms
	:: modules in use:
	org.opensearch#opensearch-spark-ppl_2.12;0.1.0-SNAPSHOT from repo-1 in [default]
	org.opensearch#opensearch-spark-sql-application_2.12;0.1.0-SNAPSHOT from repo-1 in [default]
	org.opensearch#opensearch-spark-standalone_2.12;0.1.0-SNAPSHOT from repo-1 in [default]
	---------------------------------------------------------------------
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	---------------------------------------------------------------------
	|      default     |   3   |   3   |   3   |   0   ||   3   |   3   |
	---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent-e89ff3b7-170e-4545-bd38-2304496ffbe0
	confs: [default]
	3 artifacts copied, 0 already retrieved (37949kB/39ms)
23/10/27 06:12:44 INFO HiveConf: Found configuration file file:/etc/spark/conf/hive-site.xml
23/10/27 06:12:44 INFO SparkContext: Running Spark version 3.3.2-amzn-0
23/10/27 06:12:44 INFO ResourceUtils: ==============================================================
23/10/27 06:12:44 INFO ResourceUtils: No custom resources configured for spark.driver.
23/10/27 06:12:44 INFO ResourceUtils: ==============================================================
23/10/27 06:12:44 INFO SparkContext: Submitted application: FlintREPL$
23/10/27 06:12:44 INFO ResourceProfile: Default ResourceProfile created, executor resources: Map(cores -> name: cores, amount: 4, script: , vendor: , memory -> name: memory, amount: 14336, script: , vendor: , offHeap -> name: offHeap, amount: 0, script: , vendor: ), task resources: Map(cpus -> name: cpus, amount: 1.0)
23/10/27 06:12:44 INFO ResourceProfile: Limiting resource is cpus at 4 tasks per executor
23/10/27 06:12:44 INFO ResourceProfileManager: Added ResourceProfile id: 0
23/10/27 06:12:44 INFO SecurityManager: Changing view acls to: hadoop
23/10/27 06:12:44 INFO SecurityManager: Changing modify acls to: hadoop
23/10/27 06:12:44 INFO SecurityManager: Changing view acls groups to:
23/10/27 06:12:44 INFO SecurityManager: Changing modify acls groups to:
23/10/27 06:12:44 INFO SecurityManager: SecurityManager: authentication enabled; ui acls disabled; users  with view permissions: Set(hadoop); groups with view permissions: Set(); users  with modify permissions: Set(hadoop); groups with modify permissions: Set()
23/10/27 06:12:44 INFO Utils: Successfully started service 'sparkDriver' on port 42815.
23/10/27 06:12:44 INFO SparkEnv: Registering MapOutputTracker
23/10/27 06:12:44 INFO SparkEnv: Registering BlockManagerMaster
23/10/27 06:12:44 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
23/10/27 06:12:44 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
23/10/27 06:12:44 INFO SparkEnv: Registering BlockManagerMasterHeartbeat
23/10/27 06:12:44 INFO DiskBlockManager: Created local directory at /tmp/blockmgr-0cc5defb-dc15-4c7a-b4dd-392a8b830b7d
23/10/27 06:12:44 INFO MemoryStore: MemoryStore started with capacity 8.2 GiB
23/10/27 06:12:44 INFO SparkEnv: Registering OutputCommitCoordinator
23/10/27 06:12:44 INFO SubResultCacheManager: Sub-result caches are disabled.
23/10/27 06:12:45 INFO Utils: Successfully started service 'SparkUI' on port 4040.
23/10/27 06:12:45 INFO SparkContext: Added JAR file:///home/hadoop/.ivy2/jars/org.opensearch_opensearch-spark-standalone_2.12-0.1.0-SNAPSHOT.jar at spark://[2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:42815/jars/org.opensearch_opensearch-spark-standalone_2.12-0.1.0-SNAPSHOT.jar with timestamp<PHONE_NUMBER>418
23/10/27 06:12:45 INFO SparkContext: Added JAR file:///home/hadoop/.ivy2/jars/org.opensearch_opensearch-spark-sql-application_2.12-0.1.0-SNAPSHOT.jar at spark://[2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:42815/jars/org.opensearch_opensearch-spark-sql-application_2.12-0.1.0-SNAPSHOT.jar with timestamp<PHONE_NUMBER>418
23/10/27 06:12:45 INFO SparkContext: Added JAR file:///home/hadoop/.ivy2/jars/org.opensearch_opensearch-spark-ppl_2.12-0.1.0-SNAPSHOT.jar at spark://[2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:42815/jars/org.opensearch_opensearch-spark-ppl_2.12-0.1.0-SNAPSHOT.jar with timestamp<PHONE_NUMBER>418
23/10/27 06:12:45 INFO SparkContext: The JAR file:///home/hadoop/.ivy2/jars/org.opensearch_opensearch-spark-sql-application_2.12-0.1.0-SNAPSHOT.jar at spark://[2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:42815/jars/org.opensearch_opensearch-spark-sql-application_2.12-0.1.0-SNAPSHOT.jar has been added already. Overwriting of added jar is not supported in the current version.
23/10/27 06:12:45 INFO ExecutorContainerAllocator: Set total expected execs to {0=10}
23/10/27 06:12:45 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 34899.
23/10/27 06:12:45 INFO NettyBlockTransferService: Server created on [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:34899
23/10/27 06:12:45 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
23/10/27 06:12:45 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16], 34899, None)
23/10/27 06:12:45 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16]:34899 with 8.2 GiB RAM, BlockManagerId(driver, [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16], 34899, None)
23/10/27 06:12:45 INFO ExecutorContainerAllocator: Going to request 10 executors for ResourceProfile Id: 0, target: 10 already provisioned: 0.
23/10/27 06:12:45 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16], 34899, None)
23/10/27 06:12:45 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, [2a05:d018:107:5a00:c2e7:cd6:3e75:ab16], 34899, None)
23/10/27 06:12:45 INFO TimeBasedRotatingEventLogFilesWriter: rotationIntervalInSeconds = 300, eventFileMinSize = 1048576, maxFilesToRetain = 2
23/10/27 06:12:45 INFO DefaultEmrServerlessRMClient: Creating containers with container role SPARK_EXECUTOR and keys: Set(8, 4, 9, 5, 10, 6, 1, 2, 7, 3)
23/10/27 06:12:45 INFO TimeBasedRotatingEventLogFilesWriter: Logging events to file:/var/log/spark/apps/eventlog_v2_00fe9epc1cjpq00q/00fe9epc1cjpq00q.inprogress
23/10/27 06:12:46 INFO DefaultEmrServerlessRMClient: Containers created with container role SPARK_EXECUTOR. key to container id map: Map(2 -> 08c5b7e1-1b1b-dd4b-62c2-3a7ab4c18ac8, 5 -> 26c5b7e1-1b13-e4bb-8cf6-0a60d7c7f5cc, 8 -> 84c5b7e1-1b22-e778-85e7-3b8e950e0a21, 7 -> 62c5b7e1-1b45-344a-45cf-d3deb353616f, 1 -> 78c5b7e1-1b2f-5103-7308-a83aefb136f8, 4 -> a6c5b7e1-1b3d-23b5-549e-bec6bb731d45, 6 -> 86c5b7e1-1b0c-2433-e7f0-24c75089ba24, 9 -> 12c5b7e1-1b35-dcd6-7cc4-10346fd83dfc, 3 -> 18c5b7e1-1b4c-740e-8965-7a9b4915f5e6, 10 -> 8cc5b7e1-1b05-49e2-c3a3-c6870e7b2340)
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:69d4:5763:1571:e8f5:33610) with ID 7,  ResourceProfileId 0
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:69d4:5763:1571:e8f5]:41483 with 7.9 GiB RAM, BlockManagerId(7, [2a05:d018:107:5a00:69d4:5763:1571:e8f5], 41483, None)
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:3855:6e2e:5ec2:9670:56494) with ID 2,  ResourceProfileId 0
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:dc42:d9ab:6f13:a7f4:50894) with ID 8,  ResourceProfileId 0
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:7ccc:70a0:84d8:7e13:42610) with ID 5,  ResourceProfileId 0
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:b57:4798:8281:3de4:48974) with ID 6,  ResourceProfileId 0
23/10/27 06:12:50 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:ee9a:1854:d167:471b:32842) with ID 10,  ResourceProfileId 0
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:3855:6e2e:5ec2:9670]:46183 with 7.9 GiB RAM, BlockManagerId(2, [2a05:d018:107:5a00:3855:6e2e:5ec2:9670], 46183, None)
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:dc42:d9ab:6f13:a7f4]:33559 with 7.9 GiB RAM, BlockManagerId(8, [2a05:d018:107:5a00:dc42:d9ab:6f13:a7f4], 33559, None)
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:7ccc:70a0:84d8:7e13]:35807 with 7.9 GiB RAM, BlockManagerId(5, [2a05:d018:107:5a00:7ccc:70a0:84d8:7e13], 35807, None)
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:b57:4798:8281:3de4]:37141 with 7.9 GiB RAM, BlockManagerId(6, [2a05:d018:107:5a00:b57:4798:8281:3de4], 37141, None)
23/10/27 06:12:50 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:ee9a:1854:d167:471b]:38219 with 7.9 GiB RAM, BlockManagerId(10, [2a05:d018:107:5a00:ee9a:1854:d167:471b], 38219, None)
23/10/27 06:12:51 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:d2d1:d67e:bfaf:4be6:60494) with ID 4,  ResourceProfileId 0
23/10/27 06:12:51 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:d2d1:d67e:bfaf:4be6]:43541 with 7.9 GiB RAM, BlockManagerId(4, [2a05:d018:107:5a00:d2d1:d67e:bfaf:4be6], 43541, None)
23/10/27 06:12:51 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:836b:42d:bf25:96c4:53088) with ID 9,  ResourceProfileId 0
23/10/27 06:12:51 INFO EmrServerlessClusterSchedulerBackend: SchedulerBackend is ready for scheduling beginning after reached minRegisteredResourcesRatio: 0.8
23/10/27 06:12:51 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:ce83:e099:9129:7f2a:56734) with ID 3,  ResourceProfileId 0
23/10/27 06:12:51 INFO SharedState: Setting hive.metastore.warehouse.dir ('null') to the value of spark.sql.warehouse.dir.
23/10/27 06:12:51 INFO SharedState: Warehouse path is 'file:/home/hadoop/spark-warehouse'.
23/10/27 06:12:51 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:836b:42d:bf25:96c4]:44279 with 7.9 GiB RAM, BlockManagerId(9, [2a05:d018:107:5a00:836b:42d:bf25:96c4], 44279, None)
23/10/27 06:12:51 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:ce83:e099:9129:7f2a]:43411 with 7.9 GiB RAM, BlockManagerId(3, [2a05:d018:107:5a00:ce83:e099:9129:7f2a], 43411, None)
23/10/27 06:12:51 INFO EmrServerlessClusterSchedulerBackend$EmrServerlessDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (2a05:d018:107:5a00:d9d9:ced2:7d72:1aed:37034) with ID 1,  ResourceProfileId 0
23/10/27 06:12:52 INFO BlockManagerMasterEndpoint: Registering block manager [2a05:d018:107:5a00:d9d9:ced2:7d72:1aed]:42027 with 7.9 GiB RAM, BlockManagerId(1, [2a05:d018:107:5a00:d9d9:ced2:7d72:1aed], 42027, None)
23/10/27 06:12:53 INFO FlintREPL: Updated job: {"jobid": 00fe9epc1cjpq00q, "sessionId": NWpKUFBobmtiZ215czM=} from .query_execution_request_mys3
23/10/27 06:12:53 INFO FlintREPL: read from .query_execution_request_mys3
23/10/27 06:12:53 INFO FlintREPL: read from .query_execution_request_mys3
...
......
.........
23/10/27 06:27:48 INFO FlintREPL: read from .query_execution_request_mys3
23/10/27 06:27:48 INFO FlintREPL: read from .query_execution_request_mys3
23/10/27 06:27:49 INFO FlintREPL: read from .query_execution_request_mys3
23/10/27 06:27:49 INFO FlintREPL: read from .query_execution_request_mys3
23/10/27 06:27:50 INFO FlintREPL: read from .query_execution_request_mys3

I think @kaituo already added default timeout for REPL job. Feel free to reopen if you still see the issue. Thanks!


[Actu] should display tooltip with word comments over icon

USE Primeng TOOLTIP  , and strategy to add Module (externe Module)

I am not understanding what to dohere

icon should provide a tooltip

see my cart icon in product list...  mouseover on it you see tooltip

Or here
https://medium.com/@markathompson


Using Steam Playtime vs RAWG Playtime

the playtime fields comes from the RAWG API and according to their documentation should represent the average playtime from Steam. There is currently no way to inject data from the Steam game data into the file templates for your vault (could be added, just isn't available in current version).

Originally posted by @CMorooney in https://github.com/CMorooney/obsidian-game-search-plugin/issues/32#issuecomment-2282970128
I was surprised when you said in the other thread that playtime was being pulled from the RAWG API rather than the Steam API. I'd personally love to be able to see my own playtime. I do see in the Steam API there's a couple items you could pull:
playtime_2weeks The total number of minutes played in the last 2 weeks
playtime_forever The total number of minutes played "on record", since Steam began tracking total playtime in early 2009.
I imagine it's a bit annoying to get RAWG and Steam to match, but if we're able to store the ID code for both APIs, that could maybe cut down on any work to future file updates.

I did start looking into this and have a local branch pulling in playtime_forever and playtime_2weeks when syncing steam data
I do think that if we're going to add this feature I need to create a separate command and startup sync option for updating existing notes with steamId properties with latest playtime data (with more Steam API calls)
So I'm going to take a little more time to add those pieces and test

That's a good idea. For playtime_forever, it might be worth adding an option to only sync games with more than 0 hours as well. Or maybe a user defined hour total, default of 0.

@Handorin I opened a PR here feel free to take a look, I'm going to sit on it and test a little more before merging (or if you have any comments, of course)

merged
@Handorin if you're able to check out 0.2.9 lmk

my steam playtime_forever is all over the place (one file claims over 56,000 hours). also, not sure if I'm doing anything wrong in my template, but at first I forgot to add the variables, and they got automatically added to the YAML section. I went back and added them and reran the files, but nothing populates there.
Steam 2 Week: {{steamPlaytime2Weeks}}```

steamPlaytimeForever and steamPlaytime2Weeks are injected into note metadata automatically, you do not need to template them nor will the tamp later pick them up.
They are also reported in minutes

Ahh, that makes sense. In that case, dividing by 60 got me to the right spot. If it's in the docs, I didn't read it cause my dog is being a distraction and I'm multi tasking it lol
You're right on the template though, I'd probably only query it to some other place, but gotta try to break it and test what others might do


fix: rust channel closing

LGTM, let's discard all the changes done to packages/services

oh yes, looks like I've based off of the wrong branch


Actor-system related questions

Brief summary
Some stuff can't be written in a blocking model, even a non-blocking blocking model like async/await. By blocking I mean that when you do an async call, your coroutine blocks, and the called object is also blocked on that one piece of work until it returns asynchronously. An obvious example that doesn't fit this is a network stack layer where events come in from both below and above and also from timers. All these events have to be responded to immediately. Blocking (or logically blocking) just won't work.
Doing some kind of a "select" on the calling side solves the "only one outgoing call" problem, and the "being called blocks an object" (i.e. "only one incoming call") problem can probably be solved by having multiple proxy objects for your main object, so you don't block the main object. But this is all a very round-about way of getting the required behaviour.
So this is where the actor model comes in. I don't know whether you want to discuss the actor model in this review, but the subject keeps on coming back. As the author of Stakker crate, I am very happy to contribute to the discussion if it is of interest. Here are some subjects you might wish to cover in your review:
Different models of actor system in relation to async/await:

Very high-level actor system, i.e. used for cross-machine communication. Sits way above async/await.
Medium-level actor system, i.e. actors implemented immediately above async/await runtime
Low-level actor system, i.e. close-to-the metal actor system, sits below async/await (i.e. low-level actor system acts as an executor)

Impedance mismatch between async/await and actor model:

An actor can have many calls outstanding on it, and also have many calls outstanding on other actors
Async/await only supports one call each way without bringing in extra features
Means that actor systems interfacing to async/await have to deal with this impedance mismatch, i.e. either compromising the actor model (e.g. blocking the whole incoming actor queue whilst a single outgoing async/await call blocks) or adding intermediate actors that wrap an async/await object and queue the calls to that object so that other actors don't have to block

So I guess these are the questions this raises:

How best to handle people who come to async/await trying to solve a problem which really needs a non-blocking actor system?
How best to support people implementing new actor runtimes either above or below async/await?
How best to support interfacing between actor systems and async/await, i.e. dealing with the impedence mismatch?

For example, could we make async/await suitable for actor-like tasks? The fundamental problem is that the state self is locked during the .await. If more than one coroutine could access self at the same time (i.e. interleaved at yield points) then the problem of blocking the actor queue would be solved. (If this could be done with only static checks, i.e. no runtime RefCells or whatever, so much the better.) However maybe this is just completely incompatible with the async/await model, so it is just not possible. So an external actor system is the only way to handle these kinds of problems.
For example, stuff of interest related to async/await for my own low-level actor system (Stakker):

Since this plans to act as an executor to interface to the async/await ecosystem, the executor-independent interface is of great interest, e.g. common traits and other means for executor-independent async/await code to talk to executors
To implement actor coroutines with low overhead, it needs an 'until_next_yield lifetime in async/await in order to safely switch in and out references to self and the context. Or alternatively completion of the existing plans for Rust generators. This is allow several actor coroutines to efficiently interleave access to the same shared actor state.

Optional details

Which character(s) would be the best fit and why?
Niklaus: new programmer from an unconventional background
What are the key points or morals to emphasize?

Need to guide people who have a problem to solve that isn't easily solvable with async/await.
Need to focus on executor-independent interop between executors and async/await to grow the executor ecosystem, e.g. to allow actor system-based executors
Need to consider whether it's possible to smooth the interop between actor model and async/await model

Tell me if you want me to write this up, i.e. whether this (or any parts of it) are subject areas of interest, and where in your framework for this review it should fit.

I think the best way I can contribute right now is try to add async/await support to Stakker, with Stakker working as an executor. (This was already planned.) Then write it up as a status quo, I guess for some fictional runtime, assuming I get enough of it done within the time limits for this review. Since Stakker was implemented before async/await stabilised, it wasn't designed around the same assumptions, so it should be a reasonable test-case.
One question I have is: How big is the executor-independent async/await ecosystem that I can expect to be able to interface to? If there was (in future) a way for crates to advertise that they support running (partially or fully) across runtimes, e.g. some tag or fixed phrase, then that would be useful.
Stuff I should look at supporting:

std::future::Future
futures crate
futures-lite crate
Tokio AsyncRead, AsyncWrite?
async_executors crate interface
agnostik crate interface

Anything else?

I'm trying to think how to turn this into a story -- I'd love to read more about it.

I have a couple of suggestions for stories:

"Alan creates a deadlock". Because there's effectively a lock whilst an async call is made (i.e. whilst awaiting), there is also a possibility of a deadlock, maybe in combination with channels or something. I'm not familiar enough with coding for async/await, but maybe an example can be constructed.

"Alan makes a reentrant call". Are these possible in general under async/await? Reading some of the docs I hear of people making a call to tokio and it panicking because they are already in a call within tokio, e.g. block_on or something. Again I'm not familiar enough to think of a good example.

I don't want to sound critical, since I've been coding with the never-blocking actor model for 10 years and it's natural to me. Sequential coding is much more familiar: just look at the relative popularity of Go vs Pony. So I can totally understand the motivation for Rust's async/await. But maybe these are some of the trade-offs for that familiarity. In the first 3-4 pages of my Stakker design notes I briefly go over how I ended up back with the actor model again, even though I was trying something different in Rust. The main thing is never-blocking, so there can't ever be a deadlock, and the borrow checker forcing shallow stacks, which means it's impossible to construct code with a reentrant call. So I guess whatever I do, I keep coming "home" to the actor model, although that isn't planned.
I don't think shallow stacks are the only way, though, but to avoid reentrant calls you need a way to defer a call to a queue. The actor model gives you the wiggle-room to do that, because all the inter-actor calls are defined as async.
Regarding having N calls outstanding at the same time from an actor (or to an actor), I'm not sure how to make that into a story. I know that it really suits some areas of application, although perhaps it's not necessary for most. So you can fire off N calls (or equivalently send N messages) and trust that you'll get the responses back at some point. (Stakker guarantees that you'll get a response even if the called actor fails and the Ret is dropped).
The alternative coroutine model which I hope to implement for Stakker, which I've called actor coroutines, also seems hard to turn into a story. I've been coding a long while using this model in Lua. This gives a sequential coding model, but for actors. The coroutine has direct access to the actor state (i.e. Self) when it runs, and can only live as long as the actor. Logically the 'resumes' are driven (behind the scenes) by "messages" received by the actor (although in reality these are just FnOnces on a queue like everything else). One significant difference to async/await is that since this is a never-blocking system, when the coroutine yields, normal actor behaviours and other actor coroutines for the same actor may run. So the coroutine has to give up their &mut Self reference on each yield. Some more notes here. (This is giving me some difficulties to implement on top of async/await, since I want to avoid dynamic checks.)
The other story which I hope to contribute to is:

"Grace tries to interface her low-level runtime to the async/await ecosystem".

This is pretty well-defined already. Someone at some point has to decide that some of these interfaces are mature enough and well-enough tested to pull into the standard library. I don't have a high-enough perspective to judge that, but perhaps I can give some more data. I'm looking forward to getting into the detail of this.

I've documented the first part of implementing an executor on top of my actor runtime: https://uazu.github.io/blog/20210406.html
Maybe the different perspective might be interesting. I consider using GhostCell with futures. I don't have any conclusions yet as I've only done the basic stuff so far.

I want to add that “some stuff can't be written in a blocking model, even a non-blocking blocking model like async/await.” is a somewhat profound fact, which isn’t really widely known. For example, only this year I was able to put my finger on a specific problem:
https://matklad.github.io/2021/04/26/concurrent-expression-problem.html
(Stakker design notes were instrumental to my understanding, thanks!)

For some reason people want to write Go in Rust, so they're just going to have to learn the hard way all the places where that's not a good idea. Yes, it is convenient for a certain class of problem. For other problems they are going to find it very hard to find a clean solution, and perhaps wonder why. Layering improvised actors on top of channels and an async/await runtime seems a very poor workaround to me, with its own unique problems that a low-level actor model system doesn't have. I can't be blogging all the time to communicate this, although I might try again at some point.
I haven't taken the async/await work for Stakker any further yet because I have another unrelated open-source crate that I'm trying to complete and get out the door in spare moments.


test

This PR fixes #

/merge

/merge

/merge

/merge

/merge

/merge

/merge

Merging PR based on approval from @aaomidi


7.1 Desktop Update for OS X is corrupted

I have downloaded the 7.1 update twice but am not able to run, OS X says it "may be damaged or incomplete".

I downloaded the latest update above, still throwing an error:

Please verify the checksum of the download.
For build 7.1.179 the md5 checksum is 34294fa21081e98aafdefde54c7ba806
There are no known signing issues with the OSX app at the moment.
Most likely it's a corrupt download.
But to be sure, please verify the checksum and if it's wrong, try to download from another network location / with another browser.


Create Initial Shiny App

Overview
This may get broken up into multiple issues at some point in the future.
Currently, you are using Google Sheets as your budgeting app. It works ok, but you you may want to create more of a database-like solution.
Useful links

SQL diagram
Wiki notes about paying bills

Other considerations

Is there a USAA API I can use to pull in account information directly from USAA?

Tasks

[x] Create the home page
[ ] Complete the code to create the bill_pay data frame. I'm thinking this will be the table I use when I'm paying bills.
[ ] Create an interactive Shiny interface for paying bills.

2023-03-24

Left off working bill pay functionality.
Right now, I'm just trying to put together the bill pay table in a non-interactive way (bills_due.R).
I need to get a clearer idea of what the end goal is.

Copy and paste for commits:
Working on bill pay table
Part of #3
- Create a non-interactive combined bill pay table in bills_due.R


Optionally store finalized header's state for best update of every sync committee period

Is your feature request related to a problem? Please describe.
A light client might require the beacon state for all sorts of state proofs. In my case, I would like to use block_roots for ancestry proofs. I have a finalized beacon header, and now want to provide that a beacon header is an ancestor of the finalized header. To do that, I need at least one finalized header beacon state per sync committee period to import older beacon blocks.
Describe the solution you'd like
A flag to optionally persist the last finalized header beacon state on disk. A nice extra would be to say how many states should be persisted (e.g. 50, and if there are more states they will pruned).
Describe alternatives you've considered
I could update this parameter myself: https://github.com/ChainSafe/lodestar/blob/unstable/packages/beacon-node/src/chain/archiver/archiveStates.ts#L12
Additional context
Context on Discord: https://discord.com/channels/593655374469660673/621838504955084830/1074751947728498811

@g11tech#6265 I see you changed the issue title from "last update" to "best update". I am not sure "best update" will work, because say in sync period (of 64 slots) 1 the best update is slot 10, and in the next update the best update is slot 120, there will be a where the beacon state won't contain block roots for slots 11-63. Unless I misunderstand how the best update works, maybe it already looks at the most recent block in a sync committee period.

If the period is 64 slots:
so period 0 's best update is slot 10 and has lets say finalized header at slot 6
period 1's beast update us slot 120 and lets say has finalized header at slot 100
So 2 states will be store for slot 6, 100
Does this make it clear and usable for you?

That won't work for my use case, because block_roots only stores 64 blocks, so the two saved states will not cover slots 7 - 36.

That won't work for my use case, because block_roots only stores 64 blocks, so the two saved states will not cover slots 7 - 36.

ok will reach out to you to understand your usecase


File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/supervise.py", line 113, in exec_supervise
    supervisor(api.uip.get_user_inputs(api.uip.parent_keys[0],
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/supervise.py", line 76, in supervisor
    measurement = Zone.supervisor_loop(Thermostat, session_count,
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/thermostat_common.py", line 1054, in supervisor_loop
    self.refresh_zone_info()
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 796, in refresh_zone_info
    all_zones_info = get_zones_info_with_retries(
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 298, in get_zones_info_with_retries
    raise ex
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 254, in get_zones_info_with_retries
    return_val = func()
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 228, in get_zones_info
    return get_zones_info_with_retries(super().get_zones_info,
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 298, in get_zones_info_with_retries
    raise ex
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 254, in get_zones_info_with_retries
    return_val = func()
  File "/home/pi/.local/lib/python3.9/site-packages/pyhtcc/pyhtcc.py", line 736, in get_zones_info
    data = self._post_zone_list_data(page_num)
  File "/home/pi/.local/lib/python3.9/site-packages/pyhtcc/pyhtcc.py", line 669, in _post_zone_list_data
    return self._request_json(
  File "/home/pi/.local/lib/python3.9/site-packages/pyhtcc/pyhtcc.py", line 515, in decorator
    return func(self, *args, **kwargs)
  File "/home/pi/.local/lib/python3.9/site-packages/pyhtcc/pyhtcc.py", line 721, in _request_json
    raise UnauthorizedError("Got unauthorized response from server")
pyhtcc.pyhtcc.UnauthorizedError: Got unauthorized response from server

this issue has not been observed in a little while, the upgrade to python 3.12 on pi machines may have helped improve reliability, I am decreasing the priority on this issue.


Missing artifact org.nextrtc.signalingserver

When I import the project into my workspace and then execute "maven update" a got this error in pom.xml file

Hello :) I didn't release library, so you have to download https://github.com/mslosarz/nextrtc-signaling-server this library build it, and then ran maven on example project

signaling-server is now in maven central


How can add python Built distribution(bdist) in yocto build

I  am trying to append some packages in yocto build with dunfell branch but the issue is these python packages required setuptools but setuptools not sported by dunfell.
My question is can i add  python package Built distribution(bdist) rather then Source distribution(sdist)  directly to append packages in yocto build if yes then how. I am new in yocto and sorry if its a very simple question.

@jahanzaib1234 I would redirect you to the Yocto mailing list as this is not a Raspberry Pi-specific question. On the other hand, I don't know much about the current status of python support in dunfell as things have changed a fair bit lately so I'd follow up with the lads on the mailing list for this question.

@agherzan thanks for your time


VS build scripts don't work

C:\dev\grpc-master\vsprojects\build_vs2010.bat

setlocal
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
Microsoft (R) Build Engine version 4.6.1087.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1011: Specify which project or solution file to use because this folder contains more than one project or solution file.

This does work C:\dev\grpc-master\vsprojects\build_vs2010.bat grpc.sln, but unlike what @jtattermusch suggests here: https://github.com/grpc/grpc-experiments/issues/173 it still fails on openssl & zlib dependencies. It also complains about more basic stuff like missing inttypes.h.

I'm surprised we still have tooling laying around for vs2010, it's highly unlikely that we'll build there at this point (we piled our chips heavily into C99 for C core, and pre-2013 msvc's don't play well there).

Then maybe delete the 2010 related build files, to not give the impression that they're supported :)

https://github.com/grpc/grpc/pull/9238
On Wed, Jan 4, 2017 at 9:45 AM Wouter van Oortmerssen <
<EMAIL_ADDRESS>wrote:

Then maybe delete the 2010 related build files, to not give the impression
that they're supported :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/9231#issuecomment-270435889, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudQ9VK_YSDmI4x06L818OwpoeE4_tks5rO9qxgaJpZM4LaOau
.

Now made sure to clone --recursive, building with 2015, but SSL still doesn't find its own headers:
c:\dev\grpc\third_party\boringssl\crypto\asn1\tasn_enc.c(57): fatal error C1083: Cannot open include file: 'openssl/asn1.h': No such file or directory [C:\dev\grpc\vsprojec ts\vcxproj\boringssl\boringssl.vcxproj]

Opening the boringssl project in VS to try and fix the issue causes:
Unable to read the project file "boringssl.vcxproj".

C:\dev\grpc\vsprojects\vcxproj\boringssl\boringssl.vcxproj(55,5): The imported project "C:\dev\grpc\vsprojects\vcxproj\vsprojects\global.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

We are cleaning up the gRPC issue backlog and we think your issue might be fixed. If you are still experiencing this issue with Windows builds, please re-open the issue with information on how to reproduce.

@mehrdada if it is fixed, maybe link to the commit where it was fixed?

@aardappel Sorry for the confusion. I meant we expect Windows build to work fine; I did not mean building via VSProjects in particular. That said, there is a pull request in flight to mark pre-generated VSProjects as deprecated and make CMake the recommended solution on Windows (https://github.com/grpc/grpc/pull/11462).
In any case, if you feel this issue should remain open (in light of the pull request I linked it), please let me know and I'll reopen it.


Enquiry about the data process

Hi,
May I know how the authors process the data? For example, how do you normalize the data?
Thank you very much for your help.

Hi @EddieBio , thank you for your interest in our work. For all the datasets, we applied the standard preprocessing pipeline: filtering out all-zero genes and cells, library size normalization with $\text{target sum} = 10000$, and then log1p normalization.


[FEATURE] - Extend with custom data types

I want to extend the CLI app with custom data types not supported by Typer/Click. Right now, the Typer app raises an error on encountering an unsupported type.
The solution you would like
We could add a method to the Typer object to register custom data types along with a function to convert terminal input string to an object of the desired type.
A possible API could be:
app = typer.Typer()
app.register_custom_type(_type, _deserializer)

Here is the monkey-patched solution I use right now without providing a registration API. If this seems like a useful feature, I'll try refine this and submit a PR.
import datetime
from typing import Any, Callable, Optional

import typer
import click

_get_click_type = typer.main.get_click_type
REGISTERED_TYPES = {
    datetime.date: lambda string: datetime.datetime.strptime(string, '%Y-%m-%d').date()
}

class TyperCustomParam(click.ParamType):
    name = 'CustomParameter'
    def __init__(self, typ: type, deserializer: Optional[Callable] = None):
        self.name = typ.__name__
        self._deserializer = typ if deserializer is None else deserializer

    def convert(self, value, param, ctx):
        try:
            return self._deserializer(value)
        except Exception as E:
            self.fail(
                f"couldn't serialize {value} to an instance of type {self.name}, error: {E}"
            )

def supersede_get_click_type(
    *, annotation: Any, parameter_info: typer.main.ParameterInfo
) -> click.ParamType:
    if annotation in REGISTERED_TYPES:
        return TyperCustomParam(annotation, REGISTERED_TYPES[annotation])
    else:
        return _get_click_type(annotation=annotation, parameter_info=parameter_info)

typer.main.get_click_type = supersede_get_click_type

Alternatives
Alternatives would be to either modify the original routine or create a wrapper function to accept a Click supported datatype and convert later. Letting users create custom types directly is preferred since that lets us create CLIs without touching existing code.
Thank you for looking into this. Similar to FastAPI, typer is a really nice library.

I need this feature (actually for datetime.date like your example) - so please make PR!

Hey @jackric, the method used above requires a global container, which makes me uneasy. You could probably use this snippet in your code and import the typer module from it.

@ananis25 I think a nice approach would be to register custom types with a new function - either on typer or a typer.Typer object:
import typer
typer.register_type(datetime.date, lambda string: datetime.datetime.strptime(string, '%Y-%m-%d').date())

import typer
app = typer.Typer()
app.register_type(datetime.date, lambda string: datetime.datetime.strptime(string, '%Y-%m-%d').date())

typer.main.get_click_type would then check an internal store of registered types before its default behaviour.
For bonus points, allow multiple deserializing functions to be tried in order. They could be specified as a list to register_type, or multiple calls to register_type

If I understand correctly, the above snippet does exactly this, isn't it? I'd leave it to the maintainers to see if they really want to add this.

I agree with the solution proposed by @jackric.
Also, to add on top of that:
There are lots of "wrapper types" that can be called on a string input and give an augmented object that is still a string Many more are just variants of already handled types.
So maybe if Typer did just try to call the annotated type by default, it would be a quick and easy way to solve many problems with not so much work.
It could even be a enabled (or disabled) with an option in the Typer instanciation. In case some users somehow expect to get an error on unhandled types.

I agree with the solution proposed by @jackric.
Also, to add on top of that:
There are lots of "wrapper types" that can be called on a string input and give an augmented object that is still a string Many more are just variants of already handled types.
So maybe if Typer did just try to call the annotated type by default, it would be a quick and easy way to solve many problems with not so much work.
It could even be a enabled (or disabled) with an option in the Typer instanciation. In case some users somehow expect to get an error on unhandled types.

One thing that is missing when registering custom types (or at least not explicitly clear) is the usage when I just want to add a converter to an existing type. For example - parsing a hexadecimal number. I want to extend the parsing, but the result type is still a number.
The options I see for this are either:
@app.command()
def command(number: int = Typer.Argument(converter=lambda x: int(x, 0)))

Or
class HexInt(int): pass

# Fill in registering custom type

@app.command()
def command(number: HexInt)

I am not sure what I think about either.

One thing that is missing when registering custom types (or at least not explicitly clear) is the usage when I just want to add a converter to an existing type. For example - parsing a hexadecimal number. I want to extend the parsing, but the result type is still a number.
The options I see for this are either:
@app.command()
def command(number: int = Typer.Argument(converter=lambda x: int(x, 0)))

Or
class HexInt(int): pass

# Fill in registering custom type

@app.command()
def command(number: HexInt)

I am not sure what I think about either.

My 2 cents: declaring the HexInt class/type feels wrong, because later the type system says number is HexInt, when we really want to think of it as an int.

My 2 cents: declaring the HexInt class/type feels wrong, because later the type system says number is HexInt, when we really want to think of it as an int.

I wrote a PR that implements this, please let me know what you think: https://github.com/tiangolo/typer/pull/443

+1 would love to see @paulo-raca 's PR merged. Thanks!

Thanks all! Support for this was added in https://github.com/tiangolo/typer/pull/583, the new docs are here: https://typer.tiangolo.com/tutorial/parameter-types/custom-types/, it's available in Typer 0.8.0, just released. :tada:


SP - What permissions does it need?

"Some connections support using an Azure Active Directory (Azure AD) service principal to authorize connections for a logic app"
Could you please provide details on what permissions this SP would need to do this?
Also is there a plan in the future to implement this VIA an MSI - whereby the logic app itself could be defined to have sufficient privileges to do this?
Also can we have a solution in the future which doesn't require client ID secrets to be coded in plain text in arm templates, not exactly best practice
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2f1410cc-4cf2-323e-b928-6776910abadb
Version Independent ID: 4a1f0921-ace4-f30d-8d00-f42201963bd8
Content: Overview - Automate deployment for Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-azure-resource-manager-templates-overview.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

@udderchaos Thank you for your feedback! We will review and update as appropriate.

@udderchaos The permissions for the service principal would depend on the connector you are using them in.
MSI is supported with Logic Apps but only the HTTP Connector can use it for now.
As for using secrets in your ARM Templates, there is already a way to replace them with Key Vault references instead as described in the docs.

@udderchaos Just following up here... Hope my previous comment clears things up.

@udderchaos Hope my previous comment clears things up.
Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


gross-store function signatures for AddItem and RemoveItem are missing "units map[string]int" parameter

The tests require the units parameter:

https://github.com/exercism/go/blob/main/exercises/concept/gross-store/gross_store_test.go#L74
https://github.com/exercism/go/blob/main/exercises/concept/gross-store/gross_store_test.go#L155

The exemplar has the correct parameters:

https://github.com/exercism/go/blob/main/exercises/concept/gross-store/.meta/exemplar.go#L21
https://github.com/exercism/go/blob/main/exercises/concept/gross-store/.meta/exemplar.go#L32

But the stub given to students does not:

https://github.com/exercism/go/blob/main/exercises/concept/gross-store/gross_store.go#L14
https://github.com/exercism/go/blob/main/exercises/concept/gross-store/gross_store.go#L19

This is particularly confusing and frustrating for students using the browser editor because they cannot see the tests to know why they are failing to compile correctly.

Removing due to pre-existing issue tracking this: #1527. I'm just going to duplicate my comment over there.


chore: upgrading github.com/kong/go-database-reconciler to v1.16.1

Updating github.com/kong/go-database-reconciler to v1.16.1, mostly because of https://github.com/Kong/go-database-reconciler/commit/ae3de6e65034392d7aa93ecbc2d6a0d772d16cdb.

@Prashansa-K Would you be able to review this and generate a new release?

@mikefero @tjasko This PR was originated from a fork. So, the tests aren't running on this one.
I have created the same PR here: https://github.com/Kong/deck/pull/1451
I will proceed with that one for the release as it has cleared the tests.


🐛 [BUG]: Background pattern has a slight offset to position 0,0

Is there an existing issue for this?

[X] I have searched the existing issues and this is a new bug.

Current Behavior
The Background extension @vue-flow/background shows dots, which have a slight offset to the position 0,0.

FYI; The correct dots here are made by me and aren't part of the background-extension.
Expected Behavior
It would be expected, that a dot is exactly at 0,0.

Steps To Reproduce

Setup vue-flow with<EMAIL_ADDRESS>add an element at position 0,0
=> the dots have a small offset to the left top corner of the element

Relevant log output
No response
Anything else?
The bug exists since<EMAIL_ADDRESS>and it's origin is most likely https://github.com/bcakmakoglu/vue-flow/pull/1666
The PR mentions, that the pattern now starts at 0,0, but I am unsure if this is how it's supposed to be.
When comparing to the main elements container (class="vue-flow__transformationpane vue-flow__container"), an offset also exists.

Thanks, will be fixed in the next patch release 👍

<EMAIL_ADDRESS>


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
5b96dd7 -> bab77a8

go (source)
toolchain
patch
1.23.0 -> 1.23.1

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 4.15.10 :tada:
The release is available on:

GitHub release
v4.15.10

Your semantic-release bot :package::rocket:


sync idle 7d+ users on discord

created API endpoint in discordActions that will retrieve all users who are idle and will check for the users who are idle for more than 7 days.

If there are users who are idle for more than 7 days then the script will add a tag @group-idle-7d+ on them

Test coverage :

Please always link issue ticket in description


Fix: always clear _draw_called

Disclaimer: I'm not hugely up to speed with this logic, so this fix might be ill-posed.
plt.ioff has no effect with the inline backend when InlineBackend.close_figures is set to True. This PR ensures that we always clear the flag after calling flush.

I hadn't looked at this code in years, but the code itself LGTM, thx @agoose77!
Merging now.


use poetry

Problem: we neither completely lock our dependencies nor specify them
abstractly. That causes two issues. When something updates on
PyPI builds get broken, because dependencies don't match. The
other issue is when someone uses warp with library versions
different from the ones we specify. If they use it as a library,
and they want to use it together with another library that has
another dependency range, it's impossible.
Solution: use lock files. We specify abstract dependencies without
versions in pypyroject.toml and let poetry create a lock
file. This way we always have concrete dependency versions that
are guaranteed to work, but also anyone can try to use other
versions.
Why not pipenv? The dependency resolution UX seems better with poetry,
also it seems to be faster.

Can you update the docs to reflect the need to have poetry installed?

Can you update the docs to reflect the need to have poetry installed?

It's only necessary for development. At the moment there's nothing about development setup in the readme. It would be useful to write about it for contributors (and new team members), but I think that such work belongs to another PR


[bug]: send_email: it does not work - Authenticated user is not authorized to send mail

Check the bug has not already been reported

[X] I could not find the bug in existing issues

Edit function_name and the short error description in title above

[X] I wrote the correct function name and a short error description in the title above

What happened and what did you expect?
Hello, today I try use the function and return this error.
I tested in my personal machine.

Hi.
Thanks for creating the issue.
I had some trouble with my debit card on sendgrid.
It should now be solved.
Can you confirm me it is ok?
Thanks
And sorry for the inconvenience

Hi,
Solved.
Thanks


Allow ids in addition to names

This fixes #243, by overloading every method that takes an device uuid or application name as a string to also take a device or application id if a number is passed.
 I've added new tests so far as possible, but there's quite a few touched methods that don't have any, sadly, so careful review would be very helpful.
This has basically been a review of the entire SDK codebase, and there's a few notes that have come up:

The current docs are a little messy (they duplicate the list of all the models, for example). Way worse though, running npm run docs now generates a totally different file for me to the existing docs, both on this branch but also on master.
The new file duplicates the whole api over and over again, generating very broken docs that about 20x the size of the current ones. Compare: commited / new.
This definitely needs fixing. We did recently bump to jsdoc-to-markdown 2.0, but downgrading doesn't seem to fix this. I don't know anything about jsdoc-to-markdown - any idea what could have caused this? Happy to investigate further if nothing springs to mind.

The overloading strategy works fine, and doesn't break what the docs said, but one of the tests was actually explicitly tested that passing as a number also worked. Is that a concern?

Quite a few methods do a seemingly unnecessary application/device.get. E.g. application.remove, restart, almost every environmentVariable method, etc. See Application.remove for a good example.
In cases like these, we could put together a filter for pine for both name and id cases fairly easily using just the nameOrId argument, to skip the upfront request entirely, and directly do the delete from there. That'd be nice once we get this in the UI, and for API load generally. Is there any reason why we need to keep this? It might return a different format of error if the device doesn't exist, but we should be able to work around that.

Device.restart is deprecated. Is the upcoming real 6.0.0 release a good opportunity to kill it?

The docs and tests for .getDeviceStatus have been wrong since they were originally implemented. Docs, tests and examples say it takes a device uuid, but actually it takes a full device object. The tests happened to pass because a uuid string is duck-type equivalent to an offline device object :smile:.
I've now fixed this - is there anything else we need to check is using this correctly? I've already looked at the cli, which does ignore the docs and use this correctly.

I don't know anything about jsdoc-to-markdown - any idea what could have caused this? Happy to investigate further if nothing springs to mind.

Oh, that's weird. Did you downgrade using npm's ^/~? Maybe there is a minor version increment that broke this and npm is automatically installing the latest one that matches the ranges.

The docs and tests for .getDeviceStatus have been wrong since they were originally implemented. Docs, tests and examples say it takes a device uuid, but actually it takes a full device object. The tests happened to pass because a uuid string is duck-type equivalent to an offline device object

lol, good catch!

This fixes #243, by overloading every method that takes an device uuid or application name as a string to also take a device or application id if a number is passed.

Any need to keep supporting ids for devices? Seems like just uuids is the most reasonable way to go unless I'm missing some use case for ids?

Oh, that's weird. Did you downgrade using npm's ^/~? Maybe there is a minor version increment that broke this and npm is automatically installing the latest one that matches the ranges.

@jviotti I've been manually installing fixed versions. I've tried 1.1.1 (our previous dep), 1.3.8 (latest 1.X) and 2.0.1 (latest), and none of them come up with anything like our current docs. 1.1.1 actually just produces an empty file. I still don't really know why.
What version have you got installed at the moment? If you build the docs yourself on master, can you reproduce this? What about if you delete node_modules, npm install, and build them?

Any need to keep supporting ids for devices? Seems like just uuids is the most reasonable way to go unless I'm missing some use case for ids?

I'll have to hand points on motivation to @emirotin. My understanding is that the UI already has ids for everything everywhere, and it's inconvenient to have to go off and get application names/device uuids for any API requests we want to do anywhere.

@pimterry I'm indeed able to reproduce in master. I went back to v5.4.0, which the last version I released myself and couldn't reproduce it there. Bisecting led me to the following commit: https://github.com/resin-io/resin-sdk/commit/4e73a2c2c371514fc990c90e55a845a9d0259c38
This commit builds the whole SDK into build/resin-browser.js and build/resin-browser.min.js. Notice how the docs npm script looks like:
"docs": "jsdoc2md build/{,**/}*.js > DOCUMENTATION.md"

So the issue is that jsdoc2md is grabbing those files as well (the non minified version precisely, which includes all the JSDoc annotations).

I'll have to hand points on motivation to @emirotin. My understanding is that the UI already has ids for everything everywhere, and it's inconvenient to have to go off and get application names/device uuids for any API requests we want to do anywhere.

Yeah, IDs are the "true" PK/FKs in the API and the UI is built around this assumption.
As we use them for every other resource (for operations like getting an entry by PK or loading the related entry by FK) it makes sense to uniformly support them for the devices as well.
UUIDs (and names) are good for the end users as the brain can parse them and find some recognizable patterns (use last 3 letters of the hex UUID for example), so they make sense for the manual entry. They're also good because making a typo (or losing 1 char) will likely lead to not found error instead of affecting a different object.
But for automated systems IDs are a natural choice.

Thanks @jviotti! Good find. I've now fixed this by excluding the browser builds from JSDoc, and rebuilt the docs. This now works correctly - if we'd prefer we could alternatively move the browser builds somewhere other than build/ instead, but I'm not going to unless anybody shouts because that's more work.

Phew, all done. To reiterate and summarize, this PR now:

Fixes the doc builds
Corrects the docs for .getDeviceStatus
Removes models.device.restart
Overloads every method that takes an uuid or app name to also take a device/app id
Avoids making unnecessary requests just to get ids in the cases where that's possible (there are a few ones where extra request check is necessary though, because we get [] from the api for a bad id, not an error, e.g. builds.getAllByApplication)

If somebody could review and comment/approve when they're happy, I'll get this merged.

@pimterry -- is this last one perhaps a bug you should file with pine.js?
--
Alexandros Marinos
Founder & CEO, Resin.io
+1<PHONE_NUMBER>
@alexandrosm
On Fri, Feb 10, 2017 at 11:07 AM, Tim Perry<EMAIL_ADDRESS>wrote:

Phew, all done. To reiterate and summarize, this PR now:

Fixes the doc builds
Corrects the docs for .getDeviceStatus
Removes models.device.restart
Overloads every method that takes an uuid or app name to also take a
device/app id
Avoids making unnecessary requests just to get ids in the cases
where that's possible (there are a few ones where extra request check is
necessary though, because we get [] from the api for a bad id, not an
error, e.g. builds.getAllByApplication
https://github.com/resin-io/resin-sdk/blob/2b9fe1fb86ec3ebcdee4ef924faac33a7c56a5cd/lib/models/build.coffee#L53
)

If somebody could review and comment/approve when they're happy, I'll get
this merged.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/resin-io/resin-sdk/pull/263#issuecomment-279036409,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABLUCI09TLb3GSuIQcfEelmPjBY_txGpks5rbLVggaJpZM4Lz8Zo
.

Yeah, in my understanding Pine's filter roughly translates to WHERE application = x and the DB happily returns an empty response.

Yeah, it's that we're filtering the set of builds (for example) by application id, not finding an application and then finding the builds from it. In that model it makes perfect sense that we get [] instead of a 404, and I'm not sure if pine supports a different approach to this, or what the implications of that would be. I think it's fine as is for now.

I'm still waiting for somebody to approve this if you're happy with all the above. @emirotin @Page- @jviotti


Typo in the comments in NBestGenerator

I found a typo in the class comment by chance:
https://github.com/google/mozc/blob/master/src/converter/nbest_generator.h#L82
"enumurate" should be "enumerate"

Also, "CandiadteFilter" -> "CandidateFilter" https://github.com/google/mozc/blob/master/src/converter/nbest_generator.cc#L316

https://github.com/google/mozc/blob/master/src/converter/nbest_generator.cc#L292
"node2" should be "node3".

Thank you for the report.
4a9905055885e735cc4716e6c0689cde1896d6cd fixed the typos in this issue and also other typos.
Thanks.


add support for tiledmap

http://www.mapeditor.org/

https://github.com/hiloteam/Hilo/tree/tiledmap


BUG: Import Postman collection exported by bruno failed to be imported in postman

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I've tried to export a bruno collection in "postman collection" format, but when i've tried to import this file on postman, the requests in the collection hasn't take the path, the situation is like this:
Pls can someone give me a solution for this bug?
.bru file to reproduce the bug
Test Api Fittizie.json
Screenshots/Live demo link

Hey @alessandrofaccio-ors, thank you for taking the time to report this bug. Your issue seems similar to the one at https://github.com/usebruno/bruno/issues/2496. Can you please confirm it?

Hey @sanjai0py, yeah it's similar, i have the problem connected to host and path, because bruno export empty arrays, do you know how can i fix it?
Bruno to Postman Collection:

Collection exported by postman

A PR is available to fix this issue, which has not been merged yet. If possible test the PR against your collection to provide feedback or give it a ping!

IT WORKS !!! Do you want to realease this bugfix in the official version in the next few days?

The pull request fixing this bug has been merged and is expected to go out in the next release, which is later this week. Thanks to @alessandrofaccio-ors for reporting this issue and testing it!

I have merged the PR that fixes this issue, it will be available in the the upcoming release v1.30.0 that is scheduled to go out in the next couple of days.


Bazel rule renderer SDL like Pilot

https://github.com/JohnSundell/Plot

Much simplified version implemented in #23


omnitrace-install.py

omnitrace-install.py will be uploaded as a release asset
script simplifies selecting the correct installer script

Docker Example
ARG OMNITRACE_VERSION=latest
ARG ROCM_VERSION=5.3

RUN wget https://github.com/AMDResearch/omnitrace/releases/download/${OMNITRACE_VERSION}/omnitrace-install.py && \
    python3 omnitrace-install.py --rocm ${ROCM_VERSION} && \
    rm omnitrace-install.py

Options
$ python3 omnitrace-install.py --help
usage: omnitrace-install.py [-h] [--version] [-p PREFIX] [-i]
                            [-D DOWNLOAD_PATH] [-d {auto,ubuntu,opensuse}]
                            [-v OS_VERSION] [-k]
                            [--rocm [VERSION or ROCM_PATH with .info/version files]]
                            [-e [{papi,ompt,python3} [{papi,ompt,python3} ...]]]

optional arguments:
  -h, --help            show this help message and exit
  --version             Print omnitrace version which will be installed
  -p PREFIX, --prefix PREFIX
                        Installation prefix
  -i, --interactive     Prompt to accept the license and include/exclude
                        subdirectory
  -D DOWNLOAD_PATH, --download-path DOWNLOAD_PATH
                        Download directory (default: temporary directory)
  -d {auto,ubuntu,opensuse}, --os-distrib {auto,ubuntu,opensuse}
                        Target OS distribution
  -v OS_VERSION, --os-version OS_VERSION
                        Target OS version
  -k, --keep-download   Do not delete downloaded file as installation
  --rocm [VERSION or ROCM_PATH with .info/version file(s)]
                        Install omnitrace with ROCm support. Accepts either a
                        ROCm version (e.g. '5.4') or the root path to the ROCm
                        install containing .info/version* file(s) (e.g.
                        /opt/rocm if /opt/rocm/.info/version exists). If no
                        argument is provided, the ROCm version will attempted
                        to be deduced from $ENV{ROCM_PATH}/.info/version
  -e [{papi,ompt,python3} [{papi,ompt,python3} ...]], --extensions [{papi,ompt,python3} [{papi,ompt,python3} ...]]
                        Omnitrace extensions, e.g. PAPI, OMPT, and Python3

Usage Example
$ python3 omnitrace-install.py -p /usr/local/omnitrace --rocm 5.2
### Downloading https://github.com/AMDResearch/omnitrace/releases/download/v1.7.3/omnitrace-1.7.3-ubuntu-18.04-ROCm-50200-PAPI-OMPT-Python3.sh ...
### Download completed: /tmp/omnitrace-install-tjibafo7/omnitrace-1.7.3-ubuntu-18.04-ROCm-50200-PAPI-OMPT-Python3.sh
### Creating directory: /usr/local/omnitrace ...
### Installing omnitrace to /usr/local/omnitrace ...
### Executing: /tmp/omnitrace-install-tjibafo7/omnitrace-1.7.3-ubuntu-18.04-ROCm-50200-PAPI-OMPT-Python3.sh --prefix=/usr/local/omnitrace --exclude-subdir --skip-license

omnitrace Installer Version: 1.7.3, Copyright (c) Advanced Micro Devices, Inc.
This is a self-extracting archive.
The archive will be extracted to: /usr/local/omnitrace

Using target directory: /usr/local/omnitrace
Extracting, please wait...

Unpacking finished successfully

### omnitrace v1.7.3 installation to /usr/local/omnitrace succeeded!
### Removing install script /tmp/omnitrace-install-tjibafo7/omnitrace-1.7.3-ubuntu-18.04-ROCm-50200-PAPI-OMPT-Python3.sh ...
### Removing temporary directory /tmp/omnitrace-install-tjibafo7 ...

@jrmadsen, the command below fails because there is no link called "latest" in that path. I've had to use "v1.8.0" explicitly to have this work.
Fails:
$ export OMNITRACE_VERSION=latest
$ wget https://github.com/AMDResearch/omnitrace/releases/download/${OMNITRACE_VERSION}/omnitrace-install.py

Works:
$ export OMNITRACE_VERSION=v1.8.0
$ wget https://github.com/AMDResearch/omnitrace/releases/download/${OMNITRACE_VERSION}/omnitrace-install.py

And when I tried the python script, I saw the following errors:
$ export OMNITRACE_INSTALL_DIR=/my/path/to/install
$ python3 omnitrace-install.py -p ${OMNITRACE_INSTALL_DIR} --rocm ${ROCM_PATH}
Traceback (most recent call last):
  File "omnitrace-install.py", line 170, in <module>
    os_distrib, os_version = get_os_info(args.os_distrib, args.os_version)
  File "omnitrace-install.py", line 62, in get_os_info
    _key, _data = line.split("=", 1)
ValueError: not enough values to unpack (expected 2, got 1)

Could you help clarify?

$ export OMNITRACE_VERSION=latest
$ wget https://github.com/AMDResearch/omnitrace/releases/latest/download/omnitrace-install.py

So I got it wrong, "latest" needs to come before download for that to work.

And when I tried the python script, I saw the following errors:
$ export OMNITRACE_INSTALL_DIR=/my/path/to/install
$ python3 omnitrace-install.py -p ${OMNITRACE_INSTALL_DIR} --rocm ${ROCM_PATH}
Traceback (most recent call last):
  File "omnitrace-install.py", line 170, in <module>
    os_distrib, os_version = get_os_info(args.os_distrib, args.os_version)
  File "omnitrace-install.py", line 62, in get_os_info
    _key, _data = line.split("=", 1)
ValueError: not enough values to unpack (expected 2, got 1)

Could you help clarify?

Can you post the contents of /etc/os-release for the system you are trying to install on?

And when I tried the python script, I saw the following errors:
$ export OMNITRACE_INSTALL_DIR=/my/path/to/install
$ python3 omnitrace-install.py -p ${OMNITRACE_INSTALL_DIR} --rocm ${ROCM_PATH}
Traceback (most recent call last):
  File "omnitrace-install.py", line 170, in <module>
    os_distrib, os_version = get_os_info(args.os_distrib, args.os_version)
  File "omnitrace-install.py", line 62, in get_os_info
    _key, _data = line.split("=", 1)
ValueError: not enough values to unpack (expected 2, got 1)

Could you help clarify?

Can you post the contents of /etc/os-release for the system you are trying to install on?

NAME="Red Hat Enterprise Linux"
VERSION="8.7 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.7 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.7
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"

Ah, it's that blank line that's causing there error. But v1.8.0 doesn't have installers for RedHat. That will be available in v1.9.0 -- I just need to merge #257 (which should be done in the next hour or two) and fix this bug and I'll generate a release.

Okay perfect, thank you for your prompt response @jrmadsen !


Normalize Arrow____ vs ____

Firefox and Chrome do this differently, which is inherited even with the polyfill (/maybe related?). Ideally users of this component wouldn't need to know about that.

Fixed in v0.2.0


Review opengraph / socials for site

Check we have an image and appropriate title / description for each page
Prompted by a question from Richard Collins at Jetstack.

A few tools and services that help with that:

https://og-image.xyz
https://www.bannerbear.com
https://og-image.vercel.app


Wrong coloring in coverage reports

The coverage reports are good but why it is showing the lines in red if they were run in my tests?

Probably this issue is related to: https://github.com/bcoe/nyc/issues/198#issuecomment-200829793


Some problems with the evaluation on leaderboard

I was trying to submit the transfuser model to the CARLA Leaderboard, and the submission says it was pending as it uses computes and never progresses. I tested the image on a local docker container and found that run_evaluation.sh times out as the client cannot connect to the server. Normally, I run the server on a different terminal. When I try to do this on the container,  make_docker.sh does not copy the ./CarlaUE4.sh to the image, so we don't have a usual way to run the CARLA server on the container. Can someone lend more details on how to connect/run the server on the docker container, or is if someone faced a similar issue?

You simply run CARLA outside of the docker container.
The server can communicate with the client running inside the docker container.
You can see how to configure the docker start properly here.

I tried running the run_docker.sh in the tools folder of the transfuser directory. I get an error saying:
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/transfuser/results/. See 'docker run --help'.
There exists a folder already but the error says a source path does not exist.
I changed the --mount to -v and this is the error:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
I am not sure how to get around this.
Another question I had is that, run_docker,sh just ensures the local version of the docker can be tested. But my submission to the leaderboard server ran for ~150 hours with a status of finished. However, I cannot see any values on the log and this is the data shown on leaderboard:
{ "values":[] "labels":[ 0: "Driving score" 1: "Route completion" 2: "Infraction penalty" 3: "Collisions pedestrians" 4: "Collisions vehicles" 5: "Collisions layout" 6: "Red light infractions" 7: "Stop sign infractions" 8: "Off-road infractions" 9: "Route deviations" 10: "Route timeouts" 11: "Agent blocked" ] "progress":[ 0: 4 1: 100 ] "icons":[ 0: "carla_camera" 1: "carla_camera" 2: "carla_camera" 3: "carla_imu" 4: "carla_gnss" 5: "carla_speedometer" 6: "carla_lidar" ] "entry_status":"Started" }
Are there are any suggestions/ similar problems you faced regarding this ?

You might need to install nvidia support for docker, see here.
For problems with the online leaderboard you should talk to the organizers they will usually help you.
You can talk with Guillermo López, Joel Moriana or German Ros.
You can do that via their e-mail or the CARLA discord.

@Kait0 , thanks for clarifying that. I am now able to run the evaluation locally but keep running into other problems with the submission to leaderboard.


Unexpected Token Module Parse Error

I was looking forward to trying this library and I got the following error and I have no idea why.

Module parse failed: Unexpected token (315:41)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|     const clearLayers = () => {
|       // Clear all childnodes of layer elements

  TextlayerREF.value.replaceChildren?.();

|       AnnotationlayerRef.value.replaceChildren?.();
|       // Clear event listeners of annotation layer

same here

Your webpack loader seems can't parse optional chaining code, ensure you are using webpack 4 and babel 7 (or upper)

same error:
Module parse failed: Unexpected token (315:41)
You may need an appropriate loader to handle this file type, currently no loaders are configured to
process this file. See https://webpack.js.org/concepts#loaders
|     const clearLayers = () => {
|       // Clear all childnodes of layer elements

  TextlayerREF.value.replaceChildren?.();

|       AnnotationlayerRef.value.replaceChildren?.();
|       // Clear event listeners of annotation layer
using webpack 4 and babel 7,  check please.

Same here


Added credential offer nonce details in issuace data flow

Sorry, there has been an error by me, n_0 is the offer nonce, while n_1 is the request nonce, so here I should have added the details of the offer nonce but instead I documented for n_1. I have opened another PR(#162) for n_1, and will update this for n_0.

I am unable to resolve rebasing errors, so I am deleting this branch


[Suggestions] Suggest new Idea for Cloud Function Demos 💡

Suggest new Idea for Cloud Function Demos 💡
We use Appwrite Cloud Functions demos as a good way to show how Cloud Functions can be used with Appwrite, and also as a good starting point for developers wanting to write their new functions.
We would love to receive your suggestions for other cloud function demos!
Please comment down below if you have such an idea ♥
Before starting any work ⚙

Please wait for Appwrite team feedback 💙
Let us know if you wish to start a new issue and be assigned to work on a function demo
A separate issue will be opened once an idea is approved
What language you want to help with book 🧾

Here are some ideas to get the conversation started. Ultimately, they're meant to target granular questions someone might ask, so some of these would need to be combined depending on the format of the demo. Come to think of it, what type of demos are you imagining?

The simplest cronjob, like logging "hello world."
The simplest endpoint, like returning the current server time.
Basic cronjob/endpoint examples that interact with appwrite's services.
An explanation of endpoint security. E.g. can we create endpoints that can be accessed without authentication? Can we restrict endpoints to certain users/teams?
Endpoints with required/optional parameters.
Endpoints with popular response types (e.g. plaintext, JSON, XML, CSV).
Custom wrappers for REST functions. For example, add an expiration timestamp field 5 days in the future on document PUTs, do not include expiration in document GET responses, do not allow users to modify expiration through any tricky means, and do not allow users to interact with the document at all after the expiration date has passed.
An example of interacting with an external API that appwrite users are likely to use (e.g. cloud hosting, social media). It would be nice to use an API that has its own beginner-friendly explanation (e.g. Google Adwords' basic API](https://developers.google.com/adwords/api/docs/guides/first-api-call)) in case the user wants to understand that API as well, but there's a risk that the explanation changes over time or is moved/deleted. In particular, I'd be interested to know how to securely store API keys in appwrite (this may be a challenge without superadmin accounts) and see a code snippet that retrieves these keys, authenticates with the external API, and does a thing.
Code Function best practices. Can appwrite containers ingest a directory of Code Functions as a volume when deployed? This would be incredibly useful for source control and continuous deployment/scaling. If so, how should the directory be structured? How does a developer specify to appwrite that a function is an endpoint or a cronjob? Are there any other recommendations for teams making maintainable Cloud Functions?

targetting specific collections when their documents get added/updated
A direct comparison/mapping of "here's how you did it in firebase" > "here's how you do it in appwrite" (not sure how  best to word that)