azure.search.documents.aio.SearchClient type annotation does not accept Chained Async Credential

Package Name:  azure-search-documents
Package Version: 11.4.0b6
Operating System: macOS
Python Version: 3.10

Describe the bug
The __init__ method for the Async Search Client says it accepts a Union of Union[AzureKeyCredential, AsyncTokenCredential] which means that type checkers will raise a warning when  an async ChainedTokenCredential is used. Looking at the underlying code, only the async .get_token() method is assumed on the interface, so it is compatible with a chained async token credential (and this code works), but pylance raises an error.
To Reproduce
Minimum reproducible sample:
from azure.identity.aio import DefaultAzureCredential
from azure.search.documents.aio import SearchClient

AZURE_SEARCH_SERVICE = "foobar"
AZURE_SEARCH_INDEX = "index1"

azure_credential = DefaultAzureCredential(exclude_shared_token_cache_credential = True)

search_client = SearchClient(
    endpoint=f"https://{AZURE_SEARCH_SERVICE}.search.windows.net",
    index_name=AZURE_SEARCH_INDEX,
    credential=azure_credential)

Here is the full error from Pyright
Argument of type "DefaultAzureCredential" cannot be assigned to parameter "credential" of type "AzureKeyCredential | AsyncTokenCredential" in function "__init__"
  Type "DefaultAzureCredential" cannot be assigned to type "AzureKeyCredential | AsyncTokenCredential"
    "DefaultAzureCredential" is incompatible with "AzureKeyCredential"
    "DefaultAzureCredential" is incompatible with protocol "AsyncTokenCredential"
      "__aenter__" is an incompatible type
        Type "() -> Coroutine[Any, Any, DefaultAzureCredential]" cannot be assigned to type "() -> Coroutine[Any, Any, None]"
          Function return type "Coroutine[Any, Any, DefaultAzureCredential]" is incompatible with type "Coroutine[Any, Any, None]"
      "__aexit__" is an incompatible type
        Type "(*args: Unknown) -> Coroutine[Any, Any, None]" cannot be assigned to type "(exc_type: Unknown, exc_value: Unknown, traceback: Unknown) -> Coroutine[Any, Any, None]"
  ...

CC @xiangyan99

Thank you for the feedback @tonybaloney . We will investigate and get back to you asap.

Hey, @tonybaloney. We have recently been implementing typing updates in many of the SDKs, but there are likely still some issues to work out. Hower in this case, it looks similar to https://github.com/Azure/azure-sdk-for-python/issues/27704, which was actually just recently resolved.
What version of azure-core do you have installed? If you grab the latest, I believe pywright shouldn't complain here.

Spoke a bit too soon, and seems like there were some issues in the azure-core AsyncTokenCredential protocol.
Will close this and track in #27704.


Fix performance problems

When requesting applications in certain projects with their own model extensions, performance will sometimes drop dramatically. The problematic SQL statements had the following characteristics:

they used a ridiculous amount of left outer joins (more than 80)
they were joining over a couple of (select ... union ... union) subselects

In order to reduce the amount of joins this PR removes some of the fetch mode annotations (or changes them to subselect) (in order to avoid too many joins at once) and changes the inheritance strategy for all related classes to joined instead of table_per_class (in order to avoid the unions).
Please note that this will result in changed table structures, so we should only merge this after a new release.
@terrestris/devs please review

We had this this forth and back... really annoying. I tend to think that inheritance isn't the right approach here. If possiible I'd delay merging this until we have feednack from @buehner

As the changes will result in changed table structures, this is a hard topic regarding backwards-compatability, right? As long as we start new projects or we can boot in CREATE-mode, this would be OK.
I love performance enhancements, but i dont like breaking the backwards-compatibilty. I dont have a strong opinion right now.
This would result in a 2.x.x release, right? Maybe we can still maintain a 1.x.x branch for backwards compatibility. What do you think?

You're right about that. I think doing a 1.x and maintaining a 0.1.x branch for backwards compatibility sounds like the right thing to do.
Just note that this actually fixes scalability issues and doesn't just improve performance.

Then please do the releases and proceed as discussed. Thanks everyone


copy vim visual selection to system clipboard missing last character

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
Steps to reproduce:

enable vim mode
visually selected some text: for example typing viw in ToggleFullScreen
copy the selected text to system clipboard (cmd-c)
paste the text to other application (cmd-v)
the copied text missing last character (ToggleFullScree)

Additional context:

using vim viwyp is correct in zed
vscode vim plugin works expected

Environment
Zed: v0.96.4 (stable)
OS: macOS 13.4.1
Memory: 16 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature
No response
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

Thanks for reporting this! This should be fixed as of Zed v0.101, please let me know if you see something different.


Request : Right Click menu options to start, copy area via mouse, and stop.

First, Great work Great Tool
Request : Right Click menu options to start, copy area via mouse, and stop.
This should make it easier and quicker to use. Either that or do something similar to ms snip.

@kaiserc can you go into more detail what you are requesting here. Right now Text Grab enables clicking a word and selecting an area, are you suggesting a new capture method or just a delayed start in how it works today?

Of course I wouldn't know, but I think he meant a new capture method. If so, I agree with that. It would be nice to have some way to open the app quickly other than just pinning it to taskbar. (Because some might prefer to have something else on the taskbar but still want to have access to TG.)

@Martin5001 that sounds like you are suggesting a global shortcut key? I have also been looking into adding Text Grab to the context menu of image files. #8
I have considered the idea of having a persistent frame which can be moved around and resized, but which does not go away when text is grabbed. This might be easier to use when doing lots of repetitive tasks where text is generally in the same space. I'll probably open a new issue for this mode.

Yes, in my opinion, global shortcut key would be the best option. (It would probably require a background-running service, which I understand has its disadvantages, so it might be just an optional setting?) The persistent frame idea sounds useful too.

With the release of Text Grab 2.0, the Grab Frame has been introduced.

Does that satisfy this issue?
What other changes need to be made to satisfy this issue?


Issue with group_constraint option in knn_imputation

Hi,
I'm using velocyto to look at RNA velocities in cells coming from different patients. I reunited all the loom files in one and I'm importing the clusters names from a previous analysis (Seurat). It's working well and I'm quite impressed by your library,
I don't want cells from different patients to be thought as "neighbours" during velocyto pipeline, so I want to use the option group_constraint of the function knn_imputation with an array of int, of size vlm.S.shape[1], which associate to each cell an integer corresponding to its patient of origin.
But when I try to use it this way, I receive the error:
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-52-d5a186507017> in <module>
      5 vlm.perform_PCA()
      6 vlm.knn_imputation(n_pca_dims=15, balanced=True,
----> 7                   group_constraint=vlm.ca["patient"])

~/.local/lib/python3.7/site-packages/velocyto/analysis.py in knn_imputation(self, k, pca_space, metric, diag, n_pca_dims, maximum, size_norm, balanced, b_sight, b_maxl, group_constraint, n_jobs)
    995                 if isinstance(group_constraint, str) and group_constraint == "clusters":
    996                     constraint = np.array(self.cluster_ix)
--> 997                 bknn = BalancedKNN(k=k, sight_k=b_sight, maxl=b_maxl, metric=metric, constraint=constraint, mode="distance", n_jobs=n_jobs)
    998             else:
    999                 bknn = BalancedKNN(k=k, sight_k=b_sight, maxl=b_maxl, metric=metric, mode="distance", n_jobs=n_jobs)
UnboundLocalError: local variable 'constraint' referenced before assignment

Without the option, everything works fine.
If I'm not mistaken, I think that the issue comes from the fact that the variable constraint is only defined if group_constraint is an str object. An easy fix would be to add two lines after line 996 of analysis.py:
if(isinstance(group_constraint, ndarray)):
    constraint = group_constraint

I can create a pull request if you prefer,
Additionally, do you think this is the "right" way to apply velocyto on multi-sample data, if I want to be able to compare samples ? Is there any other pitfall I should be aware of in that kind of analysis ?
Thanks for your excellent package,
Thomas

Hi @Thopic -- Thank you for a detailed question above. I wonder if you would not mind explaining why you would not want "cells from different patients to be thought as "neighbours" during velocyto pipeline"? Is it because you want to analyze each donor individually?
I also have 3 donors, and each donor has 2 different cell populations which were sorted and sequenced. I have also merged the loom files into 1 loom file (btw, do we need some kind of batch correction?).


ISession ArraySegment  API question

Hi. I was going over the ISession API and I was surprised about the usage of ArraySegment instead of just using Object. I'm curious to know why this API changed so much from the vCurrent API. Is there any design notes or other documentation about it?
I find the current implementation too raw for most use cases. Is the team planning to create some extension methods to make it easier to set and get data from Session? Something like:
void Set(string key, object value);
object Get(string key);

The primary reason is that session is something that needs to be shared between multiple server instances. This requires that all the data be serialized and synced back and forth. We used to try to serialize 'object' automatically but that was precarious at the best of times. We've moved to an explicit serialization model instead.
There are already a variety of serialization extensions here: https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNet.Http.Extensions/SessionCollectionExtensions.cs
Yes we plan to add more, but we don't expect 'object' to be one of them.

Thanks @Tratcher. I see your point, but most ASP.NET apps that I've worked on store complex object graphs in Session. We probably shouldn't do it, but that's the reality of most codebases I've seen.
Using the explicit serialization model a la SerializationInfo is painful for complex object graphs, maybe the team wants app devs to feel this pain and think harder if what they are doing is the right thing or not. But I suspect that app devs will just end up writing their own version of Set(string key, object value) and I much better use one provided by the framework than one created by me. Hopefully the team gives it a bit more thought.
It looks like the ISessionCollection is actually the abstraction that devs most likely will consume. Is this correct?

Yes, this is one place where developers should feel the pain of decisions that would otherwise negatively impact their application. Note I'm not endorsing SerializationInfo either, that's also quite painful. We'll continue to work with the community to develop the functionality and guidelines here.
Correct, ISessionCollection is the primary developer API.

Cool thanks!


CodecPriority is not valid/used anymore

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/blob/16a982cbc165b40e39f2f4c7713d500462a2c77c/Teams/direct-routing-connect-the-sbc.md?plain=1#L154-L155 Mention "CodecPriority" and "ExcludedCodec" which are no longer valid output, as those parameters were removed in https://github.com/MicrosoftDocs/office-docs-powershell/pull/8869
++ @FilippSe for visibility

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

ID: ad7d5051-1177-c5cf-bf28-8639d7b6fbd1
Version Independent ID: 2a9aa4e1-3767-cd46-50fe-f9dd8b0997be
Content: Connect your Session Border Controller (SBC) to Direct Routing - Microsoft Teams
Content Source: Teams/direct-routing-connect-the-sbc.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

Thanks for your feedback


transform model prediction into map format

model predicts a list of x,y,h,w,label for each object in the image
need to convert them into a vector format, acceptable by map application

maybe we should clean the 'backlog' of outdated issues


Add MaxRetry for MinIO operations

This PR introduces a new MaxRetry configuration option to the Config struct, allowing users to specify the maximum number of retry attempts for MinIO operations.

Summary by CodeRabbit

New Features

Introduced a MaxRetry configuration option to specify the maximum retry attempts for requests, enhancing reliability during failures.
Updated default configuration to include the MaxRetry field.

Bug Fixes

Improved the dynamic configuration of the MaxRetry parameter when creating new storage instances.

Pls add a test case

Thx for the pr
Pls add a test case

I don't think a new test case is necessary since this feature is already covered and well-tested within the MINIO client itself. I have not implemented a new retry mechanism.
https://github.com/minio/minio-go/blob/ab1c2fe050a4dd502c863178696a54c44610ca82/retry.go

Thx for the pr
Pls add a test case

I don't think a new test case is necessary since this feature is already covered and well-tested within the MINIO client itself. I have not implemented a new retry mechanism.
<EMAIL_ADDRESS>
this should not be used to check the underlying functionality, but only to check that the configuration has been set correctly
this prevents an error from occurring later if the configurations become much larger

but it looks like I'm a bit too strict there
at least we don't have that with the other adapters
only with the middleware
maybe we can add that later
would definitely help to find configuration errors early on when this process becomes more complex


Build failed: exec: job exited with status 1

I'm trying to run grails-flynn-example, i'm getting this error
-----> Building grailsapp...
-----> Unable to select a buildpack
remote: Build failed: exec: job exited with status 1
To https://git.d191.flynnhub.com/grailsapp.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.d191.flynnhub.com/grailsapp.git'
any ideas what cause this ?

We don't ship the grails buildpack any more (#623). You could try running this command before pushing:
flynn env set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-grails

thank you @titanous  that's fix the problem


Save + Resume Session

We should offer a way to save sessions and resume sessions.
There should be an added function in the WalletConnect class that will write the session data to a given stream. The function should make no assumptions about how the save will occur, it should simply write to a stream given
public virtual void WriteSession(System.IO.Stream stream)

To resume a session, the WalletConnect class should offer a constructor with only a System.IO.Stream variable that will be used to read in the session data. This should be the reverse of WriteSession

When you will finalize this? I see there is a pull request but not merged yet


Remove version: qBittorrent.qBittorrent version 4.3.3

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: Duplicate;


fix wrong account when login by mnemonic

ISSUE:
https://github.com/tomochain/tomomaster/issues/415

Pull Request Test Coverage Report for Build 782

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.47%

Totals

Change from base Build 781:
0.0%

Covered Lines:
92

Relevant Lines:
103

💛  - Coveralls

Need to correct package.json file


Pages are not loading in PDF reader on Xamarin app

This is a Xamarin mobile application. In the Android app, pdf reader opens when click on a ebook. But not showing any page inside the reader.

Loading like this.

After click on PDF book, showing this. But not loading pages.
But, This works properly in January this year. But now not working. What can be the reason ?

Without all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md this issue will be closed as INVALID; see also https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us on the IRC channel -- keep in mind that just code snippets won't help us troubleshoot the problem.


*: replace select!{ timeout } with block_on_timeout

What is changed and how it works?

Issue Number: Close #15340
What's Changed:

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test

Release note
None

nice!

/merge


Black screen afer running the app. Below is the error from logcat

021-01-08 21:39:52.905 9316-9316/com.stoleg.facemask E/libc: Access denied finding property "camera.hal1.packagelist"
2021-01-08 21:39:52.907 9316-9316/com.stoleg.facemask E/CheckPermission: camera-code= 3
2021-01-08 21:39:57.352 9316-9607/com.stoleg.facemask E/DetectionBasedTracker: findLandMarks DetectionBasedTracker !/data/user/0/com.stoleg.facemask/app_cascade/ert_model.dat
2021-01-08 21:40:11.557 9316-9316/com.stoleg.facemask
E/SurfaceView: Exception configuring surface
java.lang.RuntimeException: Fail to connect to camera service

Manually had to give permission to app

Manually had to give permission to app


No op if we are already synced

Context
There's a surprising behavior where if you call subscriber.Sync twice with no selector and cid.Undef you will traverse the whole chain instead of stopping on the latestSync.
For example:
Assume publisher P has a linked list of blocks:
A <- B <- C.
When we call
sub.Sync(ctx, pID, cid.Undef, nil, pAddr)

We set h.latestSync == C. And we call our block hook fn for C, B, A.
If we then call
sub.Sync(ctx, pID, cid.Undef, nil, pAddr) // or C instead of cid.Undef

We should expect this to be a no-op since we are already synced. However what actually happens is that we call our block hook fn for C, B, A again.
This causes some subtle bugs on the indexer that doesn't expect this behavior (specifically it expects that once a block has been ingested it won't try to be ingested again. Although indexer has some gaurd rails to prevent inconsistency here).
Proposed Solution
Check if h.latestSync == cidToSyncTo in the handler.handle func since we should already have a lock here.
Added a new test that builds a random linked list and tests this behavior.

Codecov Report

Merging #68 (ec92ff7) into main (360307b) will increase coverage by 0.28%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
+ Coverage   66.52%   66.80%   +0.28%
==========================================
  Files          19       19
  Lines        1655     1660       +5
==========================================
+ Hits         1101     1109       +8
+ Misses        412      410       -2
+ Partials      142      141       -1

Impacted Files
Coverage Δ

subscriber.go
78.69% <100.00%> (+1.74%)
:arrow_up:

dtsync/sync.go
74.31% <0.00%> (-1.84%)
:arrow_down:

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 360307b...ec92ff7. Read the comment docs.


chore: revert "docs(extensions): update latest extensions documentation"

Reverts asyncapi/website#2320
bot should not merge this PR as do-not-merge label was added. I will open follow up fix in .github in automerge workflow so it do not happen again

https://github.com/asyncapi/.github/pull/260


[Enhancement] Consider hiding feature-gating abstractions

Consider locking abstraction behind a default feature abstraction

Requires #3.
Otherwise no functionality would be accessible by the end-user


V2.0.0-beta5 oauth.access fails with invalid_client_id

Always and forever, as near as I can tell. Even with no network, which is head-scratching.

Fixed by https://github.com/slackhq/node-slack-client/commit/bff52b93d131b64bbe07a8d437f200abfff0811e


Please add "detectReorderAfterLongPress" modifier

Hi. Please add detectReorderAfterLongPress so I would not need to have element with I need to use to drag but have whole item available for drag once it's long pressed.

I've added Modifier.longPressDraggableHandle in 1.2.0. If you want to be able to drag the whole item, just apply the modifier to the whole item.


Unable to connect wallet to Etherscan "revoke feature" to canx ETH Unlimited Contracts

User reported bug via support:
Cannot connect to wallet to Etherscan, objective is to revoke Uniswap approval (Unlimited ERC20 allowances!)
Message:
Hi I have a problem to revoke UNI Swap access to my founds, please help me.
https://etherscan.io/tokenapprovalchecker?search=0x39063c32ebef4b026609ef841b8203e52de68630
Steps to reproduce the behaviour:

Tap Browser
Insert Etherscan Contract url:  https://etherscan.io/tokenapprovalchecker?search=0x39063c32ebef4b026609ef841b8203e52de68630
Cannot connect wallet ---> cannot show

My screenshot where I've replicated the UX:

Interim workaround:
Quick fix for this user to stay inside Alphawallet -

ask user to navigate Browser
use this Url Eth Allowance / Revocation tool:   https://james-sangalli.github.io/eth-allowance/
Wallet should automatically connect (To be confirmed, waiting for user to respond)
User to click "revoke all allowances"

Resolution:

pending user confirmation that workaround point 3 works
pending user confirmation iOS / Android (version number)

Background:
Etherscan has a new Token Approvals feature released  (2 months).  https://info.etherscan.com/tokenapprovals/
Unproven projects with novel yield farming have reaped more and more token allowances - to the point where they just start stealing user tokens.  Reading: https://kalis.me/unlimited-erc20-allowances/

Note: this ticket is replicated in both iOS and Android pending user confirmation of version

Closing - duplicate ticket.

Duplicate of #1852


MODE-2469 Added a "maxPoolSize" configuration attribute which allows the configuration of the sequencer's and text extractor's maximum number of threads.

Updated the AS kit to expose configuration attributes both for the names of the thread pools and the maximum size of the thread pool.

Looks good.


Updates find_package for python3 to more modern cmake

Thank you for your contribution

Travis error on retrieving python3

I am currently trying to make the Travis work again, but in the worst case, I will revert this PR


Intellisence Not Working

Issue Type: Bug
Intelllisence stops working automatically. I have to restart the program to see intellisence working. Kindly resolve this issue out.
VS Code version: Code 1.22.2 (3aeede733d9a3098f7b4bdc1f66b63b0f48c1ef9, 2018-04-12T16:38:45.278Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (4 x 2904)

Memory (System)
7.89GB (1.34GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe E:\Projects\Alfain\estore\estore_client

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

vscode-babel-coloring
dza
0.0.4

react-native-react-redux
EQu
1.8.0

vsc-material-theme
Equ
2.0.1

auto-close-tag
for
0.5.6

material-icon-theme
PKi
3.3.0

@ihassanamjad what file type are you editing?

@bpasero I am editing JS file in React

Do you also see this problem in VS Code insiders with all extensions disabled?

@mjbvz Yes, I have disabled all the extensions but the issue is still there. When I start VS Code, Intellisence works perfectly fine, but after some time it stops showing suggestions. If I press Ctrl + Space it shows "Loading" in suggestions.

I still have the problem even in Insider version,
steps to reproduce :
1 - try importing something from a third party package, (ex material-ui)
2- If you  import something that doesn't get suggested immediatly  by Intellisence from that package, it will crash (ex material-ui/Icon  almost never gets suggested and leads to the bug)

Please also try upgrading your workspace to typescript@next by following these instructions: https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions. Make sure you select the workspace version of typescript by running the Select TypeScript Version command after installing
A similar bug was fixed in typescript@next


Consider using res.sakuraMeta rather than res.locals

after some internal discussions with others... no one cares so this isn't getting changed (for the moment at least).


Modified CausalModel import

Added import to dowhy.__init__.py so that CausalModel can be imported directly from dowhy.
For example, with this change the top README example would start with
from dowhy import CausalModel
import dowhy.datasets

Does this address one of the cards in the "Bug fixes"?
Also, what do you think about changing do_why.py to something like causal_model.py?

 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: jrfiedler sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @jrfiedler ! yes it does resolve that issue, let me mark it resolved.
Agree on renaming do_why to causal_model. This will need some refactoring..are you up for having a shot at it?

I've been following along do_why for the past several weeks with the intent of learning and contributing.
As a random observer, "Causal Model" makes a lot more marketing sense -- do_why is a bit niche, but do why calculus is a major-but-not-exclusive tool in causal models.

Great, thanks @amit-sharma. Yes, I will try to make the change.

Sounds great! I had a look and it seems it's easier than I thought. You'll just need to change the name of the do_why.py file and its import reference in dowhy/init.py.
With the new statement "from dowhy import CausalModel", everything should just work!
We'll also need to change the docs. I'm happy to do that once you make the change.

I think there's one other import to change, but yes, it does seem pretty easy. In fact, I can probably have the PR up in a few minutes.


Add Gitea as an installable app

Description
Gitea now has an official helm chart, and this PR adds it as an app to arkade
Motivation and Context
How Has This Been Tested?
# start civo cluster
make build
./arkade install gitea -h
./arkade install gitea
kubectl --namespace default port-forward svc/gitea-http 3000:3000
# Open http://<IP_ADDRESS>:3000 in the browser

Types of changes

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

Checklist:

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

[x] My change requires a change to the documentation.

[x] I have updated the documentation accordingly.

[x] I've read the CONTRIBUTION guide

[x] I have signed-off my commits with git commit -s

[ ] I have added tests to cover my changes.

[x] All new and existing tests passed.

[x] I have tested this on arm, or have added code to prevent deployment

Thanks for the PR, you're fast.
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=gitea,app.kubernetes.io/instance=gitea" -o jsonpath="{.items[0].metadata.name}")

FYI this is a very old-fashioned way to do this. You can use a service or deployment without the other parts above.
Want to try reworking it?

FYI this is a very old-fashioned way to do this. You can use a service or deployment without the other parts above.

Ah yes, I was being lazy. The original chart that we based on used those instructions, however there is now a service that we can reference, and I've just confirmed using the installation steps above that kubectl --namespace default port-forward svc/gitea-http 3000:3000 works with arkade install.

Done.

Thank you for your patience.

Thank you for your patience.

No worries. Thanks for catching the items that you did during the review :)


INT-2331 check if mocha is used in project before running codemod

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Object safe error when making array of Gpio digital output pins

Hi! I am very familiar with c++, I am trying to implement a progress bar with LEDs where more can be added (numbers decided at compilation).
From my c++ thought process, I am trying to store pointers in an array derived from a virtual base class like OutputGpio and calling functions on them. I have tried to implement the same in rust. I guess I am expecting some wrong trait object
use esp32_hal::gpio_types::OutputPin;

pub struct GpioProgressBar<'a, const MAX_PINS: usize> {
    pins: [&'a dyn OutputPin; MAX_PINS],
}

impl<'a, const MAX_PINS: usize> GpioProgressBar<'a, MAX_PINS> {
    pub fn new(pins: [&dyn OutputPin; MAX_PINS]) -> Self {
        Self { pins }
    }
}

impl<'a, const MAX_PINS: usize> Progress for GpioProgressBar<'a, MAX_PINS> {
    fn show(&mut self, bounds: Bounds<usize>, current: usize) {
        let progress = (MAX_PINS * (current - bounds.min)) / (bounds.max - bounds.min);

        (0..MAX_PINS).for_each(|i| {
            if i < progress {
                self.pins[i].set_high().unwrap_or(());
            } else {
                self.pins[i].set_low().unwrap_or(());
            }
        })
    }
}

Trying to use it as
let mut led = io.pins.gpio25.into_push_pull_output();
let mut led2 = io.pins.gpio24.into_push_pull_output();

let mut progress_bar = GpioProgressBar::new([led, led2]);

Error:
error[E0038]: the trait `esp32_hal::gpio_types::OutputPin` cannot be made into an object
   --> src/ui/progress/gpio_progress_bar.rs:8:16
    |
8   |     pins: [&'a dyn OutputPin; MAX_PINS],
    |                ^^^^^^^^^^^^^ `esp32_hal::gpio_types::OutputPin` cannot be made into an object
    |
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically;

Got something working, reviews appreciated, thanks!
use core::convert::Infallible;

use esp32_hal::prelude::_embedded_hal_digital_v2_OutputPin as OutputPin;

use crate::commons::bounds::Bounds;

use super::progress::Progress;

pub struct GpioProgressBar<'a, const MAX_PINS: usize> {
    pins: [&'a mut dyn OutputPin<Error = Infallible>; MAX_PINS],
}

impl<'a, const MAX_PINS: usize> GpioProgressBar<'a, MAX_PINS> {
    pub fn new(pins: [&'a mut dyn OutputPin<Error = Infallible>; MAX_PINS]) -> Self {
        Self { pins }
    }
}

impl<'a, const MAX_PINS: usize> Progress for GpioProgressBar<'a, MAX_PINS> {
    fn show(&mut self, bounds: Bounds<usize>, current: usize) {
        let progress = (MAX_PINS * (current - bounds.min)) / (bounds.max - bounds.min);

        (0..MAX_PINS).for_each(|i| {
            if i < progress {
                self.pins[i].set_high().unwrap_or(());
            } else {
                self.pins[i].set_low().unwrap_or(());
            }
        })
    }
}

It would be nice, if esp-hal had type-erased GPIO structs like embassy, where you can write something like
let led1 = Output::new(p.PA0.degrade(), Level::Low, Speed::VeryHigh);
let led2 = Output::new(p.PA1.degrade(), Level::Low, Speed::VeryHigh);

and both variables will have the same type: Output<'static, AnyPin>. With type erasure it's possible to use generics in example above instead of dyn.
But seems like in esp-hal all GPIOs have their own types, so dyn is the only way to use them in array.

We have a larger GPIO refactoring in the works (which will take some more time) and also a smaller one which both should make it easier for us to add type-erasure .... just hold on a bit


Add Storybook to GitHub Actions

Build & deploy to a static website on Pull Request is merged to develop/stage/master branch;
Build & deploy to a temporary preview website on Pull Request is opened;

We've added it, so close it.

We've added it, so close it.


Error: invalid reference format: repository name must be lowercase

https://sentry.io/resinio/cli/issues/294198205/
Error: invalid reference format: repository name must be lowercase
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/resin-docker-build/build/builder.js", line 64, in Stream.<anonymous>
    dup.destroy(new Error(data.error));
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/through/index.js", line 26, in Stream.stream.write
    write.call(this, data)
  File "internal/streams/legacy.js", line 16, in Stream.ondata
  File "events.js", line 96, in emitOne
  File "events.js", line 188, in Stream.emit
...
(18 additional frame(s) were not displayed)

Error: invalid reference format: repository name must be lowercase

It looks like you attempt to run resin build from any path containing an uppercase character, you upset Docker.

Not remotely true - this was me using a template file (including FROM ...RESIN_MACHINE_NAME...) without a .template extension. Never mind!


[CT-285] [Bug] on-run-end hooks execute before on-run-start when the command is dbt docs generate

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
For some reason, on-run-end hooks execute before on-run-start hooks when the command is dbt docs generate.
Expected Behavior
Expect on-run-end to execute AFTER on-run-start just as it does with the dbt run command.
Steps To Reproduce

Create a table in Snowflake to record some stuff down.

create or replace table development.dbt_jyeo.my_test (
    command string, which_hook string, insert_at timestamp
);

Add this macro to your project.

{% macro do_thing(hook) %}

{{ log('Running during ' ~ hook, True) }}

{% set query %}
  insert into development.dbt_jyeo.my_test values (
    '{{ flags.WHICH }}', '{{ hook }}', current_timestamp()
  )
{% endset %}

{% do run_query(query) %}

{% endmacro %}

Use the macro in our hooks.

# dbt_project.yml
name: "snowflake"
version: "1.0.0"
config-version: 2

profile: "snowflake"

model-paths: ["models"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

target-path: "target"
clean-targets:
  - "target"
  - "dbt_modules"
  - "dbt_packages"

models:
  snowflake:
    +materialized: table

on-run-start: "{{ do_thing('start') }}"

on-run-end: "{{ do_thing('end') }}"

Do a run to see what happens (I have a simple one model project and the threads are set to 1).

dbt run

Expand output
03:40:44  Running with dbt=1.0.2
03:40:44  Running during start
03:40:44  Running during end
03:40:45  Found 1 model, 0 tests, 0 snapshots, 0 analyses, 181 macros, 2 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics
03:40:45
03:40:50
03:40:50  Running 1 on-run-start hook
03:40:50  Running during start
03:40:53  1 of 1 START hook: snowflake.on-run-start.0..................................... [RUN]
03:40:53  1 of 1 OK hook: snowflake.on-run-start.0........................................ [OK in 0.00s]
03:40:53
03:40:53  Concurrency: 1 threads (target='dev')
03:40:53
03:40:53  1 of 1 START table model dbt_jyeo.my_item....................................... [RUN]
03:40:57  1 of 1 OK created table model dbt_jyeo.my_item.................................. [SUCCESS 1 in 3.42s]
03:40:57
03:40:57  Running 1 on-run-end hook
03:40:57  Running during end
03:41:01  1 of 1 START hook: snowflake.on-run-end.0....................................... [RUN]
03:41:01  1 of 1 OK hook: snowflake.on-run-end.0.......................................... [OK in 0.00s]
03:41:01
03:41:01
03:41:01  Finished running 1 table model, 2 hooks in 16.71s.
03:41:01
03:41:01  Completed successfully
03:41:01
03:41:01  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1

Do a docs generate (you can repeat this a handful of times too).

dbt docs generate

Expand output
03:42:34  Running with dbt=1.0.2
03:42:35  Running during start
03:42:35  Running during end
03:42:35  Found 1 model, 0 tests, 0 snapshots, 0 analyses, 181 macros, 2 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics
03:42:35
03:42:38  Concurrency: 1 threads (target='dev')
03:42:38
03:42:38  Running during end
03:42:41  Running during start
03:42:44  Done.
03:42:44  Building catalog
03:42:48  Catalog written to /Users/jeremy/src/dbt-sandcastles/dbt/snowflake/target/catalog.json

Query the table we created earlier.

Relevant log output
No response
Environment
- OS: macOS 12
- Python: 3.9.7
- dbt: 1.0.2

What database are you using dbt with?
No response
Additional Context
I believe this is likely different to the chain of issues starting at  #3530 that's ultimately resulted in "users can disable hooks from running by using flags.WHICH" - this issue is more about the sequence of operations being weird / reversed. I thought it might be because of multiple threads but have explicitly set threads to be 1 in the reproduction above.
Have the debug logs but they exceed the max character limit of a GitHub comment.

Interestingly dbt compile has the same behaviour...

If we don't use do run_query() and instead return the query string like so:
{% macro do_thing(hook) %}

{{ log('Running during ' ~ hook, True) }}

{% set query %}
  insert into development.dbt_jyeo.my_test values (
    '{{ flags.WHICH }}', '{{ hook }}', current_timestamp()
  )
{% endset %}

{{ query }}

{% endmacro %}

The hooks do not run (expected going by https://getdbt.slack.com/archives/C2JRRQDTL/p1625157711472800?thread_ts=1625152297.471200&cid=C2JRRQDTL) but the log still seems out of order. Maybe we compile in reverse order?   And since we compile in reverse order the "end" hook is being executed first due to run_query. But surely dbt run compiles as well no? 🤷 🤔

@jeremyyeo Sorry this caused such confusion! I'm not going to remove the triage label, as I'd still like someone from Execution to have a chance to internalize what's going on here.

If we don't use do run_query() and instead return the query string like so:

Yeah, this is the move. The issue is that the query is being called when dbt compiles the hook. Both dbt compile and dbt docs generate compile all selected resources, with lots of concurrency, and that compilation doesn't happen in any deterministic order. Neither DAG order nor start → end order. (The docs generate task is a sub-task of compile, so it inherits much of the same behavior.)
So, this is the currently intended behavior, though I agree it's quite confusing because these are virtually opposite behaviors:

Hooks in dbt accept a list of strings to run as SQL. They can also call Jinja expressions/macros, but the expectation is still that those expressions/macros return strings that gets executed as SQL, not call run_query (statement / adapter.execute) themselves.
dbt run-operation <macroname> just does whatever the macro says. If you want the macro to run SQL, it needs to call run_query (statement / adapter.execute) itself.

(And, internally, dbt calls the node type of on-run-* hooks... "operations.")

Thanks for the example and the explanation!!
I guess the question now is do we want to consolidate the opposite behaviors and if yes how do we do it. Maybe we can do one of the following things?

not run the macros when compiling all selected resources? Though I am not very familiar with how compile works and is it possible to do that
have more subtypes of macros, like a type of macro that only returns SQL and another one that has no constraints? Then only allow the first subtype in hooks?

have more subtypes of macros, like a type of macro that only returns SQL and another one that has no constraints?

I think you may be onto something. We've talked about this in the past as a distinction between "static" (returns string) and "dynamic" (run_query/call statement -> adapter.execute) macros. We could introspect macros at parse time to figure out which kind is which...
Or, much simpler: We could raise a warning if any on-run-* hook is defined and doesn't resolve to a meaningful string. (We expect all hooks to render to string-SQL, which dbt can execute at the right time.)

I think there's two separate issues here:
(A) Should run_query be used in on-run-* hooks and how do we consolidate the opposite behaviours @jtcohen6 pointed out above?
(B) Why is the order of operations (appear to be) consistently reversed when the project is being compiled?
This issue should primarily be about (B) but the conversation looks to be straying towards (A).
@jtcohen6 metioned:

Both dbt compile and dbt docs generate compile all selected resources, with lots of concurrency, and that compilation doesn't happen in any deterministic order. Neither DAG order nor start → end order.

Probably what's interesting here is even though this should be non-deterministic, the on-run-* operations seem to consistently take place in reverse order (end → start) given by the example above of what's recorded in the table. Is it because end comes before start alphabetically? 🤔

As for (A) and perhaps suggesting users not to use run_query in their on-run-* hooks - what do we do with users who genuinely want to execute in-order operations in their on-run-* (such as writing the start and end time into a meta table such as in the example above) during non-run commands like docs generate or compile?

@jeremyyeo Appreciate the reset!

Is it because end comes before start alphabetically?

I think you're right :) During compile, dbt loops through every compile-able node in the manifest, and these are recorded as operation.<projectname>.<projectname>-on-run-end-0 and operation.<projectname>.<projectname>-on-run-start-0. So the end comes before start.

what do we do with users who genuinely want to execute in-order operations in their on-run-* (such as writing the start and end time into a meta table such as in the example above) during non-run commands like docs generate or compile?

Instead of macros that execute run_query, the macros can return the SQL, which then gets run by the hook. I believe the example you gave above would work just as well (better) by dropping the run_query, and returning the query string instead:
{% macro do_thing(hook) %}

{{ log('Running during ' ~ hook, True) }}

{% set query %}
  insert into development.dbt_jyeo.my_test values (
    '{{ flags.WHICH }}', '{{ hook }}', current_timestamp()
  )
{% endset %}

{% do return(query) %}  {# instead of run_query #}

{% endmacro %}

As an alternative, the user could use flags.WHICH to disable the macro during compile and generate tasks. I don't love that approach, it doesn't feel nearly as resilient, but it would work.

I think you're right :) During compile, dbt loops through every compile-able node in the manifest, and these are recorded as operation..-on-run-end-0 and operation..-on-run-start-0. So the end comes before start.

TIL and (not seriously) petitioning for on-run-stop optional key. Perhaps even:

on-run-ex-ante
on-run-ex-post
ex-ante-hook
ex-post-hook

😁

@jtcohen6 This ticket came up in BLG today.  It's not clear from reading this whether or not we actually want to change dbt's  behavior or not.

@jtcohen6 / @iknox-fa  I think we should at minimum do as per @jtcohen6 suggestion:

Or, much simpler: We could raise a warning if any on-run-* hook is defined and doesn't resolve to a meaningful string. (We expect all hooks to render to string-SQL, which dbt can execute at the right time.)

Raise warnings if:

on-run-* hooks don't return meaningful strings.
on-run-* hooks have macros in them with calls to run_query ? Warn that they may be executed at a time when you may not expect them to (e.g. during the compile phase).
Non on-run-* hooks with macros that return simple strings (since they won't be executed - but the user may think it does - given the nature of on-run-* hooks being able to execute strings) ?

Just trying to think of all the scenarios where a warning can be helpful.

@jeremyyeo I agree with 1, which feels the most doable to me.
I sense that 2 would be significantly trickier—what about hooks that really do want to run introspective queries in order to template themselves? For 3, are you thinking about pre/post hooks? Those are the same as on-run-*, in the sense that they expected SQL to be returned.
If we were to move forward with 1, we would want to raise a warning message for on-run-* hooks that return empty SQL. We already have a check for that, when deciding whether to run the hook SQL at all:
https://github.com/dbt-labs/dbt-core/blob/979e1c74bf55bc6849c89accd75ce86531e7a1f9/core/dbt/task/run.py#L354-L358
                    else:
                        print("I don't think this does what you think it does!")
                        status = "OK"

Given three hooks like:
# dbt_project.yml
on-run-start:
  - ""
  - "select 1 as id"
  - "{% do run_query('select 1 as id') %} "

10:25:28  Running 3 on-run-start hooks
10:25:28  1 of 3 START hook: testy.on-run-start.0 ........................................ [RUN]
I don't think this does what you think it does!
10:25:28  1 of 3 OK hook: testy.on-run-start.0 ........................................... [OK in 0.00s]
10:25:28  2 of 3 START hook: testy.on-run-start.1 ........................................ [RUN]
10:25:28  2 of 3 OK hook: testy.on-run-start.1 ........................................... [SELECT 1 in 0.00s]
10:25:28  3 of 3 START hook: testy.on-run-start.2 ........................................ [RUN]
I don't think this does what you think it does!
10:25:28  3 of 3 OK hook: testy.on-run-start.2 ........................................... [OK in 0.00s]

If someone does want to do something fancy and operational inside their on-run-* hook, they could always hide the warning with:
on-run-start:
  - "{% do fancy_macro_things() %} select 1 as id"

Given how frequently this confuses folks, I think this could be a small lift that helps many.

Hi
Just met the same issue when on-run-end launched at on-run-start :)
What workaround I've applied in the macros (not sure 100% correctly, but worked for my case with accessing graph.nodes):
{% if 'nodes' not in graph %}
  {{ log('Skipping on-run-end macros execution during the run start. Looks like a dbt issue https://github.com/dbt-labs/dbt-core/issues/4785') }}
{% else %}
  ...regular flow...
{% endif %}

From BLG 5/2/22:
The work estimated is to raise warnings if on-run-* hooks don't return meaningful strings.

Would like to share another improvement on this topic I found useful for mine use-cases:
https://github.com/dbt-labs/dbt-core/issues/5251
https://github.com/dbt-labs/dbt-core/pull/5252


Build failures after new usbd-hid release

I just tried to initialize a new project, and was met with an error during building related to usbd-hid. It seems this is related to a package versioning bug in usbd-hid. I think the solution is to update the usbd-hid dependency in embassy-usb to 0.8.2 (from 0.7.0). Essentially, 0.8.0 introduced breaking changes, and earlier versions were not properly version restricted. The result is that it seems that usbd-hid v0.7.0 pulls in usbd-hid-descriptors v0.8.2, which don't work together. That's all assuming I understand the problem correctly.
Upstream Issue

should be fixed in #3181


ValueError('need at least one array to stack')

Hi,
I am trying to train on a custom dataset my labels are in camera coordinate frame and looks like this
Car 0 0 -10 633 262 695 304 1.49 2.16 4.79 -1.17 0.99 35.98 3.11

However, after running python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti , I see that both training/velodyne_reduced/*.bin  and testing/velodyne_reduced/*.bin  are empty. Also, the files in kitti_gt_database/*.bin are empty. I have very little clue about whats going wrong here because there was no error or info while creating the data from what I had.
Anyway, this is the what I get after running:
python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py

File "/opt/conda/lib/python3.7/site-packages/torch/_utils.py", line 434, in reraise
    raise exception
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/lib/python3.7/site-packages/mmdet/datasets/dataset_wrappers.py", line 178, in __getitem__
    return self.dataset[idx % self._ori_len]
  File "/mmdetection3d/mmdet3d/datasets/custom_3d.py", line 433, in __getitem__
    data = self.prepare_train_data(idx)
  File "/mmdetection3d/mmdet3d/datasets/custom_3d.py", line 227, in prepare_train_data
    example = self.pipeline(input_dict)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/compose.py", line 48, in __call__
    data = t(data)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/transforms_3d.py", line 332, in __call__
    ground_plane=ground_plane)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/dbsampler.py", line 243, in sample_all
    avoid_coll_boxes)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/dbsampler.py", line 323, in sample_class_v2
    sp_boxes = np.stack([i['box3d_lidar'] for i in sampled], axis=0)
  File "<__array_function__ internals>", line 6, in stack
  File "/opt/conda/lib/python3.7/site-packages/numpy/core/shape_base.py", line 422, in stack
    raise ValueError('need at least one array to stack')
ValueError: need at least one array to stack

Any help or pointers are most welcome.

Hi, I am trying to train on a custom dataset my labels are in camera coordinate frame and looks like this
Car 0 0 -10 633 262 695 304 1.49 2.16 4.79 -1.17 0.99 35.98 3.11

However, after running python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti , I see that both training/velodyne_reduced/*.bin and testing/velodyne_reduced/*.bin are empty. Also, the files in kitti_gt_database/*.bin are empty. I have very little clue about whats going wrong here because there was no error or info while creating the data from what I had.
Anyway, this is the what I get after running:
python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py

File "/opt/conda/lib/python3.7/site-packages/torch/_utils.py", line 434, in reraise
    raise exception
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/lib/python3.7/site-packages/mmdet/datasets/dataset_wrappers.py", line 178, in __getitem__
    return self.dataset[idx % self._ori_len]
  File "/mmdetection3d/mmdet3d/datasets/custom_3d.py", line 433, in __getitem__
    data = self.prepare_train_data(idx)
  File "/mmdetection3d/mmdet3d/datasets/custom_3d.py", line 227, in prepare_train_data
    example = self.pipeline(input_dict)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/compose.py", line 48, in __call__
    data = t(data)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/transforms_3d.py", line 332, in __call__
    ground_plane=ground_plane)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/dbsampler.py", line 243, in sample_all
    avoid_coll_boxes)
  File "/mmdetection3d/mmdet3d/datasets/pipelines/dbsampler.py", line 323, in sample_class_v2
    sp_boxes = np.stack([i['box3d_lidar'] for i in sampled], axis=0)
  File "<__array_function__ internals>", line 6, in stack
  File "/opt/conda/lib/python3.7/site-packages/numpy/core/shape_base.py", line 422, in stack
    raise ValueError('need at least one array to stack')
ValueError: need at least one array to stack

Any help or pointers are most welcome.

I am facing the same issue.Were you able to solve it?

@Resham-Sundar no, what dataset are you using?

I am also using a custom dataset. And I have converted it into KITTI format.

Please make sure the camera calibration information is correct. KITTI pre-processing will use that to filter out point clouds outside of the front-view and produce the velodyne_reduced files.

KITTI pre-processing will use that to filter out point clouds outside of the front-view and produce the velodyne_reduced files.

you mean the camera intrinsic matrix. right? or the camera_to_lidar transforms? Because the labels (i..e 3d location) is already in the camera coordinates.

@Tai-Wang I am trying to train on custom dataset(simulated):

Lidar points are saved in lidar
I have lidar & camera placed exactly on the same location and with same transforms. So, my Trv2c comes down to this as it only need to switch the corrdinate frame from lidar to camera.

TR_velodyne = np.array([
                            [0, -1, 0],
                            [0, 0, -1],
                            [1, 0, 0]
])

# Add translation vector from velo to camera. This is 0
# because the position of camera and lidar is equal in our configuration.
TR_velodyne = np.column_stack((TR_velodyne, np.array([0, 0, 0])))

R0_rect is identity for me as I only have 1 camera. And, I have double checked the intrinsics of the camera which seems correct. But, tools/create_data.py discards all the lidar points for most of the samples.

@Tai-Wang I did some debugging to figure out the issue with the calibration matrices and it turns out the constructed frustum from the camera intinsic matrix is so small at least in camera coordinates that it is bound to discard all the points.
So, I tried drawing the frsutem from the below line before it is converted to lidar coordinate frame:
https://github.com/open-mmlab/mmdetection3d/blob/14c5ded49dd5df7a52368bd54c32a003c2521e1d/mmdet3d/core/bbox/box_np_ops.py#L576
and I get a small bbox on the top right corner like (with whatever points are positive for all (x,y,z)):

Any pointers ?

@Tai-Wang
So, the camera intrinsics are quite straight forward, which is correct on my side. I was sceptical about the lidar2cam transformation which seems to be correct as well.
        Lidar Coordinate system for kitti:
              z
              ^
              |  x
              | .
        y<____|/

        However, the camera coordinate system for KITTI is defined as
            ▲ z
           /
          /
         /____> x
        |
        |
        |
        ▼
        y
        lidar to cam
        lidar :  X   Y   Z
        camera: -Y  -Z   X

So, if the location of camera and lidar are exactly same in the configuration then, the Trv2c should ideally be:
TR_velodyne = np.array([[0, -1, 0],
                            [0, 0, -1],
                            [1, 0, 0]])

Or am I missing something here?
Thanks

@Tai-Wang You were right, there was an issue with my transformations particularly Tr_velodyne, which I seem to have fixed, can confirm with the below images:

but I still see the same issue, and this time when I run tools/create_data.py I have the velodyne_reduced/ files with lidar data but the files in kitti_gt_database are empty for some reason.

It's really strange because it seems that the annotation is correct as visualized in the mayavi. Have you ever checked the process of generating kitti_gt_database and is there anything abnormal?

@Tai-Wang Got it solved. Some of the point cloud samples had no points in the camera fov which caused the issue. Thanks.

@Tai-Wang I am trying to train on custom dataset(simulated):

Lidar points are saved in lidar coordinates (kitti format)
object location saved in camera coordinates (kitti format)
I have lidar & camera placed exactly on the same location and with same transforms. So, my Trv2c comes down to this as it only need to switch the corrdinate frame from lidar to camera.

TR_velodyne = np.array([
                            [0, -1, 0],
                            [0, 0, -1],
                            [1, 0, 0]
])

# Add translation vector from velo to camera. This is 0
# because the position of camera and lidar is equal in our configuration.
TR_velodyne = np.column_stack((TR_velodyne, np.array([0, 0, 0])))

R0_rect is identity for me as I only have 1 camera. And, I have double checked the intrinsics of the camera which seems correct. But, tools/create_data.py discards all the lidar points for most of the samples.

I only have 1 camera and 1 lidar too, so how do you fill your calib files? Could you share your calib files? If the transform matrix is not complete, there will be errors.
Also, the files in kitti_gt_database/*.bin are empty, how do you resolve the problem?
I will be very appreciated if you can help me. Thanks!

@Tai-Wang Got it solved. Some of the point cloud samples had no points in the camera fov which caused the issue. Thanks.

How did you resolve the problem by change the camera 'fov'?


chore: rename ds

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1060  👈
#1058
#1056
#1054
#1053
#1052
#1051
#1049
#1048
#1047
#1046
#1045
#1044
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MasterPtato and the rest of your teammates on  Graphite


Update pagination setting

remove the former setting button and modal
create a new pagination setting similar to Wikidata; three options - view 20/50/100 per page
add "Go to xxx Page"

I just updated the pagination setting. Maybe the review can be done after the project meeting so it's not rushed.

This looks great! I have only two comments:

I think it would be better to have "Go to Page XX" rather than "Go To XX Page". It's only European languages, so I'd be curious what other's find, but it looks better to me that way in English and when translated to Spanish and French than the way it currently is.

I wonder if the numbers here could either have more contrast or have some kind of divider ... they run together a bit for me here.

Thank you for the advice. I'm going to use 'Go to Page XXX'. Maybe I can add vertical lines between page numbers like Wikidata does.

Now the paginator looks like this

Have updated the pagination setting. Now it looks like this

Looks great!


Fix download count for conflict paths

Fixes #1004
A rewrite would make issues like this take a lot less time to fix (noted in #1005).
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Codecov Report

Merging #1006 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1006      +/-   ##
==========================================
+ Coverage   90.36%   90.39%   +0.02%
==========================================
  Files          50       50
  Lines        6717     6717
==========================================
+ Hits         6070     6072       +2
+ Misses        647      645       -2


Enviroment variables

Issue Type: Feature Request
I like to use Windows enviroment variables in settins.json, in configurations like "git.path" and "php.validate.executablePath"
VS Code version: Code - Insiders 1.61.0-insider (ec40cbe164c59f3d13b6eff5fc7b0231ec0ab7aa, 2021-09-13T05:15:14.689Z)
OS version: Windows_NT x64 10.0.22454
Restricted Mode: No

/duplicate


Docs：Document language i18n

Document language i18n

Support Chinese

Describe the solution you'd like
Set the current document to support multi-language switching
or
Use the new document to set up an independent msw document website

Hey, @hehehai. That's a good idea. I'd like to have a multi-language support in MSW docs. I've been working on the website for this library for some time now. It will include the self-hosted docs, so the plan it to migrate from GitBook eventually. There's also quite a rewrite of docs going on, so they are much more coherent and easier to navigate. Once that is done, and the website is released, we can work on multi-language support.
I've got only one concern that I don't have resources to maintain a documentation in Chinese, as I don't write not speak that language. May I kindly ask for your help in that?

@kettanaito Of course, I will prepare Chinese documents in the near future, so that when your document website is online, you can support multiple languages as soon as possible

@hehehai, that would be amazing! Please, if I may, don't translate the current docs just yet. It's going to change a little, so I wouldn't want to waste your time translating those parts.
I'll leave this issue open until the website is released, so we could track progress. Sounds good?

@kettanaito Awesome

Hey! We have officially released the website and revamped documentation! There is, however, no integrated multi-language support as of now. It can be added as a feature to the website's repo. I'm concerned about our effort on this matter, as since MSW is not yet in a stable release, it may contain an overhead in translating a potentially deprecated/changed API to another languages.
I'm closing this, as it's not related to the library's package. I'm happy to discuss multi-language support in the aforementioned website's repo! Thank you for bringing this up.


Workspace Extension Recommendations

Since the latest release of VSCode it is possible to define recommended Extensions per workspace.
It would be cool if this could be implemented. So no one needs to look for all the needed Extensions.
Have a look here : Latest VSCode Releasenotes

I don't think we should add IDE specific config items to new projects, but it would be nice to have this documented as part of https://github.com/angular/angular-cli/issues/2672 instead.


GET request Filtering by foreign key

I have the following models
class Plant(ndb.Model):
	name = ndb.StringProperty()
	company = ndb.KeyProperty(kind='Company')
	owner = ndb.KeyProperty(kind='User')
	class RESTMeta:
		user_owner_property = 'owner'
		include_output_properties = ['name']

class Department(ndb.Model):
	name = ndb.StringProperty()
	plant = ndb.KeyProperty(kind='Plant')
	owner = ndb.KeyProperty(kind='User')
	class RESTMeta:
		user_owner_property = 'owner'
		include_output_properties = ['name']

Now in the GET request for department
/api/department?q=name='MyDepartment' is working fine
but how do i filter by Plant ?
I tried
/api/department?q=plant= PlantKey but it is giving me error
{
  "error": "Invalid query param - \"plant= 'aghzfnBnLWFwaXISCxIFUGxhbnQYgICAgIDyiAkM'\""
}

You can use this in your case:
/department?q=plant=Key('aghzfnBnLWFwaXISCxIFUGxhbnQYgICAgIDyiAkM')


maybe we could provides more information for diagnose?

i think we could additionally provide pod's node info(even other pods info locating on same node) for better diagnose

additionally provide pod's node info

LGTM. I think we could add a flag, like --include-node, to reflect this.

(even other pods info locating on same node)

Would you name with some realistic scenarios?
My only concern is that lots of tokens are consumed😂

Would you name with some realistic scenarios?

like preempt or deschedule, we could know which pod preempt/deschedule the origin pod

My only concern is that lots of tokens are consumed😂

your concern is reasonable for me:joy:, perhaps pods metadata could be enough as a tradeoff?


Request: Quiet / Silent Mode

When using in a cron job I think I'd be nice to only receive output emails when an action was taken.
Running once a day at midnight with local mail results in the same repeated message of "no changes", but with a quiet option the command would only produce output (and hence an email) if a change was made.
Perhaps a --quiet or --silent-unchanged flag could be added?

Would you like Warnings to be printed while using --quiet or just Errors?
I would like to implement a basic logger like shown here.


Wrong GT2 belt size listed on instructables

Hey! Great project, I'm still working on getting it running right now.
On the instructibles webpage, it says to use a 400mm GT2 belt, so I ordered some. They are the wrong size, they won't even fit around the gear, let alone reaching the drive shaft.
I also ordered 3 inch bearings, not 4 inch.. So that one is on me.
I modified the Theta gear in the fusion360 file to work with both a 3" bearing and a 400mm GT2 belt. Currently I'm trying to get the SD card to work (I just soldered the SD card to the ESP32, arduino IDE "SD Test" can see it, but this program can't. Waiting on an adaptor from Amazon) so I haven't tested if my modification works or not.

My question is... Is there anything I have to change since the gear radius has changed?  I'm not much of a math guy, but I assume the ratios are off now.

@aepkolol I am sorry for barging in on your discussion. I want to build a sandbox for myself and this being the cheapest option, has my attention. Problem is, this is a first of its kind project for me. I have experience with simple stuff like sensors based projects on arduino. But mechatronics projects like these feel very daunting to me right now. On his Instructables page, @acvigue has admitted that the project is not documented to be useful for a novice like me.
Since you are already undergoing this journey, will you be willing to let me tag along? If you agree, please share your email address or drop me a line at gaurav1089 -AT- gmail -DOT- com.
Cheers!

Yes, I am sorry about the documentation. It's understandably a very daunting project and while I tried to include everything that I could remember, there are many parts that I left out. The 400mm belt is the one I used on my robot though, so I don't see why that isn't working. You change the gear ratio in the robot configuration. It's represented as "number of microsteps that cause 1 full rotation of the central gears"

The API provides a hosted pattern library where patterns can be downloaded from. It's intended to be run on Cloudflare Workers and the endpoint can be changed in the Vue app.

@aepkolol Thank you for your tutorial. It gives a great perspective on the project and clarifies many of the intermediate points. I have some queries that I shall post here as well as on the discussion section of your repository. Please answer them if you can. It may help others in the same boat as me:

The pancake NEMA 17s are difficult to come by where I am. I already have the normal size NEMA 17 stepper motors. Will that have any effect on the plans apart from making the final table thicker?

My generic TMC2208 looks similar to the one posted on your tutorial, apart from calling UART as USART. I have done some basic motor movement project in legacy mode but not in UART mode. Did you have to solder any of the pins/pads together to get it working. If you are aware of any simple projects based on UART mode, please share them.
To begin with, I do not intend to pull the pattern files from the internet/LAN based repository. Is there a particular folder in which the files should reside in the SD card for it to be used? Does the firmware allow the users to choose, add to a 'playlist'? Screenshots of the UI would be very helpful in getting this answered. @acvigue

Cheers!

Does the firmware allow the users to choose, add to a 'playlist'? Screenshots of the UI would be very helpful in getting this answered.

The firmware relies on a root manifest.json file containing two arrays, playlists and patterns. The types of these arrays are defined in the Vue code. The patterns are named as uuid.thr and playlists are a newline-seperated plain text file, each line containing the file name of a pattern. They are named as playlist-uuid.seq. The Web UI should work if you manually place files on it, however the pattern previews won't load. I'm working on making the API multi-user compatible.

@gk1089 @acvigue choose the pancake steppers because they are thin enough to fit between the mounting plate and the enclosure. If you want to use a thicker motor, you would need to extend the depth of the enclosure to fit them. They would also be much more powerful than you'd need, but that's not really an issue.
USART and UART can be used interchangeably in this case. I haven't read through the code, since it uses a library for the stepper motor. I'm not sure if it even needs the TX connected, but it doesn't hurt.
I haven't worked on this for a few days, been too busy. I was unable to get the API server running, or figure out how to run anything off the SD card. If I figure it out, I'll let you know. @acvigue's last comment gives me a clue.

USART and UART can be used interchangeably in this case. I haven't read through the code, since it uses a library for the stepper motor. I'm not sure if it even needs the TX connected, but it doesn't hurt.

Trinamic UART mode can be disabled in the robot config, this way you can just use CFG pins / jumpers.


US 01.05.01 View Sum QR Code Score

As a player, I want to see the sum of scores of QR codes that I have scanned, so that I can compete with other players for the highest sum of scores.
Priority: High
Story Point: 3
Risk Level: Medium

Acceptance Criteria:

Every QR code have a score when a player is scanned the system will place the QR code in the correct spot in the list and displace the score.
The system will also calculate the total score of all QR code and allow player to review it .
The player can compete with each other who has scanned the highest QR score or compete who has total highest score.
System don't allow same QR code appear in the QR code list it will automatically delete duplicate.
players should be able to review other player total score and the highest score QR score they have scanned in their device's

Priority: High
Story Point: 3
Risk Level: Medium

Implementation:
Viewable code score at profile and top right corner of MainActivity


feat(rust): add complete FFI bindings

Hey!
Here is the second PR of the Rust implementation containing full FFI bindings.
I've decided to manually implement bindings instead of relying on bindgen because:

We don't want an additional dependency on clang (which bindgen depends on) and so we cannot generate bindings at compile-time
We could have checked-in the generated bindings in git but in that case manually editing is unavoidable because generated bindings are platform-dependent
Besides, we still have to implement default methods, conversion traits and release mechanisms.

In the end, I found it simpler to have everything manually implemented rather than having some parts automatic and some others manual... arrow-rs seems to have followed the same path.
CC @mbrobbel @paleolimbot @aljazerzen

@alexandreyc do you mind rebasing so we can see CI?

Done. There are many "unused" warnings but this is normal at this stage (since we don't have a complete implementation yet)

Hmm. Can we disable the lint for the time being?

Shoud be good now!


global settings form

You'll need to set the schema, migration, changeset, etc. I think this shouldn't be a LiveView form.

I would create a table with key, value to store this settings. Something like this (forget about the thing_id, thing_type below):
 id |       key       |  value  | thing_id | thing_type |         created_at         |         updated_at
----+-----------------+---------+----------+------------+----------------------------+----------------------------
  1 | company_name    | --- '' +|          |            | 2021-12-17 15:02:49.297005 | 2021-12-17 15:02:49.297005
    |                 |         |          |            |                            |
  2 | company_address | --- '' +|          |            | 2021-12-17 15:02:49.302939 | 2021-12-17 15:02:49.302939
    |                 |         |          |            |                            |
  3 | company_vat_id  | --- '' +|          |            | 2021-12-17 15:02:49.307882 | 2021-12-17 15:02:49.307882
    |                 |         |          |            |                            |
  4 | company_phone   | --- '' +|          |            | 2021-12-17 15:02:49.31263  | 2021-12-17 15:02:49.31263
    |                 |         |          |            |                            |
  5 | email_subject   | --- '' +|          |            | 2021-12-17 15:02:49.316566 | 2021-12-17 15:02:49.316566
    |                 |         |          |            |                            |
  6 | email_body      | --- '' +|          |            | 2021-12-17 15:02:49.320709 | 2021-12-17 15:02:49.320709
    |                 |         |          |            |                            |
  7 | company_email   | --- '' +|          |            | 2021-12-17 15:02:49.32486  | 2021-12-17 15:02:49.32486
    |                 |         |          |            |                            |
  8 | company_url     | --- '' +|          |            | 2021-12-17 15:02:49.328908 | 2021-12-17 15:02:49.328908
    |                 |         |          |            |                            |
  9 | company_logo    | --- '' +|          |            | 2021-12-17 15:02:49.333092 | 2021-12-17 15:02:49.333092
    |                 |         |          |            |                            |
 10 | legal_terms     | --- '' +|          |            | 2021-12-17 15:02:49.337265 | 2021-12-17 15:02:49.337265
    |                 |         |          |            |                            |
 11 | currency        | --- usd+|          |            | 2021-12-17 15:02:49.341393 | 2021-12-17 15:02:49.341393


add disco dingo

sid/m68k and sid/sh4 failed due to no correct installable version for git-man. But I still want to merge this :)


BidBugFix

It doesn't seem like anything is supposed to happen after you submit all the bids and answers. But you can submit the bids now atleast

Please squash these commits, then I can merge.

I squashed the commits


Enter key doesn't work when modal contains an input with the cursor in it

It works for any other key or when input is not focus. However, when both situations occur simultaneously, enter action doesn't get triggered.

Managed to fix the issue. As Angular already the form ng-submit function when pressing enter, I did a workaround to this function calling the button action.
HTML
 <form ng-submit="onSubmit()">
     <label>Name</label>
     <input type="text" ng-model="name"/>
</form>

JS modal config
},
onScopeReady: function(scope){
    // call button action when enter is pressed
    var self = this;
    scope.onSubmit = function () {
        self.buttons.confirm.action(scope);
    };
},
buttons: {
    confirm: {
      keys: ['enter'],
      action: function(scope) {
        // ...
        return;
      }
    }
}

Thanks a lot for this


[SPARK-32245][INFRA][FOLLOWUP] Reenable Github Actions on commit

What changes were proposed in this pull request?
This PR reenables GitHub Action on every commit as a next step.
Why are the changes needed?
We carefully enabled GitHub Action on every PRs, and it looks good so far.
As we saw at https://github.com/apache/spark/pull/29072, GitHub Action is already triggered at every commits on every PRs. Enabling GitHub Action on master branch commit doesn't make a big difference. And, we need to start to test at every commit as a next step.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual.

Hi, @HyukjinKwon and @gengliangwang . As a next step, I want to enable this back.

Test build #125721 has started for PR 29076 at commit ac96756.

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-K8s/30334/
Test PASSed.

Test build #125721 has finished for PR 29076 at commit ac96756.

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/125721/
Test PASSed.

Yes. Right. Thanks, @viirya .
Merged to master.


Added new token type to represent types in UDFs

✅ No public API change.

✅ No public API change.


Infinities and NaNs in quadratic_prog when c=0

Hi,
I'm using QuadraticProgramming in the special case of c=0 (all zeros as a vector). AFAIK this is still well-defined, as it's just minimizing l2 norm squared of the primal subject to some equality constraints (I don't have inequalities).
However, both my research code and the following modification of this test diverge even for a single step (maxiter=1).
The modification just involves setting c=0, so:
def test_qp_eq_only_c_zero(self):
  Q = 2 * jnp.array([[2.0, 0.5], [0.5, 1]])
  c = jnp.array([0.0, 0.0]) #ONLY CHANGE
  A = jnp.array([[1.0, 1.0]])
  b = jnp.array([1.0])
  qp = QuadraticProgramming(tol=1e-7)
  hyperparams = dict(params_obj=(Q, c), params_eq=(A, b))
  sol = qp.run(**hyperparams).params
  self.assertAllClose(qp.l2_optimality_error(sol, **hyperparams), 0.0)
  self._check_derivative_A_and_b(qp, hyperparams, A, b)

Is there a way to fix it? If it involves calling another linear solver, is there a way to specify the solver from the high-level QP function? I haven't seen it.
Thanks!

In case it helps, for my research code I've manually implemented the same call that QP would've done except using solve_normal_cg and it does solve it without diverging for c=0. It also gives a solution that is similar to that of gmres when setting c small but non-zero. For gmres, letting c go to zero makes it eventually diverge.

Hi Ferran
That's weird, I tried to reproduce your bug and did not succeed: https://colab.research.google.com/drive/1-IS1MIkkXfVuON5IhAT2gxt2pw-5IVz8?usp=sharing
Can you give more details on the versions of Python/Jax/Jaxopt you are using ? Are you working on CPU or GPU ? In the default float32 of Jax or float64 ? Is it wrapped in a jitted block or in "eager" mode ?
If you have a notebook in which you can consistently reproduce the bug that would be great.
Is it diverging for primal/dual computation in run(), or during implicit differentiation ?

My bad, it was because I had the jaxopt-0.0.1 version; must have been fixed since then!
Just for completeness, it was during the primal/dual computation. Changing the inner solver to solve_normal_cg worked. Now gmres (QP's vanilla solver) gives the same result as solve_normal_cg.
Thanks!

Great that the problem disappeared. Not sure what fixed it, maybe ac1bdcd24624e4965355aad235d2ad24803915f9. See https://github.com/google/jaxopt/commits/main/jaxopt/_src/quadratic_prog.py for the history of this file.

@mblondel @Algue-Rythme during my research I just ran into more NaNs on the default QP solver, so it may not have been fully solved in 0.1.1. It happens roughly for ~5% of the examples and I haven't found any pattern on when. On the other 95% it matches (modulo small precision) the result of using solve_normal_cg as the inner solver.
The failure case is quite entangled with my research code so I can't send it atm. If I find a failure pattern I'll design a minimal example and send it to you.

My guess is that the issue is in gmres itself, as our code doesn't seem to contain operations that could result in NaNs.
In #98, @Algue-Rythme is working on a new class EqualityConstrainedQP specific for this case and it will expose the solver, which will allow you to switch to solve_normal_cg.


Could you also share the discriminator of freevc-24 model?

Thanks for amazing work!
I'm doing custom datasets' fine tuning with your model.
Could you also share the discriminator of freevc-24 model?
Thanks!

Thanks for updates.
If possible, can you also share the code for the 24k changed before uploading the model?

oh yes. updated.

So you didn't train this 24khz model from scratch? you took the 900k step 16khz model and resumed training using the 24khz setting?
how many steps did you add to the model?

yes.
the current provided checkpoint is tuned up to 1470k steps (tune 570k steps after loading the 900k model).

Thanks very much for replying. How long will it take to upload a new model which uses new data utils code?

Tomorrow night when I'm back home I'll upload it.

Thanks very much!


Paste Image (Ctrl + Alt + V) shows "There is not an image in the clipboard"

Describe the bug
After clip the image (copy image on web browser or Win + Shift + S then select the part of the screen or snip it program to capture the screen), Paste image with the plug in shows the confirmation box then the error "There is not an image in the clipboard" is shown.
To Reproduce
Steps to reproduce the behavior:

on Windows 10, press Win + Shift + S
drag to copy the screen into clipboard
In the markdown, press Ctrl + Alt + V to paste image

Expected behavior
Expect the image is created under assets/images directory and add the link in the markdown file
Desktop (please complete the following information):

OS: Windows 10
Browser: Doesn't matter
Version: VSCode 1.50.1

Additional context
Add any other context about the problem here.

Not to go with the classic Level 1 Help Desk super obvious answer, but just to double check: are you able to paste the image from the clipboard into another application that accepts images (e.g. paint)?  Without being able to reproduce it directly myself (I am on Mac and cannot install VSCode on the only Windows 10 I have access to at the moment), that error message sounds like the VSCode keybind and extension are working just not finding an image in the clipboard to paste.
If you are able to paste from that same source into another image application, perhaps windows is presenting the image data in a different format... can you try the following: open paint (or another image program) and pasting or draw an image.  Next, select and copy the image, then try using the keybinding in vscode to paste that image.
The only other last troubleshooting idea I have is to verify that you have the same result using this extension but outside of Dendron.  Open or create a different (non-Dendron) workspace or file and attempt the same process(es) above.
In any event, it sounds (so far) more like an issue with your setup and or the paste-image extension than with Dendron.
A quick browse of open issues on the GH of the extension shows a couple of similar sounding issues, but perhaps you can either add to one of those or open a new one if it turns out to be a bug with the extension:
https://github.com/mushanshitiancai/vscode-paste-image/issues

Thanks for the reply. I was able to paste the image to other tools without issue. I forgot to describe above that I am using VSCode on WSL. I think this is the reason. I can use that feature on macOS too. Let me dig the link you've shared.

Looks like this extension let me proceed one more step. https://marketplace.visualstudio.com/items?itemName=sakamoto66.vscode-paste-image
It, now does not show the error message but successfully add the link to the markdown file. However, it does not create the image file on WSL.

Hmm, meaning that you are running Windows 10 natively, have WSL setup and you are running a Linux Distribution on-top of Win 10 and running VSCode inside that environment?  Out of curiosity, is there a reason you have to run VSCode inside of WSL instead of natively in Win 10?  I am wondering if you can run VSCode with Dendron natively in Win 10.

I agree. After seeing this, I think it is worth to run dendron repo inside Windows 10. I was using WSL to make the environment similar to the macOS and also linux (workstation) and share dendron on every systems.
Let me try on Windows 10 . Thanks for help.

Did not mean to come across as dismissive... In some quick searching, I did come across "x410", which seems to claim to allow seamless image transfer via clipboard between Windows and WSL.  Heavily caveated: I have never used WSL myself nor x410, and cannot vouch for it at all!  It turned up in one of my google searches.

Checking in on this issue. @eunchan did you end up getting this resolved?

closing this issue. feel free to re-open if it comes up


Failed to load driver class mysql from HikariConfig class classloader

First of all, thanks. That is a very interesting project you made. I setup the mysql driver jar in the jdbc-drivers folder in the project.
When I added a datasource and ping it works well. And then made a report, it works very well when check the datasorce schema. But when I edit the query to fetch data, it went wrong with this error:
My platform is Windows. And I have already added the mysql driver jar into the java classpath. What I'm curious is it works well for datasource schema read, but failed for query execution, due to driver load failed. Any idea?
2019-06-13 14:56:18 [http-nio-6688-exec-3] ERROR com.zaxxer.hikari.HikariConfig - Failed to load driver class mysql from HikariConfig class classloader org.springframework.boot.loader.LaunchedURLClassLoader@6433a2
2019-06-13 14:56:18 [http-nio-6688-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: Failed to load driver class mysql in either of HikariConfig class loader or Thread context classloader] with root cause
java.lang.RuntimeException: Failed to load driver class mysql in either of HikariConfig class loader or Thread context classloader
at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:485)
at com.shzlw.poli.service.JdbcDataSourceService.lambda$getDataSource$1(JdbcDataSourceService.java:75)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044)
at com.google.common.cache.LocalCache.get(LocalCache.java:3952)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4871)
at com.shzlw.poli.service.JdbcDataSourceService.getDataSource(JdbcDataSourceService.java:65)
at com.shzlw.poli.rest.JdbcQueryWs.queryComponent(JdbcQueryWs.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Thanks for trying Poli out! I tested the MySQL connection locally and here is my setup.

Operating system: Windows 10
Database version: MySQL 8.0
mysql-connector-java-8.0.16.jar under jdbc-drivers folder
Connection Url: jdbc:mysql://localhost:3306/test
Driver Class Name: com.mysql.jdbc.Driver

I can run query without problems. The only difference is I don't have the JDBC driver in my classpath. Could you try remove that and only leave the JDBC jar in jdbc-drivers folder?
The reason why ping and show schema work but query doesn't work is because java.sql.Connection is used in ping and show schema query but the actual data query is using HikariDataSource so it seems the former one is picking up your JDBC driver but the latter one doesn't for some reasons.
I will modify ping and show schema function to use HikariDataSource to be consistent.

@shzlw :
Thanks, my mistake. I took a wrong driver class name. But when I correct it, met a new issue for trial to fetch a table data, got connection leak issue.
BTW, looks like there might be a performance problem when I tried to operate refresh table, the web page stuck a few seconds no response? Or maybe it is the backend connection leak issue lead to.
2019-06-14 12:59:52 [HikariPool-2 housekeeper] WARN  com.zaxxer.hikari.pool.ProxyLeakTask - Connection leak detection triggered for com.mysql.jdbc.JDBC4Connection@1fd582d1 on thread http-nio-6688-exec-8, stack trace follows
java.lang.Exception: Apparent connection leak detected
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:151)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:600)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:657)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:682)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:172)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:180)
at com.shzlw.poli.service.JdbcQueryService.queryComponentByParams(JdbcQueryService.java:144)
at com.shzlw.poli.rest.JdbcQueryWs.queryComponent(JdbcQueryWs.java:75)

@shzlw :
I enlarged the jvm heap and restart the poli, it got fix now.  Thanks!


Random corrupted size vs. prev_size error

Hi team,
We are facing corrupted size vs. prev_size error and double free or corruption (out) from libssl.so.
Our application is running in python3.7 which has processes that connects to activemq through stomp+ssl
These above mentioned errors happened randomly across 5 servers.
We are having multi threaded long running python processes which will create connection in main thread and process the messages in listener thread.
We have also implemented the connection retries with stomp+ssl protocol
##Environment Details:
openssl : OpenSSL 1.0.2k-fips  26 Jan 2017
os : centos7
python version : 3.7
python library : stomp.py
message broker : activemq 5.15.4
##Questions:
1). Is this an issue with openssl?
2). Is there any way to fix this?
 Is this an issue with openssl?

It appears to be a memory corruption error of some description. Unfortunately with such errors they can manifest themselves in locations quite different to the actual problem location.
So, this could be an issue in OpenSSL, or it could be an issue in any component of the software stack above it. :-(
Unfortunately OpenSSL 1.0.2 is no longer supported, so this isn't something we will look at. My best guess is that this is not in OpenSSL itself since we've not had other similar reports.
2). Is there any way to fix this?
You might want to try running valgrind, or asan or some other mem checking tools to see if you  can locate the fault.

Marking as inactive, to be closed at the end of 3.4 dev, barring further input


[Docs]: List the root project scripts

Should probably have a dedicated section explaining all the scripts ran and what their intention is.

build -- build to js (only) with swc
build:type -- compile the type to .d.ts with tsc
release-build -- build using above script
fmt -- format with eslint
lint -- check style
test:unit-coverage -- run unit test with mocha and show coverage in stdout and ./coverage
test:unit -- same as above but not show coverage in stdout but  ./coverage
test:deno-unit -- run unit test in deno (compile test to js, use /scripts/fixDenoTestExtension.js to make it deno runable, then run with deno test)
test:unit:watch -- run unit test in watch mode without coverage
test:integration -- run integration test
test:type -- check the type of source code
test:test-type -- check the type of test code

* fmt -- format with eslint

* lint -- check style

Do we need both fmt and lint? both use ESLint, one just lists the issues and one just fixes them. We also run lint-staged on pre-commit so we're forcing a fmt run anyway.

I prefer keeping lint. fmt? Idm

I prefer keeping lint. fmt? Idm. It’s easier for ci, and sometimes :) I just force bypass the pre commit, cuz there is style problem from other commit but I don’t want to fix it here

Pre-commit should auto-fix anything staged. Unless there's a project that's messed up (I know website is messed up at the moment).


Question service CRUD

feat: add frontend localhost to security config
feat: add shadcn/ui form components
feat: add question component
fix: handle CORS for post requests
feat: add toast component
feat: create new question flow
feat: add alert dialog component
feat: delete question
feat: edit question
fix: add min width for question card
fix: fix form control for constraint

LGTM! 👍


Sharing sessions between users (feature suggestion)

Already mentioned this on reddit (https://www.reddit.com/r/Python/comments/3z9rwt/pymux_a_tmux_clone_in_pure_python/cyklk1q), but I think a really awesome feature for this would be support for sharing session while maintaining unique conf settings for each connected user, something tmux doesn't currently do, even with rogue mode. This would allow users to use different shortcut keys from the host who started the session.
What would be even more awesome (but this may be getting too complex) is keeping track of which user initiated the action or opened the pane. That way the individual panes could inherit the config of the user who opened them (useful to know which .vimrc to load, for example), prevent guests from navigating to areas they shouldn't have permission to access, or even mark the panes themselves as read-only.

Hi @atsepkov,
That's very interesting. Having individual key bindings for each user should probably be possible. (I'll have a look at that.)
About the second part, I'm not sure. Especially, I don't think it's up to a terminal multiplexer to implement permissions.


Request for trained checkpoints

Hi Hanqing,
Thanks for sharing the code of SSM which helps me a lot. However, I have noticed that the trained checkpoints are not yet released which is still on the TODO list.  I understand it could be troublesome to organize the code and related files. So this issue is only a kind reminder. I'd be very thankful if you could release the checkpoints earlier. Thanks again!

Hi @Jackie-Chou, the checkpoint is released. :)

Thanks a lot! Closing this issue now.

Oops, the google-drive link seems not publicly available (maybe due to the default setting). Could you make it public? Thanks again :)

@Jackie-Chou My mistake. It is set public now.


Update versions in Utilities/Docker/Dockerfile

Versions of Swift and Ubuntu specified in this Dockerfile are too old to successfully build SwiftPM. Let's update them to make this Dockefile usable again.

@swift-ci test


"An exception occured while running Bloxstrap"

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?

I was just updating roblox then this happened, retried like 3 times now. Here's the log file
Bloxstrap_20240417T051302Z.log

Oh im sorry it worked now, i retried 5 more times and it worked. Sorry


Handler manager as HTTP API

Make the gRPC Handler manager service available as HTTP API. This is useful where you don't have a gRPC client available. I believe there's a HTTP gateway available.

https://github.com/grpc-ecosystem/grpc-gateway

Done