[API Bug] Last inserted Korean character gets ignored when submitting a form

OS: MacOS Monterey 12.3
Raycast version: 1.39.1
Description
Hi, I'm observing another issue with Korean character inputs and not entirely sure if this is an expected behavior.
When submitting a form using the Action.SubmitForm component, if the cursor(underbar) is still on the last character I typed, that character does not get submitted. Here is a quick demonstration:
https://user-images.githubusercontent.com/29053796/185815396-58ed6164-85f7-44d4-9403-59ebf45704fb.mp4
I first type 안녕 but when I submit the form I only see the first letter, 안 in my console.
Then I type 안녕하세요, and again, I see everything but the last letter. So 안녕하세 instead of 안녕하세요.
This is problematic because in many programs the last character also gets inserted or submitted even if the cursor is on it. To avoid this as a user, one should either insert a new line character by pressing the return key(on Mac) or press any arrow keys to manually move the cursor.
Steps To Reproduce

Create a new extension with the Create Extension command
Add the following to the main .tsx file

import { Action, ActionPanel, Form } from "@raycast/api";

export default function Command() {
  return (
    <Form
      actions={
        <ActionPanel>
          <Action.SubmitForm title="Submit Description" onSubmit={(values) => console.log(values)} />
        </ActionPanel>
      }
    >
      <Form.TextArea id="description" />
    </Form>
  );
}

Run npm install && npm run dev, type any words in Korean, and submit the form

The current behavior
If I type 안녕 and submit the form while the cursor is on the last character, that character gets ignored and not submitted.
안녕 -> 안
The expected behavior
If I type 안녕 and submit the form,
the whole word must be submitted without losing the last character.
안녕 -> 안녕

Should be fixed in the latest release


UI: Select account

As a end user I want to be able to select my account from a list shown to login. So I don't have to enter my username again each time I want to login.
Acceptance Criteria

[ ] A list of already once authenticated users is shown
[ ] I can select a user and be able to enter the password as next.
[ ] When I have selected a user and am on the next page, when I click back, I get back to the select account
[ ] I can remove an account from the select account list
[ ] We do not show the active/inactive show

Migrating Login ui issues to new repository: https://github.com/zitadel/typescript/issues/12


Install dependencies

Simple question :
https://github.com/atomfrede/generator-jhipster-swagger2markup/blob/master/generators/app/index.js#L173-L175
Is it usefull ? It seems you just added gradle dependencies. Maybe it can save time ?
In my docker module, I remove it because I don't need to npm install / bower install
cc @moifort : same question for your modules too ;)
=> I'm not sure, that's why it's a question !

If you don't want to make  npm install / bower install / wiredep (like me) or other command to execute after instilling dependency. I think is not useful for you.
In my case I use it, because all my module add new bower package for angular and I need to install it. I add wiredep too like below:
install: function () {
        var injectDependenciesAndConstants = function () {
            switch (this.frontendBuilder) {
                case 'gulp':
                    this.spawnCommand('gulp', ['ngconstant:dev', 'wiredep:test', 'wiredep:app']);
                    break;
                case 'grunt':
                default:
                    this.spawnCommand('grunt', ['ngconstant:dev', 'wiredep']);
            }
        };

        this.installDependencies({
                callback: injectDependenciesAndConstants.bind(this)
            }
        );
    }

@pascalgrimaud Thanks for the hint. I guess you're right, I don't need it, will fix it soon.


Proof webpack-dev-server bug with webpack v5

https://github.com/webpack/webpack-dev-server/issues/2758

https://github.com/webpack/webpack-dev-server/issues/2759

https://github.com/webpack/webpack-cli/issues/2062

It fixed with npx webpack serve.


Removed links to this submod from MAS GitHub

Just notifying you I have redacted links to this submod as it's out of date and breaks people's games.

If you do update this again, feel free to add the link back, but until then any and all will be removed as it's becoming a tech-support nightmare.

Yeah, sorry for the trouble the submod has caused. I've only managed to recently fix up my computer and it's still showing issues, my own mental health isn't getting better either, demotivating me from doing anything.


docs: add archive notice

Depends on https://github.com/catppuccin/vendetta/pull/36.

Thanks for your work in maintaining the theme in this repository so far, will merge and archive this repository now :+1: @112cxyz


Docs: add emilyhorsman.com (buttercup theme) to showcase

As per https://twitter.com/spf13/status/685622491969138688
😇

 You should sign our Contributor License Agreement in order to get your pull request merged.

Thank you for your contribution @emilyhorsman!
Merged as 082476e (master) and 43f2bd4 (v0.15.docs).
Your site is now live on https://gohugo.io/showcase/!  :-)


Added option to send SMS with alphanumeric name instead phone number

Hi @kfiross, thank you for placing the PR. There are some conflicts after the latest change was merged, please fix those for proceeding with the process. Thanks.

@adarshbalu I will update the PR, thanks


Notitle option not working

The Notitle option does not work as described in the documentation , it seems to have no effect at all, the Heading is visible in the body and the TOC. This was also reported in a comment in a Stack Overflow question.
I tried excatly this from the documentation:
= Document Title
:doctype: book
:toc:

[%notitle]
== Preface

This is the preface.

== Chapter A

== Chapter B

asciidoctor-pdf version
Asciidoctor PDF 1.6.0 using Asciidoctor 2.0.16 [https://asciidoctor.org]
Runtime Environment (ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]) (lc:CP850 fs:Windows-1252 in:CP850 ex:CP850)

You are trying to use a feature of Asciidoctor PDF 2. To access it, please upgrade. If you can still reproduce after upgrading to Asciidoctor PDF 2, you may reopen this issue.

This is absolutely true, the notitle option works correctly with Asciidoctor-pdf 2.0.3, thank you for that, I'll update the StackOverflow answer.
Asciidoctor PDF 2.0.3 using Asciidoctor 2.0.16 [https://asciidoctor.org]
Runtime Environment (ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]) (lc:CP850 fs:Windows-1252 in:CP850 ex:CP850)


layouts: Nuke no_gaps_when_only

NGWO has been deprecated for a while in favor of workspace / window rules that achieve the same thing with less bugs.
Can we finally just nuke it as people keep using it?

Rip it out completely. The same functionality can be replicated with:
workspace = w[t1], gapsin:0, gapsout:0, border:0

Rip it out completely. The same functionality can be replicated with:
workspace = w[t1], gapsin:0, gapsout:0, border:0

Isn't that specifically only for the first workspace then?
So that means if you do the same on the second workspace or a named workspace it won't work?
I really don't care about this feature anyways so... :3

I use this rule, and it's not buggy for me, is there a replacement that does not imply having to set a rule per workspace?

Isn't that specifically only for the first workspace then?

t Is for tiled-only clients i.e non-floating/fullscreen. Setting it to 1 because we don't want it to apply if there's more than 1 window in the workspace

So that means if you do the same on the second workspace or a named workspace it won't work?

By default, that snippet will be all workspaces. But you can set a number, range or named:
# Only workspace 1
workspace = 1, w[t1], gapsin:0, gapsout:0, border:0

# Only workspaces from 1 to 3
workspace = r[1-3], w[t1], gapsin:0, gapsout:0, border:0

# Only a specific named workspace
workspace = name:myworkspace, w[t1], gapsin:0, gapsout:0, border:0

Rip it out completely. The same functionality can be replicated with:
workspace = w[t1], gapsin:0, gapsout:0, border:0

rounding=0?

But please keep a comment somewhere about how to achieve this.

https://wiki.hyprland.org/Configuring/Workspace-Rules/#smart-gaps

thanks for the input

To fully replicate no_gaps_when_only: true, In addition to
workspace = w[t1], gapsin:0, gapsout:0, border:0

I also had to add
windowrulev2 = noborder, fullscreen:1

for maximised windows when there is more than one in a workspace.

workspace = w[t1], gapsin:0, gapsout:0, border:0
workspace = w[tg1], gapsin:0, gapsout:0, border:0
workspace = f[1], gapsin:0, gapsout:0, border:0

As listed on the wiki, enjoy

Hi! How can I possibly have my borders/etc back for floating mode.  (Looks weird when BG are the same)

workspace = w[t1], gapsout:0, gapsin:0
workspace = w[tg1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1]
windowrulev2 = rounding 0, floating:0, onworkspace:w[t1]
windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1]
windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1]
windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
windowrulev2 = rounding 0, floating:0, onworkspace:f[1]

It would generally be a good idea to have a deprecation warning before a setting/feature is removed so end users are aware.

as discussed in another issue (I forgot the #) I put those in the release notes.


Include README section about support terms

For users who have questions about how to integrate WPCS, it would be helpful to have a section about support in the README.

The question is a bit vague on what 'integrate WPCS' means.
We do have Wiki pages with an explanation of how to use the standards in the IDEs and in the CI pipeline.
And phpcs itself has a wiki on how to use the ruleset.
Hope this covers the integration part.


Convert DefaultExternalServices.fallback to an asynchronous method

This method currently accepts a callback-function, which does feel a bit old fashioned now. At the time that this code was introduced, native Promises didn't exist yet and there's a custom Promise-implementation used instead.
However, today with Promises and async/await being used a lot it seems reasonable to change DefaultExternalServices.fallback to an async method instead such that the callback-function can be removed.

/botio-linux preview

Looks much better. Thanks!


update security contact for JCasC

Description

Updating security contact for JCasC: https://github.com/jenkinsci/configuration-as-code-plugin
@ewelinawilkosz @oleg-nenashev
Submitter checklist for changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[na] Add link to resolved HOSTING issue in description above

For a new permissions file only

[na] Make sure the file is created in permissions/ directory
[na] artifactId (pom.xml) is used for name (permissions YAML file).
[na] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[na] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

+1 from me

@oleg-nenashev 😭

@oleg-nenashev can you squash on merge or do you want me to squash inside PR? 😓

can you squash on merge or do you want me to squash inside PR?

No need


Driver dev/switch matrix

Adds driver and example notebook for Keysight B2200 Femto leakage switch Matrix
Changes proposed in this pull request:

Example Notebook under docs/examples/driver_examples/Qcodes_example_with_Keysight_B2200_femto_leakage_switch_matrix.ipynb
Driver under qcodes/instrument_drivers/Keysight/keysight_b220x.py
Tests under qcodes/tests/drivers/test_keysight_b220x.py

@astafan8

Great work, @StefanD986! I would suggest:

Add type hints
Check that some lines of code are not overly long. I think the standard is 80 characters.

@StefanD986 Thanks for the contribution. There is a few small things you need to do to get the docs to build correctly. For this to work there are some requirements for the structure of the notebook. Please ensure that the notebook starts with a single level 1 heading (A single #) with the title of the notebook. All other titles should be level 2 (##) or 3 (###) taking care that level 3 headings only appear within level2 headings. Could you also rename the notebook file so that it is consistent with the other ones in https://github.com/QCoDeS/Qcodes/tree/master/docs/examples/driver_examples

Didn’t see any smoke. Go ahead.


Patch for CPSW breaks if PM is disabled

While building kernel 5.10 without CONFIG_PM, it was failing in the DaVinci MDIO driver, which I found odd. It turns out that this patch defines the function davinci_mdio_update_dt_from_phymask inside of a block checking if CONFIG_PM is enabled, which seems unrelated to the functionality of this patch. I have since patched it to move that function to just after that block and the kernel built successfully. I have attached the patch if it is of any use, though I doubt you'll need my patch for this. I just added this to the patches/drivers/ti/cpsw directory and it built fine. I'm not sure this issue will affect nearly anyone, as the vast majority of people will have CONFIG_PM enabled, but in any case this was an issue and this patch fixes it.
(Note: I had to add .txt for GitHub to allow me to upload the file, but of course it is a valid git patch.)
0002-fix-undefined-symbol-in-davinci-MDIO.patch.txt

Aaaaand I just realized vim decided to format when I moved the function, so I'll have to fix that. However, the patch will work the same.

I have updated the patch now so that it is readable.

Thanks @willeccles added this to our tree, it'll start hitting every branch. ;)

Thanks! I'll close this issue now.


why this input is false ?

why this input is not balanced . is the code working incorrectly ?
if code is working fine then please explain me why this input gives false.
({)} , {[(})] , [(]{)}

That's not valid since the first 3 characters are ({).  You cannot have "{" followed by a ")"


Update lesson8.md

I Added the question 8.

Hi @LucianaRocha , This is a nice question but its been answered in the colab.md. You can directly provide the link of colab.md file.

Hi @LucianaRocha , This is a nice question but its been answered in the colab.md. You can directly provide the link of colab.md file.

It's all right!


Feature: use themes generated in pub/static/frontend to generate translation.json files

The current way how translation are stored is decided in \Phpro\Translations\Model\InlineTranslationsGenerator::generate
This function will loop over all stores and get the active theme. This will not take into account any other theme that could be inactively used.
Example:
Hyva used a fallback theme in the checkout. This theme can be custom as well.
The frontend store will use theme: translation_frontent.
The checkout of hyva will use the backend theme: translation_checkout.
The translation_checkout theme is not actively set on a store view.
The translation file (location in pub/media/phpro_translations/{theme}/{name}}) will not be created as it is not set to a store that is looped over in \Phpro\Translations\Model\InlineTranslationsGenerator::generate.
Proposed solution
Loop over all static frontend themes (pub/static/frontend) and all decendent locales to generate the correct translations file. This way if you would configure a different theme on a store view it would still work.

https://github.com/phpro/phpro-mage2-module-translations/pull/7


Add Structure Mappings

Adds some mappings to structures for 20w49a
Please squash merge this

I am just going to close this for now, will reopen later when i fix github actions failing


Allow reusing validators

Some sort of contravariant map would allow reusing validators in different
contexts.
Possible names, with input from @norpan and @gyzerok on slack:

preMap
comap
contraMap (not used in Elm, so far)
select (i.e. Validate.select .name nameValidator)

I sort of like select, though I'd already typed it out with preMap and figured a PR was a better place for discussion.
One alternative is to encourage users to write Sometype -> Validator Error Sometype style functions instead. I feel like that sort of defeats the purpose of providing a nice type for a validator, though.

This issue comes from the discussion in Slack.
In my project we are using elm-validate and after recent update it appeared to be impossible to use it in a samish way. I will post here our use-case, so you will have more information for API design.
On our forms we need to be able to do validation dynamically. It means that we don't show all the errors once user clicks submit, but show them as user goes through the form.
With previous implementation we had following code
validateFoo : foo -> List ValidationError
...

validateModel : Model -> List ValidationError
validateModel =
    Validate.all [ .foo >> validateFoo ]

This way we are able use validator both for validating specific field and for validating entire model. With the new API it is impossible to do so anyhow.

Since original discussion in Slack, one more naming idea popped up in my head - narrow. Example:
validateModel =
    Validate.all [ Validate.narrow .foo validateFoo ]

With this PR one could compose validatorA and validatorB to create validatorModel, right?
type alias Model = { a: A, b: B }

validatorA: Validator a A
validatorB: Validator a B
validatorModel : Validator a Model

I need this! :smiley: :+1:

How about by as a name?
userValidator : Validator String User
userValidator =
    Validate.by .username usernameValidator

For the naming, the functionality can probably be compared to lenses (focus / optics), but only one direction is necessary. Or transformation. But naming is different in Elm, I know. I think you will make a good decision and I'm looking forward for the feature.
https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/basic-lensing
https://en.m.wikipedia.org/wiki/Bidirectional_transformation

Still missing this feature. Going to look for other libraries.


CORE-6763 Update membership API documentation

https://r3-cev.atlassian.net/browse/CORE-6763
Also addresses CORE-6764, CORE-6760, CORE-6770, and CORE-6774. Updates API documentation in code and swaggerBaseline.json for MGMRpcOps, MemberLookupRpcOps, MemberRegistrationRpcOps, HsmRpcOps, KeysRpcOps, CertificatesRpcOps, and NetworkRpcOps.

The Jiras suggest updating the descriptions for get_<api>_getprotocolversion (currently - “Integer value specifying the version of the endpoint.“) and HttpFileUpload params (currently - “A file to upload”). These have been updated in code, however, descriptions for these seem to be overwritten to the previously mentioned strings in StaticExposedMethods::13 and SchemaPrimitiveBuilders::107 respectively.


WEBSDK-12 stop caching link_id on sendSMS

Caching link_id when creating a new link for sendSMS was causing updated linkData to not be sent in the sms. Removing this cache will make sure a new link is created with updated data each time unless there is referring_link data available due to coming from to the page from a branch link click.  referring_link data can be overridden by setting 'make_new_link' to true when passing in options to the sendSMS() function.
@jsaleigh

👍


Escaping user input

Please escape all user input fields for special characters before the data travels through the API.
A known issue, already fixed for the BackendConnection-accessURL, but affects pretty much all possible user input. Could be a cause of many problems.
A minor example:

ConfigManager-UI: Adding Offered Resource with a & in the Description:

ConfigManager-UI: As already known, the part from starting at the & is not passed to the ConfigManager

Problem could occur in all user input fields and lead to problems similar to BackendConnection-accessURL, also with other characters. For example, could also lead to problems in the connector configuration settings interface.

implemented in commit 99d723b


Move to an organisation repository

If this is the recommended task (it appears to be, per https://github.com/concourse/builder-task), can I suggest that it be moved to the Concourse organisation to reflect its status?

I'm not sure if I want to do this, or at least not yet. :thinking: I think this would make sense if and when the full Concourse team is ready to support and maintain it, but right now it's just me, and I would rather its ownership reflect that as I expect that will be the pattern for most third-party resources/tasks/etc.
In my experience with our own 'core' resources, having it in the concourse org kind of does the opposite of what users want: it appears that many people are maintaining it, but really no one ends up feeling responsible for it and the community doesn't really have a clear person to ping.
Happy to hear the other side of this though.

Another bit of context: I don't think 'recommended' tasks and resources should always live in the 'concourse' organization. If you look at how programming language ecosystems are built, they don't put every package in the golang org or in the stdlib for example.
It does help with discoverability, but we're currently working on a better solution for that anyway, something kind of like Elm's package repository.


BZ2Source and ZipSource not usable on Python 2.6

When reading CSV data, the source is being used as a context manager (opened with with statement).
However the implementations of BZ2File and ZipFile in Python 2.6 do not support this, which raises an an AttributeError:
  File "/usr/lib/python2.6/site-packages/petl/io/csv_py2.py", line 42, in __iter__
    with self.source.open('rb') as buf:
AttributeError: 'bz2.BZ2File' object has no attribute '__exit__'

Many thanks for the bug report, I'll look into a workaround.
On Friday, 20 February 2015, Dan Klaffenbach<EMAIL_ADDRESS>wrote:

When reading CSV data, the source is being used as a context manager
(opened with with statement).
However the implementations of BZ2File and ZipFile in Python 2.6 do not
support this, which raises an an AttributeError:
File "/usr/lib/python2.6/site-packages/petl/io/csv_py2.py", line 42, in iter
with self.source.open('rb') as buf:
AttributeError: 'bz2.BZ2File' object has no attribute 'exit'
--
Reply to this email directly or view it on GitHub
https://github.com/alimanfoo/petl/issues/315.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Web: http://purl.org/net/aliman
Email<EMAIL_ADDRESS>Tel: +44 (0)1865 287721

Fix included in v1.0.6.


Revert "feat: hot reload caching"

Reverts Lambda-School-Labs/mission-control-fe#221
Reversion to last known working deployment where users can add a note with no attendees other themselves.

Caching seems to create a null field for a brief moment before updating the UI and causes an error if the attendedBy field is blank on submission. Could just be a type issue, but tracking down the source of the issue has been tricky and only occurs in staging.


send along data with an event?

I would like to send along data with an event, similar to Google Analytics event tracking. Looking at the code that's not yet possible, right? Is this planned?

@Kilian  currently it is not planned :( once we get more signups on our beta, we will definitely consider it!


Update documentation to point people to the Jira board

All is well.

All is well.

@marcelvanhal can you check this pull-request and merge it?


AccessController - Add last access stack to errors

Add the stack of the last access operation to lifecycle error messages.
What is the current behaviour?
When debugging a forgotten Release/Async() call or multiple Acquire/Async() calls in a stack it's difficult to track down the other method(s) that caused the contention or unexpected state.
What is the new behaviour?
When ENABLE_UNITY_COLLECTIONS_CHECKS is present AccessController will record the stack at the end of each Acquire/Async() and Release/Async() call. When an InvalidOperationException is thrown it will include the stack of the previous call. This is usually the hint needed to figure out why the AccessController was in an unexpected state.
What issues does this resolve?

None

What PRs does this depend on?

None

Does this introduce a breaking change?

[ ] Yes
[x] No

Converted all of AccessController over to use the anvil defines and updated messages.
Now you'll get your safety checks only if ANVIL_DEBUG_SAFETY is defined. If an error is encountered the log message will direct the developer to enable ANVIL_DEBUG_SAFETY_EXPENSIVE to get the stack trace info.


Bonnie v2.1 VSAC Refactor UI and Parmeters

Refactors the VSAC parameter selection in the UI to provide new query options. The VSAC programs, releases and profiles are dynamically loaded from VSAC. Also refactors how VSAC parameters are handled and passed to measure loading.
❗ Gemfile and Gemfile.lock point to corresponding bonnie_bundler branch. https://github.com/projecttacoma/bonnie_bundler/pull/141

[ ] Gemfile is fixed before merge.

Pull requests into Bonnie require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[x] This pull request describes why these changes were made.
[x] This PR is into the correct branch.
[x] JIRA ticket for this PR: https://jira.mitre.org/browse/BONNIE-1297 https://jira.mitre.org/browse/BONNIE-1351
[x] JIRA ticket links to this PR
[x] Code diff has been done and been reviewed (it does not contain: additional white space, not applicable code changes, debug statements, etc.)
[x] If UI changes have been made, google WAVE plug-in has been executed to ensure no 508 issues were introduced.
[x] Tests are included and test edge cases
[x] Tests have been run locally and pass (remember to update Gemfile when applicable)
[x] Test fixtures updated and documented as necessary ( see internal wiki )
[x] Code coverage has not gone down and all code touched or added is covered.

In rare situations, this may not be possible or applicable to a PR. In those situations:

Note why this could not be done or is not applicable here:
Add TODOs in the code noting that it requires a test
Add a JIRA task to add the test and link it here:

Branch
Back End Coverage
Front End Coverage

bonnie-v2.1
1709 / 1928 LOC (88.64%)

bonnie-v2.1_vsac_refactor_ui
1747 / 1966 LOC (88.86%)

[ ] Automated regression test(s) pass

If JIRA tests were used to supplement or replace automated tests: N/A

[x] JIRA test links: N/A
[x] Justification for using JIRA tests: N/A
[x] JIRA tests have been added to sprint N/A

Reviewer 1: @mayerm94
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

If JIRA tests were used to supplement or replace automated tests:

[x] JIRA tests have been run and pass
[x] You agree with the justification for use of JIRA tests or have provided input on why you disagree

Reviewer 2:
Name:

[x] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[x] The tests appropriately test the new code, including edge cases
[x] You have tried to break the code

If JIRA tests were used to supplement or replace automated tests:

[x] JIRA tests have been run and pass
[x] You agree with the justification for use of JIRA tests or have provided input on why you disagree

I approve this PR. I am waiting to officially approve it until the Gemfile is updated.


Resize when git diff's ^M exist expands background

Environment
Windows build number: 10.0.19588.0
Windows Terminal version (if applicable):0.10.781.0

Steps to reproduce

Maximize terminal (I have it on a portrait monitor)
open pane right under it
on top terminal, git diff with some actual output
resize pane down past the halfway mark

Expected behavior
Just a normal resize, nothing special.
Actual behavior

Other notes
I tried repro-ing when the terminal is not maximized. That didn't work, funny enough.
As you can see in the gif, it seems to not happen until you hit the halfway point.

/dup #32


update bosscrypto.toml for v0.20

Join Validator Pre Genesis
Description
If this is an UPDATE for a previous genesis validator
Checks are made against your net_address. If this has changed since the previous testnet, make sure you provide links of previous prs merged from your previous git username.
Thanks in advance!
Checklist before merging to draft

[x] Only one toml is added in this PR
[x] The file being added is indeed a .toml file
[x] The toml being added is to the correct folder, and only to the correct folder
[x] The eth_hot_key and eth_cold_key are present

This net_address is not found in a previous genesis file. You have not followed the instructions


Remove explicit inheritance of object class in HelpText class

Originating Project/Creator

Affected Component

Affected Architectures(s)

Related Issue(s)
void

Has Unit Tests (y/n)
n

Builds Without Errors (y/n)
Let CI run

Unit Tests Pass (y/n)
Let CI run

Documentation Included (y/n)
n

Change Description
The purpose of this PR is to remove the explicit inheritance of the HelpText class from the object class.
Rationale
In Python 3, the inheritance of the object class is implicit, and can therefore be safely removed from the bases. ref
Testing/Review Recommendations
void
Future Work
void

Code change looks good.  Not sure why this one matters.  Is it more Pythonic to omit this?

That's it, since Python 3 it would be useless to mention it.


IE10 extra line added to editor on initial focus

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
When focusing the editor and typing in IE10, a new line is added before the typed text.  Once the editor is blurred, the new line disappears.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. You can use this jsfiddle to get started: https://jsfiddle.net/stopachka/m6z0xn4r/.

What is the expected behavior?
New line should not be added before text
Which versions of Draft.js, and which browser / OS are affected by this issue? Did this work in previous versions of Draft.js?
Windows 7, IE10.  Using editor at https://draftjs.org/

Hey @drewjenkins, the project's README states it only supports IE11 (and Edge): https://github.com/facebook/draft-js#browser-support

My apologize, will close this out! Thanks for the heads up.


Poor Contrast when "--text" is with "--sky" background

Except for "Latte," this text is very poorly contrasted and almost illegible

some more examples of poor contrast


page.evaluate - not working as expected

Steps to reproduce
Tell us about your environment:

Puppeteer version: v.0.13
Platform / OS version: OSX
URLs (if applicable):

What steps will reproduce the problem?
`
const result = await page.evaluate(() => {
return document.querySelector('button').getBoundingClientRect();
});
console.log(result)
`
What is the expected result?
Result should be DOMRect Object.
What happens instead?
An empty object is the result.
In version 0.12 all works fine

I am not sure, but it can be caused by the https://github.com/GoogleChrome/puppeteer/pull/1098.
You can try this:
JSON.parse(await page.evaluate(
      () => JSON.stringify(document.querySelector('button').getBoundingClientRect())
))

The ClientRect is known to misbehave with DevTool's home-grown stringifier.
Surprisingly, I didn't find upstream bug for this, so filed one: https://bugs.chromium.org/p/chromium/issues/detail?id=787154

I am also facing the same problem.
page.evaluate() returning empty object.


Store in hash

Store FeatureGuard flags and ramps within a hash for easier querying.

sweet! i'd been thinking of doing a very similar conversion myself, but hadn't made time yet. thanks for adding tests too. merging now; i'll cut a version 0.2.0 on rubygems after adding ramps and flags to the README and expanding the test cases a little. much appreciated.

looks like it's been a bit too long since i've been in this codebase... turns out that FeatureGuard.flags and FeatureGuard.ramps weren't working (unless you called them with a superfluous feature name, like FeatureGuard.flags :my_feature, which doesn't make a whole lot of sense from the API perspective). naturally: these shouldn't be implemented as instance methods on the Guard class, but simply as class methods of the FeatureGuard model. if you're interested in the changes i made, the diff is at: https://github.com/tdumitrescu/feature_guard/compare/fc45e0ee301e8cc540e26a45e9c5cea25858c381...42e4066
also renamed to all_flags and all_ramps for clarity.
thanks again for the addition!

No problem! Sorry I didn't test this more thoroughly, and thanks for the info on what you did afterwards.


WIP: overwrite update, insert, delete

In relation to https://github.com/aesmail/kaffy/issues/85
I found that the suggested solution lack of flexibility because it will mean that one will need to refactor a lot of code in his phoenix project rather than using their own existing functions.
This can become very complex, in my example, we upload & convert images, insert in the DB and then also generate thumbnail and insert them too, for reference: https://github.com/areski/ex-chitchat/blob/master/lib/chit_chat_web/controllers/upload_controller.ex#L33
I think there is also many situation where this might happen.
Therefore, in the same way we have many callback (before/after/create etc...) we could introduce a new method that can be defined in the admin module: overwritten_create, along with some other overwritten_update & overwritten_delete
overwritten_create will allow you to bypass Kaffy repo insert and write your own.
Let me know what you think about it, I will continue the WIP if you think that's acceptable.

I think this goes well with Kaffy's philosophy of having sensible and customizable defaults.
I would however change the function names from overwritten_create to simply create. And now thinking about it, maybe we should use ecto's terms to be clearer:
before_create -> before_insert
after_create -> after_insert
and have an insert function that, if present, will be used instead of Kaffy's own function.
What do you think?

:100: for this!
I guess it will simply our life if we don't have to reinvent our own terminology, I personally spend too much time trying to find names for things without ever being satisfy with the decision :smile:
On a side note, I see that  the callbacksbefore_insert etc.. have been depreciated
https://hexdocs.pm/ecto/1.1.0/Ecto.Model.Callbacks.html
It doesn't really matter we could still use those names.

I personally spend too much time trying to find names

Yup, that's one of my problems too.

callbacks before_insert etc.. have been depreciated

I actually miss those functions. I use them a lot with my rails applications. When ecto v2 shipped, there were no more callbacks. I understand the ecto team's decision to remove them and I realize the pitfalls of having callbacks, but I believe it's up to the developer to use them wisely and it's nice to have this option available when needed. Maybe we can emphasize that using them is discouraged or they shouldn't be the first solution to look for? I'm not sure.

I have never used Rails... what would be the pitfalls of using those, increase complexity in written code?

Yes, it could become hard to follow the logic of the code since you can't really see the callback functions (or methods) being called anywhere in your code. They're called implicitly.
I have been bitten a few times by this from my own code where some models weren't being saved and I didn't know why (turns out callbacks were to blame). But they're so convenient when you need them that I'm willing to have the option at least.

cc @zenbaku
just an FYI, keeping you in the loop of what's coming so there's no overlap.

It's working nicely for me now, let me know what you think?
I will rename the other method in a different commit

Documentation added!

I made a correction as recommended!
Thanks for the review :smiley:


fix(userspace/libscap): solve compilation warnings and errors

What type of PR is this?
/kind bug
/kind cleanup
Any specific area of the project related to this PR?
/area libscap
What this PR does / why we need it:
This fixes two warnings that prevented libscap from compiling when warnings are considered as errors.
scap.c:926:2: error: enumeration value ‘SCAP_MODE_MODERN_BPF’ not handled in switch [-Werror=switch]
  926 |  switch(args.mode)
      |  ^~~~~~

scap_bpf.c:1563:51: error: pointer targets in passing argument 3 of ‘perf_event_mmap’ differ in signedness [-Werror=pointer-sign]
 1563 |   dev->m_buffer = perf_event_mmap(handle, pmu_fd, &dev->m_buffer_size);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   uint32_t * {aka unsigned int *}

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

@jasondellaluce: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-arm
cd5929a0c967f7a8bf81ec06bfb3b9ee3f604d7b
link
true
/test build-libs-arm

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jasondellaluce
To complete the pull request process, please assign mstemm after the PR has been reviewed.
You can assign the PR to them by writing /assign @mstemm in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/ok-to-test

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: e68f895256194f0f4716a75f74571ebeafff1458


Why is Microsoft.Azure.ServiceBus not marked as deprecated?

Hello!
I have been working with some Azure SDK's but it is a bit confusing to find out which one should be used.
I need to use a servicebus and I found out 2 modern SDK's exists:

Microsoft.Azure.ServiceBus
Azure.Messaging.ServiceBus

Only on this quickstart page have I found out that the Microsoft.* one is old.
Why is the old not marked as deprecated? Recently I was updating my Storage SDK's to the new Azure.* ones and there the old ones are deprecated:

Microsoft.Azure.Storage.Blob (Deprecated)
Azure.Storage.Blobs

@AlexGhiondea @ramya-rao-a

Hey @sander1095
Thanks for sharing the feedback
The new Azure.Messaging.ServiceBus package does not have complete feature parity with Microsoft.Azure.ServiceBus yet. One of the features that we are still working on are Cross Entity Transactions. Once feature parity is reached, we start looking at the process of marking older packages with appropriate messaging pointing to the new package like how you see with Storage
cc @elraikhm

Alright, thanks for your quick reply.
Might I suggest that the docs and microsoft nuget package get updated to reflect this?
If the docs could clearly say that Azure.* is the future but there is no parity yet (and I mean this as it being displayed in a more prominent page like the introduction, instead of quickstarts) that would make it easier to discover!
If the package also says this we could prevent users from setting up the old package and then getting a deprecation warnings a few months later.
This comment goes for all sdk's that were first a Microsoft.* Package and now an Azure.* Package :)!

And perhaps a quick OT question: how would I peek multiple messagea of a  DLQ of a queue with the new Azure package? First of all, I cant find the FormatDeadLetterPath method from the old package, and secondly, if I just append "/deadletter" (or whatever the right bit of text was, i am on my phone currently) I get an error (which I sadly currently also cant show because I am on my phone).

If the docs could clearly say that Azure.* is the future but there is no parity yet (and I mean this as it being displayed in a more prominent page like the introduction, instead of quickstarts) that would make it easier to discover!

If the package also says this we could prevent users from setting up the old package and then getting a deprecation warnings a few months later.

That definitely sounds helpful
Looping in @elraikhm who is currently working on the process of marking packages deprecated and what kind of messaging should be used at what time

how would I peek multiple messagea of a DLQ of a queue with the new Azure package

You would create a receiver as usual using the ServiceBusClient.CreateReceiver() method, but pass in the sub queue type in the options. This reminds me that we should add this to our migration guide. Logged https://github.com/Azure/azure-sdk-for-net/issues/18921

Thank you very much! You're super helpful!
Perhaps we could also mention this migration guide in the docs? Perhaps as a new "high level" page?
My experience so far is that the docs and github repo sometimes are a bit out of sync. I'd always check the docs first but I never saw something about a migration guide, if this was mentioned in the docs that would be good too?

Looping in @spelluru who manages our pages in docs.microsoft.com
@spelluru, perhaps we can use that "Important" section to include a note on the migration guide?

@ramya-rao-a - Sure. I will add a link to the migration guide in this note. Thanks.


[Bug] MAS URL in README

The URL in the README for MarkEdit on MAS points to the markedit website, which now redirects back to this Github repo.
The URL should be replaced with the actual MAS URL (https://apps.apple.com/in/app/markedit-for-markdown/id1669953820?mt=12) + the query string for requesting a review if needed.

Ah, I missed #368, appreciate the update. Cheers


Download Report crashes browser

Download Report crashes browser
Failed to load resource: net::ERR_INSUFFICIENT_RESOURCES

This was caused by the use of setInterval in the UI to check if the download is ready.
This was fixed in  PR #69


Deleted status from XML response is not reflected in DataService::CDC return value

I have a deleted payment in QBO.  When I query for modified payments since a certain date with DataService::CDC, the response XML indicates the deleted status (see status="Deleted" in Payment element):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2021-12-16T16:40:17.645-08:00">
    <CDCResponse>
        <QueryResponse maxResults="1" totalCount="1">
            <Payment domain="QBO" status="Deleted">
                <Id>2359</Id>
                <MetaData>
                    <LastUpdatedTime>2021-12-15T09:14:16-08:00</LastUpdatedTime>
                </MetaData>
            </Payment>
        </QueryResponse>
    </CDCResponse>
</IntuitResponse>

However, the status member in the corresponding returned object of DataService::CDC is null (see print_r results of CDC's $returnValue below).  Should it not reflect the status attribute in the XML above?  I would like to be able to query for payments (possibly other types as well) using the CDC function and, while iterating through them, know explicitly which are deleted (without having to use webhooks).  The docs say "Deleted entities return a Deleted value for the status field." (https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/change-data-capture)
QuickBooksOnline\API\DataService\IntuitCDCResponse Object
(
    [entities] => Array
        (
            [Payment] => Array
                (
                    [0] => QuickBooksOnline\API\Data\IPPPayment Object
                        (
                            [CustomerRef] =>
                            [RemitToRef] =>
                            [ARAccountRef] =>
                            [DepositToAccountRef] =>
                            [PaymentMethodRef] =>
                            [PaymentRefNum] =>
                            [PaymentType] =>
                            [CheckPayment] =>
                            [CreditCardPayment] =>
                            [TotalAmt] =>
                            [UnappliedAmt] =>
                            [ProcessPayment] =>
                            [PaymentEx] =>
                            [DocNumber] =>
                            [TxnDate] =>
                            [DepartmentRef] =>
                            [CurrencyRef] =>
                            [ExchangeRate] =>
                            [PrivateNote] =>
                            [TxnStatus] =>
                            [LinkedTxn] =>
                            [Line] =>
                            [TxnTaxDetail] =>
                            [TxnSource] =>
                            [TaxFormType] =>
                            [TaxFormNum] =>
                            [TransactionLocationType] =>
                            [Tag] =>
                            [TxnApprovalInfo] =>
                            [RecurDataRef] =>
                            [RecurringInfo] =>
                            [Id] => 2359
                            [SyncToken] =>
                            [MetaData] => QuickBooksOnline\API\Data\IPPModificationMetaData Object
                                (
                                    [CreatedByRef] =>
                                    [CreateTime] =>
                                    [LastModifiedByRef] =>
                                    [LastUpdatedTime] => 2021-12-15T09:14:16-08:00
                                    [LastChangedInQB] =>
                                    [Synchronized] =>
                                )

                            [CustomField] =>
                            [AttachableRef] =>
                            [domain] =>
                            [status] =>
                            [sparse] =>
                        )

                )

        )

    [exceptions] => Array
        (
        )

)

I fixed this by editing the CDC function in DataService.php
Find the following for block:
                for($i = 0; $i < sizeof($responseArray); $i++){                     $currentResponse = $responseArray[$i];                     $currentEntityName = $entityList[$i];                     $entities = $this->responseSerializer->Deserialize($currentResponse->asXML(), false);                     $entityName = $currentEntityName;                     //If we find the actual name, update it.                     foreach ($currentResponse->children() as $currentResponseChild) {                         $entityName = (string)$currentResponseChild->getName();                         break;                     }                     $returnValue->entities[$entityName] = $entities;                 }
Add:
    $r = 0;     foreach($currentResponse as $item){         if($item->attributes()->status == "Deleted"){             $entities[$r]->status = "Deleted";         }         $r++;     }
Result:
                for($i = 0; $i < sizeof($responseArray); $i++){                     $currentResponse = $responseArray[$i];                     $currentEntityName = $entityList[$i];                     $entities = $this->responseSerializer->Deserialize($currentResponse->asXML(), false);                     $entityName = $currentEntityName;                     $j = 0;                     foreach($currentResponse as $item){                         if($item->attributes()->status == "Deleted"){                             $entities[$j]->status = "Deleted";                         }                         $j++;                     }                     //If we find the actual name, update it.                     foreach ($currentResponse->children() as $currentResponseChild) {                         $entityName = (string)$currentResponseChild->getName();                         break;                     }                     $returnValue->entities[$entityName] = $entities;                 }
Hope this helps


[0.1] Added dxcam

DXCAM support added, makes it a little faster, im not sure how much though

how to add dxcam into config.jsom?


Service doesn't come back after reboot because the default service directory is missing

The default service directory is /var/run/vault, which is created by the cookbook - but on many systems, /var/run is mounted as tmpfs. This means that /var/run/vault is not present if the server reboots. The creation of /var/run/vault should be the responsibility of the init script, so that we don't run into this problem.

What platform/version are you running?

I'm running Ubuntu 14.04. The issue is worse when using sysv, because it has nowhere to put the pidfile. When using upstart, a pidfile is not needed, but it will still attempt to chdir to /var/run/vault and crash when that directory doesn't exist; in this case, node['hashicorp-vault']['service']['directory'] can be overridden to anything persistent, like /etc/vault.

For sysvinit it was fixed by https://github.com/johnbellone/vault-cookbook/pull/51


Add Healing enricher

As of v3.0.4, you can't use an enricher for healing as you can for damage.
[[/damage 2d8+2 healing]] or [[/damage 2d8+2 heal]] don't get parsed and so don't appear like a roll in the journals.
At the moment we have to use the [[/r 2d8+2#Healing]]{2d8 +2 Healing}

I'd propose supporting [[/healing 1d6]] & [[/healing 1d4 temp]] formats.

Yeah this would be really nice for my artificer's Eldritch Canon


Correction in Excel Macros

When generating a Yoda file from the Excel Macros, the field Dataset needs to be adjusted. @horsburgh suggested that we change the fields names to be respectively Dataset.
Datasets:
  - &DataSetID0001 {DataSetUUID:  NULL,  DataSetTypeCV:  "Multi-time series",  DataSetCode:  "TWDEF_AirTemp",  DataSetTitle:  "Air temperature at the TW Daniels Experimental Forest Climate Station",  DataSetAbstract:  "Air temperature at the TW Daniels Experimental Forest Climate Station. The data were measured using a Campbell Scientific HC2S3 temperature and relative humidity sensor. Measurements represent the average over the 15 minute recording period."}

I think I have finally gotten rid of all of the upper case "S" characters in Datasets within the ODM2 DBWrench schema and the scripts for generating blank ODM2 databases.  We were inconsistent in our use.  Since "dataset" is one word, it will appear in ODM2 as "Dataset".

Fixed.

In the generated YAML file, there are two more locations that need to be fixed.
DataSetCitations:
  - {DataSetObj: *DataSetID0001, CitationObj: *CitationID0001, RelationshipTypeCV: IsAllOf}

DataSetsResults:
  - {DataSetObj: *DataSetID0001, ResultObj: *ResultID0001}
  - {DataSetObj: *DataSetID0001, ResultObj: *ResultID0002}
  - {DataSetObj: *DataSetID0001, ResultObj: *ResultID0003}

In the SQL, these have been changed by the recent changes in the database but haven't been changed in the generated YAML files.

Fixed in today's commit.


Enhancement: Better Curl

This way we know, that we always receive a string from this method, as we always handle false and true
Helpful for

#54

👋 I wrote you a message in the Symfony Slack


Use submodules instead of sys.path link

How does this work for you?
git submodule update --init --recursive should do the trick to get the submodules.

Hi Dianne. This seems to be breaking the install script. If I manually move Objects.py and dfxml.py to the same installation dir as the rest of the Disk Image Processor (/usr/share/ccatools/diskimageprocessor), it's not able to import. Any ideas?

I have an idea! More soon...

So ... try this out and see how it goes. It checks for the DFXML libraries, and if they don't exist (for non-BitCurator systems) the submodule gets initiated. In either way, symlinks for dfxml.py and Objects.py are made -- either to the existing libraries or the newly fetched ones. Does that then work?

Looks good to me! Thank you, Dianne! 🥇 Now let me see if I can copy your work for the other tools :)


-as operator does not recognize System.Management.Automation.PSCustomObject instances as such

Steps to reproduce
# Create a [System.Management.Automation.PSCustomObject]
# Note that you cannot create a System.Management.Automation.PSCustomObject
# instance with `New-Object System.Management.Automation.PSCustomObject ...`.
# [pscustomobject] is actually [psobject] ([System.Management.Automation.PSObject])
$co = [pscustomobject] @{ foo = 'bar' }

$co.GetType().FullName

'---'

# This should be and is $True.
# Note that using `-is [pscustomobject]` is NOT equivalent and returns $False, because, as stated,
# [pscustomobject] is actually [psobject] ([System.Management.Automation.PSObject]).
$co -is [System.Management.Automation.PSCustomObject]

'---'

# The $co -as ... expression should effectively pass $co through, but doesn't.
# Note that using `-as [pscustomobject]` is NOT equivalent - and pointless, because
# it passes *any* object through, given that it is the same as `-as [psobject]`.
$null -ne ($co -as [System.Management.Automation.PSCustomObject])

Expected behavior
System.Management.Automation.PSCustomObject
---
True
---
True

Actual behavior
System.Management.Automation.PSCustomObject
---
True
---
False # !!

Environment data
PowerShell Core v6.0.0-beta.4 on macOS 10.12.5
PowerShell Core v6.0.0-beta.4 on Ubuntu 16.04.2 LTS
PowerShell Core v6.0.0-beta.4 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)
Windows PowerShell v5.1.15063.413 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)

I just ran into this recently. Has there been any discussion on this outside off the GitHub issue? I'm a bit surprised that there are no further comments here.

Isn't this by design?  PSCustomObject can't be used to cast objects. It doesn't have any public constructors.
$object = [psobject]::new()
[System.Management.Automation.PSCustomObject]$object

Result:
Cannot convert the "" value of type "System.Management.Automation.PSCustomObject" to type
"System.Management.Automation.PSCustomObject".
At line:1 char:1
+ [System.Management.Automation.PSCustomObject]$object
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : ConvertToFinalInvalidCastException

From https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.pscustomobject?view=powershellsdk-1.1.0

Serves as a placeholder BaseObject when PSObject's constructor with no parameters is used.

If you can't cast an object as another type, -as returns false as it is intended to.

@markekraus:
Thanks for telling us how it's implemented,  which is not necessarily the same as the design intent, however.
If we consult the documentation (granted, historically speaking, that is unfortunately a somewhat shaky basis):

The -as operator tries to convert the input object to the specified .NET Framework type

Now, what what you expect if the input object already is of the specified type?
I certainly would expect to pass the input object through, as is indeed the case for any type OTHER than [System.Management.Automation.PSCustomObject]:
1 -as [int]  # passes integer 1 through
(get-date) -as [datetime]  # passes the date output Get-Date through
...

So, if the following returns $true (which it currently does):
[pscustomobject] @{ foo = 'bar' } -is [System.Management.Automation.PSCustomObject]

doesn't it stand to reason that the following - which currently returns $null - would pass the LHS through?
[pscustomobject] @{ foo = 'bar' } -as [System.Management.Automation.PSCustomObject]

The issue is further confused by the unfortunate identity of type accelerators [psobject] and [pscustomobject], both of which point to [System.Management.Automation.PSObject], so the use of [pscustomobject] on the RHS of -as is the same as [psobject] / [System.Management.Automation.PSObject], which passes anything through:
> 1 -as [pscustomobject]   # same as: 1 -as [psobject]
1

(As an aside: This behavior is in itself debatable: while internally, every object is wrapped in a [psobject] instance, there's no reason to reflect that to the outside world.)

how it's implemented, which is not necessarily the same as the design intent, however.

I don't believe that these are separate things. But that is a matter of opinion.

Now, what what you expect if the input object already is of the specified type?

I would expect conversion to fail if there is a way to convert the object. Not all types can convert instances of their own type to their own type. PSCustomObject happens to be one of those. Kind of surprising, but true none the less.
But, I can agree the documentation on this is lacking. Like several other parts of the documentation, there is a false assumption that the reader is familiar with .NET and C#. -as behaves pretty much like as in C#. The documentation on as is pretty good for this topic.

I don't believe that these are separate things.

An intent can have a flawed implementation. Q.E.D.

But, I can agree the documentation on this is lacking.

Yes, the documentation is lacking, but - more importantly - the actual behavior is lacking common sense:

I would expect conversion to fail if there is not a way to convert the object. Not all types can convert instances of their own type to their own type. [...] -as behaves pretty much like as in C#.

You're correct about C#'s behavior, but:

I would argue that C#'s behavior in this regard equally lacks common sense (not something that PowerShell can fix).
Conversely, PowerShell isn't C# and shouldn't be bound by C#'s behavior where it doesn't make sense.
The fact that something like 1 -as [psobject] already passes 1 through while pretending that 1 is still System.Int32 ((1 -as [psobject]).GetType().FullName) shows you that PowerShell is already deviating from C#. (Yet, 1 -is [psobject] returns $False - another head-scratcher)).

Of course, C# fixing the behavior of as would also solve the problem on the PowerShell side as well. (There may be a ton of reasons why this is not / no longer an option, but I'm blissfully ignorant of them.)

For the record, the as documentation states:
"
expression as type

The code is equivalent to the following expression except that the expression variable is evaluated only one time.
expression is type ? (type)expression : (type)null

Note that the as operator performs only reference conversions, nullable conversions, and boxing conversions. The `as` operator can't perform other conversions, such as user-defined conversions, which should instead be performed by using cast expressions.

"
As you correctly explain, using cast (System.Management.Automation.PSCustomObject) with anything  - even an instance of that type itself - results in null, due to the lack of any public constructors.

An intent can have a flawed implementation. Q.E.D.

I'm say that the intent, implementation, operation and everything about -as is perfectly fine, same with as.

I would argue that C#'s behavior in this regard equally lacks common sense.

I really don't think it does. It all made sense to me. the surprising thing is that 1) some classes cannot convert to themselves and 2) PSCustomObject is one of those. Everything else about -as/as makes sense.

Conversely, PowerShell isn't C# and shouldn't be bound by C#'s behavior where it doesn't make sense.

Agreed, however, i disagree that -as should be any different than as because they both make perfect sense in how they operate and making some silly exception for PSCustomObject would be ridiculous.

The fact that something like 1 -as [psobject] already passes 1 through while pretending that 1 is still System.Int32 ((1 -as [psobject]).GetType().FullName) shows you that PowerShell is already deviating from C#

Nope, not deviating at all. Acts exactly the same as System.Object does with as in C#:
$Code = @'
using System;

namespace Test
{
    public static class AsObject
    {
        public static string GetResult()
        {
            Int32 testInt = 1;
            Object obj = testInt as Object;
            string result = obj.GetType().FullName;
            return result;
        }
    }
}
'@
Add-Type -TypeDefinition $Code -Language CSharp
[Test.AsObject]::GetResult()

Result:
System.Int32

the surprising thing is that 1) some classes cannot convert to themselves and 2) PSCustomObject is one of those. Everything else about -as/as makes sense.

And it is that very surprise that is my point (but I appreciate that you introduced me to the subtler points of as).

making some silly exception for PSCustomObject would be ridiculous.

I'm not advocating an exception; I'm advocating that -as honor one fundamental expectation: if the LHS of -as already is of the RHS type - whatever that type may be - pass it through - which is in fact what C# does, after all:
// Obtain a [System.Management.Automation.PSCustomObject] instance
// and store it in a generic [System.Object] variable.
// Note that the [System.Management.Automation.PSCustomObject] cannot be instantiated
// directly - no public constructors - and must instead be created indirectly, via a
// [System.Management.Automation.PSObject] wrapper, whose `.BaseObject` property
// contains the custom object.
object o = new PSObject().BaseObject;

// OK: Casting back to [System.Management.Automation.PSCustomObject] works.
PSCustomObject co = (PSCustomObject) o;

// OK with `as` too.
PSCustomObject co_as = o as PSCustomObject;

So, if PowerShell tells me the following:
> $co = [pscustomobject] @{ one = 1; two = 2; three = 3 }; $co.GetType().FullName; $co -is [System.Management.Automation.PSCustomObject]
System.Management.Automation.PSCustomObject
$True

that is, if it treats the object as a bona fide [System.Management.Automation.PSCustomObject] instance in these contexts (which it should), then, of course, I'd expect
$co -as [System.Management.Automation.PSCustomObject]

to pass $co through.
Presumably, the internal [psobject] wrapper gets in the way (I haven't looked).

Acts exactly the same as System.Object does with as in C#:

Except that every .NET type is indeed derived from System.Object - unlike from [psobject].
The [psobject] wrapper is a PS implementation detail and that it surfaces prominently in some places (see #5551 and #5579) is unfortunate.
Just as as System.Object is pointless in C# (anything is passed through), -as [psobject] is pointless in PowerShell - and behaves incorrectly to boot.
The really unfortunate identify of [psobject] and [pscustomobject] means that people will try something like $obj -as [pscustomobject] - and will be surprised to find that it passes anything through.

To contrast the current -as behavior with -is:
-is [pscustomobject] does return $True for [System.Management.Automation.PSCustomObject] instances and true [System.Management.Automation.PSObject] instances only,
so it behaves much more sensibly:
> $co = [pscustomobject] @{ one = 1 }; $co -is [pscustomobject]
True

> 1 -is [pscustomobject]
False

Unfortunately, the situational extra wrapping of objects in [psobject] - see #5579 - can yield false positives:
> (Write-Output 1) -is [pscustomobject]
True  # !! - the use of *command* output made the difference

FYI: PSCustomObject is essentially a "typeless" object - a PSObject whose base object is itself. It's used when you need properties but don't have or need a type. For example - ... | select-object -property foo,bar,baz will extract the foo, bar and baz properties from the pipeline input object, then create a PSCustomObject and attach the extracted properties to that PSCustomObject. The resulting object has a fixed set of properties but it doesn't really have a type. You don't want to create a new concrete .NET type every time you run select-object, or import-json, or invoke a remote command or import CliXML, etc. So anywhere an object of no fixed type but with specific properties are needed, a PSCustomObject is used.

@BrucePay That much is clear to me.
I think the crux of this particular issue is whether -as and PSCustomObject are acting as by design. I believe that they are. I believe it may be surprising and somewhat confusing to the average PowerShell user, even though it makes perfect sense when you understand it in depth. If it is by design then the question becomes whether we consider special casing it somehow.
My personal stance is that current behavior is by design and perfectly fine as is. But, it would great if someone with better understanding clarify that point.

PowerShell tells white lies all the time, to shield us from the disconcerting complexities of the .NET framework and static typing.
And that's fine and dandy: I loves me the free-flowing, carefree way that types can be thrown around in PowerShell - for the most part, it's a great experience.
All I ask for is to be lied to consistently, so I can continue to find comfort in the illusion of a simpler world.
If
([pscustomobject] @{ prop = 1 }).GetType().FullName
yields System.Management.Automation.PSCustomObject, but
([pscustomobject] @{ prop = 1 }) -as [System.Management.Automation.PSCustomObject ] yields  $null, my head starts spinning.
Is a custom object mysteriously not itself? What's happening?
Granted, -as [pscustomobject] does work as expected, but:
(a) only because [pscustomobject] is really [psobject] (my head's RPM are increasing)
(b) it is useless, because something like (Get-Item /) -as [pscustomobject] - anything output by a command - is also passed through.
No one except the architects / maintainers of the language should have to know any of the behind-the-scenes-but-not-fully intricacies mentioned here.

Let me try to summarize the issue more succinctly:
If a custom object:

self-reports as type [System.Management.Automation.PSCustomObject] via .GetType()

is correctly recognized by -is as that type

why oh why should -as [System.Management.Automation.PSCustomObject] not work?

If the -as [System.Management.Automation.PSCustomObject] use case strikes you as too exotic, to recap the related head-spinners:

-as [pscustomobject] is true for ANY object and therefor useless

-is [pscustomobject] is often true for non-custom objects, namely when they have an extra [psobject] wrapper - see #5579

e.g., [System.IO.DirectoryInfo]::new('/') -is [pscustomobject] is $False (OK), but it is $True (ouch) for the seemingly equivalent (Get-Item /) -is [pscustomobject].

@markekraus By design or not, the current behavior is unintuitive and likely to cause errors (as I experienced not too long ago). You said it yourself:

I believe it may be surprising and somewhat confusing to the average PowerShell user.

PowerShell functionality should be designed for its users, and leaking implementation details, no matter how much they make sense after one has been staring at the C# code, should be avoided wherever possible.

@bgshacklett The problem is that this would need to be special-cased. Where to we stop with the special-casing?
It may be surprising, but so is the pipeline and objects and a million other aspects of PowerShell.
I think this is better fixed with documentation, rather than risk breaking -as to special-case System.Management.Automation.PSCustomObject. If there were a large number of users tripped up by this regularly and the risk of regression to special case it was low, I would champion the cause special-casing it. The risk for regression is high and the number of users this trips up is low and if we documented it in the as operator documentation it could be remedied.
I'm all for making the language easy for users where it makes sense. I just don't think this is a worthy cause.

Where to we stop with the special-casing?

All we need to address are leaky abstractions  that cause confusion and/or repeated mistakes and/or require cumbersome workarounds.
And, to be clear, that is not special-casing - that's fixing leaky abstractions.
Incidentally, this is not just about -as, but also about -is, as I've hopefully clearly demonstrated.

To recap the previous finding: any .NET instance is an instance of its type with respect to as - irrespective of the presence of public constructors, parameterless constructors, explicit conversions, ... - see below for an example.

using System;

public static class Program {
    public class Foo {
        // Private constructor
        private Foo() {}
         // Static method that creates an instance via the private constructor.
        public static Foo Create() { return new Foo(); }
    }

    public static void Main() {
         // This outputs 'Foo', demonstrating that the Foo instance created with the
         // static .Create method indeed recognized itself as a Foo instance with `as`
        Console.WriteLine((Foo.Create() as Foo).GetType().Name);
    }
}

And, to be clear, that is not special-casing - that's fixing leaky abstractions.

This is special-casing. You cannot cast some objects as themselves. PSCustomObject is one of those. You want to make -as work for PSCustomObject when it would not normally work. That is the definition of special casing.
$Code = @'
using System;
using System.Management.Automation;

namespace Test
{
    public static class As
    {
        public static bool AsPSCustomObject(object InputObject)
        {
            PSCustomObject result = InputObject as PSCustomObject;
            if (null != result)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        public static bool AsPSObject(object InputObject)
        {
            PSObject result = InputObject as PSObject;
            if (null != result)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}
'@
Add-Type -TypeDefinition $Code
$TestObject = [PSCustomObject]@{A = 'a'}
[Test.As]::AsPSCustomObject($TestObject)
[Test.As]::AsPSObject($TestObject)

result
False
True

You want to change that behavior from what would happen in .NET to something different in PowerShell. That would most absolutely be special-casing.
Your test isn't exactly accurate. But I don't have the time to create an example or explain why.

You cannot cast some objects as themselves.

In C# you can, always. That is, if objects are cast to their true type (as your example demonstrates).
That PowerShell pretends that a [psobject] (without a base object) is really a [System.Management.Automation.PSCustomObject] instance when you reflect on the type with .GetType() and use -is [System.Management.Automation.PSCustomObject], but then pretends that it isn't when you use -as is the true special-casing here: special-casing of common sense.
-as in PowerShell looks like C#'s as and behaves like it in all cases but this.
That it doesn't is a leak in the implementation that needs to be plugged.
Ditto for the related -is problems.
(Whether special-casing behind the scenes is needed to plug this leak is immaterial.)
The larger issue here is really [psobject] peeking from behind the curtain in several places, causing outright problems in this case and subtler variations in behavior in others.

On a meta note:

Your test isn't exactly accurate. But I don't have the time to create an example or explain why.

Please don't post such comments. They add nothing to the discussion and only serve to antagonize.

@BrucePay:
That's great background information.
Even though no two [System.Management.Automation.PSCustomObject] instances are therefore guaranteed to have the same members, it is still useful to have the ability to distinguish them from instances of regular types; e.g., you may want a function to accept a [pscustombject] instance as a mockup in lieu of a regular type and then detect that case in the function.
With -is that works (though, regrettably, only with the full type name, due to [pscustombject] really being [psobject]) , but with -as it doesn't.

Please don't post such comments. They add nothing to the discussion and only serve to antagonize.

Not my intent. It would just take more time to explain than I can give at the moment.


LANG support or work-around

http://qlever.wikidata.dbis.rwth-aachen.de/wikidata/tVCucU
Not supported: The LANG function is currently only supported in the construct FILTER(LANG(?variable) = "langtag" by QLever
isn't there a workaround? why does e.g. http://qlever.wikidata.dbis.rwth-aachen.de/wikidata/k1889D not work?

@hannahbast  - i didn't now that the links are not persistent - where can i file a ticket for or find the documentation to enable such a feature?

@WolfgangFahl
The official qlever-ui has a database that keeps the short links alive. But as it seems you are not using this but are using your own UI, so making these links persistent is your responsibility. (The persistent query links are not a feature of the QLever backend, but of the UI which is used in top of it).
As for your actual question: I recently had an idea for an efficient implementation of the general case of the LANG function which might happen as a byproduct of more prominent feature, so this might appear some time in the future.

@joka921 it would be great to see proper LANG() support
I'd like to sponsor some simple test cases here https://qlever.cs.uni-freiburg.de/wikidata/CzM2Kb
HTH for your upcoming work :crossed_fingers:
# test cases for `LANG()` implementation
SELECT * WHERE {
  # test case 1 - check returns "" if literal has no language tag
  VALUES ?something { "aLiteralWithoutLanguageTag" }
  FILTER(LANG(?something) = "")

  # test case 2 - check returns the language tag of literal, if it has one
  VALUES ?anotherthing { "anotherLiteralWithLanguageTagDE"@de }
  FILTER(LANG(?anotherthing) = "de")

  # test case 3 - check returns the language tag of literal, if it has one
  BIND(STRLANG("anotherLiteralWithLanguageTagEN", "en") AS ?anotherthing2)
  FILTER(LANG(?anotherthing2) = "en")
}

# expected output: (according to the w3c recommendation)
# ?something                  ?anotherthing                    ?anotherthing2
# aLiteralWithoutLanguageTag  anotherLiteralWithLanguageTagDE  anotherLiteralWithLanguageTagEN

# actual output: (qlever:latest as of "2024-06-15"^^xsd:date)
# ?something                  ?anotherthing
# [[empty set]]


Add "prompt" function

Add a function that can accept input from the user. It would specify the variable name to store the result and optional text for the prompt.
steps:
  - prompt:
      for: firstName
      text: What is your first name?
  - log: Your first name is $firstName

If the prompt value is already set, then no prompt should be displayed. This way, the data could be passed in via a context file.

Added to v2.2.0


Launchpad: fix spelling issues

Documentation: https://documentation.ubuntu.com/launchpad/en/latest/how-to/
GitHub repo: https://github.com/canonical/launchpad-manual
Contribution guide: https://documentation.ubuntu.com/launchpad/en/latest/contribute-to-our-docs/
For the migration of the documentation, a lot of existing documentation was transferred from other platforms, where no checks were performed before. Some of the added pages were excluded from the new spellchecks.
Task: remove the exceptions one by one from https://github.com/canonical/launchpad-manual/blob/main/.sphinx/spellingcheck.yaml (e.g. |!_build/explanation/javascript-integration-testing/index.html), run the spell checks (make spelling), fix the spelling errors and/or include new words to https://github.com/canonical/launchpad-manual/blob/main/.custom_wordlist.txt, and create a pull request, preferably one for each page to make reviews easier. We use British English at Canonical.

Hi jugmac00, I can give this a go if no one is currently working on it?

@gerryRcom That would be fantastic 😊

Great, I'll get the first change in shortly to make sure I'm on the right track. I'm not sure if I picked a bad first page but there seems to be a lot of "new" words to add to the custom word file.

It is entirely possible that a lot of new words need to be added, but it should get better with every new article. Also, it is definitely possible that there are some typos.
Thanks for looking into this. Highly appreciated 👍

@jugmac00 Created a pull request for the "Integration Testing in JavaScript" page. Thanks for the opportunity

@jugmac00 it seems like @gerryRcom and I have resolved all the pages from the exclusion list. I assume this issue can be closed? Thanks for the opportunity to contribute 👍

@sfadriaan Indeed, you are right. Thanks so much for both your and @gerryRcom's support!
We, the Launchpad team, and also the technical authors here at Canonical are still blown away from all the community contributions we received! :tada:

@jugmac00 thanks for the opportunity! I learnt a lot


time: The Time object created with time.Date() in the timezone America/New_York returns incorrect information when DST is applied.

When the timezone is set to America/New_York and the time is set to 2 o'clock using time.Date(), DST should be applied, resulting in an output of 3 o'clock, but it returns 1 o'clock instead. However, in other timezones, it works correctly.
Please Check. https://go.dev/play/p/kN_Cmgp8zny
What did you see happen?
I got the following result. It's the same response as the playground link attached above.
go run main.go
Sun, 10 Mar 2024 01:00:00 EST
Sun, 10 Mar 2024 01:00:00 EST
Sun, 31 Mar 2024 01:00:00 CET
Sun, 31 Mar 2024 03:00:00 CEST

What did you expect to see?
The response I consider to be correct is as follows.
Sun, 10 Mar 2024 01:00:00 EST
Sun, 10 Mar 2024 03:00:00 EDT
Sun, 31 Mar 2024 01:00:00 CET
Sun, 31 Mar 2024 03:00:00 CEST

Thanks, but this is working as documented.  Quoting https://pkg.go.dev/time#Date:

Date returns a time that is correct in one of the two zones involved in the transition, but it does not guarantee which.


feat: Support for gen 2 hatch

So far this is allowing me to get the devices pulled in to Home Assistant but very little is working. I will try to work on this more but just in case someone else comes along and has any experience wanted to share what I have so far.
Associated customer component code
https://github.com/dahlb/ha_hatch/pull/25

looks good, might want to add a stub file for local testing convenience but not needed


FEATURE > Include Windows Search Index

Imo would be great to have a plugin that can use the windows index, 'cause it's containing not only filenames but content and meta-infos too.

Do you mean a plugin that can display the metadata about the selected file?

No, that wasn't exactly what I meant. I try to explain:
When you open Windows Indexing-Options > Advanced > File Types you can choose in which way the Windows Search Provider may index the files. Options are FileProperties only or FileProperties and Content
You already can access WindowsSearch via Win-Key and start typing.
For convenience and clarities sake it'll be great to have this search built into Wox in parallel to the ultrafast Everything Search Provider

This new plugin has been added to the new launcher which searches files and folders using Windows Indexing. The remaining suggestions- searching via content and meta-infos can be added later on.

Hi Jeremy,
thx for including this feature. Do  I get this right that you've moved jjw24/wox to Flow? Will it be available in the jjw24 updates as well or solely on Flow?

Hey how's it going. Right now this will only be available in Flow. In the future JJW24/Wox will be upgrade to Flow so everyone else here will get it as well.

I'm fine thx, hope you too :-)
Great to hear that there'll be an automated crossgrade. Would you recommend movin' over at the moment or is Flow more like "work in progress"?

I'm fine thx, hope you too :-)
Great to hear that there'll be an automated crossgrade. Would you recommend movin' over at the moment or is Flow more like "work in progress"?

I am doing good thank you :)
All functionalities are working great at the moment with Flow, only downside is that it is yet to support non-default Wox plugins(the ones you download), we will still have to work on that.
If you are only using the default plugins that are embedded currently with JJW/Wox installation, then you are good to move over to Flow. You will need to manually copy the settings files over but it's not too complicated to do.
Have said this, if you have a plugin that you find is very useful, you can let me know in the Flow repo and I will look to migrate it(can't guarantee straightaway but will do so within a timeframe).


The editor can not recognise file path when changed folder name

Type: Bug
The editor has some error tips "cannot  find module './hooks/init.ts' or its corresponding type declarations.ts(2307)",  When changed folder name "hook" to  "hooks" and another file has written the right code "import { useInit } from './hooks/init.ts' " .
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:22:42.175Z)
OS version: Windows_NT x64 10.0.25393

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[WIP] Code refactor with the new service manager

This PR contains the refactor of the code using the new component of ZF3:

zend-servicemanager (dev-develop as 2.7.0)
zend-modulemanager (dev-develop as 2.7.0)
zend-serializer (dev-develop as 2.6.0)
zend-view (dev-develop as 2.6.0)

NOTE: the PR is a Work In Progress, please don't merge it.
TO DO:

[ ] Fix the unit tests

@weierophinney I started the refactoring of the code but I've the following errors in the unit tests:
1) ZendTest\Navigation\ServiceFactoryTest::testNavigationAbstractServiceFactory
Zend\ServiceManager\Exception\ServiceNotFoundException: Unable to resolve service "Application" to a factory; are you certain you provided it during configuration?
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:482
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:558
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:181
/.../zend-navigation/test/ServiceFactoryTest.php:83

2) ZendTest\Navigation\View\HelperConfigTest::testConfigureServiceManagerWithConfig
Zend\ServiceManager\Exception\ServiceNotFoundException: Unable to resolve service "Navigation" to a factory; are you certain you provided it during configuration?

/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:482
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:558
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:181
/.../zend-navigation/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php:65
/.../zend-navigation/test/View/HelperConfigTest.php:54

Can you have a look? Thanks!


help text for select prompt disappears when scrolling menu options.

Describe the problem
Hi there, really enjoy using your collection of gems!
Have a quick question about this.
When providing help text for a .select menu, such as
(Use ↑/↓ arrow keys, press Enter to select)
I notice when the user scrolls up or down, the help text disappears.
I would like it to remain in place and not disappear.
Is this an issue or is this a setting we can configure? Didn't see anything related to this in the documentation.
Steps to reproduce the problem

Run any .select prompt
Scroll using arrow keys and help text disappears.

Hi Sanjay,
Thanks for using the tty-prompt gem!
This is not an issue as such, the behaviour is 'by design'. You're the first one to bring it up so no there isn't a configuration option yet.
From the user interface point of view, it doesn't seem like a desirable feature to have permanent help. It feels too distracting from the task at hand. I like to believe that the interface is fairly intuitive anyhow. But this is just my view and I'm keen to make this gem work for many other scenarios.
I'm happy to consider a configuration option to make help display configurable if you're willing to contribute it for all the select, multi_select and enum_select prompts.  For example, :show_help with allowed values :always|:on_start|:never?

@piotrmurach Thanks for the response!
I agree with your assertion on the user interface, however, our use case is related to when we provide a custom help text for the prompt, and in some scenarios we want the message to persist (in this case we have a button that will allow a user to filter between 2 different views).
I will go ahead and contribute the configuration option to the prompts you've listed out!
I like your idea of a :show_help parameter.

@stamizharasu Great! Looking forward to this. I must admit I didn't envisage this particular feature hence it wasn't implemented but I can see that it can indeed be quite useful and make tty-prompt even more flexible. So thanks for reaching out and offering to implement. The mechanics behind the listed prompts are similar. Please provide tests as well if you can so that this feature remains working into the future.


move to production

WHAT DOES THIS PR DO?

[ ] https://github.com/airqo-platform/AirQo-api/pull/1393

@123MwanjeMike I think devices being grey is unrelated to the PR.


PMB-04: Add /skip endpoint

Problem:

Sometimes we need to skip songs

Task:

Add /skip endpoint to the API

Changes:

API
Telegram bot

In future, need to end voting for skip, so the playlist won't be controlled by one person

Logical bug: voters are not cleaned after song end.


HIP Clang compatibility

Make Ginkgo compatible with HIP Clang compilation.
The MI50 machine available at ICL's cluster uses hip-clang as a compiler.
hip-clang actually fixes some of the most horrible thing with the classical
hcc compiler, in particular it's not necessary to ban flags anymore
because all of these were hcc related.
Nonetheless, this is still an ongoing process. I believe what is here is mostly
what we need to do, but due to toolchain issue which took me a very long
time to debug, I cannot successfully compile everything on the MI50 machine
from ICL yet.

Add the new option to pass in HIP clang specific options
Properly detect and populate the new critical ROCM_PATH and
HIP_CLANG_PATH variables.
Make HIP THRUST easier to be found thanks to using an optional environment variable.
Also add some missing test for the HipError and related classes
Also fix some missing includes which were found

As I believe this might be relevant to the future (for our CI systems or any
cluster), I will add in a comment the sneaky toolchain issue that hip clang has.

With the hip clang setup, the main compiler used by HIP is sitting in
/opt/rocm/llvm/bin. The basic issue is that it does not allow to
compile with c++11 at all which creates link issues in our library (we
rely on C++11 like many libraries nowadays). This should be
supported though. As we will see the root cause are toolchain issues.
/opt/rocm/llvm/bin/clang++ cannot compile c++11 with a default installation
The basic fact that c++11 is not properly compiled is clear when we
compile a sample c++ code (the attached c++11_issue.cpp file).  In practice in the middle of a project which combines HIP
and non HIP code, this creates linker issues with std::basic_string...
expected but not found. This is actually really sneaky because you
pass in the flag requesting C++11 compilation and no error or anything
is thrown such as "I cannot compile C++11 code with this setup".
Root cause: HIP clang does not know recent gcc installations
To understand the root of the problem, we can find which gcc installation
that clang is linked with:
[tcojean@methane ~]$ /opt/rocm/llvm/bin/clang -v
clang version 11.0.0 (/data/jenkins_workspace/centos_pipeline_job_3.5/rocm-rel-3.5/rocm-3.5-30-20200528/7.5/external/llvm-project/clang 6c08b900599eee52e12bce1e76b20dc413ce30e7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm/llvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.5
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.5
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64

Even when loading the relevant modules (I have gcc 9.2.0 loaded), this
clang installation does not find any newer version of gcc to use as a
candidate installation. I believe that is because they only search in
the path /usr/lib/gcc/xxxx by default. There might be an easy way to
tell clang where to look, but the only thing I could find is the following.
Unpractical solution: using a recent gcc with clang the manual way
There is one unpractical way for projects to target another gcc
toolchain, but which works fine when compiling one file. The command
looks like this:
[tcojean@methane ~]$
/opt/rocm/llvm/bin/clang++ c++11_issue.hip.cpp -std=c++11 --gcc-toolchain=/nfs/apps/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/gcc-9.2.0-3mdu5gl5jymnhvqnmfaavtex2zguy2gt/lib/gcc/x86_64-pc-linux-gnu/9.2.0/ -I/nfs/apps/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/gcc-9.2.0-3mdu5gl5jymnhvqnmfaavtex2zguy2gt/include/c++/9.2.0/ -I/nfs/apps/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/gcc-9.2.0-3mdu5gl5jymnhvqnmfaavtex2zguy2gt/include/c++/9.2.0/x86_64-pc-linux-gnu/ -L/nfs/apps/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/gcc-9.2.0-3mdu5gl5jymnhvqnmfaavtex2zguy2gt/lib/gcc/x86_64-pc-linux-gnu/9.2.0/ -B/nfs/apps/spack/opt/spack/linux-centos7-x86_64/gcc-7.2.0/gcc-9.2.0-3mdu5gl5jymnhvqnmfaavtex2zguy2gt/lib/gcc/x86_64-pc-linux-gnu/9.2.0/ -o compiled_with_clang++.exe

We need to pass in the --gcc-toolchain argument, and pass the location
of the c++ headers for this compiler version (split in two different
places) and library path. In addition, we also need to pass the -B
option (binary search path) to find ctrbegin.o. Most of these can be controled
with environment variables, but the gcc-toolchain would have to stay.
Maybe using a CMake cross-compilation toolchain file would work?
Although we need to tell CMake to use this only when compiling
HIP code, and we're also not really cross-compiling...
Summary and possible fixes
In summary, clang is unable to find a modern version of gcc. Here are some
possible fixes I can think of depending on how the HIP clang was installed.

When compiling clang, the option -DGCC_INSTALL_PREFIX can be given to
CMake with the path for the GCC installation to use for this clang.
A dirty option I can think of is to try to create and maintain symlinks into
/usr/lib/gcc and /usr/include/c++ and hopefully clang -v is able to find
everything by itself. There are maybe cleaner ways to do this, maybe
alternatives can be used for this?
Installing a modern g++ compiler from the redhat devtoolsets. I saw in LLVM's
code that they specifically detect the devtoolset path for redhat systems.

We might be able to make the unpractical solution work by determining the gcc toolchain path from the implicit include directories used by the CXX compiler:
message("${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}")
[...];/usr/include/x86_64-linux-gnu/c++/7;[...]

Indeed I guess that would work, though I think that's for a specific case of using clang with gcc, ad we need to populate all the separate -B -L and whatever option. I would rather if there is an easy way to fix this on the server side, but I will keep this in mind.

That might be an issues either with LLVM or SPACK - a quick look through the clang source [1] [2] suggests that this should be set to a suitable GCC toolchain location at configuration time.
If we go down this way, we should probably use -isystem instead of -I. Do we really need -B or is -L enough? Are we linking to non-library files, or is this needed for another step?

I don't think hip-clang can be installed from spack, so it cannot give the -DGCC_INSTALL_PREFIX at compile time.
We need the -B since that is used to locate necessary binaries, in particular crtbegin.o.

Ah sorry, I guess you knew all that already, I must have skipped over your first comment too quickly.

Yes maybe I didn't work this properly, but the last three points are some other solutions I thought of which are rather on the server/system side. One of which include the GCC_INSTALL_PREFIX thing.
What really surprised me is that looking at clang's code, it didn't seem like it tried to use the environment or something to add some runtime check. I guess there can be multiple issues with that.

Yes, 3.5 always uses hip-clang. They deprecated hcc. Technically, I guess it could still be installed manually though.
https://rocmdocs.amd.com/en/latest/Programming_Guides/Programming-Guides.html

I can now confirm that this now fully works with a hip-clang setup. I ended up trying it out on our AMD system after updating the ROCm suite to 3.5. I had to fix a last naughty issue concerning the benchmarks linking to hip.


<EMAIL_ADDRESS>lcov report broken

continued from: https://github.com/istanbuljs/nyc/pull/286#issuecomment-228666575
Minimal reproduction: https://gist.github.com/JaKXz/e91baeead7f4ff2df6825abf33327479
Similar [but not necessarily related] error with v6.6.x and the --all flag and __coverage__ plugin: https://github.com/JaKXz/react-redux-starter/tree/d0bc516cdea96e45b75d6ad585bc6c9b6f3fb97c
@bcoe @gotwarlost et al

@JaKXz @gotwarlost interestingly enough, works well with the new babel-plugin-istanbul:
{
  "name": "nyc-ava-test",
  "version": "1.0.0",
  "description": "",
  "main": "say.js",
  "scripts": {
    "test": "nyc -r lcov ava"
  },
  "author": "",
  "license": "ISC",
  "babel": {
    "presets": [
      "es2015"
    ],
    "plugins": [
      "istanbul"
    ]
  },
  "nyc": {
    "include": [
      "*.js"
    ],
    "require": [
      "babel-register"
    ],
    "sourceMap": false,
    "instrument": false
  },
  "devDependencies": {
    "ava": "^0.15.1",
    "babel": "^6.5.2",
    "babel-cli": "^6.9.0",
    "babel-plugin-istanbul": "^1.0.0",
    "babel-preset-es2015": "^6.9.0",
    "babel-register": "^6.9.0",
    "nyc": "^7.0.0-alpha.3"
  }
}

underlying problem seems to be bad source-map positions, which I know we've bumped into in a few places. Hopefully this will be fixed once the issue @gotwarlost opened on babel itself is addressed, and once we switch source-map functionality over to using Isanbul directly.
If anyone gets bored @novemberborn, @JaKXz, @jamestalmage, would love help wiring up Istanbul's source-maps, such that we can retire nyc's handling of them.

@kentcdodds this is the same issue you reported :)

Ok, I thought it might be :-) Thanks for merging them :-)

@kentcdodds @JaKXz mind giving an update I just published a spin?
npm cache clear; npm i nyc@next
We've pulled out source-map support into istanbuljs.

@bcoe LGTM, not using babel-plugin-istanbul.

I am seeing new issues with<EMAIL_ADDRESS>but it might be because I have an incorrect setup somewhere... let me try to minimally reproduce and I'll make a new issue.


Add support for djangorestframework-simplejwt

Since in the Rest Framework Documentation currently simplejwt is listed as package for implementing JWT with DRF I think this package should support that as wel.
This PR contains the necessary changes to support that. However, it does need an update to the README and should add some tests. Since I don't have the time right now to add those as well I added the PR without those.
Fixes #74

Oops, according to this:
https://github.com/encode/django-rest-framework/pull/6138
I think we should replace https://github.com/GetBlimp/django-rest-framework-jwt with https://github.com/davesque/django-rest-framework-simplejwt completely.
Thanks for the PR!

I'm merging this, but unfortunately, the code is not fully correct. Will continue the work on that.
Thanks for the starting initiative!

Hi, I'd like to help out with this. Can you point me in the right direction on how the code is not fully correct?

@basilbegonia  @jgadelange
Sorry for confusion. I meant that the integration of simple-jwt into this project wasn't complete.
I add some improvements here: https://github.com/st4lk/django-rest-social-auth/pull/78
If you fill like it wasn't correct or has errors, then fixes are welcome :)


All served .html should use the same analytics policies

Analytics are loaded from appanalytics.html.
Review all served HTML to make sure they are properly instrumented.

https://github.com/Microsoft/pxt/commit/fcddfd36169d8c521efc377f1d189052a9e0ba40


Ball search triggers while ball still sits in plunger

Add test for this case and prevent ball search from starting

test passes. there is no general problem