Use transposition for partly DOM update

I heard some people show a great concern that in cycle DOM whole vtree is a subject for diffing on every state  (even tiny) update. I actually too share this concern.
What do you think about it? Don't you see here a quite weak point of the current approach (when diff/patch is applied to whole tree on any change)? For example in React apps it is possible to only update any nested components, and redux allows to do this.
Currently transposition is just used to get the latest version for the whole tree, why not instead apply a diff patch to corresponding vnode produced by nested stream?
@TylorS what do you think?

Yeah, that has been something we've thought about a lot, and I've tried to implement but failed. I'm just unsure of how to implement it. PR's and more ideas on the subject are definitely welcomed.

/cc @axefrog I know you've thought about this before too, if you have any thoughts on the subject.

@TylorS
So I haven't tried yet, maybe will look into this too. Do you think that  it worth the effort and will give performance advantage?
It would be also great to get a comment from @paldepind on this topic.

Yes, I think it will have a pretty large performance benefit.

@TylorS, yeah it is something I've thought about. Given that Snabbdom is only able to patch from a single node that is known about from the start (i.e. the root), it means that use of thunks can be a really important tool for avoiding unnecessary node comparison and subtree traversal. It might be worth promoting/writing about the use of thunks a little more heavily.
Another alternative might be write an extension to Snabbdom's patch code to somehow allow a prior subtree to be extracted from the patch state and use that to perform a subtree patch. The patched subtree state would then need to propagate back into the base patch state somehow to make sure that the subtree changes are not lost. I imagine the subtree would be located by way of some kind of direct selector path from the patch root to the subtree root.
I don't know what the code to do this would look like, or how patching a subtree would look in terms of the way Cycle works, but it's an idea.

Why not allow vdom engine just subscribe to stream like yolk.js does? In this case we can not generate vdom by streams but just use vdom like tamplate
{text$}
 instead of text$.map(text=>
{text}
)

@bgnorlov That's what transposition does, but that does not give them the ability do diffing themselves. That is what this thread is for :)

Another alternative might be write an extension to Snabbdom's patch code to somehow allow a prior subtree to be extracted from the patch state and use that to perform a subtree patch. The patched subtree state would then need to propagate back into the base patch state somehow to make sure that the subtree changes are not lost. I imagine the subtree would be located by way of some kind of direct selector path from the patch root to the subtree root.

That sounds doable I think.
I had another thought as well. When diffing Snabbdom first compares vnodes for pointer/reference equality. I.e. vnode1 === vnode2. If the check returns true it skips diffing and patching that entire vnode tree. It can do so because it assumes that users do not mutate vnodes. The optimization is closely related to thunks.
Maybe there is a way for Cycle to use this. A component returns a stream of vnodes, vdom$, if the components state doesn't change then neither does vdom$. Thus if the parent component uses vdom$ in its view Snabbdom should see exactly the same vnode from vdom$ and thus skip diffing the nested child component when diffing the parent. I'm not too sharp on Cycle, so maybe the above doesn't make sense or maybe Cycle already uses this to do optimizations.
Btw, the above can also be used to avoid diffing completely static parts of the UI. For instance in the Cycle todo example the function renderHeader always returns an identical vnode tree. So instead of creating it in a function we can assign it to a constant and simply reuse it in each render. Then Snabbdom will bail on it's pointer equality check and it will never dive into the static view after the very first render.

Thus if the parent component uses vdom$ in its view Snabbdom should see exactly the same vnode from vdom$

This is often true but if your state emits, even if the values haven't changed, then your component is still generated a new call to h() thus still causes a check inside of snabbdom to see if anything changed. It can't do a simple equality check. That's if my understanding of snabbdom is correct, which I hope it is at this point :)
This can however be achieved using distinctUntilChanged()/skipRepeatsWith()/dropRepeats() depending on the stream library you are using.
// most.js
const vdom$ = state$
  .skipRepeatsWith((prev, curr) => { /* do a more useful equality check /* })
  .map(view)

This is however a user optimization and only works on a case by case instance. It'd be great to further optimize the internals of either @cycle/dom and/or snabbdom to improve performance out of the box. Though together they are quite fast already :)
@paldepind  Thanks for stopping by to share your thoughts. It is greatly appreciated. Also, I don't know if I've said it before, but thank you for creating snabbdom :D

Well, in the most common cases like
xs.combine(A.DOM, B.DOM).map(vtrees => div(vtrees));

simple reference checking should work well

This is often true but if your state emits, even if the values haven't changed, then your component is still generated a new call to h() thus still causes a check inside of snabbdom to see if anything changed. It can't do a simple equality check. That's if my understanding of snabbdom is correct, which I hope it is at this point :)

Yes. That is correct. In that case Snabbdom will do a diff.

Thanks for stopping by to share your thoughts. It is greatly appreciated. Also, I don't know if I've said it before, but thank you for creating snabbdom :D

No problem. You're all very welcome.

@paldepind yes thanks for your thoughts too.
Intuitively I feel that this issue should be solved without big difficulties, but I myself didn't dive deep in to it (yet).

@whitecolor

Don't you see here a quite weak point of the current approach (when diff/patch is applied to whole tree on any change)

I have been trying to implement something like this using cyclejs and also react and have failed miserably with both. I could barely get 15-20FPS primarily because of the loads of javascript getting executed on every touch move event.
From what I have learnt, any form of abstraction affects performance and there is nothing like using simple and plain javascript making changes directly to the dom. So I created a webcomponent to solve this particular usecase of mine and then used it with cyclejs and the results were — buttery smooth!
So IMHO — Snabbdom does a pretty awesome job already, though adding this functionality might make is more faster, it would not necessarily be of much use to people who want to give that native app experience on the web.

@tusharmath I see you pain) but this issue is about avoiding definitely unnecessary work by snabbdom: when you know that a particular part of data changed which referrers to particular UI part - it is more logically correct to process only this part of UI. It won't turn web app performance into native obviously.

It's hard to nail down what this issue is about, because it's about many things: transposition, subtree optimization, snabbdom diffing by references/pointers, userland-optimizations, so I'm labeling this as a discussion. If we agree on something specific to do, we can move it back. I certainly agree we could do a few more optimizations. The snabbdom diff by reference is a good one, I didn't know that. It (seems) is in userland though.

@staltz it is about that changes (emissions) in each inner stream (that is contained inside vtee$ - that is currently transposed) should make local vdom patches/updates of their own dom part, without need to canalize whole DOM tree.

How, and whether it can be done without API changes, is what we can discuss before it becomes a "to do".


@clienttooltip being called without client request?

So i noticed that this trigger is being fired once the player is close to the other NPCs, but without pointing at them with the mouse. Its even worst with the items, its firing tooltip trigger for every item on the screen. Is this correct?
If the ini settings TooltipCache is low number, than its actually solid spam of this trigger nonstop checking the tooltips.
In the span of like sphere running for 15 minutes and one player in game.
TRIGGER '@clienttooltip' called 10329 times, took 0.0010 seconds average (0.0010 min, 0.0030 max), total: 11.7910 s.

I think it might have been some local bug. It didnt happened since then.
I will check again once profiler is working and re-open if needed.


'Zoom' effect on non-image content

Hi,
The docs say: "Zooming only works for images, for now."
It would be great to get the zoom effect working on other content types too - is there any news on this, or has anybody got zoom working on non-images content?
Thanks

I am working on video items mixed with images items; for consistency I am trying to play around the idea.


Find test image for read_pixel_per_meter test

Cannot find original test image.

This is not a showstopper.

Hmm, isn't it this image here io/test_images/png/EddDawson/36dpi.png as per this post during the review?

You're correct! Currently the test is commented out:
https://github.com/boostorg/gil/blob/develop/io/test/png_read_test.cpp#L130

So, looks like it can just be uncommented and voila, no? :)

Yes!


[fix][homebrew] don't panic if git commit unavailable

Description
https://github.com/MystenLabs/sui/pull/17478 breaks our homebrew releases (https://github.com/Homebrew/homebrew-core/pull/171726#issuecomment-2111545964), as it reversed the changes made in https://github.com/MystenLabs/sui/pull/15727.
Test plan
$ mv .git .notgit
$ cargo install --path crates/sui
$ /Users/johnmartin/.cargo/bin/sui -V                                                                                sui 1.26.0

I think we should revert this and instead adjust the homebrew build to set a the proper environment variable.


chmod after copy

Except I made it for the wrong branch.
I'm going to do it to main.  Same content.


Add PyBaMM IDAKLU solver, compiled from source

Till the time PyBaMM puts out a new release to fix the IDAKLU solver in its PyPI wheels, this PR shall help compile it from source in order for it to be used by PyBOP.
I have merged the latest changes from develop in this branch since #176 had not been updated in a while. This PR shall update the branch there upon getting merged, since this doesn't target the develop branch.

Actually, building from source is working on the coverage tests, but it's trying to assume pybind11 is installed and then trying to run tests from its top-level directory and for PyBaMM. We have wanted to remove the git-clone for pybind11 in https://github.com/pybamm-team/PyBaMM/pull/3560 but it has been stalled for many reasons.
I have pushed d63fc769bca0a35666514e4c306a463278a8674f which should fix this.

@BradyPlanden this should be ready for review now. Windows wheels for PyBaMM take ~20 minutes to build, and this can be reduced to ~4 minutes with caching – this is not worth using since they are broken as previously discussed. The Linux and macOS PyBaMM wheels are being compiled in ~3 minutes and work well – all of the test failures are coming from the PyBOP suite and you may take this up to fix up the test cases, either here, or merge this PR and then continue on #176, which is where these commits shall show up and then can be merged into the develop branch when ready.


Integrate Code QL

Coverage remained the same at 99.291% when pulling 9e8104827a0f808c9ffc70741ad7a96e731b2032 on codeql into 1423ea5f81c1dce72cd928a17b171f98296d9e8e on main.

Closing in preference to https://github.com/creek-service/creek-base/pull/17 until https://github.com/github/codeql-action/issues/1040 fixed


Convert to standalone library

[x] Remove zip compression functionality
[x] Make unencrypted the default
[x] Add public key retrieval for encryption
[x] Combine PackageWriter and PackageReader into a single Package object
[x] Package should have Read and Write methods
[x] Alter Config object to remove compression and add public key email

I haven't gone over this carefully, but the issue-1 branch has tests for gpg (local and remote) and non-gpg scenarios.


react-ui - fix postbuild script

Hey guys!
It looks like the postbuild script was failing when trying to create the package.json in both cjs and esm folder, and was producing invalid json:

Now it should output the format correctly.
Thanks! 🙏

This is a weird issue. Its OS specific, so hopefully this fixes that. 👍


[BUG] - Autocomplete -- controlled component doesn't work with async filtering

NextUI Version
2.2.10
Describe the bug
I have encountered a problem with the NextUI AutoComplete component. I am trying to control the selectedKey following the docs here. Controlling the component works as expected for a synchronous component. However, as soon as I introduce asynchronous filtering, controlling the component stops working.
You can see the issue in action in this codepen.
Your Example Website or App
https://codesandbox.io/p/devbox/vigilant-microservice-thncc4?workspaceId=9367cda1-b343-4621-bc73-de8b8fe6fdb1
Steps to Reproduce the Bug or Issue

run the code provided in the codepen
observe that selecting items in the autocomplete does not work
comment out the line selectedKey={selectedKey}
observe that this resolves the issue

you can also play with getting rid of the async filtering, and you will see that the controlled component works if you do this.
Expected behavior
As a user, I expect selecting items to work in the AutoComplete component when it is controlled and has async filtering. Instead, the AutoComplete component is not populated with the selected item.
Screenshots or Videos
No response
Operating System Version
macOS
Browser
Chrome

Thanks for reporting. I'll take a look.

@klister10 The reason why the input value is empty after selection is because you have defined inputValue and list.filterText is never updated after the selection. You may take a look at the example here for a reference.
Therefore, in your case, you may just add list.setFilterText(key); to your onSelectionChange. Then it should resolve this issue.

Closing due to inactivity - free feel to reopen if you still encounter an issue.


Syntax highlighting / Set filetype for previewed file in bookmarks float window

Currently, no filetype is set for a previewed filed. Setting the ft would enable syntax highlighting.
I didn't made any implementation test yet, so my theoretical assumptionion on how this could be solved: It might be possible to directly retrieve the filetype when opening the  preview. If not, it might be worth the tradeoff to additionally save ft = vim.bo.ft on bookmark creation.
Screenshot, manually setting the ft in a previewed file after opening the window.

Might be related to #13 (edit: didn't read through the issue properly. No relation afaik.)

Currently, no filetype is set for a previewed filed. Setting the ft would enable syntax highlighting.
I didn't made any implementation test yet, so my theoretical assumptionion on how this could be solved: It might be possible to directly retrieve the filetype when opening the preview. If not, it might be worth the tradeoff to additionally save ft = vim.bo.ft on bookmark creation.
Screenshot, manually setting the ft in a previewed file after opening the window.

Might be related to #13 (edit: didn't read through the issue properly. No relation afaik.)

In the setup options, preview_ext_enable is used to configure whether to add a filetype suffix to the current buffer.

Awesome! Sorry for not checking better beforehand.
Let me close this.


"Select" button disabled hook based on persistent validated configuration

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/941
Originally created by @derek-knox on 2019-08-29 15:11:56

If a user exits the initial extractor configuration step, the "Select" icon is enabled when the configuration hasn't been saved and thus validated properly yet. We need to add a backend mechanism for confirming a particular configuration has been saved and only then provide the "Select" button.
This is a non-issue if the user doesn't exit the modal as the "Save" interaction is async and only upon completion is the "Select" step UI inflated. If however the app is refreshed, we still don't have a first class way of confirming a configuration for a particular extractor exists (at least we aren't consuming this if it does on the frontend yet)

[ ] disable "Select" button until configuration validated

View 3 previous comments from the original issue on GitLab


Iterate over annotations

Hi,
I need to find a way to iterate over annotations but I can't find a way..
For instance here:
{% for type in types.based.TheProtocol %}
  // generate
  {% for case in type.cases %}
    /*  {{ case.annotations }} */
    {% for key,value in case.annotations %}
      // >> {{ key }} - {{ value }}
    {% endfor %}
  {% endfor %}
{% endfor %}

it prints the case.annotations, which is a dictionary, but for some reasons the for tag doesn't work.
According to the stencil documentation The for tag can iterate over dictionaries. but it doesn't work.
Am I doing something wrong?

Are you running on the latest master version? We only updated to the Stencil version that supports that in #274, so it's not released yet

No, I'll wait for it, thanks


Get a pointer to the unknown arguement

As far as I can see, when parg_getopt_long returns ?, there is no way to know which argument(s) it faltered on. This makes giving a good error message impossible, since we can't tell the user which of their argument was unknown. Is their any way to extract this information?

The element that contains the error should be argv[ps->optind - 1].


Deposit flow without wallet already connected

Story
As a new user of vega
I want to immediately see how to make a deposit and start trading from the UI
So that I can get started without having to find the right place to go
Acceptance Criteria

[ ] When the CTA is pressed, the deposit journey handles connecting Ethereum and vega wallets (from (Ethereum address) - to (Vega key))

Tasks

[ ] Work out how to handle deposits in the UI when connecting a wallet is also in a modal (how do we avoid modal on top of modal, are the modals sequential? Something else?)
[ ] Sketch out detailed flow
[ ] Implement
[ ] Review
[ ] Test
[ ] etc.

Sketch

We need to look at this again in the context of the toasts work

@mattrussell36 and I agreed the third acceptance criterion, about connecting wallets, is already satisfied. Pete's concept would be an improvement, but it would be a separate ticket.

Updated concepts on the Miro board after review with @mattrussell36 this afternoon:

collateral tab and its sibling tabs
ticket tab

I've crossed out the stuff we parked or dismissed, and annotated with rationale. It will need some visual design treatment. Note that for proposal #4 for the ticket tab, Matt suggested we use (and perhaps update) the following UI component:

As mentioned in my last comment, @mattrussell36 and I decided to split the work on the deposit entry points from work on the deposit form itself.
I've removed mention of the entry points from this ticket, and created a new one: https://github.com/vegaprotocol/frontend-monorepo/issues/2762
This ticket can remain in the backlog as a record of Pete's work, for future prioritisation.
@asiaznik, you were assigned to this ticket, so I've assigned you to the new one. If this doesn't make sense, let's have a quick chat to clarify!

@neildawson can we get one last check on this one please


[$250] QBO-incorrect toggle row style for Default vendor

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.83-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1717488551565489
Action Performed:
Prerequisite: Workspace connected with QBO

Go to staging.new.expensify.com
Click Settings > Workspace
Click on the workspace connected to QBO
Click Accounting > Export
Click Export company cards as
Observe the hint text for Default vendor

Expected Result:
Hint text is below the toggle
Actual Result:
Incorrect toggle row style for Default vendor
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a3aa3987291c1ed6
Upwork Job ID:<PHONE_NUMBER>599110203
Last Price Increase: 2024-06-17
Automatic offers:

ikevin127 | Reviewer | 102780674
truph01 | Contributor | 102780677

Issue OwnerCurrent Issue Owner: @ikevin127

cc @hayata-suenaga @trjExpensify

Proposal
Please re-state the problem that we are trying to solve in this issue.
Incorrect toggle row style for Default vendor
What is the root cause of that problem?

We are using ToggleSettingOptionRow without shouldPlaceSubtitleBelowSwitch: true

What changes do you think we should make in order to solve the problem?

We should use ToggleSettingOptionRow with shouldPlaceSubtitleBelowSwitch: true

What alternative solutions did you explore? (Optional)

@truph01's proposal looks good to me. Both RCA and solution are correct and very straight-forward, a one-liner fix which leverages an already existing prop and fulfils the issue's expected result:

Hint text is below the toggle

🎀👀🎀 C+ reviewed

Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻

cc @truph01

@ikevin127 I created a PR

PAYMENT SUMMARY FOR JULY 02

Fix: @truph01  [$250, if no regressions] Offer Link
PR Review: @ikevin127 [$250, if no regressions] Offer Link

[x]  [@ikevin127] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/40902
[x]  [@ikevin127] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/40902/files#r1657894680
[x]  [@ikevin127] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x]  [@ikevin127] Determine if we should create a regression test for this bug.
[x]  [@ikevin127] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Proposal
Precondition:

Workspace is connected to QBO accounting.

Click Settings > Workspace.
Click on the workspace connected to QBO.
Click Accounting > Export.
Click Export company cards as.
Verify that the hint text for Default vendor is below the switch toggle.

Do we agree 👍 or 👎.

@truph01 and @ikevin127 payments sent and contracts ended - thank you! 🎉


Re-implement scikit-learn's search trees with numba

This could be done at a later stage, if we choose to go down this way.
The implementation approach used in scikit-learn is interesting in several aspects:

kd-tree and ball tree are built as thin layers on top of a common, binary tree implementation

all tree data is pre-allocated, which could make easier the re-implementation with numba and perhaps could facilitate experimenting with those structures and dask.

I think numba is now mature enough and supported in various distribution so that we can use it as a dependency. I'm not sure if numba's jitted classes are very mature and/or we could avoid using it here, though.
The biggest advantage of using numba is just-in-time compilation that allows very flexible metric functions.

Hey, since you mentioned xoak in: https://github.com/NOAA-ORR-ERD/gridded/issues/55
I did some looking around before, and I came across this repository:
https://github.com/jackd/numba-neighbors
(With MIT license, so good to go)
Looks almost a perfect match with what you're proposing here?
It uses a jitclass, but very lightly, which is arguably the right approach in my opinion. You could pass the tree data more easily as a namedtuple, if you don't want to pass all the arguments.
Some query methods are still missing, but not that difficult to implement; although I'm not sure you can dynamically allocate as efficiently? Numba seems to be missing C++'s std Vector (or is a typed List this already, it felt significantly slower to me).
Also parallelisation is extremely simple using numba's prange.
JIT indeed provides very flexible metric functions, best way to introduce seems by using closures in numba to avoid the function call overhead, I believe: https://numba.pydata.org/numba-doc/latest/user/faq.html#can-i-pass-a-function-as-an-argument-to-a-jitted-function
I've also noticed that performance can benefit significantly by aggressively inlining (although this increases compile cost).
Since a tree will generally consist of float32 or float64 coordinates, and int32 or int64 indices, maybe it's a nice idea to ahead-of-time compile the built-in metric functions.
https://numba.pydata.org/numba-doc/dev/user/pycc.html#compiling-code-ahead-of-time

Good to know about the numba-neighbors repository and numba tricks @Huite, thanks!


Limit concurrent HTTP/2 Streams per connection

#2815 Defaults to 100 which is similar to Nginx, Apache, and IIS/Http.Sys.
I needed to finish implementing the infrastructure for sending settings to the client.
I also experimented with the BinaryConverter APIs for #2773, they worked great.

Minor updates


Java Package 4.6.0 Preview 3

Change Notes
Release Notes @tracyboehrer

[x] Review Change Log for Java
[x] Draft Release Notes
[x] Update STATUS.MD

GitHub Updates
Create New Branch @tracyboehrer

[x] Java (https://github.com/Microsoft/botbuilder-java/tree/4.6-preview3)
[x] Setup Branch Protection on New Branch

Update README.md in master to reflect new branch @tracyboehrer

[x] Java

Create DRAFT Release @CoHealer

[ ] Java# (https://github.com/microsoft/botbuilder-java/releases/edit/untagged-c969babd26a298e21673)
[ ] Enter release notes and change log @CoHealer

Apply Release Notes to DRAFT Release @CoHealer

[ ] Java

Publish GitHub Release @tracyboehrer

[ ] Java

Testing Status @jwiley84

Clone from 4.6-preview3 branch.
mvn install from Java SDK root

02.echo-bot

[ ] Initializes
[ ] Responds
[ ] Deploys

03.welcome-messages

[ ] Initializes
[ ] Responds
[ ] Deploys

08.suggested-actions

[ ] Initializes
[ ] Responds
[ ] Deploys

16.proactive-messages

[ ] Initializes
[ ] Responds
[ ] Deploys

45.state-management

[ ] Initializes
[ ] Responds
[ ] Deploys

47.inspection

[ ] Initializes
[ ] Responds
[ ] Trace via emulator

Thanks @tracyboehrer. @jwiley84, please prioritize among the build verification..


Please add LiteLLM to this project

This project is pretty great BUT we need more options to use different LLM's.You don't have to worry about creating a solution which supports 100+ LLM easily as LiteLLM is another foss project which is capable of doing this task for you.
Project LiteLLM link - https://github.com/BerriAI/litellm
Adding LiteLLM will be big win for the project as many will be easily able to use many more LLM easily which everyone wants and project will require 3 major parameters from user like base url,model name,api key that's all and with open ai api general structure it can query and give back result for the query.Many big projects have started adding support for this project in there project to make things advanced in easier way so study it and after that if you have any query you can ask them they are pretty responsive plus if u want to know more about my personal experience of using it with other great projects like flowise then I can tell you that too in detail.

Sounds great

Ollama already provides an OpenAI compatible API. Why bother with litellm?

@phalexo Remember ollama use litellm and not litellm use ollama. Problem with ollama only was that in ollama you have to download and then run the heavy model on your system and then you can use its base url in other project like this one which will act as llm source to generate response but in case of litellm we can use any kind of model be it close source like open ai,claud or Gemini or open source model running with public api like groq which is providing mixtral,Gemma,llama or running locally by ourself with ollama so it solves the issue of running multiple types of llm with single api structure which is very convenient and easy to use and that's why its needed in this project.

We need this LiteLLM.

This would really take Devika to the next level. Unlocking so many available models would be a huge gain in capability.

I support. The lack of LiteLLM support is a big minus.

https://github.com/stitionai/devika/pull/563


More GH Action work

enhanced the GHActions so the compiled binaries are downloadable
enhances the GHActions so a new build can be triggered manually

that is hard to fully test out on a fork

updated some versions
other minor documentation or comment clean up

if you are ok with these changes to the GitHub Actions I would suggest a SQUASH

so that the main branch only has 1, nice clean commit


Allow retries of integration tests during a release.

Integration tests can be flakey and we should allow retries.

PTAL


Scripts.js file does not get generated for Angular Elements that is under project folder

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

node version - 9.4.0
npm version - 6.4.1
Angular CLI: 6.2.4
Node: 9.4.0
OS: darwin x64
Angular: 6.1.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker
Package                            Version
@angular-devkit/architect          0.6.8
@angular-devkit/build-angular      0.8.4
@angular-devkit/build-ng-packagr   0.8.4
@angular-devkit/build-optimizer    0.8.4
@angular-devkit/build-webpack      0.8.4
@angular-devkit/core               0.7.5
@angular-devkit/schematics         0.7.5
@angular/cdk                       6.4.7
@angular/cli                       6.2.4
@angular/elements                  6.1.3
@angular/flex-layout               6.0.0-beta.18
@angular/material                  6.4.7
@ngtools/json-schema               1.1.0
@ngtools/webpack                   6.2.4
@schematics/angular                0.7.5
@schematics/update                 0.8.4
ng-packagr                         4.2.0
rxjs                               6.3.3
typescript                         2.9.2
webpack                            4.20.2
Repro steps

ng build my-project-element (under projects/my-project-element)
This does not generate scripts.js file
ng build my-element (under default src/my-element)
This works fine

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

@alan-agius4
The repo is here
I just upgraded to ng cli v7.0.1, seems like something broke, it's not bootstrapping anymore without this line bootstrap: [AppComponent] in NgModule
  bootstrap: [AppComponent],
  entryComponents: [AppComponent, SnackBarComponent]
})
export class AppModule {
  constructor(private injector: Injector) {
    const el = createCustomElement(AppComponent, { injector });
    customElements.define('my-element', el);
  }
  ngDoBootstrap() {}
}

And here are the output of ng build for my-element and my-project-element
ng build my-project-element

Date: 2018-10-19T15:30:53.578Z
Hash: 4a4ec662e671b38ed853
Time: 25387ms
chunk {main} main.js, main.js.map (main) 29.9 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 241 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 17.3 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 6.43 MB [initial] [rendered]

ng build my-element

Date: 2018-10-19T15:31:31.633Z
Hash: 2785ffffa2584c9d3b22
Time: 21119ms
chunk {main} main.js, main.js.map (main) 29.7 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 228 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.22 kB [entry] [rendered]
chunk {scripts} scripts.js, scripts.js.map (scripts) 13.7 kB  [rendered]
chunk {styles} styles.js, styles.js.map (styles) 17 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 6.39 MB [initial] [rendered]

@playground, I has a quick look at your reproduction and the act the the script file is not being emitted is due to the fact that it is not provided. https://github.com/playground/my-element/blob/master/angular.json#L163

@alan-agius4 thanks for pointing this out.  Would be nice if we can do something like "ng add @angular/elements --project my-project-element.
Does the element render for you in v7 without having to have the property in NgModule?
bootstrap: [AppComponent]

The bootstrap is always required check:
https://angular.io/guide/elements
For the ng add schematics, i’d suggest you open a new feature request with the expected behaviour and further details.
Thanks


Issue on page /plot.html

In the histogram section, the following content is shown:

Since this is the histogram section, the instruction must be "call %sqlplot histogram" instead of "call %sqlplot boxplot".

thanks for spotting this. this is a quick change, please open a PR


Decorations not visible on High Contrast theme

VSCode Version: 1.0.0
OS Version: Windows 7

Steps to Reproduce:
1.Create a decoration for a range with the following DecorationRenderOptions
{
    borderRadius: "3px",
    borderWidth: "1px",
    borderStyle: "solid",
    backgroundColor: "rgba(255,0,0,0.3)",
    borderColor: "rgba(255,100,100,0.15)"
}

2.Switch to the High Contrast theme.
The decorations are no longer visible. Not sure if this is by design.

@waderyan assigning to you. ChrisS designed the High Contrast theme. I don't know what the rules are in terms of decorations and high contrast. Is it a must that they are showing?

Thanks @dbaeumer. I believe @bgashler1 did some work here. Maybe he can give us some help?

Not sure if work was done on this, but I can now see the decorations in the High Contrast Theme (as of v1.13.0).

This appears to be fixed, I've verified below using the "TODO" extension:


tests: Skip ray tracing tests when unsupported

CI CrashDiagnosticLayer build queued with queue ID 325648.

CI CrashDiagnosticLayer build # 347 running.


Autoloads broken: cannot find members

Godot version
v4.0.beta.custom_build [15631e24f]
System information
Windows 11, Forward+, Geforce 1660 (526.98)
Issue description
When I try to get a variable from autoload, I get:
Parser Error: Cannot find member "audio_player" in base "".
I think the regression was introduced in 6debf86d5, because on the previous commit (ec4de82ab) MRP works.
Steps to reproduce
open and run project
Minimal reproduction project
var_from_autoload_test.zip

same issue here

CC @rune-scape

this might be related.  I get the following after op mentioned commit
SCRIPT ERROR: Invalid get index 'data' (on base: 'Node3D ()').
          at: Health._init (res://scripts/Health.gd:21)

autoload Game.gd
var data:Resource

Health.gd
	match group:
		PLAYER: maxValue = Game.data.playerBuff.getHealth(maxHealth)
		ENEMY: maxValue = Game.data.enemyBuff.getHealth(maxHealth)
		ENVIRONMENT: maxValue = maxHealth

Trying to access a var or const, from an autoload, as an autoload, also doesn't work anymore. Functions don't throw this error. Leaving a different MRP here with those 3 cases, if needed to test.

MRP: autoload bug.zip


Encoding missing will properties

I noticed will properties are not being encoded, so I am adding them here.

Looks like rust v1.53 won't work for the linux CI workflow anymore, as it pulls ntex  v0.5.18, which requires rust v1.55 or above. So, I switched to v1.55.

thanks!
i will release new version later today/tomorrow


Cannot read property 'printBluetooth' of null

i'm follow Full Example but got this log, help i'm use expo cli version 50.0.13 with android platform
 LOG  We will invoke the native module here!  LOG  Cannot read property 'printBluetooth' of null

i also encountered this, did you get a fix?

Same issue with expo 50.0.17 and react native 0.73.6

same here. any solution on this? thanks

any solution on this yet?

i'm follow Full Example but got this log, help i'm use expo cli version 50.0.13 with android platform
 LOG We will invoke the native module here! LOG Cannot read property 'printBluetooth' of null

+1


Set ltargets properly

Fixes #215 , at least for SQLite.
I fixed what looks like similar code mistakes for InfluxDB and MSSQL, but don't have a way to test those.

Tagged as 3.8.5


Encoding issue when convertting slk file to csv

Hello,
I'm trying to convert a slk file to csv file, with the code see below :
var wb = XLSX.readFile(file.path);
var ws1 = wb.Sheets[wb.SheetNames[0]];
var csv = XLSX.utils.sheet_to_csv(ws1);
console.log(csv);

Here a link for the slk sample file
When I'm opening the source file with Excel the result is :

The result on the console or csv file is :

Could you please tell me if I'm doing something wrong ?
Thanks in advance.

The file uses some sort of 7-bit escape sequence (like VT-52).  The hexadecimal byte representations, with a CP1252 interpretation replacing the ascii ESC with _, look like this:
50 72 1b 4e 42 65 73   Pr_NBes
41 4e 44 52 c9 45      ANDRÉE

You don't see the N in the console because 0x1b 0x4e is interpreted as an escape sequence.
Excel 2019 seems to prefer using those, since opening and saving the file actually rewrites cell A2 to use a similar scheme:
41 4e 44 52 1b 4e 42 45 45  ANDR_NBEE

We would have to go back and either brute-force the characters Excel uses in CHAR function or try to find old documentation.  Do you have any other characters in mind?

Thanks for your reply, it's most clear for me :)
I wrote the list of the french accent and I updated my code with :

var wb = XLSX.readFile(file.path);
var ws1 = wb.Sheets[wb.SheetNames[0]];
var csv = XLSX.utils.sheet_to_csv(ws1, {Fr: ';'});
var obj = {Aa:'à',Ca:'â',Ha:'ä',Be:'é',Ae:'è',Ce:'ê',He:'ë',Ci:'î',Hi:'ï',Co:'ô',Ho:'ö',Au:'ù',Cu:'û',Hu:'ü',q:'æ',z:'œ',Kc:'ç',AA:'À',CA:'Â',HA:'Ä',BE:'É',AE:'È',CE:'Ê',HE:'Ë',CI:'Î',HI:'Ï',CO:'Ô',HO:'Ö',AU:'Ù',CU:'Û',HU:'Ü',a:'Æ',j:'Œ',KC:'Ç'};
csv = csv.replace(/(\u001B\u004E)(Aa|Ca|Ha|Be|Ae|Ce|He|Ci|Hi|Co|Ho|Au|Cu|Hu|q|z|Kc|AA|CA|HA|BE|AE|CE|HE|CI|HI|CO|HO|AU|CU|HU|a|j|KC)/gm, function(_, $1, $2){return obj[$2]});
fs.writeFileSync(file.path + '__', csv, 'utf8');

Could you please tell me if it's a «clean» way ?

Ultimately this logic will be pushed into the slk parser.
There seem to be two different sets of patterns involved. In addition to the \u001BN encoding, there is another two-character encoding like \u001B 9 (ESC SPC 9) which maps to the tab character!  That second one is a bit more regular: the first character encodes the high 4 bits (starting at SPC which has ASCII code 0x20) and the second character encodes the low 4 bits (starting at "0" which has ASCII code 0x30).  Interestingly there are two valid encodings of Œ: \u001BNj and \u001B(< .  We'll do a bit more digging to see if there's an actual pattern in the \001BN case.
PS: in your regular expression the first group is not necessary:
csv = csv.replace(/\u001B\u004E(Aa|Ca|Ha|Be|Ae|Ce|He|Ci|Hi|Co|Ho|Au|Cu|Hu|q|z|Kc|AA|CA|HA|BE|AE|CE|HE|CI|HI|CO|HO|AU|CU|HU|a|j|KC)/gm, function(_, $1){return obj[$1]});

If you wanted to go even further, you could programmatically generate the regexp:
csv = csv.replace(new RegExp("\u001BN(" + Object.keys(obj).join("|") + ")", "gm"), function(_, $1){return obj[$1]});

Thanks a lot for your help ;)


BUG: IndexError: index 0 is out of bounds for axis 0 with size 0

When running
$: poetry run python3.9 momentumscanner_techindicator.py uniswap_v3 6
I get the error:
Traceback (most recent call last):
File "/momentumscanner_techindicator.py", line 432, in
findbestreturn(
File "/momentumscanner_techindicator.py", line 388, in findbestreturn
hottoken = df.index[0]
File "/usr/local/lib/python3.9/site-packages/pandas/core/indexes/base.py", line 5039, in getitem
return getitem(key)
IndexError: index 0 is out of bounds for axis 0 with size 0

The cause has been found and it exists in multiple scripts. Looking for a good way to clean it up together.

This should fix it @taariq
https://github.com/VolumeFi/trading-bots/pull/13


Custom data layers don't have the correct name displayed in the TileSet window

Godot version
v4.0.2.stable.official [7a0977ce2]
System information
Windows 11
Issue description
Currently in Godot 4 you can create powerful Custom Data Layers. But when applying changes to that data in the tileset window (for example selecting true/false value for specific tiles) the name for specific custom data layer is the index number instead of actual name set in Custom Data Layers.

Steps to reproduce

Create tilemap node
Create/assign tileset to that tilemap node
Create new Custom Data Layer for that TileSet
Go to TileSet window, press select and select any tile in the tileset
See that custom data layer works, but has incorrect name

Minimal reproduction project
N/A

I can take a look at this.

I've looked into the problem and it seems to rely on the inspector properties of the custom data layers. Unfortunately, I'm not sure how we can overwrite the labels as it seems we can't change the property labels themselves. I may have to leave this to someone whos more experienced in Godot's codebase. :(

@cjapar2  Are you still working on this?

@dinoplane No, I am not.

Got it, I shall take a look now

Pushing is issue, as it would be really useful to see the names.

Also encountering this, it makes the Custom Data functionality far less useful if it isn't clear what the properties actually are


how to use the api? Could someone help me plz!

i want to use the api to get and create a database, dataset and chart, but i don't understand the parameter provided by the offical document.((http://<IP_ADDRESS>:5000/swagger/v1))
for example, i want to get the charts information, but what does the columns means and what value should it take?
The following are the parameters required by the api
{
"columns": [
"string"
],
"filters": [
{
"col": "string",
"opr": "string",
"value": 0
}
],
"keys": [
"list_columns"
],
"order_column": "string",
"order_direction": "asc",
"page": 0,
"page_size": 0
}

Hey Aswar! Moving to Discussions since this isn't a bug (we're trying to keep Issues focused on Bugs and SIPs).
You may also find this introductory event useful around the Superset API: https://www.youtube.com/watch?v=vFTI087HYNE


Errors linking libhpx.so

Hello,
I am trying to install hpx (master branch) on Ubuntu 16.04. I am facing a linker error saying this:

sed_transform.cpp:(.text.ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ[ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ]+0x132): undefined reference to `boost::re_detail_106501::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
src/CMakeFiles/hpx.dir/build.make:2722: recipe for target 'lib/libhpx.so.1.1.0' failed

I realize that this is because the Boost regex library is not linked properly but I am not sure how to fix the issue.
I used the command like this :
`

sudo cmake -DBOOST_LIBRARYDIR=/usr/local/boost_1_65_1/libs -DBOOST_ROOT=/usr/local/boost_1_65_1 -DHWLOC_ROOT=/usr/local/share/hwloc -DHPX_WITH_MALLOC=system -DBoost_DEBUG:BOOL=ON /home/shailesh/Documents/stellar/hpx

`
and I got this warning but Configuring, generating was done and build files written.
failed to create symbolic link '/home/shailesh/Documents/stellar/hpx/my_hpx_build/share/hpx': No such file or directory
Ignoring the above warning I tried:

sudo gmake -j4

and then getting the linker error.
Kindly help me with this.
Thanks in advance!
Regards,
Shailesh Tripathi

Please make sure that you link against the same Boost libraries you compiled against. Also please make sure that Boost was built using the same ABI as HPX, i.e. all has to be either -std=c++11/-std=c++14/-std=c++17.

Hi @hkaiser ,
Thanks for your help. The issue was finally resolved. I installed the Boost library using the bootstrap script and everything went smoothly.
Thanks again


Set up iOS testing and GitHub Actions

A summary of changes:

Configure UnitTests XCTest target and xctestplan
Add demo test case
Add docs/ios-client/build-and-text/testing.md with more details about testing
Configure GitHub Actions to auto-run tests on push or pull request
Force cocoapods dependency to be version 1.11.x, as this is required by cocoapods-patch, and the configuration previously allowed more recent versions to be used.

Largely related to issue #7 (setting up iOS unit testing systems)

A successful GitHub Actions run on my fork (with just the demo test case): https://github.com/2kai2kai2/soundscape/actions/runs/5363654362
A couple things about this:

While some changes/caching may help with this, even this minimal test run took 10-15 minutes (mostly building). When testing multiple targets, we can use multiple jobs concurrently.
Fortunately, GitHub Actions/Runners is free for public repositories (which is good, since macOS runners can get expensive)

@2kai2kai2 To test the CI on this repo, we could push the changes to a branch, temporarily switch the branch names in ios-tests.yml to the name of the new branch and perhaps @wdturner could help transfer over the secrets to this repo? Does that sound like a good way to test and have I missed anything?

That should work for testing. There are no secrets or environment variables required so there is no need to transfer secrets. That also means that running in a branch and running in the fork (both on the same GitHub Runners image) should be identical.

@2kai2kai2 To test the CI on this repo, we could push the changes to a branch, temporarily switch the branch names in ios-tests.yml to the name of the new branch and perhaps @wdturner could help transfer over the secrets to this repo? Does that sound like a good way to test and have I missed anything?

That should work for testing. There are no secrets or environment variables required so there is no need to transfer secrets. That also means that running in a branch and running in the fork (both on the same GitHub Runners image) should be identical.

Thanks. Looks good to me then.

Hi @2kai2kai2 , good job thanks !
We can then edit your ios-tests.yml to run fastlane, the production tools currently setup.

@2kai2kai2 Looks good to merge now.

Thanks. I don't have permission to do that, someone who does like @wdturner can?

@2kai2kai2 Looks good to merge now.

Thanks. I don't have permission to do that, maybe someone who does like @wdturner can?

Oh. I didn't realise. I will merge it for now. Thanks for the contribution.


Error connecting to existing server Workspace

Every time I open any solution in Rider, and then try to get latest version, this error occurs:
com.microsoft.alm.plugin.external.exceptions.ToolAuthenticationException: KEY_TF_AUTH_FAIL 	at com.microsoft.alm.plugin.external.commands.FindWorkspaceCommand.throwIfError(FindWorkspaceCommand.java:133) 	at com.microsoft.alm.plugin.external.commands.FindWorkspaceCommand.parseOutput(FindWorkspaceCommand.java:91) 	at com.microsoft.alm.plugin.external.commands.FindWorkspaceCommand.parseOutput(FindWorkspaceCommand.java:26) 	at com.microsoft.alm.plugin.external.commands.Command$1.completed(Command.java:178) 	at com.microsoft.alm.plugin.external.ToolRunner$ListenerProxy.completed(ToolRunner.java:295) 	at com.microsoft.alm.plugin.external.ToolRunner$ProcessWaiter.run(ToolRunner.java:333)
Workspace I'm working in was created in Visual Studio.
I tried to update credentials here:

but nothing has changed.

Hello. Could it be that the Visual Studio workspace is a Server one? Could you pleae check the workspace settings? Unfortunately, we don't support the server workspaces (yet), and this is one of the errors that could happen on a Server workspace.

@ForNeVeR yes, this workspace is server. When support for server workspaces can be expected?

We're looking into it, see #325 for the current progress.

After spending some time on #325, I'm sure this issue is a proper subset of #325, so I'll close it.

Hello,
I have the same problem, but the workspace is local
If I go to VCS->TFVC->Manager workspaces I can see the old workspaces that have already been deleted. So I press "reload workplaces" and get "An error occurred: Access denied connecting to TFS server". I updated the credentials using Rider settings.
Can it be something with certificate? I have exported company root cert using Rider Settings->Tools->Server Certificates, but it has changed nothing.

@DdarkSideE,

I have the same problem, but the workspace is local

Then this is another issue. Please check you're using the latest version of the plugin, and then open a new ticket, and attach IDE logs. Also, some details on your TFVC server would help.


Boss global killcount/-time rankings

Is your feature request related to a problem? Please describe.
It is not related to a problem. It’s merely a new feature.
Describe the solution you'd like
I would like to be able to see a ranking/highscores system for amount of kills on a specific boss and personal best times for that boss.
I can already imagine it looking something like a list of bosses on which you can click, which navigates to a different window where you can click either a ‘Kill time’ or ‘Kill count’ button, which will then show all the kill times or counts of the people that have used this plugin (ordered by highest kill count and fastest kill time, of course).
Describe alternatives you've considered
I couldn’t think of any alternatives.
I searched through the Runelite repo issues but I couldn’t find any similar feature requests regarding this idea.
Additional context
I would love to discuss the possibilities for this.
I understand this requires storing of the killcount and killspeed data in a database through perhaps the Runelite API.
To capture this data, we could hook into the event when a boss dies and the kill message shows up in the chat.
I’m a programmer myself so I can definitely work on this as well. However, I just departed on a roadtrip (during which I conjured up this idea), so I can’t develop this idea just now.
I would like you guys’ opinions on this. Especially how we could organise the infrastructure of storing the kill data, if at all possible/allowed by the Runelite core team.
Looking forward to your responses.

It is simply not possible to make rankings systems for bosses that would be global as it can be spoofed, and in case every second matters its just unreal request.

Also it would not work with the bosses killed on other clients so the rankings would have like little to no value.

It would give you a good estimate on how well you are performing compared to others. Of course it would only contain data from the people using Runelite.
The spoofing part would indeed be hard to prevent, unfortunately.

It is impossible to prevent the spoofing.

The only way I could think of implementing this is to use it as aggregate data, eg: You killed the thing in 0:59, (50th percentile), so that people have less of a reason to spoof.


Remove ServiceAccount from deployment yaml files

ServiceAccount is already defined in rbac.yaml

/lgtm
thank you

/remove-lifecycle stale

/approve


Auto navigation

I took a stab at implementing auto-navigation.
https://github.com/atom/go-to-line/issues/26

This should look even better after: https://github.com/atom/go-to-line/pull/31

hey @50Wliu.
Is there anything else I need to do to get this merged?

friendly reminder about this PR

We have a large backlog of PRs, so reviewing takes some time to get to.


Normalize API surface to use abstractions vs concrete implementations

The generated code should follow the general API design pattern related to MA0016.
There many places in the generated code which could use abstractions instead of the concrete types. This will make it easier for us to change implementation details in the future without introducing a breaking change.
This issue should serve as a parent feature for updating all the parts of the code that can generate a collection type.

[ ] All "result" types should take an IEnumerable<T> as input instead of List<T>.
Non-breaking change.
[ ] All "parameter" types should use IReadOnlyList<T> for array properties instead of List<T>. The default value assigned to these should be Array.Empty<T>. E.g.: public IReadOnlyList<string> Items { get; set; } = Array.Empty<string>()
Breaking change.
[ ] All "model" types should use IReadOnlyList<T> for array properties instead of List<T>. The default value assigned to these should be Array.Empty<T>. E.g.: public IReadOnlyList<string> Items { get; set; } = Array.Empty<string>()
Breaking change.

Related: https://github.com/meziantou/Meziantou.Analyzer/blob/main/docs/Rules/MA0016.md

@LarsSkovslund / @rickykaare / @davidkallesen / @perkops / @cjakobsen / et. al. please share your input on the suggested changes above.
Here are a few questions/thoughts:

Is this all the places where we are using concrete types?
I like to keep parameters as IReadOnlyList<T> since there are very few scenarios where the endpoint handler needs to modify the received list, and in those cases, a LINQ statement or similar will usually result in a new array/list being created anyway.
Should models also default to IReadOnlyList<T> or perhaps be ICollection<T>/IList<T>? I do not see a point in making the returned collections mutable, since they are just getting serialized to JSON, and having the type as an IReadOnlyList<T> means pretty much any collection type in the framework can be used to initialize the property. But maybe I am missing something here?

I support the suggested changes, it will improve usability of the generated code and add more flexibility in the generator.
Why change the default value to Array.Empty()?
I noticed that in Atc.Rest.Results.ResultFactory we use string[], changing this to IEnumerable could be another improvement.
For the non-breaking part I suggest to just move ahead. For the breaking part we need to define the release process for this, including how this is communicated and versioned.

@cjakobsen  because Array.Empty<T> is more performant than new string[].

That is correct but if we want to optimize for that as well then we should be even more crisp and use Enumerable.Empty<T>()

That is correct but if we want to optimize for that as well then we should be even more crisp and use Enumerable.Empty<T>()

Interesting, wasn't aware of that. Looking at the code involved, I am not sure it is more "crisp" though:
Array.Empty() is just an static new T[0] under the hood.
Enumerable.Empty() points to a EmptyPartition() that does seem to be a bit more complex.
What are your reasons to prefer Enumerable.Empty<T>() Claus?


Add more diags and fix broken journalctl call

Casey could you review this one?
Primary purpose was to add "ip addr" output to diags.  However, I was also hitting exceptions running the diags command due to the journalctl changes.  I've updated to use the DiagsFileWriter which catches all exceptions and writes a generic log to the file rather than bailing out of the diags script.

Fixes #738

One comment, once that is done it should be good to go.


letterSpacing in TextField with monospace font is only applied to right side of the first character until a second character is entered, then letterSpacing is applied correctly to both sides

Steps to Reproduce

Run the sample app here: https://github.com/acoutts/flutter_text_bug/blob/main/lib/main.dart
Enter some characters in the text field

Expected results:
The letter spacing should be applied to all characters equally no matter the length of the input text.
Actual results:
When only one character is entered, the letterSpacing is only added to the right of the character.
When a second character is entered, then the letter spacing is correctly applied to both sides of the first character.
Video demonstration:
https://giphy.com/gifs/blxgQ70RIoVvJybyW0
While the video demonstrates the behavior on iOS, I tested on an Android device and confirmed the same behavior there.

Code sample

           TextField(
              style: TextStyle(
                fontFamily: 'NotoMono-Regular',
                fontSize: MediaQuery.of(context).size.width * 0.086,
                letterSpacing: MediaQuery.of(context).size.width * 0.082,
              ),
            )

Logs

[✓] Flutter (Channel stable, 3.0.0, on macOS 12.3.1 21E258 darwin-arm, locale en-US)
    • Flutter version 3.0.0 at /Users/andrew.coutts/Projects/flutter
    • Upstream repository git@github.com:flutter/flutter.git
    • Framework revision ee4e09cce0 (4 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/andrew.coutts/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/andrew.coutts/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.68.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (4 available)
    • macOS (desktop)    • macos                     • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)       • chrome                    • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hello. Thanks for filing the issue. This issue is reproducible on latest stable and master channels with provided sample code.

Demo

Flutter
Web
Android Native

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.0 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ee4e09cce0 (2 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.67.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.727, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.727 at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 36f9a186bf (9 hours ago), 2022-05-15 14:34:06 -0400
    • Engine revision 1b064fd1a3
    • Dart version 2.18.0 (build 2.18.0-116.0.dev)
    • DevTools version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.67.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

What is supposed to be the behavior here? Is Flutters behavior different from native iOS, Android, Mac, or Chrome?

It seems to be a regression as it didn’t happen in past versions of flutter.
The expected behavior is if I specify letter spacing, it should be applied equally to all characters no matter the input length.
As demonstrated above, the letter spacing is initially only applied to the right side of the first character if the input length is 1. Only once a second character is added does the letter spacing then get added to the left side of the first character.

Submitted a fix to Skia: https://skia-review.googlesource.com/c/skia/+/541978

I see that one is merged now - when can we expect it to be available in flutter?

Sadly it’s still happening even in the latest beta (3.3).

Correction - it is now fixed! Great news 🙌
Should we leave this open until it makes it to stable?


Fix some editor-entry E2E tests (part 1)

-Update some of the locators used by editor entry E2E tests

Too many E2E tests still failing, so I'm withdrawing this PR


NLL cause unclear failure

Why does the following code cause "unsupported dtype F32 for op gather"?
let x: [[f32; 1]; 2] = [ [2.6263], [1.1000] ];
let y: [u32; 2] = [8, 5];

let a = Tensor::new(&x, &dev).unwrap();
let b = Tensor::new(&y, &dev).unwrap();

let rst = candle_nn::loss::nll(&a, &b);

In addition the following should also work, or?
let x: [f32; 12] = [ 2.6263, 1.1000];
let y: [u32; 2] = [8, 5];
let a = Tensor::new(&x, &dev).unwrap();
let b = Tensor::new(&y, &dev).unwrap();

let rst = candle_nn::loss::nll(&a, &b);

The following example based on your snippet worked fine for me. Maybe you're using a different device or optimization level that triggers the issue but note that it doesn't make sense to have values in the second argument which index is out of bounds for the first argument for such a nll loss.
use candle::{DType, Device, Result, Tensor};

fn main() -> Result<()> {
    let x: [[f32; 1]; 2] = [[2.6263], [1.1000]];
    let y: [u32; 2] = [8, 5];

    let dev = Device::Cpu;
    let a = Tensor::new(&x, &dev).unwrap();
    let b = Tensor::new(&y, &dev).unwrap();

    let rst = candle_nn::loss::nll(&a, &b);
    Ok(())
}


feat(minecraft-server): replace environment variables in configs

Add additional setup script that replaces environment variables inside
config files.
Closes #298

The code and docs are ready, but I did not have a chance to fully test this with a docker image. I only tested the script itself for now. That's why it is still WIP.

Okay my tests were successful and you can pull this now 👍

Cool, I’ll try review this later today.

This is now published to Docker Hub. Thanks again for the great feature.

Hi can i get the steps to run minecraft server in ec2 linux instance

@abifrwork I should probably create a YouTube video to answer that, but it mainly boils down to:

installing Docker on the ec2 instance
setting up a security group to allow TCP port 25565 inbound to the ec2

The remainder of the minecraft server specifics will be covered generically by the README.


The cache of generators is defeated when using the decorator manually.

The usual syntax for using a decorator is like this:
@dec
def f():
    pass

This is an improvement over not having this syntax when the only option was this:
def f():
    pass
f = dec(f)

However, this approach is still valid and can lead to this (maybe unintentional) result:
def f():
    pass
f1 = dec(f)
f2 = dec(f)

Here two instances of the decorator is applied.
When the infinite_generator_cache is used like this, it creates two instances of the underlying generator and they both incur the time costs of calling next(f) instead of just the first.

Written a test to reproduce the issue. a340d7e35a6e69c4a2aaac65117c67965912474a

Fixed the issue by making _cache_of_wrapped_generators @classmethod :e76cdebe75eb8f6d247b2b5bd378f83dfb5fd934

Fix closes this issue.


[WIP] Updates base images for arm builds on v1.3.x branch

Description
Fixes broken build for 1.3.x branch: http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/v1.3.x/127/pipeline/117
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes
Comments

@perdasilva Thanks for the contribution!
@mxnet-label-bot add [pr-work-in-progress, build]

Closing this one as it is duplicate of #13562


hyprctl activewindow broken

% hyprctl activewindow
unknown request

happens for me and other people: https://stop.voring.me/notes/92o7gkncms

fixed in 65e75c0b4427965a0fa3386e2bd27e58f195d2d6, but FYI this issue is because hyprctl got an update and you recompiling hyprctl would've fixed it


Why get_random_outs rpc request is so slow.

What's the particular reason for that and is there some workarounds to speed up the process?

Yes this is exactly what we fixed and what is waiting for deployment.


Is there a way to fully disable this tool and resort to the default fan control?

Is there a way to fully disable this tool and resort to the default fan control (without uninstalling)?
If there is, it would be awesome to include it in the README.
If there's not, allow this to be a feature request for such a feature.

Hi, yes there is
You can:

pause the program with fw-fanctrl --pause
stop the systemd service with systemctl stop fw-fanctrl.service / disable it for future restarts with systemd disable fw-fanctrl.service

The pause command is documented in the README.md file.
Is this what you were looking for, or can I help you with anything else?

Are those two bullet point list items joined by an "and" or an "or"?
Like, does each item do the same thing, or do you need to do both items?

Perhaps a better description of the --pause action (which currently reads "temporarily disable the service") would be:

temporarily disable the service and use the embedded controller's temperature control

The idea of "disabling the fan controller" is a bit of a scary action, without explictly confirming that there is indeed another tool that manages it

Hi, it can indeed be confusing.
Does this solves the issue?


Controller needs to support Velero Snapshots when appropiate

Currently when a user selects copy we are always defaulting to using Restic to perform the PV migration. We need the ability to intelligently detect when we are migrating a PV that could be restored via cloud-native snapshot tool that Velero uses. An example of this is if I want to migrate an application that is using an EBS volume in region us-east-1. If my OCP4 cluster is running with a storage class that points to EBS and region us-east-1 then we do not want to use restic, but rather use Velero's native support for cloud-based volume snapshots. This means if we detect copy and a storage class that supports snapshots, we do not add restic annotations.

Adding beta-blocker label in case we have time to solve this for beta.

So upon some initial investigation, it seems that the biggest challenge is that for EBS at least, we don't really have an obvious way to know what region the dest cluster is using, which means we can't figure out automatically whether the volume can be copied via snapshots. One possibility is to add an explicit UI checkbox/API flag along with the dest storageclass selection, which we will only offer if src storageclass and selected dest storageclass have "kubernetes.io/aws-ebs" as the provisioner. For azure/GCP support we could do the same.

Controller support for this was added with https://github.com/fusor/mig-controller/pull/288


[Windows Terminal + Cmder] useFakeTimer('modern') doesn't working

🐛 Bug Report
test-case throw a crash like the screenshot in Cmder + Windows Terminal.

PS: work well in Cmder client, work well in Powershell + Windows Terminal.

To Reproduce
Steps to reproduce the behavior:

run a simple test case with useFakeTimers('modern') and setSystemTime().

envinfo

  System:
    OS: Windows 10 10.0.21376
    CPU: (16) x64 AMD Ryzen 7 4800U with Radeon Graphics
  Binaries:
    Node: 14.4.0 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.14.8 - D:\Program Files\nodejs\npm.CMD
  npmPackages:
    jest: ^26.6.3 => 26.6.3

I'm going to use your issue. Right now I'm trying to tests this:
describe('_getGreetingByTime', () => {
  beforeAll(() => {
    jest.useFakeTimers('modern');
    jest.setSystemTime(new Date(2021, 1, 1, 0, 0, 0, 0));
  });

  afterAll(() => {
    jest.useRealTimers();
  });

  it('It Should display Buen día', () => {
    _getGreetingByTime(); // WIP
  });
});

When I run the test, I've got the next message:
 TypeError: Cannot read property 'useFakeTimers' of undefined

If I removed modern from the useFakeTimers I cannot use the setSystemTime method :/
info:
react-native: 0.63.4
babel-jest: 26.6.3
@testing-library/jest-native: 3.4.3
@testing-library/react-native": 7.1.0
jest: "26.6.3

Have same issue:
jest.useFakeTimers('modern');
jest.setSystemTime(new Date(2020, 1, 10));

Return error:
TypeError: Cannot read property 'useFakeTimers' of undefined

Fixed in #11946


Detect healthy nodes upfront by a server rather than waiting for retry backOff

Whenever a node is detected to be down, the cluster manager marks the node as down and retry's after retry.backOff.ms. So, this limits our time to detect the an up node (become healthy from unhealthy) to a minimum of retry.backOff.ms. The same is the case for frontend as well as server.
One possible optimization we could do with servers is with the help of ReplicaMetadataRequest coming in from the node being down, a server(replica) could detect that a node/disk is up even before retry.backOff.ms. This applies only for servers and not possible with frontends as they don't participate in replication.

How does helix+d2 change this picture?
On Mar 8, 2017, at 12:38, Sivabalan Narayanan<EMAIL_ADDRESS>wrote:
Whenever a node is detected to be down, the cluster manager marks the node
as down and retry's after retry.backOff.ms. So, this limits our time to
detect the an up node (become healthy from unhealthy) to a minimum of
retry.backOff.ms. The same is the case for frontend as well as server.
One possible optimization we could do with servers is with the help of
ReplicaMetadataRequest coming in from the node being down, a
server(replica) could detect that a node/disk is up even before
retry.backOff.ms. This applies only for servers and not possible with
frontends as they don't participate in replication.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/linkedin/ambry/issues/558, or mute the thread
https://github.com/notifications/unsubscribe-auth/ARk55smSBUQi73FdYS-_IO2uL4ZxsDmhks5rjxG3gaJpZM4MXR3l
.

yes, with helix coming in, guess this may not be required. Will close the issue then.


Notebook freezes when using any imported module.

Environment data

VS Code version: 1.67.1
Jupyter Extension version: 2022.5.1001351004
Python Extension version: 2022.7.11332232
OS: Linux (Ubuntu)
Python: 3.10
Type of virtual environment used: venv
Jupyter server running: Local

Expected behavior
It should work normally.
Actual behavior
In a notebook, if I import any module and try to use it it just freezes the VSCode and during this time a single thread of my CPU is at 100% usage.  Everything is working perfectly in python .py files.

Steps to reproduce:

Create a Jupyter Notebook.
Create a new Cell Import any module and run the cell.
Now create another Cell and try to use that module e.g. in my case I imported torch and when I try to use it, it just freezes the VSCode.

I have the exact same issue, running on ubuntu 20.04

I have sorted out the issue, I just have to remove this from my settings  "jupyter.pylanceHandlesNotebooks": true.

this sounds like https://github.com/microsoft/vscode-jupyter/issues/9936. Can you try rolling back the Pylance extension to 2022.4.3 or earlier and check if it still reproduces?

duplicate of #9936


Bulk download h5ad data with filters [R]

Hi, can you please provide guidance on how to download h5ad in bulk with filters of interest in R?
TileDB-SOMA API supports both Python and R, but the documentation only provides Python examples. I tried a similar syntax in R, but it reports that the URI is not a TileDB SOMA object. Am I missing something obvious?
uri = "s3://cellxgene-census-public-us-west-2/cell-census/2023-07-25/soma/"
census <- tiledbsoma::SOMAOpen(uri = uri)

Thanks for your help.

Hi @myushen
Our doc-site has a link to R API & tutorials. You can find more information about R usage there.
You will only be able to download the original h5ads as deposited by contributors via download_source_h5ad using the dataset_id of your data of interest.
If you want to download specific slices of Census after filtering, you can only do so for Seurat or SingleCellExperiment objects.


Inconsistent Link attribution in Branch.initSession()

Hello -
We are seeing inconsistent Branch link attribution in our app with respect to Branch's SDK reliably passing back the utm params and other metadata associated with a Branch marketing link which trigger's app installation through the Apple Appstore and/or our own internal staging distribution server (HockeyApp).  Specifically, what we see is that on some test devices, attribution always occurs reliably and after the user clicks a link and installs the app when Branch.initSession() is invoked, the param set always contains all of the standard and custom attribution data that we'd expect to see and it successfully gets pushed into Segment.io via a custom track event that we fire.
On another set of users/devices, we very rarely get successful attribution and the "clicked_branch_link" attribute of the payload returned in Branch.initSession() always shows "false" and as such, none of the link attribution data is there either.  There does not seem to be any pattern to which devices consistently don't work vs those that do or which iOS versions, etc.
The steps that we follow for testing/verifying this scenario in our app are:

uninstall all previously installed versions of [Our App] (staging or production);

create a note with the following link on the test device (or add the following link to an existing note):

https://[redacted].test-app.link/kgGB9gaoWN?utm_source=facebook&utm_campaign=staginginstalltest

go to Settings>Privacy>Advertising and click "Reset Advertising Identifier...";

click on the link created in step 2.  You should be redirected to HockeyApp|AppStore to download the staging or the AppStore app version, depending on the specific link that is being used;

click "Install" on the HockeyApp/AppStore distribution landing page;

If you are testing an Enterprise (HockeyApp distribution) build go to Settings>General>Profiles & Device Management>Enterprise [Our Company].  Click "Trust [Our Company] (ENT)";

open Segment's staging|production app dashboard:

https://app.segment.com/[OUR COMPANY]/sources/events-[staging or production]/debugger

Open the newly installed staging|appstore app version.  Once the app opens, background it by hitting the "Home" button, or swiping up on iPhoneX devices;

In successful attribution cases, we see something like (below) associated with the custom track event that is logged in the Segment.io debugger:
[[SEGAnalytics sharedAnalytics] track:@"Install Attributed", properties: @{
@"$ios_url" : @"https://rink.hockeyapp.net/apps/h123h4h1234h123h4h1234h123",
@"$marketing_title" : @"John.Miller iOS Test Link",
@"$og_description" : @"Blah, Blah, Blah, Blah",
@"$og_title" : @"Test Install Link",
@"$one_time_use" : @false,
@"+click_timestamp" : @1533180457,
@"+clicked_branch_link" : @true,
@"+is_first_session" : @true,
@"+match_guaranteed" : @false,
@"anonymousId" : @"XXX-XXX-XX-XXXX-XXXXX-XXXX",
@"category" : @"Sign Up",
@"name" : @"Marketing Attribution Test Campaign",
@"platform_type" : @"iOS",
@"source" : @"Github",
@"utm_campaign" : @"staginginstalltest",
@"utm_source" : @"facebook",
@"~campaign" : @"Marketing Attribution Test Campaign",
@"~channel" : @"Github",
@"~creation_source" : @1,
@"~feature" : @"marketing",
@"~id" : @"XXXXXXXXXXXXXXXXXXXXXXX",
@"~marketing" : @true,
@"~referring_link" : @"https://[redacted].test-app.link/kgGB9gaoWN?utm_source=facebook&utm_campaign=staginginstalltest"
}];
In the cases where attribution does not work, the data associated with the custom track event in Segment.io is:
[[SEGAnalytics sharedAnalytics] track:@"Install Attributed", properties: @{
@"+clicked_branch_link" : @false,
@"+is_first_session" : @true,
@"anonymousId" : @"XXXXXX-XXXXXX-XXXXXX-XXXXX-XXXXXX-XXXX",
@"category" : @"Sign Up",
@"platform_type" : @"iOS"
}];
We've already spent some time working with our Branch technical liason (Brian Chang) on this, so he may be able to provide some relative context for you as well.  Also, per Brian's suggestion, we flipped the initialization order for all of our analytics SDKs to ensure that Branch is the first one initialized to ensure that it wasn't a case of another SDK consuming the attribution data prior to Branch.  This did not have any effect on the issue manifesting itself.
Any assistance/insight would be greatly appreciated as this is making it virtually impossible for our marketing team to intelligently ascertain the impact of our various marketing campaigns.

Thanks for writing in about this.
I am updating the SDK for better Segment integration right now and that may fix your issue.
I'll update you when that fix is ready.

@E-B-Smith Thank you for the prompt reply!
Just would like to note here that this issue is very urgent for our company, and can we please get a time estimate for fixing that Segment Integration issue?
Also, our main problem is, we are not seeing those UTM attributions even in the Branch debugger. Would it be possible that this issue also lies within Branch?
Thank you so much for your help and hope to hear from you soon.

I should have a fix for this on Wednesday.
For UTM attribution, unfortunately we only show it certain cases now, but are working on showing it in all cases.  I'll ask about the status of this.

I should have a fix for this on Wednesday.

Awesome. Thank you!

For UTM attribution, unfortunately we only show it certain cases now, but are working on showing it in all cases. I'll ask about the status of this.

Yes, we can see UTM on some device/some times, but not consistent at all. Overall 20 - 30% tests have UTMs. Would be great if this is more consistent. Appreciate any update on status/time estimate for this issue. Thank you!

@E-B-Smith

I should have a fix for this on Wednesday.

For UTM attribution, unfortunately we only show it certain cases now, but are working on showing it in all cases. I'll ask about the status of this.

May I follow up with the status of the two issues above, please? Appreciate your help.

I am testing the fixes to our SDK now, which is unfortunately taking longer than expected.
I'll follow up here when I have a fix.

I am testing the fixes to our SDK now, which is unfortunately, taking longer than expected.
I'll follow up here when I have a fix.

Got it.
How about the issue of inconsistent UTM attibution in the Segment Debugger? This might solve our main concern. Thank you!

@TinananaWang I can help with the UTM attribution question. Are you using dynamic Branch links (links with query parameters), or regular quick links?

@Sarkar We are using Dynamic- with query params. Appreciate the help!

@TinananaWang
I've made a new release of the iOS SDK that will prevent double app opens from being sent when using Segment.
To upgrade to the latest version using CocoaPods, do a pod update on your project.

@Sarkar @TinananaWang We are using both dynamic branch links and ad links and still getting inconsistent attribution. Would appreciate guidance on how to ensure that UTM parameters are passing through 100% of the time.

Hi @Sarkar Thanks for the information.
Here is one of our live ad links:
https://XXXX.app.link/j0eyXhs71O?%243p=a_facebook&utm_source=facebook&utm_medium=org&utm_campaign=VF-ORG-MobileAppInstalls&utm_content=LA-DMA-iOS-PLL1-W35-54&utm_term=MDV2
Based on the format you provided for dynamic ad links:
your-domain.app.link/$3p=a_<partner_key>&utm_source=source&utm_channel=channel.
Here is the dynamic ad link I created:
https://XXXX.app.link/$3p=a_facebook&utm_source=facebook&utm_medium=org&utm_campaign=VF-ORG-MobileAppInstalls&utm_content=LA-DMA-iOS-PLL1-W35-54&utm_term=MDV2
@Sarkar Can you please help us verify this link format is right?
Also, is there any additional steps that we need to do in addition to the ones that you described above, or we can just use the link directly?
Thank you and hope to hear from you soon.

@Sarkar in our link settings, i've enabled "use UTM tags for analytics" but "enable link scraping" is currently disabled. should we enable that as well?

@Sarkar this is Sophy, also from Mae and Tina's team. To summarize Tina's question, using the format you provided facebook would be our partner_key. This doesn't seem right given a key seems like it should be something custom to our company. We'd also want to use this dynamic link across a variety of ad platforms. Given all that, are we sure that your-domain.app.link/$3p=a_<partner_key>&utm_source=source&utm_channel=channel. is the link format we should be using?
Re: the second part of your response,

Essentially, you'll need to make sure you find the partner_key - this is present on all ad links created. If you are not using an app.link domain, you'll need to attach /a/<your_branch_key>, and then continue adding the UTM query parameters.

we are using an app.link domain so it seems like this doesn't apply to us.

@sophylee sorry for the delay in response. If you're using app.link, then my solution above is OK. In addition, partner key is unique to Branch. So, for your link, it'd be $3p=a_fb (facebook). That being said, I understand that you must be using Facebook App Install ads. Is that the case? If so, the requirements and UTM logic is somewhat different.
Would you be open to a quick chat over email, slack, or phone? I think this might be quicker -- I'm at<EMAIL_ADDRESS>feel free to send a msg there and we can coordinate something to a quicker solution.
@maetuck you don't need to check mark "enable link scraping".

@Sarkar Thank you for the respond, and yes, we are using Facebook App Install ads.
Since this issue is very urgent for our team, we would appreciate a phone/video call with you early next week, if possible. I will email you shortly with our available timeslots. Thank you!

@Sarkar @TinananaWang
Did this get resolved?

@E-B-Smith Thanks for checking in. Yes, we are working with @Sarkar regarding the dynamic link. We have just verified that the new link is working and it gives us the expected UTM in Branch (Thanks @Sarkar!).
We are now testing the SDK in staging and checking UTM in Segment. Here is out test link: https://cm2v.test-app.link?$3p=a_facebook&utm_campaign=some_campaign&utm_source=some_source&$ios_url=https://rink.hockeyapp.net/apps/67cf1e34766347cea6a1f0c0df01d3ed&$android_url=https://play.google.com/store/apps/details?id=com.hopskipdrive.hsd_android_v2.beta&$desktop_url=https://organizer.hopskipdev.com/sign-up.
Device 1 (iPhoneX) - 4 tests. First Two of them had UTM. Clicked_branch_link = true

While two of them do not have UTM. Clicked_branch_link = false

Device 2 (iPhone 6s) also only succeeded in the first 2 trials and failed the next two.
Reproducing Steps are the same as the ones in main ticket created by John. @E-B-Smith Please let us know whether this is supposed to be so (only supposed to succeed first two installs), or it is still under development. Meanwhile, we will test more devices. Thank you and hope to hear from you soon.

@E-B-Smith We can add you to Hockey if you need to be able to reproduce the issue. Please provide your email information, and please let us know if you need anything else from our side. Thank you!

I notice your link:
https://cm2v.test-app.link?$3p=a_facebook&utm_campaign=some_campaign&utm_source=some_source&$ios_url=https://rink.hockeyapp.net/apps/67cf1e34766347cea6a1f0c0df01d3ed&$android_url=https://play.google.com/store/apps/details?id=com.hopskipdrive.hsd_android_v2.beta&$desktop_url=https://organizer.hopskipdev.com/sign-up.

Has a second question mark in the URL in this part: details?id=com.hopskipdrive. The second part of the URL needs to be URL encoded or it will be misinterpreted by some URL parser somewhere.
This could be your problem.

@E-B-Smith
Please verify the format of this URL encoded link is correct:
https://cm2v.test-app.link?%243p%3Da_facebook%26utm_campaign%3Dsome_campaign%26utm_source%3Dsome_source%26%24ios_url%3Dhttps%3A%2F%2Frink.hockeyapp.net%2Fapps%2F67cf1e34766347cea6a1f0c0df01d3ed%26%24android_url%3Dhttps%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.hopskipdrive.hsd_android_v2.beta%26%24desktop_url%3Dhttps%3A%2F%2Forganizer.hopskipdev.com%2Fsign-up
I have just tested once - No UTM in Segment. If the format is not accurate, please guide us in how to make a working testing link. The production link is https://cm2v.app.link?$3p=a_facebook&utm_campaign=some_campaign&utm_source=some_source&$ios_url=https://itunes.apple.com/us/app/hopskipdrive/id950823144?mt=8&$android_url=https://play.google.com/store/apps/details?id=com.hopskipdrive.hsd_android_v2&$desktop_url=https://organizer.hopskipdrive.com/sign-up
Thank you

Also, @E-B-Smith On Aug 13, you mentioned:

I've made a new release of the iOS SDK that will prevent double app opens from being sent when using Segment.

However, our problem is: inconsistent UTM tracking in Segment. Would this release help solve our question? Thanks.

Here is your URL correctly query parameter escaped:
https://cm2v.test-app.link?%243p=a_facebook&utm_campaign=some_campaign&utm_source=some_source&%24ios_url=https%3A//rink.hockeyapp.net/apps/67cf1e34766347cea6a1f0c0df01d3ed&%24android_url=https%3A//play.google.com/store/apps/details%3Fid%3Dcom.hopskipdrive.hsd_android_v2.beta&%24desktop_url=https%3A//organizer.hopskipdev.com/sign-up

@E-B-Smith Thanks.
I tested on the above link three times. Succeed in the first trial but failed for the other two. Still inconsistent passing of UTMs to Segment.

@E-B-Smith Can we please schedule a call regarding this integration issue? It might help speed up the process. Thank you.

I've tested clicking on Branch links with utm parameters and they consistently open the app and return the expected data: The campaign, source, and $3p parameters were set.  I clicked on the links a number of times and they worked each time.
This doesn't seem to be a bug in the SDK but an issue with how the how the links are used or some Segment configuration issue.
• Where are you posting these links? On Facebook, email, or the web? Some of these channels will strip or modify parameters in a URL.
• What have you done to try and debug the issue?
• Have you set a break point in the app when the deep link is received?

Also, have you added these lines to your app delegate:
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    [[Branch getInstance] handleDeepLink:url];
    return YES;
}

- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
  restorationHandler:(void (^)(NSArray *))restorationHandler {
    [[Branch getInstance] continueUserActivity:userActivity];
    return YES;
}

Sometimes Segment doesn't forward those messages to Branch correctly.

@E-B-Smith

I've tested clicking on Branch links with utm parameters and they consistently open the app and return the expected data: The campaign, source, and $3p parameters were set. I clicked on the links a number of times and they worked each time.
This doesn't seem to be a bug in the SDK but an issue with how the how the links are used or some Segment configuration issue.

If you are talking about UTMs in Branch, then this is right. We do see consistent UTMs in Branch

Where are you posting these links? On Facebook, email, or the web? Some of these channels will strip or modify parameters in a URL.

The link that I sent you is the test link. Partner key is facebook.

What have you done to try and debug the issue?

I am not sure I fully understand this question. Our engineer @johnemiller has set up a new SDK and I tested using your link with the steps on the main ticket. UTMs in Branch but not in Segment.
No debugging from our engineering team.

Have you set a break point in the app when the deep link is received?

No.

Also, have you added these lines to your app delegate

Yes, those two methods are (and have been) implemented for quite a while now.
Does these answer all your questions? Please let us know what other information you need, or what can we do/modify in order to see UTM in Segment. Thank you!!

@E-B-Smith Also, I know we are trying to solve the Branch <> Segment Integration here. But I just learned from @Sarkar about this document, and we are considering setting this up.
May I learn about the relationship between your new SDK and this new document:

Is this new SDK a pre-requisite for this feature?
Am I right to say that we have to set up both this feature and the new SDK for 100% accurate UTM parameter passing?

Thank you!!

I've tested with the Segment-Branch SDK integration and I can see that Branch is getting the utm values from my test links in our dashboard, so things are hooked up and the data is there.
I don't know how Segment handles this data, Segment is the expert on Segment (I'm a Branch engineer!), so you will probably get better answers if you talk to them directly.
The Segment-Branch server-to-server integration may help.
So my advice is to talk to Segment and see if they can help.

Ok. Thank you.