Adding default values to fix correctness issue

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

Adding default values for some properties
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
[ ] update existing version for new feature
[x] 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.
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.

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

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] 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

[ ] 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 API 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
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

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.

Build failure for .net sdk is caused by the previous breaking change. Working on it to upgrade .net SDK and fix the UT.

Build failure for .net sdk is caused by the previous breaking change. Working on it to upgrade .net SDK and fix the UT.


Support new Infura V3

Infura has new API V3 and It's not working with current version of EthereumKit

Hi @iBinh I didnt know Infura has new v3 api. Can I have a documentation link? I definitely should support it as soon as possible

I think they haven't release the document 🍡

Does the current version support V3 already?


refactor(accordion): new proposed api and implementation

PR Checklist
Please check if your PR fulfills the following requirements:

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

PR Type
What kind of change does this PR introduce?
Primarily non-breaking refactor with the exception of the accordion trigger

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?

[x] accordion
[ ] alert
[ ] alert-dialog
[ ] aspect-ratio
[ ] avatar
[ ] badge
[ ] button
[ ] calendar
[ ] card
[ ] checkbox
[ ] collapsible
[ ] combobox
[ ] command
[ ] context-menu
[ ] data-table
[ ] date-picker
[ ] dialog
[ ] dropdown-menu
[ ] hover-card
[ ] input
[ ] label
[ ] menubar
[ ] navigation-menu
[ ] popover
[ ] progress
[ ] radio-group
[ ] scroll-area
[ ] select
[ ] separator
[ ] sheet
[ ] skeleton
[ ] slider
[ ] switch
[ ] table
[ ] tabs
[ ] textarea
[ ] toast
[ ] toggle
[ ] tooltip
[ ] typography

What is the current behavior?
Currently accordion trigger has been kept as a directive due to issues with 'class' being applied to both host element and underlying template element. However I believe it would be better suited as a component and but while current impl is flexible it also allows for misuse even at hlm level. Also from a usage standpoint the flipping between having to provide component selector vs directive on an element is not necessarily the best DX or at least not predictable.
What is the new behavior?
This PR switches the trigger to directive and also fixes that initial issue related to class when initially tried to be used as a component.
Also this pr updates accordion-content implementation to allow the brn component to also assume the hlm selector in order not to duplicate any logic required for functionality but also paired it with a hlm directive that also targets hlm-accordion-content selector in order to apply the required classes in hlm. Also added an opt out for the directive as well to avoid any potential conflicts
Does this PR introduce a breaking change?

[x] Yes
[ ] No

Currently accordion trigger we need to provide the button and attach the directive but going forward hlm and brn trigger will provide the underlying button. Ensures proper implementation regardless of whether using hlm or brn. Most of the existing usage will continue to work with he exception of the trigger
    <button hlmAccordionTrigger>
      Is it accessible?
      <hlm-icon hlmAccIcon />
    </button>

to
      <hlm-accordion-trigger>
        Is it accessible?
        <hlm-icon hlmAccIcon />
      </hlm-accordion-trigger>

Other information
Overall api changes for accordion in this PR changes from
<div hlmAccordion>
  <div hlmAccordionItem>
    <button hlmAccordionTrigger>
      Is it accessible?
      <hlm-icon hlmAccIcon />
    </button>
    <brn-accordion-content hlm>Yes. It adheres to the WAI-ARIA design pattern.</brn-accordion-content>
  </div>
  </div>

moves to
  <hlm-accordion>
    <hlm-accordion-item>
      <hlm-accordion-trigger>
        Is it accessible?
        <hlm-icon hlmAccIcon />
      </hlm-accordion-trigger>
      <hlm-accordion-content>
        Yes. It adheres to the WAI-ARIA design pattern.
      </hlm-accordion-content>
    </hlm-accordion-item>
  <hlm-accordion>

From hlm perspective this looks a little more consistent and comparable to what is done on shadcn/radix. Its a little more intuitive/predictable and still customizable. Hoping maybe this strikes a better balance in terms of api, flexbility and ensuring proper usage.
There's is also a question of whether a heading tag should be added around the trigger which this implementation would allow us to do pretty easily if we decide that is the best direction to go in and would align more closely with shadcn/radix

Just a heads up I still need to update the tests but wanted to get some eyes on this before going ahead and doing that but did some smoke testing and all seems good so far. I'm also again as we talked about before good with leaving the trigger as is or if you want we can split off all the other changes and maybe give the accordion-trigger a little more time and thought to ensure we cover all use cases there. Don't want to rush a conclusion on that one.

@thatsamsonkid sorry. I meant to open a PR to your branch and accidentally pushed my changes in a commit... Can you let me know if this looks good? Love this PR and the new API surface! We can then adjust the tests and get this merged ASAP! I think we are finding some great patterns to work around the "Angular limitations" and I am getting more and more excited about this every day!

Can we add this fix from @elite-benni, @thatsamsonkid?

Sure thing!

@thatsamsonkid I can take a look at this again if you don't have the bandwidth due to your hard work on the select! Let me know how I can help!

@thatsamsonkid I can take a look at this again if you don't have the bandwidth due to your hard work on the select! Let me know how I can help!

I made the changes last night. I just didn't get push them up yet 😭. Ill push them tonight and you can review

@thatsamsonkid awesome stuff! Thanks so much!!

Continuing with the none breaking changes DX improvements for accordion to PR (#126). Unfortunately ran into an issue trying to convert the trigger to a component in both Hlm or Brn so that would need some additional time to look into but for not much gain I feel at the moment. So moved all none trigger changes to above PR and closing this one for now.


Fixes 3170: add option to set external hostname

Summary
so we can have the repo.config file return the correct hostname for gpg keys
Testing steps

create a repo with a gpg key set, and  snapshotting enabled
fetch your repos list to get uuids for the repo and latest snapshots:   GET  http://localhost:8000/api/content-sources/v1/repositories/
fetch this url:  http://localhost:8000/api/content-sources/v1/repositories/60dd106b-d08e-436a-bf34-53180713d4bc/snapshots/8a68fc2d-c8eb-4046-8c56-df44603f8206/config.repo

replacing the UUIDs for the repo & snapshot UUID.  Notice the URL is likely localhost:8000.  now re-launch the server with:
OPTIONS_EXTERNAL_HOST="https://foobar.com"  go run cmd/content-sources/main.go api
Refetch the config.repo file, notice the host for the gpg key has changed to foobar.com
Checklist

[ ] Tested with snapshotting feature disabled and pulp server URL not configured if appropriate

https://issues.redhat.com/browse/HMS-3170


"Internal server error: URI malformed" when using a percent sign in URL

Describe the bug
"Internal server error: URI malformed" when using a percent sign in URL
Reproduction
https://github.com/hichemfantar/vite-bug-repro
Steps to reproduce

create a file with % in name
import it

System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
    CPU: (12) x64 Intel(R) Core(TM) i5-10500H CPU @ 2.50GHz
    Memory: 9.71 GB / 15.40 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 18.18.2 - ~/.nvm/versions/node/v18.18.2/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.18.2/bin/yarn
    npm: 9.8.1 - ~/.nvm/versions/node/v18.18.2/bin/npm
    pnpm: 8.10.2 - ~/.nvm/versions/node/v18.18.2/bin/pnpm
  Browsers:
    Chrome: 118.0.5993.88
  npmPackages:
    @vitejs/plugin-react: ^4.2.0 => 4.2.1
    vite: ^5.0.0 => 5.0.7

Used Package Manager
npm
Logs
no build errors
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I think that this is a bug and also being hit by users of vite-imagetools: https://github.com/JonasKruckenberg/imagetools/pull/670

Faux ESM treats the import specifier (I mean the bar.js part of import foo from './bar.js') as a file path and native ESM (Node/browsers/deno) treats it as URL.
For example, in order to import a file named %foo, the import specifier is different between them.
Faux ESM: import foo from './%foo'
Native ESM: import foo from './%25foo'
We first need to decide how Vite should handle this.

What is faux ESM? Do you mean how it's treated by Vite during bundling? We can't change how native ESM handles it, so I imagine that if we wanted to fix this that our only choice would be to align with native ESM.

What is faux ESM? Do you mean how it's treated by Vite during bundling?

It's a term that refers to files that cannot be run in the browser or Node.js, but use ESM import/export. It's consumed by a bundler including Vite, Webpack, parcel, etc. For example, a file is specified by module field is sometimes faux ESM. I believe there won't be many packages importing a file that requires URL encoding, but it does have a chance to break some packages if we change the way.
If we align the behavior with native ESM, this error itself is not a bug. (We could add a more friendly error message though.) It seems import SmallLogo from "./assets/logo-10%25.png"; doesn't work and that is a bug.

Reopening as the fix by #15311 was not correct and #16244 reverted that part.
To clarify, the error for the import './assets/logo-10%.png' is correct and what we need to fix is that ./assets/logo-10%25.png not resolving to ./assets/logo-10%.png (see https://github.com/vitejs/vite/issues/15298#issuecomment-1851381325 for the reason).

Note that TypeScript does not work well in these cases (https://github.com/microsoft/TypeScript/issues/41730).

Is this issue also related https://github.com/vitejs/vite/issues/9917? The issue description says file:// and that's probably supported now, but the repro is about import("./test%20utils/helper.mjs") not being resolved to ./test utils/helper.mjs while nodejs supports it https://github.com/clarkdo/vest-import-with-spaces-issue/blob/73be84495637538af2c2287129a7ce2ab2551ee2/index.test.mjs#L4C30-L4C55

Ah, yeah, it seems the root cause is same.


UPT: tutorial to latest helm

Relataed: https://github.com/helm/helm/pull/4808

@AlphaWong Can you please signoff on the commit? You can alter this commit with signoff using the command git commit --signoff --amend. The force push the change. This is for DCO signoff.

Sure. Let me do it monday. thx man

ping

I'm going to close this ticket due to inactivity, but please re-open if this still needs to be addressed. Thanks!


this.is() returns null when no body is passed

It doesn't return undefined. It returns null.
https://github.com/jshttp/type-is#each-type-can-be

null will be returned if the request does not have a body.

Current coverage is 100% (diff: 100%)

Merging #850 into master will not change coverage

@@           master   #850   diff @@
====================================
  Files           4      4
  Lines         417    417
  Methods        81     81
  Messages        0      0
  Branches      102    102
====================================
  Hits          417    417
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update c62aa90...7e79f13

Yep. :+1:

thanks!

would anyone like to help running make and pushing https://github.com/koajs/koajs.com once in a while? :)

@jonathanong I can do that

Done, I sent PR
Btw, I think we can automate that at some point, it should be simple just a webhook from this repo

@jonathanong Could the travis build for Koa itself do that?

@PlasmaPower i guess we could...


Remove version: CrystalDewWorld.CrystalDiskInfo.KureiKeiEdition version 8.12.5

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://osdn.net/frs/redir.php?m=ipconnect&f=crystaldiskinfo%2F75685%2FCrystalDiskInfo8_12_5KureiKei.exe
Response Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
(Automated message - build 923)

URL: https://osdn.net/frs/redir.php?m=ipconnect&f=crystaldiskinfo%2F75685%2FCrystalDiskInfo8_12_5KureiKei.exe
Response Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
(Automated message - build 923)


Chimes showing up as accessories

Hi there,
With the latest version as of today, I'm seeing my Ring Chimes and Ring Chime Pros showing up as accessories, which are not supported.
Would it be possible to remove these, as they don't serve any purpose within Homekit?

fixed in 0.0.8


Add ability to overwrite existing folder and choose another folder for project generation

Fixes #16
The user can now overwrite the existing project, or choose another directory.
The new prompt looks like this:

Signed-off-by: David Kwon<EMAIL_ADDRESS>

@fbricon when the target directory is undefined (which I think, can only happen if the user clicks 'cancel' in the folder selection dialog), the wizard exits and displays this error message:

Note that 'canceled' is the preferred American spelling.
Is there a more proper way to handle an undefined target directory? Maybe a different error message?

Oops. Fixed.

Thanks!


[Question]: Orchestrate multiple workflows.

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I tried using llama-agents to build out a multi-agent TEXT-to-SQL system.
Logan from the team said to use llamaindex's workflow. (https://docs.llamaindex.ai/en/stable/module_guides/workflow/)
I was able to build out a solution that works on text-to-sql-execution Workflow.
But now I want to extend it to multiple workflows i.e a workflow for SQL generation , a workflow for document Q/A , maybe a workflow for general Q/A on database.
How can I orchestrate and control outputs from multiple workflows.
So a user could give any request and it would go to appropriate workflow.
Thanks in advance for any inputs!

This is not what I am talking about @dosu
I have multiple workflows :
sql_flow = SQLFlow()
db_qna_flow = DBQnaFlow()
document_flow = DocumentFlow()
user could give any request.
How can I orchestrate among these multiple workflows.
Please don't give me AI generated answers of documentation.

@yb-sid did you find a way to achieve this ?? Im trying to implement something like this. Also i found an example that uses multiple workflows, but they are deployed as separate services. https://github.com/run-llama/llama_deploy/tree/main/examples/python_fullstack

@mezamateoj Unfortunately no. I've been using llama-index's selector prompt and some openai function calling to perform orchestration.
The example you shared does not serve our purpose.


Add compatibility with PHPUnit 9.3

This is a required step to build the project with PHP8.

Will conflict with https://github.com/guzzle/promises/pull/113.

@GrahamCampbell I have reworked the PR hoping this will make the merge easier

Could you please rebase this PR?

I started working on PHP8 another ago. I see that that PR is using PHPUnit 9.3.10 with the symfony phpunit bridge.
Have a look at #122. What are the pros/cons between that approach?

I started working on PHP8 another ago. I see that that PR is using PHPUnit 9.3.10 with the symfony phpunit bridge.
Have a look at #122. What are the pros/cons between that approach?

When I have originally open this PR I wanted to keep it as minimal as possible.
Now that phpunit-bridge has been added I think it's not relevant to maintain this PR anymore.
I'm closing it in favor of yours.

Yeah, I appreciate that.
This morning when I started with this library I had no plans of creating PHP8 support.
Thank you for you work.


How to compact raft log

I use this raft library in my project, just like raftexample. How can I retain the only recent raft entries log(not all) in ruuning time? The raftexample would record all the raft log(wal), and the wal files would be more and more. The new peers would replay all the entries, it take too much time and space. My project just want the last.
Thank you!

You need to implement snapshot in case the recent logs are compacted in leader's log, like https://github.com/coreos/etcd/blob/master/etcdserver/server.go#L1155.
Related https://github.com/coreos/etcd/issues/4019.

Here is another example: https://github.com/compose/canoe/blob/master/raft.go#L602-L605.
It would be great if you can add the snapshot functionality to the raftexample. Closing this since it is a dup with #4019.


datetime was inffered as integer got exception

datetime format 12/9/2011 10:23:00

2e46e1a173157bc57793bdfbdc88aebb4f735faa


Performance testing gap for influxdb

InfluxDB 0.10.1 single node
Performance testing
Hi guys,
We are newer to influxdb, it looks like very cool.
Before taking it as core of our monitoring solution, we want to make a performance testing on it.
We built one m4.2xlarge EC2 instance as single node influxdb which is beyond the high performance hardware guideline from official wiki https://docs.influxdata.com/influxdb/v0.10/guides/hardware_sizing/
Because we do not know how telegraf communicate with influxdb, we establish a performance testing plan by triggering as much REST call of writing operation as influxdb could hold to influxdb.
We generate 40 ec2 instances with one shell script in cron job which will trigger 1000 REST api request for writing data into influxdb per 1 minter.
The simple script is coded as below:

for i in {1..1000}
do
curl -i -XPOST http://<IP_ADDRESS>:8086/write?db=testdb --data-binary "testdata,host=$IP value=$i"
done

After several round, the influxdb can only handle the workload for first 20 minutes, then it would crash.
The writes query will cost 6 ms to finish, while the time cost will be increased as the time going.
It will take at almost 10+s before it crash.
On official wiki, influxdb is claimed to have the capability to hold the 300000 concurrent write operation at most, which looks have a huge gap from our testing result.
We want to get some clarification:

Does the 300000 concurrent write operation mean the REST call operation?
If yes, why it has the gap from our result, or how could we optimise our testing plan to get the closest result?
If no, how could we mock up the way telegraf communicated with influxdb with least ec2 resource? I.G. It's crazy for us to create 300000 EC2 instance If we only deploy/run one telegraf on one EC2 instance. Of course maybe we could deploy multi telegraf on one EC2 VM, but it looks like it still need require too much resource.

Any kindly comments are appreciated.
Thank you

You have opened a bug with the documentation repo, but this is neither a bug nor a feature request. For general questions, please write to the mailing list<EMAIL_ADDRESS>InfluxDB can easily ingest hundreds of thousands of points per second, but that is not the same as handling hundreds of thousands of HTTP connections per second. You must batch the points to reduce the TCP overhead. https://docs.influxdata.com/influxdb/v0.10/guides/writing_data/#writing-multiple-points
Also, please note, InfluxDB is not REST-ful.


fix(api): rename api version file to avoid name clashes

What this PR changes/adds
renames version.json to fc-api-version.json to avoid classpath name clashes
Why it does that
Briefly state why the change was necessary.
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes # <-- insert Issue number if one exists
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 69.72%. Comparing base (2d71ca0) to head (7b1910c).
Report is 60 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #217      +/-   ##
==========================================
+ Coverage   65.43%   69.72%   +4.28%
==========================================
  Files          25       18       -7
  Lines         434      469      +35
  Branches       15       23       +8
==========================================
+ Hits          284      327      +43
+ Misses        135      124      -11
- Partials       15       18       +3

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


Adding Popover

Adding Popover

This update adds a new Popover component! To build this, Tooltip was
refactored, along with Pop, in order to be customzied and extended to create
Popover.
Custom Popover Content rendering
The contents of Popover can be customized by using renderHeader and/or renderContent for rendering.
<Popover
  renderHeader={({ Header, Title, close }) => (

      <Title>My Title</Title>
      <button onClick={close}>Close Popover</button>

  )}
  renderContent={({ close }) => (

My Content

      <button onClick={close}>Close Popover</button>

  )}
/>

Shadow system

This update also brings the new shadow set (100 -> 900) from HSDS.
The values can be retrieved using getShadow, similar to the getColor
system.
Finally resolves https://github.com/helpscout/hsds-react/issues/22
Also https://github.com/helpscout/hsds-react/issues/479

Deploy Preview
https://deploy-preview-488--hsds-react.netlify.com/?selectedKind=Popover&selectedStory=Default&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel

I know things are broken Travis!! It's WIP! Jeeeeeeeeeeeeeeez

 (5) Chat ratings support in Beacon/Core API

@tinkertrain Oh yea, I noticed that too :S. Lemme take a looksy.
Popper is suppose to support this interaction:
https://popper.js.org/

For reasons that I can't remember, I had to force the arrow position, rather than use the styles provided by the library.

@tinkertrain + @brettjonesdev  Update! Dynamically repositioning arrow has been added:

@brettjonesdev  + @tinkertrain Thanks for the review! Will merge/release as soon as things are green :)

Will do a minor version bump for this since it changes the Pop + Tooltips quite a bit

Netlify is failing because Storybook is taking a while to compile. From my research, it looks like it's an unresolved ongoing issue with Storybook + Typescript.


Is there any way to customize swatches pallete?

I would like to load pallete of tailwind colors into swatches tool but it does not work. Only mode where I can load my pallete is "simple". Is there any workaround to use this field and customize swatch mode?

works ❤👍


"Enemy on Consecrated Ground" with 3.6 version of Inquisitor "Sanctuary"

New version of the Inquisitor ascendancy node "Sanctuary" is:
"You have Consecrated Ground around you while stationary
Consecrated Ground you create applies 10% increased Damage taken to Enemies
15 Mana Regenerated per Second while on Consecrated Ground"
Issue: When I toggle the "Enemy on consecrated ground" config setting, there should now be a change in ability DPS and there is not.
Example of my character's current PoB: https://pastebin.com/zT5xkM4w
PS. There was another issue (#1459) talking about the node "Pious Path", I'm not sure if that was a mis-type on the submitters behalf or... something? Sanctuary node is the cause of the issue, Pious Path just makes it easier to apply
PPS. Some builds with Sanctuary node also use the "Bottled Faith" flask, in which case the config setting does affect DPS - but only due to the flask... if you're checking another PoB make sure that's not equipped (e.g. many versions of Bashtart's Inquisitor Spark build use that flask)

@lakhpache there are lots of modifiers that aren't supported by PoB, they show up in red in their descriptions.
If you hover over the "Sanctuary" node, you'll see the modifier "Consecrated ground you create applies 10% increased damage taken to Enemies" is red, rather than blue, meaning the damage increased will not be factored into the calculation.
So this is not a bug, it's just unsupported - so unfortunately, it is the expected behavior.
There are normally workarounds for this (for example adding a different modifier by hand to a flask or other piece of equipment to compensate for the missing calculation), but I'm not sure of the syntax for hand-writing an "increased damage taken" modifier.
Does anyone know of a workaround?

Made a PR to fix it.


[Governance] Added supported scan types for Attribute Operators in Code Editors

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--prisma-cloud-docs--hlxsites.hlx.page/
After: https://--prisma-cloud-docs--hlxsites.hlx.page/
Worker: https://prisma-cloud-docs-production.adobeaem.workers.dev/?branch=

Jira ticket: https://redlock.atlassian.net/browse/BCE-33624


User Story

As the admin, we need to collect data from various sources and create a data set, since we want to create a database.


Username and password to connect via filezilla?

Hi vgist,
I somehow can not connect to the ftp server.
which password did you set to the user ftpuser?
I somehow can't find it :-)

You should first run docker exec -it pure-ftpd pure-pw useradd test -m -u ftpuser -d /home/ftpuser/test to add virtual user

Thanks for the info, :-)
Is there a possibility to pass those in the container either on build or on run?

Good idea, I'll add the default user and password for the next update.
Before that, you can mount your custom pure-ftpd's database inside the container.
/pureftpd:/etc/pureftpd

I Eddited the Dockerfile a little bit:
maybe you can get inspirations from it :-)
https://github.com/echtelerp/docker-environment/tree/master/arch_arm32v7/FTPserver


Updating Fakes version in Test Platform

Description
Pulling in the latest Fakes package into the Test Platform.

I'll validate the generated package on local commandlin scenarios. Do let me know if there are other workflows I should consider too.
/cc: @vritant24

Waiting to use the same version we publish on nuget.

@AbhitejJohn Build is fixed, I am waiting for your manual check of the NuGet before merging this one out.

@Evangelink : To reduce the churn in 17.3, I'm planning to merge this in after we snap the branch for 17.4. I'll retry the fakes scenarios as well against the latest changes.

@AbhitejJohn Do you need some help with this one?

Abandoned in favor of https://github.com/microsoft/vstest/pull/3912


Improve Translator::translate performance

Uses extend here because iter::Map<Range<usize>, F> implements TrustedLen, giving better performance than reserve with push.
Incidentally, this reduces bic's binary size on macOS + rustc 1.40 to 4,986,924 bytes from 4,992,572 bytes.

✨ 👍


Anchor tag with image as grandchild produces invalid Markdown

Affected version: 6.0.0
I found a particular case where Turndown will produce incorrect Markdown given the following HTML:

It will produce:
[

![](https://via.placeholder.com/150)

](http://google.com)

which renders like this: (in GitHub and elsewhere)
[

](http://google.com)
This occurs whether I am using linkStyle: 'inlined' or 'referenced'.
I have added a working demo on CodeSandbox, including a hacky fix I will be using in my project.
https://codesandbox.io/s/turndown-image-link-issue-k12z8?file=/src/App.js

The thing is that div is a block element, which triggers a paragraph implicitly.  So your HTML input represents something not expressible in Markdown.
Consider using span instead or avoid hyperlink-wrapped blocks in another way.

This project doesn't appear to be designed to work with perfect HTML though, it seems to be capable of taking crappy HTML from WYSIWYG editors and the like and covert it back into nice, pure Markdown, and in fact has been doing so pretty well so far.
I have been using this in my fork of a project to convert WordPress format exports (originally from Squarespace) to markdown, because the exports I got from a Squarespace site for some reason generated a lot of these s wrapping
s wrapping s.
Seems worth trying to produce something valid rather than something that is categorically incorrect, which is what the current output is.

@SamLeatherdale did you ever find a workaround for this? I'm running in to the same issue

@SamLeatherdale did you ever find a workaround for this? I'm running in to the same issue

It's been a while, but I believe I ran something like Cheerio over it first and stripped out the extra div.

We did the same as @SamLeatherdale writes on a project a while ago - just with pure DOM. I guess the guys also switched to Cheerio recently. Sharing the relevant snippets:
Helper class:
class DomFilter {
  constructor(dom) {
    this.dom = dom;
    this.window = this.dom.window;
    this.document = this.window.document;
  }

  select(xpath, contextNode = null) {
    const ctx = contextNode || this.document;
    const arr = [];
    const { ORDERED_NODE_ITERATOR_TYPE } = this.window.XPathResult;
    const it = this.document.evaluate(xpath, ctx, null, ORDERED_NODE_ITERATOR_TYPE);
    let node;
    while ((node = it.iterateNext())) {
      arr.push(node);
    }
    return arr;
  }

  // [...]

  // eslint-disable-next-line class-methods-use-this
  unwrap(nodes) {
    nodes.forEach((node) => {
      const parent = node.parentNode;
      while (node.firstChild) {
        parent.insertBefore(node.firstChild, node);
      }
      parent.removeChild(node);
    });
  }

  // [...]
}

Then something like:
const dom = ...;
const f = new DomFilter(dom);

f.unwrap(f.select('//a/div'));

// now pass the modified dom to Turndown, no need to convert it to HTML string

Ref this:

Seems worth trying to produce something valid rather than something that is categorically incorrect, which is what the current output is.

It's a little more complicated. We need to introduce Markdown contexts to do it both universally and efficiently. This isolated case has indeed a simpler solution, but I don't like the idea to provide case-by-case fixes for these, especially when there is no universally correct solution. With contexts, users would be able to choose what to do with block elements nested in inline elements. It's simple for a div without semantics. But for e.g. a table inside a link, something valid means either discarding user's data or just keeping it in HTML (which denies Turndown itself). So in this cases, users have to choose. Now they can only choose what to do with these cases using HTML preprocessing - unfortunately.
And for the record:

This project doesn't appear to be designed to work with perfect HTML though,

True.

it seems to be capable of taking crappy HTML from WYSIWYG editors and the like and covert it back into nice, pure Markdown, and in fact has been doing so pretty well so far.

It's a very welcome side effect and we try to achieve it. Still, the higher priority is not to lose data. You're right it's a topic to work on, as I suggested above.


Fix metrics-bind-address in Sail Operator deployment

Currently, the metrics-bind-address param hardcodes the ipaddress to IPv4 loopback address and is also not compatible with IPv6 only deployments. This PR updates it to listen on both v4 and v6 addresses.
Related to: https://github.com/istio-ecosystem/sail-operator/issues/372
Signed-off-by: Sridhar Gaddam<EMAIL_ADDRESS>Notes:
Without fix when I'm trying to access metrics from the Sail Operator pod.
~ $ curl http://[fd00:10:244::9]:8080/metrics
curl: (7) Failed to connect to fd00:10:244::9 port 8080 after 0 ms: Could not connect to server
~ $

With fix:
~ $ curl http://[fd00:10:244::7]:8080/metrics
# HELP certwatcher_read_certificate_errors_total Total number of certificate read errors
# TYPE certwatcher_read_certificate_errors_total counter
certwatcher_read_certificate_errors_total 0
# HELP certwatcher_read_certificate_total Total number of certificate reads
# TYPE certwatcher_read_certificate_total counter
certwatcher_read_certificate_total 0
...

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.


Some "YoutubeTrack"'s in playlist are not playing after kaku restart

Ahhh, please attach any screencast or error log, otherwise no one can't reproduce this

I haven't encountered this bug, if you have any STR or screencast for this, please feel free to reopen, thanks.

@EragonJ Create a new playlist add several songs (not from "top rankings") to that new playlist. Try to play those songs after several days... :-/

For me, they all work fine. Please attach log or STR to make it easy to debug, otherwise I have no idea about how to reproduce it and fix it.

Feel free to reopen if you have them in hand, thanks.


feat(selectablelist): add SelectableList, refactor SelectableItem

Resolves #148
Impact: major
Type: feature

Add SelectableList
Refactor SelectableItem to work with SelectableList
This component will be used for Address Book, Shipping/Billing address list, Credit card/payment list and shipping options in checkout.

SelectableList

Requires an array of options, with labels
Selecting an item updates the state's value to the value of the selected item
Supports two main styles:isBordered or isLeftAligned
Supports isReadOnly status
Supports an optional listAction at the bottom, which accepts and displays any node

SelectableItem

Requires a label and value
Selecting an item updates the state's value to true
Supports isReadOnly status
Supports an optional detail (any node, including an icon) and icon (which is actually any node, including text)

Screenshot

https://deploy-preview-210--stoic-hodgkin-c0179e.netlify.com/#!/SelectableList

🚀 Preview deployed
Built with commit 812e6c9748aa9027bc4a952145498c5e025fbf6b
https://deploy-preview-210--stoic-hodgkin-c0179e.netlify.com

@machikoyasuda  I just merged #225 that added the Credit Card icons. They have been added here if you want to add them to your payment list example.

@nnnnat Updated w/ icons + refactored the stripe icons to use appComponents

@machikoyasuda we need a way to select an item in the list. lets follow the native pattern for inputs: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio
Add a checked prop the items list in SelectableList, the SelectableItem should render the checked attribute on the input if the checked prop is provided. By default it should not be rendered.

@machikoyasuda It is probably worth it to make this conform to the composable form input spec. That will allow us to drop it into any form in place of the Select component.
See general requirements here: http://composableforms.com/spec/input/#an-input-must-requirements
To do this:

Add static isFormInput = true
Change items prop name to options
In items/options prop shape, change _id to id and add value: PropTypes.any.
Add onChanging and onChanged props and call them whenever the selection is changed, passing the value of the selected option.
Add value prop and select the option with that value on mount and whenever that prop changes.
Add isReadOnly prop and don't allow changing selection when it's true.

onClick also need to be handled by each SelectableItem and the selected value needs to be passed up to SelectableList and from there to the parent container.
For my use case for example, when some clicks the "Use new billing address" radio, then I need to render an address form.
MUI has  a good example of how to implement this: https://github.com/mui-org/material-ui/blob/master/docs/src/pages/demos/lists/CheckboxList.js
And I like how MUI ListItem component makes the item being rendered flexible by allow the dev to pass in a component to be rendered. So rendering a checkbox or whatever you want is possible: https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/ListItem/ListItem.js

Following the composable forms / reacto-form API, there will be onChange rather than onClick on SelectableList. onClick of each item will update the selected value in state and call onChange if that value has changed.

:tada: This PR is included in version 0.29.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Notes as I experience running this tool for the first time.

Goal
Write notes as I experience running this tool for the first time.
Why
If I write notes as I run the code for the first time
we get:

New user's perspective on the project
Feedback to the developer to see how his code is seen
List of comments, within a narrative context, that can be referred to in bugs or enhancements.
Potential information to add to the documentation.

How

Follow the docs and write notes below.
Take screen grabs in case they might be handy for docs.

Using the command
OK so this was designed to work independently.
Follow these instructions:

Using the command

Checkout the repository
Install dependencies with composer install
Put a credentials.json file in the Symfony project root or anywhere in any of the parent directories accessible to PHP
Issue bin/console forikal:capture-lookups to see all available mappings
Issue bin/console forikal:capture-lookups --sheet=LookupTableA to run the command interactively
Issue bin/console forikal:capture-lookups --sheet=LookupTableA --no-interaction to run the command without any prompts, skipping risky file names or existing files
Issue bin/console forikal:capture-lookups --sheet=LookupTableA --no-interaction --force to run the command without any prompts, overwriting existing files and using sanitised file names

So, let's install it:
$ pwd
/Users/x/Documents/Projects/XmlAuthoring
$ git git@github.com:forikal-uk/capture-lookups.git
git: 'git@github.com:forikal-uk/capture-lookups.git' is not a git command. See 'git --help'.
$ git clone git@github.com:forikal-uk/capture-lookups.git
Cloning into 'capture-lookups'...
remote: Counting objects: 259, done.
remote: Compressing objects: 100% (154/154), done.
remote: Total 259 (delta 103), reused 215 (delta 76), pack-reused 0
Receiving objects: 100% (259/259), 555.78 KiB | 998.00 KiB/s, done.
Resolving deltas: 100% (103/103), done.
$ cd capture-lookups/
$ ls
LICENSE   README.md tests
$ git checkout feature/cli-command
Branch 'feature/cli-command' set up to track remote branch 'feature/cli-command' from 'origin'.
Switched to a new branch 'feature/cli-command'
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 70 installs, 0 updates, 0 removals
  - Installing doctrine/cache (v1.7.1): Downloading (100%)
  - Installing doctrine/collections (v1.5.0): Downloading (100%)
  - Installing doctrine/inflector (v1.3.0): Downloading (100%)
  - Installing doctrine/lexer (v1.0.1): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.8.0): Loading from cache
  - Installing twig/twig (v2.4.8): Downloading (100%)
  - Installing paragonie/random_compat (v2.0.12): Downloading (100%)
  - Installing symfony/polyfill-php70 (v1.8.0): Downloading (100%)
  - Installing symfony/polyfill-util (v1.8.0): Downloading (100%)
  - Installing symfony/polyfill-php56 (v1.8.0): Downloading (100%)
  - Installing symfony/symfony (v3.4.11): Downloading (100%)
  - Installing symfony/polyfill-intl-icu (v1.8.0): Downloading (100%)
  - Installing symfony/polyfill-ctype (v1.8.0): Loading from cache
  - Installing symfony/polyfill-apcu (v1.8.0): Downloading (100%)
  - Installing psr/simple-cache (1.0.1): Downloading (100%)
  - Installing psr/log (1.0.2): Loading from cache
  - Installing psr/link (1.0.0): Downloading (100%)
  - Installing psr/container (1.0.0): Downloading (100%)
  - Installing psr/cache (1.0.1): Loading from cache
  - Installing fig/link-util (1.0.0): Downloading (100%)
  - Installing doctrine/annotations (v1.6.0): Downloading (100%)
  - Installing doctrine/common (v2.8.1): Downloading (100%)
  - Installing symfony/polyfill-php72 (v1.8.0): Downloading (100%)
  - Installing php-cs-fixer/diff (v1.3.0): Downloading (100%)
  - Installing composer/semver (1.4.2): Downloading (100%)
  - Installing friendsofphp/php-cs-fixer (v2.11.1): Downloading (100%)
  - Installing phpseclib/phpseclib (2.0.11): Loading from cache
  - Installing monolog/monolog (1.23.0): Loading from cache
  - Installing psr/http-message (1.0.1): Loading from cache
  - Installing guzzlehttp/psr7 (1.4.2): Loading from cache
  - Installing guzzlehttp/promises (v1.3.1): Loading from cache
  - Installing guzzlehttp/guzzle (6.3.3): Loading from cache
  - Installing firebase/php-jwt (v5.0.0): Loading from cache
  - Installing google/auth (v1.3.0): Loading from cache
  - Installing google/apiclient-services (v0.61): Loading from cache
  - Installing google/apiclient (v2.2.1): Loading from cache
  - Installing incenteev/composer-parameter-handler (v2.1.3): Downloading (100%)
  - Installing webmozart/assert (1.3.0): Loading from cache
  - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
  - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
  - Installing phpunit/php-token-stream (2.0.2): Downloading (100%)
  - Installing sebastian/version (2.0.1): Loading from cache
  - Installing sebastian/resource-operations (1.0.0): Loading from cache
  - Installing sebastian/recursion-context (3.0.0): Loading from cache
  - Installing sebastian/object-reflector (1.1.1): Loading from cache
  - Installing sebastian/object-enumerator (3.0.3): Loading from cache
  - Installing sebastian/global-state (2.0.0): Loading from cache
  - Installing sebastian/exporter (3.1.0): Loading from cache
  - Installing sebastian/environment (3.1.0): Loading from cache
  - Installing sebastian/diff (2.0.1): Downloading (100%)
  - Installing sebastian/comparator (2.1.3): Downloading (100%)
  - Installing phpunit/php-text-template (1.2.1): Loading from cache
  - Installing doctrine/instantiator (1.1.0): Loading from cache
  - Installing phpunit/phpunit-mock-objects (5.0.7): Downloading (100%)
  - Installing phpunit/php-timer (1.0.9): Downloading (100%)
  - Installing phpunit/php-file-iterator (1.4.5): Downloading (100%)
  - Installing theseer/tokenizer (1.1.0): Loading from cache
  - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache
  - Installing phpunit/php-code-coverage (5.3.2): Downloading (100%)
  - Installing phpspec/prophecy (1.7.6): Loading from cache
  - Installing phar-io/version (1.0.1): Loading from cache
  - Installing phar-io/manifest (1.0.1): Loading from cache
  - Installing myclabs/deep-copy (1.8.0): Loading from cache
  - Installing phpunit/phpunit (6.5.8): Downloading (100%)
  - Installing composer/ca-bundle (1.1.1): Downloading (100%)
  - Installing sensiolabs/security-checker (v4.1.8): Downloading (100%)
  - Installing sensio/distribution-bundle (v5.0.21): Downloading (100%)
  - Installing symfony/monolog-bundle (v3.2.0): Downloading (100%)
  - Installing symfony/phpunit-bridge (v3.4.11): Downloading (100%)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/polyfill-intl-icu suggests installing ext-intl (For best performance)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
google/apiclient suggests installing cache/filesystem-adapter (For caching certs and tokens (using Google_Client::setCache))
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.5.5)
phpunit/phpunit suggests installing ext-xdebug (*)
phpunit/phpunit suggests installing phpunit/php-invoker (^1.1)
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
secret (ThisTokenIsNotSoSecretChangeIt):

I spoke to the author:

type anything - that's a security token used for encrypting cookies etc
or just push enter
it's not important for our use case

Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
secret (ThisTokenIsNotSoSecretChangeIt): foo
credentials_file_name (credentials.json):
mapping_file_name (mapping.yml):
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap handling the symfony-scripts event terminated with an exception

  [ErrorException]
  is_file(): open_basedir restriction in effect. File(/usr/bin/php) is not within the allowed path(s): (/usr/l
  ocal/bin:/Users/x:/var/folders/vc)

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

OK - so I need to loosen my open_basedir

Next configure

Put a credentials.json file in the Symfony project root or anywhere in any of the parent directories accessible to PHP

I put the credentials file into my root at:
$ pwd
/Users/x/Documents/Projects/XmlAuthoring/capture-lookups
$ ls credentials
ls: credentials: No such file or directory
$ ls | grep credentials
credentials.json
credentials_test.json

Now try running it.
$ pwd
/Users/x/Documents/Projects/XmlAuthoring/capture-lookups
$ bin/console forikal:capture-lookups --help
Usage:
  forikal:capture-lookups [options]

Options:
  -d, --destination[=DESTINATION]  Path to a directory you want to store the resulting CSV files.
  -s, --sheet[=SHEET]              Name of the sheet to download.
  -f, --force                      Overwrites existing CSV files.
      --credentials[=CREDENTIALS]  Path to the .json file with Google user credentials.
  -h, --help                       Display this help message
  -q, --quiet                      Do not output any message
  -V, --version                    Display this application version
      --ansi                       Force ANSI output
      --no-ansi                    Disable ANSI output
  -n, --no-interaction             Do not ask any interactive question
  -e, --env=ENV                    The Environment name. [default: "dev"]
      --no-debug                   Switches off debug mode.
  -v|vv|vvv, --verbose             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  Downloads specified Google Sheet and saves it as a CSV.

Let's try grabbing a file by sheet name
$ cd ../
$ ls
capture-lookups     xml-authoring-library   xmlauthor-example-command
gsheet-to-xml     xml-authoring-project
ping-parent     xml-authoring-tools
$ mkdir csvs
$ cd csvs/
$ ls
$ php ../c
capture-lookups/ csvs/
$ php ../capture-lookups/bin/console --sheet=LookupTableA

  The "--sheet" option does not exist.

list [--raw] [--format FORMAT] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] [<command>] [<namespace>]

$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=LookupTableA

Please enter one of the configured Sheet names
+--------------+------------------------------------------------------------------------------------------------+
| Sheet Name   | URL                                                                                |
+--------------+------------------------------------------------------------------------------------------------+
| WithBatch    | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0 |
| WithoutBatch | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0 |
+--------------+------------------------------------------------------------------------------------------------+
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithBatch

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/jw/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document Lookup Table Jan local copy contains 10 sheet(s). Writing CSV files now.

 A risky file name detected.
I suggest to continue with a safe file name: Lookup Table Jan local copy-risky sheet name 234lj serg.csv. Do you agree?
Skipping (unsafe file name).

 A risky file name detected.
I suggest to continue with a safe file name: Lookup Table Jan local copy-risky sheet name 234lj serg.csv. Do you agree?

I just hit enter at that point. Not sure what the expected input is there.

Run through the other usages
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithBatch --no-interaction

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document Lookup Table Jan local copy contains 10 sheet(s). Writing CSV files now.

Processing file Lookup Table Jan local copy-Sheet1.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet2.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet3.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-risky/@# sheet name 234l/j serg.csv. Skipping (unsafe file name).
Processing file Lookup Table Jan local copy-Sheet5.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet6.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet7.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet8.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet9.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet10.csv. Skipping (file exists).

All CSV files saved successfully.
$ php ../capture-lookups/bin/console forikal:capture-lookups

Please enter one of the configured Sheet names
+--------------+------------------------------------------------------------------------------------------------+
| Sheet Name   | URL                                                                                |
+--------------+------------------------------------------------------------------------------------------------+
| WithBatch    | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0 |
| WithoutBatch | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0 |
+--------------+------------------------------------------------------------------------------------------------+
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithoutBatch --no-interaction

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document Lookup Table Jan local copy contains 10 sheet(s). Writing CSV files now.

Processing file Lookup Table Jan local copy-Sheet1.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet2.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet3.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-risky/@# sheet name 234l/j serg.csv. Skipping (unsafe file name).
Processing file Lookup Table Jan local copy-Sheet5.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet6.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet7.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet8.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet9.csv. Skipping (file exists).
Processing file Lookup Table Jan local copy-Sheet10.csv. Skipping (file exists).

All CSV files saved successfully.
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithBatch --no-interaction --force

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document Lookup Table Jan local copy contains 10 sheet(s). Writing CSV files now.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document Lookup Table Jan local copy contains 10 sheet(s). Writing CSV files now.

I wonder

can the Google API key be OAuth or does it have to be a service.

Service is fine. But just interested.

OK let's test to see if the tabs with underscore suffixes are ignored.
Add a new sheet to the mix. Containing an ignored tab.
https://docs.google.com/spreadsheets/d/1Y-rtreSasax15UZ5xQwD48Ou8bVhdQfZOGoq4NxXRLE/edit#gid=311423522
$ nano ../capture-lookups/mapping.yml
$ php ../capture-lookups/bin/console forikal:capture-lookups

Please enter one of the configured Sheet names
+----------------+--------------------------------------------------------------------------------------------------------+
| Sheet Name     | URL                                                                                |
+----------------+--------------------------------------------------------------------------------------------------------+
| WithBatch      | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0         |
| WithoutBatch   | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0         |
| WithUnderscore | https://docs.google.com/spreadsheets/d/1Y-rtreSasax15UZ5xQwD48Ou8bVhdQfZOGoq4NxXRLE/edit#gid=311423522 |
+----------------+--------------------------------------------------------------------------------------------------------+
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithUnderscore

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 1 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Done.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 1 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Done.

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-InventoryTab.csv
$ pwd
/Users/x/Documents/Projects/XmlAuthoring/csvs

and try with that sheet in batchGet = true
$ pwd
/Users/x/Documents/Projects/XmlAuthoring/csvs
$ rm *
$ nano ../capture-lookups/mapping.yml
$ php ../capture-lookups/bin/console forikal:capture-lookups

Please enter one of the configured Sheet names
+----------------+--------------------------------------------------------------------------------------------------------+
| Sheet Name     | URL                                                                                |
+----------------+--------------------------------------------------------------------------------------------------------+
| WithBatch      | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0         |
| WithoutBatch   | https://docs.google.com/spreadsheets/d/1jOfsClbTj15YUqE-X2Ai9cvyhP-GLvP8CGZPgD1TysI/edit#gid=0         |
| WithUnderscore | https://docs.google.com/spreadsheets/d/1Y-rtreSasax15UZ5xQwD48Ou8bVhdQfZOGoq4NxXRLE/edit#gid=311423522 |
+----------------+--------------------------------------------------------------------------------------------------------+
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithUnderscore

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 1 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Done.

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-InventoryTab.csv

OK so that is sweet. It all seems to work great.
The only issue I can think of is the risky file interface... see comment above

Oh. I forgot to check the resulting CSV files
Name,KNumberExists,KNumber,Quantity,AlternativeNumber,Purpose,PurposeOther
baz,true,1111111,99,,11
bar,false,,99,foo,2

This looks like what I expect.

Re risky file interface:
I'll add an indication of what pushing enter does. It depends on your --force settings. When you have that enabled, default action is "yes, use the safe file name". If not, the default is "skip this file".
Re other Google API keys:
Yes. You need to create a service account in your G-suite (one of your other devs came up with a good step-by-step guide), you need to use that acount's credentials.json file and you need to share relevant sheets with that user.

Let's try and break this command.
:)
Add some annoyance to the data to corrupt the csv

$ pwd
/Users/x/Documents/Projects/XmlAuthoring/csvs
$ rm *
$ php ../capture-lookups/bin/console forikal:capture-lookups --sheet=WithUnderscore

Generated CSV files will be saved into /Users/x/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/x/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 1 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Done.

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-InventoryTab.csv
$ cat TabEndingInUnderscore-InventoryTab.csv
Name,KNumberExists,KNumber,Quantity,AlternativeNumber,Purpose,PurposeOther
baz,true,1111111,99,,11
bar,false,,99,foo,2
bar,false,,99,"foo,bar",2
bar,false,,99,"foo ""bar""",2

It survived!

Thanks  @janklan
This works a treat. Nice.

Cron mode
And this is how the non-interactive mode works the first time, second time and then third time with --force option
$ rm *
$ ls
$ php ../capture-lookups/bin/console forikal:capture-lookups -s WithUnderscore --no-interaction

Generated CSV files will be saved into /Users/jw/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/jw/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 2 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Done.
Processing file TabEndingInUnderscore-AnotherInventoryTab.csv. Done.

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-AnotherInventoryTab.csv	TabEndingInUnderscore-InventoryTab.csv
$ php ../capture-lookups/bin/console forikal:capture-lookups -s WithUnderscore --no-interaction

Generated CSV files will be saved into /Users/jw/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/jw/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 2 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Skipping (file exists).
Processing file TabEndingInUnderscore-AnotherInventoryTab.csv. Skipping (file exists).

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-AnotherInventoryTab.csv	TabEndingInUnderscore-InventoryTab.csv
$ php ../capture-lookups/bin/console forikal:capture-lookups -s WithUnderscore --no-interaction

Generated CSV files will be saved into /Users/jw/Documents/Projects/XmlAuthoring/csvs.

Using credentials stored in /Users/jw/Documents/Projects/XmlAuthoring/capture-lookups/credentials.json.

Fetching data from the Google API...done.

Document TabEndingInUnderscore contains 2 sheet(s). Writing CSV files now.

Processing file TabEndingInUnderscore-InventoryTab.csv. Skipping (file exists).
Processing file TabEndingInUnderscore-AnotherInventoryTab.csv. Skipping (file exists).

All CSV files saved successfully.
$ ls
TabEndingInUnderscore-AnotherInventoryTab.csv	TabEndingInUnderscore-InventoryTab.csv

Running tests
$ pwd
/Users/x/Documents/Projects/XmlAuthoring/capture-lookups
$ vendor/bin/phpunit
PHPUnit 6.5.8 by Sebastian Bergmann and contributors.

...                                                                 3 / 3 (100%)

Time: 2.18 seconds, Memory: 12.00MB

OK (3 tests, 24 assertions)


Extension API: Allow to have hidden unsaved documents

Context
If you open a text document with
const doc = await workspace.openTextDocument(uri);

It is hidden - no editor will be spawned.
However, as soon as an edit is applied to it, a visible editor is spawned by VS Code:
const edit = new WorkspaceEdit();
edit.insert(uri, new Position(0, 0), "Some content");
await workspace.applyEdit(edit);

Request
It would be really useful if an extension could open a text document in a way that API edits don't open a visible editor!
// This crashes if vscode already did open that document in non-hidden context.
const doc = await workspace.openTextDocument(uri, { hidden: true });

Reason
If that was possible, generic language embedding could be implemented by extensions.
Lets say we have a markdown document like this:
Demo:

```typescript
import { baz } from "foo";
baz({ someParam: 10 });
```

An extension could create a document for the code block and save it to a temporary folder.
The extension could keep the document in sync by projecting changes to the code block to the document.
Since VS Code already exposes an API to query for autocompletion, the extension could project many language-service features available in the virtual document back to the markdown document.
Currently, changes cannot really be projected to documents without VS Code spawning an editor for them. This would be a very annoying user experience.
Writing directly to the file system and waiting for VS Code to reload the document is too slow for meaningful language service projection.
Problems

If the extension does not dispose the hidden document, it would allocate resources forever.
It is unclear what happens if the user opens the very same document. Maybe it should then turn into a normal document, but the lifetime should still be managed by the extension.

If that was possible, generic language embedding could be implemented by extensions.

The common pattern for that is to use a virtual document (see registerTextDocumentContentProvider-api) which takes a "composed" document and breaks that into actual "language" documents. It has the advantage of being a pull model and not being an unsaved document - for which we show an editor so that users can save it.

Thanks for the quick response!
registerTextDocumentContentProvider has the problem, however, that it requires its own scheme (which technically makes sense).
This means that the content cannot really interact with other documents from the workspace.
For readmes, it would be invaluable to check demos that refer to some library:
```ts
import { ... } from "my-lib";
```

This would require that typescript can resolve "my-lib" from the location the text document is hosted on.
I wonder if a virtual file system provider can register the same scheme and simulate a symlink into the workspace folder.

Welcome to the challenge of embedded languages ;-)

This means that the content cannot really interact with other documents from the workspace.

Well, uri-path-math is always possible but you cannot expect the "to be embedded" language to know these kinds of things. And that's where the trouble starts. For instance, TypeScript will report errors and warnings for the extracted snippet and you won't have a way to prevent this. And there is also no way to teach TypeScript to find references of symbols inside md-files because those files are not part of typical TS projects. The list goes on and the key message is that the virtual document approach falls apart as soon as multiple files or validation is involved, every things that's single file-ish work well tho. The alternative, but that's not generic, is to consume TS as a library and manage a language service yourselves. That's for instance what html does.

Well, uri-path-math is always possible but you cannot expect the "to be embedded" language to know these kinds of things

Lets say we have a workspace, containing all the source files of a project:
./node_modules/...
./src/index.ts: export * from "./leftPad";
./src/leftPad.ts: export function leftPad() { ... }
./tsconfig.json: ... "include": ["src/**/*"], ...
./README.md
...

Lets further say the readme has different code blocks:
Demo 1:
```ts
// this is codeblock 1
import { x } from "some-workspace-lib";
x();
```

Demo 2:
[//]: # ({ "codeblock-kind": "continuation" })
```ts
// this is codeblock 2
x("foo");
```

Demo 3:
```ts
// this is codeblock 3
import { leftPad } from "../src/leftPad";
```

What I had in mind was writing the content of codeblock 1 + codeblock 2 to ./.tmp-codeblocks/codeblock1.ts and codeblock 3 to ./.tmp-codeblocks/codeblock3.ts.
Because of how the module resolution works in js, everything would work as expected. Typescript would even load these files and consider them if symbols get renamed (you can verify this by just creating these files manually - even if those files are not included by the tsconfig).
This (possible bi-directional) projection would map a section of one document into another document and keep them synced.
Ideally, these files would not be on disk, but I guess it is not a good idea for VS Code to allow extensions to map virtual files into the "file" scheme. However, with proper symlinks and a custom file scheme this could be solved (sadly we cannot implement custom file system providers with proper symlink support in a way that VS Code understands where the symlink points to).
But even if we accept writing to disk (which I think is ok for a third-party extension), this still cannot be implemented, since I cannot really write into these temp files (without relying on vscode watching these files or without vscode opening these files).

we have failed to invent the gold hammer that solves this for all use-cases.

While a 100% solution would be nice for VS Code, even a 50% solution would be awesome as third-party extension. Even if it only supports javascript/typescript this would be great.
However, I think the approach I described works for many languages (in particular all single-file based languages like html and css).

Because of how the module resolution works in js, everything would work as expected. Typescript would even load these files and consider them if symbols get renamed

Maybe. I see how you put the files into the project folder itself but it would still require a tsconfig-file that's not strict in what it includes. Also, would you create the readme-projections eagerly or what happens if I have only ever opened leftPad.ts and when you rename its symbols - those file aren't there yet, right?

However, with proper symlinks and a custom file scheme this could be solved (sadly we cannot implement custom file system providers with proper symlink support in a way that VS Code understands where the symlink points to).

Assuming we have all of this it would still not help you because tsserver is a separate application that uses node-fs, not the vscode-api. You would need something like FUSE to create virtual files that tsserver then would see.

this still cannot be implemented, since I cannot really write into these temp files (without relying on vscode watching these files or without vscode opening a visible editor for them).

You can always use vscode.workspace.fs.writeFile

Also, would you create the readme-projections eagerly or what happens if I have only ever opened leftPad.ts and when you rename its symbols - those file aren't there yet, right?

Yeah, that is a problem - the projections would be eagerly. But this is a problem with typescript too, afaik. If you have the typescript projects A and B in a workspace with B depending on A and rename a symbol in A without opening any file from B before, it used to be the case that references in B did not get renamed.

Assuming we have all of this it would still not help you because tsserver is a separate application that uses node-fs

Oh I see :(
I only tested it with the untitled scheme and it worked, but that seems to be a special case.
(Btw. relative imports from untitled typescript files are buggy.)
I had other ideas for hosting typescript files in a virtual file system too. But without language service support they are not going to work out.

You would need something like FUSE to create virtual files that tsserver then would see.

Or a tsc plugin like yarn berry provides for pnp support. But I don't really want to go that route.

You can always use vscode.workspace.fs.writeFile

This would only work if VS Code is notified about file changes quickly enough. Do you think I can rely on that?

This would only work if VS Code is notified about file changes quickly enough. Do you think I can rely on that?

Fingers crossed...🤞 File watching and embedding languages - two very hard problems but it should work.

btw - for TypeScript specifically there is the notion of external projects: https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-(tsserver)#external-project. In theory it would enable to achieve what you want. However, I have explored that a tiny bit for notebooks (see https://github.com/microsoft/vscode/issues/101923) and wasn't very successful. Tho, I might revisit that

It works surprisingly good:

However, autocompletion is quite slow if the list is large.
I guess you cannot really delegate all the language service features since the API exposed via vscode commands differs from the API you need to implement for certain features.

Also, after some time, the projection document is closed by vscode and the diagnostics disappear.
But I guess I can listen for the close event and just reopen the document.
Trigger characters for autocompletion are a problem though, since, afaik, they cannot be provided dynamically.

Trigger characters for autocompletion are a problem though, since, afaik, they cannot be provided dynamically.

You can add a new provider per language or unregister or re-register the existing provider with a merged set of trigger characters


Unable to connect with colon in username

Hi There,
I've found an issue when I'm trying to connect to my MQTTPlugin of my RabbitMQTT Server.
So that I can connect to a different Vhost, I use the username format of :.
When I try to connect using MQTTLens in this format, it wont connect and doesn't save the config.
Is this something that you might be able to help out with?
Thanks.

My Apologies, I just restarted my computer again and it resolved this issue.


IntelliSense doesn't autocomplete modules in workspace subfolders in unsaved Jupyter notebooks

 Environment data

Language Server version: 2022.11.30
OS and version: linux x64
Python version (and distribution if applicable, e.g. Anaconda): 3.10.8, Miniconda
python.analysis.indexing: false
python.analysis.typeCheckingMode: off

 Repro Steps

Create a new workspace folder myworkspace with the following structure:

myworkspace/
    subfolder/
        myclasses.py

Put the following inside myclasses.py:

class myclass:
    pass

Open a new blank Jupyter notebook using Create: New Jupyter Notebook from the command palette and do not save it.
Start typing from subfolder.myclas

 Expected behavior
I should get an autocompletion suggestion for from subfolder.myclasses.
 Actual behavior
No suggestions are given, even after pressing Ctrl + Space to force suggestions. Finishing typing the command
from subfolder.myclasses import myclass
doesn't give autocomplete suggestions at any point, but executes fine when the cell is run. Once the notebook is saved however autocomplete suggestions work as expected.
This is a duplicate of https://github.com/microsoft/pylance-release/issues/3177 which however seems to have gone under in relation with past similar issues regarding saved notebooks.

Thank for bringing this up again, but closing this duplicate

appears to be working in Pylance v2023.3.30


remove unused switch case

Fixes #23970

Hrmpf. Just to reiterate, Google does have a CLA signed by me on file for the email address guillermo|listas#gmail|com.

@bwilkerson ping

Thanks for the ping, and sorry this got lost in the back-log! LGTM


Named parameter $api overwrites previous argument

Laravel Version
11
PHP Version
8.2
Database Driver & Version
No response
Description
I publish the various route files in Laravel 11
php artisan install:api
php artisan install:broadcasting
its generate the 2 files inside routes folder (api.php and channels.php)
For testing purposes, I deleted that api.php and generated it again using php artisan install:api command
then give that error on

Error: Named parameter $api overwrites previous argument in C:\wamp64\www\lara11\bootstrap\app.php on line 11
Steps To Reproduce
I also found solution for that
Open app.php and remove this line
api: DIR.'/../routes/api.php',
then working perfectly

Seems like you ran the install:api command twice? That's not something that's expected and can work properly. You usually only run that once.

Seems like you ran the install:api command twice? That's not something that's expected and can work properly. You usually only run that once.

@driesvints
Yes I know installed API command only has one-time execution but for testing purposes, i executed that command again.

Seems like you ran the install:api command twice? That's not something that's expected and can work properly. You usually only run that once.

Yes I know installed API command only has one time execution but for testing purposes, i executed that command again.

I was unable to reproduce it.


Fabo/sdk 0.29

Migrate to GoS SDK version
SDK commit: 2b3842c58305a4e26d457d3d3bd6cf849ffddcdd

Note GoS is running on v0.29.1

Yep I know. Will kill this PR.


vidlink not set in embed

in embed currently there is no argument for the value vidlink in the index.html template.
I believe this is causing endless loops in some contexts. Such as with the /other/ route
Example link:
https://fxtwitter.com/other/Twitter/status/1410227743636217856
on my machine this link will endlessly attempt to reload as a result of the <meta http-equiv = "refresh" content = "0; url = " /> tag.

Addressed and fixed (hopefully)


Cloud Infrastructure Dashboard

Port OCP USE Method / Cluster to OSP
Visualization tweaks (thanks Paul!)

This requires a few tweaks to the deployment to enable the vmem plugin on collectd along with some plugin configuration adjustments. Also tested only against an OSP13 cloud.
Bottom panel for disk usage is also not working since I don't have a baremetal cloud currently to test against, so I get no data from the plugin I want to make use of (we have the same issue in the existing node drilldown dashboard). Will work with someone next week to get data from a BM cloud.
Current working stf-connectors.yaml for OSP13:
parameter_defaults:
    EventPipelinePublishers: []
    CeilometerEnablePanko: false
    CeilometerQdrPublishEvents: true
    CeilometerQdrPublishMetrics: true
    CollectdAmqpInstances:
        notify:
            format: JSON
            notify: true
            presettle: false
        telemetry:
            format: JSON
            presettle: false
    CollectdAmqpInterval: 5
    CollectdConnectionType: amqp1
    CollectdDefaultPlugins:
    - cpu
    - df
    - disk
    - hugepages
    - interface
    - load
    - memory
    - processes
    - unixsock
    - uptime
    - connectivity
    - intel_rdt
    - ipmi
    - procevent
    - vmem
    CollectdDefaultPollingInterval: 5
    MetricsQdrAddresses:
    -   distribution: multicast
        prefix: collectd
    -   distribution: multicast
        prefix: anycast/ceilometer
    MetricsQdrConnectors:
    -   host: stf-default-interconnect-5671-service-telemetry.apps.infra.watch
        port: 443
        role: edge
        sslProfile: sslProfile
        verifyHostname: false
    MetricsQdrSSLProfiles:
    -   name: sslProfile

    CephStorageExtraConfig:
        tripleo::profile::base::metrics::collectd::amqp_host: "%{hiera('storage')}"
        tripleo::profile::base::metrics::qdr::listener_addr: "%{hiera('storage')}"

    ExtraConfig:
        collectd::plugin::cpu::reportbycpu: true
        collectd::plugin::cpu::reportbystate: true
        collectd::plugin::cpu::reportnumcpu: true
        collectd::plugin::cpu::valuespercentage: true
        collectd::plugin::df::ignoreselected: true
        collectd::plugin::df::reportbydevice: true
        collectd::plugin::df::fstypes: ['xfs']
        collectd::plugin::load::reportrelative: true
        collectd::plugin::virt::connection: "qemu:///system"
        collectd::plugin::virt::extra_stats: "cpu_util disk disk_err pcpu job_stats_background perf vcpupin"
        collectd::plugin::virt::hostname_format: "hostname"
        collectd::plugin::vmem::verbose: true

One thing I think we need to start doing with the dashboards is provide a README update that explains what plugins and configuration are required for the dashboard. This PR adds some extra plugin requirements.

I think the only thing left now is adjusting the bottom panel for Disk Space Utilization. Still uses the OCP query, and waiting for access to a baremetal deployment.

 Port OCP cluster infra dashboard to OSP

I feel like the work @pleimer has been doing recently on the dashboards supercedes what I was doing here, so I'm going to close this out. Thanks all!


Issues with evolution off the published JSON schema version

https://ec.europa.eu/health/sites/health/files/ehealth/docs/digital-green-certificates_dt-specifications_en.pdf
I think the published scheme has some problems:

The lack of a "version" field to accommodate future changes to this schema. If more than one version of the DGC is in circulation, validation applications cannot distinguish between them without a version field. This field is present in more recent versions: https://github.com/ehn-digital-green-development/ehn-dgc-schema/blob/main/DGC.schema.json
The datasets for disease-agent-targeted,  vaccine-prophylaxis, vaccine-medicinal-product, test-manf, etc are hard-coded in the schema and don't accommodate for the future update of this values to add new vaccines or tests. I think this datasets must be maintained outside of the schema.

@dirkx How is the current state in schema discussions here?

By now, the current version 1.0.0 does include a version field as well as separating the value sets from the core schema.
@pjsramos do you think this issue can be closed then?

@SZoerner this is good news. I think with this changes we can close this issue.


Fix API with vite proxy

fix https://github.com/OpenDevin/OpenDevin/issues/441
VITE_WS_URL and VITE_API_URL is not necessary now

http://localhost:3001/api(frontend) -> http://localhost:3000/(backend)
ws://localhost:3001/ws(frontend) -> ws://localhost:3000/ws(backend)

@xcodebuild can you explain the rationale behind this change? I'm hesitant about putting these settings in vite.config.ts.
I prefer environment variables because they allow for greater flexibility. If we were to deploy this for example, we might have a different frontend and backend hostname, and it would be more streamlined to switch the URL environment variables than set a new vite.config.ts.

Vite provides a proxy to forward front-end requests to the back-end application, so the front-end application doesn't need to worry about where the back-end application is, it just needs to request /api/xxx.
Environment variables are fine, but at least we shouldn't be using a lot of environment variables for one thing. Maybe providing a BACKEND_HOST_URL or BACKEND_HOST_PORT and then letting vite.config.ts and the back-end application to consume it together would be good.

I see. Can we define a single environment variable BACKEND_HOST_URL? We can use this variable in vite.config.ts.

BACKEND_HOST and related checks have already been added.


Fix Password C test on reactivate auto-unlock

After update/recover when auto-unlock was on the user will be asked to enter password c to reactivate auto-unlock. Normally it should check if password is OK ... but this seems to fail and just continues even if password is wrong.
As a quick fix - if password is wrong it could just deactivate auto-unlock and let user know to re-activate it later.

It looks like that testing the password correctly on calling sudo /home/admin/config.scripts/lnd.autounlock.sh on is just possible when LND has started correctly and has problems when still in final setup mode.
This needs some deeper check and might result also in moving the re-activation of things like "auto-unlock" or even the whole "Final Setup" to a new place in the process, when the device has made a full catchup and bootup after recovery. So it makes sense to place this to the v1.7.1 release that is preparing already the remodeling of the setup for WebUI.
Also refactor the temp storage of the password entered by the user. Mode "./.tmp" to RAM disk.

Passwords are now stored during setup im temp RAM disk.

Just an idea: We could store a hash of the password c on the HDD to check the password even when LND of not running. But maybe that all changes anyway with v1.8 with the new password/unlock features of LND.

Tested for v1.7.1rc2 ... on recovery/update the Blitz will ask now after the final setup rebootonce for passwordC and then  reactivate the auto-unlock.


.coarsen() method for the xarray.Dataset removes its attributes.

Hello,
I am not sure if this is a bug or a feature but when one calls the xarray.coarsen() on a dataset, then the attributes get removed.
Dataset Example
import xarray as xr
import numpy as np

var1 = np.linspace(10, 15, 100)
var2 = np.linspace(5, 10, 100)
coords = np.linspace(1, 10, 100)

dat = xr.Dataset(
    data_vars={'var1': ('coord', var1), 'var2': ('coord', var2)},
    coords={'coord': coords}
)
dat.attrs['model_id'] = 'model1'

# coarsen dataset
dat = dat.coarsen(coord=5).mean()

# print dataset
dat

Actual Output
<xarray.Dataset>
Dimensions:  (coord: 20)
Coordinates:
  * coord    (coord) float64 1.182 1.636 2.091 2.545 ... 8.455 8.909 9.364 9.818
Data variables:
    var1     (coord) float64 10.1 10.35 10.61 10.86 ... 14.14 14.39 14.65 14.9
    var2     (coord) float64 5.101 5.354 5.606 5.859 ... 9.141 9.394 9.646 9.899

Expected Output
<xarray.Dataset>
Dimensions:  (coord: 20)
Coordinates:
  * coord    (coord) float64 1.182 1.636 2.091 2.545 ... 8.455 8.909 9.364 9.818
Data variables:
    var1     (coord) float64 10.1 10.35 10.61 10.86 ... 14.14 14.39 14.65 14.9
    var2     (coord) float64 5.101 5.354 5.606 5.859 ... 9.141 9.394 9.646 9.899
Attributes:
    model_id:  1

Problem Description
I believe the attributes should stay within the xarray.Dataset no matter what the operations that are done on it. Obviously maybe for some operations an entry like model_id could change because it's no longer the model. But I believe that should be left up to the user. Perhaps a warning in the docs might be sufficient. The behaviour isn't consistent with the xarray.coarsen() function on the xarray.DataArray example where the attributes remain the same (see details below).

The behaviour for Datasets and DataArrays should be consistent in any case. Would you like to try and fix it?

Hello,
Yes, even with the option xr.set_options(keep_attrs=True), I still encounter the attributes changed. The full code with the set options is below.

import xarray as xr
import numpy as np

xr.set_options(keep_attrs=True)

import xarray as xr
import numpy as np

var1 = np.linspace(10, 15, 100)
var2 = np.linspace(5, 10, 100)
coords = np.linspace(1, 10, 100)

dat = xr.Dataset(
    data_vars={'var1': ('coord', var1), 'var2': ('coord', var2)},
    coords={'coord': coords}
)
dat.attrs['model_id'] = 'model1'

# coarsen dataset
dat = dat.coarsen(coord=5, keep_attrs=True).mean()

# print dataset
dat

I'm not too familiar with the xarray package internals. But I will look to see if I can do my part and do a pull request. I'll get back to you after having a look at the internals.

Thanks for the clear report. I'll mark this as a bug then.

@jejjohnson that means coarsen must have been missed when applying the keep_attrs logic in #2482. If you have a look there it should hopefully be clear how to copy the same logic for coarsen.


Implement Attend Page Design

[x] Implement Header
[x] Implement Map
[x] Implement text
[x] Implement Flying Solo

Later if necessary:

[x] Decoration around title

(not finalized yet)

Thanks @lkappeler!


Broken example in documentation

This one gives me an error.
var datastoreClient = datastore({
  projectId: 'grape-spaceship-123',
  keyFilename: '/path/to/keyfile.json'
});

adding new keyword makes it work:
var datastoreClient = new datastore({
  projectId: 'grape-spaceship-123',
  keyFilename: '/path/to/keyfile.json'
});

Actually, if I do it this way the new keyword is not needed:
const gcloud = require('gcloud')({
  projectId: '...',
})
const dsClient = gcloud.datastore()

Yes, sorry for this confusion. master represents the latest state of the repository, so if you were cloning directly from master, the readme would be accurate. The latest version on npm is 0.37.0 -- those docs can be found here: https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.37.0/gcloud
I'll add a note in the readme that directs users to those docs. Sorry again!


[FEATURE] output only certain checked countries

Is your feature request related to a problem? Please describe.
i wonder if it's possible to have a feature to output only proxy servers on certain counties like fr de etc
Describe the solution you'd like
--country flag
Describe alternatives you've considered
none

It's rolled out at v0.9.0! Update yours with mubeng -u. :tada:


Add instances for ShortText

ShortText is a commonly used alternative to Text for particular workflows, I think it would make sense to add the instance (I can make a PR to do this).

What dependency would this add? I see several datatypes named ShortText on hackage.

I meant this: https://hackage.haskell.org/package/text-short

Looks like a pretty popular library with a relatively limited dependency footprint. Feel free to submit an MR. Thanks!


connection migration test

hello ！
Whether quic-go to support connection migration，like Wifi to 4G？
thank you for your reply

Connection migration is not yet implemented.


Fixes bug when ip2long is called in a 64 bits system

Some DB (like postgresql) doesn't have unsigned int type, so, this function allow to store the right value.

When ip2long is called in 64bit OSes, it could return "longer" integers that "int" (4bytes) type could store in a DB. That's why I added this patch.

I think we need a helper method in model, so we can use $event->sender->getUserIPLong() or something like that


Display tags on the market details page

Use case: I want to be able to browse markets related to the one I'm currently viewing without having to bounce out to the markets page.
Users can use the search bar, but this saves some clicks in some instances. Plus the tags provide useful context, imo.

bump

We show a "similar markets" section now


:add_on => :prepend not working

I tried this:
  = f.text_field :price, 'Twitter', :class => 'medium', :add_on => :prepend do
    %span.add-on @

but this
@
it is rendered after the text_field not before, so the @ appears after the field

This is handled by the Bootstrap CSS styles, specifically:
.input-prepend .add-on, .input-append .add-on {
  float: left;
}

You can also see in my example image that it works as expected.

Probably your example was working with another version. As I told you %span.add-on @ is rendered after not before. The example in bootstrap works in my app, not the code generated by :add_on => :prepend
Could you reopen it? This is a real issue.


Fix issue #161

Allowed passing (filename, file) and (filename, file, content_type) tuples as data values. Now it works as documented. To upload a bytes you need to create an io.BytesIO object.

LGFM as far as I avoid that helper (: May be add some tests?

-1
The doc should be fixed, not code.
If you want to pass content_type please call .add_field() directly.

@kxepal Don't worry, I will add tests later today (at least in my timezone, which is UTC+3:00).
@asvetlov The issue is not only Content-Type, but the file uploads in general.
The proposed and documented way is more consistent with other HTTP client libraries. 2-tuple (filename, bytes/file) and 3-tuple (filename, bytes/file, content_type), where file is a file-like object, is how other libraries (urllib3 and requests, for example) implement it.
Are you sure that creating FormData object and calling its .add_field() method is the right, easy for new developers and more pythonic way? Now it looks more like an internal class. It is not even documented.
There is another issue I haven't talked about yet. Currently, I use this workaround to upload bytes object:
f = io.BytesIO(b'some data')
f.name = 'image.jpg'
aiohttp.request('get', url, data={'file': f})

The problem is that if file-like object doesn't have name attribute, it woudn't be uploaded as multipart/form-data. It would only work if you call .add_field() manually and pass filename argument. This also doesn't seem to be the expected behavior. If something happens behind the scenes and the developer is left with broken uploads, it is not the pythonic way.

-1
Initially I implemented it similar to requests, but I think it is very bad and unpythonic api. We decided to remove that api. Better approach is to think how easily expose FormData

Why not to just explicitly construct it outside of request call? In general, multipart format isn't limited by forms and may be deep nested with various of data and headers per each section - it wouldn't be simple (and Pythonic) to describe it with list of [named]tuples.
@asvetlov @fafhrd91 doesn't it makes a sense for aiohttp to have more generalized solution for multipart format? I could contribute it.

FormData should be documented.
bytes and BytesIO may be improved.

@kxepal if you see the way to improve multipart support -- please do.


softwarecontainer.py: fix test_lib_exists

Test failed due to change of libsoftwarecontainer version.
Updated library version to 0.19.0 from 0.18.0.
Signed-off-by: Tariq Ansari<EMAIL_ADDRESS>

Hm... Is there a symlink with the base name, e.g. libsoftwarecontainer.so or libsoftwarecontainer.so.0?

Hm... Is there a symlink with the base name, e.g. libsoftwarecontainer.so or libsoftwarecontainer.so.0?

I think there is a symlink, but If I remember correctly, when this test was added, there were some issues with checking if the symlink existed or not. Some issues with python code not detecting symlink even though it existed. So the full lib name was used. But I can check it again.


Fixed Twitter information

Fixed link to Twitter development site and clarified that the API does not support CORS

Awesome, thanks!


Pagination component spacing discrepancy (Carbon Vanilla vs. React)

Describe in detail the issue you're having.

Seems like the React pagination component has a bit more space in it than the Vanilla Carbon component.

Is this a feature request (new component, new icon), a bug, or a general issue?

Visual bug.

Is this issue related to a specific component?

Yep. Pagination.

What browser are you working in?

Version 65.0.3325.181 (Official Build) (64-bit)

Praise to the Carbon gods. They have answered the call with great glory.


tracking multiple/all pair on binance

Hello , can this project auto tracking all BTC pair on binance and auto order the coin is on uptrend(like DCA) and auto  sell these coin has hit the profit % or auto sell it for stop loss ? , Thanks You !

Yes, completely possible, but you'll have to write the strategy. I can help you if you get stuck.
What is DCA?

Thanks for you reply ! i dont know how to setting for doing one strategy tracking all pair and auto order auto sell, can you help me please ...and the DCA is dollar cost average. ..hope you can help me .. and this project is awesome ! Thanks You!

I'm short on time, but if you add me on Telegram @andre_silvasantos I can give you some hints. :wink: