Support posting general comments

This issue is about the ability to add general comments to the radicle patch, through a dedicated textarea at the bottom of the Activity / Overview page that opens in the vs code editor.

@stelios123 could you please help here by providing the API endpoints used for this functionality ?

The API endpoint will change based on this conversation .
Currently for reactions we are using this endpoint for patches /api/v1/projects/<PROJECT_ID>/patches/<PATCHES_ID>
This is a PATCH request with this parameters
{
"type" : "revision.comment.react",
"revision" : "REVISION_ID",
"comment" : "COMMENT_ID",
"reaction" : "EMOJI UNICODE",
"active" : true / false
}

Based on active variable you can add / remove emoji
For issues we are using /api/v1/projects/<PROJECT_ID>/issues/<ISSUE_ID>. This is also a PATCH REQUEST
and the parameters
{
"type" : "comment.react",
"id": "DISCUSSION_ID",
"reaction" : "EMOJI UNICODE",
"active" : true / false
}
Our code : Patch comment react
Issue comment react

This got a bit out of hand and brings, due to hastiness, plenty of related features/fixes in the same PR, though some could have been part of separate PRs. Alas.
Demo:

Changelog:
✨ Highlights

create new comments on patches
preview your patch edits and draft new comments, before submitting them, with Markdown support
polished, comfortable authoring experience

🚀 Enhancements

patch-detail: add a new "Comment" button next to the revision selector

clicking the button shows a new patch-comment form in the top of the Activity section

the form consists of

a text-field where the user can type their comment
the target revision under which the comment is to be created
form control buttons

if in single-column mode due to narrow viewport the active tab automatically switches to the Activity section
form state is preserved (as described in v0.5.0#enhancements) individually for each revision

clicking the form's "Comment" button or the keyboard shortcut Ctrl/Cmd + Enter submits the form

attempts to create a new comment on radicle under the selected revision
informs the user of the action's result (created and announced / created only locally / failed) and offers follow-up actions as needed
upon the comment's successful creation, it is shown directly in place of the patch-comment form as a new event at the top of the Activity section with the time-ago indicator showing "now" and a short "pulse-outline" animation around it

patch-detail: in the patch-edit form

show placeholder text when either text-field is empty
change button label "Save" to "Update"

patch-detail: in both patch-comment and patch-edit forms

add a new button with a coffee icon between "Update"/"Comment" and "Discard"

clicking it "pauses" editing, hiding the form but preserving the current changes for later (a.k.a. aforementioned form state preservation)
also triggerable with keyboard shortcut Escape
also acts as a safe "spacer" between the two aforementioned buttons protecting against misclicks that would otherwise come with a big penalty

add a new button to toggle a markdown preview of the current changes before submitting

also triggerable with keyboard shortcut Alt + P
after toggling to markdown preview and back to editing the undo/redo history (Ctrl/Cmd + Z and Ctrl/Cmd + Shift + Z) is still available. Even if the form contains multiple controls (e.g. two text-areas) then the undo/redo history spanning all of them in the order they were changed is still retained

polish text-field sizing dynamics:

use 1 line of text as starting height when empty for the patch title field and 4 lines for the patch description
respectively limit the max vertical lines for the former and the latter
fields offer 65 characters of horizontal space (when there's enough viewport width, whatever fits otherwise), which also happens to be the Markdown renderer's wrapping limit (with exceptions). This can double as a subtle hint that we may be typing too much. Longer lines of text widen the fields to fit the content as long as there's enough viewport space, at which point they'll wrap into a new line, line-breaking at at appropriate point.
previously typing or focusing any of the form's fields would always scroll the viewport to align the form at its bottom. Now this happens only if the form doesn't already fit on the viewport, leaving the scroll position wherever it was already set by the user and resulting in a less constricting experience
although fields remain manually user-resizeable (pursposefully only across height) by mouse-dragging the bottom-right handle of each field and dynamically resizeable as content grows (with contextual restrictions) and shrinks, if the user indeed defines a preferred height using the former method, then it is respected by the latter

the aforementioned coupled with the pre-existing feature of optimally auto-aligning the form as it resizes should seamlessly provide a smooth authoring experience
adjust the hover text of all form buttons to advertise their respective keyboard shortcut (if any)
patch-detail: preselect the merged revision, if any, in the revision selector instead of always the latest
patch-detail: don't mention the revision and its identifier in events in the Activity section if there's only one revision
patch-detail: align the UX for every revision identifier shown in the patch-major-events section (top of the view) with the behaviour of those in the Activity section, i.e. showing the revision description on hover, and when clicked scrolling to the Revision section wherin more info about it is shown
patch-detail: don't mention the related commit in the patch-major-events section ("Last updated by W with revision X at commit Y Z time ago"). This information is still available in the Revision section.
patch-detail: keep the labels of the main buttons (top-right of the view) as a single line of text, even if the viewport is narrow enough to compress them
patch-detail: add themed styling to <summary> elements when tabbed into

🩹 Fixes

patch-detail: don't disappear the Activity and Revision sections sometimes, e.g. when a new revision is detected
patch-detail: make "Refresh" button work again, fetching latest patch data
patch-detail: don't show big gap between patch title and next section if the patch description is empty

🏡 Chores

ts: enforce stricter type-checking for webview apps
deps: upgrade webview app dependencies, including latest Vue v3.5

This got a bit out of hand and brings, due to hastiness, plenty of related features/fixes in the same PR, though some could have been part of separate PRs. Alas.
Demo:

Changelog:
✨ Highlights

create new comments on patches
preview your patch edits and draft new comments, before submitting them, with Markdown support
polished, comfortable authoring experience

🚀 Enhancements

patch-detail: add a new "Comment" button next to the revision selector

clicking the button shows a new patch-comment form in the top of the Activity section

the form consists of

a text-field where the user can type their comment
the target revision under which the comment is to be created
form control buttons

if in single-column mode due to narrow viewport the active tab automatically switches to the Activity section
form state is preserved (as described in v0.5.0#enhancements) individually for each revision

clicking the form's "Comment" button or the keyboard shortcut Ctrl/Cmd + Enter submits the form

attempts to create a new comment on radicle under the selected revision
informs the user of the action's result (created and announced / created only locally / failed) and offers follow-up actions as needed
upon the comment's successful creation, it is shown directly in place of the patch-comment form as a new event at the top of the Activity section with the time-ago indicator showing "now" and a short "pulse-outline" animation around it

patch-detail: in the patch-edit form

show placeholder text when either text-field is empty
change button label "Save" to "Update"

patch-detail: in both patch-comment and patch-edit forms

add a new button with a coffee icon between "Update"/"Comment" and "Discard"

clicking it "pauses" editing, hiding the form but preserving the current changes for later (a.k.a. aforementioned form state preservation)
also triggerable with keyboard shortcut Escape
also acts as a safe "spacer" between the two aforementioned buttons protecting against misclicks that would otherwise come with a big penalty

add a new button to toggle a markdown preview of the current changes before submitting

also triggerable with keyboard shortcut Alt + P
after toggling to markdown preview and back to editing the undo/redo history (Ctrl/Cmd + Z and Ctrl/Cmd + Shift + Z) is still available. Even if the form contains multiple controls (e.g. two text-areas) then the undo/redo history spanning all of them in the order they were changed is still retained

polish text-field sizing dynamics:

use 1 line of text as starting height when empty for the patch title field and 4 lines for the patch description
respectively limit the max vertical lines for the former and the latter
fields offer 65 characters of horizontal space (when there's enough viewport width, whatever fits otherwise), which also happens to be the Markdown renderer's wrapping limit (with exceptions). This can double as a subtle hint that we may be typing too much. Longer lines of text widen the fields to fit the content as long as there's enough viewport space, at which point they'll wrap into a new line, line-breaking at at appropriate point.
previously typing or focusing any of the form's fields would always scroll the viewport to align the form at its bottom. Now this happens only if the form doesn't already fit on the viewport, leaving the scroll position wherever it was already set by the user and resulting in a less constricting experience
although fields remain manually user-resizeable (pursposefully only across height) by mouse-dragging the bottom-right handle of each field and dynamically resizeable as content grows (with contextual restrictions) and shrinks, if the user indeed defines a preferred height using the former method, then it is respected by the latter

the aforementioned coupled with the pre-existing feature of optimally auto-aligning the form as it resizes should seamlessly provide a smooth authoring experience
adjust the hover text of all form buttons to advertise their respective keyboard shortcut (if any)
patch-detail: preselect the merged revision, if any, in the revision selector instead of always the latest
patch-detail: don't mention the revision and its identifier in events in the Activity section if there's only one revision
patch-detail: align the UX for every revision identifier shown in the patch-major-events section (top of the view) with the behaviour of those in the Activity section, i.e. showing the revision description on hover, and when clicked scrolling to the Revision section wherin more info about it is shown
patch-detail: don't mention the related commit in the patch-major-events section ("Last updated by W with revision X at commit Y Z time ago"). This information is still available in the Revision section.
patch-detail: keep the labels of the main buttons (top-right of the view) as a single line of text, even if the viewport is narrow enough to compress them
patch-detail: add themed styling to <summary> elements when tabbed into

🩹 Fixes

patch-detail: don't disappear the Activity and Revision sections sometimes, e.g. when a new revision is detected
patch-detail: make "Refresh" button work again, fetching latest patch data
patch-detail: don't show big gap between patch title and next section if the patch description is empty

🏡 Chores

ts: enforce stricter type-checking for webview apps
deps: upgrade webview app dependencies, including latest Vue v3.5


Fix doc generation issue for modules with no public constructs

Purpose

$Subject

Fixes #38588
Approach

For modules with no public constructs to be displayed in docs, show content in Package.md.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

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

The related issue has been reassigned.


Cannot read properties of null (reading 'value')

What version of this package are you using?
16.0.4
What operating system, Node.js, and npm version?
macOS 12.3, node 14.19.0/16.14.2, npm 8.6.0
What happened?
I updated to the latest node and npm versions and then when running the linter on my project, this error happened:
TypeError: Cannot read properties of null (reading 'value')
Occurred while linting ***REDACTED***
    at checkSpacingBefore (***REDACTED***/node_modules/eslint/lib/rules/template-curly-spacing.js:52:24)
    at TemplateElement (***REDACTED***/node_modules/eslint/lib/rules/template-curly-spacing.js:136:17)
    at ***REDACTED***/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (***REDACTED***/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (***REDACTED***/node_modules/eslint/lib/linter/node-event-generator.js:254:26)
    at NodeEventGenerator.applySelectors (***REDACTED***/node_modules/eslint/lib/linter/node-event-generator.js:283:22)
    at NodeEventGenerator.enterNode (***REDACTED***/node_modules/eslint/lib/linter/node-event-generator.js:297:14)
    at CodePathAnalyzer.enterNode (***REDACTED***/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
    at ***REDACTED***/node_modules/eslint/lib/linter/linter.js:952:32

The line in question is (don't ask me why):
variables: variables[`${type}Variables`],

What did you expect to happen?
To work normally.
Are you willing to submit a pull request to fix this bug?
Yup

Nevermind, this was an error because I was using the deprecated babel-eslint as the parser, instead of the new @babel/eslint-parser. Did the change, it works.


support deterministic sharding method

We'd love to be able to specify a json file of shards and have Flank use that. Motivation:

supports teams who want deterministic test groups and orders
allows for teams to implement their own sharding algorithms which can write this file out in a previous step

This could be configured via a shardManifest=path/to/shards.json in the config.properties. Example test JSON file:
[
  [
    "com.example.android.app.androidapp.ApplicationTest",
    "com.example.android.app.view.activity.LoginFlowTest",
    "com.example.android.app.view.activity.LogoutFlowTest"
  ],
  [
    "com.example.android.app.view.activity.SplashScreenTimeoutTest",
    "com.example.android.app.view.activity.HomeFlowTest"
  ]
]

If you would be interested in this feature, I am happy to attempt a pull request or work with an existing flank contributor to do so :)

I think if this feature gets added, then we'd want to use dex-test-parser to validate the specified tests exist in the test apk.

That seems reasonable. If I sent a PR along for this, do you think it would be accepted upon successful review? Happy to do it but don't want to do a bunch of work if it won't be accepted :)

@mrooney it would be cool feature to have. Please submit a PR.

I think this will be taken care of in the new client/server gRPC architecture. Users will be able to define a custom client that shards however you want.
#286 is tracking research on the new architecture


[MRG] [python] check params for num_boost_round & early_stopping_rounds

fix #793

@wxchan
current problems of categorical feature in python:

used by param dict

cannot auto converting from feature name to feature indices

used by argument of Dataset or lgb.train

cannot accept the multi-str form, (like "1,2,3")

I think it is better to unify these parameters.

@guolinke I think it can be done in another pr.

@Laurae2 can you help to enable this feature in R ?

@guolinke Yes when I'll have time tomorrow I think.


feat: add cleanup handler

Explanation
Add cleanup handler.
Related issue
Fixes #1341

/cherry-pick release-0.2


license

Could you please add a LICENSE file to this repo? Are you releasing the code under Apache 2 license, for example?

Sure thing, I have added the MIT license in 870bc813709ceb8219da51fac3cc3b22cd4e6f54


Embed PDBs in built binary

This PR embeds compressed PDBs into the built binary.
It adds embedded as an option to --debug
updates command line tests.

"This branch has conflicts that must be resolved"?

@KevinRansom Please add at least one invocation of the compiler that uses --debug:embedded to the automated tests? Also jot down the manual sanity checks that have been done? thanks

1:  I will add a smoke test when I have a machine that build again ... I am paying a steep price for having to install the latest internal VS builds right now.
2:  Verification Built and debugged F# compiler (Net40 debug build):
. Full pdbs
. Portable pdbs
and Embedded pdb
full pdbs.


feat: add data truncations to services

Description
DTOSS-3343
Add truncation rules to transformRules.json

FirstName
Surname
OtherGivenNames
PreviousSurname
AddressLine
Telephone Number
Mobile Number
Email Address

Unit Tests completed for each rules in TransformDataServiceTests.cs

Context

Type of changes

[ ] Refactoring (non-breaking change)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I am familiar with the contributing guidelines
[x] I have followed the code style of the project
[x] I have added tests to cover my changes
[ ] I have updated the documentation accordingly
[ ] This PR is a result of pair or mob programming

Sensitive Information Declaration
To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

[x] I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

Approved but needs file format fix on your tests please


CopyEmptySelection/CopyEmptyLine suppression broken again

Am I misunderstanding something fundamental here, or is setting CopyEmptySelection/CopyEmptyLine to false back to being broken? I raised this as #46 originally.
I'm using Tweaks 1.1.103 24 October from the store on VS 16.7.7
Setings are these:

I have some C# code, and here's where I have the insertion point:

I hit Ctrl+C, position the insertion point on the line below and hit Ctrl+V, and I get this:

I had expected the clipboard to be empty here.
It seemed to be working again on the previous release, except when the insertion point was in white space at the start of a line.

I can't reproduce this using the same settings. I wonder if it could be some other setting interfering

Here's the complete settings I have. I'll play with some combinations.

Uninstall/reinstall doesn't fix it either :-(

@SpooRancher If uninstall doesn't fix it, then it's not caused by this extension. Do you have any other extension installed that could cause the issue?


AutoComplete enable keypress navigation

PR includes

[x] Bug Fix

Related issues

Resolve #772
QA Instructions, Screenshots, Recordings
https://github.com/taskany-inc/bricks/assets/9020793/7ac07f58-42ad-4aaa-828a-288afa3aec02

/canary

/canary

After #753

/canary

harmony
https://github.com/taskany-inc/bricks/assets/9020793/4bf3d04c-344a-4a77-9a97-60590a8b6504


Rebrand to Azimuth-js

Turns out this is just a case of thoroughly renaming and trying really hard to get it to pull in the actual latest contracts. Neat!
In the package.json I've renamed the package to "azimuth-js", and the repo should be renamed accordingly. I haven't yet updated the contracts dependency ("urbit-azimuth"), though you need the latest version of that to run these.
Before I make the change here and there (probably v1.0.0 of the contracts?) we should decide what we want to do with package naming. The contracts are currently "urbit-azimuth" because "azimuth" is already taken. I feel strongly about removing "urbit" from the name there. We might do something like "azimuth-sol" instead?

Will the name of this repo change as well? I'll add this to the known repos file in Kamaji.
It's worth thinking about how this code will live alongside other Azimuth-related libraries, like keygen-JS and argon2-wasm. Any chance we eventually merge these codebases?

Packages should have one name -- repository, package.json, etc. should be the same

Fair, but gets troublesome in select cases, ie "azimuth" being unavailable on our current package registry. (On the other hand, your comment above.)

I'd enjoy an "urb-" naming scheme for Tlon web libraries; if we ever want to publish them for use in non-urbit contexts, we can remove the "urb"

As far as I'm concerned, anything Azimuth that isn't Bridge or Vere/Arvo is already "non-urbit context".

The root question here is whether we think we're publishing dependencies as general-use, public things, as part of an open source culture of engaging with public developers, or whether these are basically just glorified internal libraries that we don't want to provide public support for.
I'm partial to the second, but keeping trappings of good open source philosophy is probably helpful if/when we want to on the hook for some script kiddie's Ethereum implementation when we transfer NPM ownership over to a shady nephew.

I think we should prefix everything with azimuth-, disregarding
https://www.npmjs.com/package/azimuth
"-solidity" seems to be a common name-scheme – i.e.
https://www.npmjs.com/package/openzeppelin-solidity – so how about
"azimuth-solidity"?

On Tue, Dec 11, 2018 at 2:31 PM Christopher Johnson <
<EMAIL_ADDRESS>wrote:

The root question here is whether we think we're publishing dependencies
as general-use, public things, as part of an open source culture of
engaging with public developers, or whether these are basically just
glorified internal libraries that we don't want to provide public support
for.
I'm partial to the second, but keeping trappings of good open source
philosophy is probably helpful if/when we want to on the hook for some
script kiddie's Ethereum implementation when we transfer NPM ownership over
to a shady nephew.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/constitution-js/pull/13#issuecomment-446387827,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB8HpwR3hV2uv5J7DD9bsJNFg65IGciks5u4DIugaJpZM4ZOTCg
.

--
~hidrel-fabtel
https://urbit.org

The root question here is whether we think we're publishing dependencies as general-use (...), or whether these are basically just glorified internal libraries that we don't want to provide public support for.

I feel strongly about not making using our on-chain stuff more of a pain than it needs to be, both for regulars users, and for developers looking to Do A Thing. Part of that is taking the parts of our tooling that are generic enough that non-Tlon people can use them, and making that public.
I probably don't have an accurate idea of what "provide public support" means in the JavaScript world, but we'll need to do maintenance on these things anyway because we use them too.

I think we should prefix everything with azimuth-

We, uh, already do this, I think? At least, all the parts that strictly depend on Azimuth (aside from Bridge).

how about "azimuth-solidity"?

Fair, fine by me.

The contracts are currently "urbit-azimuth" because "azimuth" is already taken. I feel strongly about removing "urbit" from the name there.

@Fang- just agreeing with you here!

Support Morgan here.
Sent from my iPhone

On Dec 11, 2018, at 2:44 PM, Fang<EMAIL_ADDRESS>wrote:
I think we should prefix everything with azimuth-
We, uh, already do this, I think? At least, all the parts that strictly depend on Azimuth (aside from Bridge).
how about "azimuth-solidity"?
Fair, fine by me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

That seems fine to me; I just wasn't sure how much Open Source we're doing or how seriously we're taking it. I've been proceeding with the assumption that we're just making private packages and not worrying about the world at large, which seems to carry other benefits/liabilities I don't understand very well.

I just wasn't sure how much Open Source we're doing or how seriously we're taking it.

Well, neither am I! But I'm making my personal stance right here and now. (^:
This should probably devolve into a discussion somewhere else, on what the general internal stance is on publicizing components, and whether we want to develop with that in mind or just do it whenever it's convenient.

@Fang- Azimuth and all surrounding tooling (Bridge, Wallet Generator) plus their dependencies are public projects!

Looks like some good substitutin'.  If it passes the tests it's cool with me.  It looks like the CI has messed up a bit for some reason -- I'll take a look at that.
I'm fine with azimuth-solidity (with a bump to 1.0.0, as it warrants that stability commitment), and azimuth-js here, although I think urbit-azimuth and urbit-azimuth-js are also fine.  I don't think there's a need to rename anything else (e.g. urbit-key-generation, urbit-ob) at the moment.

Ok, the CI issue is just because it's still pulling an old version of azimuth.  Recommend just sorting out everything that needs to be done with azimuth (name, version, distrib) first, so that the CI passes, before merging this bad boy.

I'm pointing to version 1.0.0 of azimuth-constitution now, and updated the package.json of the urbit/azimuth accordingly. @jtobin, you know how to get that package onto npm to get this to work, right?


Allows default values to be provided with getters

We would like to pull defaults directly from the function call to avoid errors.  This feature adds three additional functions that allow a default value to be provided and, in turn, an error will not be provided (as it will default).  Note that this will override the default value within the defaults section if used.
We have also set the test file to be part of the test package so it does not appear with the library's main functionality.
Usage:
c.GetStringDefault("section", "variable_one", "default_value")
c.GetBoolDefault("section", "variable_two", true)
c.GetIntDefault("section", "variable_three", -1)

I don't think this is maintained any longer.


Fails to find mmdc binary in Yarn 2 with Plug'n'Play

Example repo
Error:
Error: Command failed: find ../.. -name mmdc

or another error:
Error: Expected mermaid CLI at
C:\Users\user\Project\prisma\node_modules\.bin\mmdc

or
undefined
 but this package was not found.

This is the most common problem we keep running into. node_module mapping to successfully call a CLI for Mermaid. Happy to review PR's related to a fix. It seems all that have been merged have fixed for one case and failed for the next. In the meantime, to generate in a format that will skip the CLI failure you could generate to markdown
generator erd {
  provider = "prisma-erd-generator"
  output   = "./dist/erd.md"
}

I just tried it out and it generated successfully which tells me its not a formatting issue for the CLI, just a path issue

It really worked! Thank you.

Hi @keonik , such a great generator, thanks and congrats.
Just for letting you know, running on a WSL2 ubuntu 22 distro, with the --data-proxy flag, the generator fails.. also added the output as you suggested here previously. The ouput is:

workaround to it by creating an empty erd.md file in the output path.
Best regards and thanks again!

Hi @Markkos89, Github has build-in support for rendering mermaid language syntax. Just push .md file into github repo and check it out. On the other hand, you can render mermaid code manually on https://mermaid.live/edit

I believe all that is in the generated mermaid markdown file is something like this
"""mermaid
// syntax to render ERD in markdown
"""

So if you copied the contents out of that generated markdown file and into your README.md wherever you want to put it, it should render for you.

Added another option to specify the path to the binary for mmdc in #188
Although markdown is a workaround to generate successfully, this will let you find the path to the binary so that wherever it does exist it won't throw the package not found error anymore. Let me know if you run into issues


Utility classes for Vaadin/Lumo

Initial attempt at creating reusable CSS classes using Lumo's CSS custom properties.
Also includes classes for creating flexbox-based layouts.

Is it possible to add the theme rtl for margin left and right?

Is it possible to add the theme rtl for margin left and right?

I wonder if these utility classes would only be part of Vaadin 19+, or would they be backported to Vaadin 14?
If they are only for 19+, we should use CSS logical properties, and not for example margin-left.

Shouldn't we prefix the classnames, e.g. with lumo- or v-? Especially some of the more generic names like sticky and fixed are quite likely to conflict with custom classnames.
Names of certain text color classes, e.g. header-text, don't really sounds like color-only styles.
I'm skeptical about the granularity of the flexbox classes. Is it meaningful to have separate classes for flex, flex-row and flex-wrap, instead of combining them to something more convenient like flex-row-wrap?

Also I guess we should have classes like size-full, width-full, height-full (or whatever the appropriate names would be).
Another thing that I often end up doing in flex layouts is setting flex-shrink:0 (to prevent flex items from shrinking) and min-width:0/min-height:0 (since the default is auto, which means intrinsic size of flex items, which means no shrinking beyond that). Perhaps it would make sense to create some convenient combination classes for these so that I could just apply "flex-column shrink-children" or something like that, instead of applying "min-height-zero" to each child separately...

We're still in the process of building our utility class set, so I feel like not enough direct experience yet to make an educated recommendation for @rolfsmeds questions above.

Is it possible to add the theme rtl for margin left and right?

Added end/start variations.

Shouldn't we prefix the classnames, e.g. with lumo- or v-? Especially some of the more generic names like sticky and fixed are quite likely to conflict with custom classnames.

I've prefixed all classes with v- for now.

Names of certain text color classes, e.g. header-text, don't really sounds like color-only styles.

Those were taken from the Lumo demo.
Boostrap and Tailwind prefix their color styles with .text-.
We could do that, e.g. .v-text-primary and .v-text-secondary, or use color, e.g. .v-color-primary and .v-color-secondary.
(I took the liberty to use the latter option for now. Let me know what you think.)

I'm skeptical about the granularity of the flexbox classes. Is it meaningful to have separate classes for flex, flex-row and flex-wrap, instead of combining them to something more convenient like flex-row-wrap?

Also inspired by Boostrap and Tailwind. I used a similar approach in the Material theme for Vaadin 8 and liked the ease of use and flexibility.
Of course, everybody's different, and I'm definitely open to suggestions. Guess the only thing we need to consider then is if the combinations will grow numerous.

I think we should target V19+ with these. I believe they'll be most useful in the short term for Fusion users, although in the long run we may also be able to switch out Flow VL/HL etc implementations with lighter weight divs with the right classes.

What do you think about adding classes for gaps?
Something like
.gap-m > :not(:last-child) {
  margin-block-end: var(--lumo-space-m);
  margin-inline-end: var(--lumo-space-m);
}

What do you think about adding classes for gaps?

Columns and gaps are coming soon™.

What do you think about adding classes for gaps?

Columns and gaps are coming soon™.

I'm a bit wary of implementing margin-based gaps right now, as they don't work well with wrapping, and we'll want to refactor them to use the gap property as soon as it's properly supported, but we may not be able to do that without breaking existing applications if we introduce them in the LTS now.
Some kind of css grid based layout classes with gap support would be another thing though.

Yeah, I agree that proper gap would be nicer. But it would be super convenient to have something already in the meantime.

I copied these over to my project to see what they felt like in action. Overall, I really liked the experience. Saved me from having to write basically any CSS. Some notes and thoughts:

I didn't like the v- prefix to every class name, it felt verbose and a bit redundant. I would vote to get rid of the prefix for simplicity. Tailwind and Bootstrap don't prefix their classes either. Maybe we could add that as a build-time option you can turn on if someone really wants a prefix?
I missed size helpers. Especially something like full-width, full-height, full-size.
Gaps would be nice.
I didn't need it right now, but I could see that many apps could use a responsive layouting system/grid like the above mentioned libraries. Maybe that's a separate PR?

I'm also missing options for setting margin/padding to 0.

When do you need to reset padding to zero?

My actual need was for 0 margin, figured someone might need a 0 padding some day and keeping it consistent would make sense.

someone might need a 0 padding some day

Right. I was trying to think when that might happen. IIRC browser defaults do not include any padding. Some of our components do, thought (notably input fields), so I was wondering if that was the reason.
I’m not sure if consistency is a good reason to include unused CSS to the bundle.

Update
Added:

CSS grid with up to 12 columns and 12 rows
Ability set the column and row spans
Height and width classes (xs through xl, with full option)
Icon sizes (s, m and l)
Spacing based on both margin and gap

Until it's official (reviewed, accepted and whatnot) you can use this highly volatile package at your own discretion/peril/risk/demise:
https://www.npmjs.com/package/lumo-css-framework

I'll just dump a list of open questions here for future discussion:

Should all flex-classes include display:flex (why would you not want that?)
Should all utility classes be in a single stylesheet, or should we split them by type so you can pick which you want to use?
Should we keep the v- prefix? E.g. Tailwind is prefixless, while Ionic has ion- prefix.
What about Material theme?
Do we want to create and maintain our own utility css, or should we just use Tailwind directly, as that's what all the cool kids use today anyway? (We do want the classes to use Lumo properties, but apparently TW can be customized)
Should we remove the global element styles in Lumo (e.g. typography in favor of utility classes?
Should the utility classes by a default import of Lumo in Flow / part of all-imports / loaded by default as part of Lumo by the new custom theme feature? (I would say no)

Should all flex-classes include display:flex (why would you not want that?)

When you want to use inline-flex.

Should all utility classes be in a single stylesheet, or should we split them by type so you can pick which you want to use?

Could split them up, and offer a "import all" option.

Should we keep the v- prefix? E.g. Tailwind is prefixless, while Ionic has ion- prefix.

Personally, I'd prefer no prefix. I think @marcushellberg preferred that route as well.

What about Material theme?

Shouldn't take long to modify the typography and white-space (margins, paddings, etc) styles. Could (finally) introduce proper CSS custom properties at the same time, and update them to the latest MD spec.

Do we want to create and maintain our own utility css, or should we just use Tailwind directly, as that's what all the cool kids use today anyway?

¯_(ツ)_/¯

Should we remove the global element styles in Lumo (e.g. typography in favor of utility classes?

Good question. I'd probably defer to @jouni. Might still be good to have some kind of "default"?

Should the utility classes by a default import of Lumo in Flow

I think opt-in to start, and if it becomes popular, then we could consider auto-importing it in the future.
Just IMO.

Do we want to create and maintain our own utility css, or should we just use Tailwind directly, as that's what all the cool kids use today anyway? (We do want the classes to use Lumo properties, but apparently TW can be customized)

In my opinion, Tailwind is a good option if you can remove unused CSS. I'm not sure if it's really possible with Fusion+Flow. (I would say it comes with a lot of restrictions). 4Mb of uncompressed css is quite huge.
Tailwind (or these utility classes) does not work in shadow dom.
There are also these kind of project: https://github.com/tw-in-js/twind
It solves the shadow dom issue and tree shaking but:

It's probably only for super crazy cool kids :D
I don't think you can use it easily in Flow.

Tailwind is a good option if you can remove unused CSS. I'm not sure if it's really possible with Fusion+Flow. (I would say it comes with a lot of restrictions)

Yeah, that would be a prerequisite to use Tailwind, that the official webpack plugin works with a Vaadin setup as well, and automatically removes unused classes. AFAIK it should be possible, as the plugin basically does it in a very “dumb” way, by checking if a string is found in one of the source files, then it keeps the class in the final build. We could perhaps extend the check to include .java files as well, so that Flow views would be considered as well.

Could (finally) introduce proper CSS custom properties at the same time (for Material)

I’m not super excited about introducing custom properties for Material. Our idea has been to move to the opposite direction, that we base the Material theme on top of Lumo eventually.

Using Tailwind is an interesting alternative. It would give us all the functionality and documentation out of the box. The downside, besides having to setup a build is the dependency on tailwind. Will it become a problem in 3 years? Although it seems to be MIT licensed, so worst case we could maintain some fork I guess as a contingency.

Summary of decisions:

This stylesheet will become an official but opt-in part of Lumo in V20.
Prefixes will be removed to align with other popular utility class frameworks.
Classes whose implementation is closely aligned with Tailwind should use the same classnames to ease adoption.
Classes whose implementation could be aligned with TW without clashes with Lumo or Vaadin aspects should be aligned.
Classes whose implementation differs significantly from TW (e.g. due to different scales compared to Lumo properties) should have different classnames.
The non-aligned classnames should follow a similar logic however.
We will not use Tailwind instead of this for now, but keep the option open to introduce TW as an alternative to this in the future.
Material theme and Flow API is not included in the current scope.
Documentation needs to be added to Vaadin Design System / Foundation docs before V20 PiT.
Let's try to get as much feedback from the community before that.

Please close this PR and submit a new one to https://github.com/vaadin/vaadin-web-components.
We also need to have an issue with the acceptance criteria that the PR would be linked to.

Closing this PR.
It was moved to the monorepo and merged here (https://github.com/vaadin/web-components/pull/2121) and it's released since v21.0.0-alpha9.


namespace could not be found

Before you open an issue
If the issue is with an ASP.NET Core document, open the issue with the Content feedback button at the bottom of that document page.
If the issue is:

A simple typo or similar correction, you can submit a PR. See the contributor guide for instructions.
A general support question, consider asking on a support forum site.
A site design concern, create an issue at MicrosoftDocs/Feedback.
A problem completing a tutorial, compare your code with the completed sample.
A duplicate of an open or closed issue, leave a comment on that issue.

Issue description
Startup.cs(30,35): error CS0246: The type or namespace name 'RazorPagesMovieContext' could not be found (are you missing a using directive or an assembly reference?) [C:\Users\Aaron Meade\dotnet-practice\RazorPagesMovie\RazorPagesMovie.csproj]
The build failed. Fix the build errors and run again.
Tried redoing the tutorial but ran into the same problem
Also tried dotnet restore but have not yet found a solution to this error
Software versions
Check the .NET target framework(s) being used, and include the version number(s).

[ ] .NET Core
[ ] .NET Framework
[ ] .NET Standard

If using the .NET Core SDK, include dotnet --info output. If using .NET Framework without the .NET Core SDK, include info from Visual Studio's Help > About Microsoft Visual Studio dialog.

dotnet --info output or About VS info
<replace>

Hello @Aaronmeade92 ... It's best to use the This Page feedback button+form at the bottom of the topic to open an issue. It will automatically ping the author and add metadata to your issue. Recommend you close this and re-open the issue using that form.


Support BE and BS flags

Currently there's no way to set the Backup Eligibility and Backup State flags [1]. We would like to use the authenticator to test our handling of these flags.
[1] https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data

Hi! Thanks for opening an issue on this.
I'll have time to take a look at this and the other issue within the next few days.

@zetaab It seems like I adopted a pretty loose definition for few days. 🤔
I'll go over this and see if we can integrate it. Thanks for bumping this! 👍

https://github.com/descope/virtualwebauthn/blob/main/utils.go#L45 is perhaps the function that should support those :)

@shilgapira I will make PR for you, just a few minutes.


[Feature request] Addon repo

Would it be possible to create a repo to the beta releases of this addon?
that way i do not have to keep watching github for updates :-P

That already exists and is linked in the README: https://github.com/kodinerds/repo/raw/master/repository.netflix/repository.netflix-1.0.1.zip


fix: sanitize trigger binding name

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug

What does this PR do / why we need it:
Sanitize the trigger binding name so it's a valid DNS1035 name
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

Add an env and a service with long names
Create Webhook cmd should suceed

/test v4.9-integration-e2e

/test v4.9-integration-e2e

/test v4.9-integration-e2e


Change mdns flooding approach into a real bonjour strategy

ESPHKD#12 gives initial reason for opening this issue.

Once an iPhone returns to the WiFi hotspot it first of all queries the accessories it hopes to control.
It is our task to recognise this request and respond to it while shouting our own info in an exponential backoff scheme.
NetServices section "Exponential Back-off and Service Announcement"
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
Multicast Domain Name System (query)
    Transaction ID: 0x0000
    Flags: 0x0000 Standard query
    Questions: 7
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 1
    Queries
        _hap._tcp.local: type PTR, class IN, "QU" question
        _airplay._tcp.local: type PTR, class IN, "QU" question
        _raop._tcp.local: type PTR, class IN, "QU" question
        HomeACcessory._hap._tcp.local: type TXT, class IN, "QU" question
        HomeACcessory._hap._tcp.local: type SRV, class IN, "QU" question
        HK_22:34:56:78:9A:BC.local: type AAAA, class IN, "QU" question
        HK_22:34:56:78:9A:BC.local: type A, class IN, "QU" question
    Answers
        _hap._tcp.local: type PTR, class IN, HomeACcessory._hap._tcp.local
            0... .... .... .... = Cache flush: False
            Time to live: 4500
            Data length: 2
            Domain Name: HomeACcessory._hap._tcp.local
    Additional records
        <Root>: type OPT

I have started to encode this in a short-cut strategy.
Seems easier than expected... if all you want to do is the essential.
Stay tuned

pushed branch real-mdns
Please test??

Tested some today, so far no issues, positive differences I've seen:-

didn't have to delete my home before re-adding the accessory

accessory seems to be consistently accessible from both Wifi and Cellular networks

accessory seems to be more responsive, quite often in the past it would say updating for a while when you opened the home app

will continue to test but so far good step forward
Thanks
maccoylton

many thanks for the testing and the extensive report
It matches my feelings as well
I found one bug so far. Probably fixing it this weekend
Do you agree we can merge it to the master branch…?

Yes, I’d agree, so far so good on my end, plan to update my other devices this weekend, many thanks for your continued efforts

That bug is a real one, stopping good messages in more complex environments
Would advice you to not update yet (unless you do not mind doing it again)
OTA updating is my next target, so we can do it remotely.

Thanks, held off updating, happy to test when you are ready.

just pushed the fixed code and created a pull request


Update readme

Change the wrong MarkDown format for Swift in solution column at row Maximum Sum of 3 Non-Overlapping Subarrays

Hi thanks for help, already fixed.


[FEATURE] Add command throttling

Is your feature request related to a problem? Please describe.
Currently users can call commands as often as quickly as possible. This allows for easier spam situations.
Describe the solution you'd like
We should throttle command calling by user to prevent spam.
Additional context
Here are the docs on the subject:
https://discordjs.guide/commando/throttling.html#throttling

Those docs appear to require the use of discord.js-commando which hasn't been updated in two years.
It looks like it still might work, but would require a complete refactor of our code.

could always re-engineer some other solution, either manually or some other way :)

How about this?
I could create a variable that counts how many times the bot has detected a command, have the bot reject the call if that variable hits 10, and set an interval to clear that count every minute. That would effectively mean the bot would only respond to 10 command calls a minute (across all users and commands), averaging to one call every six seconds.

Taking the old unmaintained bot extesnions as an example, this code does something similar to what we should have:
https://github.com/discordjs/Commando/blob/f80823ed6fc3887a8cfb74a9345c59c6c2658545/src/extensions/message.js#L179
where the bot will limit the same user + command from being spammed. Other user's aren't affected by any limiting.

Discord automatically rate-limits slash commands so we no longer need this.


Need to use some internal variables of the pod in other ViewControllers

Hi!
I am currently building an app to measure the pixels in a cropped image. This is why I need to use some internal variables of the pod such as:

internal lazy var photoView in the IGRPhotoTweakViewController.swift. Changed it to public lazy var photoView
private(set) lazy var photoContentView in the IGRPhotoTweakView.swift. Changed it to public private(set) lazy var photoContentView

Do you think you can change this variables to public so I can still use the pod in the future to crop the image and still be able to obtain the pixels without having to modify the internal code you have created?
Also, I would like to thank you for this amazing program, it has helped me a lot! I will attach the files in which I did the changes from private to public in case you want to take a look.
podChanges.zip
Best regards,
Manuela

@ManuelaGar, please make pull request and I'll check it


Should top actions dropdown items support custom images in addition to Fluent icons?

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

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

Additional environment details

SPFx 1.18.2

Issue description
Hi,
Looking at the documentation for Top Actions it looks like we should be able to set imageSrc and selectedImageSrc properties in order to render a custom image for a top action dropdown item. We would like to use this for scenarios where there is not an appropriate Fluent icon and we still want to show an image-based icon.
https://learn.microsoft.com/en-us/javascript/api/sp-top-actions/itopactionsdropdownoption?view=sp-typescript-latest#@microsoft-sp-top-actions-itopactionsdropdownoption-imagesrc-member
I've tried out both an image string path and base64 encoded string for imageSrc and selectedImageSrc and no image is shown. Is this expected? If not, is there a reason why this wouldn't be supported the same way we add images to choice group web part properties?
Thanks!

Any update on whether or not this is officially supported? We often use custom iconography for our web parts and would like to move some of these properties into top actions for faster access by page authors. There are many cases in which we can't find appropriate Fluent equivalent icons to having support for custom images here would be a great capability. Thanks!

Still an issue. As a workaround you could use themableSvg property:
    options: [
      {
          key: AlignVariants.TopLeft,
          checked: selectedAlignment === AlignVariants.TopLeft,
          themableSvg: <AlignmentIcon alignment={AlignVariants.TopLeft} />,
          text: strings.TopActions.TopLeft
      }
    ]


Disable the PruneVTables optimization pass

This change disables the PruneVTables optimization pass introduced in #32359, because it caused issues uncovered by the use of FoundationNetworking described in TF-1314. This patch is a temporary fix pending resolution of SR-13449.
Resolves TF-1314.

@swift-ci Please clean test TensorFlow

Merging to unblock toolchain builds.


Build fails: No such module 'NPOKit'

Short description of the issue
Upon building I get the message: No such module 'NPOKit'. I've followed the installation instructions exactly. Unfortunately I don't know how to fix this as I'm not an Swift developer. Tried to google around without luck.
Issue type
Enhancement (of documentation)
What is the expected behaviour?
It should build without problems (tried UitzendingGemist earlier without any problems).
What is actually happening?
When I try to build it fails with: No such module 'NPOKit'.
Steps to reproduce
Hit the build button.
Extra information
Version you are using: I've tried both master and 0.0.3.
tvOS version: Not relevant, because it also doesn't work for simulator.
Xcode version: 9.2 (9C40b)

Did you open the TVGemist.xcworkspace or the TVGemist.xcodeproj file?

Ah yes, that's it! It seemed so logical to me to click on that file because it also has a blue icon like Xcode. Anyway, thanks for helping me out and for this great project! 👍


fix: Attempting to fix build again

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


Bug fix internal issue #635

Removes undesired attempts to load external library for analyzer features
This change is a trivial rework / code cleanup without any test covera
https://jenkins.arangodb.biz/job/arangodb-matrix-pr-linux/7871/

LGTM!


3.10: Query rules

See https://github.com/arangodb/docs/blob/main/3.10/release-notes-api-changes310.md#optimizer-rules-for-aql-queries

@DiscoPYF thanks for your review. I've made the relevant changes and looking forward to your approval.


[BUG] "This accessory requires a home hub to be used with the Home app."

Describe the bug
When adding a myStrom Button, it appears in the Home app, however, i can't add any actions and get the message: "This accessory requires a home hub to be used with the Home app."
To Reproduce
Steps to reproduce the behavior:

Add myStrom Button
go to home app
select button
See error

Expected behavior
A clear and concise description of what you expected to happen.
Plugin environment:

dingz/myStrom Device Firmware Version [v2.74.40]
Homebridge Version [v1.8.4]
Homebridge UI X Version [v4.61.0]
Homebridge Server: [Raspberry Pi 3 B+]
Plugin Version [v3.4.2]
Node.js Version [v20.18.0]
Special settings [with auto-discovery and with/without child bridge]

please feel free to close if it's a misunderstanding from my side – however, i can't see a reason why a hub would be necessary?


[5pt] Bug with HUC 02030101 missing MS flowline/catchments

HUC 02030101 (Hudson River)
100yr NWM recurr flow inundation map (note large gap in inundation along Hudson River)

Yellow polygon below is a stray MS gw_catchment (HUC 02030101) along the HUC boundary with HUC 02020008. This may be related to the underlying issue.

Perhaps a similar issue along the Mississippi River in HUC 07060001 (south of La Crosse, WI)

Another one along the mainstem Mississippi River at HUC 07060003

Another large missing MS in HUC 08040207 (Ouachita River)


AnthropicBedrock Tools is already out of beta

[x] This is actually a bug report.
[ ] I am not getting good LLM Results
[ ] I have tried asking for help in the community on discord or discussions and have not received a response.
[ ] I have tried searching the documentation and have not found an answer.

What Model are you using?

[ ] gpt-3.5-turbo
[ ] gpt-4-turbo
[ ] gpt-4
[x] Other (please specify)

Describe the bug
I would like to use instructor with AnthropicBedrock client, but I get an error. I believe it is because the latest version of Anthropic tools is no longer in beta.
if mode == instructor.Mode.ANTHROPIC_TOOLS:
--->  create = client.beta.tools.messages.create  # type: ignore - unknown in stubs
else:
    create = client.messages.create

AttributeError: 'AnthropicBedrock' object has no attribute 'beta'

To Reproduce
anthropic==0.28
instructor==1.3.2

from anthropic import AnthropicBedrock
import instructor

client = AnthropicBedrock(aws_region="us-west-2")
ins_client = instructor.from_anthropic(client, mode=instructor.Mode.ANTHROPIC_TOOLS)

Expected behavior
It should not output error, instructor client should be successfully initialized

This also goes for the AnthropicVertex client. I quickly tested it by dropping the beta namespace. No errors. Unfortunately, while the response obeys the jsonschema, all values in my example case are null, whereas with ANTHROPIC_JSON they were filled.
Source:
https://docs.anthropic.com/en/docs/tool-use

Tool use is now generally available across the entire Claude 3 model family through the Anthropic Messages API, Amazon Bedrock, and Google Vertex AI


[BUG]  Books Not Sorting Correctly in Stump

Description of the Bug
Books that are named Volume 1, Volume 2, Volume 3, ... are sorted incorrectly.
They appear in this order:
1
10
11
...
19
2
20
Expected Behavior
They should be sorted like this:
1
2
3
...
9
10
11
Environment:

OS: [Windows]

Build Details:

Version: [0.0.7]
Docker: [no]

Books that are named Volume 1, Volume 2, Volume 3, ... are sorted incorrectly.

When you say named, are you referring to the filename (e.g. Volume 1.zip) or the name pulled from metadata?

I'm referring to the filename. But the title in the metadata is also set. I tested a little more, and if I only use the filename without metadata, it's not sorted correctly. If I use metadata (title) and filenames like 01, 02, etc., it works. But if I use 1, 2, etc., it doesn't. Could it be that the filename is prioritized?

Yeah IIRC the filename is most likely what is being prioritized at the moment. Coincidentally I started a refactor for the sorting implementation a week or so ago here. I think I'll try to explore fixing this issue there, once what I have is viable, as it makes ordering by relations (i.e. the metadata) a more possible.
I'll report back once I have something. Thanks for letting me know!

I wanted to post a little update just to say I haven't forgotten about this. I have a viable fix working, but there is a lot of UI work associated with the overhaul to how ordering and filtering works. My progress is contained to this branch for any code-savvy followers: https://github.com/stumpapp/stump/tree/experiment/pin-prisma. I'll aim to get it into experimental by the end of December, ideally


Update SDK callback parameter naming

According to UnifiedID2/uid2docs#42's feedback from @elenaTTD, I updated the callback naming to make it consistent between doc and real code behavior.
SDK v1 actually has same inconsistency between doc and codes. Should v1's SDK code be renamed too?
Thank you.

Hi @dlackty and thank you for the PR! Can you please make the following amendments to the proposed changes?

Rather than updating the field, could you instead add a new field with the correct name? Updating field name is a breaking change that we would like to avoid.
As you mentioned, v1 SDK has the same problem. Do you mind updating that as well as the EUID SDK too?

Thanks!

@ atarassov-ttd I updated the PR according to your suggestions. Please have a look. Thank you!


gdb debugging php appear "no core file handler recognizes format"

MacBook:test lxh$ gdb /usr/local/php/bin/php -c /cores/core.80164
GNU gdb (GDB) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin15.0.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/php/bin/php...done.
"/cores/core.80164": no core file handler recognizes format
(gdb) bt
No stack.
(gdb) q

gdb got re-homed in the core, so let's move this issue there if necessary.


Screen reader gets trapped in Forms Mode when attempting to interact with various tools, gets trapped into Forms Mode on load and cannot use Escape to cancel out of Forms Mode (Accessibility)

VSCode Version: 1.44
OS Version: Windows 10
-Screen Reader: JAWS 2019 (Yes, I know you only test with NVDA ... but NVDA has a Forms Mode, as well, and it may be affecting NVDA.)

Steps to Reproduce:

Load VSC.
As focus goes into Welcome page, Forms Mode is engaged and cannot be removed/disengaged with Escape key as usual.
Even if Forms Mode somehow gets disengaged after using a keyboard shortcut from the screen reader, attempting to use keyboard to interact with any button or listbox or link with the enter key seems to just engage Forms Mode and does /NOT/ actually activate the button/tool/link.
At this point the only thing I am able to do is Tab and Shift+Tab, along with some various keyboard shortcuts like Ctrl+M to change the tab behavior. I am unable to interact with anything that I tab to, nor can I disengage Forms Mode to browse properly.

Note: I work as a Web Developer for accessibility and, to me, it felt as though there was a parent container with a WAI-ARIA role of "application" somewhere which was essentially stealing focus. There are other roles that engage Forms Mode like this, expecting the control to have coded all keyboard interactions itself.

Does this issue occur when all extensions are disabled?: Yes/No
Was not able to check, as this bug makes VSC entirely useless to me, as I am unable to disengage Forms Mode to be able to use the arrow-keys to browse and interact with the editor as usual.

@GS-Avaluka hi, thanks for filling this issue. We also want to improve JAWS support.
I can not reproduce this with NVDA. I also just installed JAWS and I can not reproduce it.
My steps:

Start JAWS (no configuration changed)
Start Visual Studio Code
Try to interact with Visual Studio Code via keyboard -> all works

What am I doing wrong?
We do have a parent container of the workbench with the application role. Code pointer https://github.com/microsoft/vscode/blob/45b2a7e10243677801dc9da34a464b1a15f5df57/src/vs/workbench/browser/workbench.ts#L321
fyi @leonardder for potential NVDA insight

Hi there,
Thanks for the quick response.
I did some things on my end to see if it may be that I was on JAWS 2019. I updated to the most recent stable version of JAWS 2020 and tried again.
I am still getting the issue where I get trapped in Forms Mode, though I think it may be more in a specific area of the workspace.
Note that I have Forms Mode set to "Manual", which really shouldn't affecta nything - it just means I have to hit an extra keystroke to interact with the lement first before Forms Mode activates. The default is "Auto", which just means as soon as focus goes onto a forms mode-capable control, Forms Mode activates.
Steps:

Load Visual Studio Code.
The "Welcome" screen pops up. I ear the audio notification that Forms Mode has activated (a kind of bloop.)
Ctrl+W to close Welcome screen and enter main workspace page.
At this point I am still stuck in Forms Mode, though I've had one or two experiences where Forms Mode releases and lets me use arrow-keys (but this is short lived.)
Manually release Forms Mode (there is a keyboard shortcut for this - Numpad + if you have a keypad and are using Desktop keyboard layout ... otherwise you need to use the Keyboard Manager to assign a keyboard shortcut.)
Ctrl+End to get to bottom of Workspace.
Move upwards with the arrow-keys until you hear a button near the area where Problems are listed - I used "Close Panel" as an example.
Hit enter on "Close Panel". Forms Mode activates, locking keyboard access and not able to use Escape to release.

Thanks,
Kristen

Thanks Kristen I still can not repro this. I am not a screen reader user, so I feel like this could best be answered by our accessibility community. Might you want to join our gitter accessibility channel https://gitter.im/Microsoft/vscode-a11y
If yes, I suggest to join and quickly ask your issue. The community might be able to help better than me.
If it turns out to be an issue on the VS Code side I would be happy to try to fix of course.
If you do not want to join the channel let me know and I can consult with some other screen reader users.. Thanks

Hello,
Apologies for the late reply.
If you could ask other screen reader users, I'd much appreciate it. I may just be not explaining it adequately. As it is, though, 1.44.0 is not useable to me and I'm keeping 1.43.2 installed for now. Which is a shame, as I've not had any issues with accessibility up to this point other than a very minor loss of focus in the editor window sometimes (which was not a huge issue.)
You said you are using role="application" somewhere - do you have a specific reason for using this particular role? Role="application" basically tells the screen reader to relinquish all control to the application, and if you forget to code something with a keyboard interaction it can cause major problems since the screen reader is not handling anything. I've seen usage of role="application" cause the problems I'm having on other sites.
I used to be able to browse VSc's interface like a webpage, which let me use specific screen reaer keyboard shortcuts and arrow-key browsing. Whatever change was made that is causing the issue I am having is locking me into using whatever keyboard interactions you have coded for specific sections and not letting the screen reader react to anything once focus is locked into something. Yes, some actions work, such as tab and shift+tab and some limited arrow movement (I noticed it let me cycle through the buttons in some toolbar with the arrow-keys), but I am no longer able to use Ctrl+End to go to the bottom and view the extension I use for work.
Thanks,
Kristen

@GS-Avaluka I believe the issue is that we introduced the role:application since everything worked fine for you in the previous version. I will ask the question in the community but you could join as well, that would be great.

Hmm, linux user here. Generally browse mode (not sure how it's called in jaws) is useful only in some cases. Normally you should be 98% of the time in forms mode and tabbing/shifttabbing, and arrowing through lists. Does this problem make it impossible also to navigate through controls in forms mode? That would be kinda interesting.

Yes, if you didn't have role="application" in 1.43.2, but added it in 1.44.0 ... that would make it feasible that it is the issue, as it was exactly what I had assumed based on previous experience with this role.
Re: being able to navigate with tab/shift+tab and arrow keys in Forms Mode. Yes, in some situations it works - I did note I was able to use arrow-keys to navigate through a toolbar, etc. /However/, the problem being when it doesn't work ... it doesn't work very very badly. For example - if an extension maybe isn't expecting role="application" and doesn't have it setup that way, or if the 'enter' key is not properly transferring to a "click" action/event (JAWS does this automatically with certain roles like buttons, but won't do it if something with role="application" is on the parent div.)
Role="application" is a very very severe role due to it removing control from the screen reader entirely and really does not need to be used unless in very rare circumstances. Users technically should be able to use Browse/arrow-key navigation in addition to tab/shift+tab as they wish. I was able to use both in the previous version. I liked being able to use tab in some situations, but then be able able to skip to using some fo the shortcut keys JAWS uses (like 'r' to jump between regions to jump to the editor area faster.)
Roundabout way of saying that you shouldn't lock a user into Forms Mode unless absolutely necessary, and role="application" should not be deployed to a parent div of anything big, as then it will lock Forms Mode for every child control regardless of the fact if it was working just fine without role of application.
I assumed you guys were using Chromium-based web container or something similar for the workspace pages, etc., considering I was able to use webpage navigation shortcuts for all of it.

@marcozehe fyi on the application role, since I believe we added it based on his recommendation.
@GS-Avaluka vscode is built on top of Electron which uses Chrome underneath. So we use web technologies for rendering and thus webpage navigation should work.

If you can remove it, I would recommend you remove it. It really only has a very narrow scope and only if you have an alien widget that does not conform to some other HTML-like element. Even then, it is better to stick to HTML elements if you can, or roles that conform to HTML elements - the screen reader/assitive technology has much better capabilities of knowing what to do with a specific HTML element than it does with role="application".
Here are a couple blog posts regarding role="application" and why it shouldn't be deployed, especially on a  element that contains many other widgets that are already conforming properly to HTML:
https://marcozehe.wordpress.com/2012/02/06/if-you-use-the-wai-aria-role-application-please-do-so-wisely/
https://a11yproject.com/posts/how-to-use-application-role/

neither nvda nor orca actually lock focus/forms mode. You land in it, but you are not locked in it. Although I believe this could be happening before in older version of one or both, not sure which.
I haven't met an extension requiring browse mode to really navigate, like having clickable entries. Generally orca does not have the behavior of clicking things on enter. The exception is things like html preview/similar stuff where some things could indeed be clickable (pdf preview of latex...).
As for quickly jumping to editor and things like that I believe there is a ctrl+b shortcut that will do that. For other things that require jumping out of forms mode... Doesn't jaws have some kind of separate key that can also be used to switch between modes on demand? Orca has insert+a, nvda has insert+space and it works even if esc or enter would not... Unless it does have such a shortcut and it doesn't work when role=application is used... that's indeed a problem.

as for request to remove it... vscode is an app and I navigate it mostly as non webapp unless browse mode is actually useful for specific things, and in that case any form of automatic switching to browse mode gets in my way, as I expect this to behave more like a desktop app except where I specifically need browse mode.

I am torn about this. I wasn‘t the one who recommended the application role in the first place, I recommended to add the role „document“ for some of the children which are web content. But many other parts of the editor are indeed not web content, but rich widgets, so I think the role „application“ has merit here. So the welcome page, for example, should switch to browse or virtual cursor mode automatically since it is wrapped in a „document“ role. The problem before role „application“ was that so many things required focus or forms mode that it became tedious to constantly switch browse mode off. And NVDA handles this very well.

@MarcoZehe you are correct, I checked the older conversations and it was recommended by @leonardder
I am open to making a change, but let's wait for @leonardder feedback.
Also if we do not use the role application on the top element, which one should we use if we should use any at all?

Regardless if it's an application, it's using web application code and it makes sense to leverage screen reader's behavior, not work against it like this.
The extension I use the most actually has links to Download/Upload remote files from a server - the problem I am running into is the fact that JAWS, when you focus or hit 'enter' on something that is forcing Forms Mode, uses 'enter' to turn on Forms Mode. Which ... fine. That seems to work alright if the widget being used is properly coded for it. But many are not. And I can exit Forms Mode manually with JAWS, but this does nothing to force the 'enter' to work on a link I need to click/activate in an Extension I use 100% of the time when using VSC.
I don't mind role="application", but if you have it deployed on a very high level parent div, it really needs to be deployed more selectively around each widget you want to use it with.

Also - I am not sure how NVDA works, as I exclusively use JAWS, but certain WAI-ARIA roles JAWS will automatically swap to Forms Mode when you focus on it, as it is expected to need it for those things. (I believe things like toolbar, menu, tabs, etc.)
I understand the difficulty of trying to balance needs of many different screen readers, too. I'm not saying role="application" can't be used to streamline things for NVDA, but it'll have to be placed specifically so it only encompasses the widgets you want to use it with, or you'll run into this problem where extensions expecting a web-based interface aren't setup to use 100% Forms Mode and it is difficult to bypass.

well. there are indeed some cases where browse mode is more useful... as in, howers. you do ctrl+k ctrl+i and somehow for some weird reason land in focus mode and I have to switch, even though I am now reading things like documentation tooltip or a problem tooltip. Is that also something role=application causes? I specifically chose something that is not in an extension as an example here :)

I don't mind role="application", but if you have it deployed on a very high level parent div, it really needs to be deployed more selectively around each widget you want to use it with.

I just said something quite similar a little while ago in #95032.
If we could figure out the containers where screen readers should just stay out of they way (not control navigation; just present results of it) and put application on them, that might solve several issues.

Ok. That makes sense to me and it seems like we are getting aligned.
So we will remove the role=application from the top level workbench element.
However I do not know where screen readers should stay out of the way. Some potential ideas:

the editor - atm it has the textbox role but we could potentially put application on its parent
lists (like the explorer, quick pick widget and most of our view) since we have native up / down navigation. Currently the lists have role list, tree or listbox but we could potentially put role application on their parents

Let me know what you think

probably fair. But someone more knowledgeable should likely comment...

Well, as I was the one who introduced the discussion about role application in the first place, I should really mind my words from now on. However, just a thought to start with to clear things up for me.
I actually thought that the application role was in use before I started talking about it it in #93087. According to @isidorn in https://github.com/microsoft/vscode/issues/93087#issuecomment-601676906, application was already used for a top level element, which I confirmed. Wasn't this already the case in 1.43.2 and before, or did I misinterpret this?

@leonardder I was the one who introduced it. You do not have to mind your words, feel free to share ideas and the responsibility is on me to decide what we change on the vscode side and what not. So thanks again for the great feedback and discussions! We did use the role application before just on a different element. Not on the top one, but on the one which contains our layout.
I have reverted to that old behavior so we see how it works now.
@GS-Avaluka can you please try this with VS Code insiders from Wednesday and let us know if it is better. Thank you

Well, as I was the one who introduced the discussion about role application in the first place, I should really mind my words from now on. However, just a thought to start with to clear things up for me.

For the record, I thought role application at or near the top-most container also made sense given that (as I understand it) most of VSCode should be handled in focus / forms mode. And I think brainstorming on ideas with all stakeholders is a good thing. So please do not mind your words.
If @isidorn goes with our ideas, it's his fault. grins

fyi @ggordon-vispero

In my opinion too, removing role="application" altogether is not a good idea since it is a desktop app and some of the parts which behave like web content, should have role="document".

@akash07k we did not fully remove the role application, we still set it on the workbench HTML element here.
So it is just one level below in the HTML chain where it was previosuly set. Hopefully this has fixed @GS-Avaluka originally issue.

@akash07k we did not fully remove the role application, we still set it on the workbench HTML element here.
So it is just one level below in the HTML chain where it was previosuly set. Hopefully this has fixed @GS-Avaluka original issue.

Ok, Nice. :-)

Based on user feedback this is fixed now, thus adding verified label.


More variable support in steps

Allow variables to be used in

headers
within other variables

Also enables escaped double quotes to be used in variable values.

can you add to the tests feature/variables.feature

I have updated the unit tests in feature/variables.feature and feature/api.feature.


Tests for Stored Procedure BLOB/CLOB support

Is it possible to update master in this branch? This if for running the CI.


Sample command line invocation

Because the CreatePkgDef utility is invoked by the VSiX compiler as part of the build process, no examples seem to exist on the Internet. There are several articles or blog posts that mention the CreatePkgDef utility, none have an example of it being invoked from a command window. As Visual Studio is reporting, "The specified task executable "CreatePkgDef.exe" could not be run. Access is denied", I was attempting to reproduce the error on a command line and perhaps determine the source of the problem. It works fine on Windows 10, but not on Windows 7. However, the rejects the /out: parameter with the message, "CreatePkgDef : error : ArgumentException: Invalid Parameter 'out:dummy.pkgdef'" I

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6453dc4e-0412-8550-a459-65c99a67526e
Version Independent ID: b18674ec-3c78-d05b-b4cf-7a11d1f887ff
Content: CreatePkgDef Utility - Visual Studio
Content Source: docs/extensibility/internals/createpkgdef-utility.md
Product: visual-studio-dev15
GitHub Login: @gregvanl
Microsoft Alias: gregvanl

Thanks for submitting your feedback and we apologize for the delayed response. Due to current resourcing and substantial extensibility changes we are currently working on that will result in significant doc changes, we are closing this lower priority issue. We will return to this issue on a later date and address it based on it's relevance after those extensive extensibility updates are made. Feel free to comment here as necessary.


Link to a documentation missing

In the 'Authenticate the client' section, right above the Python code block, it's written "Refer to this document for how to generate SAS URLs from Azure Blob Storage." However, no link or reference to that document can be found

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5fa9db9e-bc31-35e6-a243-107276a37a5e
Version Independent ID: 3ffb903f-6d42-6411-0478-2fab35e1f2df
Content: Quickstart: Anomaly detection using the Anomaly Detector client library for multivariate anomaly detection - Azure Cognitive Services
Content Source: articles/cognitive-services/Anomaly-Detector/quickstarts/client-libraries-multivariate.md
Service: cognitive-services
Sub-service: anomaly-detector
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

Thanks for calling this out. For now this may be the easiest resource: https://docs.microsoft.com/en-us/azure/cognitive-services/translator/document-translation/create-sas-tokens?tabs=blobs or this: https://docs.microsoft.com/en-us/azure/storage/blobs/sas-service-create?tabs=dotnet I will test and update this next week.

We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


allow "rgb depth" view

For methods that provide "rgb" to the viewer as well as "depth" this PR allows the selection of "rgb depth" output in the viewer to see both side-by-side.

This will cause the scene to get squashed, also when you overlay the dataset, it won't align carefully. I'm not sure what the correct way to handle this is.

Side by side "squashing" is OK in this case IMO since the user is specifically requesting it.
It is a good point that the images overlay may want to be presented only on the one side, if that is desirable.
In theory the technique should allow seeing two views more generally, I just chose "rgb depth" as the two things I wanted to see at once.

The change to make overlay match would be pretty simple in ViewerWindow.jsx,
but for some reason the "rgb depth" setting isn't correctly visible to handleResize
  const output_choice = useSelector((state) => state.renderingState.output_choice);

  const handleResize = () => {
    // FIXME: output_choice isn't being detected as "rgb depth" here, but rather as "rgb"
    const widthDivisor = output_choice === 'rgb depth' ? 2 : 1;
    const viewportWidth = get_window_width() / widthDivisor;
    const viewportHeight = get_window_height();

An alternative option would be to do "splitview", where we just crop the image, rather than squash, concat(rgb[:,:width/2,:], depth[:,width/2:,:]).

An alternative option would be to do "splitview", where we just crop the image, rather than squash, concat(rgb[:,:width/2,:], depth[:,width/2:,:]).

I didn't want to change the viewer behavior with respect to the FOV it shows, etc.
But another way to do it would be to shrink the webrtc view as well as the overlay, preserving aspect ratio.

But another way to do it would be to shrink the webrtc view as well as the overlay, preserving aspect ratio.
Implemented a version of this, which I think looks pretty good.  Feel free to merge if you agree.

I think it is a cool idea, I'm just not sure Im ready to commit to it. My primary concerns are the following,

The logic for viewing should be made more general not specific. This is one reason I've started updating the colormap logic, so that it can render any data. Going forward I'm thinking we add handle higher dimensional data (>3 dim) with preset colormaps like PCA and clustering. This means improving the interface for colormap message passing. I worry that the logic gets a bit muddled when you have an output that "half" uses a colormap. Currently for example you can not change the colormap so the depth isn't meaningful (in the screenshot below).
Similar to the above, this assumes the user has an output that is named "rgb" and "depth". It could be confusing to method developers why this one specific case produces a new output, but other combos don't work.
It is odd that the interactivity only works for the rgb output, not the depth.
The large black crop at the bottom is distracting, it kinda of looks like a bug.

It's a bit of a divergence from what you had done so far, but one more general approach I can image is set up the viewer like this,

Where the user can set the left and right render choices. Each choice would also show the different colormap options.

Unrelated (but I couldn't find a better place to message you), you have been adding a lot of great contributions to nerfstudio. If you shoot me an email to<EMAIL_ADDRESS>we can open a more direct line of communication.

Generally agree, some comments:

It's a bit of a divergence from what you had done so far, but one more general approach I can image is set up the viewer like this, where the user can set the left and right render choices. Each choice would also show the different colormap options.

Right, I think cropped splitview is a distinct but related idea, I was trying for more like video editor dual view where you want uncropped to see everything.  (Specifically, so you can switch between single and dual without having to move the camera to see the same things.)  I think both approaches have merit for slightly different use cases.  What's here could probably be repurposed for either.

this assumes the user has an output that is named "rgb" and "depth". It could be confusing to method developers why this one specific case produces a new output, but other combos don't work.

Agreed, although RGBD is specifically interesting to render IMO.

The large black crop at the bottom is distracting, it kinda of looks like a bug.

Centering vertically so it looks like proper letterboxing should be straightforward, if that would help.

It is odd that the interactivity only works for the rgb output, not the depth.

Replace "rgb" with "left" and "depth" with "right".  I think splitview might have the same oddity.  Stretching interactivity across full width when the overlay isn't might feel strange in some cases, but would probably be fine for drag to pan/move etc.

Right, I think cropped splitview is a distinct but related idea, I was trying for more like video editor dual view where you want uncropped to see everything. (Specifically, so you can switch between single and dual without having to move the camera to see the same things.) I think both approaches have merit for slightly different use cases. What's here could probably be repurposed for either.

What if we provide a slider where you can swipe between how much of each split you want to see. This would allow you do fairly easily see two different outputs frame the same viewpoint.

For my use case, I need to see RGB and depth for the same region at once, so slider wouldn't work for that.
IMO the two most useful views are probably twin-scaled (what is currently implemented) and twin-cropped (which is what you first proposed).
May need some refactoring to support arbitrary twin views.  Will give it more thought later.

Upon further reflection...
The PR changes already allow specifying a whole different set of
            reformatted_output: which output tensor to use
            output_type: which output type to use
            colormap_type: which colormap type to use
            colormap_normalize: whether to normalize the colormap
            colormap_invert: whether to invert the colormap
            colormap_range: colormap range to use, if any

so if someone wants to take a stab at UI for it and gets the values to the viewer, it should be trivial to wire up.
I'd suggest starting with full splitview (just because it's here already), and maybe adding a checkbox for cropping instead.

Currently for example you can not change the colormap so the depth isn't meaningful (in the screenshot below).
What I can do for now is unlock colormap settings when in this mode, which I think makes it more useful per discussion.

Closing in favor of #1898


SW-2745 Initialize weight system preference upon login

@constanzauanini this interferes with the other time zone initialized message..
we only show one message today..
we need design to advise on how to show both.. should they be merged? do we need to show more than one message? etc etc.

@constanzauanini this interferes with the other time zone initialized message.. we only show one message today.. we need design to advise on how to show both.. should they be merged? do we need to show more than one message? etc etc.

if we need to show both we will need to redo our page message framework

@constanzauanini this interferes with the other time zone initialized message.. we only show one message today.. we need design to advise on how to show both.. should they be merged? do we need to show more than one message? etc etc.

That's true. I will ask design and come back to this

@constanzauanini this interferes with the other time zone initialized message.. we only show one message today.. we need design to advise on how to show both.. should they be merged? do we need to show more than one message? etc etc.

if we need to show both we will need to redo our page message framework

@karthikbtf I updated the page snackbar components with your changes, and now both messages are shown. I think we can leave both messages until we get an answer from design

@constanzauanini this interferes with the other time zone initialized message.. we only show one message today.. we need design to advise on how to show both.. should they be merged? do we need to show more than one message? etc etc.

if we need to show both we will need to redo our page message framework

@karthikbtf I updated the page snackbar components with your changes, and now both messages are shown. I think we can leave both messages until we get an answer from design

@constanzauanini yes i see that.. looks funny but yea design can follow up


README updates and gym environment draft

The environment is not 100% since I think we can change our approach to mimic AlphaGO. This way we can utilize true self play.


theme download not working

I did the configure with my API key/password/site url, it created the config.yml file with the correct information.
but when i type "theme download" It fails quietly with nothing new created.
Any ides how to fix this issue?
Thanks,
Zlerp

I'm having the same issue. Just installed ThemeKit for the first time and can't get the theme download  command to work properly. It just executes quietly and nothing is added to my current directory. At this point, I have no way of developing this theme locally. Any help is appreciated.

Had the same described issue.  Took about 3-4 times of running the command for it to work successfully, but it did eventually work.
@Zlerp & @jvillalobos22  have you made any progress with getting it to work?  Maybe try running it a few times.
Recently updated my version of themekit to :Theme Kit v0.4.2 (not sure if this is related).  Anyone know of any logs or anything I could look at to see what occurred?  Potentially a network issue?

@pirate-matt I've tried running the command multiple times with no success. Most of the time it just runs with no error and nothing happens but sometimes it will actually output the error
Server responded with HTTP 403; please check your credentials.
I've double checked my credentials and I have everything thats required when running the configure command. Not sure what is causing the server error. I feel like this is an issue that was introduced in the most recent commit, having to do with HTTP timeouts. This is my first time using Themekit so I've never had a working version installed.

@jvillalobos22
Something else to try: make your config.yml looks like this (this is more spartan than what the configure command gives you).  (I've removed actual data but kept in some numbers and alphas so you have an accurate idea of what needs to be there.)
development:
  theme_id: 444444444
  password: b444b4444b4444bb444b44b4bb4bbb44
  store: not-my-actual-store.myshopify.com

and make sure the the password value is the private app password, not your personal user password.  (To get a private app password check out Step 2: Set Up API access of this resource)

@pirate-matt's response got me going. I was getting unexpected end of JSON input with all the configuration parameters in the example configuration.  The specific configuration that was producing the error was proxy: http://localhost:8080. I removed that and 👌

Ok so I finally was able to get it working. Turns out the issue didn't lie in Themekit's configuration but rather with Shopify's permissions. After creating the private app, you must go into the App's settings and adjust the permissions to allow 'Read and write access' to Theme templates and theme assets as these were set to 'no access' by default. The instructions for Themekit are outdated all over the internet so maybe Shopify should spend sometime updating their tutorials.

@jvillalobos22 I think the permissions settings for Private Apps is a fairly new feature within Shopify.
I got stumped on it myself today. I think it's probably worth submitting a PR to the gh-pages branch adding a note about this.
Do you want to do this? Otherwise I could pull something together over the weekend.

 Started a new job so i put this down for a while but i started working on building some sites again so i figured id check out this threads updates. Thanks for figuring it out greatly appreciate it bud!!

Seems like wouldn't be that hard to have it output the error if getting a 403

Seems like wouldn't be that hard to have it output the error if getting a 403

@krisdahl A 403 response code just means you do not have permission to access a resource. There is no indicator why you do not have permission. This could mean many things like you do not have your access rights setup correctly as in this case, but it could also mean you have an incorrect theme id, or an invalid password. None can be determined from a simple 403 status code.

@krisdahl A 403 response code just means you do not have permission to access a resource. There is no indicator why you do not have permission. This could mean many things like you do not have your access rights setup correctly as in this case, but it could also mean you have an incorrect theme id, or an invalid password. None can be determined from a simple 403 status code.

Thank you @pirate-matt that works for me! I've used the Shopify password instead of the App password.


Sync original attributes after update hook execution

Proposed changes
This PR allows to execute afterUpdate hook before this.syncOriginals().
This allows to check dirty attributes in this hook. And if someone wants $originalAttributes to be synced in this hook, he can call the method manually.
I'd like to hear if it's a good idea or not because it is very specific to my project.
Types of changes
What types of changes does your code introduce?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added necessary documentation (if appropriate)

@thetutlage I updated the PR, does that sound good to you?

Yes, Thanks 😄