Fix optimistic created report shows infinite skeleton loading

Details

This PR makes the report screen renders immediately even when the report data is not available yet and we have a logic to overwrite the report data when the report Onyx is empty.
Fixed Issues

$ https://github.com/Expensify/App/issues/35906
$ https://github.com/Expensify/App/issues/37247
$ https://github.com/Expensify/App/issues/37234
PROPOSAL:
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

A. Same as QA Steps
B.

Create a new workspace room
Verify you are navigated to the workspace room chat and not to concierge chat
Verify the room name is correct

QA Steps

A.

Open a workspace chat
Turn off internet connection
Request money from the workspace
Open the transaction thread
Verify you are able to see the transaction thread details instead of infinite loading

B.

Create a new workspace room
Verify you are navigated to the workspace room chat and not to concierge chat

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/223dff13-3ca5-4b58-9b54-c9d43b995b2b
https://github.com/Expensify/App/assets/50919443/5a26c0f3-53b9-4347-b1b2-8af638ed29ba

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/787d2859-af3f-4208-a039-864af55129bf
https://github.com/Expensify/App/assets/50919443/0b0d8657-4ca2-44c6-9c1f-05fa4003314b

iOS: Native

https://github.com/Expensify/App/assets/50919443/b066c86e-876d-4332-9155-28e893329b1f
https://github.com/Expensify/App/assets/50919443/c83be0cd-7c67-4787-9005-c1ff7cc1b361

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/f6bc4e0a-d2c5-4cc2-9c11-af10c2e91541
https://github.com/Expensify/App/assets/50919443/6e7bf805-8b7f-4787-aa66-5a80c51adb94

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/f509d9b3-7cd0-48e3-af90-902463cd121a
https://github.com/Expensify/App/assets/50919443/03c657cc-3c42-4efb-aace-bbda0a2fde16

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/fccfa80d-a20b-444d-9f64-344153d9b91c
https://github.com/Expensify/App/assets/50919443/1ab09fd8-e087-4516-90c2-3efe4079c865

@ntdiary will take the review here.


[Bug] sqoop执行oracle到hive数据交换时,加载的驱动类错误导致任务执行失败

Search before asking

[X] I searched the issues and found no similar issues.

Exchangis Component
exchangis-job-launcher
What happened + What you expected to happen

sqoop引擎日志发现如下问题:

Relevent platform
exchangis-1.1.2-webank/linkis-1.3.1/sqoop-1.4.6/centos7.9
Reproduction script
无
Anything else
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

It had been resolved by pr #408 . The latest version is 1.1.2, the latest dss version is 1.1.2, and the latest linkis version is 1.4.0


[Marker.io] Number not within contianer

Reported by: Holly<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://na13-prezzee.webflow.io/en-us/about-us
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size2048 x 1152OSOS X 14.7.1Viewport Size1993 x 941Pixel Ratio@2x

🤖 Marker.io bot - 💬 Druhin Tarafder (Not Another™) commented:

Keeping this open but deferring it for now as it's a Phase 2 page.

Reply here


bindings/wasm => build fails due to "wasm-pack: command not found "

Navigate to bindings/wasm
Install packages with npm i or yarn
Build project with npm run build or yarn build
Error is shown

$ npm run build:web && npm run build:nodejs

><EMAIL_ADDRESS>build:web
> wasm-pack build --target web --out-dir wasm-web && node ./build/web && rm ./wasm-web/.gitignore

sh: wasm-pack: command not found

Fix: Add missing package to the list of dependencies
package.json
  "devDependencies": {
    ...
    "wasm-pack": "^0.9.1",
    ...
  },

Fair enough, didnt show up since i have it on global :)
Added in https://github.com/iotaledger/streams/commit/1625179c3064673616bb705153fc939e936b4151


[2483] Set correct env var to use as the host in the production.rb

Context
Set correct env var to use as the host in the production.rb

 Fix rails mailer link_to errors


create-domain-job.sh fails due to wrong permissions on shared folder

When trying to create my first domain using the operator, the
./create-domain-job.sh –i create-domain-job-inputs.yaml
fails with:
"The domain will be created using the script /u01/weblogic/create-domain-script.sh
mkdir: cannot create directory '/shared/domain': Permission denied
ERROR: Unable to create folder /shared/domain"
I am running on OCI having a "File System" mounted on each compute node:
The filesystem itself is mounted on "/wls/shared"
I have set "persistencePath: /wls/shared/persistentVolume001"
The directory "persistenVolue001" is being created, but owned as root. (Why is this?)
After changing the ownership to oracle (in my case) and chmod 777 the domain seems to create successfully

The problem came from the fact that our WebLogic docker image is running WLS as user oracle with uid 1000. On our OCI this uid 1000 maps to the os user "opc" which doesn't have enough permissions. So one either needs to start the docker container with a different uid or build a new WebLogic image using an oracle user with a different uid.


Get rangeBoundingClientRect range object selects the element but does not use the range object

Is this a bug?

Nice catch. Yes, that looks to be the case.


Update readme screenshots to reflect the new logo change

Hi there!
I'm interested in taking on this issue and updating the readme screenshots to reflect the new logo change. I'll start working on it right away. Let me know if there are any specific guidelines or requirements I should follow.
Thanks!

Go ahead!

hello sorry misunderstood the quiz, i'm not proficient in java

Hello!
I would like to ask if this issue is still in program or have been solved.


Update Radius secrets type to kubernetes.io/tls

Area for Improvement
This is to improve our Helm charts by making the types of our cert secrets kubernetes.io/tls.
Observed behavior
There is no type in our secrets as of now and that makes the types of these secrets Opaque.
Desired behavior
These secrets are holding certificate details and can be typed as kubernetes.io/tls.
Proposed Fix
Add the type kubernetes.io/tls to the secrets.
rad Version
RELEASE   VERSION   BICEP     COMMIT
0.29.0    v0.29.0   0.29.0    6abd7bfc3de0e748a2c34b721d95097afb6a2bba
Operating system
macOS, Apple Chip, Sonoma 14.2.1
Additional context

Would you like to support us?

[x] Yes, I would like to support you

AB#10890

We can add breakingchange section in the next release note for upgrade scenario. Making it right earlier is better than later.
cc/ @AaronCrawfis @rynowak

We can add breakingchange section in the next release note for upgrade scenario. Making it right earlier is better than later. cc/ @AaronCrawfis @rynowak

Sounds good. I can create a PR for this once we have the consensus.

Does this behave differently?

Does this behave differently?

In terms of behavior, kubernetes.io/tls secrets are automatically used by Kubernetes components that manage TLS communications. But, I think, in our case, because we pass the secret to the caBundle, it doesn't matter if the secret is of type Opaque or kubernetes.io/tls. Because Kubernetes components will automatically look at this property and will not do anything different if the type of the Secret is Opaque or something else. Please correct me if I am wrong @youngbupark.
For Radius users; if there is an existing installation and if the user does reinstall, reinstall can't find the Opaque secret and throws an error. So it is a breaking change.
I'd agree with @youngbupark that we can do it sooner rather than later.


remove console.log from distributed code

Summary of changes:
Intended/example use case:
Checklist:

[ ] npm run build runs without error
[ ] ng serve spawns app, Intercom messenger is visible and interactive, and there are no errors in the console

Closes issue: #

We are really looking forward to this feature coming in!

@dillonparfitt this was just to remove the console.log in our codebase – removing them all from your code is not a feature of ng-intercom.
However, we do have CaliStyle/NgEngine. It provides additional configuration options and a wrapper around console.log that won't show up in prod. Definitely check it out!


Issue with .si domains

I have issues with two .si domains (leanpay.si and kupinaobroke.si).
When trying to use python-whois via gcloud, I get "Error trying to connect to socket: closing socket", and all fields return as null ("expiration_date": null, etc).
Is there a workaround for this, or can this be added perhaps?

Works for me. Are you using latest version? I tested with b5623ed25cfa58d9457d30dae640e69b9e530b23. Please note that there might have been temporary issues with WHOIS server also.
>>> w = whois.whois('leanpay.si')
>>> print(w)
{
  "domain_name": "leanpay.si",
  "registrar": "DHH.si d.o.o.",
  "name_servers": [
    "ns-cloud-c1.googledomains.com",
    "ns-cloud-c2.googledomains.com",
    "ns-cloud-c3.googledomains.com",
    "ns-cloud-c4.googledomains.com"
  ],
  "registrant_name": "G1000772",
  "creation_date": "2017-08-07 00:00:00",
  "expiration_date": "2021-08-07 00:00:00"
}


Add SimpleDialogButton

The demo of the SimpleDialog had some useful code that should really be part of
the framework. This patch extracts it into a SimpleDialogButton widget.
Remove debugCheckHasScaffold because it is unused.
Also, add tests for InkWell, SimpleDialog, and other widgets.

@Hixie

PTAL


New checkbox "switch" style problem when using json as source

Describe the bug
First off, thank you so much for the latest <IP_ADDRESS>26 Preview build. I really love some of the enhancements and new features in this version.
I started playing around with the new "switch" checkbox style, as that's a really cool new addition, and I'm running into an inconsistency with it, depending it seems, on how it's initiated when calling Dialog.
What I'm finding is that if I craft a json string for just the checkboxes and call Dialog using regular shell command line flags and point it to the json for the checkboxes, I get the behavior I expect.
If on the other hand, I craft a full json file that has all the dialog attributes I want to display in it, and just point Dialog to that json file when it runs, the "switch" style for the checkboxes gets ignored.
To Reproduce
Take these 2 example scripts, which, technically I think should give me identical results, but they don't.
#!/bin/zsh

json_check='{
  "checkbox" : [
          {"label" : "Application One"},
          {"label" : "Application Two"},
          {"label" : "Application Three"},
        ]
}'

/bin/echo "$json_check" > "/var/tmp/check.json"

"/usr/local/bin/dialog" \
	--title "Selection Title" \
	--titlefont "name=SFProDisplay-Thin,size=21" \
	--message "This is the message" \
	--messagefont "size=14" \
	--icon "SF=arrow.down.circle.fill,weight=bold,color1=#38a7fc" \
	--iconsize "96" \
	--ontop \
	--button1text "Continue" \
	--button2text "Cancel" \
	--small \
	--checkboxstyle "switch,regular" \
	--jsonfile "/var/tmp/check.json"

The above gives me a dialog that looks like this.

All good so far! I told it to use the switch style and my checkboxes show up as expected.
Now take this script, which calls dialog using a full json file with all the attributes and flags in it at one time.
#!/bin/zsh

json_source='{
	"title" : "Selection Title",
	"titlefont" : "name=SFProDisplay-Thin,size=21",
	"message" : "This is the message",
	"messagefont" : "size=14",
	"icon" : "SF=arrow.down.circle.fill,weight=bold,color1=#38a7fc",
	"iconsize" : "96",
	"ontop" : 1,
	"button1text" : "Continue",
	"button2text" : "Cancel",
	"small" : 1,
	"checkboxstyle" : "switch,regular",
	"checkbox" : [
    	{"label" : "Application One"},
        {"label" : "Application Two"},
        {"label" : "Application Three"},
	]
}'

/bin/echo "$json_source" > "/var/tmp/dialog.json"

/usr/local/bin/dialog --jsonfile "/var/tmp/dialog.json"

This gives me a Dialog that looks like this.

Meaning it instead gives me the older style checkboxes, ignoring the "checkboxstyle" flag, it seems.
Now, maybe I'm doing something wrong here, but with older versions of dialog, I've been able to use a similar method of building my dialog with just a json file and everything would be respected.
Lastly, I found that if I remove the "checkboxstyle" : "switch,regular", from the full json file, and instead call Dialog like this
/usr/local/bin/dialog --checkboxstyle "switch,regular" --jsonfile "/var/tmp/dialog.json"

I get the expected results and my dialog matches the first image above.
So it seems like it just doesn't like having checkboxstyle within the json anywhere. If I don't actually remove it from the json and call it like the line above, it reverts to the old style checkboxes, so it in fact has to be removed from the json for it to work.
Is there something I'm missing here, or is this a bug? Maybe the json parser is missing something that tells it how to interpret that new flag?
Desktop (please complete the following information):

macOS Monterey 12.6.5
swiftDialog version: <IP_ADDRESS>26 Preview

Additional context
None

All good - exact type of stuff I want people reporting with this preview so thank you🙂

@mm2270 the correct syntax for checkbox style in json is the following:
{
 "checkboxstyle" : {
    "style" : "switch",
    "size"  : "large"
  }
}

Try that and let me know how it goes.

@bartreardon Yep! That worked. Thanks!


(angularjs) Column headers snap to offset position when switching between bootstrap.ui tabs

Dear,
When I use your plugin inside bootstrap.ui tabs (hybrid mode) the column headers get offset by the scrolled position when switching between tabs.
To reproduce

Add table into a tab
Scroll  till heards become fixed
Switch tab
Scroll in second tab
Switch back to first tab
Table headers will be offset by scrolled amount

Please see my fiddler  for a simple example with detailed instructions
https://jsfiddle.net/maxhap/Luhx29cf/
Browser Chrome Firefox IE (latest versions)
Any help solving this would be mostly appreciated and deserve a donation :D. This plugin is now used on many of my none tabed tables but would be fantastic if I could get this working.
Kind Regards
Max

This plugin supports bootstrap but not ui-bootstrap, but the fix is to trigger reflow on the table who's tab you are switching to.
I also saw another bug where the header was not being positioned correctly on init (i will look at this separately). Luckily for you there is a quick workaround - you need to trigger a reflow on the table post init.
Both of these fixes are here:
https://jsfiddle.net/Luhx29cf/1/
Thanks for a good issue report.

I thought you would say ui.bootstrapper isn't supported, it's so close to fully working too :D.
Looking at your fiddle update I see your fix almost worked. I did noticed that the the headers still flicker from their offset position back to the correct position. I extended the tab selection detection to remove the fixed headers from all none selected tabed tables, and then add fixed headers to the current table. With this amendment it works near perfect.
https://jsfiddle.net/maxhap/Luhx29cf/3/
I will put this into my real project (implemented a little cleaner) and see how it works on a much larger scale.
Thanks for the fast response, owe you a beer!

i noticed that uib-tabs also take an unselect (look at the docs, i might be wrong on the name).  You might be able to use that to destroy the plugin, or maybe try moving my reflow logic in there. The table has to be visible in order for reflow to work correctly, so it might not work - something you can play with

actually, you dont need to do any of that. try this:
https://jsfiddle.net/Luhx29cf/4/


Using trained models without imageAI

How can I use a trained model using imageAI on a machine that does not have it?
is there a fast way to export the model?
thanks

ImageAI currentlt doesn't support this feature.

ImageAI currentlt doesn't support this feature.


Upgrade to Blueprint v5

Description

Upgrades the version of BlueprintJS and related dependencies to v5 to future-proof the platform.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

How to test

All components work and look correct.
Checklist

[x] I have tested this code
[ ] I have updated the documentation

Despite no more compile errors, there are still some UI regressions, thus I'm keeping this PR as draft for now.

Do you recall what are the UI regressions here?

Despite no more compile errors, there are still some UI regressions, thus I'm keeping this PR as draft for now.

Do you recall what are the UI regressions here?

Yes, some tables/styles look wrong. I believe they might be because of conflicts with our custom stylesheets, but I have yet to look into them in more detail.
Though notably, the date/time picker component has been revamped in v5, so the UX there suffered a lot too (though I believe functionality still works).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-5 of 6 (16.67%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 37.202%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/features/remoteExecution/RemoteExecutionDeviceDialog.tsx
0
1
0.0%

src/pages/academy/groundControl/subcomponents/GroundControlEditCell.tsx
0
2
0.0%

src/pages/academy/storySimulator/subcomponents/StorySimulatorAssetSelection.tsx
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5723

Relevant Lines:
14458

💛  - Coveralls


Latest version is not the right version?

OhMyPosh latest version is 17.0.0 but the plugin says 9.5.0. Firefox is another example.
Maybe a option to choose the version would be nice.

Good point but it installs the latest version anyways. Even if it shows a different one.

Should be fixed now. At least for normal version strings.

works, thanks.


Please add a license file

I'd like to add this to awesome-zsh-plugins, but it doesn't have a license file.
Please add a license file - if you don't have one in mind,  I recommend using choosealicense.com to help choose an appropriate one.
Thanks!

Hello. Done b2b2e586cd5d00b1e4786f1205b169087b5243ba


The same text displays differently in different browsers

Please check this http://codepen.io/anon/pen/yyvNBx in Chrome and FireFox on Windows to see the issue.

@merskin Alex has solved this in some gadget by using an open-sans package
on NPM... should we do that here or do you have other opinions? Thanks!
On Thu, Mar 5, 2015 at 10:00 AM, Alexandr Parkhomenko <
<EMAIL_ADDRESS>wrote:

Please check this http://codepen.io/anon/pen/yyvNBx in Chrome and FireFox
on Windows to see the issue.
—
Reply to this email directly or view it on GitHub
https://github.com/Versal/versal-gadget-api/issues/73.

oops tag failure ^^ /cc @mereskin

Which package exactly?

https://github.com/FontFaceKit/open-sans

Really my point of tagging was you is for any advice how to solve the problem shown in the codepen. Some gadgets now fix it by using that package but obviously(?) we should fix it here.

@alexandr-parkhomenko would you care to include screenshots from both Chrome and Firefox on windows so we can see it at a glance here?
@possibilities How exactly does this package solve the problem? What is the difference in linking to CDN vs local version of font?

Also good questions for @alexandr-parkhomenko.
On Mon, Mar 9, 2015 at 5:54 PM, Andrey Mereskin<EMAIL_ADDRESS>wrote:

@alexandr-parkhomenko https://github.com/alexandr-parkhomenko would you
care to include screenshots from both Chrome and Firefox on windows so we
can see it at a glance here?
@possibilities https://github.com/possibilities How exactly does this
package solve the problem? What is the difference in linking to CDN vs
local version of font?
—
Reply to this email directly or view it on GitHub
https://github.com/Versal/versal-gadget-api/issues/73#issuecomment-77976400
.

On my PC:
http://www.webpagescreenshot.info/img/54fecfb44c5ed4-70545080 - Google Chrome 40.0.2214.115 m
http://imagizer.imageshack.com/img661/7203/stRqaC.png - FireFox 35.01
I checked issue on other PCs with Windows 7 and didn't find this issue, so issue could be closed.

Oh cool, it was a problem with your environment @alexandr-parkhomenko ?

Yes


fix: provider is by default null and account page redirect to provider setup

resolves #428

🐝 PR preview in Swarm
Preview URL: https://bah5acgzamo6o3kx4vndfgoicv5avpd47klfg4bl43d4qrptsbck2gcxvpshq.bzz.link
Swarm Hash: 63bcedaafcab46533902af41578f9f52ca6e057cd8f908be720895a30af57c8f
Commit Hash: fe3c2eb5aa88db2cb40fe217a862c0ce02fad76d
Commit Message: fix: provider is by default null and account page redirect to provider setup


Graph discrepancies from KW Panels

For definition, KW Panel compliant refers to a HazardEvent that has hasName and hasKWGEntity defined, or a Place that has hasKWGEntity and hasPlaceType defined (hasName is optional currently on Place entities because the main graph has many non named places)
Here is the Google Sheets spreadsheet that lead me to the following conclusions: https://docs.google.com/spreadsheets/d/1enzC86uybXngr6BBtf-Vi8NGfcwHVgvHWQOvlEgqGUw/edit#gid=934262946
Hazards

There are some hazards that are only HazardEvent, and don't have a specific type like Tornado. Should we include these entities?

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-resource%2Fhazard.1182714.5432781

There are also random entities that aren't of type HazardEvent, but have a specific hazard type. Should we ignore these?

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-resource%2Fhazard.100056.599517

For extra context, there are 1000+ NOAAWildfires in the graph, but only 1 is actually attached to HazardEvent:

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-resource%2FNOAAWildfire

Lastly I should note that these 1000+ fires are not KW Panel compliant, while the one fire that is a HazardEvent has the expected data:

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-resource%2Fhazard.1180930.5434012

Hurricane and Earthquake also have the same issue of having 1000s of records, but none of them are HazardEvents, and none are KW Panel compliant:

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FHurricane
https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FEarthquake

hasImpacted is connected to several fires, but all those fires are not KW Panel compliant, and seem to only have hasImpacted as a property

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FhasImpacted

affectedAreaInAcres and damageToCropsInDollars are also present but only attached to entities that are not KW Panel compliant:

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FaffectedAreaInAcres
https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FdamageToCropsInDollars

Places

sfWithin and sfTouches do not point to any KW Panel compliant Place entities.

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FsfWithin
https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FsfTouches

sfContains has the same problem, but there is 1 valid relation

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FsfContains
https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-resource%2Fcensus.USCensusMSA.31000US29820.2019

sfOverlaps has the same problem, but there are 27 valid relations

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FsfOverlaps

impactedBy does not point to any KW Panel compliant HazardEvent entities.

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FimpactedBy

Place Year Data

For this I am going to let the Google Sheets above speak for itself
For the 2018-2022 data, these properties exist and work, but some of them just aren't present in KWG Lite (so I assume they also are not in the main graph)
For the Jan2021-Dec2021 temperature properties, they all exist and have data, but are all attached to climate divisions that do not have a hasKWGEntity property, and therefore are not KW Panel compliant. Here's an example from 1 of those properties:

https://staging.knowwheregraph.org/graphdb/resource?uri=http:%2F%2Fstko-kwg.geog.ucsb.edu%2Flod%2Flite-ontology%2FminMonthlyTemperatureInCelsiusDec2021

@antreac Can you please narrow down which queries are causing these problems? For example, which queries construct a HazardEvent but don't have subtype?

@antreac Can you please narrow down which queries are causing these problems? For example, which queries construct a HazardEvent but don't have subtype?

Please note this issue is still in progress. I will comment again when it is finalized

I have updated the construct-queries.md document so it will be available once Cogan merge the pull request, after that please let me know if there are any more questions. I will check the issues mentioned above and reach out to you with questions. @fritosxii

Is this consistent across all HazardTypes, i.e., there are no more subclasses to HazardEvent?


ci: Add codecov.yaml to silence red-herring errors

functional_test.go:530: timeout after 30s waiting for condition


[Bug Report] Tree disabled checkbox When the first menu is selected by default, you need to double-click the unchecked state

Element UI version
2.5.4
OS/Browsers version
windows10/chrome
Vue version
2.6.7
Reproduction Link
https://jsfiddle.net/Ruraliu/thx3me5p/
Steps to reproduce
tree树形控件如链接中含有禁用状态的选中，一级复选框点击一次无法取消，点击两次才能取消
What is Expected?
一级复选框默认选中，单机即取消所有选中态
What is actually happening?
需要双击

pr welcome


Test strategy

Looking for feedback to the test strategy and manual test template and protocol.
Basics

[x] I added a line to /doc/CHANGELOG.md
[x] The PR is rebased with current master.

[x] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.

Checklist

[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added unit tests for my code
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
(exceptions are documented)
[ ] Code is consistent to our Design Decisions

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Examples are well chosen and understandable

What should we do with:
4. Performance Testing

?

5. Security Testing

?

Do I leave it like this for now or just delete it from the doc?

Thank you very much for the feedback. I also added a naming convention for the protocols. If we are fine with that, this should be ready to merge and I will open two new issues regarding:

Performance/Security testing strategies
doc/decision for testing tool selection

Great work, thank you!
Btw. Would be great to also get a picture of you on the landing page :+1:  If you are concerned about privacy, it can be artistic.


Build [error: conversion to ‘uint8_t {aka unsigned char}’ from ‘int’ may alter its value]

Some Errors from make.log:
OS: Ubuntu 15.04, x86_64
Build: make (build_all_native)
Revision: 91a0514
jerry-core/parser/js/js-parser.cpp: In function ‘uint8_t* parser_encode_literal(uint8_t*, uint16_t, uint16_t)’:
/jerryscript/jerry-core/parser/js/js-parser.cpp:411:16: error: conversion to ‘uint8_t {aka unsigned char}’ from ‘int’ may alter its value [-Werror=conversion]
       *dst_p++ = (uint8_t) (literal_index >> 8) | CBC_HIGHEST_BIT_MASK;

In function ‘void lexer_construct_regexp_object(parser_context_t*, int)’:
/jerryscript/jerry-core/parser/js/js-lexer.cpp:1751:19: error: conversion to ‘uint16_t {aka short unsigned int}’ from ‘int’ may alter its value [-Werror=conversion]
     current_flags |= (int16_t) flag;

@CodeKittey, what GCC version do you use?

@CodeKittey, it should work now. Could you check the current master?

Sry couldnt figure out during the day :(
Used gcc version 5.2.1
targets debug.linux and release.linux works fine
with build_all_native i get now another error:
jerry-core/ecma/builtin-objects/ecma-builtin-global.cpp: In function ‘ecma_builtin_global_object_encode_uri_helper’:
jerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-global.cpp:1066:19: error: ‘MEM[(lit_utf8_byte_t *)&octets + 3B]’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   lit_utf8_byte_t octets[LIT_UTF8_MAX_BYTES_IN_CODE_POINT];
                   ^

Related issue: #657


cmd/vet: PackageVetx in vet.cfg lists full transitive closure of package dependencies

We are building custom analysis driver for golang.org/x/tools/go/analysis.
Seems like current behaviour of go vet command contradicts documentations.
This paragraph states, that each pass has access only to facts from directly imported packages.
Each pass (a, p) starts with the set of facts produced by the same analyzer a applied to the packages directly imported by p.
I would expect, that PackageVetx section of vetx.cfg should contain the same number of entries as the PackageFile section.
But go vet driver lists .vetx files from full transitive closure of package dependencies. That seems less efficient and might cause problems with analysis scalability on large projects or in distributed build setting.
Could you please clarify, what the intended behaviour should be?
What version of Go are you using (go version)?

$ go version
go version go1.11.5 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/prime/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/prime/Code/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build362922290=/tmp/go-build -gno-record-gcc-switches"

What did you do?
go vet -n bytes
What did you expect to see?
PackageVetx section of vet.cfg should list only directly imported packages.
What did you see instead?
PackageVetx contains full transitive closure of package dependencies.

	"PackageVetx": {
		"context": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"encoding/base64": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"encoding/binary": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"errors": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"flag": "/home/prime/.cache/go-build/48/48d167f02fb6c29c9a15d692ec56e1885d291680c2cc1cc44b7b6549655c1af8-d",
		"fmt": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/bytealg": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/cpu": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/poll": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/race": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/syscall/unix": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/testlog": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"io": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"math": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"math/bits": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"math/rand": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"os": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"path/filepath": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"reflect": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/debug": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/internal/atomic": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/internal/sys": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/trace": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"sort": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"strconv": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"strings": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"sync": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"sync/atomic": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"syscall": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"time": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"unicode": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"unicode/utf8": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d"
	},

/cc @mvdan @alandonovan

But go vet driver lists .vetx files from full transitive closure of package dependencies.

As with type information, analysis facts also include information about methods and struct fields or imported types, even though they might come from indirectly imported packages. But it should still be much less than the complete transitive closure in most cases.
What command did you run, exactly?

$ ls
a.go
$ cat a.go
package vet

import "bytes"

func F() {
	_ = bytes.Buffer{}
}
$ go vet -x .
WORK=/tmp/go-build192890857
mkdir -p $WORK/b003/
mkdir -p $WORK/b009/
mkdir -p $WORK/b012/
mkdir -p $WORK/b014/
mkdir -p $WORK/b015/
mkdir -p $WORK/b005/
mkdir -p $WORK/b013/
mkdir -p $WORK/b004/
mkdir -p $WORK/b011/
mkdir -p $WORK/b010/
mkdir -p $WORK/b008/
mkdir -p $WORK/b007/
mkdir -p $WORK/b002/
mkdir -p $WORK/b001/
cat >$WORK/b001/vet.cfg << 'EOF' # internal
{
	"Compiler": "gc",
	"Dir": "/home/prime/Code/go/src/github.com/slon/vet",
	"ImportPath": "github.com/slon/vet",
	"GoFiles": [
		"/home/prime/Code/go/src/github.com/slon/vet/a.go"
	],
	"ImportMap": {
		"bytes": "bytes",
		"fmt": "fmt"
	},
	"PackageFile": {
		"bytes": "/usr/local/go/pkg/linux_amd64/bytes.a",
		"fmt": "/usr/local/go/pkg/linux_amd64/fmt.a"
	},
	"Standard": {
		"bytes": true,
		"fmt": true
	},
	"PackageVetx": {
		"bytes": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"errors": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/bytealg": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/cpu": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"internal/race": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"io": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/internal/atomic": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"runtime/internal/sys": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"sync": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"sync/atomic": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"unicode": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d",
		"unicode/utf8": "/home/prime/.cache/go-build/38/38d3730d3ea99899bdfe8bfbe3e1b6fb15ff67a8bc46ec86883faf956d4e9b55-d"
	},
	"VetxOnly": false,
	"VetxOutput": "$WORK/b001/vet.out",
	"SucceedOnTypecheckFailure": false
}
EOF
cd /home/prime/Code/go/src/github.com/slon/vet
TERM='dumb' /usr/local/go/pkg/tool/linux_amd64/vet $WORK/b001/vet.cfg

As with type information, analysis facts also include information about methods and struct fields or imported types, even though they might come from indirectly imported packages.

I'm not an expert in go compilation process, so forgive me if i'm wrong. But it seems that in the case of type information all indirect typeinfo is "pulled-along" into .a files. So that only direct dependencies are needed for compilation.
Rob Pipe specifically mentions that fact in his talk https://youtu.be/rKnDgT73v8s?t=880
For example, see https://github.com/slon/vet/blob/master/inner/b.go . This package implicitly uses io.Writer interface. But go compiler is able to build this package without io.a file.
$ go build -x github.com/slon/vet/inner/
WORK=/tmp/go-build554605437
mkdir -p $WORK/b001/
cat >$WORK/b001/importcfg << 'EOF' # internal
# import config
packagefile github.com/slon/vet=/home/prime/.cache/go-build/30/30b1d9659c97fea230f63500e216e6dc22af6d2293eeeb91cad440c900a67a8f-d
EOF
cd /home/prime/Code/go/src/github.com/slon/vet/inner
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/b001/_pkg_.a -trimpath $WORK/b001 -p github.com/slon/vet/inner -complete -buildid I0CqKT0XkQVU4cpqjWQG/I0CqKT0XkQVU4cpqjWQG -goversion go1.11.5 -D "" -importcfg $WORK/b001/importcfg -pack -c=4 ./b.go
/usr/local/go/pkg/tool/linux_amd64/buildid -w $WORK/b001/_pkg_.a # internal
cp $WORK/b001/_pkg_.a /home/prime/.cache/go-build/03/03c6bcb1778b1b4311a50e56ccbcc52eacc07aca7043deeb8db815274391fc1d-d # internal

@alandonovan what do you think?

Thanks. It does appear that the set of .vetx files equals the transitive closure:
% go list -deps bytes | sort
bytes
errors
internal/bytealg
internal/cpu
internal/race
io
runtime
runtime/internal/atomic
runtime/internal/math
runtime/internal/sys
sync
sync/atomic
unicode
unicode/utf8
unsafe

I didn't write this code (see https://tip.golang.org/src/cmd/go/internal/work/exec.go#L1009); it's possible that it was necessary in the original version of vetx but I would expect the set of keys of PackageFile is all that is needed. (Even the "fmt' entry, which is artificially inserted, need no longer be treated specially for vet.)
@rsc @bcmills

@dmitshur is there any way I can help with investigation?

@slon Sure. Take a look at https://golang.org/wiki/HandlingIssues to become familiar with what's needed to transition to the next state of NeedsDecision or NeedsFix.
Alan has started investigating this and pinged two other people who are familiar with cmd/vet. You should see if there's some information or understanding they need that you can help provide. You might have to wait for them to have a chance to look into this first.

I am not actively investigating this. My advice would be to try to change the logic in cmd/go so that it provides the exact same set of .vetx files to vet as it provides .a files to the compiler, then run all the vet tests.

The fix turned out very small.
diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
index 1f91046eb1..d3cefa35e6 100644
--- a/src/cmd/go/internal/work/action.go
+++ b/src/cmd/go/internal/work/action.go
@@ -417,7 +417,7 @@ func (b *Builder) vetAction(mode, depMode BuildMode, p *load.Package) *Action {
                } else {
                        deps = []*Action{a1, aFmt}
                }
-               for _, p1 := range load.PackageList(p.Internal.Imports) {
+               for _, p1 := range p.Internal.Imports {
                        deps = append(deps, b.vetAction(mode, depMode, p1))
                }

After rebuilding toolchain with make.bash, all tests in ../bin/go test cmd/vet are still passing.
./all.bash is passing.
All tests in master branch of golang.org/x/tools/go/analysis repository are also passing.
Tried running go vet -x and manually checking vet.cfg. PackageFile and PackageVetx match, except for artificially inserted fmt.
{
	"ID": "bytes",
	"Compiler": "gc",
	"Dir": "/home/prime/Code/golang/src/bytes",
	"ImportPath": "bytes",
	"GoFiles": [
		"/home/prime/Code/golang/src/bytes/buffer.go",
		"/home/prime/Code/golang/src/bytes/bytes.go",
		"/home/prime/Code/golang/src/bytes/reader.go",
		"/home/prime/Code/golang/src/bytes/export_test.go"
	],
	"NonGoFiles": [],
	"ImportMap": {
		"errors": "errors",
		"fmt": "fmt",
		"internal/bytealg": "internal/bytealg",
		"io": "io",
		"unicode": "unicode",
		"unicode/utf8": "unicode/utf8"
	},
	"PackageFile": {
		"errors": "/home/prime/Code/golang/pkg/linux_amd64/errors.a",
		"fmt": "/home/prime/Code/golang/pkg/linux_amd64/fmt.a",
		"internal/bytealg": "/home/prime/Code/golang/pkg/linux_amd64/internal/bytealg.a",
		"io": "/home/prime/Code/golang/pkg/linux_amd64/io.a",
		"unicode": "/home/prime/Code/golang/pkg/linux_amd64/unicode.a",
		"unicode/utf8": "/home/prime/Code/golang/pkg/linux_amd64/unicode/utf8.a"
	},
	"Standard": {
		"errors": true,
		"fmt": true,
		"internal/bytealg": true,
		"io": true,
		"unicode": true,
		"unicode/utf8": true
	},
	"PackageVetx": {
		"errors": "/home/prime/.cache/go-build/e3/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d",
		"internal/bytealg": "/home/prime/.cache/go-build/e3/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d",
		"io": "/home/prime/.cache/go-build/e3/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d",
		"unicode": "/home/prime/.cache/go-build/e3/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d",
		"unicode/utf8": "/home/prime/.cache/go-build/e3/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d"
	},
	"VetxOnly": false,
	"VetxOutput": "$WORK/b001/vet.out",
	"SucceedOnTypecheckFailure": false
}

Thanks. The fix may be small, but I couldn't find it in 10 minutes. :)
Please send a CL to @bcmills or @rsc as they know this code.

@alandonovan would you please assist me with getting this change merged?
Looks like my CL was not done properly, since it is still open without reply :(

@slon, thanks for the fix. Is there anything remaining to do here, or should we close this issue?

We're done.
Thank you.


Update the UI of the application

To make it more personalised and to ensure a better user experience

Done.


Weird combination results

Howdy!
I'm using this excellent lib to generate keyboard layouts, but combining (unioning) shapes only seemed to work on one side, not the other. Attached is a fairly reduced JSON example of the expected behaviour and the error as well (the objects are the same, only the bad is mirrored and translated a bit).
makerjs_debug.zip
The error happens when trying to combine the a and b parts of the models like so:
const json = <read json>
const combined = makerjs.model.combineUnion(json.models.a, json.models.b)

Everything is fine for the "good" input, while the result of the "bad" seemingly disappears.
After making sure that it's not due to my code, I rolled up my sleeves and went deep.
Turns out that the disappearance is because a line is incorrectly left out, and all the rest is then discarded as "dead ends".
It all leads back to isSlopeEqual is equal.ts, where both the slopes and the yIntercepts are checked to be within .00001 of each other.
The problem is that while slopes are always on the same scale, the differences of the yIntercepts can vary drastically with distance from the axis. So even if the slopes are well within .00001 of each other, the intercepts might not be after a certain distance.
My very simplistic, quick&dirty fix was to scale the yIntercept comparisons to a constant range, thereby making it independent of position.
Wdyt about this addition? Should I open a pull request or would another solution be more fitting long-term?

Howdy @mrzealot ! Thanks for digging deeply into the issue. Boolean combinations are definitely turning up many issues here. Does your fix work against the unit tests? npm test

Sadly ran into another issue, which is not connected to (nor solved by) my previous fix, but it's a "weird combination result" regardless...
Code to reproduce on the demo site:
var m = require('makerjs');

function f() {

const base = new m.models.RoundRectangle(10, 10, 1)
const a = m.model.move(new m.models.Rectangle(10, 10), [5, 5])
const b = m.model.move(new m.models.Rectangle(10, 10), [5, -5])

const base_plus_a = m.model.combineUnion(base, a)

const error = m.model.combineUnion(base_plus_a, b)
return error

}

module.exports = f;

Attached are three images, one for how these shapes look stacked, a second for how base and A combines well, and a third showing how unioning base+A to B messes things up.

Will try to do another round of digging, but let me know if you have any ideas @danmarshall !

Phew, found this as well. Turns out the automatically generated farPoint was a really poor choice, as it accidentally lead to the exact angle where the lineToFarPoint was tangential to the second rectangle, and therefore isPointInsideModel considered it to be inside when it wasn't (in the case of the bottom left corner arc). When I manually specify a farPoint among the combination options, it works like a charm.
This is just a workaround, tho, as I don't have a general solution... Maybe the confidence could be increased by checking against multiple farPoints and seeing if they agree, but I don't see how it ever gets certain. Anyways, the point is that isPointInsideModel should be thinking about tangents as well. Hope this helps...

Thanks for digging into the issue @mrzealot . I've been working on a new algorithm, but it's not yet complete. If you're feeling bold, you can try it out from source: https://github.com/microsoft/maker.js/tree/combine-sweep-expand-wip

Sounds really promising! I assume my previous PR won't be needed, then.
To be honest, tho, the layout generator I'm writing is itself a side-quest, and the makerjs debug it introduced was a side-side-quest :D So I'm very much looking forward to getting back on track (if the combination results choose to support me going forward)... But do let us know when the new internals are ready!

Hey @danmarshall , any news on this front? Just noticed that my generator utility still has to depend on my "pirated" fork of makerjs and thought I'd ask if the new algorithm is coming anytime soon? Or if not, could my above fix be incorporated into an interim release so that I can just say "makerjs" in my package.json? :slightly_smiling_face:

Hey @danmarshall , any news on this front? Just noticed that my generator utility still has to depend on my "pirated" fork of makerjs and thought I'd ask if the new algorithm is coming anytime soon? Or if not, could my above fix be incorporated into an interim release so that I can just say "makerjs" in my package.json? :slightly_smiling_face:

Hi @mrzealot , thanks for checking in :) I haven't progressed with my solution yet. At this point I have been considering a substantial change - introducing a new mild bezier path, and that is taking some thought.

Hi @mrzealot , thanks for checking in :) I haven't progressed with my solution yet. At this point I have been considering a substantial change - introducing a new mild bezier path, and that is taking some thought.

Ah, gotcha.  Just wondering whether a bugfix release to npm would be possible in the meantime? It's a minor change, it's tested, and also a third reason I can't think of right now. :)

Ah, gotcha.  Just wondering whether a bugfix release to npm would be possible in the meantime? It's a minor change, it's tested, and also a third reason I can't think of right now. :)

I can take a PR. Looking at your code, and revisting the comparison of y-intercepts, I wonder if it makes more sense to just compare a to b with the rounding (remove the factor altogether?)

I can take a PR. Looking at your code, and revisting the comparison of y-intercepts, I wonder if it makes more sense to just compare a to b with the rounding (remove the factor altogether?)

I'm not sure what you mean... I introduced the factor here explicitly because of scaling issues (see first comment). The subsequent commit just makes it more robust and adds tests. Or am I missing something?

I'm not sure what you mean... I introduced the factor here explicitly because of scaling issues (see first comment). The subsequent commit just makes it more robust and adds tests. Or am I missing something?

Given the original  line:
return round(slopeA.yIntercept - slopeB.yIntercept, .00001) == 0;

It seems like changing the factor is effectively the same as changing the .00001 to something less.

Given the original  line:
return round(slopeA.yIntercept - slopeB.yIntercept, .00001) == 0;

It seems like changing the factor is effectively the same as changing the .00001 to something less.

How about if precision was an option that you could pass in? We'd have to thread it through the options for combine, etc.

Sure, that would be an elegant addition (which I've also thought about). But I think that would only be relevant in addition to this dynamic scaling, not instead of. There's no sense in being able to set the precision if it can be messed up by having your objects be (or move) further away from the y axis.
I mean, it could work with just the option, sure, but then precision doesn't mean what it should mean to the users. They can adjust it lower to accommodate far away objects, but then their near objects might theoretically suffer from an increased imprecision.

Sure, that would be an elegant addition (which I've also thought about). But I think that would only be relevant in addition to this dynamic scaling, not instead of. There's no sense in being able to set the precision if it can be messed up by having your objects be (or move) further away from the y axis.
I mean, it could work with just the option, sure, but then precision doesn't mean what it should mean to the users. They can adjust it lower to accommodate far away objects, but then their near objects might theoretically suffer from an increased imprecision.

@mrzealot I've been digging into your test cases and understanding the issue with the slopes. Thanks for adding the test cases, that was really helpful. Also thanks for debugging the farPoint issue (which will not be used in the new algorithm). Does using your farPoint solution fix the issue you are having? Because I'm starting to believe that these two lines:
        var line1 = new makerjs.paths.Line([1, 0], [2, 2]);
        var line2 = new makerjs.paths.Line([1, 0], [2, 2.000001]);

Should not be considered as having the same slope. It is true as you say, the further translated away from the y axis, the bigger the problem gets.

@mrzealot I've been digging into your test cases and understanding the issue with the slopes. Thanks for adding the test cases, that was really helpful. Also thanks for debugging the farPoint issue (which will not be used in the new algorithm). Does using your farPoint solution fix the issue you are having? Because I'm starting to believe that these two lines:
        var line1 = new makerjs.paths.Line([1, 0], [2, 2]);
        var line2 = new makerjs.paths.Line([1, 0], [2, 2.000001]);

Should not be considered as having the same slope. It is true as you say, the further translated away from the y axis, the bigger the problem gets.

@danmarshall Thanks! And yes, the farPoint stuff turned out to be completely unrelated, and can be circumvented by using a random value within the combination options.
As for the slopes, the optimal solution would be doing both. As in, allowing the user to set within what precision they consider two lines as having the same slope, but also dynamically scaling said precision so that distance from the y axis doesn't affect it. Both are justified, but the dynamic part is way more important (as the default precision of .00001 is fine for most cases). If you don't want my test case to be considered equal, tho, then the additional precision option is also needed.
Imho, let's just merge the dynamic stuff for now, and leave the parametric precision to the refactored codebase (if still relevant). Wdyt?

@danmarshall Thanks! And yes, the farPoint stuff turned out to be completely unrelated, and can be circumvented by using a random value within the combination options.
As for the slopes, the optimal solution would be doing both. As in, allowing the user to set within what precision they consider two lines as having the same slope, but also dynamically scaling said precision so that distance from the y axis doesn't affect it. Both are justified, but the dynamic part is way more important (as the default precision of .00001 is fine for most cases). If you don't want my test case to be considered equal, tho, then the additional precision option is also needed.
Imho, let's just merge the dynamic stuff for now, and leave the parametric precision to the refactored codebase (if still relevant). Wdyt?

I would say, if you have a workaround, and we don't need the slope stuff, then let's not change it.

I would say, if you have a workaround, and we don't need the slope stuff, then let's not change it.

But we do need the slope stuff! I'm probably not explaining this right... Lemme try again:
The farPoint stuff is a separate issue. I had just initially thought it was related, but it wasn't. I have a workaround for that, no need to do anything there.
The slope stuff is a bug, and my use-case depends on it working correctly. I don't have a workaround for that, this is why I'm pestering you to merge my fix. :slightly_smiling_face:

But we do need the slope stuff! I'm probably not explaining this right... Lemme try again:
The farPoint stuff is a separate issue. I had just initially thought it was related, but it wasn't. I have a workaround for that, no need to do anything there.
The slope stuff is a bug, and my use-case depends on it working correctly. I don't have a workaround for that, this is why I'm pestering you to merge my fix. :slightly_smiling_face:

@mrsealot, thanks again for the thoughtful discussion, and great find of this bug. Please see PR #485 which I hope solves this.

@mrsealot, thanks again for the thoughtful discussion, and great find of this bug. Please see PR #485 which I hope solves this.


Should the dependency, test_tube, be explicity stated in the readme at the top?

Right after the first example using CoolSystem, the readme starts using test_tube to introduce tensorboard logging. After looking at the setup.py file, it becomes clear that test_tube is a hard dependency.
To reduce cognitive load on readers, it may be good to link to https://github.com/williamFalcon/test-tube right before the code that imports test_tube.

good suggestion. Mind submitting a quick PR for that?

been thinking about bringing some of the test-tube stuff into Lightning, but i kind of like the idea of keeping it separate so other libraries can use it. Any thoughts?

IMO the Slurm stuff from test-tube belongs in lightning (or a third entirely separate library). The other functionality would be good to keep separate. I want to take a stab at #47 sometime soon. From that perspective, we'd rather not have any functionality in Lightning that overlaps with MLFlow and friends.

There looks to be bunch of nice features in test-tube that pytorch-lightning takes advantage of. If some of the Slurm stuff were moved here and you fix a bug in test-tube, it would need to be copied here as well.
Another option is to vendor test-tube into the pytorch-lightning library. In the examples, it can look something like:
from pytorch_lightning.test_tube import Experiment
from pytorch_lightning.test_tube.hpr import SlurmCluster

As for support other logging libraries, this may need to directly integrated into test_tube as it can manage logging in a cluster. As you said in #47:

Each call to log needs to be process-safe. Meaning when using distributed only rank=0 will log.


BigQuery json upload

Sorry, newb here. I can't figure out how to stream json data (a dictionary) correctly into BigQuery. The closest I can get is below. This works except 'Name', 'Time', and 'Value' are inserted into the table, instead of their corresponding values. Really appreciate any help.
data = {'Name':'test1',
'Time':'test',
'Value':'test3'}
rows = [data]
errors = table.insert_data(rows)

Hi @jwcook23,
As the schema is specified in advance (see the quickstart), insert_data takes a list rather than a dictionary. Provide a list (or tuple) and you should get the results you want.

@lukesneeringer Thanks for the response. I should have provided more information.
My ultimate goal is to publish a message using PubSub, and have Dataflow insert the data into BigQuery. My understanding is the Published message must be JSON. To test before implementing the Dataflow, I wanted to directly put JSON into BigQuery. It's difficult for me to comprehend what the table schema should look like when I have to jump from using a list, to publishing a JSON object.


Support single line comments

Fix #9 (hopefully)
As discussed in #9, I added support for single line comments. I would appreciate some feedback on the implementation as I'm still pretty new to writing tree-sitter grammars.
I copied all the multiline comment tests and adapted them to work for single lines. I had to split them into one line each, I think because the grammar tries to match the entire code block, and thus cannot match multiple single-line comments at once. Probably the injections will need to be updated.
Even though the tests all pass, it is still not working correctly in nvim. Maybe you have some idea there?

Here is the injection I am using, which is adapted from here: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/cpp/injections.scm#L7-L9
require('vim.treesitter.query').set('cpp', 'injections', [[
((comment) @injection.content
  (#lua-match? @injection.content "/[*/][!<*][^a-zA-Z]")
  (#set! injection.language "doxygen"))
]])

By the way, I also noticed that there are errors in multiline comments if the ending */ is on the same line. I think that's the cause for the problem shown in this comment: https://github.com/tree-sitter-grammars/tree-sitter-doxygen/issues/9#issuecomment-1702276535

I cherry-picked your changes onto master since there were conflicts, seems reasonable so thanks for getting it started. And for why it doesn't work in nvim, it won't work for multiple lines of comments because you'd have to combine them.


Netopeer2 daemon comes up ,due to Notifcation changes, causes sysrepo crash

Hi Michal
we Updated to sysrepo/devel to 2e5fd2a..578698f
Netopeer Init logs ( looks like netconf-server endpoints get request fails )
netopeer2-server[24170]: (cl_message_recv:211) Sysrepo server disconnected.
netopeer2-server[24170]: (cl_request_process:449) Unable to receive the message with response (session id=1326882673, operation=get-items).
netopeer2-server[24170]: (sr_get_items_iter:1030) Sending get_items request failed '/ietf-netconf-server:netconf-server/listen/endpoint[ssh]//*'
netopeer2-server[24170]: Failed to get "The peer disconnected" values iterator from sysrepo (`).
netopeer2-server[24170]: Server init failed.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=unsubscribe).
netopeer2-server[24170]: (cl_subscription_close:243) Error by processing of the request.
netopeer2-server[24170]: (cl_sm_cleanup:1756) Client Subscription Manager successfully destroyed.
netopeer2-server[24170]: (sr_unsubscribe:2845) Error by closing of the subscription: The peer disconnected.
netopeer2-server[24170]: (cl_message_send:170) Error by sending of the message: Broken pipe.
netopeer2-server[24170]: (cl_request_process:438) Unable to send the message with request (session id=1326882673, operation=session-stop).
netopeer2-server[24170]: (sr_session_stop:571) Error by processing of the request
sysrepo aborts during netopeer2 init
yang_read_module: Assertion `module' failed.
Aborted
see the logs below
[DBG] (cm_out_notif_process:1376) Sending a notification to '/tmp/sysrepo-subscriptions/ietf-netconf-server/24170.TgSG4c.sock'.
[DBG] (sm_connection_find_dst:573) Cannot find the connection with dst_address address='/tmp/sysrepo-subscriptions/ietf-netconf-server/24170.TgSG4c.sock'.
[DBG] (cm_out_notif_process:1391) Creating a new connection for the notification destination '/tmp/sysrepo-subscriptions/ietf-netconf-server/24170.TgSG4c.sock'
[DBG] (sm_connection_start:353) New connection started successfully, fd=16, conn ctx=0x6976d0.
[DBG] (cm_conn_buffer_expand:477) Output buffer for fd=16 expanded to 1024 bytes.
[DBG] (cm_conn_out_buff_flush:505) Sending 111 bytes of data.
[DBG] (cm_conn_out_buff_flush:511) 111 bytes of data sent.
[DBG] (sr_cbuff_dequeue:532) Circular buffer dequeue, new buffer head=4, count=0.
[DBG] (rp_get_items_req_process:783) Processing get_items request.
[INF] (rp_dt_get_values_wrapper_with_opts:1355) Get items request startup datastore, xpath: /ietf-netconf-server:netconf-server/listen/endpoint[ssh]//*, offset: 0, limit: 100
[DBG] (ac_set_identity:155) Switching identity to UID='0' and GID='0' (username: root).
[DBG] (dm_load_data_tree_file:1122) Loaded module ietf-netconf-server: mtime sec=1491462550 nsec=836638489
[DBG] (dm_load_data_tree_file:1189) Usage count ietf-netconf-server incremented (value=1)
[INF] (dm_load_data_tree_file:1195) Data file /etc/sysrepo/data/ietf-netconf-server.startup loaded successfully
[DBG] (ac_set_identity:155) Switching identity to UID='0' and GID='0' (username: root).
[DBG] (dm_load_data_tree_file:1122) Loaded module ietf-keystore: mtime sec=1491462550 nsec=619638475
[DBG] (dm_module_clb:446) CALLBACK FOR MODULE (null) urn:ietf:params:xml:ns:yang:ietf-keystore
sysrepod: /mnt/local/satheeshk/git_open_prj/devel_branch/libyang/src/parser_yang.c:2680:
yang_read_module: Assertion `module' failed.
Aborted

Please do not duplicate issues, you wrote the same in #120.


Fixed the default size of Text

Motivation

In my opinion, Text should be the same size as TexText.
But after the introduction of manimpango in #1383 , it seems that the size of Text is different on different machines.
For this problem, there are some issues: ManimCommunity/ManimPango#52, #1399, #1405, #1497, #1533.
My idea is to compare the height of a Text letter and TexText letter when rendering a scene with Text for the first time to get the scale_factor required by Text.
I think this idea may not be the best, but it does ensure that the size of Text is consistent with TexText on different machines. And I have come up with no other good solutions.
In addition, I have doubts about the reason why the system DPI affects the size of the text. I think this may not be a problem within manimgl?
Closes #1497.
Closes #1533.
Proposed changes

manimlib/mobject/svg/text_mobject.py: fixed the size of Text on different machines
docs/: docs has been changed for this change

Test

Code:
class Test1(Scene):
    def construct(self):
        tex = TexText("TexText")
        text = Text("Text")
        VGroup(tex, text).arrange(RIGHT, aligned_edge=DOWN)
        self.add(tex, text)

Result:

After thinking about it a bit more, I think this makes sense to merge as a temporary fix. I agree it's not perfect, and in some ways its uncomfortably hacky, but it is desirable to have Tex match Text, and until someone implements a better solution we might as well have it here.


bug(module:affix): affix doesn't work in Chrome

Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-start-uce5ez?file=src/app/app.component.html
Steps to reproduce
<nz-tabset>
	<nz-tab nzTitle="Tab 1">
		Content of Tab Pane 1
	</nz-tab>
	<nz-tab nzTitle="Tab 2">
		Content of Tab Pane 2
    <nz-affix nzOffsetBottom="0">
			<button nz-button [nzType]="'primary'">
        Affix bottom
      </button>
    </nz-affix>
	</nz-tab>
	<nz-tab nzTitle="Tab 3">
		Content of Tab Pane 3
	</nz-tab>
</nz-tabset>

What is expected?
nz-affix sticks to the bottom
What is actually happening?
nz-affix goes to the topmost left corner (0, 0)

Environment
Info

ng-zorro-antd
8.3.1

Browser
79.0.279.0

Related issue: #4070
PR to blame: #4161

Here you can see it working perfectly fine in 8.3.0

Does 8.4.0 fix this?

You can change line 5 to <nz-tab nzTitle="Tab 2" nzForceRender>.
Acutally this bug comes from the tab component. Because before DOM of the second tab is created the affix component instance has been initialized. As a matter of fact, when you put carousel in tabs component, it would fail to get the correct height, either.
The old version do redundant calculations and occasionally covered this bug.
cc @vthinkxie

@Svetomechc Interested in a PR? A possible solution maybe to execute updatePosition of NzAffixComponent async.

@wendzhue you changed your mind about a PR? I understand your comment is since outdated, so that's why you probably deleted it, but it still doesn't change the fact a PR is needed. just not for nz-affix, but for nz-tabset component. Right?

@Svetomechc I thought about it. My suggested solution seemed wrong: The affix component doesn't know when should it updates its position unless the tabset components tells it. But in that way we are coupling these two components. 😢

@wendzhue maybe return the extra checks present in affix component before?

@Svetomechc If you do not use nzForceRender, Angular component instances would be created as well. They only performance cost is reflow of the content of the second tab when you use nzForceRender.

https://www.loom.com/share/dfec9880748e4ed7a51ac05b9748cb78
Doesn't really work on your demo page does it....


Inject pull secrets for initcontainers & containers and use global anchor

Related issue

Milestone of this PR

What type of PR is this

Proposed Changes

This PR includes two items:

Change other/add-imagepullsecrets.yaml to use global anchor for Kyverno >= 1.4.3 (let me know if perhaps this should be a separate sample?)

New sample other/add-imagepullsecrets-for-containers-and-initcontainers.yaml that adds an image pull secret of any of containers or init containers refer to a private repo.

Proof Manifests

Checklist

[X] I have read the contributing guidelines.

[] I have added tests that prove my fix is effective or that my feature works.

[] My PR contains new or altered behavior to Kyverno and

[] I have read the PR documentation guide and followed the process including adding proof manifests to this PR.

Further Comments

Let me know if there's anything else needed, I couldn't see any tests for mutation policies here, but maybe missed something.
/cc @realshuting

@viveksahu26 @vyankyGH - another mutate policy needs to be covered. Is the mutate change ready?


ENH: update package version

Hi! This is the friendly automated conda-forge-webservice.
I've started a version update as instructed in #32.
I'm currently searching for new versions and will update this PR shortly if I find one! Thank you for waiting!
Fixes #32

@conda-forge-admin rerender


Setting Style for Coulmn comparing column values of given row.

What version of React-Table are you using?
Your bug may already be fixed in the latest release. Run yarn upgrade react-table!
"react-table": "^6.6.0"
What bug are you experiencing, or what feature are you proposing?
I have Table with following Columns : Name, AvgTemp, AvgTempSP.
The table loads fine and displays the value. As per the requirement i need color code the AvgTemp cell 1.) Green,  if(AvgTemp<AvgTempSP)
2.) Red, if (AvgTemp === AvgTempSP+1)
3.) Yellow, if (AvgTemp > AvgTempSP+1)
Condition 1 works fine, condition two always returns false and so Condition 3 is displayed.
Use https://codesandbox.io/s/X6npLXPRW (by clicking the "Fork" button) to reproduce the issue.
Then paste a link to your newly forked code sandbox here...
render(){
if(this.state.data != undefined )
{
return(
<ReactTable
data={this.state.data}
columns= {[
{
Header:"Data Display",
columns:[
{
Header: "Name",
accessor:"name",
width:300
},
{
Header: "Avg Temp (°F)",
accessor:"avgTemp",
getProps: (state, rowInfo, column) =>{
if(rowInfo != undefined){
return {
style: {
background: rowInfo.row.avgTemp <= rowInfo.row.avgTempSP ? '#85cc00'
: rowInfo.row.avgTemp   === rowInfo.row.avgTempSP+1 ? 'red' : 'yellow'
}
}
}
                        }
                    },
                    {
                        Header: "Avg Temp SP (°F)",
                        accessor:"avgTempSP"
                    }
                ]}

            ]}
            showPagination = "false"
            defaultPageSize = {5}
            pageSizeOptions= {[5, 10, 20, 37]}
            minRows = {2}
            className="-striped -highlight"
         />
    );
    }
else{
            return (

);
}

}
What are the steps to reproduce the issue?

list the steps
to reproduce
the issue

I resolved the issue, with this:
getProps: (state, rowInfo, column) =>{
return {
style: {
background: rowInfo.row.avgTemp <= rowInfo.row.avgTempSP ? "#85cc00"
: parseFloat(rowInfo.row.avgTemp) === parseFloat(rowInfo.row.avgTempSP)+1 ? "red": "yellow"
}
}
}
The values received by the ReactTable were strings.
Thanks, I wish this helps someone in need.


Enable Subscription Persistence and Resumption for ESP32

This enables the 1.1 feature Subscription Persistence and Resumption for ESP32, so that we can get more CI and other testing by default, so we can find issues early and fix as needed.
@shubhamdp @dhrishi for attention.

@jtung-apple Thanks. Was this tested locally and works fine with ESP32?


Can a report belong to more than one group?

Can a report belong to more than one group or is it a 1:1 relationship?

My initial impression is that a report belongs to one group. np if it evolves beyond that

ya... well. there is a process, which is created by group + policy or file + policy by user request and each process has a result (and this results can be a combination of different results) ...
So we call that "result" as  "report: for now?
Also, I added another "alert" (or "summary" or "report") based on the results on the process.


Make tables responsive

Describe the feature you'd like
I want the tables to be responsive by default. Now, on my mobile, the tables breaks the designs. It should really be fairly simple.
Describe the benefits this feature would bring to BookStack users
It would make the pages look a lot better
Additional context
Just try it, and you'll see.

Thanks for the suggestion @Hambern.

It should really be fairly simple.

This can be a little tricky. Can't really just add a max-width and be done with it since tables are often just too wide to fit on a screen. Therefore making it scroll-able seems like the best option. But we can't make the table itself scroll-able, so we need to wrap it. Can do this with JS pretty easily but I've always hated the idea of needing JS for a core piece of page content. Then how do you indicate to the user it's scrollable? The wrapper will just cut of the edge and the scroll bar (If even shown on the device) could be much lower down. So maybe a nice little shadow on the overflowing edge?
If needed for now, you could add something like this the custom HTML head textarea in the settings:
<script>
window.addEventListener('DOMContentLoaded', () => $('.page-content').find('table').wrap('<div/>').parent().css({'overflow-x': 'auto'}));
</script>

Otherwise, If anyone knows of a CSS only solution that work with the current table structure (Not adding custom attributes, for example) that would be great.

@ssddanbrown
I am not sure if it works and good for current table structure, but, I found solution that uses only css.
Here we go.
https://www.cssscript.com/demo/pure-css-mobile-friendly-responsive-table/

@msaus Thanks for the suggestion but that solution requires custom data attributes on each cell of the table.

@ssddanbrown
Oh...yes.
If we use that then we have to modify and/or add TinyMce? for this to make it working.

Now you also have to add jQuery for the script to work:
<script
  src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
  integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8="
  crossorigin="anonymous">
</script>

<script>
window.addEventListener('DOMContentLoaded', () => $('.page-content').find('table').wrap('<div/>').parent().css({'overflow-x': 'auto'}));
</script>

Not exactly making them responsive, but just ran into an issue with excessively large table content breaking out of the "page" width and overflowing. A horizontal scrollbar can fix that, but due to height of the table becomes not very practical.
Values could be tweaked, but have just added this basic CSS in the settings page to fix the usability issue(and the overflowing out of the page container):
<style>
/* Custom CSS, defined in Settings page */
.page-content table {
  overflow: scroll;
  display: block;
  /* `!important` is required to override the official styles `!important`.. */
  height: 800px !important;
}
</style>

@ssddanbrown Does page-content table have height: auto !important for any specific reason?

Quick hack that works for me :
<!-- make wide table responsive -->
<style>
.page-content div:has(> table) {
  overflow-x: auto;
}
</style>


map not found

When I tried to load a OpenDRIVE map by using "python3 config.py -x opendrive/TownBig.xodr", It showed that "load opendrive map 'TownBig.xodr'. map not found". Dose any one have a clue to address this iusse?

When I tried to load a OpenDRIVE map by using "python3 config.py -x opendrive/TownBig.xodr", It showed that "load opendrive map 'TownBig.xodr'. map not found". Dose any one have a clue to address this iusse?

you can use "python3 config.py --list" to see the map list for carla. And I tried "make package", which worked.

Hey, martino. I got the same error.
Did you fix it?
Thx

you can use "python3 config.py --list" to see the map list for carla. And I tried "make package", which worked.

I am facing the same issue. Could you provide the steps to follow?


Showcase Submission for challenges/15-object-oriented-fractal-trees

Thank you Bart De Meyere for your contribution! A member of the Coding Train team will review it shortly.

squarefractal
Bart De Meyere

@BartDeMeyere this is so cool, love the animation!!


Misleading error message in tf.broadcast_to

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v2.2.0-rc4-8-g2b96f3662b 2.2.0
Python version: 3.7.6
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
When running tf.broadcast_to, the input shown in the error message for an invalid argument is different from the given input.  [110, 53, 104, 147, 157, 123, 5, 24, 188, 40, 5, 2] (given) vs [2,2,2,2,2,2,2,2,2,2,2,2] (error message).
Describe the expected behavior
Correct error message
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
import tensorflow as tf

x = tf.constant([1, 2, 3])
tf.broadcast_to([x, [110, 53, 104, 147, 157, 123, 5, 24, 188, 40, 5, 2])

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
InvalidArgumentError: Shape [2,2,2,2,2,2,2,2,2,2,2,2] would have more than 2**63 - 1 elements [Op:BroadcastTo]

So the error isn't that misleading, you're getting it because you're broadcasting it to too big a tensor. InvalidArgumentError: Shape [2,2,2,2,2,2,2,2,2,2,2,2] would have more than 263 - 1 elements [Op:BroadcastTo] appears when the number of elements has exceeded the given limit. You will have more than 263 - 1 elements when you broadcast it to the given shape [110, 53, 104, 147, 157, 123, 5, 24, 188, 40, 5, 2] or the upper limit of shapes [2,2,2,2,2,2,2,2,2,2,2,2].

The issue is that the construction of error message in tensor_shape.cc does not copy all dims of shape, only the current dim of the shape (when error check happens). Created a PR #41514 for the fix.

I also observed the following API aliases can cause the same issue in older versions of tensorflow.
Users should be cautious when using them on both CPU and GPU up to tensorflow 2.3.4 (v2.3.3-137-gea90cf44f73).

On GPU, it throws an "CUDA runtime implicit initialization on GPU:0 failed." Exception before tensorflow 2.4.0 (v2.4.0-rc4-71-g582c8d236cb).

(tf.broadcast_to), tf.compat.v1.broadcast_to

Code to reproduce the issue in tf.compat.v1.broadcast_to in older versions
import tensorflow as tf
print(tf.version.GIT_VERSION, tf.version.VERSION, flush=True)
print(tf.config.list_physical_devices(), flush=True)

try:
    x = tf.constant([1, 2, 3])
    tf.compat.v1.broadcast_to(x, [110, 53, 104, 147, 157, 123, 5, 24, 188, 40, 5, 2])
except Exception as e:
    print("Failed! Error:", str(e), flush=True)
else:
    print("Success!", flush=True)

On my CPU machine, it throws an error with a fixed shape [2,2,2,2,2,2,2,2,2,2,2,2] instead of the given shape [110, 53, 104, 147, 157, 123, 5, 24, 188, 40, 5, 2], which is not expected.
v2.3.3-137-gea90cf44f73 2.3.4
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:XLA_CPU:0', device_type='XLA_CPU'), PhysicalDevice(name='/physical_device:XLA_GPU:0', device_type='XLA_GPU')]
Failed! Error: Shape [2,2,2,2,2,2,2,2,2,2,2,2] would have more than 2**63 - 1 elements [Op:BroadcastTo]

While on GPU, it throws a "CUDA runtime implicit initialization on GPU:0 failed." Exception, which is also unexpected.
v2.3.3-137-gea90cf44f73 2.3.4
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:XLA_CPU:0', device_type='XLA_CPU'), PhysicalDevice(name='/physical_device:XLA_GPU:0', device_type='XLA_GPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
Failed! Error: CUDA runtime implicit initialization on GPU:0 failed. Status: device kernel image is invalid

It seems to be fixed in tensorflow 2.4.0 (v2.4.0-rc4-71-g582c8d236cb) and later versions.


Make it easier to get the local Date

As we have found out the hard way getting the current local Date with Klock is kind of verbose and if you are not careful you can get the date in UTC which can differ from local Date for part of the day.
One might think that DateTime.now().date would be correct but that is the date in UTC. If you are familiar with DateTime vs. DateTimeTz one might think that you should do DateTime.nowLocal().date or DateTimeTz.now().date but those don't compile because for no discernible reason DateTimeTz does not have a date property like DateTime does. So one starting point is just add that. Without it it requires sticking a .local in there to convert to a DateTime to be able to get the Date
In our project I added some extension properties to get the local date, but it would be nice if Klock did something similar:
val DateTimeTz.date get() = local.date
val Date.Companion.today get() = DateTime.nowLocal().date

I support the point from @dalewking. We also were thinking that DateTime.now() returns  a localised date. UTC is the worst return value. Who apart from Britain needs UTC? ;-)
Thx Alex

We all need UTC :) specially when you want to compare dates with different timezones and don't want to have daylight saving issues.
I'm tagging this, as a good first issue ;)

I also have trouble going the other way from a date to a DateTime. I have battled unit test issues for months (and just fixed espresso tests yesterday) where tests will fail at night when local time (Eastern) has a different Date from UTC

From my experience, since timezone offset rules change over the time even for the same longitude, you usually want to store it UTC and usually the local offset when relevant.
In the end we all have different pains, and the pains are usually what moves us to make and suggest changes. My focus right now is at other place so I'm not going to make the PR myself. But I will be happy to discuss this in a PR from someone else with actual proposed changes and tests showing the point and its usage via code.


Duplicate folders

These mods made a TextureReplacer folder inside TextureReplacer

I feel like a filter for license might be prudent since it installs to TextureReplacer (as many other mods will try to). (copy + paste from #2650)


cli: index init --force not working

--force is ignoring 400 errors from ES, previously this was working to add new indexes.
However now with ensure_not_exists it will first check the alias and not proceed if one mapping already exists, because ignore_existing  is always set to False.

After some research we found out that the create function accepts a ignore_existing field. However, it is not passed from the CLI in here.


[nix] enable auto-allocate-uids experimental flag

Summary
In this Pull Request, I enabled the experimental flag auto-allocate-uids to address an issue related to the installation of Nix packages. The error occurred when executing the command /nix/var/nix/profiles/default/bin/nix print-dev-env /root/.local/share/devbox/global/default/.devbox/gen/flake/flake.nix --extra-experimental-features ca-derivations --option experimental-features nix-command flakes --json, which resulted in an exit status of 1.
To resolve this issue, I modified the ExperimentalFlags function by adding the "auto-allocate-uids" option to the list of experimental flags.
This change is specifically intended for a Linux environment with Nix version 2.15, installed using the instructions provided at https://github.com/DeterminateSystems/nix-installer
How was it tested?
You can retry the package installation by running the command devbox global add gh.

Hi @gcurtis Thank you for your feedback on the pull request. I understand that the auto-allocate-uids setting in my nix.conf caused the issue. In fact, on the latest version of DeterminateSystems/nix-installer , auto-allocate-uids defaults to true on linux, so I just disabled it and it works fine now


Add support for VisImage, VisList, VisScrollPane, VisSelectBox, VisTree

Added support for widgets extending standard scene2d.ui (see https://github.com/czyzby/gdx-lml-vis/issues/1)
@czyzby please review. What should I do with Javadoc if i extend LmlTag from scene2d.ui? Now I just copied it from parent class.

Coping is fine, I think. People might search for the tag parser using widget class names, so as long as tag behaviour is the same, it's OK.
Everything seems to be OK, assuming the widgets you added have no extra functionalities that should be added as attributes. Merging.


translation with 0 offset is broken

Animating an elements position where old and new position are the same moves the element to position 0 instead of leaving it at its current position.
See
http://jsfiddle.net/YBQu6/

I noticed the same issue. I didn't have time to look into what was causing it, so I just hacked around it.
Add these lines to jQuery.fn.animate just after the prop = prop || {} line:
    // Hack to work around bug where animating to the same value
    // doesn't work
    var position = this.position();
    if (this.height() == prop.height) {
        delete prop.height;
    }
    if (this.width() == prop.width) {
        delete prop.width;
    }
    if (position.top == prop.top) {
        delete prop.top;
    }
    if (position.left == prop.left) {
        delete prop.left;
    }

Probably not a very efficient solution, but works for now until an official fix is commited.


Fix Fix group concat with multi distinct and segs

Proposed changes
Problem: when use select group_concat(distinct a, 'seg1'), group_concat(distinct b, 'seg2') ... Error would rised
Reason: Group_concat function regard 'seg' as arguments also, so multi distinct column error would rised
Solved: let Multi Distinct group_concat function only get first argument as real argument
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run p0


The component Styled(FaTimes) with the id of "sc-cxFLnm" has been created dynamically. You may see this warning because you've called styled inside another component. To resolve this only create new StyledComponents outside of any render method and function component.

I could use some help. None of the threads on stack overflow use the styled(WrappedComponent) syntax. How do I use the below child component without throwing an error? There is a similar issue to this which is either not well documented or unresolved
Child Component
import styled from "styled-components"
import { FaAngleDown } from "react-icons/fa"

export const StyledDownArrow = styled(FaAngleDown)`
  color: black;
  font-size: 120%;
  margin-left: -2rem;
  margin-bottom: -0.25rem;
`

Parent Component
import React, { useState } from "react"
import { DownArrow } from "../../Arrows

export const ParentComponent = () =>
look at me! <DownArrow />

Error Message
The component Styled(FaTimes) with the id of "sc-cxFLnm" has been created dynamically. You may see this warning because you've called styled inside another component. To resolve this only create new StyledComponents outside of any render method and function component.

Additionally
I noticed that the error message lists the svg component as FaTimes rather than FaAngleDown. Could that have some effect on this?

Hi. The icon imported from the package "react-icons/fa" has nothing to do with styled component. Is just a react component.
You can only use styled(Component) method only with styled-components.
A simple solution, can be simply wrap the FaAngleDown component inside a StyledIconWrapper styled-component and style the last one to apply to che child using css (& > svg)

with out a reproduction I cannot really help you here unfortunately. However, you can see how the warning itself is generated: https://github.com/styled-components/styled-components/blob/001957c2dfae92a289ab7b47b82875fba05e281f/packages/styled-components/src/utils/checkDynamicCreation.ts
You can tell here that it won't stop you wrong continuing, but it'll essentially output a warning telling you that you may have called styled(X) inside another component. This is based on calling a hook function from React, which we expect to fail if it's called outside of a component (which should always be the case).
So, while I can't investigate the exact cause of your warning, this may put you on a good path to solving it. If needed though, we can reopen and revisit this issue, especially if you think it's erroneous and have a reproduction :v: