ArrayBuffer object freed mutiple times when garbage collected

Each ArrayBuffer property access will generate a v8 object but with the same internal buffer.
When garbage collection is triggered, the internal buffer will be freeed multiple times
It's better that each access of the ArrayBuffer property doesn't create new objects.

@tingshao is the PR submitted here?

@halton Yes, this is the issue for the PR. I may close it manually.

Please use the github PR closing mechanism as much as possible.

OK.

https://help.github.com/articles/closing-issues-via-commit-messages/

@kenny-y Thanks a lot for the reference.

@kenny-y Can you help to close this? It seems I have no permission.

I kinda lost context here... is this an already-fixed issue (with PR merged) but the issue itself is still open? In it's that case, I'll close it directly.

Yes, already fixed.


Validation issue with<PHONE_NUMBER> (IN)

Please read the "guidelines for contributing" (linked above) and fill in the template below.
Country/region affected (e.g., "US"): IN
Example number(s) affected ("+1<PHONE_NUMBER>"):<PHONE_NUMBER>
link to demo
Given Number showing carrier as Airtel however it is of Vodafone.
As per the parent carrier, it is right. but number has been port before year but still it is showing Airtel.

@sachinshelke
Thank you for taking the time to improve libphonenumber!
For the regions (like India) that support number portability, we return the original carrier for the supplied number. Information on porting of individual numbers is not be available in the library. You can check whether a region supports number portability or not using  method isMobileNumberPortableRegion(regionCode)
Closing this issue as it is working as intended.


Add pass to expand all vectors in vecmat/matvec operations into matrices to enable tiling

This PR fails until the newest llvm integration as it depends on 68945.
As discussed in issue#15053 and PR#15257, expanding the vectors in vecmat/matvec operations and avoiding them in the encoding step entirely seems like the best approach.

Since this is nearly ready, I'm rebasing my own wotk https://github.com/openxla/iree/issues/15158 to depend on that (I am adding that missing linalg.batch_vecmat ops to linag and will update this ExpandVectors pass to support it).

Impressive improvements on GPT2 benchmarks 🎉

@MaheshRavishankar FYI there is a boost for GPT2 models from matvec data-tiling

Any reason for concern on the regressions? Otherwise I'll merge it. Thanks everyone for the help :)

That's fantastic. I was hoping that was the case with the gpt numbers . Cc @mariecwhite

The regressions look big on dispatch count/size/etc - do we know why?

If i have to guess its because we have some pack operations that may not be getting fused. There are reshapes introduced that are probably blocking the fusion. That would be good to look into, but for me it is not a blocker. It'd be great if we can file an issue with some snippets of what exactly is happening with this model.

Yeah not a blocker but would be good to capture here when we see it as it's probably easy to spot with an IR diff and will be good to fix - will be trickier to find in the future :)

Wowee! Nice work!

@NatashaKnk would be really useful to do some triage of the increase in dispatch count if you have all the pieces

If i have to guess its because we have some pack operations that may not be getting fused. There are reshapes introduced that are probably blocking the fusion. That would be good to look into, but for me it is not a blocker. It'd be great if we can file an issue with some snippets of what exactly is happening with this model.

Yes, that's likely the case. The regression only happens on data-tiling path.

Awesome!
Probably similar issue: https://github.com/openxla/iree/issues/15242


Call script.wait instead of brick in jsOverrides

Because the script now has its own 2D model heir, which we use instead of custom brick methods.

Download:
Environment: QT=5.12, ARCH=32, CONFIGURATION=release, QTIFW=C:\Qt\Tools\QtInstallerFramework\3.1


go release notes for the 2023-10 release

This is an automated pull request to gather the go release notes for the 2023-10 release. See Producing Release Notes for details of the processing.

This will go into October and not September release notes, are you ok with that? If not, move to 09 like this: https://github.com/Azure/azure-sdk/pull/6638/files


Logs gathering script hangs indefinitely

Describe the bug
After deploying OKD 4.7 the installer hangs when waiting for the nodes to be ready, after trying to fetch the logs it hangs forever.

Gathering bootstrap failed systemd unit status ...
Gathering bootstrap journals ...
Gathering bootstrap containers ...
Gathering rendered assets...
Using /opt/openshift/auth/kubeconfig as KUBECONFIG
Gathering cluster resources ...
Waiting for logs ...
error: the server doesn't have a resource type "openshiftapiserver"
error: the server doesn't have a resource type "machineconfigs"
error: the server doesn't have a resource type "machineconfigpools"
error: the server doesn't have a resource type "kubeapiserver"
error: the server doesn't have a resource type "kubecontrollermanager"

Here you have the installer gather script with the changes did: https://www.dropbox.com/s/i0qz0bu6byloxsl/installer-gather.sh?dl=0
Also the log bundle file: https://www.dropbox.com/s/vrq9pez1j6qdff9/log-bundle-2021031116211.tar.gz?dl=0

Checking if https://github.com/vrutkovs/installer/commit/b8fa62c983215b540349fabb206f92abe8423f74 fixes that

Thanks @jomeier for the debugging session!!!!

I added a comment to your change providing updated info

Workaround: edit /usr/local/bin/installer-gather.sh and /usr/local/bin/installer-masters-gather.sh and replace
wait

with
while [[ "$(jobs | wc -l)" -gt 0 ]]
do
  sleep 1
  jobs > /dev/null
done


All articles are returned no matter whether the authors wants them to

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[x] Feature request
[ ] Support request

Current behavior

All articles are returned when in fact only the articles that are published should be returned.
Expected behavior

Only articles that are published should be returned. This includes updating the tags route.
What is the motivation for this change?

Authors don't want to create articles that are immediately published if they are just writing a draft.
Environment

- Node version: 8.5.0
- Platform:  Mac, Linux

Others:

Completed


feat: port LinearAlgebra.AffineSpace.Midpoint

[ ] depends on: #2692

This PR/issue depends on:

leanprover-community/mathlib4#2692
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#2692
By Dependent Issues (🤖). Happy coding!

bors merge


Fix node template build issue

I am getting this issue when using a project based off node-template and upgrade to latest substrate
  --> /Users/xiliangchen/.cargo/git/checkouts/substrate-7e08433d4c370a21/17e389d/core/authority-discovery/src/lib.rs:46:38
   |
46 | use authority_discovery_primitives::{AuthorityDiscoveryApi, AuthorityId, Signature};
   |                                      ^^^^^^^^^^^^^^^^^^^^^ no `AuthorityDiscoveryApi` in the root

This fixes the issue. Also fixed an unused var warning.
I guess CI should also be improved to make sure node-template builds?

CI does detect this issue https://gitlab.parity.io/parity/substrate/-/jobs/224825


When I open the PC app scrcpy, and then close it later, it turns this feature off without asking.
Please don't modify this setting without asking.

I've enabled this parameter to affect other devices...

Fixed: 4668638ee10764e8341c0770d548c0b74de69a8d

So how was it fixed?
It knows if it's enabled already, and then doesn't disable it when closing in case was already enabled?

Yes.

Nice! Thank you!


java.lang.NullPointerException in GamePlayer.java:205

Error in VoxelGamesLib
java.lang.NullPointerException in GamePlayer.java:205
View on Bugsnag
Stacktrace
GamePlayer.java:205 - me.minidigger.voxelgameslib.user.GamePlayer.addListeningChannel

View full stacktrace

An error linked to this issue has been marked as fixed in Bugsnag
java.lang.NullPointerException in GamePlayer.java:205


add suport for masking

Adds support to bloblang for basic masking using either a fixed length mask, or partial left / right mask.
Allows to chose the masking character.

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

@Jeffail I have made the updates but for some reason and I can't tell why my tests are now failing when I run:
go test internal/impl/pure/bloblang_mask_test.go
I note however that the tests for bloblang_string are also now failing for the same reason?
go test internal/impl/pure/bloblang_string_test.go
Has something else changed? - happy to fix if you can give me a clue


[WIP]add region info for the s3 check

this should fix the error of s3 check failed to list the info without region

+1, I have seen this working


Feature request: Need an option in RPS profile to not sync Host and AMT's IP address by default when on Static IP

Describe the bug 🪲
Need an option in RPS profile to not sync Host and AMT's IP address by default when on Static IP
Prerequisites

AMT needs to be activated in ACM using MEBx or any tool other than Open AMT Cloud Toolkit
Device needs to be on Static IP
Host IP address should be different from AMT's IP address. This can be done using tool like MeshCommander.
Intel Local Management Service should not be installed

To Reproduce 🪜
Steps to reproduce the behavior:

Create an ACM profile with Static IP and TLS
Add AMT device to Open AMT using the profile created during 1st step
Notice that the IP address of AMT shows as empty

Expected behavior
AMT should not lose it's IP address after adding a device to Open AMT.
AMT Device (please complete the following information): 🖥

OS: Windows or Linux
AMT Version: 12, 15 and 16
AMT Configuration Mode: Admin Control Mode
Network Configuration: Static IP

Service Deployment (please complete the following information): ⛈

Deployment Type: Docker or Azure K8s
Component & Version: v2.7

Additional context
Requesting this feature on behalf of a customer.

We are still seeing that the ip address is getting lost on running rpc activate command with ACM
Profile settings:

IP getting lost after ACM activation:

Hi @KevinBK1998, thanks for testing this out.  I've reopened this issue.  The team will revisit and investigate this to see if there is a potential bugfix required.
While we do, can you rerun your flow and provide the verbose flag, -v, in your activate command?
Example:
rpc activate -u wss://your-server/activate -n -v -profile MyProfile

Then, can you send us that output from RPC?  It might help the team narrow down where an issue might be.
If you have access to and are able to get the RPS logs after running that command, those could be helpful as well.
You can either post them here or send to me directly at<EMAIL_ADDRESS>if there is any confidential or private information.  Whichever you prefer, thanks!

The team tested this and did some validation.  It looks to be working correctly still on our side.  When reconfiguring a device, the IP was correctly maintained.
Can you provide some of the details mentioned in the comment above so that we can see what's different and happening in your deployment? Thanks.


CORE-2944 Honor outputDefaultSchema=false and outputDefaultCatalog=false when generating SQL code.

I believe that the condition checked when escaping object name in AbstractJdbcDatabase was incorrect. The condition to omit the schema part of the DB name should be:

if the default schema has been set
and the current DB object name's schema is the same as the default schema
and outputDefaultSchema has been set to false

The above can be translated to:
defaultSchemaSet && isDefaultSchema(catalogName, schemaName) && !getOutputDefaultSchema()
The same applies to default catalog name condition.

Is there any chance to get this PR reviewed and merged?

Similar fix has been applied for 3.6.0


cargo publish --dry-run finishes very early

Problem
I wanted to know what I was missing before running cargo publish, but did not accidentally want to publish a crate. When I ran cargo publish --dry-run it terminated before the upload, but it does not actually reach the point where it checks the Cargo.toml for validation errors. Thus, it seems to me that --dry-run is kind of pointless.
Proposed Solution
Make --dry-run error out only right before a crate is actually published, rather than before upload.
Notes
I'd be willing to implement this, if it is acceptable.

Can you say more about which validation errors did not seem to run?
If this is related to validation done on the server side, that would require implementing a new publishing API which is outlined in https://github.com/rust-lang/crates-io-cargo-teams/issues/82. That is likely a large project that would require working mostly with the crates.io team, and possibly an RFC outlining the design.

Specifically it was:
Caused by:
  the remote server responded with an error: missing or empty metadata fields: description, license. Please see https://doc.rust-lang.org/cargo/reference/manifest.html for how to upload metadata

Just checked the other issues and I understand why this is not something that can be resolved client-side, but maybe it would be worth it to differentiate server-side and client-side validation, even if there is an API for doing so?

Thank you for the reply! crates.io is only one implementation of remote registries. Other registries may have different validations and requirements. Cargo at this moment sticks to a common minimal set of validations across different registries. I feel like it might break other registries publishing process for such kind of change.
Going to close this in favor of https://github.com/rust-lang/cargo/issues/5941, as more discussions happened there. If it is wrong, comment below and we can re-open this.


TableView issue

Hi again
There is an issue with Static TableViews.
Look here:
https://dl.dropboxusercontent.com/u/17257636/Sharing/tableProblem1.mov
(look at the bottom, the last cell)
If I go to a page that has a "dynamic tableview" and then come back to this page, then it works well.

Not sure what exactly might cause it but the first thing that comes to mind is that the frame for page menu might not be set to the correct dimensions. Without seeing the code set up I can't for sure say what it might be though

I will post the code tomorrow when I get at my workstation! Thank you very much!

Hi.
I have same the issue. Here the code in my page view controller:
func addPages() {
        var controllerArray: [UIViewController] = []

        var v1 =
     navigationController!.storyboard!.instantiateViewControllerWithIdentifier("v1") as? ViewController1
        v1!.title = NSLocalizedString("Title 1", comment: "")
        controllerArray.append(v1!)

        var v2 =
        navigationController!.storyboard!.instantiateViewControllerWithIdentifier("v2") as? ViewController2
        v2!.title = NSLocalizedString("Title 2", comment: "")
        controllerArray.append(v2!)

        let frame = CGRectMake(0.0, 0.0, self.view.frame.width, self.view.frame.height)
        let menuHeight = 50.0
        var parameters = [
            "menuItemSeparatorWidth": 4.3,
            "scrollMenuBackgroundColor": UIColor.blackColor(),
            "viewBackgroundColor": UIColor.whiteColor(),
            "bottomMenuHairlineColor": UIColor.whiteColor(),
            "selectionIndicatorColor": UIColor.redColor(),
            "menuMargin": 30.0,
            "menuHeight": menuHeight,
            "selectedMenuItemLabelColor": UIColor.whiteColor(),
            "unselectedMenuItemLabelColor": UIColor.whiteColor(),
            "menuItemFont": UIFont(name: "HelveticaNeue-CondensedBold", size: 14.0)!,
            "useMenuLikeSegmentedControl": true,
            "menuItemSeparatorRoundEdges": false,
            "selectionIndicatorHeight": 4.0,
            "menuItemSeparatorPercentageHeight": 0.1
        ]

        pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: frame, options: parameters)
        self.view.addSubview(pageMenu!.view)
    }

When v1 appears first time on the screen, it's height greater then necessary by  menuHeight value.
Here log from my debug session on iPhone 5. Breakpoint sets in viewDidAppear of ViewController1 class.
At first, it calls from CAPSPageMenu.configureUserInterface() line 302:
po view
<UIView: 0x17556890; frame = (0 50; 320 518); autoresize = W+H; layer = <CALayer: 0x17584fc0>>

Second, calls when view appears on screen:
po view
<UIView: 0x17556890; frame = (0 50; 320 568); autoresize = W+H; layer = <CALayer: 0x17584fc0>>

568-518=50 (menuHeight value)
And if I swipe to another page and then comes back to first view controller - it's frame would be correct.

I have the same issue - any luck here guys?
I am also seeing whitespace at the edge of the screen when scrolling through my pages. Has anyone else seen this? It looks like it is loading the view but the views have all been loaded which has been confirmed in code - not sure if it's a memory issue. I can post a video if needed.

Is everyone here using views from the storyboard? That seems to be the common issue here. @developer-anreal where are you calling the addPages function?
@oworsnop if you could post a video that would be great as I'm not quiet sure what it looks like.

Hi Niklas,
Thanks for replying - I am using storyboards yes. I'll post a video shortly.

@fahlout addPages() calls from viewDidAppear() of view controller that set as initial view controller in storyboard

that should work, but try calling it in viewDidLoad()

@fahlout I tried, same issue

@developer-anreal Would you mind posting a video showing what it looks like please?

@fahlout sure.
https://dl.dropboxusercontent.com/u/24707666/wrong-frame.mov

Just out of curiosity, have you tried making a view controller with a xib that is not in the storyboard just to see if it works correctly then?
Also, make sure you're using the latest version of PageMenu please

Hi,
Did anyone have a solution for this?

Same happens in "Demo 1"
http://cl.ly/1W2o2i0Z0b08

For anyone looking for a solution to this, the following worked for me:
In the setUpUserInterface function, change this line:
controllerScrollView.frame = CGRectMake(0.0, menuHeight, self.view.frame.width, self.view.frame.height - menuHeight)
to this:
controllerScrollView.frame = CGRectMake(0.0, menuHeight, self.view.frame.width, self.view.frame.height)
It seemed to be a problem when setting up initial user interface and minusing the menu height.
Let me know if this works for anyone!
Cheers

@oworsnop great point! That solved my issue.

@oworsnop you solution works. I think this issue is related to #28: "Not honouring the base views height consraint"

@oworsnop It solved it for me too. Does this change break anything else? @fahlout Can we get this change into master please?

Had the same problem, and this worked for me too, should push the change to master ! :)

It worked for me too!

thank you!!!!, I was trying to fix it but your solution working for me.

you save my life!

That does the job. Thanks @oworsnop - Time to push the change to the master ;)

@oworsnop You sir, made my day! Thanks!

Thanks @oworsnop !!!

oworsnop 's solution works. I think it was happening because we changed size for tabs.
Thank you very much!
Tags: table view won't scroll till the end bottom PageMenu tableView UITableView

Thanks @oworsnop !!! It works ;)

@oworsnop Thanks!

I am facing same issue now and i do have the latest patch. i have three pages each are of uitableviewcontroller type and i can't scroll till the end. I had tried printing frame size and tried all options of setting self.automaticallyAdjustsScrollViewInsets = YES; and self.edgesForExtendedLayout = UIRectEdgeNone; and also i tired +/- menuHieght inside the CSPageMenu but none seem to matter.
any idea how to debug this
this is how I am initializing the page menu
   let parameters: [CAPSPageMenuOption] = [
            .MenuItemSeparatorWidth(10),
            .ScrollMenuBackgroundColor(UIColor.flatPlumColor()),
            .ViewBackgroundColor(UIColor.flatOrangeColor()),
            .BottomMenuHairlineColor(UIColor.flatRedColor()),
            .SelectionIndicatorColor(UIColor.flatOrangeColor()),
            .MenuMargin(15.0),
            .MenuHeight(40.0),
            .SelectedMenuItemLabelColor(UIColor.flatYellowColor()),
            .UnselectedMenuItemLabelColor(UIColor.flatWhiteColor()),
            .MenuItemFont(UIFont(name: "HelveticaNeue-Medium", size: 14.0)!),
            .UseMenuLikeSegmentedControl(true),
            .MenuItemSeparatorRoundEdges(true),
            .SelectionIndicatorHeight(3.0),
            .MenuItemSeparatorPercentageHeight(0.2)
    ]
    let gapOnTop = 20 as CGFloat;
    pageMenu = CAPSPageMenu(viewControllers: controllerArray,
            frame: CGRectMake(0.0,
                    gapOnTop,
                    self.view.frame.width,
                    self.view.frame.height),
            pageMenuOptions: parameters)

@farshidce read the answer of @oworsnop

2 years later and the fix worked for me as well. Thanks @oworsnop 😄

@oworsnop was this ever pushed to master or do we need to continue to edit the file directly per your solution?

thanks @oworsnop


question about postgres settings

Hi Rowan,
I am not good with postgres. I have one database for ctti and one for rxnorm, and the settings.toml
pg_dbname = "ctti"
Drug Reference DB
drug_ref = "rxnorm"
this table article57_rxnorm gets correctly created, and rxnorm.rxnconso does exist, but I get this error
thread 'main' panicked at 'Error executing direct_match_rxnconso: Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState(E42P01), message: "relation "rxnorm.rxnconso" does not exist", detail: None, hint: None, position: Some(Original(172)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_relation.c"), line: Some(1371), routine: Some("parserOpenTable") }) }', src/db/mod.rs:39:10
What do I need to do?
thanks!!
by the way,  "Count Dracula awakens ... " 😂

Hi Janet,
Sorry for the slow response. The script expects the data to be in a single database with two schemas one called rxnorm for the rxnorm data and one called ctgov with the ctti data (I think that is what it is called when you load it from the dump they publish by default)


replace multiple \n to

It is assumed that the sanitize(post.record.text) would have two or more newlines, but replace(/\n/, "") would replace only the first \n appeared in the string. I'm not sure, but I expect that replace() here intended to replace all \n to .

Thank you 🥰
I had overlooked it.


Added Documentation

Extended README by adding an About section with References.
There is also a Getting Started section with a quick description on how to get this app running.
Furthermore, the screenshots received an update and now show some non-trivial data.
I did a sneaky update of the colorscale on the expressibility page, so that it adapts to the actual value range.

Looks great. Thanks! :rocket:


[lacks tests] More behavior corrections

enabling viewing of S3-hosted files (since product_datasheet.xls.path only returns the relative location, omitting the http URL, #xls returns the full path)
turning the attr_hash values into strings. If the value is cast an an integer, lookup queries such as where(:sku => 19) yield records where 19 is a part of the SKU such as sku: 190254

Needed a revision
\


Improve the audit trail for Miro image suppressions

Currently information about suppressed Miro images is stored in two places:

There's a manually populated spreadsheet in Google Sheets: https://docs.google.com/spreadsheets/d/1Ty_L8sivF1jILiRxt9u94xQKRUxwwBIGmMvYGDHVLv0/edit#gid=0
When you run the suppress_miro.py script, it requires a message which is stored in DynamoDB

We should improve this process in the following ways:

[ ] Provide an explanation of how Miro image suppression in GitBook, that explains when we'll remove images (i.e. when Collections Information ask)
[x] Merge the two lists of suppressed images, putting it all in DynamoDB
[x] Modify the suppression script to autogenerate a list of suppressed images that is human-readable, and link to it from GitBook

I've copied all the old suppressions (and links to Slack etc.) into DynamoDB.


Spelling

This PR corrects misspellings identified by the check-spelling action.
The misspellings have been reported at https://github.com/jsoref/casey-just/actions/runs/3808832177#summary-10368699596
The action reports that the changes in this PR would make it happy: https://github.com/jsoref/casey-just/actions/runs/3808832259#summary-10368699601
Note: this PR does not include the action. If you're interested in running a spell check on every PR and push, that can be offered separately.

Nice, thank you for the PR!


BrainStalks overriding other mods settings.

I've disabled Brainstalks item changes but it still overrides the ZetItemTweaks changes I made to Brainstalks.

Thanks for reporting this, just pushed an update. Let me know if it's fixed now.

Works, cheers for the fix.


Can it compile SASS located in node_modules?

I have installed React-Toolbox, that needs to:

compile and require SASS files located in your node_modules

I am trying to use this package, however I doesn't seem to work.

I had the same requirement wanting to import Foundation 6 from node_modules. I created a main.scss file in /client/styles and used the following to import from node_modules:
@import '../../node_modules/foundation-sites/scss/foundation.scss';

I have finally used https://github.com/nathantreid/meteor-css-modules

Let's continue the discussion here: https://github.com/fourseven/meteor-scss/issues/165


Make docs:docsTest configuration-cache compatible

The only source of the incompatibility was the GradleInstallationForTestEnvironmentProvider class that was capturing
Task and Project objects. This was replaced with capturing only necessary state.
The docsTest and its dependencies were also removed from the list of
CC-incompatible tasks. I've checked most of the 'Sample' and 'Snippet' tasks to make sure all of these are actually compatible with the configuration cache.
It wouldn't help much, though, because of #19273 which invalidates build cache each time docsTest runs.

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

OK, I've already triggered a build for you.


Upgrade dependencies for Puppet 6 support

Please update the package dependencies to allow Puppet & Support

Thanks and I apologize for the delay. This is now part of version 1.6.0.


MapLoader / MapWriter Reactive Interface

Can we have corresponding reactive interfaces for below interfaces?
MapLoader
MapWriter

Can you provide more details or code example?

Please take a look at the sample interface and implementation.
Currently MapLoader interface does not expose reactive methods. So only way to make it work by calling 'block' method. It is not a good practice.
public class ReactiveMapLoaderImpl implements ReactiveMapLoader<Integer, Person> {

    @Autowired
    private MongoReactiveRepository repository;

    @Override
    public Mono<Person> load(Integer integer) {
        return this.repository.findById(integer);
    }

    @Override
    public Flux<Integer> loadAllKeys() {
        return Flux.just(1,2,3,4,5);
    }

}

Thanks for example. This feature makes sense.

Are there any plans for this issue?


v0.7.1_06: Bars are not differentiated according to region colors

SEVERITY: Major
MODULE: Bar Chart
Platform:

Windows 7 / Chrome 45.0
Windows 7 / Firefox 41.0

RELEASE: v0.7.1
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.7.1/preview/barchart.html
Bar chart page will be loaded
Click colors
Click first dropdown
List is shown
Click first option “Region”
Note that the bar have same color, they are not differentiated according to region colors

ACTUAL RESULTS:
Bars have same color; they are not differentiated according to region colors
EXPECTED RESULTS:
Bars should have colors according to the selected option
SCREENSHOT:

thanks! once in a while i have this WAT feeling when i just can't explain things. will take a look


Stop storing output group names

Reducing memory usage for slightly higher cpu usage.

Since we store the same strings in output_group_list, I don't think this will actually be a win. Testing it.

Not doing this for now. #2073 is better for now.


Display Exact file match. bypassing ignore

(might be related to #148 or #124)
when using fuzzy finder, if you type something like "/my/ignored/dir.js" and it is in your ignored vcs pattern, nothing will shows up.
it might be a good idea to display the exact match (if there is one) even if it bypass the ignoring rules...
wdyt?

This seems like it could be one way to handle #148, which the maintainers have said they don't plan to do themselves but would welcome a PR for.


feat: Added some properties to Flex component

:tada: This PR is included in version 1.0.0-beta.26 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-fix-doc-release.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Why would a term appear on both the core and packages sheets?

Will provide examples

It is a bit of a carryover from the old way of managing MIxS with Excel. As we move toward the new SchemaSheets editing workflow, we will make a single sheet for all terms (aka LinkML slots).


Problem with Generic Switch (CON-672)

I have a problem with IOS 17 and Generic Switch, after I add 2 buttons they have the same name
button 1, button 1.
if i add 4 buttons, homekit shows them as button 1, button 1, button 1, button 3. gpio_6, gpio_16 and gpio_17, react to button 3 and gpio_0 reacts to the first button 1.
Can anyone confirm if this is an ios 17 issue or a generic_switch example not work?

Hi @Kristian8606,
I have tested the generic switch example from the main branch with the following configuration:

Device
Firmware update

Homepod mini
16.6

iPhone 12
16.6

ESP32S3
/

All worked well for me with this configuration when I setup 4 buttons, however all of this are called "Button1" in my case.
Can you please tell me what ESP you are using, your controller (Homepod, Apple TV, etc.), and the version of your controller?
In addition, could you share a snippet of how you set up your button?

@XAT-Project  Thanks for responding.
Apparently I hadn't figured out exactly how to add buttons, but now, i built the example from the master branch and added 4 buttons, they work correctly but they are all called Button1.
Now the question is why all the buttons are called Button1 and what should be done to call them Button1, Button2, Button3, Button4?
Sorry for my bad english.

@Kristian8606 I have tried out the generic switch example by adding buttons to check for whether there is any bug in the code .It does not seem to be the case .The mapping of gpios to buttons seems to be unique. However with apple home all the buttons appear as Button1  which was the case previously as well .So ,it seems to be an ios issue.

I have an Aqara H1 2-Gang wireless switch with HUB M1S running Matter Beta where the buttons are correctly spelled Button1 and Button2, this makes me think the problem is not HomeKit.

I have an Aqara H1 2-Gang wireless switch with HUB M1S running Matter Beta where the buttons are correctly spelled Button1 and Button2, this makes me think the problem is not HomeKit.

@Kristian8606 Were you able to get the button labels to work on espressif?  If so, can you share the code that solved how to label the buttons and have iOS Home recognize it.  Does it also work in iOS 17?
Thank you!

It still doesn't display the buttons properly


Move readme to metanorma.org

Or relaton.org?

It is used in the customisation of metanorma... but ok, it does make more sense there. I'll cross-reference.


fix network local ratelimit connection close without reason

Commit Message: fix network local ratelimit connection close without reason
Additional Description: N/A
Risk Level: low
Testing: ut
Docs Changes: N/A
Release Notes: N/A

same issue like #26856

@wbpcode PTAL, thanks.


What's the use of size attribute for technical assets?

Hi, I've been looking through the code and some attributes, like protocol, are used in functions that are in the logic for different risks. But for size of technical asset (system, service, application, component), I can't find them being used anywhere. I see them declared in different technical assets in the add-build-pipeline-macro.go and add-vault-macro.go but don't see them used in code or impact threats in anyway? Any advice appreciated. Thanks!

Hi, when I use threagile use size like this:

application: is a set including your frontend system, backend system.
system: is a set including many parts that work together for 1 specific purpose. For example: Authentication System (frontend login page + backend authentication service)
service: is just an specific backend service as backend authentication service.
component: I'm saving this one for smaller pieces inside a service or a system. For example: Login-Form-Component or ServiceLoggingComponent.

Hope that helps :)

the size is used to determine the drawing style of the item in the diagram. it has no bearing on the analysis of the threat model


extend unittest coverage for in/out-of-service support

[x] heuristics with out of service comps
[x] constraints with out of service comps
[x] functions with out of service comps
[x] parser raw keep all/lines/xmr out of service
[x] comp in service flag getter/setter (and effects of bus out of service on components connected to them)
[x] net get num methods (only_in_service arg)
[x] net make all in service
[x] bus is query with comp out of service
[x] bus dP_index, dQ_index with out of service buses
[x] busdc di_index with out of servcie bus dc
[x] net properties with out of service comps
[x] full json support
[x] parser raw read/write no losses
[x] network state tag
[x] net copy preserves in/out of service

done


Inserts and deletes sync with FRC

There was an issue where the row data would easily get out of sync with the real rows when inserting and deleting. Using NSFetchedResultsController made this super obvious.
Huge thanks to @LindyLo for the sample project with a reproduced issue!
fixes #16

:+1: !!!!

I am not sure this is completely fixed.
I am using this with a sorted NSFetchedResults Controller and still get the bug from #16. When I print the index rows from the Insert case it prints as follows:
25
5
12
22
28
4
31
2
29
7
8
26
23
32
19
0
21
11
35
1
17
6
3
20
36
15
9
14
30
16
13
34
27
10
18
24
33

As you see it prints out of order, which is why we get an out of bounds error still. My guess is the tableView.beginUpdates and tableView.endUpdates most likely handle this situation and do not cause issues in UIKit, but these do not exist in WatchKit.

I think once I get the unit test abstractions working better we'll be able to zero in on what's going on here. Ya it's difficult to get both the NSFRC API and this working in tandem since WKInterfaceTable seems to immediately take action as opposed to UITableView's commit/transaction API.

yea, well actually my update fixes this. Forgot to mention that ;)

:+1:


The product list item UI not matching the wireframes

The product price value should be below the star component. I think this happened due to refactoring of some stylings

PR: GH-2458

Should the modal close on PDP page?


update images for adding team members

Affected Components

[ ] Content & Marketing
[ ] Pricing
[ ] Test
[X] Docs
[ ] Learn
[ ] Other

Can we remove "support view" on the left hand side from the screenshots?  @Dnhem

Can we remove "support view" on the left hand side from the screenshots? @Dnhem

Good call, done ✅


Cannot addTag("host", someString)

Describe what happened
logger.addTag("host", someString); seems to work, but log item has no "host" tag on the other end in the Log browser.
Steps to reproduce the issue:
This is my code.
package com.martini;

import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.provider.Settings;

import com.datadog.android.Datadog;
import com.datadog.android.DatadogSite;
import com.datadog.android.core.configuration.Configuration;
import com.datadog.android.core.configuration.Credentials;
import com.datadog.android.log.Logger;
import com.datadog.android.privacy.TrackingConsent;

public class DataDogLogger {
    public static Logger logger = null;
    private static String hostname = "localhost";

    @SuppressLint("HardwareIds")
    public static void initialiseLogger(Context context) {
        Configuration configuration = new Configuration.Builder(
                true,
                false,
                false,
                false)
                .useSite(DatadogSite.EU1)
                .build();
        Credentials credentials = new Credentials(
                context.getResources().getString(R.string.ddClientToken),
                BuildConfig.FLAVOR,
                BuildConfig.BUILD_TYPE,
                BuildConfig.APPLICATION_ID,
                "martini");
        Datadog.initialize(context, credentials, configuration, TrackingConsent.GRANTED); // TODO: implement consent
        hostname = Settings.Secure.getString(context.getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
    }

    private static Logger instantiateLogger() {
        final Logger logger = new Logger.Builder()
                .setNetworkInfoEnabled(false)
                .setBundleWithTraceEnabled(false)
                .setLogcatLogsEnabled(true)
                .setDatadogLogsEnabled(true)
//                .setDatadogLogsEnabled(!BuildConfig.DEBUG)
                .build();
        logger.addTag("os", "android");
        logger.addTag("os-version", Build.VERSION.RELEASE);
        logger.addTag("build", String.valueOf(BuildConfig.VERSION_CODE));
        logger.addTag("version", BuildConfig.VERSION_NAME);
        logger.addTag("host", hostname);
        return logger;
    }

    public static Logger getInstance() {
        if (logger == null) {
            logger = instantiateLogger();
        }
        return logger;
    }
}

Server-side, we use the default pipelines.
Fallback options which failed:

Since tags and attributes seem to be a bit interchangeable in some documentations, we tried instead to add the host with logger.addAttribute(). It fails with error: cannot access JsonArray, class file for com.google.gson.JsonArray not found despite thorough gradle resync, cache invalidation and project clean. (I'm not a Java developper, did I mention that?)
Creating a custom pipeline to remap hostname to host is forbidden because host is a reserved attribute

Describe what you expected:
In Log browser, log items' host tag should include the string we sent along.
Additional context

Android OS version: 5.1.1
Device Model: SAMSUNG-SM-G900A
Datadog SDK version: 1.11.1
Proguard configuration: none
Gradle Plugins: none

Hi @guillaumekh , the host tag is a reserved tag and cannot be set manually on Logs. What are you trying to do with this tag.

Hi @xgouchet
I want my Android logs to have a host tag. By default, the logs sent by the Android SDK don't have one AFAICT.

For context, our app is a B2B React Native app which means we have 2 requirements:

being able to match logs with a specific device is useful since we don't have that many devices to track
we need the host to be something unique that's shared by both the native Android layer, and the RN JS runtime. On Android, we use the ANDROID_ID for that purpose.

The host tag is not added on purpose, but you can add a tag using a different name. host is usually meant to be a specific backend host, I'd recommend using a device tag instead.

OK I'll do that.
Out of curiosity, and if you can spare the time, what's the rationale? I understand the concept of hostname does not map well to mobile devices — where I'm not even sure the underlying OS has one and makes it readable. But it feels like it would be better to have something reported as the host, rather than nothing. Or at least have it as an option (privacy being a likely concern).

One of the rationale is that for some of our features, the billing plan by default is using the number of distinct host. For a mobile app which could be deployed on thousands of devices, the bill would be huge.

That makes a lot of sense, thanks


plugins/lsp: Add r_language_server lsp

Adds support for languageserver for R

FYI, there's no need to close a PR that has issues; you can push changes to the PR's branch instead (using --force if you need to overwrite commit history)

Haha roger that, got shy


DCOS-12292: Display errors with an empty path on the review screen

This PR adds support for top-level error messages with an empty path.

✨ Great

Is it possible to somehow detect unhandled paths? Because what would happen for example if you get a expecting non-null value on a property we don't know?

Otherwise this looks good 👍

@wavesoft I didn't quite get what you mean 🤔

Ok, just expose all the errors you receive now (not only top-level) just in case we don't handle some of the paths in the review sections.

@orlandohohmeier @wavesoft Changed the implementation to display all the errors while we don't highlight `em line by line

run integration tests


Hands misplaced when Playspace has non-identity transform

Articulated hands display incorrectly.
When the Playspace (or another transform ancestor of the camera further up the chain) has a non-identity transform, the articulated hands display incorrectly (HL2 only).
The hand skeleton displays in the correct location, but the hands' shells are displaced away from the users hands.
To reproduce
Simplest case to reproduce:
First, no error:

Create empty MRTK scene MyTest.
Add a sphere at (0,0,1).
Deploy and run.

Look at your hands, they display correctly.

Now error:

Go back to MyTest scene.
Change Playspace transform  position to (-1, 0, -1)
Build and deploy and run.
Note sphere is farther ahead and to your right, as expected.
Look at your hands.
While holding your hands in front of you, look forward and right.
See the shell of your hands forward and right.

Expected behavior
Shell of your hands should match your hand positions, like the skeletal display does.
Screenshots
See screenshot. I've highlighted with arrows the incorrect shells in orange, and the correct skeleton with green arrows. Sorry about the clutter.

Your setup (please complete the following information)

Unity Version: 2019.3.3f1 (but using legacy XR).
MRTK Version: mrtk_development branch as of April 21, 2020.

Target platform (please complete the following information)

HoloLens 2

Additional context
Related to #7695

This is impacting our use of Hand Meshes with the World Locking Tools.

On the mrtk docs, there's a note about moving the playspace (which is basically, don't move the playspace itself from 0, 0 0):
https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html#add-mrtk-to-a-new-scene-or-new-project
(Scroll down a bit to see the note:
While working in your scene, DO NOT move the Main Camera (or the MixedRealityPlayspace) from the scene origin (0,0,0). This is controlled by the MRTK and the active SDK. If you need to move the players start point, then move the scene content and NOT the camera!
@fast-slow-still is there any possibility in your use case of not moving the playspace itself, instead having some subheirarchy where content is parented to stuff below that?

@keveleigh @davidkline-ms for background on the requirement around keeping stuff at the origin

@wiwei The way in which the World Locking Tools functions requires moving the main camera.   It would be great to find a solution in the MRTK that makes this work.
You can find more info about the World Locking Tools here:
https://github.com/microsoft/MixedReality-WorldLockingTools-Unity

This is currently by-design, but maybe something we can adjust. The reason this is currently happening is that the hand joints aren't transformed according to the playspace location. The reason that's not happening is because transforming positions and rotations for 52 joints every frame would likely be an expensive operation. Then, adding the hand mesh on top of that...
Maybe there's a world where we specify that the hand joint data is in local space, but we adjust the visualization as one gameobject in world space. Then we'd need to update the finger data for the poke pointer to be world space. I think there might be too many things that depend on various ways of getting this data to cherry-pick the point at which we update without just updating the data at the root.
Now that we have @davidkline-ms's perf markers, we could actually measure the impact of this change on-device.

Oh! This is specific to the hand mesh? Interesting...

Yeah, looks like we already transform the hand joints
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/76922618bb14f59534ef3748f6088779f4b6a6b4/Assets/MRTK/Providers/WindowsMixedReality/XR2018/Controllers/WindowsMixedRealityArticulatedHand.cs#L158-L161
Transforming the hand mesh would likely be expensive. Maybe this is one we can adjust from a single point instead of adjusting every mesh vertex etc

@wiwei  I will reiterate here a couple of things. First, the whole point of the Playspace node is to move the camera relative to the scene. It is easy to forget how useful that is when working with small demos, but on a full blown application, it is essential to be able to move the user relative to the virtual scenery. The camera and the Playspace transforms are modified by the SDK and MRTK respectively. The transform I actually modify is the parent of the Playspace.
Moving everything in the scene instead of moving the camera seems attractive when you are only responsible for the camera and want to make it someone else's problem, but in addition to the obvious downside, it has more subtle issues.
First, imposing a restriction that everything in the scene must be attached to a single node breaks your additive scene loading. Multiple scenes can't be loaded onto a single node.
Next, it means that you can't have arbitrary objects as root nodes in the scene, you only get one root node. That limits some Unity scenarios.
Third, you've just broken physics. Intuitively, when you want a closer look at the china cabinet, instead of moving yourself to the china cabinet, you have to grab the china cabinet and pull it to you. By the time it gets to you, there's not much china left to examine.
But more to the point, real world applications (and WLT) need this capability. It's no simpler if pushed out of MRTK and onto the application's domain, in fact it's even more difficult. Plus then every application needs to deal with it, rather than it being dealt with once.
MRTK mostly deals with this correctly already. As Kurtis pointed out, the hand joints are already corrected by the Playspace transform. Leaving it in an inconsistent state, partly compensating for the Playspace (hand-joints, spatial mapping, ray tests, etc. all working fine), but with a small number of places failing to compensate seems bad.

@wiwei To be clear, the repro steps I gave are a minimal easy way to reproduce the issue. A more real-world (but less helpful to whomever is trying to debug this) repro would be to set up a scene using MRTK's teleport mechanism, teleport, and then note that the hands are displaying incorrectly.

The fix is pretty trivial, both in extent and performance cost. Here's a PR for it: https://github.com/microsoft/MixedRealityToolkit-Unity/pull/7708.
Of particular note in the PR is that this fix applies only to the WMR articulated hands implementation. I wouldn't know if there are other similar platform implementations (which might require a similar fix (if they don't already have it)).


Version 0.5.0 not release to Crates.io

Hi.
I wanted to test some of the examples from this crate. I followed the cortex-m-quickstart setup, making sure to follow the f3 guide removing the correct stuff to get it to work. However, I could not get my code to compile. I see that many dependencies have been updated and the f3 crate version on github has been updated, but this latest version is not on crates.io.
Is this deliberate or a quick oversight?

@nordmoen we are still updating things to work with RTFMv2 cf. #85
Also you can always use the git version:
[dependencies]
f3 = { git = "https://github.com/japaric/f3" }

Is this deliberate or a quick oversight?

It's deliberate. A stable release will be released when it's ready to be released.

@japaric Thanks for the quick reply. I hope the sentence did not come a cross as overly negative. I just wanted to ask seeing some of the dependencies was already updated on crates.io.


Add support for multiple accounts

Hey, this would be a really useful feature for me as I have multiple Steam accounts and I sometimes switch between them.
The endpoint http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/ mentions support for this:
steamids
    A comma-separated list of 64 bit IDs to retrieve profiles for.

sure, i actually removed this just a couple days ago as i thought no one would be using it - i'll add it back within tomorrow

Thanks a bunch for the swift response and commit, I appreciate it. :)


Cannot seem to get the multimedia for HEN#400211

https://tzcomet.io/#/token/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/400211

It's music BTW https://gateway.ipfs.io/ipfs/QmcCvyHsTkWj32ztV5YixaCAivm6Mdavjeb7RRdf69AhdY


Set up semantic-release bot

We use semantic-release to automatically do releases based on commit messages (fix:, feat:, etc.)
Can you set it up on this repo for us, @DiegoRBaquero?

Sure! Just to confirm, has it been moved to webtorrent npm org too?

The webtorrent team should have access yes, not sure there is more to the "org/team" thing than that.

Done :)

Seems old tags didn't use v prefix. Need to figure out how to tell it there's a v2.0.0

Fixed, cleaned up

Thanks @DiegoRBaquero!


Change type of an existing column

I tried to change the type from a int to another class.
public class Permission
{
    public int PermissionId { get; set; }
    public int CreatedBy { get; set; }
}

to
public class Permission
{
    public int PermissionId { get; set; }
    public ApplicationUser CreatedBy { get; set; }
}

System.InvalidOperationException: The property 'CreatedBy' cannot be added to the entity type 'Permission' because a navigation property with the same name already exists on entity type 'Permission'.

What is the way for changing column types?

@seriouz can you post the full stack trace for the exception.

@seriouz I wasn't able to reproduce the error. Could you provide the full model or a repro project?

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.


Why ExportImages() in SaveGLB and how to write to internalBuffer

Hi,
I am trieing to export several models as GLB in view them in the Mixed-Reality-Viewer.
Now I saw that in the validator all images described as external reference.
And I think the benifit of GLB is that all is included in this one binary file.

GLTFSceneExporter.zip
I have added a few Chances to the GLTFSceneExporter.cs
first of all I added a little Methode to all ExportAccessor Funktions to adjust the align to 4-byte.
The secound and bigger chance is that I have implementet that the SaveGLB Methode save images into the Buffer.
I have Testet a few files with this Methode and the Validator give always 0 errors.
And now the Mixed-Reality-Viewer kann also display the result glb from the exporter.
PS:
I found a little error in the Image.cs file
\GLTFSerialization\GLTFSerialization\Schema\Image.cs
In the Serialize Methode the BufferView object is given to the writer, but right is to give BufferView.Id like by all other Serialize Methodes.
    public override void Serialize(JsonWriter writer)
    {
        writer.WriteStartObject();

        if (Uri != null)
        {
            writer.WritePropertyName("uri");
            writer.WriteValue(Uri);
        }

        if (MimeType != null)
        {
            writer.WritePropertyName("mimeType");
            writer.WriteValue(Newtonsoft.Json.Linq.JValue.CreateString(MimeType).ToString());
        }

        if (BufferView != null)
        {
            writer.WritePropertyName("bufferView");
            writer.WriteValue(BufferView.Id);
        }

        base.Serialize(writer);

        writer.WriteEndObject();
    }`

@Neuxxx: I think you should open a pull request. So it is easy to see which changes you made and where the bugs have been.

@Neuxxx Your solution worked nicely for me. Please do open a pull request, this should be an official part of the library.

In order to make some changes in line with the official export
“ExportImageInternalBuffer” methed Add parameters “TextureMapType texturMapType”
private ImageId ExportImageInternalBuffer(UnityEngine.Texture texture, TextureMapType texturMapType)
{
	if (texture == null)
	{
		throw new Exception("texture can not be NULL.");
	}

	var image = new GLTFImage();
	image.MimeType = "image/png";

	var byteOffset = _bufferWriter.BaseStream.Position;

	{//
		var destRenderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB);
		GL.sRGBWrite = true;
        switch (texturMapType)
        {
            case TextureMapType.MetallicGloss:
                Graphics.Blit(texture, destRenderTexture, _metalGlossChannelSwapMaterial);
                break;
            case TextureMapType.Bump:
                Graphics.Blit(texture, destRenderTexture, _normalChannelMaterial);
                break;
            default:
                Graphics.Blit(texture, destRenderTexture);
                break;
        }

        //Graphics.Blit(texture, destRenderTexture);

		var exportTexture = new Texture2D(texture.width, texture.height, TextureFormat.ARGB32, false);
		exportTexture.ReadPixels(new Rect(0, 0, destRenderTexture.width, destRenderTexture.height), 0, 0);
		exportTexture.Apply();

		var pngImageData = exportTexture.EncodeToPNG();
		_bufferWriter.Write(pngImageData);

		destRenderTexture.Release();
		GL.sRGBWrite = false;
		if (Application.isEditor)
		{
			UnityEngine.Object.DestroyImmediate(exportTexture);
		}
		else
		{
			UnityEngine.Object.Destroy(exportTexture);
		}
	}

	var byteLength = _bufferWriter.BaseStream.Position - byteOffset;

	byteLength = AppendToBufferMultiplyOf4(byteOffset, byteLength);

	image.BufferView = ExportBufferView((uint)byteOffset, (uint)byteLength);

	var id = new ImageId
	{
		Id = _root.Images.Count,
		Root = _root
	};
	_root.Images.Add(image);

	return id;
}

@kknsy, could you make a pull request for this?

Cleaning up old issues.  Looks like this was fixed a while back.


[PDapp] Audit: Modal

Description
Audit the use cases and requirements for Modal component
Use the FigJam to collate screenshots, notes on component api and requirements etc.
FigJam : https://www.figma.com/file/hxYqloYgmVcgsoiVqmGZ8K/Modal-Audit?node-id=0%3A1&t=7l6lp27XQZGthS8Q-1
Technical Details

Collect existing use cases across your assigned platform
Collect similar examples from third party design systems
Note down behaviours, attributes, questions and requirements that you notice about these use cases

Acceptance Criteria

The majority if not all use cases from your assigned platform have been collected in screenshots and added to the FigJam
At least 3 examples from third party design systems have been collected and added to the FigJam
Have listed possible component names and identified your preferred name based on your research
Have listed down possible component api and identified the options

References

FigJam
Read exercised #05 Identify Existing Paradigms in Design and Code and #06 Identify Emerging and Interesting Paradigms in Design and Code in the Design System in 90 Days workbook

completed


Support for defaults

If would be nice if a default value could be specified in the template string, such that it would be used if the object containing the replacement values was missing some, they were undefined, etc.
For example:
const data = {
  first_name: null,
  email<EMAIL_ADDRESS>};

const template = templater('Welcome, {{ first_name | "visitor" }}!');

console.log(template(data));  // "Welcome, visitor!"

Hey Matt, thanks for taking the time to make a feature request. I'm not opposed to the idea of runtime defaults defined in the template, but I'd consider it a pretty significant effort to refactor the templating logic and add sufficient cases to the test suite.
If you (or anyone reading this) is interested in taking a stab at getting a PR out I'd happily accept that. It's just not something I'm able to personally undertake at the moment.
In the mean time, I can suggest a workaround: Object.assign(). Building off your example above, it would look something like
const defaults = {
  first_name: "visitor",
}

template(Object.assign({}, defaults, data))

with the caveat that falsy values e.g. null, undefined would have to be filtered out of the data object beforehand.

Thanks for the reply! Seems like a good workaround. I'd love to contribute if I get the time to do so—I definitely appreciate that you don't have the time either right now :-)
Thanks for this great little library! It works well for some browser-side templating work I needed to do!


update test-tube version requirements to match yaml files, partitally…

… fixes pip install build on macOS
Fixed version of PR #1476

@Vargol; Thanks for going to the trouble! I know it can be a PITA sometimes :)

I'm catching up now after a busy week but didn't we change test-tube for csvlogger a while back?

I'm catching up now after a busy week but didn't we change test-tube for csvlogger a while back?

It may be but I think this is a smaller safer change, more designed to be 'cherry picked' for going into main as a straight forward pip install is broken there.
I planning on raising another PR after this to make a number of changes to the requirements / enrolments, but they'll need testing on all  the different platforms and install methods, If successful it'll lift the version restrictions on transformers, tokenizer and protobuf and avoid the need to install rust on macOS as we can use a binary version of tokenizers without having to use the prefer binary option.


Make it run using ASI scripts

Not an issue but a proposal or question
Is there a way to use this using ASI scripts? I've already found a working way to use ASI injector, but had some difficulties with reverse engineering to apply all the fixes are needed. If I'm not mistaken -- I've used injector via binkview.dll and succesfully run console on game run with showing some data.
Also, if I'm not mistaken, I can use all the hooks (or at least paritally) from your project to make it working on existing installation via ASI instead of installing the game again via launcher? Theoretically, in the end it should work with all versions of the game (meanin language versions, not version of the game itself).

I haven't heard of asi before, but looking it up it seems to be some sort of library or toolkit for injecting code patches into a game process? I would guess this project could probably be implemented like that, but that's not the way I did it, and I'm not going to put in the work to port it.
As for different language versions - I may be wrong, but I think there is a different game.exe for each language, so I think some of the work of making patches would need to be redone for each language. I'm also not personally interested in doing this, but if someone else is and sends me a patch, I'd be happy to accept it.


Angular 1.3 support

I'm trying bower install --save angular-footable and am using Angular ~1.3.14. Here's the output I'm getting:
bower angular-footable#*        cached git://github.com/ziscloud/angular-footable.git#1.0.1
bower angular-footable#*      validate 1.0.1 against git://github.com/ziscloud/angular-footable.git#*
bower angular#~1.2              cached git://github.com/angular/bower-angular.git#1.2.28
bower angular#~1.2            validate 1.2.28 against git://github.com/angular/bower-angular.git#~1.2
bower angular#1.3.14            cached git://github.com/angular/bower-angular.git#1.3.14
bower angular#1.3.14          validate 1.3.14 against git://github.com/angular/bower-angular.git#1.3.14
bower                        ECONFLICT Unable to find suitable version for angular

updated the bower dependencies, please update or reinstall.

I'm still getting the same error. Has this been tested and pushed to bower repo? I don't see a new release.

Sorry, forgot to publish a new release.

Seems good to go!


[Bug]: Add bullet points to SDK list on home page

What happened?
We should use bullet points in the list of SDKs on the home page: https://beam.apache.org/documentation/#sdks
Right now it doesn't match the other content.
Issue Priority
Priority: 3
Issue Component
Component: website

.take-issue


Add compatibility headers and other fixes after module header renaming

hpx/functional.hpp and hpx/async.hpp were put back as normal headers. hpx/functional.hpp will soon be replaced with a header that forwards functional stuff into the hpx namespace.

@hkaiser I think that's it to at least get back compatibility with what was there before the renaming in #4696. As state on IRC, this might be slightly too much and we may still undeprecate some of these headers before 1.5.0.

It looks like the old comments got lost because I commented on a commit, rather than the whole PR. Continuing here:

Ok, I will revert the removal of the forwarding headers. I however don't know what to replace hpx/format.hpp (and similar) with if the corresponding hpx/modulename/module.hpp is for internal use only?

The point I was trying to badly make is that if you need to include hpx/modules/modulename.hpp you do so. I think you won't have big problems in phylanx even if we make some incompatible changes along the way.
I just wouldn't want to recommend users to include hpx/modules/modulename.hpp headers. It's not so much the header location I'm worried about changing, but the contents of the header. I'd like for us to have the freedom to change things internally without having to worry about compatibility options. We just won't give the same guarantees about backward compatibility with hpx/modules/modulename.hpp headers. And in phylanx you can't anyway go back to older versions of HPX because you rely on new features on master.

Are there any other headers from this list: https://github.com/STEllAR-GROUP/hpx/pull/4710/commits/669a3530ef7cac545498bc93f99c5ceee739f6f4 that you think should be public?

Thanks a lot for this !


Change dependencies -> peerDependencies

Installation of the package @slack/bolt has next file structure:
node_modules/@slack/bolt/node_modules
Which brings complexity to the application. Also it makes it impossible to override package versions.
Renaming dependencies -> peerDependencies helps to get rid of this problem.

Hi, @vadjs! Thank you for submitting this and the corresponding PR. 🙇
Admittedly, I'm not seeing the initial value in changing dependencies to peer dependencies - the idea of the dependencies is that we want these listed packages to be run when npm install is run. With peerDependencies, it appears that NPM will not attempt to install peer dependencies when doing npm install. This is because NPM expects these dependencies to be provided by other dependencies.
Since this is a public framework widely available for use, I think the preference would be to enforce the dependencies with the dependencies key rather than peerDependencies. Also, some of the dependencies require pinned or specific versions to ensure compatibility with Bolt JS, which peerDependencies would not enforce as it would support overriding package versions as you mentioned.
With that being said, I would love to get your thoughts on this and see if there's a specific use case I've been missing!


Visual Studio - develop for Windows (the doctor check crashed)

Visual Studio - develop for Windows (the doctor check crashed)
X Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
X Exception: Bad UTF-8 encoding (U+FFFD; REPLACEMENT CHARACTER) found while decoding string:
{
"instanceId": "7ebea4d0",
"installDate": "2022-01-05T15:40:09Z",
"installationName": "VisualStudio/17.0.4+32014.148",
"installationPath": "C:\Program Files\Microsoft Visual Studio\2022\Enterprise",
"installationVersion": "17.0.32014.148",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"productPath": "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe",
"state":<PHONE_NUMBER>,
"isComplete": true,
"isLaunchable": true,
"isPrerelease": false,
"isRebootRequired": false,
"displayName": "Visual Studio Enterprise 2022",
"description": "�����κι�ģ�Ŷ��ṩ�Ŀ����š��˵��˽������",
"channelId": "VisualStudio.17.Release",
"channelUri": "https://aka.ms/vs/17/release/channel",
"enginePath": "C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service",
"installedChannelUri": "https://aka.ms/vs/17/release/channel",
"releaseNotes": "https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.0#17.0.4",
"thirdPartyNotices": "https://go.microsoft.com/fwlink/?LinkId=661288",
"updateDate": "2022-01-05T15:40:09.5405942Z",
"catalog": {
"buildBranch": "d17.0",
"buildVersion": "17.0.32014.148",
"id": "VisualStudio/17.0.4+32014.148",
"localBuild": "build-lab",
"manifestName": "VisualStudio",
"manifestType": "installer",
"productDisplayVersion": "17.0.4",
"productLine": "Dev17",
"productLineVersion": "2022",
"productMilestone": "RTW",
"productMilestoneIsPreRelease": "False",
"productName": "Visual Studio",
"productPatchVersion": "4",
"productPreReleaseMilestoneSuffix": "1.0",
"productSemanticVersion": "17.0.4+32014.148",
"requiredEngineVersion": "3.0.4496.34889"
},
"properties": {
"campaignId": "2022",
"channelManifestId": "VisualStudio.17.Release/17.0.4+32014.148",
"nickname": "",
"setupEngineFilePath": "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
}
}
]

Closing this as duplicate of https://github.com/flutter/flutter/issues/102451. For workaround, see https://github.com/flutter/flutter/issues/102451#issuecomment-1136423118


Fix issue with floats in fill transform.

Description
This is a bug fix for #476, which appears to assume that transform values in a fill input should be integers.
The error in #476 is a red hearing. The actual error is a parsing error:
E               montepy.errors.ParsingError:     , line 2
E
E                        0| 1    0  3 -2
E                        1|     IMP:N=1.000000  IMP:P=1.000000
E                   >    2|     *FILL=1  ( 0.000        0.000  0.000
E                         |                ^ not expected here.
E                        3|            30.000      120.000 90.000
E                        4|            60.000       30.000 90.000
E                        5|            90.000       90.000  0.000)
E               There was an error parsing " ".
E               sly: Syntax error at line 3, token=SPACE

This is because padding after the "(" is not explicitly listed, and so it causes a parsing error. The parser than tries to recover and can't and so starts fresh trying to read the transform input as a cell input.
Fixes #476
Checklist

[x] I have performed a self-review of my own code
[x] I have added tests that prove my fix is effective or that my feature works (if applicable)

padding is hard

It is the bane of my existence. I really envy MCNP because they can get away with abstract syntax trees.


Follow Reference

When you use ListField with ReferenceFieldand run to_json, the encoder doesn't follow the reference and needs to provide "follow reference" option for to_json, I think...

Couldn't implemented the decoder and it will be implemented at 0.10.


Transition without position: absolute;

In demos,
<Lorem /> Component's position is set to absolute, So transition seems to work well.
https://github.com/maisano/react-router-transition/blob/master/demos/index.html#L36
but If you can't set router's position to absolute, (like each router's height are different and it can be changed) transition wouldn't work well.
I've tried to set position: absolute on atLeave only, but it didn't work.
Also, I couldn't figure out how to handle it using mapStyes.
Any ideas? :disappointed:

I achieved this by applying the css to the inner div (created in renderRoute). To do this I added the css through mapStyles in my presets (see noTransition below):
const fadeTransitionConfig = { stiffness: 200, damping: 22 };
const popTransitionConfig = { stiffness: 360, damping: 25 };
const slideTransitionConfig = { stiffness: 330, damping: 30 };
noTransition = {
atEnter: {
    opacity: 1,
    scale: 1,
    offset: 0
},
atLeave: {
    opacity: spring(1, fadeTransitionConfig),
    scale: spring(1, popTransitionConfig),
    offset: spring(0, slideTransitionConfig)
},
atActive: {
    opacity: spring(1, fadeTransitionConfig),
    scale: spring(1, popTransitionConfig),
    offset: spring(0, slideTransitionConfig)
},
mapStyles(styles) {

    return {
        position: 'absolute',
        boxSizing: 'border-box',
        width: '100%',
        height: '100%',
        opacity: styles.opacity,
        transform: 'translateX(' + styles.offset + '%) scale(' + styles.scale + ')'
    }
}

};
fadeTransition = {
atEnter: Object.assign({}, noTransition.atEnter, { opacity: 0 }),

atLeave: Object.assign({}, noTransition.atLeave, { opacity: spring(0, fadeTransitionConfig) }),

atActive: Object.assign({}, noTransition.atLeave, { opacity: spring(1, fadeTransitionConfig) }),

mapStyles: noTransition.mapStyles

};
popTransition = {
atEnter: Object.assign({}, noTransition.atEnter, { scale: 0.8 }),

atLeave: Object.assign({}, noTransition.atLeave, { scale: spring(0.8, popTransitionConfig) }),

atActive: Object.assign({}, noTransition.atLeave, { scale: spring(1, popTransitionConfig) }),

mapStyles: noTransition.mapStyles

};
slideLeftTransition = {
atEnter: Object.assign({}, noTransition.atEnter, { offset: 100 }),

atLeave: Object.assign({}, noTransition.atLeave, { offset: spring(-100, slideTransitionConfig) }),

atActive: Object.assign({}, noTransition.atLeave, { offset: spring(0, slideTransitionConfig) }),

mapStyles: noTransition.mapStyles

};
slideRightTransition = {
atEnter: Object.assign({}, noTransition.atEnter, { offset: -100 }),

atLeave: Object.assign({}, noTransition.atLeave, { offset: spring(100, slideTransitionConfig) }),

atActive: Object.assign({}, noTransition.atLeave, { offset: spring(0, slideTransitionConfig) }),

mapStyles: noTransition.mapStyles

};
Implementation:
                    <RouteTransition pathname={this.props.location.pathname} {...this.state.transition}>
                        {
                            React.cloneElement(this.props.children, {setTransition: this.setTransition})
                        }
                    </RouteTransition>

From the child I pass the preset when I click on the react-router link for example, and set whatever transition state I want on RouteTransition
@maisano - I ended up doing the above (having a base i.e. 'noTransition') because

My app base has a RouteTransition but I may not want to transition so basically that is the default. Avoids having to change the structure of the container
More importantly, I found that if I only mapped the styles for the particular transition and I switched between "different ones" i.e. fade and slide it wouldn't transition correctly. I also avoided React complaining that I mutated the props because they are different ;) This fixed it and it seems to work well now

Would like to hear your thoughts on this approach i.e. performance considerations interpolating props that don't actually change. I suspect it shouldn't be an issue but not 100% sure.
Thanks for this wrapper - excellent work!

@arkist: hm, i haven't given this a ton of thought–to be honest, most of the times i have animated routes, they've been wrapped in such a way where height was not an issue (they made up the entire page or the overflow was scrollable, etc). can you give some more background into your layout/how you're using this?
@abelovic: i'm glad you're enjoying the project! thanks for the feedback. you're correct in your approach if you want to dynamically toggle between different transition settings–react-motion requires the same keys to interpolate, and introducing new ones/removing old ones won't work.
as per your question on performance, i don't see this being an issue. the api recently changed and i haven't looked at the internals since, though i recall TransitionMotion only needing to interpolate keys when their destination values change. in this example, nothing changes so you should be fine.
one small thing i did notice is that you're cloning children to pass in the setTransition callback–if you wanted to avoid this you could use state from history instead, pulling it out in your root component as needed, e.g. using a Link with a state prop (<Link to={path} state={{transition: 'slideLeft'}}>) where you reference that state in your handler via this.props.history.state.transition.

I thunk that the issue he's referring (it's just a guess) is this:
https://gfycat.com/JadedUnrealisticBoto
Without an absolute position, this will happen. (This is using the presets.pop)

@amorino i debated for a while whether to add absolute positions to the presets, or even include the presets at all. it probably makes more sense to add position: absolute to the mapStyles of each preset. it's easy enough to override and they're sort of broken without. feel free to pr or i can update this sometime over the weekend.

@amorino exactly. that's the what I encountered.
@maisano I'm a newbie in motion/transitioning so don't know this issue is common or not.
What I learn from @abelovic's code is set position: absolute; width: 100%; height: 100% and put all the Component inside of <RouteTransition /> works fine. thanks! and noTransition-default strategy looks good.
but I think it seems to be still a problem: how about nested Component's transition? (not about path)
// <Header/> and <Footer/> don't need transition (always there)
// so they're on outside of <RouteTransition />.
// in this case, you can't set `position: absolute` to route because of Header&Footer.
<Header />
<RouteTransition
  pathname={this.props.location.pathname}
  atEnter={{opacity: 0, position: 'relative'}}
  atLeave={{opacity: 0, position: 'absolute'}}
  atActive={{opacity: 1, position: 'relative'}}
  mapStyles={styles => {
    return {
      position: styles.position,  // so I wanna something like this but it is impossible! :(
      opacity: styles.opacity
    };
  }}
>
  {this.props.children}
</RouteTransition>
<Footer />

@arkist: ah, got it. so the issue with the code posted is that the objects that get passed to atEnter, atLeave and atActive get passed to react-motion for numeric interpolation–this won't work with strings.
i'm not currently sure the best way to handle dynamic, unbounded route heights, though i'm sure this is a common use case. i'll have to give it some more thought.

@maisano good :) I'll try to find a way, too. thanks for this project!

@maisano - thanks for the tip that is a much cleaner way to do it :) The API of react router changed in 2.0 so if anyone is interested this is what I did:

The mixin ContextRoute is deprecated so you will have to get the location object by passing context (its explained in the 2.0.0 change docs)
@arkist - I actually transition my header so the label and buttons etc... are encapsulated inside the react component (my view). If you do this one trick I did is to make the container color the same color as the header otherwise you will see the white background (or whatever color your container is) as the transition occurs.
However it sounds like you would rather have a fixed header where the content is the same for all views you transition to i.e. a common menu or application header
Could you not just do the following (untested)?
.header {
height: 50px
top: 0
position: absolute
}
/* this is passed using mapStyles /
.route-transition {
height: calc(100% - 100px) / height of header and footer - since it is app specific probably ok to just add it to your presets? */
top: 50px
position: absolute
}
.footer {
height: 50px
bottom: 0
position: absolute
}

Sorry code snippet got removed
<Link to={{ pathname: '/Home', state: {transition: slideRight} }} />

@abelovic thanks for the awesome tip! :)
browser support is a problem only. http://caniuse.com/#search=calc

Well looks like you would mainly loose Opera mini (Blackberry I think) and IE 8 support but look at this:
https://facebook.github.io/react/blog/2016/01/12/discontinuing-ie8-support.html
For me this is not a problem and I use calc all the time. If you do need to support these browsers however you might be able to use something like:
https://github.com/souporserious/react-measure
and just do the calculations in react :)

Just my $0.02:
Instead of percentage I am using:
height:calc(100vh - 50px);

in my mapStyles() function instead of percentage.  This makes it so that you don't have to worry about the geometry of the parent component. (100vh is the height of the window in pixels, 50px is the height of my header)

This may not be the best solution - but I managed to get @arkist's desired effect by swapping the non-numeric values when one of the animating properties reached a desired value inside the mapStyles function:
<RouteTransition
  pathname={this.props.location.pathname}
  atEnter={{ opacity: 0 }}
  atLeave={{ opacity: 0 }}
  atActive={{ opacity: 1 }}
  mapStyles={(styles) => {
    return {
      position: (styles.opacity === 1) ? undefined: 'absolute',
      width: (styles.opacity === 1) ? undefined : '100%',
      height: (styles.opacity === 1) ? undefined : '100%',
      opacity: styles.opacity,
    }
  }}>
    {this.props.children}
</RouteTransition>

Now I don't need to worry about my transitioning elements blowing out the layout, but also as soon as they're done animating in I can remove the style and they'll revert to their original css.

I have a similar solution, it just fades only the appearing div, and hides the older one:
<RouteTransition
  pathname={this.props.location.pathname}
  atEnter={{ opacity: 0 }}
  atLeave={{ opacity: 2 }}
  atActive={{ opacity: 1 }}
  mapStyles={styles => {
    if(styles.opacity > 1){
      return { display: 'none'}
    }
    return { opacity: styles.opacity}
    }
  }}
>
  {this.props.children}
</RouteTransition>

I had issues with this too, but even with some of the workarounds here, couldn't get it working properly.
So here's my amendment to one of the workarounds. Notice I do the switch to absolute positioning just before the div disappears.
           <RouteTransition               pathname={this.props.location.pathname}               atEnter={{ opacity: 0 }}               atLeave={{ opacity: 0 }}               atActive={{ opacity: 1 }}               mapStyles={(styles) => {                 return {                   position: (styles.opacity > 0.3) ? 'relative': 'absolute',                   boxSizing: 'border-box',                   width: '100%',                   height: '100%',                   opacity: styles.opacity,                   transform: 'translateX(' + styles.offset + '%) scale(' + styles.scale + ')'                 }               }}               >

Hello,
Anyone has found a proper solution without position absolute ?
The content of my body is dynamicm using absolute is not possible for me.

The solution from @akeelm is very nice, but I still had a problem with the footer of the page to toggle up and down. Using code below this is fixed.
                 <RouteTransition                     pathname={this.props.location.pathname}                     atEnter={{ opacity: 0, foo: 0 }}                     atLeave={{ opacity: 0, foo: 2 }}                     atActive={{ opacity: 1, foo: 1 }}                     mapStyles={(styles) => {                     return {                         position: (styles.foo <= 1) ? 'relative': 'absolute',                         width: '100%',                         height: '100%',                         opacity: styles.opacity                     }                     }}>
I only still have the footer problem when I toggle routes really quick.

I have modified @JurJean 's solution with a pop config. Works great. Same issue with fast route transitions, though (which is a shame, as one of the motivations for react-motion was to improve UX for cancelled transitions).
const popConfig = { stiffness: 360, damping: 25 };

export const pop = {
  atEnter: {
    transitionIndex: 0,
    scale: 0.8,
    opacity: 0,
  },
  atLeave: {
    scale: spring(0.8, popConfig),
    opacity: spring(0, popConfig),
    transitionIndex: 2,
  },
  atActive: {
    scale: spring(1, popConfig),
    opacity: 1,
    transitionIndex: 1,
  },
  mapStyles: styles => ({
    position: styles.transitionIndex <= 1 ? 'relative' : 'absolute',
    width: '100%',
    height: '100%',
    transform: `scale(${styles.scale})`,
    opacity: styles.opacity,
  }),
};

It would be so helpful to have a codepen example for some of these. I've switched from easy-transition to react-motion to react-router-transition but transitionX fails for all of them. I know this can be fixed. Has someone tried setting the height of the children components\pages with JS or using a css property that does not require position:absolute?

I have tried @JurJean solution works great. Except for when switching route back before the first animation is done. Then you have both elements having position absolute, which means the container collapses until the animations are done. Any solution for this?

For those looking for an answer to this problem, look no further!
I have found a solution of making the transitions overlap without using position:absolute or floats.
How did I do it?
Simple, use CSS Grid on the parent, then have both of the childs use the same grid-area.
This will make both of the elements use the same area, allowing them to overlap while keeping the layout completely functional as before.
The only drawback is IE and it's partial support for CSS Grids, but if you live in the present like most of us then it shouldn't be a big of an issue. Otherwise, you can simply disable the transition for the unsupported browsers.

Hey @Xerios 👋
Could you share some code with your solution?

Unfortunately, I didn't save my code because I had changed my mind about using transitions, but you should be able to do it by doing something like:
// Name of the container, forgot the name
.container {
  display: grid;
  grid-template-areas:"MyCustomAreaName";
}

// Forces all children under container to be in the same space/area
.container > div{
  grid-area: MyCustomAreaName;
}

Note that I don't remember the names of the classes, so I suggest you check them using the Inspector,  the child class should be the one that has opacity and all the stuff, while the parent is the container.
Also if you want a wider browser support, you should do the same thing without using "area" feature. ( e.g. grid-template-columns and things like that )

good idea. I am now using grid if support. I check for grid with css feature detection and fallback to position absolute/relative if not supported. Thanks

Thanks @akeelm For the solution.
I face slightly different type of problem my Carousel was not working and after applying your following code
    mapStyles={(styles) => {       return {         position: (styles.opacity > 0.3) ? 'relative': 'absolute',         boxSizing: 'border-box',         width: '100%',         height: '100%',         opacity: styles.opacity,         transform: 'translateX(' + styles.offset + '%) scale(' + styles.scale + ')'       }     }}

here's a very simple example to get the basics
https://github.com/ueeieiie/simple-route-transitions


Use the Read and Write from the image crate: Read

tracked-by: #201

Could I take this up?

pr #213 should fix this, @foresterre .

Thanks! I should have time to look at this tomorrow.


Keep QueryBuilderType across method calls

I don't  know if this is currently even possible, but it would be nice, if Phpstan could determine the type of the QueryBuilder, even if it is defined in another method. Currently something like this results in a mixed return type:
    /**
     * @return array<Entity>
     */
    public function reuseQueryBuilder(): array
    {
        return $this->getQueryBuilder()
            ->getQuery()
            ->getResult();
    }

    private function getQueryBuilder(): QueryBuilder
    {
        return $this->createQueryBuilder('test');
    }

Hi, AFAIK this is what searchOtherMethodsForQueryBuilderBeginning setting does, and it's even on by default: https://github.com/phpstan/phpstan-doctrine/blob/938350f88659b5ae5ff4eb81a6ae1204486c234c/extension.neon#L9 so I'm not sure why it doesn't work for you?
Feel free to pair it with reportDynamicQueryBuilders: true (https://github.com/phpstan/phpstan-doctrine/blob/938350f88659b5ae5ff4eb81a6ae1204486c234c/rules.neon#L3) - you'll learn which query builders could not be determined by PHPStan because their code is too complicated.

OK, my original error was obviously more complex than this example and has been resolved with version 1.2.7. So thank you very much for that.
However, I noticed that in this simple case there is another problem. With reportDynamicQueryBuilders: true this logs "Could not analyse QueryBuilder with unknown beginning."
So I looked into this for a bit and I think I found the beginning of the reason, why this doesn't work. In this simple example, when
QueryBuilderDqlRule tries to resolve the type of getQuery, $this->getQueryBuilder() is a simple ObjectType, not SimpleQueryBuilderType.
If I add a method call on the QueryBuilder before calling getQuery, the type is properly resolved and no errors occur:
    /**
     * @return array<Entity>
     */
    public function reuseQueryBuilder(): array
    {
        return $this->getQueryBuilder()
            ->andWhere('test.foo = 1')
            ->getQuery()
            ->getResult();
    }

    private function getQueryBuilder(): QueryBuilder
    {
        return $this->createQueryBuilder('test');
    }

After seeing the tweet here. I tried to give it a try on local project. I think I'm running into the same issue:
Which Repositories look like this:  https://github.com/alexander-schranz/hexagonal-architecture-study/blob/e0b6cd46085e0cb548d02e648ad6d86255e9c301/src/event/src/Infrastructure/ORM/Doctrine/Repository/EventRepository.php#L136
In the findOneBy the result is still mixed:
$queryBuilder = $this->createQueryBuilder($filters);

$query = $queryBuilder->getQuery();
$result = $query->getResult();

\PHPStan\dumpType($result);

I tried to add a generic to the method return type e.g.:
* @return QueryBuilder<MyEntity>

But this ends still in mixed and a generic error:
  60     Dumped type: mixed
  119    PHPDoc tag @return contains generic type Doctrine\ORM\QueryBuilder<App\Event\Domain\Model\Event> but class Doctrine\ORM\QueryBuilder is not generic.

More details phpstan.neon, install versions, ...
My Package Versions related to phpstan:
jangregor/phpstan-prophecy                 1.0.0       Provides a phpstan/phpstan extension for phpspec/prophecy
phpstan/phpstan                            1.4.2       PHPStan - PHP Static Analysis Tool
phpstan/phpstan-doctrine                   1.2.7       Doctrine extensions for PHPStan
phpstan/phpstan-phpunit                    1.0.0       PHPUnit extensions and rules for PHPStan
phpstan/phpstan-symfony                    1.1.2       Symfony Framework extensions and rules for PHPStan
phpstan/phpstan-webmozart-assert           1.0.8       PHPStan webmozart/assert extension
thecodingmachine/phpstan-strict-rules      v1.0.0      A set of additional rules for PHPStan based on best practices followed at TheCodingMachine

My phpstan.neon
includes:
    - vendor/jangregor/phpstan-prophecy/extension.neon
    - vendor/phpstan/phpstan-symfony/extension.neon
    - vendor/phpstan/phpstan-doctrine/extension.neon
    - vendor/phpstan/phpstan-doctrine/rules.neon
    - vendor/phpstan/phpstan-phpunit/extension.neon
    - vendor/phpstan/phpstan-phpunit/rules.neon
    - vendor/phpstan/phpstan-webmozart-assert/extension.neon
    - vendor/thecodingmachine/phpstan-strict-rules/phpstan-strict-rules.neon
    - phpstan-baseline.neon

parameters:
    paths:
        - src
        - tests
        - config
    level: max
    excludePaths:
        - %currentWorkingDirectory%/vendor/*
        - %currentWorkingDirectory%/var/*
    doctrine:
        objectManagerLoader: tests/phpstan/object-manager.php
    symfony:
        container_xml_path: %currentWorkingDirectory%/var/cache/dev/App_KernelDevDebugContainer.xml
        console_application_loader: tests/phpstan/console-application.php

My object-manager.php:
<?php

declare(strict_types=1);

use App\Kernel;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Events;
use Doctrine\ORM\Tools\ResolveTargetEntityListener;
use Symfony\Component\DependencyInjection\ContainerInterface;

require \dirname(__DIR__) . '/bootstrap.php';

$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$kernel->boot();

/** @var ContainerInterface $container */
$container = $kernel->getContainer();

/** @var EntityManager $objectManager */
$objectManager = $container->get('doctrine')->getManager();

// remove ResolveTargetEntityListener from returned EntityManager to not resolve SuluPersistenceBundle classes
// this is a workaround for the following phpstan issue: https://github.com/phpstan/phpstan-doctrine/issues/98
$resolveTargetEntityListener = current(array_filter(
    $objectManager->getEventManager()->getListeners('loadClassMetadata'),
    static function ($listener) {
        return $listener instanceof ResolveTargetEntityListener;
    }
));

if ($resolveTargetEntityListener) {
    $objectManager->getEventManager()->removeEventListener([Events::loadClassMetadata], $resolveTargetEntityListener);
}

return $objectManager;


cannot run tests

When I run my tests I always reach: [NSException raise:NSInvalidArgumentException format:@"Class %@ is not a subclass of TyphoonAssembly",
I enter buildAssembliesWithClasses twice, but I don't know why ...

looks like one simple line in the Podfile fixed this issue => use_frameworks! ...


setCapability doesn't work

The problem
setCapability() doesn't work
Tell us about your environment

Selenide Version: 6.7.3
Chrome Version: 104.0.5112.102
OS Version: win 10

Code To Reproduce Issue
Configuration.browserCapabilities.setCapability(ChromeOptions.CAPABILITY, new ChromeOptions().addArguments("--incognito"))
Workaround
Configuration.browser = Incognito.class.getName();

public static class Incognito extends ChromeDriverFactory {
   public ChromeOptions createCapabilities(Config config, Browser browser, Proxy proxy, File f) {
        return new ChromeOptions().addArguments("--incognito").merge(createCommonCapabilities(config, browser, proxy));
   }
}

could be related to https://github.com/selenide/selenide/issues/676

You just need to simplify your code:
Configuration.browserCapabilities = new ChromeOptions().addArguments("--incognito");

It was described in release notes:
https://selenide.org/2021/11/24/selenide-6.1.1/#wrapping-browser-capabilities

Thanks a lot, Andrei!


test

/test

@kgracki looks great!
dont worry about failing tests - probably test user is not on the right plan (account has limitataions)


[SMALLFIX] Add ThreadSafe tag to TieredBlockStore

In the comment TieredBlockStore is stated to be thread safe. Therefore I'm updating the tag assuming the comment is more up-to-date.

@jiacheliu3 the comment is older than the annotation.  Although from looking at the code, I don't see why it is not thread safe.
@apc999 do you have more context here? Are we ok to mark it thread-safe?

@apc999 can you take a look?

@apc999 PTAL

alluxio-bot, merge this please


Support async for registerLoader

My project needs to do this, because the template content needs await to load. I tried everything including .then but it still doesn't work
Twig.extend(Twig => {
  Twig.Templates.registerLoader('customLoader', async (location, params) => {
   params.data = await example.get(location);
   params.allowInlineIncludes = true;
   const template = new Twig.Template(params);
   return template;
  });
 });

Please reference the built-in loaders for how they handle async. Async functions and returning promises from loaders is not supported yet, but callbacks are supported.


Error in hurdle calculate

Line 333 in print-battleground-state-changes
hurdle = (vote_diff + (votes_remaining * (candidate1_votes + candidate2_votes)) / votes) / (2 * votes_remaining) if votes_remaining > 0 else 0
This is the wrong formula for the two party hurdle because it takes into account the third party vote, which is irrelevant. This makes comparing the hurdle to the two party batch percentage an apples-to-oranges percentage. You should replace votes with the two party vote of candidate1_votes+candidate2_votes. This leads to a simplification of
hurdle = (vote_diff/votes_remaining + 1)/2 if votes_remaining > 0 else 0
For example, this is relevant for the current hurdle numbers for Trump in Arizona. With 110,925 votes remaining and a 20,102 BIden margin, Trump needs 59.1% of the remaining two party batch breakdown. Yet the current output says Trump's hurdle is just 58.3%. This is due to the error of including third party votes. Trump needs 58.3% of all the votes, but needs a higher amount of the two party vote.
Thank you so much for creating this.

Hey there! The original hurdle calculation actually used the formula you described. You can see the pull request where we changed it to the current iteration here: https://github.com/alex/nyt-2020-election-scraper/pull/200/files.
There isn't really a perfect way to tackle this when there are three candidates splitting the vote, only two of whom are really relevant. But the current scheme more accurately reflects what most people expect, according to the feedback we've gotten thus far.

It's matter of taste then, but I think you should switch back to the original hurdle formula. As is, the hurdle is misleading because it makes Arizona look closer than it actually is. It lowers the hurdle for Trump and many people, including myself, compare that hurdle to the two party batch breakdown to see if Trump is above or below that threshold.
Perhaps you could have an extra column that gives the two-party % hurdle and keep the current column as is. I and many others would greatly appreciate that because it then becomes an apples-to-apples comparison with the two-party Batch Breakdown. It becomes easier to gauge the horse race.
The wording on the Hurdle is also confusing because it states "Note that third party candidates are not included in the batch breakdown. This is intentional." Don't you think this clarification should be on the Batch Breakdown instead? The Hurdle column clearly DOES include the third party votes.

Thinking about this more, I can see that trying to compute the hurdle ratio is impossible with a third party involved. Therefore one needs an approximation. I haven't work out all the math yet, but my guess is that the current formula is a better approximation when the third party vote is small. Is that right?

Aha! I found the correct formula. Both my old formula and the new formula were wrong. It should be as follows
hurdle = (vote_diff * votes / ((candidate1_votes + candidate2_votes)*votes_remaining) + 1 ) / 2 if votes_remaining > 0 else 0

Please take a look at #367, I think this is along similar lines to what you are suggesting.

I wrote up a document that explains the differences between the two formulas.
Correct Hurdle Formula.pdf

I shouldn't say that the current formula is wrong. My apologies. It gives the percentage that the trailing candidate needs to receive out of the total vote remaining. However, my proposed formula gives the the hurdle percentage of the remaining two party vote, which seems much more relevant to compare to the Batch Trend column. The Batch Trend is the running average of the Batch Breakdown percentages, which are only between the two parties.

@eebasso Can you take a look at #367?

@eebasso This is a really great writeup (thanks for pulling out LaTeX for us)! We're asking you to look at #367 because we're fairly confident one of our devs landed on a very similar equation to what you've proposed here.

Thank you fractionalhare. I commented on #367. My confusion arises from why the current formula was chosen over the one I proposed. I would think that DT/(DT+DB) would be a better ratio to compare to the Batch Trend percentage compared to DT/(DT+DB+DL). I think that the Batch Trend percentage is showing the latter and not the former.