Adding initial vm.fail op, fixing #1593.

This will get better with work on iree_status_t to attach stacks and
messages but for now will at least allow us to lower assertions into
runtime checks that cause failures. I decided to omit cond_fail for now
as these cases should be rather exceptional. We can see if we end up with
a lot of failure leaf branches in larger models and decide what to do
then.

All of that is right, but also not part of the VM dialect. The idea is that you'd add a shape assert op to the shape dialect, emit that in your linked code, and then add a shape->vm conversion that emits this fail op. That way all the things you mentioned are done on the shape op (doesn't have to be a terminator, etc) but then lowered to the vm (which must be a terminator to ensure that we properly track liveness/can allocate registers in a way that has defined behavior when the VM aborts). You want to be able to write patterns against shape ops where you still know what you are working with, not against vm ops that are purposefully agnostic. You also want to be able to generate messages that have details based on the particular assertion you are making ("dimension 2 is expected to be N" or whatever). It's like how in gtest the only real assertion routine is AssertionFailure and everything else is built on top of that as just ways to construct better messages.

Specifically, the shape dialect ops can remain in the IR right until the vm conversion and that's a better time to do the failure. Then the shape dialect is not IREE-specific; if the shape assertion was upstreamed into MLIR we'd end up with a shape->vm conversion anyway. Going to a generic iree.* op wouldn't really do much but add an extra indirection.

Thanks Ben, that's super helpful!


Do a proper update for the VAT placeholder and non-placeholder invoice behaviour.

Currently we default for placeholder tests (create placeholder first and then upgrade later) and thenmonkeypatch a setting to get that working in the testsuite.
What we should do is explicitly and separately test both paths.
You can grep for NOTE from (artcz)(2018-06-26) in the codebase for more details.

The NOTE no longer exist and afaik this is no longer set up in this way, I think this can be closed.


Upgrade the GKE end-to-end guide to latest Kubeflow version

The initial version of the GKE end-to-end guide (PR #151) uses Kubeflow v0.2.7. We should upgrade to v0.3 with kfctl and test the entire procedure end to end.

Progress update: I've chatted with the engineer who wrote the sample used in the GKE end-to-end guide (@DanSanche). He will upgrade the sample, then we can upgrade the docs. Time estimate for the sample update is January.

If 0.4 is ready by the time I'm able to get to this, should we skip 0.3 and just update the sample to 0.4? Or would it be helpful to have a 0.3 sample either way?

If 0.4 is ready by the time you start, then yes, let's skip 0.3. Ideally we should keep the sample up to date with the latest release. That said, I don't think the jump from 0.3.4 to 0.4 will be as big as the jump from 0.2 to 0.3.4, in terms of this particular tutorial. So, don't wait for 0.4 if it's not available when you're ready to start.

There is an RC for 0.4 available now.

Can we update the End to End Guide to refer to the getting started instructions rather than duplicating the instructions for setting up Kubeflow?

I'll look at doing that when the GKE getting-started guide is in better shape, so that we have a good landing for the link from the e2e guide. Ideally, people doing the end-to-end tutorial should be able to do the setup entirely in the UI, but that's not clear in the getting-started guide at the moment. We need to make sure people don't get confused by instructions that don't apply to them. Fixing up the getting-started guide is next on my list of items to tackle. See issue #384.

/assign
I'm working with @DanSanche on this issue.

Starting the doc upgrade now.

/close


Fixed test for daylight saving time

Fixed the broken admin-frontend test for daylight saving time.

Will be merged from r/9.x


Add .getActionCreatorsUsedInCases() method

Returns an array of the action creators that are used in the reducer chain. This list is useful, e.g., when you want to reset the state in another reducer when any of the actions affecting the state in the current reducer are dispatched.
const userAccountReducer = reducerWithInitialState(USER_ACCOUNT_INITIAL_STATE)
    .case(signIn, signInHandler)
    .case(signOut, signOutHandler);

const userAccountModifiers = userAccountReducer.getActionCreatorsUsedInCases();

// Reset user data when the user account changes.
const userDataReducer = reducerWithInitialState(USER_DATA_INITIAL_STATE)
    .cases(userAccountModifiers, state => USER_DATA_INITIAL_STATE);

Thank you very much for the contribution! I especially appreciate the added tests and documentation.
However, I'm not convinced this is something that's good to support because it creates couplings between different parts of a codebase that aren't obvious. Here are some potential problems if I had code like the above:

At a later time, a different developer (or the same developer months later with a hazy memory) creates a new action related to user accounts, say setUsername. This developer might add this new action as a case to userAccountReducer, and they would have no idea that doing so would also cause setting the username to reset the user data to the initial state, which is probably not what they want. The only way the second developer could know that this would happen is if any time they add or remove an action to any reducer, they search the full codebase to see if getActionCreatorsUsedInCases() is called on that reducer anywhere.

In the same scenario, even if the developer realizes that changing the userAccountReducer behavior will implicitly change the userDataReducer behavior as well, there's no convenient way to make the change they want (to have data reset on signIn or signOut, but not on setUsername) by extending the existing code. They will need to delete the call to getActionCreatorsUsedInCases() and explicitly specify the actions they want. Whenever possible, I would prefer convenience methods that extend gracefully as requirements change.

Suppose my program has a bug when the sign out button is pressed. To investigate, I do a search of my codebase for references to the signOut action and find that it's only referenced once, in the definition of userAccountReducer. It would be very reasonable for me to assume that the bug is therefore in that file, which could be incorrect if the action is implicitly referenced elsewhere bygetActionCreatorsUsedInCases().

I'm open to hearing your thoughts. Does that make sense?

Thanks for your thorough comments. I agree with all your points and will abandon this PR.
In my case, I was worried that the developer would forget to add the newly created action to the reducer that should reset its state when the new action is dispatched. At first sight, it seemed easiest to just extract all the actions used in a reducer with something like the proposed getActionCreatorsUsedInCases.
After reconsidering my options, I realized that I can move the userDataReducer out from Redux into a React component's internal state. Thus, that components just needs to listen to changes to the user account state to know when the internal state should be reset.


Fix the postman tests by starting the group first

First, revert the changes from the last commit.
Then, start the test group before running the stop tests.
I'm not sure if this was a mistake from the initial creation of the tests, but at least now the sequence of start and stops make sense. How did this ever work before???

@Karthik263 Here is the removal of the delay from the previous commit:
https://github.com/cerner/jwala/pull/217/files#diff-e637f1e327eceb5e7ed6106aae4dc94eL5612

Okie.. For some reasons ,the changes were not getting reflected in the consolidated "Files changed" view. Now ,I am able to spot it .!


added n-queens.cpp in c++ backtracking

Hi @abhpd  ! This branch has not yet been merged to the main branch and the pull request is still open.


Release 1.1.0

Some really cool stuff has been added in the last few months so let's get ready for the next release! Bumping minor version to 1.1.0.
This release is fully backwards compatible.
Thanks to everyone who created pr's and helped make this release as cool as it is! :heart:
I will keep this pr open some days to give you the opportunity to ask questions before the release happens.

Coverage remained the same at 99.699% when pulling ccc6dd6bf98ea41542576b1e4015660c3c3ae8f3 on release-1.1.0 into aa215bbbdb3d043c37d49b6077a51a60f986b820 on master.


GH-1942 Rio RDF and QueryResult Writer support for non-default character encoding

GitHub issue resolved: #1942
Briefly describe the changes proposed in this PR:

Added Writer constructors to all character format QueryResultWriter classes
Consistent handling of Writer (or Writer based) fields from OutputStream and Writer constructors in QueryResultWriter and RDFWriter classes
added roundtrip test for writers/parsers that support character encoding-based serializations

Contains contributions by @erikgb (from original PR #2106 ), with minor updates.

PR Author Checklist (see the contributor guidelines for more details):

[ ] my pull request is self-contained
[ ] I've added tests for the changes I made
[ ] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits down to one or a few meaningful commits
[ ] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change
[ ] every commit has been signed off

Still WIP, I am looking into the idea that Erik had earlier, to introduce a CharSink / ByteSink interface for RDFWriters and QueryResultWriters. Sofar looking promising and we may even be able to do this in a backward-compatible fashion.

@erikgb I'd appreciate your review.

@jeenbroekstra This was an excellent start of my day! 🍾 Thanks a lot for picking up where I didn't have the bandwidth to finish what I started on. I will of course review! 👍


[Bug]: User needs to click twice on delete icon to delete the last options value

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
It is observed that for CheckboxGroup and Radio widget user needs to click on delete icon twice to delete the last option value which remains in the options field

Steps To Reproduce
1.Launch appmsith app in release/Prod Environment
2.Drag and drop CheckboxGroup or Radio widget
3.Open property pane and click on options fields
4.Try to delete options one by one by clicking on the delete icon and observe the delete functionality of the last options to delete

Environment
Release
Version
Cloud

Thanks for bringing this to our attention. Fairly simple issue, add validation to not remove the first two options. Since this is a group type widget, users should at-least have 2 options.


Feature/ted 817

Codecov Report
Base: 99.03% // Head: 99.03% // No change to project coverage :thumbsup:

Coverage data is based on head (58fbeea) compared to base (32a2ffa).
Patch has no changes to coverable lines.

:exclamation: Current head 58fbeea differs from pull request most recent head b099f17. Consider uploading reports for the commit b099f17 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #295   +/-   ##
=======================================
  Coverage   99.03%   99.03%
=======================================
  Files         106      106
  Lines        5483     5483
=======================================
  Hits         5430     5430
  Misses         53       53

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


nth-prime: Rewrite tests to use hspec with fail-fast.

Rewrite tests to use hspec.
Update tests to match exercism/x-common#332.
Change return type to Maybe.

Related to #211.

:+1:


Fixed #34346 -- Order selected expressions by position.

This uses an approach similar to the adopted to address #34176 by to avoid ambiguous aliases in dd68af62b2b27ece50d434f6a351877212e15c3f.

buildbot, test on oracle.

buildbot, test this please.

buildbot, test on oracle.

@henribru Does it work for you?

@felixxm It does indeed! Thanks, @charettes
Out of curiosity: I noticed this fixes both the F("name") case that worked in 4.1 but regressed in 4.2a1 and the "name" case that is broken even in 4.1. Will the fix be backported to 4.1 as well?

Will the fix be backported to 4.1 as well?

This is not a regression in Django 4.1, per our backporting policy this means it doesn't qualify for a backport to 4.1.x. See Django’s release process for more details.

@felixxm It does indeed! Thanks, @charettes

Thanks for checking :+1:


Add I2C async traits

Here are the simplest possible traits for async I2C.
I've made a working PoC implementation with embassy, STM32's DMA, and a device driver adapted to use these traits with async/.await syntax.
I hope you don't mind that I also did run the rustfmt in this branch. For a better experience, please review commit-by-commit.

Thanks! I'm going to improve address types soon.


adding dragEnd event to agm

hello all,
i add the event follow this example https://github.com/SebastianM/angular-google-maps/pull/1159/files
but still the change did not show up. how can i rebuild the project that the changes will included?

@matishw did you figure it out? I'm about to add more events to markers as well, so I'm interested in this.

@matishw you can clone the repo from my profile and use npm/yarn to build it, although I suggest you to wait for this PR to be merged. in the meanwhile, you can use this workaround:
@ViewChild(AgmMap) map: any;
private dragEndSubscription: Subscription;

ngOnInit() {
  this.dragEndSubscription = (this.map._mapsWrapper as GoogleMapsAPIWrapper)
    .subscribeToMapEvent('dragend')
    .subscribe(() => // Your logic goes here);
}

ngOnDestroy() {
  this.dragEndSubscription.unsubscribe();
}


Remove checking if commit in multiple PRs

This check was not requested, I added as it was a side product of the
main check but it doesn't work as I expected and can block good patches

/approve

/lgtm
merging to test it!


FLW-862 Custom flow for Karura Crowdloan

add karura custom flow

Codecov Report

Merging #276 (5a70abf) into develop (7920849) will increase coverage by 2.02%.
The diff coverage is 41.21%.

@@             Coverage Diff             @@
##           develop     #276      +/-   ##
===========================================
+ Coverage    31.43%   33.46%   +2.02%
===========================================
  Files          462      499      +37
  Lines        19656    22679    +3023
===========================================
+ Hits          6179     7589    +1410
- Misses       13477    15090    +1613

Impacted Files
Coverage Δ

...ataProvider/Sources/JsonSingleProviderSource.swift
0.00% <0.00%> (ø)

...DataProvider/Sources/WebSocketProviderSource.swift
0.00% <0.00%> (ø)

.../Subscription/SingleValueSubscriptionHandler.swift
10.00% <0.00%> (-1.12%)
:arrow_down:

...s/Common/Extension/Model/WalletAssetId+Chain.swift
0.00% <0.00%> (ø)

...e/CDTransactionHistoryItem+CoreDataDecodable.swift
0.00% <0.00%> (ø)

.../Common/Extension/UIKit/GradientButton+Style.swift
0.00% <0.00%> (ø)

...sion/Wallet/TransactionHistoryItem+Extrinsic.swift
0.00% <0.00%> (ø)

.../Common/Migration/NetworkConnectionsMigrator.swift
90.90% <ø> (ø)

...rless/Common/Network/JSONRPC/WebSocketEngine.swift
0.00% <0.00%> (ø)

...n/Network/WalletNetworkFacade+MinimalBalance.swift
0.00% <0.00%> (ø)

... and 140 more

I will merge this soon


Font fallbacks: lists and per-char selection

This (roughly) implements font fallbacks.
But: on my system it resolves "Noto Sans" as the default font, however does not resolve international variants: my system includes "Noto Sans CJK HK", "Noto Sans CJK JP", "Noto Sans Sinhala", ...
@RazrFalcon may I ask, is there some way of resolving these variants from the base family name, "Noto Sans"? I cannot simply use starts_with since that would include "Noto Sans Black", "Noto Sans Mono" etc, thus I don't see a way from the information available in fontdb (attached). Or is it expected that the font-config list all variants of "Noto Sans"?
CSS font style matching step 4 must happen once per font (e.g. "Noto Sans CJK HK"), so e.g. "Noto Sans Black" must be excluded.
Also @RazrFalcon do you see some of this logic moving to fontdb? find_best_match is copied from there and something like FontSelector::select could be added as something like Database::query_multiple. The set_serif_family etc. methods are not useful here since "serif" may resolve to multiple fonts.

Yes, multi-language font queries are not supported. Mainly because I have no idea how exactly it should be done. CSS spec doesn't mentions this, afaik.
Also, you cannot detect a font language by Family Name. It's stored separately, if stored at all (can't remember where). fontconfig support this for sure.

The set_serif_family etc. methods are not useful here since "serif" may resolve to multiple fonts.

Is it? I think at least font-config doesn't support this. Not sure about Windows and macOS.
PS: currently, fontdb is a bare-minimum pure-rust font-kit alternative. It's good enough for resvg, but it general very primitive. I'm open for new additions, but I would prefer if they follow some spec or something. Or at least replicate the common behaviour of typical system libraries. So we could explain why fontdb works in a way it works.

My guess is that eventually we (the Rust ecosystem) will need some way of reading fontconfig files and similar for other platforms. /etc/fonts/conf.d contains a lot of aliases, both generic ones (like to serif) and specific ones (like Calibri == Carlito), plus more specific matching rules (and some rendering rules). Parsing this shouldn't be too hard after figuring out the rules. But for now I'll just hard-code font families.
I'm also not quite sure if font matching should use the font lang tag. It looks like CSS doesn't.

Closes #40: rustybuzz support is merged here.
KAS can now do font fallback and shaping without extra C library dependencies:

My guess is that eventually we (the Rust ecosystem) will need some way of reading fontconfig files and similar for other platforms.

I've tried to do this, but it's basically undocumented. It would take a lot of time to implement.
There is https://github.com/fschutt/rust-fontconfig that tries to do this, but it's extremely primitive.


Future Proof URI Resolution

Currently, IPFS and ENS are supported by the client-js implementation. This is hard-coded, and should be modularized in some fashion. This way when a new URI scheme comes around, it can be automatically used by already released clients. Here's the proposed implementation for doing this:

Support IPFS resolution by default
Upload a mapping file to an IPNS location that can be updated in the future. This file will contain mappings from regex URI detectors, to WASM URI resolver modules.

In the client, the logic will change to:

Check to see if URI is IPFS compatible
If not, fetch mapping file from known IPNS location.
Iterate through all entries, seeing what regex matches the provided URI.
Fetch the URI resolution WASM module for that URI type.
Execute the known function on the module to fetch the IPFS hash for the provided URI.

Going to investigate this.

How does the client know of the IPNS locations? The user could provide the client with a list of IPNS locations to look.
This assumes that all URI resolutions will resolve into an IPFS hash. Is that an assumption we want to make, or should we leave it up to the URI Resolution WASM module to instead return a Web3API (module+manifest+schema+ect)?

There would be one known IPNS location for the mapping file. This would be hard-coded into all clients.
I'm debating making this an IPNS location or an ENS domain... benefit of ENS domain would be that it can be updated via DAO proposal.

This has been implemented in prealpha-dev

This has been implemented in prealpha-dev


Be able to submit protocol transactions in our end-to-end tests

anomac which we use for submitting transactions in our e2e tests is not able to send protocol transactions and probably it doesn't make sense for it to have that functionality, since in practice those should always be broadcast by validators running anoman. It would be useful to have a way to submit protocol transactions in another way for testing.
We can use TendermintWebsocketClient (although it is being deprecated) to build a protocol transaction in memory and submit it to the Tendermint RPC endpoint. We should already have the e2e test node validators' protocol keys available to us in the e2e tests.
This issue is motivated by #1094 which needs this sort of functionality for testing.

I put some functionality in https://github.com/anoma/devtool for submitting protocol transactions manually to a chain. End-to-end tests for submitting a protocol transaction to Tendermint are working for ABCI in https://github.com/anoma/anoma/pull/1094. Submitting protocol transactions this way to modify the Ethereum bridge may not be applicable anymore in which case the generic functionality for submitting a protocol transaction within an e2e test can be factored out of that PR into a new PR if needed. There is a new Tendermint client coming in https://github.com/anoma/anoma/pull/1088 that should be used in such tests instead of TendermintWebsocketClient


Cannot read property 'addNode' of null

When I try to create a new group or project, appears a notification:
Project Viewer
Cannot read property 'addNode' of null

Thanks for opening an issue.
Will have a look at it.
Are you interested in contributing to this project? 💪

hey @inssitu, can you give more information on this please?

I have the same issue but with "pathNotInArray is not defined".
I did create a project and it happens when adding a path, it happend on my mac and windows PC with the pulled version from github and apm.

pathNotInArray this is weird. Something wen't wrong. This does not exists but is checked in an if.

Somehow this error did not occured anymore on my mashine after editing the project-viewer.json by hand.

so, pathNotInArray may have been a typo, will need to run some local tests to see if was only that. Thanks @Hammster for the feedback.

@inssitu can you please update the package and validate if this still occurs?
Thanks

Thanks @jccguimaraes , it's working now :)


chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.0.18

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.0.16 -> v1.0.18

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper
v1.0.18
Compare Source
Bug Fixes

deps: update module github.com/gruntwork-io/terratest to v0.40.22 (#105) (a98e73b)

v1.0.17
Compare Source
Bug Fixes

deps: update module github.com/gruntwork-io/terratest to v0.40.21 (#101) (552f832)

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

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: module-assets/ci/module-template-automation/tests/go.sum
Command failed: go get -d -t ./...
go: no module declaration in go.mod. To specify the module path:
	go mod edit -module=example.com/mod


runtime-customization

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: runtime-customization
Document link: _index.md
My Issue/Suggestion
On 100% chrome browser setting some part of text is getting chopped of , once reduced to 90 % it works fine .Attached SS for more information .

Hi @GautamJ700
Thanks for the report.
We are aware that this happens when the browser window is not the full width of the screen. When the browser is expanded, the table does fit, in the tests we have done so far. You can also scroll the table to the right, but the scrollbar is right at the bottom of the table and you then lose the left-hand side, so it isn't a great solution.
The issue is that many of the setting names are long and don't wrap. We could set wrapping to not be on word boundaries, but this will lead to tables which are more difficult to read. We have tried to address the problem with adjusting the CSS and changing the table content, but it seems that we can't get rid of the issue totally.
The other option is to avoid the use of tables for listing these settings - but the table format is generally the best way to present this information, when it works.
This is on our backlog to look at, but it looks like it needs the involvement of a CSS expert to see if it can be improved from that point of view.
Sorry I can't be more positive about a short-term solution.
Thanks for the report and for wanting to improve the Mendix documentation.
Yours
Mark van Ments


Unable to contribute?

I tried pushing my commits but git wouldn't allow me. Can you please add me as a contributor.

Thanks for your interest in contributing.
To contribute changes with Github and Git:

Create a fork of the type-theme repo
Commit changes to your local repo
Submit a pull request for me to review

More information is available at:
https://help.github.com/articles/fork-a-repo/
https://help.github.com/articles/creating-a-pull-request/

Thanks for help! Have sent you a pull request, please verify :)


return the result of scroll()

It returns a tween object
This makes it possible to chain other effects after the scroll with
scrollToElement(...).on('end', () => { /* do something */ })

Thanks for the pull request! Will merge your other one tonight when I have access to my computer.


Automation scripts written backwards using GUI

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.62.1
Python release (python3 --version):
Python 3
Component/platform:
Automation
Description of problem:
Using GUI automation builder the scripts are written backwards into the automation.yml.  ie action then trigger, vs trigger then action..
Expected:
Expect to see it in order you would read it, when this "trigger" happens then do this "action"
Problem-relevant automations.yaml entries and steps to reproduce:
- action:
  - data:
      message: Zoneminder went from Inactive to Active
    service: notify.mypushbullet
  alias: Zoneminder_Went_Active
  condition: []
  id: '1513558850582'
  trigger:
  - entity_id: sensor.zoneminder_status
    from: '0'
    platform: state
    to: '1'

+1 this annoys me too


Implemented conversion to a "mapping"

Shapely has a mapping function (https://shapely.readthedocs.io/en/latest/manual.html#shapely.geometry.mapping), which can convert a geometry into a dict (in geojson form):
In [59]: from shapely.geometry import mapping, LineString

In [60]: mapping(LineString([(1, 1), (3, 4)]))
Out[60]: {'type': 'LineString', 'coordinates': ((1.0, 1.0), (3.0, 4.0))}

In geopandas, this is for example used in the iterfeatures / __geo_interface__ and so also in to_json (a method that can convert to a geojson like string, which doesn't use fiona / GDAL like to_file, this is already faster as to_file, and can eg be used for in memory serialization to geojson).
From profiling iterfeatures in geopandas (for the countries dataset, so for polygons/multipolygons), the mapping of the geometries takes around 75% of the total time converting the dataframe to a dict.
So this mapping could be a target for (vectorized) optimization. Since it involves creating python dicts and lists, it might be better suited to do this in cython, and also given that, I am not fully sure it will necessarily give a big speedup (experiments will need to tell).
This is related to https://github.com/pygeos/pygeos/issues/65 in the sense that the same dict needs to be created for both.

Also the conversion the other way around will be useful to have a fast geojson reader.

A fast/direct way to generate a geojson representation would be great for using with many visualization libraries (Mapbox, Leaflet, etc).
No idea if that's useful, but gdal has a function: https://gdal.org/api/vector_c_api.html#_CPPv418OGR_G_ExportToJson12OGRGeometryH

What's the current recommended way of going into and out of a geojson structured dict?
Is it using shapely as an intermediary since shapely provides a lot of this functionality?

Yes I would use shapely as an intermediary indeed.

Indeed, for now using shapely is probably the easiest way.

Or is there any support for geojson conversion in GEOS? Doing that and deserializing into a dict might be a lot faster.

It seems that recently there was some work adding a GeoJSON reader/writer to GEOS: https://github.com/libgeos/geos/pull/419
However, that doesn't yet seem to include a C API, but so would be an interesting option to explore.

Closing; this is solved by #413


BTD6 doesn't boot up

All of the following criteria must be met

[X] All Requirements must be installed.
[X] Changed the title so that it doesn't just says "[Bug]: "
[X] I have searched the GitHub issues for my bug, even in the closed issues.

All of the following are optional to answer

[X] Tried reinstalling the Game.
[X] Tried reinstalling MelonLoader.
[X] Tried restarting PC.
[ ] Was able to see the Start Screen.

Describe the issue.
Latest.log
So idk what is happening but all i can say that it shows the cmd window writes a few lines and then crashes
Did you attach your log file?
Yes, I attached my log file to the text box above.

this happend after the btd6 uptdate btw
i had melonloader before but after the update the thing i described happend and somehow BTD6.exe disappeared after that i had to reinstall everything

[NewEntryPoint] Caught exception invoking Initialize! System.TypeInitializationException: The type initializer for 'HarmonyLib.Harmony' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'MonoMod.RuntimeDetour, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. Das System kann die angegebene Datei nicht finden.
File name: 'MonoMod.RuntimeDetour, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
at HarmonyLib.Internal.RuntimeFixes.StackTraceFixes.Install()
at HarmonyLib.Harmony..cctor()
--- End of inner exception stack trace ---
at HarmonyLib.Harmony..ctor(String id)
at MelonLoader.Core.Initialize() in D:\a\MelonLoader\MelonLoader\MelonLoader\Core.cs:line 80
at MelonLoader.NativeHost.MelonLoaderInvoker.Initialize() in D:\a\MelonLoader\MelonLoader\MelonLoader.NativeHost\MelonLoaderInvoker.cs:line 10
at MelonLoader.NativeHost.NativeEntryPoint.Initialize() in D:\a\MelonLoader\MelonLoader\MelonLoader.NativeHost\NativeEntryPoint.cs:line 43
those are the lines it writes before crashing

Duplicate issue for https://github.com/LavaGang/MelonLoader/issues/769

Now it doesn't load mods or rather modloader

now it loads the mods but the game crashes as soon as the booting is finished


Tree view should support a default message

It would be nice if the tree view API supports some kind of placeholder text. Already, today the container shows a message while the extension is loading/activating and I would like to piggy back on that. Something like this
export interface TreeView<T> extends Disposable {
  message?: string | MarkdownString
}

@jrieken I suppose this is not initial message and is shown whenever the tree is empty?

Yeah, it's the empty message and it should help to explain how to populate the tree

@jrieken Any scenarios for setting a markdown as message?

@jrieken Any scenarios for setting a markdown as message?

This is what one of the empty states looks like in the upcoming GitLens 9:

Although I will I will probably stick with what I am currently doing for now -- since they are currently click-able

@eamodio Supporting markdown in the message will allow you to provide links.. Will this help you in moving to messages?

@jrieken Tree view supports now showing a message. Added the api to proposed section.

@sandy081 yeah I think links could definitely work. Thanks!

@jrieken Would like to promote to public API if there are no concerns?

Yeah, go for it

Reverted to proposed due to the UX issues markdown string brings in

I kinda see the issues Markdown string can bring in to our UI. Extensions could abuse the tree view by making it a markdown view with links, lists, table etc., Main reason to allow markdown string is to support some simple links to populate the view. We cannot tradeoff this with the feature set the Markdown string brings into the Tree view.
I would rather do what @bpasero does in the notifications API for supporting links in the message. I can introduce the empty view button concept in future if needed.

Just to clarify this: we don't support tables.

+1 for only allowing links in the message, but nothing else, same as what notifications do today.

-1 I think that's too restrictive. We should just allow plain text then and have support for those monster buttons the explorer adds. Tho, again I see great value in supporting markdown and we do support them in many places already. We can tweak the feature set (maybe no bold, italics, and tables) but markdown with just links is not markdown and it will need a new type in the API to express that.

Having just text and support for the button is perfectly fine for me, I prefer that over text with links but I am not sure that helps GitLens for example.

question remains: how do I build a ref-search history with that?

The button has to be a control that you can click to expand to previous searches I guess, similar to this control:

Closing this as we decided to go for proposed only in this milestone.


fix: make NewSession behave same way like UpdateSession method

Before submitting this PR:
Noticed session creation behave is different when  UpdateSession method is called vs NewSession method is called.
keeping the behavior same  for both methods, producing similar  allowedRoles  in session.
Checklist

[x] No breaking changes
[x] Tests pass
[x] New features have new tests
[x] Documentation is updated

Breaking changes
Avoid breaking changes and regressions. If you feel it is unavoidable, make it explicit in your PR comment so we can review it and see how to handle it.
Tests

please make sure your changes pass the current tests (Use the make test or the make watch command).
if you are introducing a new feature, please write as much tests as possible.

Documentation
Please make sure the documentation is updated accordingly, in particular:

Workflows. Workflows are Mermaid sequence diagrams
Schema. The schema in a Mermaid ER diagram
Environment variables. Please adjust the .env.example file accordingly
OpenApi specifications. We are using inline JSDoc annotations

the patch is verified with this testing project
https://github.com/xmlking/nhost-multi-tenancy-experiment

LGTM we need to make the linter happy though, I'd suggest just disabling the funlen check like in the UpdateSession method so just add //nolint:funlen after NewSession (


DataGrid Cell Misaligned

Describe the bug
This problem is with dynamic datagrid.  The datagrid renders just fine with the initial set of data.   When the data is refreshed with additional rows the first column of the newly added row is renders as the last row. The rest of the columns shifted to the right.  When all rows are removed, the content of clr-dg-placeholder gets rendered but the rows were not removed.
How to reproduce
See https://stackblitz.com/edit/angular-clr-datagrid?file=src%2Fapp%2Fmy-datagrid.component.html
Steps to reproduce the behavior:

The datagrid is initially rendered with one row.  There is a table below the datagrid with the same data.
Add a new row by completing all 3 fields (name, type, categories) and click the Add App button.
The newly added row has the 3rd column rendered as the first column.  The table below has the correct behavior.
Click the Clear Grid button.
The datagrid rows were not removed as expected.  The table behaves as expected.

Expected behavior
Cell content rendered in the right column.
App

Angular: 8.2.14
Node: 8.9.4
Clarity: 2.4.1

Device:

Type: Macbook
Browse:r Chrome

This was resolved by https://github.com/vmware/clarity/pull/4540 and is available if you update to Clarity 2.4.2! I tested in your stackblitz by updating and it is working now. Thanks for the report!
I'm going to close as resolved.

That you @gnomeontherun.  Version 2.4.2 fixes the problem.


Feat (#485) : added feature to close the active tab with middle mouse click

-> feat #485
-> Added the functionality to close the active tab with middle mouse click
-> Middle click functionality is added inside the whole main section

@martinsefcik  so i should trigger it onMouseUp right ?

@martinsefcik will you please elaborate, we just need to add this functionality to everywhere in Main section or just on " X " button to close with OnMouseUp ??

@Sahilm416 I'm pretty sure what he mean is to add middle click on the tab itself, not just the X button but whole tab. It's pretty much the default behavior for any app that has tabs now

@Sahilm416 Yes, the whole tab, not X button. It would make no sense. I would just use left click on x button and not middle click in case it would be only on X button.


init::apply_changes appears to be very slow with many TX

Checks

[X] I have checked that this issue has not already been reported.
[X] I have confirmed this bug exists on the latest version of actualpy.

Reproducible example
from dataclasses import dataclass
import time
import logging
logging.basicConfig(level = logging.DEBUG)

from actual import Actual

from actual.queries import get_accounts, get_account
import asyncio

from typing import Dict, List
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

_LOGGER = logging.getLogger(__name__)
_LOGGER.setLevel(logging.DEBUG)

@dataclass
class Account:
    name: str
    balance: float

class ActualBudget:
    """Interfaces to Actual"""

    def __init__(self, hass, endpoint, password, file, cert, encrypt_password):
        self.hass = hass
        self.endpoint = endpoint
        self.password = password
        self.file = file
        self.cert = cert
        self.encrypt_password = encrypt_password

    async def get_accounts(self) -> List[Account]:
        """Get accounts."""
        return self.get_accounts_sync()

    def get_accounts_sync(self) -> List[Account]:
        with Actual(
            base_url=self.endpoint,
            password=self.password,
            cert=self.cert,
            encryption_password=self.encrypt_password,
            file=self.file,
            data_dir="./data"
        ) as actual:
            accounts = get_accounts(actual.session)
            return [Account(name=a.name, balance=a.balance) for a in accounts]

    async def get_account(self, account_name) -> Account:
        return self.get_account_sync(account_name)

    def get_account_sync(
        self,
        account_name,
    ) -> Account:
        with Actual(
            base_url=self.endpoint,
            password=self.password,
            cert=self.cert,
            encryption_password=self.encrypt_password,
            file=self.file,
            data_dir="./data"
        ) as actual:
            account = get_account(actual.session, account_name)
            if not account:
                raise Exception(f"Account {account_name} not found")
            return Account(name=account.name, balance=account.balance)

async def main():
    api = ActualBudget("", "https://website.budget.com",
        "password", "Sync Id", False, "")

    start_time = time.time()
    accounts = await api.get_accounts()

    _LOGGER.debug("time to add %s", (time.time() - start_time))
    _LOGGER.debug("ok")

if __name__ == '__main__':
    asyncio.run(main())

Log output
:asyncio:Using proactor: IocpProactor
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): website.budget.com:443
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "POST /account/login HTTP/11" 200 None
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "GET /account/validate HTTP/11" 200 41
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "GET /sync/list-user-files HTTP/11" 200 176
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "GET /sync/download-user-file HTTP/11"<PHONE_NUMBER>
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "GET /account/validate HTTP/11" 200 41
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "GET /data-file-index.txt HTTP/11" 200 1647
DEBUG:urllib3.connectionpool:https://website.budget.com:443 "POST /sync/sync HTTP/11"<PHONE_NUMBER>8
DEBUG:actual:number of messages 77919
DEBUG:actual:engine is Engine(sqlite:///data/db.sqlite)
DEBUG:actual:time to apply_changes 13.010823249816895
DEBUG:__main__:time to add 15.193360328674316
DEBUG:__main__:ok

Issue description
Doing calls such as get_accounts or get_account in succession can be be very slow as it appears  apply_changes  is doing many  sqlite execs and more messages/transactions just makes the situation worse.
In an IO blocking application it gets really bad if multiple get_account calls are made.
Expected behavior
For this call to not take a hard 15 seconds each time I run my file
Installed versions

actualpy version: - Actual Server version:
https://github.com/bvanelli/actualpy/tree/main

Hello @raiyni ,
Thanks for the feedback, I noticed already some time ago that retrieving some budgets takes a while, and did https://github.com/bvanelli/actualpy/pull/84 to overcome some of the issues.
I did some rework on the apply_changes to reduce the number of queries and group the statements together. Could you test https://github.com/bvanelli/actualpy/pull/88 and see if it's faster for you? I haven't written tests for it yet so I cannot guarantee full functionality, but for me at least it improved the performance by 3x in a test budget with 10k entries (i just imported 10k random transactions).

Thank you
I see between 3x and 4x speedup with that pr directly in apply_changes


feat: Resolve a npm package passed as --config

feat: Resolve a npm package passed as --config
This PR enables a npm package to be passed to the command line --config parameter and will be resolved by lint-staged.
Example:
Say you have a npm package my-tools-config/lint-staged, your application can now depend on the configuration package and lint-staged allowing:
lint-staged --config my-tools-config/lint-staged

I’m wondering what are you trying to solve? 🚫💩 Lint-staged is meant to run on pre-commit so I’m not sure why it needs to be exposed to Node.

I understand your concern. We work on multiple applications using the same toolchain, it's a similar(-ish) setup to how Create React App encapsulates tools. Due to the reuse of our toolchain we keep our configuration files in a private npm module, tool-config.
Our pre-commit hook looks like:
#!/usr/bin/env node

const lintStaged = require('lint-staged');
const config = require('tool-config/lint-staged');

lintStaged(config);

This allows our configuration to be anywhere on the node resolution path, removing an absolute file path (that we had previously) and removes any breakage that would happen in a yarn monorepo (due to module hoisting).

I’m just wondering is similar is possible with just using node’s resolve inside that file? I’m not against this change but before we go this route is like to check if it’s absolutely necessary. Also I’d like to avoid breaking changes if possible. Thoughts?

I guess we could use require.resolve on the --config param within lint-staged. It would allow us to change our pre-commit hook to:
#!/usr/bin/sh
$(npm bin)/lint-staged --config 'tools-config/lint-staged'

With regards to the break change: I was perhaps being overly cautious. I reordered the params on the internal interface which was never explicitly exposed (via package.json's main param). It would be a breaking change to people deep requiring into the module, e.g.:
const lintStaged = require('lint-staged/src/index');

But if they're doing that then this PR would be what they'd want to update to anyway.

So I’m still not sure if this PR is needed :) can you confirm you can aichive this without it? Or it is still needed for your case?

Hi @okonet, I've updated the PR. I'm now using require.resolve on the --config parameter which enables a npm package to be used as config (as well as a file path as before).
This is no longer a breaking change and would only require a minor version bump.

Can you please add a test for it?

Test added

Thanks for working on this!

Thanks for taking the time to review this, we ended up with a much cleaner solution than what I initially proposed. Can you speak to when this change will be published?

We use semantic-release so this has been released already via v7.2.0


gitops run fails to find flux: error getting Flux labels

Describe the bug
gitops run fails to find flux installed on an existing cluster with Openshift OLM. Missing details in the error message on missing labels.
Environment

gitops version
Current Version: 0.14.1
GitCommit:<PHONE_NUMBER>53bfcc603e1c0ae1a75d79e4132b58
BuildTime: 2023-01-04T16:08:27Z
Branch: releases/v0.14.1

Flux Version: installed by OLM https://artifacthub.io/packages/olm/community-operators/flux version 0.31.4

Kubernetes version    v1.23.5+012e945

OpenShift version    4.10.30

To Reproduce
Steps to reproduce the behavior:

Install flux using OLM
gitops beta run --no-session . --allow-k8s-context=...

Expected behavior
If an flux existing installation exists including the followings, the gitops beta run should display diagnostics of missing lavels and/or prompt for confirmation before overriding

namespace
deploment
service-account

Actual Behavior
Error message is insufficient, the existing flux installation gets overriden without confirmation, CTRL-C to stop the installation has not effect.
$ gitops beta run --no-session . --allow-k8s-context=...

[...]
► Getting Flux version ...
⚠ Flux is not found: error getting Flux labels
Running Flux command: /home/guillaume/.cache/.gitops/flux/0.37.0/flux install
✚ generating manifests
✔ manifests build completed
► installing components in flux-system namespace
CustomResourceDefinition/alerts.notification.toolkit.fluxcd.io unchanged
CustomResourceDefinition/buckets.source.toolkit.fluxcd.io unchanged
CustomResourceDefinition/gitrepositories.source.toolkit.fluxcd.io unchanged
CustomResourceDefinition/helmcharts.source.toolkit.fluxcd.io unchanged
CustomResourceDefinition/helmreleases.helm.toolkit.fluxcd.io unchanged
CustomResourceDefinition/helmrepositories.source.toolkit.fluxcd.io unchanged
CustomResourceDefinition/kustomizations.kustomize.toolkit.fluxcd.io unchanged
CustomResourceDefinition/ocirepositories.source.toolkit.fluxcd.io unchanged
CustomResourceDefinition/providers.notification.toolkit.fluxcd.io unchanged
CustomResourceDefinition/receivers.notification.toolkit.fluxcd.io unchanged
Namespace/flux-system configured
ServiceAccount/flux-system/helm-controller configured
ServiceAccount/flux-system/kustomize-controller configured
ServiceAccount/flux-system/notification-controller configured
ServiceAccount/flux-system/source-controller configured
ClusterRole/crd-controller-flux-system unchanged
ClusterRoleBinding/cluster-reconciler-flux-system unchanged
ClusterRoleBinding/crd-controller-flux-system unchanged
Service/flux-system/notification-controller unchanged
Service/flux-system/source-controller unchanged
Service/flux-system/webhook-receiver unchanged
Deployment/flux-system/helm-controller configured
Deployment/flux-system/kustomize-controller configured
Deployment/flux-system/notification-controller configured
Deployment/flux-system/source-controller configured
NetworkPolicy/flux-system/allow-egress created
NetworkPolicy/flux-system/allow-scraping created
NetworkPolicy/flux-system/allow-webhooks created
◎ verifying installation
^Z
[1]+  Stopped

Looking the command usage, no clear flag to prevent flux installation
gitops beta run ./chart/podinfo --timeout 3m --port-forward namespace=flux-system,resource=svc/run-dev-helm-podinfo,port=9898:9898

Flags:
      --allow-k8s-context strings          The name of the KubeConfig context to explicitly allow.
      --components strings                 The Flux components to install. (default [source-controller,kustomize-controller,helm-controller,notification-controller])
      --components-extra strings           Additional Flux components to install, allowed values are image-reflector-controller,image-automation-controller.
      --context string                     The name of the kubeconfig context to use
      --dashboard-hashed-password string   GitOps Dashboard password in BCrypt hash format
      --dashboard-port string              GitOps Dashboard port (default "9001")
      --flux-version string                The version of Flux to install. (default "0.37.0")
  -h, --help                               help for run
      --no-bootstrap                       Disable bootstrapping at shutdown.
      --no-session                         Disable session management. If not specified, the session will be enabled by default.
      --port-forward string                Forward the port from a cluster's resource to your local machine i.e. 'port=8080:8080,resource=svc/app'.
      --root-dir string                    Specify the root directory to watch for changes. If not specified, the root of Git repository will be used.
      --session-name string                Specify the name of the session. If not specified, the name of the current branch and the last commit id will be used. (default "run-feature-gcp-depls-poc4-6ebd38b7-dirty")
      --session-namespace string           Specify the namespace of the session. (default "default")
      --skip-dashboard-install             Skip installation of the Dashboard. This also disables the prompt asking whether the Dashboard should be installed.
      --skip-resource-cleanup              Skip resource cleanup. If not specified, the GitOps Run resources will be deleted by default.
      --timeout duration                   The timeout for operations during GitOps Run. (default 5m0s)

The --no-bootstrap                       Disable bootstrapping at shutdown. does not seem relevant. Does it mean disable bootstraping at start up ?
** Workaround **
kubectl delete ns flux-system

The gitops remove command does not seem to support deleting the flux installation
gitops remove -h
Remove various components of Weave GitOps

Usage:
  gitops remove [command]

Available Commands:
  run         Remove GitOps Run sessions

Flags:
  -h, --help   help for remove

Additional Context (screenshots, logs, etc)

Thank you for filing this bug, @gberche-orange
We'll take a look at it shortly.

@gberche-orange thank you for reporting it and for the detailed description of the issue! ✨
We will look into this issue in more detail next week and will let you know if we have additional questions.

This needs to be fixed upstream and that work is tracked in https://github.com/weaveworks/flux2-openshift/issues/12.

@gberche-orange would you mind checking for a Namespace that satisfies both of these requirements in your environment, please?

I observe that openshift rollsback any namespace labels set manually, so the workaround (of creating a namespace with the expected labels, or labelling an existing namespace with the expected labels) does not work for me.

We have to check for all four controllers to say that flux is installed properly.


Editor window suddenly minimizes on Gnome (Linux)

Godot version
4.0
System information
Fedora 37 (Workstation), Wayland, Mesa Intel® UHD Graphics (ICL GT1), Vulkan
Issue description
The editor window automatically minimizes without my input making it unusable.
Gravação de tela de 2023-03-04 00-31-09.webm
Steps to reproduce
I honestly don't know why it happens, it seems completely random but it looks like it generally happens after I go to another workspace.
Minimal reproduction project
Can happen with any project, even on the project list.

This also happens on Pop OS! 22.04 with Pop shell as window manager on Gnome.

Happened to me a couple of times as well, but quite randomly on PopOS! I'm not sure under what circumstances it's triggered though. I had to restart the engine.

Are you using Compiz? I've had the same thing happen on Ubuntu 20.04 MATE but it's rare
Wonder if setting 'interface/editor/single_window_mode' helps any

I'm not using Compiz on my side. Just a plain PopOS! and its version of Gnome.
I recently enabled single window mode, didn't have the issue yet, but I can't conclude if it's related to that or not, since it didn't happen all the time when using multi-window mode.

Are you using Compiz? I've had the same thing happen on Ubuntu 20.04 MATE but it's rare
Wonder if setting 'interface/editor/single_window_mode' helps any

Nope, just standard Fedora.

@hakro the bug is happening for me with single window mode too.

For me it's only happening after I minimize.
Then, when I try to restore from taskbar, it looks like it is unminimizing, but minimizes right after.

Can someone check if it also happens on Xorg?

Are you using Compiz? I've had the same thing happen on Ubuntu 20.04 MATE but it's rare
Wonder if setting 'interface/editor/single_window_mode' helps any

Also happens in Single Window Mode.

Can someone check if it also happens on Xorg?

I'm using X11 with Ubuntu MATE 22 and it happens. It's pretty consistent for me. If I minimize Godot it gets stuck minimized forever until force-closed.

Fedora 37/GNOME 43.3/X11/Nvidia
To me it looks like there is some issue with the window (focus) state (not specifically with how the minimized state is tracked). I can get the editor back to normal if I'm able to bring the keyboard focus to the editor window. After e.g. hitting F5 to run the game everything is back to normal. If I have the code editor open when this happens typing some characters did also work. This also happens to all open Godot 4.0 editors at the same time. This did also happen in compatibility mode using the single window switch.
Side-note: Right before this problem happens some of the keyboard shortcuts are not working anymore e.g. CTRL+S is not saving the scene and code (just typing the letter s). I think there was a regression issue which was fixed for the 4.0 release (or a later RC). Could be related, maybe not. Editor auto minimize, shortcuts sometimes not working, sluggish window dragging performance (when editor is not running in compatibility mode) - I have them all - I guess that's a bingo;)

Probably a duplicate of https://github.com/godotengine/godot/issues/72728

Duplicate of https://github.com/godotengine/godot/issues/72728.

I don't believe this is a duplicate; it still happens in Godot v4.1.1.rc1 - Fedora Linux 38 (Workstation Edition) - Vulkan (Forward+) - integrated Intel(R) Graphics (ADL GT2) () - 12th Gen Intel(R) Core(TM) i7-1280P (20 Threads).
It also does make godot literally unusable, because some windows will sometimes refuse to re-focus (they minimize as soon as they are focused). In that case, the only way out is to force kill the godot process and hope you didn't lose much work since the last save.
All godot windows are prone to this: create a new node, delete a node confirmation, etc.

@hunterloftis See https://github.com/godotengine/godot/issues/77333.


add extension points for the theme users to add their own CSS and JS.

I would like to have extension points for Theme users to add their own CSS and JS.
There is a custom_js block in base.html, but this is already used by Theme itself as an extension to page.html, etc., so it doesn't seem to be intended as an extension for Theme users.
It would be nice if you could suggest a better naming for the Tera blocks.
(I am always so grateful for your wonderful work. I especially love the Mermaid and Chart Shortcodes. Thank you.)

thanks


Deprecated PyTorch Lightning Hooks was removed

Thanks for great library.
on_batch_start and on_batch_end was removed on lightning v1.8.
Please use on_train_batch_start and on_train_batch_end.
https://github.com/salesforce/warp-drive/blob/3af765fdbccd8917f17c8e68b4e8526973bd5654/warp_drive/training/pytorch_lightning.py#L1011

Updated accordingly, thank you


[step_by_step e2e] Incorrect osMapping selection for rhel

What does this PR do?
Fix an issue where rhel-* system were assigned as centos in the osMapping map of the step_by_step e2e test.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Prerelease mode + commit: true: pre.json not committed

Affected Packages
apply-release-plan
Problem
When prerelease mode is enabled, the changesets get collected in pre.json. However, if commit is set to true in config.json, the changes in pre.json are not getting committed.
Proposed solution
I think that pre.json should be committed at the same time as its changeset array gets updated (in the version command).
Maybe a
touchedFiles.push(path.join(cwd, ".changeset", "pre.json"));
missing from here?
https://github.com/atlassian/changesets/blob/de2b4a5a7b244a37d94625bcb70ecde9dde5b612/packages/apply-release-plan/src/index.ts#L98-L107

Are you open to a PR to fix this?

Are you open to review a PR for this?

Absolutely! Sorry for the late reply - I see that you have already created a PR for this. I'm at the moment going through all of the issues but once I'm done with them I'm going to switch to cleaning up PRs. In other words - I should get to your PR in some days.


macOS: Spell checking while typing

This is probably more of a question: Is it possible running Yak Yak on macOS to activate spelling correction of the OS?
THX

yes,
"chromium-args": "--enable-spell-checking"

Where can i put this line ? Thanks

needs to go in package.json

I've added the property to my package.json and tried running it npm run electron app and also tried building it npm run deploy:darwin and I do not get any spell-checking.   Runs and builds successfully and logged in fine.

oops had a brain freeze and forgot yakyak is electron-based and not nwjs-based
evidently that command line switch is not supported in electron (https://xwartz.gitbooks.io/electron-gitbook/content/en/api/chrome-command-line-switches.html)
looks like electron has a low level way of implementing spellcheck support:

also for reference https://github.com/electron/electron/issues/3189

Thanks for those references. This is a super important function to have implemented. Seems like we need to put some pressure upstream to show that at least people really are looking for this. Same thing plagues Rambox.

duplicate of #61 , please continue discussion there :)


Slow framebuffer copy from GPU memory to SPI bus in fbcp hurts Adafruit's PiGRRL Retropie project

Hi all,
Poking around a bit with a Retropie DIY handheld project that was made hugely popular by Adafruit in their PiGRRL series of Raspberry Pi projects. It looks like the display controller, described at https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays/pitft-setup, utilizes this fbcp code. Unfortunately this causes some performance and stuttering issues, that are described for example in this Waveshare 3.5" Raspberry Pi Screen Review video from RetroManCave.
Doing some napkin math, theoretical SPI transfer rate is mentioned as 125MHz for the Pi, but the BCM2835 document states that "the practical SPI clock will be lower as the I/O pads can not transmit or receive signals at such hig speed". The Raspberry Pi SPI document also lists the same, and the next divisor after that is 62.5MHz. Booting the Pi on a PiTFT 2.8" display in that data rate mode seems to work, so that would give a theoretical ceiling of 62.5MHz / 320 / 240 / 16 = 50.86 frames per second. The current implementation does not seem to get even close to that.
In a later video, the author migrated to using HDMI, which is described in this Elecrow 5 Inch LCD Review RetroPie & Raspberry Pi video. It's sweet that using a HDMI-based device will work great, but such a shame that Adafruit articles have made these SPI-based displays so popular, so one wonders if there would be something that could be done to improve the performance of SPI-based displays as well.
Peeking into the framebuffer copy code in this repository, it looks like this
while (1) {
    ret = vc_dispmanx_snapshot(display, screen_resource, 0);
    vc_dispmanx_resource_read_data(screen_resource, &rect1, fbp, vinfo.xres * vinfo.bits_per_pixel / 8);
    usleep(25 * 1000);
}

is the culprit. Someone already experimented with just removing the sleep in issue #12, but that does not seem to be the root problem here. I presume the sleep was added to throttle the updates to 50Hz to match to a refresh rate that a display used during development was using, or just to give the CPU a bit of a breather, or due to a lack of frame ready signaling in this loop to be able to throttle at least in some manner.
I have some experience with writing driver code for an SPI-based display on Arduino, but no much previous exposure to Raspberry Pi, so this research has been a bit of a poking around various resources type of activity. Thinking about if this kind of "push display data from VideoCore to a SPI-based display" output method could be optimized, I was searching through different resources, so writing down notes here to centralize a bit.
\1. The above loop has an issue that it does not know when a new rendered frame has actually been finished (ready for presentation) by the GPU. Given that the GPU will likely produce frames with varying rates in a push manner, depending on the workload, if there was a way to wait for the GPU to finish a frame, or get a signal when it does, that would allow removing the sleep. Something like:
while (1) {
    ret = vc_dispmanx_snapshot(display, screen_resource, 0);
    vc_dispmanx_resource_read_data(screen_resource, &rect1, fbp, vinfo.xres * vinfo.bits_per_pixel / 8);
    sleep_to_wait_for_videcore_gpu_to_finish_rendering_its_next_frame();
}

might be an improvement. I was not able to find resources to know whether such a functionality would be exposed by the driver though. There does seem to exist a function vc_dispmanx_vsync_callback, but I understand that would be tied to a connected HDMI display, and would not play a role here if there is no HDMI display attached. Source code found here:

GPU drivers
dispmanx API

\2. Reading through ARM Broadcom BCM2835 Peripherals manual, there's a mention of an option of the GPU memory space being mapped to the CPU address space, Page 6:
The VideoCore section of the RAM is mapped in only if the system is configured to
support a memory mapped display (this is the common case).

If that is the case for Raspberry Pi that it'd be possible to directly address the framebuffer bytes, then the above code might be optimizable by removing the need to "snapshot" a frame after it has been rendered, and directly access the portion of the GPU memory that it has drawn the image to. This would require interaction with double-buffering of the GPU, so that there would exist two framebuffer areas in the GPU memory space, one that the GPU would be rendering to, and another that would be the previous finished frame, that could be used for a read operation by fbcp to copy the data out to the SPI bus. If this was the case, then the code might theoretically look something like:
const char *gpu_framebuffer_memory_1 = 0xF2123456; // Whatever the actual address
const char *gpu_framebuffer_memory_2 = 0xF2789ABC;
while (1) {
    vc_dispmanx_resource_read_data(gpu_framebuffer_memory_1, &rect1, fbp, vinfo.xres * vinfo.bits_per_pixel / 8);
    const char *tmp = gpu_framebuffer_memory_1;
    gpu_framebuffer_memory_1 = gpu_framebuffer_memory_2;
    gpu_framebuffer_memory_2 = tmp;
    sleep_to_wait_for_videcore_gpu_to_finish_rendering_its_next_frame();
}

This would avoid a need to pull down a copy of the frame to be submit to the SPI bus. In this kind of mode though, there would need to be a way to "reserve" or "lock" the access to that framebuffer memory so that the GPU will not start rendering to it while it's still being copied out.
\3. I'm unsure what the mmap portion of the code for the framebuffer ends up behaving like. The fbtft code seems to be what contains the actual code to write out to the SPI bus. The PiTFT from Adafruit is an ILI9341 controlled display, and tracing the code makes it look like it goes down through this code to write the framebuffer out to the SPI. The function spi_sync does seem to be a general implementation that takes into account a lot of different cases to be robust. This makes one wonder whether directly accessing the SPI GPIO pins in the above update loop and bypassing the whole kernel would be possible, and how that would perform in comparison.
\4. However if done manually, dedicating the Pi CPU to bit bang through the SPI GPIO pins would be wasteful (and probably not ideal, even if it was faster). The same BCM2835 PDF document lists there being a dedicated SPI peripheral that can take in full bytes to write, and it manages writing the bits out to the SPI bus. Reading even further, feeding individual bytes to this SPI peripheral using the CPU would also probably be wasteful, since it looks like the DMA unit on the Pi is compatible with the SPI peripheral, and capable of driving a transfer of bytes out the SPI bus via DMA writes. Reading through @notro's excellent work at https://github.com/notro/fbtft/wiki, this may probably be what's already happening with the currently framebuffer mmap path?
\5. The problem with this existing general SPI-based write approach is that it models a generic SPI bus that is not aware of the display's vsync and hsync signals. This results in observable tearing, and to optimize, one would need to do the DMA writes in a way that is aware of the vsync refresh window of the display. The pin diagram of the ILI9340 display shows that there do exist dedicated GPIO pins that signal vsync and hsync intervals, so in theory it would be possible to do the DMA writes at times that would align to vsync, but this would definitely require bypassing the kernel's DMA-SPI stack altogether. This is assuming that the DMA chip of the Pi is reasonably fast, ideally as fast or faster than the CPU of the Pi itself. This is also assuming that the DMA chip would have the capability to address the GPU framebuffer memory directly (the CPU being able to address the GPU memory directly might not imply that the DMA chip can - is that the case?)
My understanding is that it would be possible to write a kernel side interrupt to be raised at each edge of the hsync/vsync GPIO pin changes state, to detect hsync increments and vsync enter/exit? In that case, it would be possible to follow the display update beam to time the DMA updates to follow vsync.
\6. Putting all bits together, I wonder if it would be possible to write a kernel module that did a tight DMA-based fast path from VideoCore GPU memory out to SPI by directly accessing the DMA chip itself, and if so, if such an approach could be compatible with other kernel modules? E.g. do there exist other kernel modules that assume an exclusive ownership to access the DMA chip that one could not just talk to it directly at low level from one's own kernel module code? Thinking something like the following, in very high level pseudo:
volatile int gpu_frame_state = 0; // If 1, there is a new rendered GPU frame available that needs pushing out to SPI. If 2, the transfer is in progress.
volatile const char *ptr_to_ready_frame = 0; // ptr to the GPU memory buffer that is pending a write out to SPI bus

volatile int currentScanline = 0; // Current horizontal scanline that the display beam is at

void hsyncCallback() { // Interrupt called on each hsync increment, could also be used to "chase the beam" for more optimized update
	++currentScanline;
}

void vsyncCallback() { // Interrupt called on each vsync blank
	currentScanline = 0;
	if (gpu_frame_state == 1) {
		gpu_frame_state = 2;
		start_dma_write(ptr_to_ready_frame, sizeOfDisplayBytes);
	}
}

void *dmaWritePtr;
void *dmaWriteEndPtr;

void continue_dma() { // Writes out the next 64K block of DMA data
	if (dmaWritePtr < dmaWriteEndPtr) { // Still data to write?
		dma_write(dmaWritePtr, 65536, on_finished=&continue_dma);
		dmaWritePtr += 65536;
	} else { // Finished writing out the whole framebuffer
		gpu_frame_state = 0; // No pending frame to write
		videocore_release_gpu_framebuffer(ptr_to_ready_frame); // Tell the GPU it now has free access to start rendering the next frame to this memory
	}
}

void start_dma_write(const char *ptr, size_t length) {
	dmaWritePtr = ptr;
	dmaWriteEndPtr = ptr+length;
	continue_dma();
}

void on_gpu_has_signaled_frame_ready(const char *ptr) { // Interrupt/callback from GPU whenever it has produced a new frame for display
	// The assumption is that the GPU won't access 'ptr' until it is released back to it
	gpu_frame_state = 1;
	ptr_to_ready_frame = ptr;
}

The above code is quite utopistic in the sense of assuming a direct access to all the chips, and I wonder if such capabilities would exist(?)
Eventually I did migrate to using an external HDMI display to not have to deal with GPU->SPI trouble, though I was left wondering whether the above functionality would be possible to implement to the Pi. Especially since Adafruit has had the (unfortunate?) effect of making SPI-based displays so popular, and that people doing DIY Retropie projects might not realize that the interaction with the SPI bus is currently such a large bottleneck until they build the project.
Does anyone know if the above type of functionality would even already exist outside of fbcp? CC @tasanakorn, @notro, @popcornmix, @pelwell, @ladyada, @PaintYourDragon. Or I wonder if this would be a lost cause given the hardware limits of the SPI bus?

two notes!

most other non-adafruit 3.5" tft boards use an SPI-to-parallel converter that maxes out at a very low frequency and has way-worse performance than the PiTFT 3.5" which does direct SPI (but...its cheaper so there ya go :)
our fork does windowing which greatly greatly improves performance by not writing the whole display each time, just the changed bits. please try it! https://github.com/adafruit/rpi-fbcp

Thanks for the reply, much appreciated!
Tweaking around with performance of the code to not update the whole display, I am convinced that this kind of "display stream compression" type of approach is definitely the way to go. Annoyingly that seems to be at odds against using a DMA transfer, since if the display is split up to multiple separate parts to update, the synchronization with the Data/Control GPIO pin seems to require delimiting the communication into distinct DMA transfers instead of being able to do just one. An approach taken by https://github.com/adafruit/rpi-fbcp might be a middle ground here, e.g. optimize away the head and the tail of the display buffer memory area to update in order to retain a single contiguous DMA transferrable unit.
I'll play around with this idea a bit more to see if there's something that can be squeezed.

i vaguely recall that DMA transfers on the pi cannot be longer than a certain length maybe 16 bytes - maybe more info here https://github.com/msperl/spi-bcm2835/issues/13
let us know if you have any tweaks or updates!

our fork does windowing which greatly greatly improves performance by not writing the whole display each time, just the changed bits. please try it! https://github.com/adafruit/rpi-fbcp

Yeah, that's the way to go. Memory access is fast and SPI transfer is very slow.
fbtft transfers every memory page (4k) that has been touched, so best to only write changes to the framebuffer.
There's some notes here about how fbtft works: https://github.com/notro/fbtft/wiki/FPS

Annoyingly that seems to be at odds against using a DMA transfer, since if the display is split up to multiple separate parts to update, the synchronization with the Data/Control GPIO pin seems to require delimiting the communication into distinct DMA transfers instead of being able to do just one.

99.9% of the SPI transfer time is updating the framebuffer memory on the display controller. D/C is not toggled during pixel data transfer.
fbtft divides this transfer into chunks of 'txbuflen' size before handing it over to the SPI subsystem.
Then if you use spi bus 0 (zero, not 1 or 2), the spi-bcm2835 driver checks the length and decides if it should use DMA (>~100 bytes) to do the transfer. DMA engine overhead is part of the transfer time, for more see: https://github.com/notro/fbtft/wiki#raspberry-pi-spi-dma

MIPI DSI displays is the way forward to get away from the SPI display limitations. But there's no out-of-the-box solutions for the Pi yet, except for the official touchscreen. Which by the way just got an opensource driver: drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
DSI panels that have the setup embedded on the controller itself, doesn't need it's own driver, it can get away with just an entry in drivers/gpu/drm/panel/panel-simple.c
I could only find one other DSI display supported by Linux that might work: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=197889&p=1236102&sid=a1983393d3f496608aef4540ce6e846c#p1235981

This weekend I took some time to poke at this, and have had some success. Here's the results:

video
code

I was thinking of trying out DMAs and/or interrupts, but got disheartened by my inability to work with the VideoCore/DispmanX API the way I would have liked, because I could not find a way to get around the suboptimal GPU polling approach. So even if DMA/interrupt would solve one part of the CPU overhead, this GPU polling part would still remain, and all of a sudden it does not feel interesting to try out anymore.
Thanks for the insights on this, much appreciated!

but got disheartened by my inability to work with the VideoCore/DispmanX API the way I would have liked, because I could not find a way to get around the suboptimal GPU polling approach

Ended up tackling this with a compromise histogram-based approach that observes passing frame times and takes a 40% percentile of the frame intervals as a heuristic. That seemed to balance between overpolling and minimizing stuttering. I'm now quite happy with the results of how this turned out, and while power consumption is quite high - at around 120% when there's a lot of activity on the screen, in my use case I've got USB power readily available, so I think I'll leave investigating the interrupts approach for a later date.

Thread of possible interest!
https://github.com/raspberrypi/userland/issues/218#issuecomment-73346568
There's a vsync callback. Tried out AndrewFromMelbourne's code there, it seems to work.

I do implement the vsync callback at https://github.com/juj/fbcp-ili9341/blob/master/fbcp-ili9341.cpp#L38. It does work well at providing a stable 16.666.. msec periodic timer, and I find it works out alright on content that does update at fixed 60fps. Unfortunately if the GPU-utilizing application fails to run at 60fps and occassionally dips, the vsync callback does not see this (since after all it's not a callback for provided frames, but for the HDMI output clock), and this causes variable latency in presenting the frames, leading to stuttering. Some applications produce frames at 50Hz or 20Hz or other rates, but the vsync callback still faithfully fires at 60Hz in these cases, creating jarring stuttering if used. Also when running command line terminal, the caret blinks at 5fps, but the vsync callback still hits at 60Hz, so one still has to analyze the contents of the frames to observe if there were any real changes to the contents that occurred. Calling vc_dispmanx_snapshot(..) + vc_dispmanx_resource_read_data(..) takes about 1msec, so that would be 55msecs of wasted work each second (indeed showing up in top as about ~5.5-7.5% CPU usage "for nothing")
That is why I left that feature out as optional compile option - it's probably good if one aims specifically for an application that runs exactly at that 60fps, though for generic power conserving use, it was not helpful. The current code implements a self-synchronizing heuristic that does fix itself for example to 5Hz refreshes when showing a blinking terminal on the SPI display. It probably too causes a 5.5% excess power consumption overhead or more, but it has the benefit of stuttering less when running e.g. Prince of Persia which refreshes at 10Hz, or NES PAL emulator that refreshes at 50Hz.
Opened an inquiry about this at https://github.com/raspberrypi/userland/issues/440, that would be a definite power saving win.
On an unrelated note, I rewrote the span merging algorithm that the code uses this morning, to improve it to merge spans across scanlines, and that improved throughput performance of the driver by about 25%, and results in a higher cutoff point to when the driver needs to revert from progressive to interlaced screen updates.

@juj regarding the new algorithm, do you want to submit a PR to the adafruit fork of fbcp? we can test/merge it soon

The new code is not quite usable as an update to replace fbcp, because fbcp is more generic and works on any fbtft-based SPI display, but this code is hardcoded for BCM2835 and ILI9341 only, so that would regress users with any other chips. Also power consumption characteristics are very different. fbcp seems to use about 10% max, whereas fbcp-ili9341 is observed to need up to 120% of CPU (1.2 consumed cores). I would recommend users look for this code specifically if the above criteria are not an issue.

I'll close this since the issues have been mostly resolved in https://github.com/juj/fbcp-ili9341/ . (A more recent demo video at https://www.youtube.com/watch?v=dqOLIHOjLq4)


Typescript directly with babel7

So babel7 supports Typescript integration, has anyone integrated it successfully with CRA2 and using it rather than through create-react-app-ts approach?
Thanks.

Yes. It's happening: https://github.com/facebook/create-react-app/pull/4837

TypeScript is now officially supported as of Create React App 2.1. Read the release notes to get started!


Bad syntax in manifests/proxy.pp

In forge.puppetlabs repository
casesize instead of cachesize
check comments we have to use this param in MB not in B
for example, just pust 32 if you want 32M in CacheSize value

Hi Fredprod,
I accepted your pull request (Thanks again!) and updated the comment in manifests/proxy.pp (and configuration template) to use MB.
Kind regards,
Werner


Added editable prop to checkbox

We are disabling our inputs while the form is being submitted. Having this editable prop simplifies that and I'm sure others will find it useful as well. It also stays inline with how the built-in <TextInput /> works.
Let me know if here are any changes or additions you'd like to make.

@jimmyhmiller seems that your change are not working on Android see #155. Can you take a look at it?

I've made a new PR that should fix the issue. #169
Accidentally put the default prop in the wrong place. I test on Android and that warning is now gone.


Pause resume (copy from Plamen's fork)

Work in progress

merged into upstream from Plamen's fork


Add ShroomKnight Game Extension

Is your feature request related to a problem? Please describe.
I want to add a Game Extension named ShroomKnight
Describe the solution you'd like
"ShroomKnight" is an engaging web game where players control a fairy hero tasked with defending against invading spiders. The fairy combats the spiders by spawning mushrooms, which serve as automated defense units. These mushrooms shoot bullets at regular intervals, aiming to eliminate the approaching spiders before they reach the bottom of the screen.
Move the Fairy: Use the arrow keys (Left, Right, Up, Down) to navigate the fairy across the canvas. Position the fairy strategically to avoid spiders and place mushrooms effectively.
Spawn Mushrooms: Press the spacebar to spawn mushrooms at the fairy's current location. Each mushroom will automatically fire bullets upwards to destroy any spiders in their path.
Avoid Spiders: The goal is to prevent spiders from reaching the bottom of the screen. If a spider gets past the defenses, it continues, but players should aim to stop as many as possible.
Describe alternatives you've considered

Arrow Keys & ' W, A, S, D ' : Move the fairy in the respective direction.
Spacebar: Spawn a mushroom at the fairy's current position. The mushroom will fight against the spider by using their ability

Additional context

Please assign me for this issue under GSSoC'24


support for pino.js logger

It would be awesome to support pino.js Logger, it currently has 3M weekly downloads on npm, great project.

@vitoladev we will using OpenTelemetry in Application Insights SDKs, pino is currently supported in OpenTelemetry more info here, we have a beta version of Application Insights using OpenTelemetry that you could start using along with pino instrumentation, more info about beta here


Get-PSSession -State Opened -ComputerName localhost Returns Nothing

Get-PSSession -State Opened -Computername localhost returns nothing despite there is an opened session:

Environment:
Name             : ConsoleHost
Version          : 6.1.0-preview.2

Steps to reproduce
$session = New-PSSession -ConnectionUri https://exchange.domain.local/powershell -AllowRedirection:$true -SessionOption $PSSessionOption -Authentication NegotiateWithImplicitCredential -ConfigurationName Microsoft.Exchange ;
Get-PSSession ;
Get-PSSession -State Opened -ComputerName localhost ;
Get-PSSession -State Opened -ComputerName <IP_ADDRESS> ;

Expected behavior
PS C:\Program Files\PowerShell\6-preview> Get-PSSession

 Id Name            Transport ComputerName    ComputerType    State         ConfigurationName    Availability
 -- ----            --------- ------------    ------------    -----         -----------------     ------------
  2 Runspace2       WSMan     exchange.dom... RemoteMachine   Opened        Microsoft.Exchange       Available

Actual behavior
( Get-PSSession -State Opened -ComputerName localhost ) -eq $null
True
( Get-PSSession -State Opened -ComputerName <IP_ADDRESS> ) -eq $null
True

Environment data

$Host
Name             : ConsoleHost
Version          : 6.1.0-preview.2

@adityapatwardhan Is the same root cause as in #9160?

@YuriySamorodov Can you try a repro on the latest 6.2.0-rc.1 release?

@adityapatwardhan Same in 6.2.0-rc.1


lollipopPlot x-axis error?

I am trying to use the lollipopPlot on the GENIE data. I have previously used this function with no issues on TCGA. When I plot the lollipopPlot for KRAS, the labels of the mutations do not match the x-axis. Thanks!

Hi,
This is weird. Could you run the same function with printCount = TRUE and check the pos for T20M?

Is it possible to share a reproducible example?
x = maftools::subsetMaf(maf = colorectal_maf, genes = "KRAS")
saveRDS(object = x, file = "kras_maf.RDs")

You can attach kras_maf.RDs here.

kras_maf.zip

Works fine on my system.

What version are you using? Also how does the plot looks when you save it to a file?

This is the plot when saved to a pdf.
pdf("GENIE_results/GENIE_v9/maf_analysis_results/lollipop_colorectal_maf.pdf")
lollipopPlot(maf = colorectal_maf, gene = 'KRAS',               labelPos="all", labPosSize = 0.9, labPosAngle = 90, titleSize = c(0.8,0.8), repel=TRUE, cBioPortal = FALSE  )
dev.off()

maftools_2.6.05

I have been playing with the arguments and the error only occurs when repel = TRUE. I will not use this argument for now. Thank you for all your help. A final note, when I was debugging, I tried to use the plotProtein function and my system could not find this function as part of the maftools package, even when explicitly specifying it was part of maftools.

Hi,
Thanks for letting me know. repel = TRUE has been deprecated. I will remove it in future updates.
plotProtein is available on the GitHub version of the maftools and should be available on BioConductor in the upcoming release. Meanwhile, you can install it from GitHub with,
BiocManager::install("PoisonAlien/maftools")

OKay, great thank you!


exploitdb: 2023-08-22 -> 2023-08-24

Diff: https://gitlab.com/exploit-database/exploitdb/-/compare/refs/tags/2023-08-22...2023-08-24
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

exploitdb


Compute the FUV

Create the FUV function and compute it accordingly to the specifications.

Closed with #31


🔩 Ticket #3434543 - Create Azure resource group and VNet.

Creating Resource Group and VNet in stack mybob212
This is an initial pull request to create an Azure Virtual Network with suffix 001 in stack mybob212 and was created based on the Backstage template.
If you need to add more parameters, check the official documentation - https://github.com/claranet/terraform-azurerm-vnet
created by: Backstage Software Template 👷♂⚙👷♀

Terraform Format and Style 🖌success
Terraform Initialization ⚙success
Terraform Validation 🤖Success! The configuration is valid.
Terraform Plan 📖success
Show Plan

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.azure_virtual_network.azurerm_virtual_network.main_vnet will be created
  + resource "azurerm_virtual_network" "main_vnet" {
      + address_space       = [
          + "<IP_ADDRESS>/16",
        ]
      + dns_servers         = []
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = "eastus"
      + name                = "vnet-mybob212-client-use-prod-001"
      + resource_group_name = "rg-mybob212-client-prod-001"
      + subnet              = (known after apply)
      + tags                = {
          + "CostCenter"  = "00006"
          + "Criticality" = "High"
          + "Entity"      = "DE"
          + "Owner"       = "Bob Tayara"
          + "env"         = "prod"
          + "stack"       = "mybob212"
        }
    }

  # module.rg.azurerm_resource_group.main_rg will be created
  + resource "azurerm_resource_group" "main_rg" {
      + id       = (known after apply)
      + location = "eastus"
      + name     = "rg-mybob212-client-prod-001"
      + tags     = {
          + "env"   = "prod"
          + "stack" = "mybob212"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Pusher: @ibrt2016, Action: pull_request, Workflow: Terraform Plan


Added image pull policy

This change is

@leongold Can you please make a review?

@leongold Can you please make a review?

lgtm


#6199 Deno Command not found

The added directories won't take effect until people run: source ~/$shell_profile

Thanks for the patch @damiantoczek but I don't think these are necessary.


SCTP Protocol is not supported in istio config

Describe the feature request
External connections in telecom filed are dependent on  SIGTRAN or DIAMETER connectivity which uses SCTP Protocol at Lower Layers. Today Istio doesn't not support SCTP Protocol which is a key protocol for core telecom networks.
Describe alternatives you've considered
In Kubernetes we can define a service and a pod to use SCTP protocol but the same is not possible in Istio Config
[ X] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context

This is blocked by envoy support (https://github.com/envoyproxy/envoy/issues/15279)


Bugfix: title label blinked when tapping on the textfield

This is a bugfix for Issue #39 and Issue #44.
Cleaned up the title selection state:

Removed the custom animation business logic present in
setHighlighted(), that faded out title selection automatically. Moved
this logic to the sample project instead. This logic was too specific
to a given use case, hence the removal. It was also the source of the two reported bugs.
Removed titleVisible property. The isTitleVisible() method should
be used instead of this
Added the setTitleVisible(), method. This method takes a callback, wich can be used to get
notified when the animation completes.

Beforehand when selecting a field, the title was displayed briefly. Afterwards, this does no longer happen, and the showcase example works as before (updated the showcase example as well).

When do you think this change will be merged?

I'll get this merged soon - see if I can get a reviewer. Otherwise I'll do the merge.


Is it possible to package spfx app with different package-solution.json?

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[X] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

SPFx 1.15

Issue description
Is it possible to package SPFx app with different package-solution.json?
I am looking for something like:
gulp package-solution --config=package-solution.prod.json

We need to package the SPFx app for different environments, so we need to package the app with different Solution_ID and different descriptions.
Also, does the  ClientSideComponentId need to be unique across different apps, or only the solution id needs to be unique?
I can not find anything on internet, so I thought you guys may know or can point me to the right direction.
Thanks

@ethanli83 - there is no out of the box parameter for that.
But you can implement custom script or custom task to do that.
Something like:
const packageSolutionOnePath = './custom-config/package-solution.one.json';
const packageSolutionTwoPath = './custom-config/package-solution.two.json';
const packageSolutionPath = './config/package-solution.json';

let packageSolutionJSON = JSON.parse(fs.readFileSync(packageSolutionPath));
const newPackageSolutionJSON = JSON.parse(fs.readFileSync(process.argv.indexOf('--one') !== -1 ? packageSolutionOnePath : packageSolutionTwoPath));

merge(packageSolutionJSON, newPackageSolutionJSON);

fs.writeFileSync(packageSolutionPath, JSON.stringify(packageSolutionJSON, null, 2));


docs(ts): translation of latest section (#7)

Thank you for submitting this PR...
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit-message-format
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

**Please provide the issue number? **
issue #7
Did you finish translating the whole issue?

[x] no (pr_state: WIP)
[ ] yes (pr_state: PLEASE_REVIEW)

What kind of change does this PR introduce? (check one with "x")

[x] Translation
[ ] Other... Please describe:

Other information:

@tonygoussot des news ?

@manekinekko, pas de soucis.

@RudyWeber je vais fermer cette PR. tu pourras en créer une autre dès que tu as fini.


ci: Add right license file

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@45d6bcb). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #12   +/-   ##
=======================================
  Coverage        ?   96.01%
=======================================
  Files           ?        6
  Lines           ?      602
  Branches        ?        0
=======================================
  Hits            ?      578
  Misses          ?       24
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.