Extension causes high cpu load

Issue Type: Performance
Extension Name: swagger-viewer
Extension Version: 2.2.2
OS Version: Darwin x64 18.5.0
VSCode version: 1.33.1

:warning: Make sure to attach this file from your home-directory:
:warning:/Users/a564276/Arjun.swagger-viewer-unresponsive.cpuprofile.txt
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

Arjun.swagger-viewer-unresponsive.cpuprofile.txt


Comments are unhighlighted when semicolon is ommitted

:+1:
Yeah, I also get this in 2.0. Was about to start an issue about this when I had time. I mentioned it over in #111


Move module Non_empty_list to Mina_stdlib.Nonempty_list

See issue #12074

!ci-build-me

@psteckler The type for fold is surprising: the ~init labe  is a function instead of a value of the accumulator type. I'd be in favor of changing this as well.

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me


WIP: codimd: 1.6.0 -> 1.7.0, rename to hedgedoc

Motivation for this change
Things done

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

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

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

I assume that this is a duplicate to #105385?

Yes. I looked when I first noticed 1.7.0 candidates being available a few days ago and didn't check again. The other PR is better in some regards, just needs to be updated to rc2.


Fix Pool layer when pre_hook function is not None

Correct call of the prehook function on the weights of the pool layer

Thanks for this request @valmat07. I've added @srrisbud @bamsumit to take a look.
Generally the process is to file an issue and explain in detail before submitting a pull request.


rosbag2_storage_mcap: 0.1.5-1 in 'foxy/distribution.yaml' [bloom]

Increasing version of package(s) in repository rosbag2_storage_mcap to 0.1.5-1:

upstream repository: https://github.com/ros-tooling/rosbag2_storage_mcap.git
release repository: https://github.com/ros2-gbp/rosbag2_storage_mcap-release.git
distro file: foxy/distribution.yaml
bloom version: 0.11.1
previous version for package: null

mcap_vendor
* Test Foxy & Galactic in CI, fix missing test_depends in mcap_vendor/package.xml (#33 <https://github.com/ros-tooling/rosbag2_storage_mcap/issues/33>)
* Contributors: Jacob Bandes-Storch

rosbag2_storage_mcap
* Fix build for Foxy (#34 <https://github.com/ros-tooling/rosbag2_storage_mcap/issues/34>)
* Contributors: Jacob Bandes-Storch

cc@jtbandes


feat: Add source_type when sent from cross platform logs

What does this PR do?
This will send source_type as a property on error when the attribute _dd.error.source_type is set on the log.
Motivation
The source_type property is not being populated on logs. This isn't too big of an issue as symbolication will default back to source, but there are cases where we'll need the source_type to do proper symbolication.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1895 (5cb4f3e) into develop (9c75335) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1895      +/-   ##
===========================================
- Coverage    83.33%   83.32%   -0.01%
===========================================
  Files          479      479
  Lines        16952    16955       +3
  Branches      2527     2528       +1
===========================================
+ Hits         14126    14127       +1
- Misses        2133     2136       +3
+ Partials       693      692       -1

Files
Coverage Δ

...in/kotlin/com/datadog/android/log/LogAttributes.kt
0.00% <ø> (ø)

...android/log/internal/domain/DatadogLogGenerator.kt
97.97% <100.00%> (+0.06%)
:arrow_up:

... and 33 files with indirect coverage changes


Channel name length is unrestricted

No restriction is imposed on channel names when subscribing.

Fixed in 0.6.3 - will be closed when 0.6.3 gets published.
Channel names over 80 characters long are now unsupported.


The link to download the dataset is not working

The link to download the dataset is not working
wget http://jaina.cs.ucdavis.edu/datasets/adv/relu_verification/models_relu_verification.tar

This repository is outdated. You should checkout our new implementation in the auto_LiRPA library, which provides GPU acceleration and supports on general neural network architecture.
The models can be found in this new link: https://download.huan-zhang.com/models/adv/robustness/models_relu_verification.tar


[SPARK-22466][Spark Submit]export SPARK_CONF_DIR while conf is default

What changes were proposed in this pull request?
We use SPARK_CONF_DIR to switch spark conf directory and can be visited  if we explicitly export it in spark-env.sh, but with default settings, it can't be done. This PR export SPARK_CONF_DIR while it is default.
Before
Kent@KentsMacBookPro  ~/Documents/spark-packages/spark-2.3.0-SNAPSHOT-bin-master  bin/spark-shell --master local
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
17/11/08 10:28:44 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/11/08 10:28:45 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
Spark context Web UI available at http://<IP_ADDRESS>:4041
Spark context available as 'sc' (master = local, app id = local-1510108125770).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.0-SNAPSHOT
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_65)
Type in expressions to have them evaluated.
Type :help for more information.

scala> sys.env.get("SPARK_CONF_DIR")
res0: Option[String] = None

After
scala> sys.env.get("SPARK_CONF_DIR")
res0: Option[String] = Some(/Users/Kent/Documents/spark/conf)

How was this patch tested?
@vanzin

Can one of the admins verify this patch?

Please specify the purpose of this change in PR description. If it belongs to #19663 , why don't you change it there?

@jerryshao PR description added. I notice that this is small, but they seem to be different issues.

not familiar with dos cmd,  plz review again @jiangxb1987 @srowen , thanks

cc @HyukjinKwon

ok to test

Test build #83605 has started for PR 19688 at commit 6246ad6.

LGTM

Test build #83605 has finished for PR 19688 at commit 6246ad6.

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

Merged build finished. Test PASSed.

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

Will merge this one with a final look within today (KST).

LGTM too otherwise.

thanks @HyukjinKwon. fixed.

Test build #83618 has started for PR 19688 at commit 36ac736.

Test build #83618 has finished for PR 19688 at commit 36ac736.

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

Merged build finished. Test PASSed.

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

Merged to master.


Fix poor coverage

Coverage increased (+7.0%) to 100.0% when pulling 03fb4e4e9cdae926e5f1d8b6396d2ea51148e3ae on fixCover into 5d7bdb17fae1d615286e3d8cda8945fa2e03f414 on master.

LGTM

LGTM


Feature request

I need to disable compiling for typescript files from"ts -> js"
I also need to disable compiling all scss files inside this folder productionFolder/**/*.scss
Is there a way to do that?

I need to disable compiling for typescript files from"ts -> js"
I also need to disable compiling all scss files inside this folder productionFolder/**/*.scss
Is there a way to do that?

We have not yet increased the configuration of the ignore file, but we can configure not to compile a certain type of file. For the specific configuration, see the following setting.json example:
{
  "compile-hero": {
    "sass-output-toggle": false,
    "typescript-output-toggle": false,
  }
}


Update patches verified with T540p and USB vendor ID removal

Had a problem using this with my T540p. Diagnosed the issue down to having TWO loops run of the checker, one in PCI-mode and one in USB-mode. The PCI-mode check was patched but the USB-mode check was not patched (possibly missed with the first line I didn't attach a descriptive comment to - that didn't match bytes in my module version).
To do this, I broke the module apart with Ghidra and discovered the unpatched USB check. The original patch did enable advanced BIOS settings page, but it only decreased the number of "unauthorized network adapter" messages from 2 to 1. I traced down that the type of message it was displaying (showing only a VID/PID, and no subsys) was actually faulting for the USB VID, not the PCI VID/subsys. So I simply patched out that check, the same way was the PCI check was patched (jmp, not jz), and voila, it finally let me boot.
(edit to add: not entirely sure, but what's seen as the "VID" is likely the VID+PID combo (4 bytes), not just VID (2 bytes). Don't mind me, just patching together what I know here!)

Just saw this in the repo readme, so figure I should include it. I hadn't messed with TPM at all, though I believe (since I have a TPM 1.2 listed in Device Manager) it's always been active - it didn't present any issues. Windows lists the TPM as "Storage: Ready".

Model
T540p

TPM
Active/working

Notes
Added USB-in-m2-slot whitelist bypass (should be relevant to all models)

I guess I should mention that this affected me just because the wireless card I chose was an Intel Wireless-AC 8265 which includes a USB Bluetooth device on-module. Other adapters without Bluetooth likely wouldn't see the issue I had. So this should be a benefit to everyone.


Refactor turret code

Multiple refactorings including

Turrets no longer shoot while being placed
Tile capsules no longer visible by default
Enemy controller refactorings for better scalability

cool


Create Speech Recognition Dataset

Description
Speech recognition is a task that converts an audio sequence into the text transcript of the words in the audio. It can be used for transcription of online videos, transcriptions of phone calls, text dictation, and controlling voice devices like Alexa. This issue is to add a first speech recognition dataset to DJL's basicdatasets.
Note that this requires adding some additional support for converting between audio and NDArrays. The references contain some examples from some DJL projects that already have audio conversions.
All of these tasks are useful tasks that DJL users may be interested in training. It also helps expand the DJL API into supporting more audio use cases.
References

Possible Speech Recognition datasets to implement

Common Voice
Meta AI's Libri-light
Other datasets from Hugging Face

Possible Reference Code

JPAM
Speech recognition example from AIAS

HI, I'm interested in this issue and I want to fix it, can you assign it to me? Thanks!

Yeah. I made an extra note in the description that this one is a bit more work then the Penn Treebank you did previously. Right now, none of the built-in datasets use audio. So, you will need to add a conversion between audio and NDArrays to implement the dataset. If you look at the references, they do have examples of doing this conversion with DJL so they should be very helpful to you. Let me know if you have any questions or get stuck anywhere

@zachgk Hello! @AKAGIwyf and I are working on this issue now. We encountering some problems and need your help.
Since audio datasets usually contains different formats of audio data (wav, flac, mp3, etc), we have to use ffmpeg to transform them into float arrays. In AIAS, they directly import whole javacv module to the project. But we think the javacv module is too big to import into djl.basicdataset. So can we add javacv as another extension? Is this a duplicate of the original djl.opencv extension?
Thanks!

It sounds like what you need from javacv isn't an extension, but a dependency. For example, there is nothing stopping users from using javacv with DJL. They are both Java libraries and users can import both.
On the other hand, a javacv extension wouldn't help much. If djl.basicdataset depends on djl.javacv and djl.javacv depends on javacv, then djl.basicdataset (transitively) depends on javacv. This still pulls in the same big dependency into a user's project the same as if it was a direct dependency. In the djl.opencv case, it is really about the automatic integration of djl with opencv through the ImageFactory class.
Instead, what might be better is to not put your dataset in basicdataset. You could create a new djl.audio extension to hold the dataset. Then, users will only need the javacv dependency if they use djl.audio, not if they use djl.basicdataset.


Build from source instructions help and error.

First, we have to install cargo-make. After that, the last two lines are meant to be called from the root dir, but the third last line cds into the root directory - perhaps we should change the instructions like this:
git clone https://github.com/cognitive-engineering-lab/aquascope.git
cd aquascope
npm install -g graco
cargo install cargo-make
cargo make init-bindings
cd frontend && graco prepare
cd .. && cargo install --path crates/aquascope_front
cargo install --path crates/mdbook-aquascope

Apart from that, when I try to run graco prepare, the following error comes: (... used to denote the parent folder of aquascope)
................................................................................

lint

.../aquascope/frontend/packages/aquascope-editor/src/editor-utils/interpreter.tsx
  448:7  error  'config' is assigned a value but never used. Allowed unused vars must match /^_/u  @typescript-eslint/no-unused-vars
  577:1  error  Delete `········`                                                                  prettier/prettier

.../aquascope/frontend/packages/aquascope-editor/src/editor-utils/misc.tsx
  14:3   error  Insert `CharRange,⏎··`  prettier/prettier
  15:10  error  Delete `,⏎··CharRange`  prettier/prettier
  50:4   error  Insert `⏎·`             prettier/prettier

.../aquascope/frontend/packages/aquascope-editor/src/lib.tsx
   34:3
error  Insert `CharRange,⏎··`                                                                   prettier/prettier
   35:8   error  Delete `e,⏎··CharRang`                                                                   prettier/prettier
   67:11  error  'Button' is defined but never used. Allowed unused vars must match /^_/u                 @typescript-eslint/no-unused-vars
   73:7   error  'BUTTON_ORDER' is assigned a value but never used. Allowed unused vars must match /^_/u  @typescript-eslint/no-unused-vars
  229:9   error  Unexpected constant condition                                                            no-constant-condition
  332:8   error  Delete `······`                                                                          prettier/prettier

✖ 11 proble
ms (11 errors, 0 warnings)
  7 errors and 0 warnings potentially fixable with the `--fix` option.

................................................................................

script

................................................................................

Running task for: aquascope-embed
Running task for: aquascope-standalone
[3:47:20 PM] error: Command failed: node /Users/safwan/.local/lib/node_modules/graco/dist/main.mjs init && node .../lib/node_modules/graco/dist/main.mjs build --release

There exists no --fix option. How can I resolve this?

I wouldn't worry about the lints, those don't actually kill the build. Is there anything else in the output that would suggest why the command failed?

My apologies, this comes before the lint:
Done in 1.3s
Running task for: aquascope-editor
build

Build complete.

................................................................................

check

src/editor-utils/boundaries.tsx:182:14 - error TS2345: Argument of type 'Timeout' is not assignable to parameter of type 'SetStateAction<number | undefined>'.

182     setTimer(setTimeout(() => setAnimating(false), 500));
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 1 error in src/editor-utils/boundaries.tsx:182

................................................................................

lint
...

Oh, that's a strange. I don't know why you're getting a type error. I can't reproduce it locally. Maybe Graco is using a weird version of Typescript or something.
What OS and shell are you using?

ZSH, macOS Ventrura. npm: 8.19.3, node: 18.12.1.

Ok, I will investigate. In the mean time, just do whatever's needed to fix the type error (feel free to cast something to any as a temporary hack).

What's happening here is the type of setTimeout is getting inferred as the Node type, instead of the React type. See StackOverflow.
I can confirm that changing the function to window.setTimeout works, a more elegant solution is probably to exclude the Node types from the tsconfig because we don't need them. E.g.,
{
  "compilerOptions": {
    "types": ["react-native", "jest"]
  }
}

@gavinleroy your solution was correct. I wonder why this didn't happen to Will?
However, changing tsconfig didn't work in my case - raising something about not finding the entry type "react-native". I changed it to react, but that too raised a similar error.
Many thanks!

This issue was fixed by #96, we explicitly specified that the timeout be set on the window.


Request: Support MergeTree with version timestamp.

Hi Team, is there a way to use the lightweight altinity connector with a MergeTree engine and  keep the version timestamp permanently as we want to keep the time series? We want to avoid losing the information after merging has happened on ReplacingMergeTree.

That's on the roadmap. Please note that there is risk of duplicated data.
Actually no data should be lost with the RMT. The history is not kept, just like in MySQL.
If the version timestamp is part of the sort key, it will not be merged. Another idea is to create a history table with a materialized view but materialized views have issues with RMT.

I tested the below and it works fine if you write to the history table and use a MV to send the updates to the current table.
CREATE TABLE user_history
(
    `user_id` Int32,
    `username` String,
    `full_name` Nullable(String),
    `_version` UInt64 DEFAULT 0,
    `is_deleted` UInt8 DEFAULT 0
)
ENGINE = ReplacingMergeTree(_version)
ORDER BY (user_id, _version)
SETTINGS index_granularity = 8192

then MV to

CREATE MATERIALIZED VIEW user_mv to user as select * from user_history;

CREATE TABLE user
(
    `user_id` Int32,
    `username` String,
    `full_name` Nullable(String),
    `_version` UInt64 DEFAULT 0,
    `is_deleted` UInt8 DEFAULT 0
)
ENGINE = ReplacingMergeTree(_version, is_deleted)
ORDER BY (user_id)
SETTINGS index_granularity = 8192

@aadant could you please elaborate what you've done?
I'm very interested in keeping history of the objects, and would like to implement this workaround.

@vpol currently table overrides are not supported by the connector but you can stop it and apply

-- the sink-connector would write in the user table coming from the source

rename TABLE user to user_current;

-- add _version to the sort key

CREATE TABLE user
(
    `user_id` Int32,
    `username` String,
    `full_name` Nullable(String),
    `_version` UInt64 DEFAULT 0,
    `is_deleted` UInt8 DEFAULT 0
)
ENGINE = ReplacingMergeTree(_version)
ORDER BY (user_id, _version)
SETTINGS index_granularity = 8192;

-- replicate changes from user (history) to user_current (latest version)
CREATE MATERIALIZED VIEW user_mv to user_current as select * from user;

Why do we need ReplicatedMergeTree for the History table?  Why don't we use plain MergeTree (or ReplicatedMergeTree) and beat duplicate with argMax?  There are not too many rows in the table (not 10M), so ReplacingMT has no positive effect.

A slight change:

stop replication
Apply DDL to the main table - It could be a long process. How long connector could wait?  Should we change mutation_sync mode and timeouts? Possibly, the connector should go to the restart loop.
Rename history table to history_# - quite fast, but in some cases with ON CLUSTER, DDL WORKER could get stuck.
CREATE NEW table_history
drop materialized view.
create NEW materialized view.
start replication

In case of failure, the connector should restart the operation from the beginning in an IDEMPOTENT way -  not failing if some steps have already been processed. IF EXISTS/IF NOT EXISTS clauses should be added to all DDLs on the TABLE and COLUMN levels.

The most complicated thing about _history tables is the ORDER BY/PARTITION BY. It makes no sense to make the order the same as for MySQL tables. So, the interesting discussion will be how to configure such history tables. The existing config is unsuitable for setting ORDER/PART BY for hundreds of tables.

My bet is creating a special Clickhouse table with rules for every history table with the columns as in system.tables:

db.table  (primary key)
partition by
order by
primary key
engine
additional columns (String or Array)
suffix (_history by default)
dest database (the same db by default)
cluster name (no ON CLUSTER by default for CREATE/RENAME statements)

If the connector finds the table in the list while processing DDL update, it can do the mentioned processing.  If not - do nothing, no history tables need to be created.

The table itself is a KV structure, so Engines  EmbeddedRocksDB (for a single server) or KeeperMap (for Replicated) will work fine here.

All Clickhosue DDL statements (RENAME, CREATE TABLE, CREATE MATERIALIZED VIEW) should be cluster-ready and have been tested with the ON CLUSTER clause (if needed) and work idempotent way.  We need to test all operations with falling after each step.

The same approach of a special Connector CONFIG table could also be used for the MAIN table.  Many clients want to configure ORDER/PART BY and ENGINE for the main tables.  So we can add more columns:

db.table  (primary key)
main table partition by
main table order by
main table primary key
main table engine
main table additional columns (String or Array)
history table partition by
history table order by
history table primary key
history table engine
history table additional columns (String or Array)
history suffix (_history by default)
history database (the same db by default)
cluster name (no ON CLUSTER by default for CREATE/RENAME statements)

Such a table could also filter the incoming table list instead of Debezium variables.  So all table updates go to Connector; no need to change text configs when a new table is added to MySQL.
Boris.


Android: when signing out, reconnect google api client if not connected

As #130, sometimes GoogleApiClient is not connected yet occurred for unknown reasons when signing out. This PR fixes #130 by reconnecting it if needed.

@devfd - any update on this? This is leading to crashes in my app too.

Same - please merge this in! I don't believe there's a work-around using the current version of this library.

bumping this -- what's preventing this from being merged in and released?

yes I'm waiting for it too

I will look into this. This is weird to workaround the problem like this.

What's the state of this PR?

I agree with @Kerumen , google client should reconnect automatically, when is not connected on signOut, then signOut operation should return an error an user should try again after connection (internet) is back I guess.

I made branch where google client connection is checked on every operation and error returned:
https://github.com/flatfox-ag/react-native-google-signin/tree/null_result
Also, NPE resolved similar to #303

Using this workaround to fix the issue temporary since no update yet. Anyway thanks @ianlin !

I just merged a PR https://github.com/react-native-community/react-native-google-signin/pull/311 that should be solving the same problem

Closing due to #311


suppress 'thread attribute directive ignored' warning on mingw

Building with mingw-w64, I got warnings.
src/crashhandler_windows.cpp:33:22: warning: 'thread' attribute directive ignored [-Wattributes]
    thread_local bool g_installed_thread_signal_handler = false;

In addition, Visual Studio 2015 has C++11 thread_local specifier. ref: C++11/14/17 Features In VS 2015 RTM
So, this pullreq limits thread_local workaround to <=VS2013.

:+1:  looks promising.
I just got rid of my windows installation in favor of linux so I'll have to see if I can test this on some other box or VM.

I have no access to a Windows machine for the time being. If anyone else out there can verify this on Windows it would be very helpful.


Setting a dot notation variable twice will overwrite the previous data

        $this->responder->setData('timeline.date_start', $start_date);
        $this->responder->setData('timeline.date_end', $end_date);

Package not actively developped anymore.


Rename branch_name to branch

This apply API changes introduced by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8936.

Thank you for review!


Picoprobe support in pyOCD

Here is a PR to support the ultra simple Picoprobe in pyOCD.
The adapter receives commands to write or read sequence of bits on the SWD interface, and has no intelligence.
Requests are sent and received using bulk EPs in a vendor specific HID interface.

Supports HW reset in Picoprobe (if available), see this PR in Picoprobe
Safe (slow) or bulk (faster) SWD modes.
In bulk mode, commands are sent in blocks of max. 256, and ACKs and parities are checked in bulk at the end of the transaction.
In safe mode, each SWD command checks for ACK & parity.
Safe mode is significantly slower as there's an unavoidable ~1 ms turnaround time for each phase of an SWD command (cmd, ACK, data).
A new boolean option is provided picoprobe.safeswd, defaulting to False.
The size of the block has been chosen to fit Picoprobe's internal 8 kB read and write buffers, so that a single EP read or write is needed
Tested with a Discovery F429 and a Nucleo L476, using:
Command line, commander mode, VS Code, and Visual Studio Community + VisualGDB.
Flashing, erasing, breakpoints, reading and writing RAM memory and registers.
Windows10 Pro 20H2, libusb0 (v<IP_ADDRESS>).
I need to test this on Linux.
Probably not working in python 2.x, not tested and not written with that in mind.

Questions:

Is it needed to write the DP SELECT register in read_ap() and write_ap()?
Or does the upper layer always calls write_dp() beforehand?
Is there the need to do something special to support ADI versions later than 5?
Am I right in thinking that python 2 support is not needed?
Is it really worth having this in pyOCD (honest question)?
I agree with @flit that porting DAPlink on the Pico board migth be a better option. (maybe I'll do that next, now that I have a slightly better grasp of how al this works).
An advantage of having the support in pyOCD is that there's no need to compile the special version of openocd, which brings in yet another toolchain, and is not so painless.

Questions:

Is it needed to write the DP SELECT register in read_ap() and write_ap()?
Or does the upper layer always calls write_dp() beforehand?

This is controlled by the MANAGED_AP_SELECTION capability:
https://github.com/pyocd/pyOCD/blob/7dccf5c5da825d36cb947a7b06c17f6a56852189/pyocd/probe/debug_probe.py#L53-L57
It's for probes like J-Link or STLink that take a full AP register address. If you don't report this capability, the DebugProbe class will manage DP_SELECT for you.

Is there the need to do something special to support ADI versions later than 5?

No for SWD.
If JTAG were supported then there is a small change. But pyocd doesn't fully support JTAG yet so there's nothing to do.

Am I right in thinking that python 2 support is not needed?

Technically pyocd still supports Python 2, in that CI runs on by 2 and 3, and setup.py indicates Py2 support. However, I'm almost certainly going to drop Py2 support in the next release, v0.30.0. Just need to update everything to reflect that.

Is it really worth having this in pyOCD (honest question)?
I agree with @flit that porting DAPlink on the Pico board migth be a better option. (maybe I'll do that next, now that I have a slightly better grasp of how al this works).
An advantage of having the support in pyOCD is that there's no need to compile the special version of openocd, which brings in yet another toolchain, and is not so painless.

Probably? I'm certainly not opposed to it and will be happy to merge it in.
You do have another option though. Pyocd supports probe plugins. So, if you preferred, you could release picoprobe support as a standalone plugin package on PyPI. This is how the PEMicro probe support is handled. It's contained in the pyocd-pemicro repo and released separately on PyPI, and will soon be added as a dependency for pyocd (there was a bug that prevented it from being added in v0.29). It gives the author more freedom since they own the repo. (And pyocd-pemicro was originally separated because it only supports Python 3, which is much easier to manage when a separate package.)
Totally up to you. I'll be happy to create a pyocd-org repo if you like.

I'm finding a few bugs in the existing code as I'm reviewing your changes. 😅  I'll update everything in a moment.

A first attempt at swd_sequence is here.
Not (yet) tested. Need to solder some pin headers on the second Pico...

Closing this PR. The changes have been merged into my feature/rp2040 branch, which will soon be merged upstream.


[Bug]: The logic of optimizing personal space without index changes and timeout

ODC version
odc424
OB version

What happened?
The timeout execution time for database changes has not changed
What did you expect to happen?
The logic of optimizing personal space over time
How can we reproduce it (as minimally and precisely as possible)?
Personal space execution database changes
Anything else we need to know?
No response
Cloud
No response

pass


Create a PR for issue-840

Fix for Hystrix dashboard doesn't load Metrics DOTNET 6.0

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: deepakapj sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@deepakapj : Thanks .. LGTM... can you please sign CLA .. thanks again!

/azp run Steeltoe.All

Hi Tim & Team,
Any item pending from my side. Please let me know.
Thanks
Deepak Saxena

All set here, thanks @deepakapj

Hi @TimHess & @dtillman ,
Could you please add this for 3.2 pre-release or release so that we can use in our project? This is blocker to release our project.
if this is part 3.2 pre-release then we can start development.
Thanks,


CMake ABSL_RUN_TESTS not honored

Repro: https://github.com/wesleygriffin/absl-cmake-case
The main issue I'm reporting here is that using the setup outlined in the above repo, ABSL_RUN_TESTS=OFF seems to have no effect. I'm using the FetchContent module to populate absl so that I can then use add_subdirectory from my project.
third_party/Abseil.cmake forces ABSL_RUN_TESTS to OFF in the cache, but that's not being picked up. Perhaps this is a mis-understanding on my part.
More importantly, it would be nice if the absl CMake files did not even add the tests when absl is not the top-level project. Even if I get ABSL_RUN_TESTS to not run the tests, they are still being built as part of my project and I would prefer that they weren't.
Thanks.

The fix should be simple enough: just change BUILD_TESTING to ABSL_RUN_TESTS in https://github.com/abseil/abseil-cpp/blob/30de20488bb88dc22d23521c5c222ec6d924e289/CMake/AbseilHelpers.cmake#L138-L141
@JonathanDCohen Should I take this issue?

Just coming around to this.  Yeah, this seems like the problem, and youc an totally take the issue if you'd like :)


nats main and leaf setup with context

for Issue: https://github.com/samber/slog-nats/issues/3
Adds makefile scaffolding for NATS and NATS leaf servers with context.
Adds cross platform installers.

Why not just docker-compose up ?

I think. it's useful to have the docker too.  For NATS Leafs most people don't use docker though.
The nats golang binaries are needed anyway and very light. Later if we want I can dip them into the repo folder under .bin.
Keep in mind that  from host we can talk to the docker or the leaf and so text all possibilities.

https://github.com/gedw99/slog-nats has the Profile runner it all
let me know if you want it.


Use local pools for axum handlers

Should make axum handlers less bad should close #811

Anything else to be done on this? I think it's ready for review, right?

Should be ready for review yep.

Nice. Yeah, this all looks good to me! Thanks so much for taking it on, and glad you found this library, @FrankReh.


vSphere cluster Waiting for SSH to be available(k3os & Fedora CoreOS)

What kind of request is this (question/bug/enhancement/feature request):
Question
Steps to reproduce (least amount of steps as possible):
Create a vsphere provided cluster with a k3os or Fedora CoreOS node template.
Result:
Cloud-init nevers gets applied and ssh times out after 60 tries. It looks similar to https://github.com/rancher/rancher/issues/24948. The only OS that I got it working with was Centos 7. The deploy method is: "Deploy from Datacenter". Can anyone clarify this?
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

Rancher 2.3.6/HA/VSphere provider

Docker version (use docker version):

19.03

@stayfrostnl did you get anywhere with this? I'm having the exact same issue with a Ubuntu 20 template. It creates it, gets it online and then sits on at the 'Waiting for SSH to be available' state before giving up.

@chrispage1 Yes and no :) I got it working with Ubuntu 18.04 as well. So maybe it works for Ubuntu 20. Rancher is using the NoCloud datasource when creating these VM's, see https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html. So in your case you will need too install cloud-init inside you template. I also remove the the following folder, because Ubuntu is using it during its initial installation :
/var/lib/cloud/instances
Haven't figured out how to fix this for Fedora and k3os tho, but to me it seems that its not working because of the use of the NoClouddatasource.

@stayfrostnl Glad you got there-ish! I found that removing the /var/lib/cloud/instances helped a huge amount. However on Ubuntu 20, the docker installation ended up failing.
I'm considering sticking with Rancher OS nodes, they are much less traumatic to get running and in theory optimised for the job...

@chrispage1 You could probably fix that with making the template with Packer. For Ubuntu to work we also removed the machine-id because of duplicate IP's, found this solution on the internet:
Remove machine-id information to prevent duplicate ips
rm /etc/machine-id
rm /var/lib/dbus/machine-id
truncate -s 0 /etc/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id
But for now we are also sticking to RancherOS.

Same behaviour for RancherOS 1.5.5.
I'm curious - why can't it just use guestinfo.cloud-init.config.data VM property to pass cloud-init?
Related issue/comment - https://github.com/rancher/rancher/issues/24948#issuecomment-577453323
@superseb Maybe you know the reason?

Ive been fighting this issue on vsphere 6.7 for a while now. Apparently vmware started using cloud-init for guest customization as well as the old perl based method, and it is breaking other use-cases for cloud-init. I am trying to trace if it is related to a specific release of open-vm-tools. So far having machine version of 6.5 isnt the magic bullet. I have an ubuntu 18.04 template that rancher can deploy, and a freshly built centos and ubuntu that fail to pick up the ISO NoCloud and run with them. There is an existing KB from vmware on this. ;-(  https://kb.vmware.com/s/article/54986

@AntonSmolkov The reason we aren't using guestinfo.cloud-init.config.data is it requires specific configuration of the cloud-init that is installed to be able to support it, versus using nocloud which many stock cloud-init installs come with. This means for our users and customers that are prepping their own templates/base VM's for VMware, they can simply yum/apt-get install cloud-init versus having to mess around with specific config.data support.

I can confirm this problem with:

rancher 2.4.5
ubuntu 18.04
vsphere 6.7u3

Thanks to @chrispage1 and @stayfrostnl for workaround:
created executable file /usr/local/bin/cleanup-cloud-init.sh on the vm template used to create nodes:
#!/bin/bash

rm -fr /var/lib/cloud/instances/
rm -fr /var/lib/cloud/instance
rm -f /etc/machine-id /var/lib/dbus/machine-id
truncate -s 0 /etc/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id

This script must be executed prior to powering off the vm template (every time the template is eventually powered on for updates).

I am having trouble getting an 18.04 template working. Its a brand new image with ssh installed and the above script ran. Still timesout waiting for ssh in rancher. Do I need to do anything else to get the template ready for rancher to connect to?

I'm receiving the same error using K3S. It appears as though the NodeTemplate is passing a username of "docker" with a password of "tcuser". This error shows on the deployed nodes in /var/log/auth.log.
The username and password are displayed in the API when the ssh times out:
"sshPassword": "tcuser",
"sshPort": "22",
"sshUser": "docker",
"sshUserGroup": "staff",
You can view info this in ViewAPI. On the API page, click the NodeTemplateID link.
The only place i can find this user/password combination is in:
https://github.com/rancher/rancher/blob/master/tests/validation/tests/v3_api/test_vmwarevsphere_driver.py
I tried adding the user/password with the staff group to the VM template but it still errors out when deploying the cluster.
I can manually ssh to the target node from a K3S node using the docker/tcuser account. The deployment still fails.
Rancher: 2.4.5
Containerd Version: 1.3.3-k3s2
Kubelet Version: v1.18.8+k3s1
OS: Ubuntu 18.04.5 LTS

@carterminearIMT I did nothing else to make it work
did you followed all the steps in https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/vsphere/provisioning-vsphere-clusters/ ?
in particular enabling disks uuid
and I also set hw level of the vm to 15, but this was a requirement for CSI storage provider
our cloud-init is
#cloud-config
timezone: "Europe/Rome"
packages:
 - ntp
ssh_authorized_keys:
  - ssh-rsa AAA... our-key

but I cannot see anything relevant, the ssh keys should be merged with the one injected from rancher
maybe you can try using a cloud-init and see if it makes the difference

@VegasJK the docker/tcuser thing is an old boot2docker username/password https://github.com/docker/machine/blob/master/drivers/vmwarevsphere/vsphere.go#L42-L44. those fields in the API are from us leaving those machine cli args. The clone process will use the username and group but then we generate a key and inject that into the cloud-init here: https://github.com/rancher/machine/blob/master/drivers/vmwarevsphere/cloudinit.go#L250
Anyone having trouble with SSH connectivity and you have access to the machine you need to debug cloud-init to see why the key wasn't injected. To do that I usually check cloud-init logs and add additional logging with the logcfg. I've used this to go deep into python code to fix the driver while it was in development so you should be able to get some good information there to find out why the key wasn't added properly.
Relevant cloud-init Links:

https://cloudinit.readthedocs.io/en/latest/topics/logging.html
https://cloudinit.readthedocs.io/en/latest/topics/dir_layout.html

If youre using ubuntu, the easiest thing is to use the clone features is to clone from a template made from the ova from here: http://cloud-images.ubuntu.com/bionic/current/
If anyone on this thread is using another OS, @David-VTUK has put together this repo (https://github.com/David-VTUK/Rancher-Packer) to build Rancher clone ready images and I can't recommend them more highly.
We do walk people through ssh issues a lot in the #vsphere channel in Rancher Users Slack (https://slack.rancher.io/), come join us there and post what you're seeing and we could debug in real time as some of what I'm reading here is situational and we might need a lot more information to fully get to the bottom of it.

Just logged this issue to support Fedora CoreOS. https://github.com/rancher/rancher/issues/28846

any workaround to make it work with fedora coreos ?

@Amos-85
it's going to be similar I think for fedora, but on ubuntu, you need to fix your data source list:
/etc/cloud/cloud.cfg.d/99-installer.cfg
needs the nocloud datasource
datasource_list: [ "NoCloud", "VMwareGuestInfo" ]

For fedora, i'd guess there's a similar 99-thing.cfg or you might need to make one

@m-ferrero and  @stayfrostnl solution has helped me fixed the duplicate IP for the nodes after rancher created the cluster.  Thank you both.
but I still see "Waiting for SSH to be available..."


Fix build errors on Yocto 3.1 (dunfell)

Signed-off-by: Damian Wrobel<EMAIL_ADDRESS>Signed-off-by: Damian Wrobel<EMAIL_ADDRESS>

Closing older PRs. Please rebase and submit on latest sprint branch.


Does not properly handle Real-Time messages

Does not properly handle Real-Time messages where only command/status byte and no data. These events are dropped. These are when command/status byte is masked with value 0xf8. Other than System Reset, messages are not managed and dropped.
Many advanced controllers use active sense (which is debatable if needed on USB, but if just implementing a DIN virtual cable, then may be needed, so just should support) and controller messages like play, stop, continue, etc. are common in many controllers - like DJ controllers.

I think you are right. The code in midi.c Line #80 checks status byte and skips further processing.
 if( MIDI_IS_STATUS(dataRX) )            // System Real Time message
I would appriciate for a patch. I do not have any DJ device, so I am not sure I can fix it fast.

Here is some thoughts....
			case MIDI_CLOCK: 			case MIDI_TICK: 			case MIDI_START: 			case MIDI_CONTINUE: 			case MIDI_STOP: 			case MIDI_ACTIVE_SENSE: 				state = MIDI_STATE_COMMAND_ONLY; 				break;
`		else if ( state == MIDI_STATE_COMMAND_ONLY )
{
// Put MIDI message into the USB stream (zero padding).
pUsbBuffer->pUSB_MIDI_Buffer[pUsbBuffer->nUSB_MIDI_Buffer_Count++] = 0x0f;		// cable 0, single byte message
pUsbBuffer->pUSB_MIDI_Buffer[pUsbBuffer->nUSB_MIDI_Buffer_Count++] = dataRX;	// cmd
pUsbBuffer->pUSB_MIDI_Buffer[pUsbBuffer->nUSB_MIDI_Buffer_Count++] = 0; 		// no data
pUsbBuffer->pUSB_MIDI_Buffer[pUsbBuffer->nUSB_MIDI_Buffer_Count++] = 0;
		state == MIDI_STATE_IDLE;
	}`

Sorry, best I can do for now.

Thank you for your support. I have made changes and added Real-Time message handler. It would be great if you or someone else could test new release.

Sorry, no longer actively using library and unable to test / input further. Wish you luck.


⬆  Back To Top Link

What is the context of this PR?
Fixes: #1599
The back-to-top link is a requested feature for the Design System. The button takes you from wherever you are on the page to the top of the page or wherever you specify.
The default options for both are "Back to Top" taking you to "#top". To modify the text of the button, edit the description parameter. Similarly, to modify the jump location, edit the anchor parameter. When making a custom point to anchor, make sure to add an id to the element you want to jump to which matches the id in the anchor parameter.
As per the requirements, the button will appear towards the bottom of the screen when the user scrolls two window heights down from the anchor div. When the user reaches the link on the page, it will take the form of the link on the page.
Note: The width of the button is based on the width of the immediate sibling element previous to it. Suggested use would be to put the BTT adjacent to the element you want to mirror the width of, not inside.
How to review this PR
Check out the back to top button examples and make sure they are working correctly. Also test resizing the window to make sure the BTT links margins move accordingly
Checklist
This needs to be completed by the person raising the PR.

[x] I have selected the correct Assignee
[x] I have linked the correct Issue

On the second example the highlighting stays on after I use the back to top link, I think that after it goes back to top we would want the highlight to disappear?
This only happens on the full page version - not the first version.

Another small thing is where the page pulls you back to when linking to a specific point in the page - usually when I've seen section links used they put the bit you want to go back to at the natural reading height on the screen. Not sure if this might cause other issues or has already been considered!!
So as a user I'd expect it to go to a position roughly like this, rather than the 'Contents' title being right at the top of the page

Think this focus state might be a bit big. Also I think because of this we are losing the black underline that is used on other focused elements

Just realised we are also missing a _macro-options.md file for this

Another small thing is where the page pulls you back to when linking to a specific point in the page - usually when I've seen section links used they put the bit you want to go back to at the natural reading height on the screen. Not sure if this might cause other issues or has already been considered!!
So as a user I'd expect it to go to a position roughly like this, rather than the 'Contents' title being right at the top of the page

Talked to Joe about this and the decision was made to keep it as is. Doing this would confuse the user where they have jumped to if there was a say a one line bit of text above the jump location.

Think this focus state might be a bit big. Also I think because of this we are losing the black underline that is used on other focused elements

Talked to Joe about the width and the width being full / almost full width is fine and as intended. To match the skip-to-content component, the text underline is being added back in on focus.

Think this focus state might be a bit big. Also I think because of this we are losing the black underline that is used on other focused elements

Talked to Joe about the width being full / almost full width it is deemed to be as intended. To match the skip-to-content component, the text underline is being added back in on focus.

If you want to match skip-to-content wouldn't you want to have the whole thing highlighted?

Id recommend adding the eslint extension to your VScode and changing the "render whitespace" setting to "all" which will allow you to easily spot some of these things

Think this focus state might be a bit big. Also I think because of this we are losing the black underline that is used on other focused elements

Talked to Joe about the width being full / almost full width it is deemed to be as intended. To match the skip-to-content component, the text underline is being added back in on focus.

If you want to match skip-to-content wouldn't you want to have the whole thing highlighted?

Joe has confirmed this is what the intended behaviour should be. I will work on adding this in

Think this focus state might be a bit big. Also I think because of this we are losing the black underline that is used on other focused elements

Talked to Joe about the width being full / almost full width it is deemed to be as intended. To match the skip-to-content component, the text underline is being added back in on focus.

If you want to match skip-to-content wouldn't you want to have the whole thing highlighted?

Joe has confirmed this is what the intended behaviour should be. I will work on adding this in

An update on this. This would not be a good solution for screens which are wide / have wide windows. Joe has requested additional UX work to be done to make a decision on this before it is implemented.


Forcing a verbal response?

is there anyway to tell the echo to "talk" outside of forcing it in the function return?
@ask.intent("SleepIntent")
def sleepy_time():
os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")
msg = render_template('sleep')
return statement(msg)
See the above function. what is happening here (when I call this function) is the machine is instantly falling asleep, and its never making it to the end of the function to read the string in, and therefore never triggers the return.
what i tried doing was breaking it out into two functions, so the sleep function calls the sleep talk function. I wanted to call it, have the verbal response go through the echo, then jump back to the calling function and continue on with the sleep, but this doesnt work. If I enter in debug statements, I can see that the sleep function, does call sleep talk function, but still nothing is heard prior to the sleep.
def sleepy_time_talk():
msg = render_template('sleep')
return statement(msg)
@ask.intent("SleepIntent")
def sleepy_time():
sleepy_time_talk()
os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")

In your second example, nothing is heard because the intent function isn't returning anything. The sleepy_time_talk function returns a statement, but that occurs within its own scope and is not sent to alexa.
Your first example seems like it might be the way to go. I don't have a flask-ask specific solution right now, but you could try calling the shutdown in a separate thread and have it time.sleep() for a few seconds so that Alexa receives the response and speaks before your machine shuts down.

hello,
So the code also supports shutdown, and similar to what you suggested, that is how I am handling it. I am scheduling a shutdown in 2 seconds, so that the return statement has time to actually be hit in the function.
@ask.intent("ShutDownIntent")
def shut_down():
wsh.run("shutdown /f /s /t 2")
msg = render_template('shutdown')
return statement(msg)
The problem with sleep is there isnt a nice way to do that via CLI programmatically, so whats happening in the upper example, is the function is being called for sleep. Its executing the CLI for sleep, then the machine goes to sleep before the function is done executing.
I can work around it, and I already have, by doing the below. in the below example, sleep.bat contains the sleep CLI command, the bat file also has a 3 second sleep right at the top, so it gives the function time to finish.
@ask.intent("SleepIntent")
def sleepy_time():
wsh.run("sleep.bat")
msg = render_template('sleep')
return statement(msg)
Is there really no way though similar to a print statement to tell the echo to verbally repeat text? Seems kind of silly that you can only get it to do in a function return. No way to send a post to it with text you want it to say?

No way to send a post to it with text you want it to say?

If I understand you correctly, that's correct. It's enforced by the Alexa Skills Kit that responses can't be initiated from user skills without prior user-initiated requests (i.e. A skill can't be built where your Echo just starts talking without the user asking it to do something).


Support for Angular testing?

Is this a bug report or a feature request?
Feature Request: Does this work with other frameworks? Looks like a good app, and will download once I know if I can configure it for running tests with Angular.

Hey @Raathigesh, Project is awesome, hopefully I'll get some time myself to have our team contribute. That said, im working with NRWL NX, and in particular angular.
Given that, my tests pass in normal NRWL NX / NG Test, but fail in majestic. Im looking to use preset shown above, etc, but not really getting anywhere. I'm going to play around with it a bit more, but if anyone else is working on this as well, I wouldn't mind the company

@zalos If you create a very simple repo, I could help to look into it as well.

I'm using jest + majestic in angular and it works great


Upgrade from minecraft_server

What is the easiest way to upgrade from minecraft_server to mcsc?

Hi @justincm. I'm not sure what you mean about upgrading from minecraft_server. However, if you have a working Minecraft world that you want to import into mscs, take a look at the installation directions and word import sections of the README.md file

I am using an older version of your MSCS from 2015, are there any gotcha's in upgrading to the newer version?

There may be, but I'll be happy to help you out with any issues that you run into.
The biggest change is that the script has been renamed and the recommended install location has changed from /home/minecraft/ to /opt/mscs/.  We have added support for systemd if you are now using it, but we retained support for the old SysV style startup.  Customization of the script has changed, there should no longer be a need to modify the script, instead we offer the mscs.defaults file to change global properties the mscs.properties file to change settings for individual worlds.
There are some new prerequisites for using the script, so take a look at the installation instructions before jumping in.  Let me know if you have any issues.

All installed
I ended up moving original worlds directory in /opt/mscs
then imported the worlds as per your instructions
all words work.

Fantastic! I'm glad it worked out for you.


handle ties

Coverage decreased (-0.06%) to 98.857% when pulling f3b8982fd245468361a4f9dee3f5bc4b7fb84348 on BojDom:master into 3d271601c93e99de39c32ba0411a4b947d26ad9e on rundef:master.

Thanks !


Bug: User not found with newly created document

Last week, I created the account<EMAIL_ADDRESS>Today, I went into Cognito and added the user to the contributor user pool.
When I create reports with the user, the author<EMAIL_ADDRESS>is displayed as User not found. As you can see in the video below, sometimes the author is then found, but it reverts back to being not found when refreshing the page.
https://user-images.githubusercontent.com/25919630/235433394-d5de38de-f360-4440-9f0d-77b2c5aee86e.mov
Acceptance Criteria

[ ] Authors (users) are found

@kamicut I've got another frontend bug for you. Tagging @thenav56 as well because he implemented the backed changes for the "User not found" field.

@wrynearson I took a quick look into this:

the "User not found" string doesn't exist in the frontend, and following the code doesn't yield any error like that.
The shown string is supposed to be the preferred_username of the logged in user (Devseed (info). It's strange that it's showing in the login button but not in that particular instance.

Could I have access to this particular user to test it out?

Thanks @kamicut for looking into this.

Is it possible that string is in the backend? @thenav56 was working on this issue.

I added you and contributor1 as collaborators, so you should be able to access it now

@kamicut @wrynearson Yes, User Not Found is provided from the server side. This change was added through https://github.com/NASA-IMPACT/nasa-apt/pull/658 and https://github.com/NASA-IMPACT/nasa-apt/pull/662
This can happen when the user's id is assigned to an entity but doesn't exist in Cognito. Looking at the video above that doesn't seem to be the reason.
Is this still happening @wrynearson? It will be tricky to troubleshoot this, as we will need to add additional debug logging in the server.
I wasn't able to replicate this using https://nasa-apt.surge.sh/


Adding Code of Conduct.

We propose adding a comprehensive Code of Conduct to our repository to ensure a safe, respectful, and inclusive environment for all contributors and users. This code will serve as a guideline for behavior, promoting diversity, reducing conflicts, and attracting a wider range of perspectives.
I want to work on this issue under GSSOC23, kindly assign this to me. @cleveranu Thank you !

closing this issue #532 as somebody else already added it thank you for assigning @ cleveranu can you suggest me something i can work on this repo i would be grt help for me !


lintCommand does not work with useFlatConfig

Describe the bug
I use different ESLint config files:

For IDE with a standard name (eslint.config.mjs). It contains more warnings.
For CI, Vite Checher with disabled some rules.
I set lintCommand to eslint -c eslint.config.ide.mjs ...
With an old ESLint (below 9 version) Vite Checker use my different ESLint config and I don't see any excess warnings in a terminal or Vite Checker UI.
But with the ESLint 9 when I use useFlatConfig flag lintCommand doesn't work.
dev.overrideConfig doesn't work with useFlatConfig too.

Reproduction
Set useFlatConfig: true, lintCommand: "eslint -c eslint.config.ide.mjs ."
Expected behavior
When using useFlatConfig Vite Checker should process lintCommand and dev.overrideConfig.
System Info
System:
    OS: Linux 6.8 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)
    CPU: (12) x64 Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz
    Memory: 23.95 GB / 31.19 GB
    Container: Yes
    Shell: 5.2.21 - /bin/bash
  Binaries:
    Node: 18.20.2 - ~/.nvm/versions/node/v18.20.2/bin/node
    npm: 10.9.1 - ~/.nvm/versions/node/v18.20.2/bin/npm
  npmPackages:
    vite-plugin-checker: ^0.8.0 => 0.8.0

Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

The issue is here:
https://github.com/fi3ework/vite-plugin-checker/blob/e6d564f3e281d66f037bd54333cc852639e87af4/packages/vite-plugin-checker/src/checkers/eslint/main.ts#L76
Additional configured options from the lintCommand & overrideConfig are not passed to the FlatESLint constructor. The FlatESLint constructor is just an alias to ESLint in ESLint 9. However, if I just use the the default option, I still get errors thrown about no longer valid options generated by translatedOptions
Error: Invalid Options:
- Unknown options: extensions, ignorePath, reportUnusedDisableDirectives, resolvePluginsRelativeTo, rulePaths, useEslintrc
- 'extensions' has been removed.
- 'resolvePluginsRelativeTo' has been removed.
- 'ignorePath' has been removed.
- 'rulePaths' has been removed. Please define your rules using plugins.
- 'reportUnusedDisableDirectives' has been removed. Please use the 'overrideConfig.linterOptions.reportUnusedDisableDirectives' option instead.

I cannot pass undefined for those options in overrideConfig because eslint is looking for the presence of the keys using Object.keys


Fix time based stats

Some stat averages were being calculated incorrectly for example, average query time (latency) was being calculated by dividing the total query time by our stat period (15 seconds). Instead we should be dividing by the number of queries we observed in that stat period.
Also, I've removed the tracking of old stat total, to just tracking the current totals for the given stat period, and after that stat period completes the current totals are re-zeroed

Pgbouncer makes it look easy: https://github.com/pgbouncer/pgbouncer/blob/master/src/stats.c#L67 :)

Looks good to me (it's merged either way).

@magec Still wanted to get your eyes on this one and wanted to make sure you update and validate on your end. Thanks!


Update ResolverChat.ts | Mutation to delete test data added.

Added a mutation to delete test data. All chats upto provided id are deleted.

Ah, it is missed a make run on  root dir

Added a new commit after running make on root.

Thanks!


Added Enqueue Route

Note - Did not add any authentication protocols, so this route is currently open to all users.

I've added support for limiting requests from unrecognized users to this branch.
This pull request should now contribute to the features described in issues #7 and #8.
The only feature missing from this branch is some authentication feature. Once that is implemented, issues #7 and #8 can be resolved by simply changing the "pass" directives marked with TODOs into directives that require authentication.


feat: Ability to add labels with constant values

Example: we have application with different environments, each having its own exporter. We want to distinguish metrics by environment by label, not by metric prefix. So we need to provide exporter with an ability to attach custom labels to metrics.
Implemented as cli arg --static-label, that can be provided multiple times in format --static-label key=value
Example:  python cli.py --broker-url=redis://<IP_ADDRESS>:6379 --static-label application=my-application-name --static-label environment=staging
Here is the result:

Code changes:

New cli arg
In the code where metrics are defined, there are *self.static_label_keys at the end to unpack provided static labels names
In the code where we provide labels for metrics now there are **self.static_label, which unpack static labels and their values.

mildly related #323

Can you add tests?

Can you add tests?

Yes, I will add them soon and mention you when I'm done

@danihodovic I've added tests

To test static labels we need to create new exporter instance with static labels provided at creation (to not polute already existing tests by providing static labels to existing exporter, used in all other tests)
Common exporter configuration separated into exporter_cfg_defaults fixture, used in exporter_instance and exporter_instance_static_labels fixtures
To test static lables I've made test_integration_static_labels by duplicating of test_integration with changes to labels checks to test static labels
Disabled too-many-statements check for test_integration_static_labels, because it's complaining about overstepping statement limit by 1 statement (51/50)

Thank you. Released as 0.11.0
https://hub.docker.com/layers/danihodovic/celery-exporter/0.11.0/images/sha256-28168e56392250ba5e01faa691c4fd890d90f737dfdcbeeba60de40e4e9dc440?context=explore


Git merge unclear

I apologize for creating this issue here, but could not find any Contact
I struggle with the Git Merge lesson.
The interactive exercise was clear enough (goal and steps), but the actual lesson was not clear enough (to me)
After the initial git merge bugFix we see that main has a new commit (C4) that stems from C2 and C3. The HEAD is also attached to main (the image has different colors for C0, C1, C2 and C3, C4)
It was clear up to this point that this is what we must do to merge bugFix into main. This is also consistent with the interactive exercise
But ... now comes some further insights:
git checkout bugFix;
git merge main;
... which starts to explain something about the colors of the branches.
Here is where you lost me completely.
What i got from this:

if you go with git merge bugFix;, something happens;
if you go with git merge bugFix; git checkout bugFix; git merge main;, something else happens

As the interactive exercise has only git merge bugFix (and not git merge main also) i do not understand what was supposed to happen here

I think what the lesson is trying to show, is that "git merge" always merges into the current branch.

Whereas before we merged bugfix into main, we are now merging main into bugfix. Why is everything the same color? In the previous step, we merged information stored on the bugfix branch, giving "main" all the information in bugfix. Now we merge main into bugfix, merging the information (the commit) that was parallel in main, into the bugfix branch. The "cursor" moves forward, since both main and bugfix now have the same history (you can reach every commit from the cursor point).
The question is: How could this be better communicated?
I think the lesson should be more direct in saying that "git merge bugfix" means "merge bugfix into the currently checked-out branch".
@sant3e Do you think that would help in the lesson?


I tested your code, it worked Will there be result code for live video and Reenactment?

I tested your code, it worked
Will there be result code for live video and Reenactment?

Hi,
We currently do not have plans to release the real-time demo code. The demo involves significant engineering work and is tailored to specific hardware, making it challenging to support and less relevant from an academic standpoint.
To achieve real-time performance, we utilized FP16 and TensorRT optimization, along with extensive optimizations in the data preprocessing part.


Feature/polkadot0.9.17 dev

Codecov Report

Merging #213 (97ecbc9) into master (451e0f9) will increase coverage by 0.03%.
The diff coverage is 73.68%.

@@            Coverage Diff             @@
##           master     #213      +/-   ##
==========================================
+ Coverage   71.06%   71.10%   +0.03%
==========================================
  Files          55       55
  Lines       15570    15570
==========================================
+ Hits        11065    11071       +6
+ Misses       4505     4499       -6

Impacted Files
Coverage Δ

runtime/src/lib.rs
11.30% <ø> (+0.05%)
:arrow_up:

inspect/src/cli.rs
6.25% <25.00%> (-6.25%)
:arrow_down:

cli/src/cli.rs
62.50% <66.66%> (+37.50%)
:arrow_up:

cli/build.rs
97.43% <100.00%> (ø)

pallets/micropayment/src/tests.rs
98.52% <100.00%> (ø)

Continue to review full report at Codecov.

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


Split up more & general additions

move coinmarketcap & github fetchers to api package
add initial ws & http clients
moves cache to it's own package
simplify github repos fetch
add stats etc to server repo (for now)

Yes I think the cache package should go back into the api package

Yes I think the cache package should go back into the api package

Done!

Yes I think the cache package should go back into the api package

Done!
edit: o wait, api? I've putted it back in server

Nah I think it makes sense in api because that's where you are caching things from no?

(I wanted to do a test, I can push on your branch, that's what I wanted to know.)

Let's merge so we can start branching main


Fixed race conditions in k8s cache.

Coverage increased (+0.06%) to 77.137% when pulling 9228a1332c692586ceaad80285b2d796bcc43854 on omegaman123:contiv-crd into 00d015080c5ed8ad8a35b62bcfc0316c736a2d9d on contiv:contiv-crd.


SR300 RGB stream disappeared after accidental DCM firmware update

Hi,
The SR300 was perfectly working under Ubuntu until a colleague of mine tried it on a Windows machine with Intel SDK. There, it did not work properly. Worst of it, I cannot get back RGB stream on Ubuntu anymore, just IR and depth. Is the SR300 not compatible with Windows SDK? What have I missed?
Best

@jmaye The SDK has a history of nuking cameras when it does a firmware update during the DCM installation. Can you read out the firmware version of the SR300?

Thanks for your reply. The firmware reads: <IP_ADDRESS>, from the call get_firmware_version. I guess that's what happened indeed. He probably hit the button for firmware update unintentionally. Is there a way to get it back running?

Thanks for your reply. The firmware reads: <IP_ADDRESS>, from the call get_firmware_version. I guess that's what happened indeed. He probably hit the button for firmware update unintentionally. Is there a way to get it back running?

Thanks for your reply. The firmware reads: <IP_ADDRESS>, from the call get_firmware_version. I guess that's what happened indeed. He probably hit the button for firmware update unintentionally. Is there a way to get it back running?

Thanks for your reply. The firmware reads: <IP_ADDRESS>, from the call get_firmware_version. I guess that's what happened indeed. He probably hit the button for firmware update unintentionally. Is there a way to get it back running?

Thanks for your reply. The firmware reads: <IP_ADDRESS>, from the call get_firmware_version. I guess that's what happened indeed. He probably hit the button for firmware update unintentionally. Is there a way to get it back running?

I tried downloading an older DCM for SR300, but the link is dead.

Problem solved by de-installing current version and installing this:
http://fichiers.touslesdrivers.com/48037/intel_rs_dcm_sr300_<IP_ADDRESS>748.exe

Glad you could fix it! We're still working out what to do about the firmware update situation internally.

Hi, also tried downgrading my sr300 with this version. But it first crashed during the first process of installing it and now I get on windows the error, that it needs more power to run the realsense camera.
Is there a way to restore the firmware, since I think something happened during the downgradig process.

cant install this version firmware


Thoughts about libyaml-safer

I recently found an interesting blogpost about making libyaml-unsafe more idiomatic and safe (libyaml-safer).
Might this interest you? The performance seems to be similar, but maybe it's easier to maintain and it seems to save some code in favor of std functions.
PS: I'm not affiliated with the author and don't know his plans with this library...

Author here. Thanks for the interest!
I have a fork of serde-yaml that replaces unsafe-libyaml with libyaml-safer here: https://github.com/simonask/serde-yaml
The fork passes all of serde-yaml's tests, but it still needs some love. Specifically it contains UB due to the way I quickly hacked together the way that buffers/readers are passed to the backend. If there is interest in this, I'd be happy to massage it into an acceptable state, and guidance is welcome. :-)
(Note, I think the UB may technically exists in the current code as well, but isn't detected by Miri due to the use of raw pointers? Not sure.)
There are multiple ways to fix it, with varying levels of impact. I'm also open to change libyaml-safer's API to better fix serde-yaml's use case.

I think it would be all right for someone else to maintain a Serde data format using the libyaml-safer crate, but for serde_yaml I do not plan to use it. Libyaml has been abandoned for years and the former maintainer is strongly pushing people toward https://github.com/pantoniou/libfyaml. My criterion for switching YAML backend is  that it would need to be pure-Rust code derived from libfyaml via very close 1:1 translation with a maintainer that is dedicated to keeping it up to date with libfyaml development for several years, or it needs to be a clean-room Rust implementation of YAML that I consider promising and serious on par with libfyaml. I think libyaml-safer does not have line of sight to either of those outcomes and would just make them less likely if serde_yaml used it.

@dtolnay That makes a lot of sense. I don't think I am willing to commit to taking on the permanent distraction of actively maintaining libyaml-safer in perpetuity (due to bandwidth), and that would be a big problem for serde-yaml, an important infrastructural crate in the ecosystem.
The good news for whoever following is that serde-yaml is often an app-level dependency - few other library crates depend on it, so anyone interested in switching to a fork that uses libyaml-safer or another YAML implementation can typically do so with very little friction.
I will add this footnote: libfyaml as it is today is a fairly problematic library, not least due to the lack of Windows support. It still uses alloca() and other non-portable things. This means that a c2rust translation is not directly feasible, and a Rust port cannot be completely faithful to the original API. So a clean-room Rust implementation with feature parity seems more realistic, but that's an even bigger commitment, and there's just not enough hours in the day. ☹


Cow: Watch plombier-grenoble.com

Cow requests the watch of the watch_keyword plombier-grenoble\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

plombier-grenoble\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by double-beep in Charcoal HQ


JSDoc comment no more available (JS Doc Completion setting no more working)

VSCode Version: 1.28.0
OS Version: Windows 7 (x64)

Steps to Reproduce:

Create a JS file and define a MyClass class.
Add the following function to the class: MyClass.prototype.myFunction = function (param1, param2) {};
Place the cursor on line on the top of that function
Type /** and press enter: an empty JSdoc is created

    /**
     *
     */
    MyClass.prototype.myFunction  = function (param1, param2) {
    };

Previous behavior: the following JSdoc was created:

    /**
     *
     * @param {*} param1
     * @param {*} param2
     */
    MyClass.prototype.myFunction  = function (param1, param2) {
    };

This issue happen with no extension and no user or workspace settings.

Does this issue occur when all extensions are disabled?: Yes

Thanks. Opened https://github.com/Microsoft/TypeScript/issues/27638 to track root cause upstream


chore: downgrade other packages to cypress 12

This change is not strictly necessary, as for these packages, cypress 13 is working just fine. However, for the local binary installation, it makes sense to sync cypress versions across packages.

Closes in favor of https://github.com/swisspost/design-system/pull/2055


fix replay time

set replay time when apply the decision task started event.

Coverage increased (+0.3%) to 65.319% when pulling e8cd5a0e2068666f32dbb89a569832424aa53f56 on yiminc:fix_replay_time into c44dfcac642669f425451c38385c818bbb2931c5 on uber-go:master.


Evaluate k3d as local development environment

How to categorize this issue?

/area dev-productivity
/kind enhancement
/priority normal
What would you like to be added:
When using kind locally, we see the issue that the cluster url of targets need to be adjusted for controllers running inside the cluster and controllers running locally.
Also when using a component-descriptor in a local registry a similar issue occurs as both the controllers in the cluster as well as the local cli has to to reach the registry but both need to set the repository context.
The current workaround is to edit the local /etc/hosts to relfect the internal registry structure.
A possible fix could be to not use kind but use https://github.com/rancher/k3d as local development cluster.
We already use it in the integration tests.

added to local dev docs


Publish from GitHub Actions

I've added a step to the CI job that publishes to extension marketplace run trigger by tag starting with v. The workflow is based on an example from the extension docs but uses tags instead of release.
I documented how to release in README, including pre-release.
@TheButlah:

Could you test the steps for a pre-release?
Could you please create a new access token and create a repo secret named  VSCE_PAT? Instructions

Closes #20.
Regarding pre-releases
Odd and even minor versions to distinguish pre-release and ordinary?
From Publishing extensions | Visual Studio Code Extension API:

VS Code will auto update extensions to the highest version available, so even if a user opted into a pre-release version and there is an extension release with a higher version, that user will be updated to the released version. Because of this we recommend that extensions use major.EVEN_NUMBER.patch for release versions and major.ODD_NUMBER.patch for pre-release versions. For example: 0.2.* for release and 0.3.* for pre-release.

Might be reasonable to use convention for our releases too?
Pre-releases and CI/CD
We could publish pre-releases using CI/CD too. If we adopt convention described above then we could check in workflows started by tag-creation if it is an even or odd minor version and add the --pre-release argument based on that. Might be overkill though.
Or we leave pre-releases to extension publisher (@TheButlah) and other contributors who have been given both permission to push tags and commits to main as well as an access key to the extension marketplace.

I think that we don't really need to release pre-releases. If something breaks, just update the patch number.
We don't have long-running features in development that require experimenting with an API in a breaking way. I'd rather just not publish until we are somewhat confident it works. If it breaks, its fine, just re-publish with the fix.
I've added the requested personal access token to the secrets. Unfortunately, I'm pretty sure this allows collaborators in this repo to publish any extension under my name lol, but for now since I have no other extensions, this is fine. Need to figure out how to scope that PAT to just this extension eventually though.


support for variable lookup from environment and .env file

Now environment variables in docker compose file can be substituted from the operating system environment or .env file.
This has been merged in upstream https://github.com/openshift/origin/pull/9316
fixes issue #13

If this is already fixed in origin, all that is needed is to update vendored dependency using godeps.
I'm going to document steps how to do this, as it can be little bit tricky :-(

On Wed, Jun 22, 2016 at 2:21 PM, Tomas Kral<EMAIL_ADDRESS>wrote:

If this is already fixed in origin, all that is needed is to update vendored
dependency using godeps.
I'm going to document steps how to do this, as it can be little bit tricky
:-(

It's tricky indeed, because of the k8s hack :)

There is even more problems  https://github.com/openshift/origin/issues/9416#issuecomment-227252211

After rebasing with the latest changes
Docker compose file:
$ cat docker-compose.yml
version: "2"

services:
  postgresql:
    image: swordphilic/postgresql
    ports:
      - "$DB_PORT"
    environment:
      DB_NAME: $DB_NAME
      DB_PASS: $DB_PASS
      DB_USER: $DB_USER

  gitlab:
    image: swordphilic/gitlab
    ports:
      - "30000:80"
      - "30001:443"
      - "30002:22"
    restart: always
    environment:
      DB_TYPE: postgres
      DB_HOST: postgresql
      DB_NAME: $DB_NAME
      DB_PASS: $DB_PASS
      DB_USER: $DB_USER
      REDIS_HOST: redis

  redis:
    image: swordphilic/redis
    ports:
      - "$REDIS_PORT"

env vars
$ cat envs
DB_PORT=5432
DB_NAME=gitlab
DB_PASS=gitlab
DB_USER=gitlab
REDIS_PORT=6379

running henge
$ export $(cat envs)
$ ./henge openshift
apiVersion: v1
items:
- apiVersion: v1
  kind: ImageStream
  metadata:
    creationTimestamp: null
    name: gitlab
  spec:
    tags:
    - annotations:
        openshift.io/imported-from: swordphilic/gitlab
      from:
        kind: DockerImage
        name: swordphilic/gitlab
      generation: null
      importPolicy: {}
      name: latest
  status:
    dockerImageRepository: ""
- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    creationTimestamp: null
    name: gitlab
  spec:
    replicas: 1
    selector:
      deploymentconfig: gitlab
    strategy:
      resources: {}
    template:
      metadata:
        creationTimestamp: null
        labels:
          deploymentconfig: gitlab
      spec:
        containers:
        - env:
          - name: DB_HOST
            value: postgresql
          - name: DB_NAME
            value: gitlab
          - name: DB_PASS
            value: gitlab
          - name: DB_TYPE
            value: postgres
          - name: DB_USER
            value: gitlab
          - name: REDIS_HOST
            value: redis
          image: swordphilic/gitlab
          name: gitlab
          ports:
          - containerPort: 80
          - containerPort: 443
          - containerPort: 22
          resources: {}
    test: false
    triggers:
    - type: ConfigChange
    - imageChangeParams:
        automatic: true
        containerNames:
        - gitlab
        from:
          kind: ImageStreamTag
          name: gitlab:latest
      type: ImageChange
  status: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    creationTimestamp: null
    name: postgresql
  spec:
    tags:
    - annotations:
        openshift.io/imported-from: swordphilic/postgresql
      from:
        kind: DockerImage
        name: swordphilic/postgresql
      generation: null
      importPolicy: {}
      name: latest
  status:
    dockerImageRepository: ""
- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    creationTimestamp: null
    name: postgresql
  spec:
    replicas: 1
    selector:
      deploymentconfig: postgresql
    strategy:
      resources: {}
    template:
      metadata:
        creationTimestamp: null
        labels:
          deploymentconfig: postgresql
      spec:
        containers:
        - env:
          - name: DB_NAME
            value: gitlab
          - name: DB_PASS
            value: gitlab
          - name: DB_USER
            value: gitlab
          image: swordphilic/postgresql
          name: postgresql
          ports:
          - containerPort: 5432
          resources: {}
    test: false
    triggers:
    - type: ConfigChange
    - imageChangeParams:
        automatic: true
        containerNames:
        - postgresql
        from:
          kind: ImageStreamTag
          name: postgresql:latest
      type: ImageChange
  status: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    creationTimestamp: null
    name: redis
  spec:
    tags:
    - annotations:
        openshift.io/imported-from: swordphilic/redis
      from:
        kind: DockerImage
        name: swordphilic/redis
      generation: null
      importPolicy: {}
      name: latest
  status:
    dockerImageRepository: ""
- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    creationTimestamp: null
    name: redis
  spec:
    replicas: 1
    selector:
      deploymentconfig: redis
    strategy:
      resources: {}
    template:
      metadata:
        creationTimestamp: null
        labels:
          deploymentconfig: redis
      spec:
        containers:
        - image: swordphilic/redis
          name: redis
          ports:
          - containerPort: 6379
          resources: {}
    test: false
    triggers:
    - type: ConfigChange
    - imageChangeParams:
        automatic: true
        containerNames:
        - redis
        from:
          kind: ImageStreamTag
          name: redis:latest
      type: ImageChange
  status: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: null
    name: gitlab
  spec:
    ports:
    - name: 22-tcp
      port: 22
      targetPort: 22
    - name: 80-tcp
      port: 80
      targetPort: 80
    - name: 443-tcp
      port: 443
      targetPort: 443
    selector:
      deploymentconfig: gitlab
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: null
    name: postgresql
  spec:
    ports:
    - name: 5432-tcp
      port: 5432
      targetPort: 5432
    selector:
      deploymentconfig: postgresql
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: null
    name: redis
  spec:
    ports:
    - name: 6379-tcp
      port: 6379
      targetPort: 6379
    selector:
      deploymentconfig: redis
  status:
    loadBalancer: {}
kind: List
metadata: {}

ping: @kadel

LGTM

Rebased and merging!


datastar-remove event does not handle useViewTransition or settleDuration.

The datastar-remove event does not handle useViewTransition or settleDuration.
If neither is provided then it works properly.
If one or both are provided then Datastar will repeat the request every second over and over, receiving the same response.
(It appears like the variables are swept up into the selector or paths.)

@delaneyj the datastar-remove event never supported settling and view transitions. Should it, or does the spec need to be adjusted?

@SpiralOSS I’ve cheated a bit and added the cases with TODO comments, so settleDuration and useViewTransition will have no effect but won’t break your tests.
https://github.com/starfederation/datastar/blob/650107ddeb8c20d5a30e35da3f1dee175ce18b29/code/ts/library/src/plugins/actions/backend/sse.ts#L289-L294


Added config_flow, hacs and switch.

I'm busy with a pull request on hassio to update official component. Perhaps the community can benefit from the changes while we wait for a review? The structure allows for easy adding of platforms (ie sensor platform for battery status and light level)
-Added HACS file for easy updating.
-Added config flow. (Tests the MAC address is valid via pygatt - hassio git ci can't pass with pyblue)
-Added hassio switch component with a device descriptions.
-Small changes to recently merged cover platform pull request. (basically depreciated Dict typing fix, config flow and device identification - requirement to match sensor entities with device for future contribution)
Breaking change
-Curtain entries will need to be reconfigured via the integrations gui and removed from yaml config.
-Will import and create switchbot bot entites.

Breaking change
-Curtain entries will need to be reconfigured via the integrations gui and removed from yaml config.
-Will import and create switchbot bot entites.

@alextud,
Tested pull request with multiple devices and works well.
Thanks.

Should also resolve #12

https://github.com/alextud/ha-switchbot-curtain/blob/7c41a17ca17a8b3ae53def6a4c6ab7e639a63f42/custom_components/switchbot-curtain/cover.py#L165
This line results in state history being spammed with irrelevant updates (Every update results in state change, even if it hasn't). Busy fixing.

Hey @RenierM26, I have a flaky connection to my switchbot (not always is working - assuming overcrowded network )
Is it possible to increase polling time (now - 60 seconds) to a custom one, through yaml or web interface ? My self I don't use this information - as the curtains is used only 2 a day (mostly trough scene automation).

I've seen that you also integrated original switchbot implementation in this repo, is the original developer ok with this ?

I've seen that you also integrated original switchbot implementation in this repo, is the original developer ok with this ?

I haven't asked him but I see you have credited him in the manifest file ? @danielhiversen
I have also changed approx +-42% of the code so I don't think it will be a problem.

Hey @RenierM26, I have a flaky connection to my switchbot (not always is working - assuming overcrowded network )
Is it possible to increase polling time (now - 60 seconds) to a custom one, through yaml or web interface ? My self I don't use this information - as the curtains is used only 2 a day (mostly trough scene automation).

Good idea. I can add options to the config flow for this.

It is ok with me.
Hope you will consider adding this to the main HA repo also

Added config flow options for the various switchbot api timeouts.
Haven't tested this yet.**

Hi @alextud,
All looks good.

Hi @alextud,
I have submitted a pull request on pySwitchbot. It should fix a few issues. (Battery level incorrect for curtains, improvement for update methods and battery status and switch status for bot)
Once merged, I will update this integration.

Due to btle device connection limits I suspect it will be better to handle updates via a coordinator.  I'm going to try that next.
The integration works but it spams the logs when it can't connect. (BTLE spec allows for only 1 connection at a time)

Hi @alextud,
It now uses an update coordinator and should be much more reliable.  My pull request on the API is still being reviewed so this is kind of a proof of concept until the pull request is reviewed and merged. (Manifest file points to my pull branch on git instead of pypi)

@alextud,
Updates are working properly (with multiple devices ;-). Next is to change the command execution to a coordinator based model as well.

@RenierM26 I'm so stoked on your work. Thank you so much! When will we be able to test these updates out?

Hi @88fingerslukee and @alextud ,
I done with this pull request (as of now). Just waiting for Danielhiversen to review and commit the upstream api changes.
Your welcome to test. Just bare in mind that an API change could still happen that requires a change or two.

Hi @alextud,
The upstream API changes have been merged. This pull request is ready for review.

I'm very excited for this...

@RenierM26 I'm getting a gatttool.py error when I test the files from your repo. It can't find connect to either of my curtains.  When I run gatttool interactively from the CLI I get a connection refused error.  bluetoothctl discovers and connects just fine, however.  Any thoughts on this?
My curtains were working under @alextud's old integration

FURTHER UPDATE
@RenierM26
It seems gatttool is broken in Fedora 33 and deprecated in Fedora 34. My server is currently running Fedora 33. I've tried running gatttool on a second machine running Ubuntu 20.04 and it connects no problem. I've tried Fedora 33 AND 34 on that same second machine and it gives me the "connection refused" error.  gatttool is not installed by default on Fedora 34, one must install the bluez-deprecated package in order to use it.
Two questions:
1.) Is gatttool the only way of making this work?
2.) will gatttool be deprecated in future versions of ubuntu or debian or whatever?

@RenierM26 thanks for all the work here.
I have tried your latest commit. I first got a btle.py Permission Denied error.  I fixed that by issuing:
sudo setcap 'cap_net_raw,cap_net_admin+eip' btle.py
But the config still fails without any error in the logs.  Is there some way of increasing the log level to figure out what's going on here?

Hi @88fingerslukee,
Would you be able to open python and run the following?
Import switchbot
switchbot.GetSwitchbotDevices().discover()
It should output a python dict with all the switchbots nearby. The config flow basically uses this to verify that the Mac is entered correctly. If there are any errors then we should be able to figure out the problem.

>>> Import switchbot   File "<stdin>", line 1     Import switchbot            ^ SyntaxError: invalid syntax
this is weird, no? what am I doing wrong?

@RenierM26
I tried this again this morning and it worked. It definitely discovered the devices.  Now what?

Hi @88fingerslukee,
Thank your for the feedback. I'll try to add some code that converts the input to lowercase.

@RenierM26 thank you so much for your work. If you can't add the code, we should at least make sure the instructions call it out.

@alextud @RenierM26 do we know when these updates will be pushed to HACS?

Sorry to report this, but on my Intel NUC this version has problems (Error connecting to Switchbot device), and eventually the device become unavailable. The original version works flawlessly.

@RenierM26 I'm also having a problem now. The integration seemed to be causing stability issues with HASS and it would shut down randomly. Then, one of my two curtain devices becomes unavailable. Now, this solves the stability issue but every time I remove and re-add the device the server starts shutting down.
What kind of logs do you need for this?

When viewing integration configuration, last input description is not visible for me.

@RenierM26 Switchbot in some cases reports that closed position is at 1% (when closing curtain). It seems that homekit is using this position to report if curtain is open/closed. Can we report 1 to be as 0 ex:
def current_cover_position(self) -> int:
         """Return the current position of cover shutter."""
         position = self.coordinator.data[self._idx]["data"]["position"]
         if position == 1: // homekit is using this to show if open / closed state..
              position = 0
         return position

Otherwise when I'm closing curtain from homekit is always reports as in progress ...

@RenierM26 I'm also having a problem now. The integration seemed to be causing stability issues with HASS and it would shut down randomly. Then, one of my two curtain devices becomes unavailable. Now, this solves the stability issue but every time I remove and re-add the device the server starts shutting down.
What kind of logs do you need for this?

Can you increase time between updates to be more than 1 min, let's say 5 or 10 minutes...

After a successful comand HA logs a warning:
2021-07-25 14:36:50 DEBUG (SyncWorker_8) [switchbot] Sending command, 570F450105ff00
2021-07-25 14:36:50 INFO (SyncWorker_8) [switchbot] Successfully sent command to Switchbot (MAC: dc:6d:a0:60:c2:ab)
2021-07-25 14:36:50 DEBUG (SyncWorker_8) [switchbot] Disconnecting
RuntimeWarning:
    coroutine 'DataUpdateCoordinator.async_request_refresh' was never awaited

@RenierM26 I'm testing these changes now. I've had the latest version installed since last night. So far no lockups on HA

So far so good. No HA lockups and it seems to be more responsive.

Hi There,
Thank you for the help everyone! All of the code was merged into the official hass integration and should be available in the next hass release. ;-) (Config Flow, curtain support and the sensors)

@RenierM26 Thank you for all your work! Where will we make comments on issues going forward? Also, will I have to delete my devices and re-create them when the official integration drops?

Hi @88fingerslukee,
The platform name on the hass integration is different so you'll need to re-create your devices. You can always open an issue on the  hass github repository if you have any problems or comments.