PDF conversion and intra-page link issues

Type: Bug
If you preview with Markdown Preview Enhanced and convert it to PDF, the links within the page will be strange. It feels like it shifts irregularly.
However, during the preview stage, in-page links work fine.
This issue was discovered on July 4th. It was working fine until last week.
I restarted my PC and reinstalled VSCode, but it didn't work.
However, even after converting it to PDF, for some reason the links within the page only work properly when opened in Adobe.
After converting to PDF, in-page links did not work properly in VSCode's vscode-pdf, chrome, and edge.
VS Code version: Code 1.91.0 (ea1445cc7016315d0f5728f8e8b12a45dc0a7286, 2024-07-01T18:52:22.949Z)
OS version: Windows_NT x64 10.0.22631
Modes: Restricted

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i7-1370P (20 x 2189)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.58GB (7.75GB free)

Process Argv
--crash-reporter-id d02dcdb5-6993-4d4a-b651-36e6b8e5066d

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

vscode-language-pack-ja
MS-
1.91.2024070309

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
jchc7451:31067544
dsvsc021:30996838
01bff139:31013167
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
newcmakeconfigv2:31071590
legacy_priority:31082724

/causedByExtension
Extension is responsible for PDF export so you should start with reporting issue in corresponding extension's repo.

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!

I got it.
I'll try contacting Markdown Preview Enhanced.


Running a demo on MyBinder

I was wondering if it would be possible to run the igv.js-jupyter demo notebooks on MyBinder?
Presumably an IGV server would need to be started in the container first? (I'm new to IGV...)

auto-enabling should be happening now.


Support javadoc of jdk11

#3512
AS-IS
sh ./scripts/ci/build_maven_artifacts.sh 0.20.3-incubating-rc8-SNAPSHOT ./artifacts
Starting Heron Maven Jars Process
HERON_BUILD_VERSION master
HERON_BUILD_SCM_REVISION dd3b67b212ec5a5bdce8706e3e3dba11e20b4b30
HERON_BUILD_HOST house3s-iMac.local
HERON_BUILD_TIME Sat Dec 12 13:01:21 KST 2020
HERON_BUILD_TIMESTAMP<PHONE_NUMBER>000
HERON_BUILD_USER thinker0
HERON_BUILD_RELEASE_STATUS Modified
Make jar components
INFO: Analyzed 8 targets (1 packages loaded, 226 targets configured).
INFO: Found 8 targets...
ERROR: /Users/thinker0/opensource/heron/heron/api/src/java/BUILD:9:9: error executing shell command: '/bin/bash -c rm -rf bazel-out/darwin-fastbuild/bin/heron/api/src/java/heron-api-javadoc.zip.source && mkdir bazel-out/darwin-fastbuild/bin/heron/api/src/java/heron-api-javadoc.zip.source && unzip -...' failed (Exit 1): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)
javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/8/docs/api/ are in the unnamed module.
1 error
INFO: Elapsed time: 5.810s, Critical Path: 5.62s
INFO: 2 processes: 2 internal.
FAILED: Build did NOT complete successfully

Fixed
./scripts/ci/build_maven_artifacts.sh 0.20.3-incubating-rc8-SNAPSHOT ./artifacts
Starting Heron Maven Jars Process
HERON_BUILD_VERSION master
HERON_BUILD_SCM_REVISION dd3b67b212ec5a5bdce8706e3e3dba11e20b4b30
HERON_BUILD_HOST house3s-iMac.local
HERON_BUILD_TIME Sat Dec 12 13:02:05 KST 2020
HERON_BUILD_TIMESTAMP<PHONE_NUMBER>000
HERON_BUILD_USER thinker0
HERON_BUILD_RELEASE_STATUS Modified
Make jar components
INFO: Analyzed 8 targets (1 packages loaded, 226 targets configured).
INFO: Found 8 targets...
INFO: Elapsed time: 5.424s, Critical Path: 5.14s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
INFO: Analyzed 15 targets (1 packages loaded, 59 targets configured).
INFO: Found 15 targets...
INFO: Elapsed time: 2.826s, Critical Path: 2.63s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
INFO: Analyzed 5 targets (1 packages loaded, 26 targets configured).
INFO: Found 5 targets...
INFO: Elapsed time: 2.610s, Critical Path: 2.46s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
INFO: Analyzed 5 targets (1 packages loaded, 233 targets configured).
INFO: Found 5 targets...
INFO: Elapsed time: 4.321s, Critical Path: 4.07s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
INFO: Analyzed 2 targets (1 packages loaded, 10 targets configured).
INFO: Found 2 targets...
INFO: Elapsed time: 2.088s, Critical Path: 1.93s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
INFO: Analyzed 2 targets (1 packages loaded, 6 targets configured).
INFO: Found 2 targets...
INFO: Elapsed time: 1.878s, Critical Path: 1.72s
INFO: 2 processes: 1 internal, 1 local.
INFO: Build completed successfully, 2 total actions
Found Version Tag 0.20.3-incubating-rc8-SNAPSHOT
Run Maven template for poms ...
Removing heron-api-0.20.3-incubating-rc8-SNAPSHOT.pom
Removing heron-kafka-bolt-0.20.3-incubating-rc8-SNAPSHOT.pom
Removing heron-kafka-spout-0.20.3-incubating-rc8-SNAPSHOT.pom
Removing heron-simulator-0.20.3-incubating-rc8-SNAPSHOT.pom
Removing heron-spi-0.20.3-incubating-rc8-SNAPSHOT.pom
Removing heron-storm-0.20.3-incubating-rc8-SNAPSHOT.pom

Thank you for the fix @thinker0


[QUESTION] Examples for helm repo authentication

Would it be possible to elaborate further on the repository authentication usage?
From https://github.com/mgoltzsche/khelm#repository-configuration:

Repository credentials can be configured using Helm's repositories.yaml which can be passed through as Secret to generic build jobs.

The phrasing here implies this is optional but not a khelm default. I understand how a standard helm repositories.yaml functions, but how would this work with a full gitops workflow where the repo credentials are encrypted with KSOPS?
It would seem to be beneficial to have an example added showing how this would be implemented.

The phrasing here implies this is optional but not a khelm default.

Right, it is optional since khelm allows you to use any repo when /helm/repository/repositories.yaml is not present (default within the container) or KHELM_TRUST_ANY_REPO=true is set.
To give an example, imagine you have a file repositories.yaml (that you can generate using e.g. helm repo add) as follows:
apiVersion: ""
generated: "0001-01-01T00:00:00Z"
repositories:
- name: fake
  url: https://example.org/repo/stable
  username: "fake-user"
  password: "fake-password"

You can make khelm use it as follows:
$ docker run --rm -v "`pwd`/repositories.yaml:/helm/repository/repositories.yaml" mgoltzsche/khelm:2.2.1 template myrelease mychart --repo=https://example.org/repo/stable
Running khelm 2.2.1 (helm 3.10.1)
Using repository "https://example.org/repo/stable" (as user "fake-user")
Downloading repository index of https://example.org/repo/stable
khelm: load chart mychart: download repo index: looks like "https://example.org/repo/stable" is not a valid chart repository or cannot be reached: failed to fetch https://example.org/repo/stable/index.yaml : 404 Not Found

While the example above does not actually render a chart since the I specified a fake URL, the log message indicates that khelm uses the credentials from the mounted repositories.yaml: Using repository "https://example.org/repo/stable" (as user "fake-user").
However, khelm does not support an encrypted repositories.yaml file. When using it within the cluster, it requires you to store your repositories.yaml file within a Kubernetes Secret and mount it into the khelm container. When you want to store your repositories.yaml encrypted within a git repository and deploy it via GitOps, you could use a Kubernetes controller such as sealed-secrets that decrypts it within the cluster.
Since secret management in git is a cross-cutting concern that is not specific to khelm, I don't think it makes sense to make khelm support it directly but to leverage other tools made specifically for that concern - unless somebody convinces me otherwise.
(Fwiw, there is an example showing how to use encrypted Helm values with sops but that doesn't apply to the repositories.yaml.)

I just realize that using the sealed-secrets controller in addition to KSOPS makes your setup more complex which I understand nobody wants. I didn't know that tool. Though, since khelm doesn't support decrypting the repositories.yaml currently, you'd need to let another tool decrypt it upfront somehow.
How would you imagine this to work ideally?

I don't think adding a field to the generator config / generator.yaml to specify a custom repositories.yaml location would be acceptable since it would conflict with the requirement to have an allowlist of repositories a kustomization/chart is allowed to use (which is a Helm built-in concept I wouldn't weaken).

@mgoltzsche Thank you for the prompt replies!   The generated repositories.yaml  via ksops encrypted values is something I briefly considered. I have some light concern if it will play nice when run within a system like ArgoCD, but will just have to play around with it.  IMO "ideally" it would be most consistent and intuitive to be able to simply set something like helm_username and helm_password at the same level of the of the repo in question requiring auth.


TypeScript merger removes interfaces

Expected behavior
TypeScript merger should analyse the existing interface code and:

If the merge-strategy is tsmerge: It should add the new code respecting the existing one in case of conflict.

If the merge-strategy is tsmerge_override: It should add the new code overwriting the existing one in case of conflict.

Actual behavior
It is completely removing the content of the interface. It does not matter if it is tsmerge or tsmerge_override it completely deletes the interface.
Steps to reproduce
Create a simple TypeScript interface like:
export interface PaginatedListTo < T >{
    pagination: Pagination,
    result: Array < T >,
}

Use any of the possible merge-strategy and try it out. It will remove the interface.
The TypeScript merger has other bugs. We should investigate it and try to solve the issues.

Fixed with this PR


how do you process data?

Hi,
Thank you for your great work. When I tried your pipeline on my own scene, I encountered with problem which is that how did you process the video or images? I saw you provided some processed data obtained from Youtube and guess that the original data is video fiels. After downloading the precessed data, there are 'images', 'mask', and 'sparse' folders? how did you get that?
thank you for considering this. Looking forward to your response.

Hi. Thanks for your attention. You only need to split the video into frames and then use the processing steps of COLMAP suggested in 3DGS. The mask folder is not necessary.

Can you provide scripts to generate cameras.bin and images.bin on waymo? many thanks! @kcheng1021


py_trees_js: 0.6.4-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository py_trees_js to 0.6.4-1:

upstream repository: https://github.com/splintered-reality/py_trees_js.git
release repository: https://github.com/ros2-gbp/py_trees_js-release.git
distro file: humble/distribution.yaml
bloom version: 0.11.2
previous version for package: 0.6.3-1

py_trees_js
* [actions] pre-merge and update-cache, #146 <https://github.com/splintered-reality/py_trees_js/pull/146>
* [actions] push containers, #144 <https://github.com/splintered-reality/py_trees_js/pull/144>
* [poetry] update project to use poetry, #143 <https://github.com/splintered-reality/py_trees_js/pull/143>
* [vscode] devcontainer workflows, #143 <https://github.com/splintered-reality/py_trees_js/pull/143>
* [tests] basic tests, formatting, linting, #143 <https://github.com/splintered-reality/py_trees_js/pull/143>

Holding for Humble sync


enchanted books from the dissenchanter have incorrect nbt.

Books have nbt value ench: instead of StoredEnchantments: rendering them completly unusable in vanilla anvils and modded recipies requireing specific enchanted books.

Why was this issue closed @Buuz135? I can verify the enchantments generated but the disenchanter are unusable...

Because I thought I fixed it, are old books or new ones?

Ah, okay it just looked like it was closed with no response and we were worried. Thanks for fixing it, new books work perfect! 👍

Yeah, looking in the commit https://github.com/Buuz135/Industrial-Foregoing/commit/7d653d137e45207bd7282aff4f897e60fa23f38e shows why

We just missed that, thanks for the fast response.

No problem, but you did scare me a little

Blame @Dryxen he scared me! I hate when it's nearly impossible to get bugs fixed in an otherwise fantastic mod.


[CON-139] Convert CaSH symbols and strings to Operators

Looks good, only need to make formatting changes to remain consistent with the rest of the code. I'd recommend installing the formatter at https://raw.githubusercontent.com/cinchapi/dev-tools/master/CinchapiFormatter.xml for all the Concourse projects.

Cool, I cloned cinchapi/dev-tools and applied the formatting to each of my local concourse projects. That way, when I hit save the code is formatted automatically. If it checks out, i'll be ready for the next issue :)

Yea, I think the formatter alphabetized all the imports. None of them were removed.

Eclipse doesn't give a warning about an unused import?
On Tue, Jan 6, 2015 at 9:02 PM, Deary Hudson<EMAIL_ADDRESS>wrote:

Yea, I think the formatter alphabetized all the imports. None of them were
removed.
—
Reply to this email directly or view it on GitHub
https://github.com/cinchapi/concourse/pull/43#issuecomment-68968544.

Nope. No errors. I can send a screenshot of that helps
On Wednesday, January 7, 2015, Jeff Nelson<EMAIL_ADDRESS>wrote:

Eclipse doesn't give a warning about an unused import?
On Tue, Jan 6, 2015 at 9:02 PM, Deary Hudson<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
wrote:

Yea, I think the formatter alphabetized all the imports. None of them
were
removed.
—
Reply to this email directly or view it on GitHub
https://github.com/cinchapi/concourse/pull/43#issuecomment-68968544.

—
Reply to this email directly or view it on GitHub
https://github.com/cinchapi/concourse/pull/43#issuecomment-69032231.

yeah my bad i read the diff wrong :+1:


Default constructors aren't saved correctly

Won't be using Kythe moving forward.

No babelfish (#91)


General required Qualification

Build a plugin that lets you set required qualification per event type.
These will then always be injected as a checker.
Could be used for "Führungszeugnis"/"Hygieneeinweisung"/ etc...

Alternatively we could not enforce the qualification, but just set a reminder (consequence).
Also, people with user management permission should get a consequence displayed.


Consolidate APT packages

Consolidate APT packages definition into one place, so that the folding is displayed correctly.

Wow, thanks :-) does https://lint.travis-ci.org/ cover this case? It seems to be confused by the "apt" key.

I don't think the linter is aware of the apt key.


release the code

Hi, when will you plan to release the code?

Hi, when will you plan to release the code?

The answer is idk because there is  quite an amount of cleanup to do and I also want to make sure most people can get the same results as in the paper.
But I definitely will release the code.

hi, when?  expect!


Relative URL doesn't work with appHandler: "Invalid URL" error

The problem
It seems this commit about normalization of URLs may have broken the ability to use a relative-style url param with the app handler because calling new URL(url) on a path like "/my-url" throws Invalid URL error (as one would expect it to, since new URL() doesn't accept relative URLs).
    TypeError: Invalid URL

      at normalizeUrlForceTrailingSlashIfPathnameEmpty (node_modules/.pnpm/next-test-api-route-handler@4.
0.3_next@14.1.0/node_modules/next-test-api-route-handler/dist/src/index.js:337:16)

I was able to get around this easily by providing a dummy beginning of the url as the tests do (e.g. "ntarh://api/books" instead of just "/api/books"), but it doesn't match what the docs say, so it required some digging to figure this out.
I noticed the tests include a case with url: '/my-url' and pagesHandler, but not a case for the same url with appHandler. I believe that's the case that's broken.

Reproduction steps

Run a basic example like:

it("works", async () => {
  await testApiHandler({
    appHandler,
    url: "/my-url",
    async test({ fetch }) {
      const res = await fetch({
        method: "GET",
      })

      const json = await res.json()

      expect(json).toStrictEqual([])
    },
  })
})

Wow, lucky #1000! 🌟

Hmm. The Pages Router doesn't use the URL class and so accepts those relative style urls, but the App Router seems to exclusively use the URL class, which explains that discrepancy.  The URL class requires an absolute url, which is why that ntarh:// version works (it could also be https://).
I'll go over the documentation to make sure it's clearer. I haven't used the App Router in production yet, but it doesn't seem like the App Router itself supports relative urls (i.e. all urls seem to be some instance of the URL class and/or NextUrl). If this assumption isn't accurate, I'll have to address that as well :)

:tada: This issue has been resolved in version 4.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Expose autoMitigate flag

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[V] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet. End of February
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[V] SDK of .NET (need service team to ensure code readiness)
[V] SDK of Python
[V] SDK of Java
[V] SDK of Js
[V] SDK of Go
[V] PowerShell
[V] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[V] I have reviewed the documentation for the workflow.
[V] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[V] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[V] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@akning-ms ModelValidation appears to be false positive. But I cannot merge with this failure. Please check if it is good for you to merge.

@akning-ms ModelValidation appears to be false positive. But I cannot merge with this failure. Please check if it is good for you to merge.

@raych1 to confirm and approve Model Validation failure if need

@akning-ms ModelValidation appears to be false positive. But I cannot merge with this failure. Please check if it is good for you to merge.

@raych1 to confirm and approve Model Validation failure if need

It's caused by duplicated model definition in swaggers. Since it's not caused by this PR change and I approved it.

@weidongxu-microsoft , I approved the model validation and unblock the merge.

@simanor
Let me know when you need it merged.

@simanor
Let me know when you need it merged.

@weidongxu-microsoft Thanks you. Will let you know once we can merge (probably in ~1 week).

can we merge? @simanor

Sorry, not yet. Hopefully by EOW. Will update once we finish the rollout.
Thanks,
Sivan
From: Arthur Ning @.>
Sent: Tuesday, 30 March, 2021 5:28 AM
To: Azure/azure-rest-api-specs @.>
Cc: Sivan Manor @.>; Mention @.>
Subject: Re: [Azure/azure-rest-api-specs] Expose autoMitigate flag (#13109)
can we merge? @simanorhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsimanor&data=04|01|Sivan.Manor%40microsoft.com|e58b537e92ff42eea10b08d8f3236f67|72f988bf86f141af91ab2d7cd011db47|1|0|637526680834030920|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=FzzUggrhUfIJnTCcNVHuDaODNPNicH705Ex3CRkLvzQ%3D&reserved=0

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-rest-api-specs%2Fpull%2F13109%23issuecomment-809857094&data=04|01|Sivan.Manor%40microsoft.com|e58b537e92ff42eea10b08d8f3236f67|72f988bf86f141af91ab2d7cd011db47|1|0|637526680834030920|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=agrkj6%2BWjLZQdQfbqvNqlN6cr3jA9lCMS%2FZ9ZmaEMgw%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAL2PJDZ4URYY3RODZBAZNJLTGEZK5ANCNFSM4YCCSZVA&data=04|01|Sivan.Manor%40microsoft.com|e58b537e92ff42eea10b08d8f3236f67|72f988bf86f141af91ab2d7cd011db47|1|0|637526680834040880|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=XmQV8AYWcmXQzQdcIwNhHCabvECEFes6HHmxDIrFsnE%3D&reserved=0.

@akning-ms can you please merge this PR?


Use proposetoaddress instead of generatetoaddress

Uses proposetoaddress instead of generatetoaddress where possible
Signed-off-by: Julian Fleischer<EMAIL_ADDRESS>

There's generate_block in util.py which is used in bunch of functional tests (#1037). I think, it'd be nice to update this function, and if possible, change the rest of the code to use this function instead of generatetoaddress/proposetoaddress.

@frolosofsky @Nizametdinov
This pull request used proposetoaddress instead of generatetoaddress where possible. It does not change any uses us generate into proposetoaddress or generatetoaddress. It is one small step in the right direction.
About wallet_disable - this one does not work with proposetoaddress (yet). I replaced generatetoaddress with proposetoaddress  and checked which tests would work with it. This is the result.

This pull request used proposetoaddress instead of generatetoaddress where possible. It does not change any uses us generate into proposetoaddress or generatetoaddress. It is one small step in the right direction.

I suggest using proposetoaddress instead of generatetoaddress here (util.py):
def generate_block(node, count=1):
    return node.generatetoaddress(count, node.getnewaddress('', 'bech32'))

Isn't it possible? I see you've replaced these things in number of files, but most of functional tests call generatetoaddress indirectly via generate_block.

I am unsure how to respond to that without repeating what I wrote before.
I will close this pull request and attach the up for grabs label.


submit corrected data

updated to second version

Please compare the changes in software and comment on them.

I need to review and comment the changes.

Ready to merge?
Your voltage values could be determined with this non straight

resistors ..

Resistors are equally 47kOhm to divide the voltage 2:1


Create montpellier-bs

Let's adding a contributing file, so we can work better, together!

@Rui-yu23 montpellier-bs I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Wrong values in watch

Shows wrong values in watch and hover.
Build: 0.9.10 ALPHA [c60d3aa]

Shows correct values if optimizations are disabled.

I expect that this is occurring due to a new location information case, which unoptimized builds do not produce. Is it possible for you to send me the PDB & RDI files for this build, as well as the function name where this is located? That will let me deduce what the PDB is producing and why it is either being misconverted or misused in the debugger.

Sadly I can't share any of that but I'll try to repro on my end and share my findings. Again, sorry about that.

Haven't encountered this in months, closing the issue.


CB-10319 android: Adding reflective helper methods for permission requests

Adds reflective helper class so that plugins written for cordova-android 5.0.0+ can still build with earlier versions. This was tested by running mobilespec auto and manual tests on an Android Marshmallow device with cordova-android's master branch and cordova-android 3.7.2. @infil00p @jasongin please review.

Also tested on lollipop emulator using cordova-android's master and cordova-android 4.0.0

LGTM


Implement PrestoS3FileSystem#listFiles for direct recursive listings

Cross contribution of https://github.com/prestodb/presto/pull/15024
Implements FileSystem#listFiles(Path, boolean recursive) for PrestoS3FileSystem which in theory adds support for directly listing S3 files underneath a prefix without recursive calls through each "directory". This direct traversal requires much fewer requests when dealing with nested directories but may violate some PathFilter implementation's expectation of being called at each directory level, and may perform worse when a large number objects are contained within hidden paths (since filtering would be performed after the fact). I'm open to suggestions about how to balance this trade-off and integrate this with the DirectoryLister.
Incidentally, a straightforward improvement to getFileStatus fell out of the implementation allowing the isDir check for a path prefix (with no object present) to be done by limiting the listing result size to 1 instead of listing the full default 1000.

Related PR https://github.com/prestosql/presto/pull/3221

Thanks!


redis sharding

Hello
do you have any milestone to support redis sharding?

I am not really familiar with sharding, but you would need the cluster setup, right? https://redis.readthedocs.io/en/stable/connections.html#cluster-client
Maybe you could fairly easily do that with a custom broker? You would need to overwrite the get_connection function. I assume the other functions would stay the same. Base it off the default Redis broker: https://github.com/django-q2/django-q2/blob/master/django_q/brokers/redis_broker.py

Sure, happy to add it.


FQCN highlighting, documentation is not working when using user global pip installation

Sanity check

[X] I certify that the redhat.ansible extension is in use and the language of the document in this bug report shows up as Ansible

Summary
FQCN highlighting, hover documentation is not working if ansible is installed to my user via pip (no other ansible is installed) however its working fine when installed in virtual env, and use script activation in extension settings. Both ansible versions are the same, same python versions etc. i see no errors in server log.
Extension version
0.8.1
VS Code version
1.66.0
Ansible Version
not working:
[zalent@W10G8XS353 pf-deploy]$ ansible --version
ansible [core 2.12.3]
  config file = /home/zalent/source_code/pf-deploy/ansible.cfg
  configured module search path = ['/home/zalent/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/zalent/.local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/zalent/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/zalent/.local/bin/ansible
  python version = 3.9.7 (default, Sep 21 2021, 00:13:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
  jinja version = 3.0.3
  libyaml = True

working:
(dev-machine) [zalent@W10G8XS353 dev-machine]$ ansible --version
ansible [core 2.12.3]
  config file = /home/zalent/source_code/dev-machine/ansible.cfg
  configured module search path = ['/home/zalent/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/zalent/.local/share/virtualenvs/dev-machine-4LhYWgwz/lib/python3.9/site-packages/ansible
  ansible collection location = /home/zalent/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/zalent/.local/share/virtualenvs/dev-machine-4LhYWgwz/bin/ansible
  python version = 3.9.7 (default, Sep 21 2021, 00:13:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
  jinja version = 3.0.3
  libyaml = True

OS / Environment
Windows 10 WSL2 Centos 8 Stream python 3.9 ansible-lint 6.0
Relevant log output
See no relevant output

@priyamsahoo any ideas on this?


Add Pod 6 to the languages.yml [Pending markup support]

This is a revert of the revert in https://github.com/github/linguist/pull/4148 of https://github.com/github/linguist/pull/4083 as explained at https://github.com/github/linguist/pull/4148#issue-191418902:

As per my comment at https://github.com/github/linguist/pull/4083#issuecomment-393121096

Unfortunately, I'm going to have to revert this and open a new PR for it for the moment as it requires Pod 6 rendering support to be implemented in github/markup#1173 or github/markup#1185 and GitHub.com updated. This needs to coincide with the release of a Linguist release that introduces support for Pod 6 so we don't end up leaving people scratching their heads trying to work out why one pod document is being rendered and not another.

I don't currently have the bandwidth to look into the markup side of things either.
... and we need to get a new Linguist release out.
I'll open a new PR to revert this revert once this has been merged.  That new PR will be dependent on Pod 6 rendering support being added to markup.

This PR can only be merged when markup has support for rendering Pod 6 via https://github.com/github/markup/pull/1173 or https://github.com/github/markup/pull/1185. A combined Linguist and markup update can then be made on GitHub.com to combine the two.

Any updates on this? Anything that still needs to be done? We're currently a couple months further down the road, and the latest comment we had was that someone else needs to look at it, which seems to have never happened. The latest ping from @JJ in https://github.com/github/markup/pull/1173 got no response either.

Nope. This is still blocked by the markup side of things.

I understand that, but we're getting no response in that repository for a couple of months there too.

Brought up to date.

Thanks @kivikakk. Merging this so chain of PRs can progress.

Thanks all!


CLI: Add explicit dependencies on used plugins

Stop muting eslint rules that were warning about their absense

Looks like I should get versions of each addon independently


feat/fare-management-dashboard

Please review before merging.

:tada: This PR is included in version 1.77.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


expose subcommand ping on prisma cluster

This makes it easy to decide what the nearest cluster is (for example, in an install script).

This is not valid anymore since the deprecation of the cluster commands.


Sawmills (and possibly other machines) don't drop their contents when broken

See the video.
https://user-images.githubusercontent.com/6795251/102669781-2e29db80-41a0-11eb-9058-85411ca85180.mp4

Confirmed for grinders too. I'll file a fix PR soon.

Confirmed for grinders too. I'll file a fix PR soon.


feat: Upgrade KEDA to v2.10.1 and HPA(autoscaling) api version to v2

upgrade deps version (keda to v2.10.1, client-go to 0.26.2, controller-runtime to v0.14.5)
upgrade hpa api version to v2
fix ut
improve makefile (add --server-side=true to kubectl apply command and so on)
adjust scaledobject.fallback field
update ci

Great, thanks @tpiperatgod
Looks like the e2e test is failing

I'll run the e2e test on my local machine and post the results

The error is because of resource limit of github action?

Kind needs to be upgraded to v0.20.0 to fix this issue, and the cluster is now running. If there are exceptions in subsequent cases, it means we need to update the test cases with the works mentioned in issue #475

Looks like the timeout is too small:

https://github.com/OpenFunction/OpenFunction/blob/main/.github/workflows/main.yaml#L170

Merge this for now,  you'll fix the below error in PR https://github.com/OpenFunction/OpenFunction/issues/475 ? @tpiperatgod
https://github.com/OpenFunction/OpenFunction/actions/runs/5807297811/job/15749808744?pr=476

Merge this for now, you'll fix the below error in PR #475 ? @tpiperatgod https://github.com/OpenFunction/OpenFunction/actions/runs/5807297811/job/15749808744?pr=476

ok, I think it'll work.


Improve messageIdToString

Motivation

right now messageIdToString uses string concatenation which is not memory efficient and it may trigger gc more frequently

This was taken from a running node where it shows string concatenation

see the same issue here https://github.com/ChainSafe/lodestar/issues/3446
Description

we should be able to switch to Bufffer.toString('base64') instead
write unit test and perf test to make sure
should partly improve the heartbeat performance #256

toString(msgId, 'base64') and Buffer.from(data).toString('base64') produce the same data except for the last padding character added using Buffer.toString(), however it's not an issue because message id is just for internal tracking and when we convert to Uint8Array, it produces the same data. @wemeetagain please help confirm if this is not correct.

the use of Buffer was deprecated so not sure how can we deal with this. Do you have any ideas @wemeetagain @dapplion ?

another example

the use of Buffer was deprecated for browser compatibility so not sure how can we deal with this. Do you have any ideas @wemeetagain @dapplion ?

We can use some switching code that detects if browser or NodeJS and uses Buffer only there


_set_where() doesn't allow arbitrary query strings

the where() methods in _set_where() could have the 3rd argument as FALSE, so an arbitrary SQL string isn't backticked?

this question is ci3.0 bug  she's don't support 3rd argument


fix: Avoid null exception in removeSubquery

Which issue does this PR close?

Closes #.
Rationale for this change

In CometScalarSubquery.removeSubquery, we should make sure the planId is still in subqueryMap before we go to delete subquery from it. Otherwise, null exception could be thrown.
What changes are included in this PR?

How are these changes tested?

Merged. Thanks.


Update the documentation of our high-level changes to upstream PostgreSQL

in neon repo: docs/core-changes.md
Update that file

Moving this from a draft to an issue associated with the Neon repo that will be handled by the Postgres team :). Assigning to me for now since it seems like a good opportunity to review how Neon Postgres differs from upstream.


[0.8.1] Issues

Version 0.8 has now reached full-release status with the formal release of version 0.8.1.
This issue report is provided for users of this software to report any bugs or issues found. Please be specific with your report and if feasible attach relevant information (screenshots, the file you used etc.) to it, so that the developer team can try to recreate the issue.
If you want to provide feedback on other subjects close to your heart please use appropriate channels:

General discussion: https://github.com/meerk40t/meerk40t/discussions
Feature requests: Please open a new Github suggestion issue for your suggestion.

This comment created for the development team to list all issues reported in previous betas that have not been resolved in 0.8.1.

0.8.1 issues should probably have any issues that were not resolved during the regular process either discussed in the discussion about the version.
https://github.com/meerk40t/meerk40t/discussions/1387
Or raised into their own issues. Some of the missing functionality needs their own issues just to discuss the various aspects of what is needed and involved. For example rotary is a pretty big topic, and might require (to do it right) some pretty noteworthy changes in scene as well as resolving various aspects of how splits should work if they don't take over the y-axis.

Well, you already know my view that the image bugs are sufficient to consider this not ready for production. But in the end it is your decision.
IMO there are way more than a dozen issues remaining unresolved - and the fact that you are guessing is proof (if any were needed) that you haven't had the discipline to maintain a definitive list of open issues nor been willing to put the effort into trawling through the previous bug reports and create one. I expect to find at least another dozen or two when I start using 0.8.1. and I am damned if I am going to spend 10x the time to create a separate new issue for each one I find. (And if I did it would drive you crazy having a flood of (say) 20 individual issue emails arriving.)
So I will be reporting bugs I find in a combined issue, whether you like it or not - and on that basis if I find a bug that I previously reported that dropped ended down "the back of the sofa" then I may well include it again. I have already gone way further than any other user in reporting bugs - I have quite literally reported 10x more bugs in 0.8 than all other users combined, and after all the effort I have already put in if you now expect me to repeat myself and report the same bug a second time in an individual Github issue you are very much mistaken. You are, of course, at liberty to spend your own time splitting them out into separate issues if that is going to help you manage them better.

That's fine. It's mostly the missing feature things which aren't really bugs per se that need their own issues.

The image stuff I reported yesterday are bugs not feature things. And without having kept a proper track or done a careful trawl through the bug reports and checked that they have been fixed, your statement that it is mostly "feature things" is just a guess.

The image stuff I reported yesterday are bugs not feature things. And without having kept a proper track or done a careful trawl through the bug reports and checked that they have been fixed, your statement that it is mostly "feature things" is just a guess.

Please shut the f**k up, you're actually making it impossible for me to work out the actual bugs with this software and decide if it's worth using. "If you have any respect for developers and the development process", you'll go back and delete all your tantrums over the organisation/administration side of things and the features you'd like which aren't actually bugs because it's spamming an important tool developers rely on....

@MontyTheGrey What you don't understand is that I am actually following the culture of this project and the apparently expected behaviour as expressed by the owner who has made it completely clear to me in other places that this is how you should treat others in this project because this is how he has treated me. He has personally been rude and abusive and disrespectful to me, and he has allowed others to be abusive too and indeed then given them preferential treatment rather than acting to prevent it. He continues to disrespect me, and I am not going to put up with it in silence. If you don't like this culture, then take it up with him and try to persuade him that it makes this project not a nice place to be - because I made it clear to him a long time that he was making this a nasty place, and I was told that this is fine with him, so I am simply giving as good as I get.

Since @tatarize has seen fit to comments, I think I need to clarify the situation. Just so we are clear, another developer was being abusive, I asked @tatarize to make the Discord channels a safe place and he responded not by preventing the abuser from being there but instead by A) creating a secret channel that everyone but me was invited to, and B) removing my admin privileges - he favoured the abuser and punished the abused. He said that this was because the abuser had (in the past) made useful contributions - which in itself is morally bankrupt as ethically abuse cannot not simply be excused by reference to other plus points, but even if you accept that premise he didn't apply it evenly because he took the abuser's contributions into account but not mine. This was simply further abusive behaviour by the leader of the project who should have been making it a safe space rather than making it even more unsafe. How is that honourable or justice or not simply completely screwed up? I left the development community because it was NOT a safe place, but tried still to be a helpful user.
Then a couple of weeks ago, Tat explained to me that, not only were his above actions entirely appropriate (which they clearly aren't) but proceeded to tell me just how much my code contributions were a waste of time (including cherry picking examples and ignoring others). Not only was he a glass half-empty person, but rather than an apology I got another ethically bankrupt self-righteous justification for why he was perfectly right and I was in the wrong.
I will be happy to share the conversation log as evidence with anyone who wants to read it.
It has therefore been made abundantly clear on several occasions that respecting the efforts of others is NOT a cultural value for Tat, and I am simply now fitting into that culture by refusing to let Tatarize continue to disrespect the efforts I have made.
This is easy to fix. Tat can apologise and make things right. But he won't because he doesn't have the ethics nor humility to admit when he has made a major mistake.
Now we are definitely off topic here - because this has got nothing to do with bugs reported - but since Tat has seen fit to gaslight me here, I am going to respond to that.

Sorry about that. He's not a great welcoming squad. I've blocked him for 3 days or whatever.

As for the bugs, I've posted a couple issues on missing functionality. There's also a pretty good legacy branch that's been rather heavily tested and found to be rather stable. Also, K40 Whisperer is pretty great software too, and you don't really need to pick or choose between the two.
I'm planning on making some video guides. Explain things since bugs is much less of an issue than potentially a steeper learning curve.

@tatarize Thanks for the response and sorry for my language but I've never seen anyone publicly treat devs so badly and I mean that. He might have valid points sometimes but don't let that detriment your teams creative process and knowledge.
I'm currently using K40 whisperer on an old computer with Parsec but it's a bit janky. I'd like to run the old pc headless and control the K40 directly from my good pc on the other side of the house. The network and webcam functionality of MeerK40T seems perfect compared to the data loss I'd expect with VirtualHere. I'll make a post about it on Discord or the Discussion board once I work out what I'm doing

Eh, generally he strongly advocated for comeuppance for people talking trash about the project and annoying would-be new folks.  He has his faults but he more than pulls his weight.
--
Yeah, in theory the only issue with headless operation from across the house is that sometimes people are across the house and that's not exactly close enough to put out the literal fires.

Yes - I did advocate for comeuppance for people giving personal ABUSE to other users. And I am self-aware enough to know that I wouldn't have stood for my own behaviour if I was in Tat's place, but then again I have sufficient emotional and ethical intelligence that I would not have created the situation in the first place, and if even I had I would have then have the self-awareness and humility to apologise and try to make it right, so it would never have escalated to this.  And as I said before, my disrespectful attitude is EXACTLY the attitude that Tat displayed to me only a week or two ago - so yet again dual standards operating.

[ ] Raster time estimate is way too low. Currently into a burn estimated @ 50 mins of which 49 mins is a single large raster - so far it has been running for 39.5 mins and has literally just come to the halfway point. It's a 270x175mm image rastering at 200mm/s DPI 500.

[ ] Crash on Sppoler/History/Delete History older than one week.

MeerK40t crash log. Version: 0.8.1000 on Windows: Python 3.7.9: AMD64 - wxPython: 4.1.1 msw (phoenix) wxWidgets 3.1.5
Traceback (most recent call last):
  File "meerk40t\gui\spoolerpanel.py", line 303, in check
  File "meerk40t\gui\spoolerpanel.py", line 279, in clear_history
TypeError: '<' not supported between instances of 'NoneType' and 'float'

Yes - I did advocate for comeuppance for people giving personal ABUSE to other users. And I am self-aware enough to know that I wouldn't have stood for my own behaviour if I was in Tat's place, but then again I have sufficient emotional and ethical intelligence that I would not have created the situation in the first place, and if even I had I would have then have the self-awareness and humility to apologise and try to make it right, so it would never have escalated to this. And as I said before, my disrespectful attitude is EXACTLY the attitude that Tat displayed to me only a week or two ago - so yet again dual standards operating.

Tat tried to compromise with you over and over again. Wasted hours and days of his time doing so. He literally isolated the person abusing you so that you were 'safe' from his abuse. Nobody is going to apologize for doing this.  Like standing next to a bucket of water while a fire is raging, insisting that someone else splash out the fire, and then telling them they did it wrong after the fact. "You just can't help some people no matter how hard you try"
All you have done since then is be rude, ungrateful, disrespectful towards the dev who made it even possible for you to have this social justice warrior soapbox. Even now, he is saying kind things of you. Tat is literally a saint compared to you.  Personally, I don't find your level of testing and support worth it. Seems you're quite capable of dishing it out, but you can't take it yourself. The dual standard here is that you're allowed to be rude and abusive and still be seen in this public location. That your testing and feedback is more important than anyone else's. That your features should be implemented whether or not they mess up other people's usage or workflow just because you run some production items.
Go home, child, and learn to not be so entitled. Part of maturity is learning to accept this fact.
I can't possibly imagine what you want out of this whole situation. Do you want paiin banned regardless of future hardware support for meerk40t? Do you want Tat to apologize for giving you exactly what you asked for?  What possesses you to think that the future of MeerK40t owes you anything at this point? Do you want your name bigger in the About box? Do you just want to argue constantly for the rest of your life in outrage? What does it benefit you or anyone else?
Most importantly of all, do you recognize that this platform is about MeerK40t, and not you?
Many times it has been suggested that you could create your own fork of meerk40t and oversee it how you wish. If you ever do see fit to manage your own project, I hope your superior emotional and ethical intelligence serves you well.

he strongly advocated for comeuppance for people talking trash about the project and annoying would-be new folks. He has his faults but he more than pulls his weight.

Just to clarify this again. I advocated for comeuppance for a person who was making highly personal, nasty false comments which had no cause. That is abuse, and it makes the environment unsafe for everyone, not just the  individual being abused, and IMO should be dealt with promptly and robustly.
If someone had an opinion about the project that they were attempting to justify with valid facts, I would A) listen and evaluate whether there was some truth to what was being said, and B) try to persuade them that this was not the case. That is NOT abuse, it is a difference of opinion, however vocal. But if in the end having tried to understand their position and consider whether they actually had a point we still had serious and irreconcilable differences, I would ask them to leave.
(The third case is someone who has just turned up for a rant without any history, facts or justification, and who is not open to rational debate or persuasion. There is no point in listening, and they should be kicked.)
So these are not, as Tat is implying, equivalent in the slightest.

He literally isolated the person abusing you so that you were 'safe' from his abuse.

Tat literally did the absolute opposite to this - he isolated me and put everyone else in a group he kept secret from me. That is NOT the "comeuppance" he talked about above. He literally punished me and favoured the abuser. And this is the crux of why I am so vocal. And he still has zero understanding of how inappropriate that was, and has never said a single word of apology about it, instead continuing to justify that as the correct behaviour and gaslighting me as the person in the wrong. He has never expressed any empathy for my having got upset about this, even if he doesn't agree with my view that this was highly unethical.

Even now, he is saying kind things of you.

Yes - but he says one thing in public but something different to me in private. That is literally gaslighting.
You should see the transcript of the conversation I had with him on mIRC a couple of weeks ago. A more unapologetic, self-justifying, disrespectful and ungrateful set of comments you couldn't imagine. Not only did he still consider favouring the abuser and isolating the abused was the correct approach, but he literally told me that my code contributions were a waste of his time (essentially by being selective with the facts) and that whilst he valued my efforts in beta testing and (formerly) in promoting Meerk40t, the implications was that they didn't count because they were not activities that he would have done and which therefore freed up his time. In other words, he measures contributions only from the selfish perspective of his own time.
If anyone can dish it out but not take it, that would be Tat. He bluntly disrespects me, but then complains when I give as good as I get. Indeed in the past you (@tiger12506 ) also made it clear to me that your personal view was that people should stand up for themselves, and not expect Tat (as project leader) to deal with abusers, yet here you are complaining because I am standing up for myself.
Your comments about about how you see me as being abusive are as equally dismissive of the reasons behind my comments as Tat's. You clearly don't understand the reasons for me speaking out but instead are trivialising them as me whining and being abusive myself. Well...

I don't believe that this project is all about me - it is Tat who measures people's worth by the amount of time they use up or save him personally.
I have been clear on many occasions that this is great software, and that in the space of < 2 years from 0.6 to 0.,8 it has improved beyond belief and gone from strength to strength. I have also been clear on many occasions that I think that Tat is a talented programmer and he has created code that I could not have achieved - but being a talented programmer is not the measure of a person or a project leader. The majority of the issues I report get fixed. So I have every reason to contribute to this project and no reason to fork it. And, just like for 0.7, I have contributed a lot to the quality of 0.8 by beta testing.
My contributions to the project are not my justification for speaking out, and that would be hypocritical of me if I did. My reasons for speaking out are to get justice for wrongs that need righting. It is Tat and you who keep going on about contributions as if this is the only measure for everything and right/wrong doesn't matter.
If I wanted to fork the project and do stuff myself, I could have done that from the start - but actually I didn't because I knew that the best result would be from being part of a team / community and normally I am a team player.

So where these comments about this being all about me and me wanting to fork the project have come from I have no idea, but the gist of them is they demonstrate that - yet again - a complete inability to listen or hear what the issue actually is.
Can you or Tat not see the difference between A) the past situation where one developer was being personally abusive to another developer, and B) these comments from someone who feels things are unjust, who has tried on several occasions to get justice in private, who has walked away from developing but continued to be a beta tester, and who then has been disrespected again and so decided that something needs to be said publicly?
I would also add that I find the fact that I am making these public comments as distasteful as you and everyone else here (except Tat apparently who simply finds them annoying rather than distasteful). I don't like having to fight for what is right in a public forum like this, but since it is impossible to have such conversations in private (because ethical values have such a mismatch), my choices are to allow this abuse to be brushed under the carpet or to say something - and I choose to stand up and fight.
As for other projects, I have and continue to be involved in other open-source projects and I have no difficulties in getting on with other people on most of those projects, and I am always supportive of whatever technical decisions they make (as I explicitly was with Tat). On the very few occasions over the decades where there has been an issue of abuse, those leaders have always acted promptly to address it, and Tat is the sole exception to that. I am also a moderator in several chat channels, and over the decades I have only needed to kick someone on a handful of occasions, but on those occasions they were being abusive and I didn't hesitate to act to end the abuse immediately. Before I retired I also spent several decades as a manager, managing large teams and having an excellent working relationship with them because I treated them as people, respected them as individuals and valued what they contributed. I didn't always do things perfectly as a manager, and when things didn't go as I would have wanted them to, I always tried my best to put things right.
So, perhaps you should ask yourself why the leadership of this project is so uncaring of other people's feelings and so dismissive of voluntary efforts, and why someone who put so much into supporting and promoting this software has become so vocally negative about the leadership of the project (whilst still being explicitly positive about the software). These things don't happen for no reason - they happen because someone feels that they have been mistreated and they are trying to get justice.
Good leaders don't simply weigh up whether the contributions someone has made outweigh allowing them to be abusive to others - they make decisions about abuse based on right and wrong. (The law doesn't allow Jeffrey Epstein or Harvey Weinstein to get away with abuse just because they contributed a lot to the Finance or Film industries for example.)
Nor are good leaders bluntly dismissive of the voluntary efforts of others (even if some of those efforts require leadership time that could be spent on other things). Good leaders don't encourage efforts and then treat them as worthless later. Good leaders understand that differing views are a positive and that debate about those views is a positive thing, and don't see such discussions as a waste of time.
But most of all, good leaders treat people as people (not just code creators), with opinions and emotions that are worthy of respect regardless of whether they agree or not - and good leaders listen and respond to defuse and make things right when they go off the rails rather than simply justify their own position.
So, at this point, having pointed out yet again that this is an issue of ethics, of the right for someone to feel aggrieved and  seek justice, and you can either choose not to listen and continue to characterise this as griping, or you can start to listen and try to defuse the situation and try to make things right.

Quite simply, because he's tired of you, and so am I, and so is paiin, and so is jpirnay. This is not your soapbox. It really doesn't matter much if ethics are or are not being followed. This is about MeerK40t, and it's your desire to feel validated and right that is pushing conflict. Whether or not your pursuit of justice is righteous or not, it doesn't really matter anymore.
I don't really care what you've been a manager of, tbh. All it shows me is that you are capable of bullying and firing people that don't fit in your work ethics. To be honest, from the start I was all for your case, but by now I want to quit as your advocate and move on with my life.
You keep framing your argument as ethics, making a good team, for the better of meerk40t. But your very argument isn't good for meerk40t. You've already had one new user listen to you and make his own conclusions about this situation based on your behavior.
Tat has tried to be polite, I think he has all the best qualities of what it takes to manage people and get a team working well together.
Whereas you have managed to cause everyone on the team to dislike you. I don't want to burst your bubble of life-experience or anything, but a lot of people end up hating their managers. Perhaps you were one of those. Thank goodness you retired from that job.
"choose not to listena nd continue to characterise this as griping, or you can start to listen and try to defuse the situation and try to make things right"
And how do you suggest we make things right? Again. What do you want from this? Why would you continue? What is your goal here? I don't know how to make it any plainer. You need to think about what is good for meerk40t if you wish to continue helping it, and soapboxing on ethics and bringing up evidence from a cold case just isn't it.
Nobody is interested in apologizing to you, and we don't expect any apology from you either. So, either we all act like civilized grownups and move on, continuing to provide usefulness to meerk40t. Or you can leave, and the rest of us will breathe a sigh of relief, new users included.
Thank you for what you've done for MeerK40t so far, and the contributions you have made. Your name remains in the About box, rightly so.

No - this is NOT about my wish to be validated or right. It is:

My belief that people should be accountable for their actions, especially when they mistreat people i.e. justice.
My belief that if it happened to me, it can happen to someone else in the future. The world is full of repeat examples because people made excuses. #metoo
My belief that all contributions by volunteers should be valued even if a minority of them take more time to review than it would to have coded them in the first place. I am not looking for effusive thanks for each and every little thing, but I do not expect my efforts to be called a waste of time (even if a minority of them needed as much review effort as the coding might have taken), and I expect such code quality issues to be called out during review as a learning opportunity (so next time the code will be better) and not accepted at the time and then trashed at a later date.
My expectation that if there is going to be some form of much later critique - and there wasn't any need for the one Tat lobbed in recently - then it needs to be fair and factual and NOT an exercise in self-justification and disrespect by the leader.
My belief that it is by definition OK to follow the example set by the leaders. If Tat wants to treat people with disrespect, he shouldn't complain when they do the same to him.

As for my work ethics, I genuinely can't remember an occasion when I ever fired someone (though I do recall a supplier project manager who I asked to be removed once). The only occasion I can recall having to "fire" someone was when I was told by senior management to make someone redundant, and it was a painful experience because I do have empathy. I was careful about hiring, and that may be the reason I didn't need to fire anyone, but a belief in the positivity of people generally paid off (including unfiring people who I inherited during their notice periods who I found were valuable). As far as I know, no one who worked for me ever hated me - though I was certainly a bit pompous at times. (Lol - unbelievable I know!) So, yet again, you have made up stories about me based on zero real knowledge. As and when you have facts to use to disparage someone, please feel free to use them - until then please stop making things up to justify your own position and ignore someone elses.
Your statement about this being a cold case is also not true. Yes, there is a cold case in there, but there is a reason it has come up again - further unjustified disrespect. Tat couldn't let things lie - he had to rake over the embers and explain just why he was so righteous, and whilst doing that be dismissive about my code contributions, calling them a waste of time. To use an analogy, he ripped open a healing wound and poured salt into it.
As for making things right, actually it wouldn't be that difficult. A) Stop denying that mistakes were made.  C) Admit that creating a secret channel especially to keep the abuser onboard whilst isolating the abused was a mistake and apologise. D) Stop seeing the glass as half empty, and apologise for being so negative about the time and effort put in by a volunteer. In other words, be human and accept that you can make mistakes, and be humanist and treat people as people and value their contributions. What's so hard about that?

No mistakes were made.  Leave us alone. I'm done. I'm out of the conversation.
P.S.
I hope that you never compare the name calling paiin did to you face to face to someone who actually deserves to invoke #metoo. I know a few people who would do a lot worse to you than paiin ever could for even making the comparison. Get over yourself.

I advocated for comeuppance for a person who was making highly personal, nasty false comments which had no cause. That is abuse, ,,,

Part of the issue here and why I could never successfully deescalate the situation. Upon retelling the wounds are deeper the attacks or more scathing and each time reconsidered get more deeply personal. While Paiin was at times rude, he wasn't making personal attacks.

So these are not, as Tat is implying, equivalent in the slightest.

The events as built up in your head compared to the events described actually are generally the same thing. The disanalogy is only found upon each retelling with each reconsideration creeping ever closer to Hitler.

Tat literally did the absolute opposite to this - he isolated me and put everyone else in a group he kept secret from me.

That Paiin was told to stayed in, as to not interact with you. That new users could not see, and would not be informed existed. The alternative was to start a different server altogether, or just communicate over email or whatever.  Would that also be excluding you if I didn't BCC you on any correspondence between paiin and I?

He literally punished me and favoured the abuser.

Putting paiin in a hole and telling him not to interact with you is not punishing you.

And he still has zero understanding of how inappropriate that was,

This is accurate, I still do not understand how your interpretation makes any sense.

He has never expressed any empathy for my having got upset about this, even if he doesn't agree with my view that this was highly unethical.

I can't control your emotions but I absolutely did exactly that. I do not want valued people to get stuck in a loop where they feel everything was an attack on them. And said as much in our irc conversation. [03:45:48] <Tat> But, holding on to anger is like drinking poison and expecting the other person to die. And I certainly do not want that for you. -- That's literally expressing empathy at your reaction (which I cannot and do not control).

You should see the transcript of the conversation I had with him on mIRC a couple of weeks ago. A more unapologetic, self-justifying, disrespectful and ungrateful set of comments you couldn't imagine.

That's pleasantly ironic. Tiger could actually imagine such a thing, because I literally had told those exact things to Tiger. Also, in the spirit of honesty. Allow me to share my personal messages about the whole affair a day or so after you left. Keep in mind, I'm only sharing this with you to help you understand my position. -- Those personal messages were with Tiger. Not only did I post that conversation to the moderators channel, I was quoting my side of a conversation I already had with Tiger to give you a better understanding of what went wrong, there.

and good leaders listen and respond to defuse and make things right when they go off the rails rather than simply justify their own position.

That's what keeping paiin away from you was attempting to do; It didn't help. You said you didn't want paiin around and when he so much as mentioned you even in passing you took it as a personal attack.
P.S. This topic should probably be closed 0.8.2b1 is out and drama doesn't look great or whatever.

All issues moved to #1422, #1421, #1420, #1419


Run request reply in the MAC os12 system, and the consumer will time out when returning the result

BUG REPORT

Please describe the issue you observed:

What did you do (The steps to reproduce)?
Run request reply in the MAC os12 system, and the consumer will time out when returning the result

What is expected to see?
The consumer can normally return the result to generate this

What did you see instead?
The consumer reply failed

Please tell us about your environment:
MAC OS 12

Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
I ran the following example：
https://github.com/apache/rocketmq/tree/develop/example/src/main/java/org/apache/rocketmq/example/rpc

我也看看

改成配置的服务器，也会报链接为空失败，是我开了vpn吗

vpn关掉也有这个问题

did you make a breakpoint at ResponseConsumer.java?

There may be a problem with my computer itself, my error is not the same as yours.
Only throw timeout and no other information.

broker.conf need add brokerIP setting
brokerIP1=公网IP(all consumer will use brokerIP1)
brokerIP2=内网IP
hope rocketmq team can support rocket-client  use ip1 or ip2 option

I reproduce this bug, root cause is blocked when broker send message to producer. The blocking code is as fellow:

There are relationships with bornHost and storeHost of reply message.
bornHost=/<IP_ADDRESS>:59653, storeHost=/<IP_ADDRESS>:10911

will be blocked.
bornHost=<IP_ADDRESS>:59653, storeHost=<IP_ADDRESS>:10911

will not.

I start RocketMQ and nameserver producer and consumer in one machine.

Your producer is restarted, channel was removed in broker. Consumer receive the message before the restart, so broker can not found the channel.

I reproduce this bug, the root cause is that producer is blocked when it receive a reply message . The blocking code is as fellow:  There are relationships with bornHost and storeHost of reply message.
bornHost=/<IP_ADDRESS>:59653, storeHost=/<IP_ADDRESS>:10911

will be blocked.
bornHost=<IP_ADDRESS>:59653, storeHost=<IP_ADDRESS>:10911

will not.

Consumer Started.
ConsumeMessageThread_please_rename_unique_group_name_1 Receive New Messages: [MessageExt [brokerName=broker-a, queueId=0, storeSize=291, queueOffset=1, sysFlag=0, bornTimestamp=1646706163408, bornHost=/<IP_ADDRESS>:64310, storeTimestamp=1646706163423, storeHost=/<IP_ADDRESS>:10911, msgId=7F00000100002A9F000000000000ABF8, commitLogOffset=44024, bodyCRC=198614610, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='RequestTopic', flag=0, properties={MIN_OFFSET=0, REPLY_TO_CLIENT=<IP_ADDRESS>@78996#328339814781694, MAX_OFFSET=2, CONSUME_START_TIME=1646706163449, UNIQ_KEY=1EFAC824349418B4AAC22646A2CF0000, CLUSTER=DefaultCluster, TTL=3000, CORRELATION_ID=adabf809-ba1a-4187-a6ba-2bbba81439a2}, body=[72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100], transactionId='null'}]]
handle message: MessageExt [brokerName=broker-a, queueId=0, storeSize=291, queueOffset=1, sysFlag=0, bornTimestamp=1646706163408, bornHost=/<IP_ADDRESS>:64310, storeTimestamp=1646706163423, storeHost=/<IP_ADDRESS>:10911, msgId=7F00000100002A9F000000000000ABF8, commitLogOffset=44024, bodyCRC=198614610, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='RequestTopic', flag=0, properties={MIN_OFFSET=0, REPLY_TO_CLIENT=<IP_ADDRESS>@78996#328339814781694, MAX_OFFSET=2, CONSUME_START_TIME=1646706163449, UNIQ_KEY=1EFAC824349418B4AAC22646A2CF0000, CLUSTER=DefaultCluster, TTL=3000, CORRELATION_ID=adabf809-ba1a-4187-a6ba-2bbba81439a2}, body=[72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100], transactionId='null'}]
reply to <IP_ADDRESS>@78996#328339814781694 , SendResult [sendStatus=SEND_OK, msgId=1EFAC824348718B4AAC22646A3070000, offsetMsgId=7F00000100002A9F000000000000AD1B, messageQueue=MessageQueue [topic=DefaultCluster_REPLY_TOPIC, brokerName=broker-a, queueId=0], queueOffset=14]

I change my location from home to  work place, then I can not reproduce this block. example seems work right.


VS: Monthey Week 45: Value 60 instead 601 stored

The document https://www.vs.ch/documents/6756452/7008787/2020 11 11 - Synthese COVID-19 VS Woche45 shows the value of 601 for the district of Monthey, but 60 is stored in the https://github.com/openZH/covid_19/blob/master/fallzahlen_bezirke/fallzahlen_kanton_VS_bezirk.csv
Other values for week 45 are correct.

good point, should be manually fixed in #1403 - thanks for the heads up!


Height accuracy for transparent objects

Required Info

Camera Model
D400

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)
4.15.0-88-generic

Platform
-

SDK Version
-

Language
python

Segment
Robot

Issue Description
Reference Image:

In the above reference image, we're getting a height of 7mm on the transparent section of the bottle and about 70mm on the wrapper portion. Is there a way we can do some kind of post processing on the depth data in the image to make the height data more uniform?

@dorodnic has previously commented on the subject of transparent materials: "any material that is transparent in the visible spectrum should also be transparent to depth from stereo algorithm".
On objects that are difficult for the camera to see properly because of transparent or reflective properties, applying a professional scanning spray to them can make them more reliably visible to the camera.  Here is an example of such a spray:
https://3dscanspray.com/
A less pro method of achieving the same effect is to apply a fine spray-on powder such as baby powder or foot powder to the surface of an object.
If your project is not suited to applying a coating to the object then you could try aligning depth with color.  Intel take this approach in their depth_under_water Python tutorial on sensing through water and water filled transparent containers such as fish aquariums.
https://github.com/IntelRealSense/librealsense/blob/jupyter/notebooks/depth_under_water.ipynb

Thank you for the pointers Marty. I will research the links. Earlier, when we applied the depth to color alignment, the FPS dropped by half.

The additional processing involved in operations such as alignment may be partly offset by offloading some of the work onto the GPU.  This can be done by building Librealsense with CUDA support if you have an Nvidia GPU, or with the SDK's GLSL processing blocks if you do not have an Nvidia GPU.
https://github.com/IntelRealSense/librealsense/issues/4905#issuecomment-533854888
Vision computing operations can also be hardware-accelerated by inserting an Intel Neural Compute Stick 2 device into a USB port alongside the camera.
https://store.intelrealsense.com/buy-intel-neural-compute-stick-2.html

Thanks for the information Marty. We are using a GPU, but we are reserving it for our deep neural network. I wonder how much of the GPU will be used by the Realsense camera? Can we have a GPU was well as a Neural compute stick... we're already having power issues powering two realsense cameras connected to our motherboard.

The Neural Compute Stick 2 should not significantly drain resources.  Intel confirm in the store listing that it is a low-power device.

A VPU like the Movidius Myriad X one inside the Stick can carry out graphics processing independently onboard  without having to process it on the computer.

That helped immensely! With frame alignment and CUDA flag turned on, our FPS went back up from 7 to 20 FPS all the way to 29-30 FPS consistently. Thanks a lot!

You're very welcome.  That's great news!   :)

So, the alignment wouldn't help much with the depth accuracy on transparent objects right? We cannot spray anything on the objects as we don't have control over them.

I considered your question very carefully to think of possible approaches.
If the label is the most consistently accurate part of the image, I wonder if you could define a 'bounding box' to focus only on the label part of the image and exclude the fully transparent parts of the bottle from the data by only having the label within the bounding box area.  It is a tricky subject though, especially if the bottles are moving past the camera in boxes along a conveyor.
Another approach might be to put some kind of 'tag' image on the bottle label that a camera can recognise and work out the position of, ignoring everything except the tag image's position.  On the T265 Tracking Camera this 'pose' of a tagged object can be detected with Apriltags, whilst 400 Series depth cameras may be able to detect a type of tag image called Aruco.  A tag-based approach would require less alignment precision than a bounding box.
Also, I wonder if the lidar-based depth of the new RealSense L515 may be able to provide better results with this transparency application than the stereo depth of the 400 Series.   @dorodnic  What do you think of that?
https://store.intelrealsense.com/buy-intel-realsense-lidar-camera-l515.html

Thanks for your quick response Marty. I am not sure of a good way to detect the labels on the bottles. Also, Aruco tags cannot be applied on the objects as they are not in our control. Yes, I am hoping that the lidar based camera will help, we had pre-ordered it when it came out.

Another thought comes to mind.  If you know that the label is always going to be a certain distance from the camera, set a depth clamp (minimum and maximum allowed distance values).  Maybe 60 mm minimum, 80 mm maximum).  That should in theory exclude distances less than 60 mm or greater than 80 mm (or whatever min-max range you think best).
The Threshold Filter post-processing filter would be the appropriate way to do that.   It can be added to a program with C++, C# or Python scripting, or tested using the filter in the Post-Processing section of thee RealSense Viewer options side panel.

We had to disable the CUDA flag as the alignment got messed up. For some reason now we are not getting reliable alignment anymore, though we got the FPS we were expecting. This is affecting us adversely. Any thoughts?

We restarted the camera and the alignment is working again. Upto 22814 frames now for both color and depth, the difference in the frame numbers is 1 only. When the alignment is good, the difference is always 1.
We will watch it, i fear that in a few hours the difference between the color frame number and depth frame numbers will start regressing. We have seen a difference of as high as 3 before the camera restart.
Current state as of this comment:
Color frame number: 22814
Depth frame number: 22813

You could perhaps put a hardware_reset() instruction in your script to automatically reset the camera, and make its activation conditional on the frame difference being > 1.  Then the bottle scanning process could run without human intervention for manual camera resets.

Thanks Marty. The hardware reset sounds like a scary thing. What kind of attributes it resets? Can this cause camera's longevity/reliability to go down? Will it undo the Dynamic calibration? I read through the C++ code, but could not find any more information than "Send hardware reset request to the device."

At least for the T265 a hardware reset doesn't damage the device. I'm using it by default in order to start from a defined state (unless I would like to re-use an accumulated map from inside the cam). I need to wait a second after a hardware reset in order to use the T265 again.

Thanks @neilyoung   :)
@tispratik  A hardware_reset instruction has basically the same effect as physically unplugging the camera from the USB port and then re-inserting it.  It is very useful for industrial scenarios where the cameras need to be unmanned or are locked in a cabinet.  As @beilyoung said, it shouldn't harm the camera.
The outcome of a dynamic calibration is written to the camera, so a reset will not affect it.

Thank you Marty and Neil! Good to know about hardware_reset(). Is there a function which simply disconnects the camera and not reconnect automatically? For another use case I want to control when I disconnect and reconnect the remote camera.

There have been some posts on a thread regarding a USB hub, which could control the power on its plugs. But the tread was about problems with re-enumerating the cams after the power cycle, so I'm not sure if this would be a solution.

@tispratik  If you want to stop the camera streaming, you just stop the pipeline.  At the start of the script, the pipeline would have been defined.  For example:
pipe = rs.pipeline()
So to stop the stream, you do the opposite of pipe.start():
pipe.stop()

The use case is to disconnect the camera in order to do patch the linux kernel, once the patching is done, reconnect. Based on the instructions given on the linux kernel patching page.

I would think that pipe.stop() would achieve that goal, as it would put the camera into non-streaming standby state, as if it had just been plugged in.  Because the pipeline would be inactive, this should allow the camera to be detected, patched and the pipeline then restarted with pipe.start()

Closed due to no further comments.

Hello,
I am new to Realsense, I have D435 and want to detect a glass door through the camera, however I am not able to find an appropriate solution for this, can you guys help me please.

Hi @Aanalpatel99  Applying an inexpensive linear polarization filter sheet over the camera lenses on the outside of the camera can significantly negate glare from reflections.  An example of this is shown in the image below that demonstrates the improvement in glass visibility when using such a filter.

Thank you so much @MartyG-RealSense, I will try this.


[BUG] Selecting Work Item does not always change detail panel

I selected one Work Item from the list view and then attempted to select another from another point in the list (without first closing the initial detail panel). I was unable to see the selected item in the detail panel, but the row highlighted as if it was active.

@mindreeper2420 I am not able to reproduce this bug now, can you try it now again?


Add support for reactor-less models

It is now possible to call InstallerBase.Install(false) to bind NullReactor as a product of ReactorFactory, thus disconnecting reactor.
This introduces a minor backward-compability issue: Repository concrete class carries a generic parameter with a Reactor type. Injecting concrete Repository classes is even more discouraged now.


404

I have installed the ofmeet plugin but even after installation i don't see a new configuration page and can't access the given url in the documentation

i don't see a new configuration page

Something wrong with your openfire meetings installation. check the openfire log files for errors

Got it.
2018.09.26 11:09:15 org.jivesoftware.openfire.container.PluginManager - Ignoring plugin 'ofmeet': requires Java specification version 1.8. Openfire is currently running in Java 10.


feat(explore): Keep or reset chart config after datasource change

SUMMARY
Currently, when user switches datasource, controls such as metrics, group by, filters etc. are being reset. This PR changes that behaviour - after switching datasource, controls that use columns or saved metrics that are present in both previous and current datasource are preserved. After that, we display an alert that let's user decide if they want to reset the chart config or keep the changes. If there were no controls using columns nor metrics that matched the new dataset, we display a "warning" alert that informs user that chart config was reset.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://user-images.githubusercontent.com/15073128/151549614-98b0baa9-2635-4c33-8908-1f255ba5ae0b.mov
https://user-images.githubusercontent.com/15073128/151549652-ff6caa55-23e4-494c-9e27-96084863f9f9.mov
EDIT: new copy

TESTING INSTRUCTIONS

Turn on drag and drop feature flag
Open a chart
Add some columns and metrics to controls
Change dataset
If some of the columns or metrics that you used in controls are present in the new dataset, those controls should keep their state and an info alert should appear with 2 button - "Clear form" and "Continue". Clicking "Continue" should close the alert, clicking "Clear form" should reset the controls and close the alert.
If none of the columns or metrics that you used in controls are present in the new dataset, a warning alert should appear with button "Continue", that closes the alert.

ADDITIONAL INFORMATION

[x] Has associated issue: #17010
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

CC @kasiazjc
https://app.shortcut.com/preset/story/34087/gh-17010-prod-95-keep-chart-config-when-changing-data-source

Would this logic also work case-insensitive?
We have use cases where we migrate tables from Postgres to Snowflake, which potentially results in a change in case from lowercase to UPPERCASE. However, the model's general schema is still the same.
So it would be really helpful if the case would not have to match in order to keep the chart config after changing the datasource.

Would this logic also work case-insensitive?
We have use cases where we migrate tables from Postgres to Snowflake, which potentially results in a change in case from lowercase to UPPERCASE. However, the model's general schema is still the same. So it would be really helpful if the case would not have to match in order to keep the chart config after changing the datasource.

Hey @rumbin, I discussed your suggestion with @villebro and we agree that it makes sense to have that logic case insensitive. However, that change should be made on a higher level, in the whole Superset. I'd suggest that we merge this PR as-is and work on case insensitivity as a separate project.

/testenv up FEATURE_ENABLE_EXPLORE_DRAG_AND_DROP=true

I have found 3 issues in the PR when i testing in the ephemeral env
1,  On the dataset name filed, the dataset name showed without the schema (master has .<dataset_name>, is that expected?

2, seems like when the warning msg is shown, it is not auto pop to the msg and if user is at the bottom of the panel, user may not able to see the warning msg until user scroll up
https://user-images.githubusercontent.com/81597121/151865156-c77dad31-8187-4f69-9013-3d1bb0d1f6db.mov
3, After the i change dataset, if i also change the viz type, the explore page will become blank
https://user-images.githubusercontent.com/81597121/151865290-3d5e29cf-3428-4ae3-8704-e7634302abee.mov

Thanks so much for spotting those @jinghua-qa!

No changes here - it might be related to sqlite used in eph environments.
Good idea, I'll add scrolling to the top when datasource changes.
😱 Will fix!

@jinghua-qa Both issues should be fixed now! Can you retest please?

/testenv up FEATURE_ENABLE_EXPLORE_DRAG_AND_DROP=true


Images do not resize in a responsive way

Currently, images do not resize in a responsive way on smaller resolutions/mobile. It's a matter of a few lines of CSS, so I thought it wouldn't be too much of a problem to fix it :^)
Example of what I'm talking about:

Oh. That's unfortunate. 😅
@coelhucas @matheusmedeiros Folks, can you take a look at this? Thanks!

I noticed the PR which addresses this issue is merged. I built the master branch and I can confirm the issue has been resolved. Thanks, y'all!

Hey @invakid404! Glad to know it solves your problem. I just pushed a new v0.2.2 release including pre-built binaries with this fix.
Thank you for the feedback! 🙌🏻


Rollup's external option only sufficient to suppress import, skip additionally required to suppress require

As per @Rich-Harris's comment here, this plugin will automatically skip modules marked as external (without the user having to specify the skip option). But, my testing reveals that the plugin will only do this if the module is imported using an import statement, not via a require statement—in the latter case, you must also specify skip.
Example:
// index.js
import {getFirstName} from './StringUtils.js';
console.log(getFirstName('Jeff Wear'));

// StringUtils.js
var _ = require('underscore');

module.exports.getFirstName = function(name) {
  // Slightly contrived I know
  return _.first(name.split(' '));
};

The following Rollup configuration will not prevent Underscore from being bundled:
export default {
  entry: 'index.js',
  external: ['underscore'],
  plugins: [
    nodeResolve(),
    commonjs({
      include: ['node_modules/**'],
    }),
  ]
};

—I must also specify nodeResolve({skip: ['underscore']}). (skip alone is not sufficient—if I don't define external, Rollup prints a "Treating 'underscore' as external dependency" warning.)
However, if I make StringUtils an ES6 module:
// StringUtils.js
import _ from 'underscore';

export function getFirstName(name) {
  return _.first(name.split(' '));
}

Then external: ['underscore'] is sufficient.
Is this expected? It would be nice if external was sufficient for both ES6 and CommonJS modules. It's also kind of weird that I need both skip and external in the CommonJS case.

Just external does not do it for named import either:
import { set } from 'lodash'
export { set }

bundles lodash if without skip

I assume this was solved by #90. If not, leave a comment

I think that #90 did not solve the issue but rather removed the workaround, because it is no longer possible to specify skip in addition to external.

Whoever fixes this, please note the following quirk in the previous behavior of skip (a bug that the new implementation should avoid!)
Consider this setup using<EMAIL_ADDRESS>// index.js
import {doSomethingWithHandlebars} from './StringUtils.js';
console.log(doSomethingWithHandlebars());

// StringUtils.js
var Handlebars = require('handlebars/runtime');
module.exports.doSomethingWithHandlebars = function() {
  Handlebars.madeUpFunction();
};

```json
{
  "dependencies": {
    "rollup": "^0.45.2",
    "rollup-plugin-commonjs": "^8.0.2",
    "rollup-plugin-node-resolve": "^2.0.0"
  },
  "dependencies": {
    "handlebars": "^4.0.10",
  }
}

// rollup.config.js
import nodeResolve from 'rollup-plugin-node-resolve';
import commonJS from 'rollup-plugin-commonjs';

export default {
  entry: 'index.js',
  external: ['handlebars/runtime'],
  plugins: [
    nodeResolve({
      skip: ['handlebars/runtime']
    }),
    commonJS(),
  ],
  targets: [{
    format: 'iife',
    dest: 'bundle.js'
  }]
};

The above skip list will not exclude Handlebars from the bundle!
Instead you have to do skip: ['handlebars']. That is, it appears that skip's values must be the canonical package names even if you're require'ing a subpath.
But hopefully the fix to this issue will allow external: ['handlebars/runtime'] to be sufficient.

External doesn't work at all for me. It always pulls in a relative path if it is in node_modules.

any updates ?

3.x does not fix the problem with this module and external but rather removes the workaround of specifying skip. :(

what happened ?

any updates?

I checked it with latest versions, all works fine, with commonjs module and with es6 module. Repro here: https://github.com/mecurc/72-rollup-resolve
Can be closed now.


when setting Fixed size, prune all props that might interfere

Problem
When setting an element to Fixed size, it it not enough to trim min and max props, but flex* also (since in a flex container these overrule width/height).
Fix
When setting an element to Fixed size, prune the following props:

minWidth/minHeight
maxWidth/maxHeight
flex
flexBasis
flexGrow
flexShrink

The pruning takes the parent's flex-direction into account.

Great suggestion! alignItems: stretch is fortunately not a problem, since accoring to MDN "Flex items are stretched such that the cross-size of the item's margin box is the same as the line while respecting width and height constraints".

Does setting Fixed size behave as expected even if the flex parent sets alignItems: stretch, or do we also need to set a defensive alignSelf to override that?

already being implemented on a separate branch with a more principled solution