docs: add github issue templates

What is the change?

add the bug_report.yml github file to enable Github's new issue template form
add the feature_request.yml github file to enable Github's new template form (similar as above, but for feature requests)
Add config.yml to prompt user to choose either a bug report or feature request when the "New Issue" button is clicked in this repository

Motivation for this code change?

encourage's bug reporter's to put more care into their bug report before submission
this may help excalidraw maintainer's receive more detailed & higher quality bug report's
prevents bug reporter from submitting a bug IF they do not fill in the required fields specified in the bug_report.yml file
adds helpful tips for user's during the process of creating a bug/issue report
encourages community to ask question's inside of Excalidraw's Discussion tab

Demo
https://user-images.githubusercontent.com/6743796/149847599-5c3eb273-3225-4eca-b10f-b234c06dae5f.mp4
Live Demo:

checkout this to the "new issue" page on this repo, I added the same files here to react-query recently: https://github.com/tannerlinsley/react-query/issues/new/choose

@ad1992 @lipis @dwelle
While I was creating this issue template form, an idea came up for how to improve the bug submission quality.
In other frontend projects, it's easy to suggest codesandbox.io to create an issue. However, for excalidraw I'm not sure what the best way to collect a reproducible bug is. I was thinking:

suggest a user to share a file to their exported .excalidraw file or recommend the user to upload the contents of their excalidraw file to a github gist file with a .json ending (I think this might be the most reasonable method + it's free)?

Thanks for the feedback - pushed changes 🙏

@ad1992 @lipis @dwelle While I was creating this issue template form, an idea came up for how to improve the bug submission quality.
In other frontend projects, it's easy to suggest codesandbox.io to create an issue. However, for excalidraw I'm not sure what the best way to collect a reproducible bug is. I was thinking:

suggest a user to share a file to their exported .excalidraw file or recommend the user to upload the contents of their excalidraw file to a github gist file with a .json ending (I think this might be the most reasonable method + it's free)?

Suggest a user to share a file to their exported .excalidraw file  - This should be good or they can also export it as a sharebale link as well

Btw, I haven't fully reviewed yet so it may be fine, but one reason we didn't go with templates yet is to reduce friction. This is especially needed for bug reports. If we demand too much from people they just won't file the issue at all.

Good point - I made the reproducible example field not required now

@ad1992 @dwelle - bump 🙏


Create a fly plugin

Hi there !
I am considering writing some fly plugin for steal, flow checking, flow striping and zeit/serve (and more soon).
I have assess a lot of fly-plugins, and found a lot of way to define plugin.
So right now, I am hesitating about the right way to do that.
//extract from generator-fly

module.exports = function () {
  return this.filter('fly-plugin', (data, options) => {
    // plugin internal
  });
};

//extract from fly-concat also in doc

module.exports = function () {
  this.plugin('fly-plugin', {every: false}, function * (data, options) {
    // plugin internal
  });
};

//extract from fly-xo also in doc

module.exports = {
  name: 'fly-plugin',
  every: false,
  files: false,
  * func(data, options) {
    // plugin internal
  }
};

So, which one do I need to choose ?
Cheers,

Hey there,
Thanks for reporting. Admittedly, I still need to update generator-fly. That syntax is outdated.
The other two methods are synonymous and you can use them. See docs on external plugins for more explanation & examples. 😄
Let me know if you still have questions. 👍

Thank you. I can concern at the yeoman generator, if I have time.
But I am not a yeoman user. (Never taken a look to, then)

Thanks, I'll get to it this week =)

@lukeed I can send PR if you are busy.

Thanks @hzlmn 😄 I'm actually doing it right now. @Swizz inspired me.


refactor: project architecture

Pull Request checklist
🚨 Please review the guidelines for contributing to this repository.

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Don't request your main!
[x] Make sure you are making a pull request against the main branch (left side).
[x] Check the commit's or even all commits' message styles matches our requested structure.
[x] Check your code additions will fail neither code linting checks nor unit test.

Description
This refactoring is there in order to anticipate the future arrival of Web Components. For them, we need to consume standalone CSS files.
So we now introduce two different ways of consumption:

One full CSS package @decathlon/vitamin-css built with TailwindCSS and purgeable by the consumer in order to optimize its production build
Several standalone component's CSS packages (example: @decathlon/vitamin-css-button to only get a CSS standalone file without CSS Custom Properties that only contains button component's styles). So this can also close #23. (FYI @crotru)

Thanks Joffrey!
This Pull Request was made in peer programming with @jleveugle
Other information
0 warning :tada:

Thanks a lot, @thollander for your time and advice!

Thanks a lot, @thollander for your time and advice!

Thanks @gabbloquet for your review!!

Thanks @gabbloquet for your review!!


Improve last comment text in LHN when a message contains text + attachment

Steps:

open a report
Write a draft message (text: "This is an image").
Add an attachment and send

Expected result:
LHN shows the report subtitle as "This is an image [Attachment]"
Actual Result:
LHN shows the report subtitle as "[Attachment]"
cc @rayane-djouah
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~015f80610e08ecb358
Upwork Job ID:<PHONE_NUMBER>994952704
Last Price Increase: 2024-04-10

This has been fixed and this issue can be closed.


How can I add my own autocompletion words?

Hey, thanks so much for this project, its been a wonderful addition to my projects :)
I noticed that the section on autocompletion/snippets is not finished in the docs, could you give any hints as to how I could implement basic autocompletion for a list of words?
Thanks!

The feature to add/remove autocompletion tokens. You can only turn it on off.
However, there is a way to add/remove snippets.
response = code_editor(code_text, snippets=["",""])

The above example shows the default value for the snippets argument of code_editor. I show this to you to explain that the first element of the array is where you will place the snippets you want to add and the second element is where you want to place the array of snippets you want to remove.
Example: Add markdown snippets while removing none of the pre-existing snippets.
reveal_snippets = [[{
                        "name": '--',
                        "code": '\n---\n## New Horizontal Slide\n'
                    },
                    {
                        "name": 'new slide (horizontal)',
                        "code": '\n---\n## New Horizontal Slide\n'
                    },
                    {
                        "name": '-',
                        "code": '\n--\n## New Vertical Slide\n'
                    },
                    {
                        "name": 'new slide (vertical)',
                        "code": '--\n## New Vertical Slide\n'
                    },
                    {
                        "name": '<!-- .s',
                        "code": '<!-- .slide:  -->'
                    },
                    {
                        "name": '<!-- .e',
                        "code": '<!-- .element: class="fragment" class="fragment" -->'
                    },
                    {
                        "name": 'slide attributes',
                        "code": '<!-- .slide:  -->'
                    },
                    {
                        "name": 'element attributes',
                        "code": '<!-- .element: class="fragment" class="fragment" -->'
                    }
                  ],""]    # <-- notice the empty string. This tells code editor to not remove any snippets. This is also necessary to ensure the expected format

response = code_editor(code_text, snippets=reveal_snippets)

Hopefully the example is helpful.
I will try to work on adding a new argument that allows you to add/remove autocomplete tokens/words

Awesome! Thanks 👍
For my purposes this would close the issue.

Hey @bouzidanas - Thanks for this wonderful component. I've been trying to figure out how to use the new completions and replace_completer params, but can't seem to get it working. Are you still planning to update the docs to address those latest changes? Thanks!

Hi @itsToggle ,
I got pulled away from that to fix some issues in another package. I will add some info that should help soon.

New section in the docs covering completions:
https://code-editor-documentation.streamlit.app/Advanced_customization#custom-completions

Hi again @ewoo17
New section in the docs covering completions:
https://code-editor-documentation.streamlit.app/Advanced_customization#custom-completions

@bouzidanas I've copied your example in the docs into a very basic streamlit app, however I don't see the completion. Any ideas?
version:
% pip show streamlit_code_editor
Name: streamlit-code-editor
Version: 0.1.20
Summary: React-ace editor customized for Streamlit
Home-page: https://github.com/bouzidanas/streamlit-code-editor
Author: Anas Bouzid
Author-email<EMAIL_ADDRESS>License:
Location: <path_to_working_dir>/venv/lib/python3.12/site-packages
Requires: streamlit
Required-by:

code:
import streamlit as st

from code_editor import code_editor

response_dict = code_editor(
    "a bunch of random stuff",
    lang="python",
    completions=[{"caption": "AAA", "value": "BBB", "meta": "CCC", "name": "DDD", "score": 400}],
    height=[25, 25],
)

Screenshot:

Found out what the issue was. The latest package version number was incorrect. The 2 in 0.1.20 was for some reason changed to a 1.
That is now corrected and a new version of the package was uploaded. Please update the package by running
pip install -U streamlit-code-editor

Awesome, that worked. Thanks for the quick help!

Thank you for making me aware of the issue!

So looks like with replace_completer=True you pop() the keyWordCompleter of the specific language mode off, however, the textCompleter (local words/variables) remains - wondering if that's by intention? For my use case/language, I'd rather not see those suggestions for every word that ends up being typed in the editor.
see: https://github.com/bouzidanas/streamlit-code-editor/blob/master/code_editor/frontend/node_modules/ace-builds/src/ext-language_tools.js#L2435C37-L2435C68

Very very good catch @ewoo17 !!
That is not intentional!
I like your proposition of remove_completers. I will try to get to it soon or alternatively you can make the changes, test them, then submit a pull request.

I probably won't have the time at the moment to address this testing-wise (would be my first time building the component locally) but maybe for future issues! Not the most pressed with this issue as my completions would load above the local suggestions

No worries. I will probably get this done late Friday. Thanks for looking into it and finding the source of the issue! Im solo developing this and many other projects in my free time so fixes can be a little slow at times.


remarks after testing the creation of users and groups via GraphApi

how setup: https://github.com/owncloud/ocis/issues/3167
method descriptions: https://github.com/owncloud/ocis/pull/3149/files
run ocis with env:
set env:
export GRAPH_IDENTITY_BACKEND=ldap \
export GRAPH_LDAP_URI=ldap://localhost \
export GRAPH_LDAP_BIND_DN="uid=admin,ou=users,dc=owncloud,dc=com" \
export GRAPH_LDAP_BIND_PASSWORD=admin \
export GRAPH_LDAP_USER_EMAIL_ATTRIBUTE=mail \
export GRAPH_LDAP_USER_NAME_ATTRIBUTE=uid \
export GRAPH_LDAP_USER_BASE_DN="ou=users,dc=owncloud,dc=com" \
export GRAPH_LDAP_GROUP_BASE_DN="ou=groups,dc=owncloud,dc=com" \
export GRAPH_LDAP_SERVER_WRITE_ENABLED="true" \
export IDP_LDAP_FILTER="(&(objectclass=inetOrgPerson)(objectClass=owncloud))" \
export IDP_LDAP_URI=ldap://localhost \
export IDP_LDAP_BIND_DN="uid=admin,ou=users,dc=owncloud,dc=com" \
export IDP_LDAP_BIND_PASSWORD="admin" \
export IDP_LDAP_BASE_DN="dc=owncloud,dc=com" \
export IDP_LDAP_LOGIN_ATTRIBUTE=uid \
export IDP_LDAP_UUID_ATTRIBUTE="ownclouduuid" \
export IDP_LDAP_UUID_ATTRIBUTE_TYPE=binary \
export PROXY_ACCOUNT_BACKEND_TYPE=cs3 \
export OCS_ACCOUNT_BACKEND_TYPE=cs3 \
export STORAGE_LDAP_HOSTNAME=localhost \
export STORAGE_LDAP_PORT=636 \
export STORAGE_LDAP_INSECURE="true" \
export STORAGE_LDAP_BASE_DN="dc=owncloud,dc=com" \
export STORAGE_LDAP_BIND_DN="uid=admin,ou=users,dc=owncloud,dc=com" \
export STORAGE_LDAP_BIND_PASSWORD=admin \
export STORAGE_LDAP_LOGINFILTER='(&(objectclass=inetOrgPerson)(objectclass=owncloud)(|(uid={{login}})(mail={{login}})))' \
export STORAGE_LDAP_USERFILTER='(&(objectclass=inetOrgPerson)(objectclass=owncloud)(|(ownclouduuid={{.OpaqueId}})(uid={{.OpaqueId}})))' \
export STORAGE_LDAP_USERATTRIBUTEFILTER='(&(objectclass=owncloud)({{attr}}={{value}}))' \
export STORAGE_LDAP_FINDFILTER='(&(objectclass=owncloud)(|(uid={{query}}*)(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)(description={{query}}*)))' \
export STORAGE_LDAP_GROUPFILTER='(&(objectclass=groupOfUniqueNames)(objectclass=owncloud)(ownclouduuid={{.OpaqueId}}*))' \
export OCIS_INSECURE=true \
export OCIS_RUN_EXTENSIONS=settings,storage-metadata,graph,graph-explorer,ocs,store,thumbnails,web,webdav,storage-frontend,storage-gateway,storage-userprovider,storage-groupprovider,storage-authbasic,storage-authbearer,storage-authmachine,storage-users,storage-shares,storage-public-link,storage-appprovider,storage-sharing,proxy,idp,nats

run ocis localy:
OCIS_LOG_PRETTY=true OCIS_LOG_COLOR=true ocis/bin/ocis server
Test result:
Users:

GET /me - OK

GET /users/{id} - OK

GET /users/{accountname} - OK

Create users POST /users:

create new user - OK
create user with some displayName - 200 is not possible win OC10 with some name
create user with some email - 200 - it is possible also in oc10 but why?
create user with invalid mail address - 200. expect 400 -Invalid mail address
create user with some onPremisesSamAccountName - 500 Entry Already Exists. Expect somenthing like 400 or 409 name already exist
create user without displayname email or onPremisesSamAccountName is not possible - OK we get 400 "Missing Required Attribute"
if you create user without password or with space in password, you get 200, but user cannot login GET https://localhost:9200/ocs/v1.php/cloud/capabilities?format=json 401
user (not admin) tries to create new user - 401

Update atribute single user PATCH users/{id}:

change display name - 200
change mail to valid/invalid value - 200
change mail to existing - 200
change onPremisesSamAccountName - 500 changing the user name is currently not supported
change password - 200 works

Delete user DELETE /users/{id} - OK

Groups:

Create groups POST /groups:

create new group - 200 OK
create group with existing name - 500 Entry Already Exists.
create with empty name - OK 400 Missing Required Attribute
user (not admin) cannot create group - 401

Change atribute single group PATCH groups/{id}:

change name - does not work

Add single member to group POST /groups/{id}/members/$ref:

existing user - 204
not existing - 404
admin adds himself to the group - OK

Add multiple users PATCH /groups/{id}:

existing users - OK
add single user - OK
add one user to different groups - OK
admin adds himself to the group - OK

GET /groups - OK

GET /groups/{groupid} - OK

GET /groups/{groupid}/members - OK

Delete groups members DELETE /groups/{groupid}/members/{id}/$ref - OK

Remarks:

There is no check that the email is correct. Expect - 400 Invalid mail address
Creating or changing a user with an existing onPremisesSamAccountName. Actual - 500 Entry Already Exists. Expect - 400 account with $name exist
Creating group with an existing name. Actual - 500 Entry Already Exists. Expect - 400 group with $name exist
Changing group name does not work
Creating a user with the same email will break login:

create a new user1. try to log in to ocis - successfully
create a new user 2 with same email. try to log in to ocis - unsuccessful. see screen

try to log in to ocis as user1 - unsuccessful 401
if you create new user with admin email<EMAIL_ADDRESS>- will not be able to continue working

Questions:

creating users with the same email is correct?
how we get a list of users with groups? like

on some requests https://localhost:9200/graph-explorer/ looks like an error

@rhafer great work and thanks for the good documentation.
I finished the manual testing. please see my comments and questions

Test result:
Users:
...

create user with some displayName - 200 is not possible win OC10 with some name

Can you clarify what you mean by this? Can you paste the request body that you used here. And do you thing there is a bug?

create user with some email - 200 - it is possible also in oc10 but why?

What do you mean with some email?

create user with invalid mail address - 200. expect 400 -Invalid mail address
create user with some onPremisesSamAccountName - 500 Entry Already Exists. Expect somenthing like 400 or 409 name already exist

Yeah, those are bugs that I need to fix.

  * if you create user without password or with space in password, you get 200, but user cannot login GET https://localhost:9200/ocs/v1.php/cloud/capabilities?format=json 401

Haven't been able to fully reproduce this yet. Need to take a closer look.

...
Groups:
...
Remarks:
* There is no check that the email is correct. Expect - 400 Invalid mail address

* Creating or changing a user with an existing onPremisesSamAccountName. Actual - 500 Entry Already Exists. Expect - 400 account with $name exist

* Creating group with an existing name. Actual - 500 Entry Already Exists. Expect - 400 group with $name exist

* Changing group name does not work

Questions:
* creating users with the same email is correct?

You mean creating to users having the same email address? That's a good question. But actually I don't think we can't fully prevent that (at least when using the LDAP backend)

* how we get a list of users with groups? like
  ![Screenshot 2022-03-01 at 16 30 27](https://user-images.githubusercontent.com/84779829/156198076-c5e06fa5-6c83-4b01-8d16-2a3f57c102c0.png)

Currently that is not implemented. We need to add support to the graph users API for this kind of query.

* on some requests https://localhost:9200/graph-explorer/ looks like an error

That's a know issue in the graph-explorer. It doesn't handle the 204 Status code properly

Can you clarify what you mean by this? Can you paste the request body that you used here. And do you thing there is a bug?
I understood that it was not a mistake. here is all right. In oC10 we cannot create users with same userName like onPremisesSamAccountName.
What do you mean with some email?
I apologize for my English. I meant "same email".
Haven't been able to fully reproduce this yet. Need to take a closer look.
I have added steps to the remarks on how to reproduce this. Problem is same email. When I asked you to tell me how to drop the DB, I created a new user with an email like the admins email

Another important point, to know about it
we cannot share resources with users, because request https://localhost:9200/ocs/v2.php/apps/files_sharing/api/v1/sharees?search=sam&itemType=folder&page=1&perPage=200&format=json does not found users or group.
Steps:

admin creates user1
admin creates group1 and adds user1 to group
admin uploads file and tries to share file to user1 or group1

Actual: user or group not found

some bugs are fixed, but some still exist

Another important point, to know about it
we cannot share resources with users, because request https://localhost:9200/ocs/v2.php/apps/files_sharing/api/v1/sharees?search=sam&itemType=folder&page=1&perPage=200&format=json does not found users or group.

I guess this is a configuration issue. Can you try adding
export STORAGE_LDAP_USERFINDFILTER='(&(objectclass=owncloud)(|(uid={{query}}*)(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)(description={{query}}*)))'
to your startup configuration. With that it should at least be able to list users. Note: the group part might still not work, that's because of know issues in the CS3 groupprovider.

I tested it. Sharing with users works correctly. Thanks


[liblemon] Fix cmake config

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Fix #33115

Tested usage successfully by liblemon:x64-windows:
liblemon provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(LEMON CONFIG REQUIRED)
    target_link_libraries(main PRIVATE unofficial::lemon::lemon)


operate a light 32-bit.

Test issue(s)
It works correctly at 64 bits, but not correctly at 32 bits.
It's a log of motion at my 32bit.
Can you check which part is the problem?
Platform
android
Anything else?
05-24 053959.520   726  1361 W bt_s.txt

@cmosmediatech  please provide more information on what you are trying to do and what your environment looks like:

what commands/applications are you running?
what devices do you have connected and how (wifi / thread / ethernet / borderrouter)


onClick and onMouseMove triggered everywhere for certain objects

I'm trying to create mouse event handlers for specific objects, but these handlers are being triggered everywhere for the first object, specifically in a list of Cubes. The code looks like this:
  renderPallets = () => {
    const locationData = this.props.map.palletLocations.map((location, i) => {
      return {
        id: i,
        isClickable: true,
        type: constants.OBJ_TYPE_PALLET,
        pose: {
          orientation: {
            x: location.world_t_location[3],
            y: location.world_t_location[4],
            z: location.world_t_location[5],
            w: location.world_t_location[6],
          },
          position: {
            x: location.world_t_location[0],
            y: location.world_t_location[1],
            z: location.world_t_location[2],
          },
        },
        scale: { x: 1.1, y: 1.1, z: 0.1 },
        color: { r: 1, g: 1, b: 0, a: 1 },
      }
    })

    return (
      <Cubes
        getHitmapId={(marker) => marker.id}
        onClick={this.handlePalletClick}
        onMouseMove={this.handlePalletHover}>
        {locationData}
      </Cubes>
    )
  }

Both the onClick and onMouseMove handlers are triggered across the entire canvas with data for just the first cube passed to them. I tried adding the getHitmapId prop to help out, but it didn't make a difference.
I was able to reproduce the issue on this page in the docs https://webviz.io/worldview/#/docs/commands/cubes by adding this onClick event on the 5th to last line: <Cubes onClick={() => console.log('go')}>{markers}</Cubes>.
I'm on version 0.4.1. Any ideas?

Thanks for the report, we'll look into it soon. We have some work in progress in #177 that is changing the API for mouse events a little bit, so we can definitely fix in that branch, and maybe also backport a fix (since that will be a breaking change)

In the meantime, you can work around this issue by using id: i + 1. The problem is that id: 0 is reserved for the background ("nothing clicked"). After #177, this will change since ids will be generated by Worldview itself.

Ok. Great. That change to have an id prop that's non-zero fixed this :)


Dark Heresy Die?

I am not sure how high up the priority list this is, but if it is possible, can there be an implementation so that you can input a target number and then have the bot roll and tell how many Degrees of Success or Failure the result has?

I'd be happy to help with this if possible @ArtemGr but the math is basically
if $roll > $num degrees of success = $num % $roll else same but word is failures

Heres a quick thing I did up for rust with no experience and an online IDE, I hope it'll make it in.
extern crate rand;
use rand::Rng;
fn main(){
    let roll = rand::thread_rng().gen_range(0, 100);
    let skill_input = 45;
    let result = (skill_input-roll)/10;

    println!("roll {}, result {}",roll, result);

    if result >= 0 {
        println!("{} Degrees of Success", result);
    } else {
        let failure = result * -1;
        println!("{} Degrees of Failure", failure);
    }
}

skill_input will be the number they pass you. In my case it's 45.
so it'll be something like /r 40k<45 for the new roll as all pass/failure in this system are against 1d100.


failed to untar pdb70_from_mmcif database

After downloading  pdb70_from_mmcif_200401.tar.gz the following error occurs while extracting:
md5sum
pdb70_a3m.ffdata
gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Thanks in advance for helping.

Yes, I tried, but the same issue occured again.

Are you running this command on HPC?
I've run into the same problem, but exclusively for the BFD tar.gz file, when downloading v2.3.1 and v2.2.0  databases on a HPC login node. For version v2.2.0, running tar on a compute node succeeded. For v2.3.1, the compute node failed with the same error and I have not yet resolved it.


Invalid behavior for domains ending with a dot '.' (fully qualified domain names)

Hello there,
I stumbled upon an issue when calling getPublicSuffix on domains having a trailing . such as www.google.com.. My understanding is that the trailing dot should be ignored (it is ignored by browsers): http://www.dns-sd.org/trailingdotsindomainnames.html or https://en.wikipedia.org/wiki/Fully_qualified_domain_name.
> tldjs.getPublicSuffix('www.google.com')
'com'
> tldjs.getPublicSuffix('www.google.com.')
null

Similarly for getDomain:
> tldjs.getDomain('www.google.com')
'google.com'
> tldjs.getDomain('www.google.com.')
'com.'

Should getPublicSuffix return com in both cases? Or com.? Or is null acceptable in this case?
Thanks a lot,

Hey, thanks for raising this question 🙂
It would make sense to accept the dot as a suffix character in the case of DNS strings, and actually in any kind of context — and it should be ignored as it is not part of the TLD itself.
> tldjs.getDomain('https://www.google.co.uk./maps')
'google.co.uk'

Is that something you could implement? I can't predict for sure if I would have the time to make it happen this week but I'm happy to provide some pointers if you fancy contributing 🙂

Hi!
Makes sense. So I guess it should be enough to strip dots at the end of the hostname before trying to extract domain, tld, etc. right? Not sure how the code is organized so I would definitely appreciate some pointers from you if you have some time.
Thanks a lot,

I suspect it would be enough indeed :-)
I guess https://github.com/oncletom/tld.js/blob/master/lib/clean-host.js is a great place to start (and probably to finish).
And a new test should be added in test/tld.js:
    it('should ignore the trailing dot in a domain', function () {
      expect(tld.getDomain('www.google.com.')).to.equal('google.com');
    });


Bug: GDCMImageIO issue loading single-bit binary dcm mask.

Description
Hello. I am running into an error processing a medical image segmentation DICOM file from The Cancer Imaging Archive. When I call itk.imread() on the datapoint, the GDCMImageIo library is throwing an Unhandled PixelFormat: SamplesPerPixel     :1 error.
The python SimpleITK library throws the same error.
Steps to Reproduce
1. itk.imread(seg_file)

Expected behavior
Dicom mask file is loaded into an image.
Actual behavior
Log from crash
>>> segpath
'/nvdata/NSCLC-Radiogenomics-Fresh/NSCLC Radiogenomics/R01-041/09-07-1992-CT THORAX WO DYE-33339/1000.000000-3D Slicer segmentation result-38898/1-1.dcm'
>>> itkseg = itk.imread(segpath)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/gagan/anaconda3/envs/monai/lib/python3.8/site-packages/itkExtras.py", line 645, in imread
    reader = TemplateReaderType.New(**kwargs)
  File "/home/gagan/anaconda3/envs/monai/lib/python3.8/site-packages/itkTemplate.py", line 469, in New
    return self._NewImageReader(itk.ImageFileReader, False, 'FileName', *args, **kwargs)
  File "/home/gagan/anaconda3/envs/monai/lib/python3.8/site-packages/itkTemplate.py", line 555, in _NewImageReader
    imageIO.ReadImageInformation()
RuntimeError: /work/ITK-source/ITK/Modules/IO/GDCM/src/itkGDCMImageIO.cxx:465:
itk::ERROR: itk::ERROR: GDCMImageIO(0x5633c7065c20): Unhandled PixelFormat: SamplesPerPixel    :1
BitsAllocated      :1
BitsStored         :1
HighBit            :0
PixelRepresentation:0
ScalarType found   :SINGLEBIT

Reproducibility

I am using CT scan image data from this NSCLC Radiogenomics TCIA dataset. The error happens every time I try to a patients 3d chest ct segmentation .dcm file.
Environment
Debian Buster, Cmake == 3.16.3, itk == 5.1.1, python == 3.8.3
Additional Information
I want to use the GDCM SingleBit pixelformat in the GDCM docs, but I am not sure how to pass it in through itk.

I've learned the file is saved as a Dicom-RT file. I was able to load it with pydicom and got a pydicom.dataset.FileDataset file. Is it possible to do this with ITK?

@issakomi and/or @malaterre can best answer this.

Unfortunately singlebit is not implemented in GDCM IO. It is defined in GDCM, should be not very difficult to add, AFAIK.
https://github.com/InsightSoftwareConsortium/ITK/blob/9b7a28032ef46034f91cdc98bb99f4b3f24f270c/Modules/IO/GDCM/src/itkGDCMImageIO.cxx#L429

I'm not sure how to add the feature but I would be happy to test it out.

WIP
https://github.com/InsightSoftwareConsortium/ITK/pull/2004


test: Determine private / public iface dynamically

This PR:

Determines private / public ifaces (used by NodePort or IPSec) dynamically.
Removes unnecessary nodePort.enabled=true from k8sT/Services.go.
Moves the MetalLB test case into the direct routing context to avoid accidentally changing the datapath configuration of the test case.

TODO:

[ ] Rebase #10087 once it's been merged.
[ ] Use dynamic iface retriever in the kube-proxy matrix tests.

Fix #10023.

This change is

test-me-please

test-gke

Coverage decreased (-0.03%) to 44.59% when pulling 9070e845e8d6eb52d915d89e2c0469d6a7d9ac6e on pr/brb/cleanup-svc-tests-v2 into abf5366a5d4418f01432563d8e402fb957cd12e7 on master.

test-gke K8sServices*

test-gke K8sDatapathConfig*

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-gke K8sDatapathConfig*

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-gke K8sDatapathConfig*

Provisioning failure. Re-running.

test-me-please

@brb I didn't merge the PR because the build failed for GKE.

I didn't merge the PR because the build failed for GKE.

@aanm The test which failed on GKE, they were failing before my PR. I've run them to check whether my PR has fixed some.


Right click on right pane -> Hover on Others, window will close even after you hover on it.

Description
Right click on the left pane, go to "others" option. New window appear but, after you hover your mouse on the window, it closes. It mostly occurs when right click menu window does not fit to the below and appear on above. It is easy to replicate but does not occur everytime.
https://user-images.githubusercontent.com/72523365/136178209-92f042f5-93c9-455e-af1e-90648b2d756c.mp4
Steps To Reproduce
See attached video.
Go to left pane.
Right click on a disk.
Hover on "others".
Hover on new opened window.
It disappears.
If not, move the files window a bit below of the screen so the newly opened menu appear above.
Expected behavior
Menu should keep opened.
Files Version
Build: <IP_ADDRESS> OS Version: 10.0.19042.1237
Windows Version
Windows 10 20H2 - 1902.1237
Relevant Assets
No response

Is this still an issue in v2.4?


Inquiry: Beyond Earth compatibility?

Is this compatible at all given the amount of code similarities to Civ V? If not could it be made so?

 I'm under the impression that Beyond Earth was the first game to support online modded multiplayer officially, not Civ VI.
From what I recall of me looking into the code, I'd think that it's still possible, but a bit harder. BE switches to Havok Script which is a different Lua VM, and will require me some more effort to figure out how to hook into properly.


Wire up redux and top-level containers to app

Add a redux provider in src/index.tsx and update App.tsx to render the top-level container and set up routing.
This is currently blocked by having a top-level container

Closing this as done per Alex B.


New version: DrWatson v1.4.2

Registering package: DrWatson
Repository: https://github.com/JuliaDynamics/DrWatson.jl
Created by: @Datseris
Version: v1.4.2
Commit: c38f7692143789bbdc667a8c127a1a5bbc1c689f
Reviewed by: @Datseris
Reference: https://github.com/JuliaDynamics/DrWatson.jl/commit/c38f7692143789bbdc667a8c127a1a5bbc1c689f#commitcomment-35523440

Your new version pull request does not meet all of the guidelines for automatic merging.
Specifically, your pull request does not meet the following guidelines:

The following dependencies do not have a compat entry that has an upper bound: Requires

It is important to note that if your pull request does not meet the guidelines for automatic merging, this does not mean that your pull request will never be merged. It just means that your pull request will require manual review by a human.

These guidelines are intended not as requirements for packages but as very conservative guidelines, which, if your new package or new version of a package meets them, it may be automatically merged.

[noblock]

Your new version pull request met all of the guidelines for automatic merging.
I will automatically merge this pull request during the next cron job.
If you want to prevent this pull request from being auto-merged, simply leave a comment.
(If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.)

[noblock]

The mandatory waiting period has elapsed.
Your pull request is ready to merge.
I will now merge this pull request.

[noblock]


Implement width and height for CairoContext

Previously we had (with the new tests)
Cairo.CairoContext must implement width
 in width at no file
 in anonymous at test.jl:90
 in do_test at test.jl:50
 in include at ./boot.jl:259
 in include_from_node1 at ./loading.jl:267
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
 in width at no file
 in anonymous at test.jl:90
 in do_test at test.jl:50
 in include at ./boot.jl:259
 in include_from_node1 at ./loading.jl:267
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
while loading /home/tim/.julia/v0.3/Cairo/test/runtests.jl, in expression starting on line 8

so Cairo was not living up to the promises made by Graphics.

Let's say this is breaking a little bit the expectations of libcairo users. Context has no size, the underlying surface has. And in special cases like recording surface, even this is missing.

In this package there is no way to create a CairoContext without having a surface defined.. There's also this in Graphics.
That said, I suspect you have more experience with Cairo than me. Should you decide that some cleanups are necessary, by all means go for it.
Relatedly, do you think we should move this package to JuliaGraphics?

@timholy.
For your question to move Cairo.jl to JuliaGraphics; well, it sounds like a match, but then GUIs like Tk and Gtk should show up there also.
For the comment about my experience with libcairo in other places: i was for some time now a user of pygtk/pycairo and i can write programs in C using libcairo (and i also spend some time in the cairo code to understand e.g. performance issues). At the same time i still do not have a clear understanding how packages like Gtk and Cairo should provide interfaces. Low-level and just as language adaption or rather high-level providing matching julia constructs. In pycairo e.g. cairo context is an object and all path construction functions are methods on the object. Which is quite good readable and if you find something in the libcairo C-API, so find the pycairo construct in seconds.
A julia adaptation with this multi-dispatch thinking can act more freely. You can call the function to setup a surface with the C-API parameters or (i think we have that example) call the constructor with a filename and setup the surface and read already a picture into is.
On the general structure of Cairo.jl, i'd like to see more 1.12 or 1.14 readyness, some restructuring to move the text setting - which actually is pango/pangocairo - to a dedicated part. And there should be more doc strings...
To have both data structures, a GraphicsContext that is more abstract, providing more data than just the plain CairoContext could be an option - but this should also be driven by having a second example of a drawing/rendering toolkit.
And for the starter, the context without surface: Gtk does provide a ready-to-use cairo context for expose/draw calls together with a clip path. You see this actually showing up in the Gtk.jl/src/cairo.jl for the canvas draw calls.
I'm using locally a fork of Gtk and Cairo.jl that enables using this without the intermediate step of drawing to the back surface. For my (pending and slow moving) interactive Gtk example i use this.


Create AzureDataExplorerClusterInsights.Gallery.json

Issue: add DE Pools

We discussed that this code is for ADX standalone and not for DE pools. If it is made to work with DE pools we will add it.


Reinstate just enough deep copying to guard against cache corruption

We should make it impossible for callers to modify objects that are cached internally. This will involve deep copying somewhere and might carry a significant performance cost, so we may want to add an option for callers to opt out of this safety.

Because this change is expected to have performance implications and there is not time to rigorously measure them by the planned tagging deadline, I am moving this off of 1.0.


I just found out that I had missed a lot of documentation

Because it's hiding behind /api/ and I never took a look at the main page urls after clicking "Getting Started" which takes the user to /docs/. 😠
Any chance if combining them or at least putting links to the side navs?

Good idea! I'll add an "API" section to the side nav of the docs, and a "Documentation" section on the side nav of the API docs.

I'll slightly hijack this issue and just point out that there's a mistake in the doc at api/configuration.html where it says
Moon.config.keycodes({
  m: 77
});

should be keyCodes with an uppercase C.
[slowly disappearing back into the dark...]

Haha thank you! Will fix that as well. 😅


Possible to use Jimp with mock-fs?

I'm using mock-fs to test my project and if I try to include a serialised image byte array as a fixture:
https://github.com/edsilv/biiif/blob/thumbs/test/top.js#L159
Jimp.read throws this error:
Error: ENOENT, no such file or directory '\\?\c:\Users\edsilv\github\edsilv\biiif\generate-thumbs-manifest\_canvas-without-thumb\file.jpg'
Utils.js:140
unable to generate thumbnail for: c:\generate-thumbs-manifest\_canvas-without-thumb

Other yml fixtures are being read by js-yaml's safeLoad. Is Jimp able to work with a mocked filesystem?

will close within the month if no example code is given @edsilv

Hi, sorry for the delay. Here's an example project:
https://github.com/edsilv/jimp-mock-fs-error-demo
Annoyingly I can't install Jimp to test this locally right now because of https://status.npmjs.org/incidents/v22ffls5cd6h - but it should be what you need.

I installed jimp v0.4.0 to the provided repo and ran npm run test. The test passed with no errors so I think this is fixed.

Hi, just having another look at this.
/cat/cat.jpg passes.
c:\cat\cat.jpg throws

ENOENT, no such file or directory '\?\c:\Users\edsilv\github\edsilv\jimp-mock-fs-error-demo\catcat.jpg'

"catcat.jpg" - It was to do with using windows backslashes in file paths. Once I normalised these to using forward slashes it started working :-)


Allow arbitrary extensions (not just .html files)

This may be too specific of a usage case but I needed to generate arbitrary file extensions, specifically .liquid files. Perhaps it will help someone?

Coverage remained the same at 100.0% when pulling aed389f9c9e15660ade5d81a8b41f6c219601c99 on mikhuang:master into 997318a3fccc765dfdf77bed6891bd1be20b0ed5 on markdalgleish:master.

Definitely open to this, especially since it makes this plugin useful static file generation in general, but wondering whether it would be better to either:

Generate index.html files when a trailing slash is present, since it's clearly not a file name—this seems more predictable than basing it on the presence of a file extension; or
Remove magic index.html file generation entirely, and make file names really explicit.

What do you think?
cc @KyleAMathews, would either of these changes impact Gatsby in any negative way?

Nope, shouldn't be a problem. Gatsby fully controls paths so it'd be easy to adjust if there's any breaking changes.

@KyleAMathews not that it affects Gastby in any way, but what are your thoughts from an API design perspective? Do you have a preference?

My personal preference is always for "clean" urls e.g. /about/index.html and I haven't heard anyone ask yet for something different. That being said, options are good especially if you're porting an older site that does have about.html style urls.

Hey,
We are using this plugin on Docusaurus 2 and have a few issues due to using /pathName/index.html as many host providers will redirect 302 from /pathname to /pathname/ (https://github.com/facebook/docusaurus/issues/3372)
That would be nice if it was possible to customize the fs filename path creation.
@markdalgleish do you still maintain this project? Otherwise, I'd probably maintain my own fork.

@KyleAMathews

My personal preference is always for "clean" urls e.g. /about/index.html and I haven't heard anyone ask yet for something different. That being said, options are good especially if you're porting an older site that does have about.html style urls.

I also prefer "clean URLs" without extensions, but /about/index.html could be written as /about.html and yet be served from /about? Many users won't like to have the trailing slash and the URL being /about/ instead of /about, and host providers like Netlify will add it.
I've a similar problem on my Gatsby / Novela blog here: https://sebastienlorber.com/records-and-tuples-for-react
The canonical page is a 302 redirect to the same URL with a trailing slash, and then reach-router removes that trailing slash on hydration. That's annoying 😅


Cookie options like ytdlp

Is there a cookie option like ytdlp?
I want to record the stream of a paid subscriber, but I can't do it with my login and password!
Is there a solution?
Case:yt-dlp --cookies cookies.txt https://www.youtube.com/watch?v=xxxxxx

Hey, while there's no option to set this directly in the settings UI, you can always directly add the yt-dlp option directly as a custom argument. To do this, go to Settings -> Advanced -> Custom Downloader Arguments and add the --cookies flag as custom argument. Hope this helps!

I was able to solve it by adding an argument to the Cookie!
Thank you very much.

Hey, while there's no option to set this directly in the settings UI, you can always directly add the yt-dlp option directly as a custom argument. To do this, go to Settings -> Advanced -> Custom Downloader Arguments and add the --cookies flag as custom argument. Hope this helps!

I was able to solve it by adding an argument to the Cookie!
Thank you very much.


chore(release): 2.14.0

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 60689487a949e2431e1814ce84790662ebf39d63
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 87e50815989b8067d2685dd8f62436b713345040
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 9c878531282ff51c733844416f5d949c23288645
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: e1cfbaf5f2b5b0bdfa09b2d35e7739f54adcb58b
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: acfb643816a088361b062b632856c0213981fcea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: bf7643623f3955c117da0fed45b4269338247ad6
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: da259ea5df1d913ce75f8487a3f325712a0a76f0
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


baseUrl with a path?

I'm trying to set the baseUrl to https://myfantasyurl.com/with/a/path/ like
exports.config = {
  specs: ['spec.js'],
  baseUrl: 'https://myfantasyurl.com/with/a/path/'
};

but when running protractor with selenium, the browser will always open https://myfantasyurl.com/. Is this not supported by protractor? Maybe something wrong configured?

The issue was that in the tests I used to call
browser.get('/');

I changed this to
browser.get('./');

which fixes the error.


Fix/only lmdb asset test

Passed AssetTest in test/ametsuchi/ametsuchi.cc.
Change point

Unified Currency -> Asset, when mixed Currency and Asset
So make create_asset_wrapper_currecy in tx_genrator.cc
Unified account_add_assets and account_remove_assets -> account_update_assets.

Problem
Plase read CAUTION in wsv.cc.
I look flatbuffer has optimal different size nevertheless it has same type. (for example : ( uint64_t : 200 and uint64_t : 0 is not size )
ammount and precision and description is not required member, So it is null ( equal to size = 0 ) when its value is 0 .
So Asset has different size that nevertheless is has same ledger_name, currency_name and domain_name.
And I think it is dangerous to operate bang method for lmdb.
Solution
One solution, ammount and precision change to required and erase description.
Would you solve this problem ?
Or Is it not serious ?
May be erased comment would be erased after merge or before merge.

account_add_currency
and
account_remove_currency

is the same as ADD and SUB, so update is not necessary

@grimadas

@Warchant
Yes.
I compiled addition and subtraction to updation.  Becouse account_add_currency and  account_remove_currency is simillear.
So account_add_currency and account_remove_currency may be erased.
Good as it is?


Fix nonblocking collective support for critical-path symbol tracking

Unfortunately, because symbol-tracking requires multi-communication-step information with different datatypes, I cannot simply perform the same trick as I did for synchronous collective support via a complicated custom MPI_Op.
Currently, we silently do not propagate critical path information for schedule dependencies among processes involved in nonblocking collective routines.

I have a potential fix:
Simply use blocking collectives during the blocking stage (when MPI_Wait is intercepted) (not nonblocking, because it would be needless; we'd need the MPI_Request to be completed before returning to the user program anyways).
I realized this could work because according to the MPI standard, collectives are blocking, not synchronous. This means that a root of a broadcast does not need to handshake each process its broadcasting to; that would be ridiculous. But unlike blocking p2p, there is no possibility of deadlock. This does mean, however, that our propagation strategy for blocking collectives is synchronous, even if the internal communication in the propagation strategy is blocking.
Would want to test this out on CTF first, to make sure all is well the nonblocking collectives they use.


Ability to add a manual shift

Ran into a nasty problem: the Shift model currently requires dawn and dusk and expects values for mllw_feet and lowest_tide - but when we are manually adding a shift we haven't derived those details, and in fact we may not even have the ability to derive them if the manual shift is outside of the data range for which we have stored tide and sun information.
I'm going to fix this by making dawn and dusk nullable on the model, then figure out which parts of the display need to be able to cope with null values for those things.
This also means we may end up adding a shift that can't even display the tide times SVG. Should handle that too.


The save does not save.

When I press ctrl+s to save any change, It sometimes unchanged values when debugging, so I have to go back to the file I´ve changed before and saved it again multiple times ...

Please follow these steps to file a good issue with reproducable steps
https://github.com/Microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions

If you were using Import-cost extension. Disable it and try to save.
I faced the same problem and solved it by disabling this extension.

No No, I think I found the problem with my case
I'm using Angular and when I try to import anything that I don't use the typescript code. VSCode removes it when I save the code.
But if you imported anything and used it. It won't remove it.
I hope this would help

I would still need more details from @danilocecilia


Remove icon and add command palette to sync data

Remove the icon and add a command palette to sync data
Remove background sync
Add a link to template references in settings
Update default template and add YAML front matter metadata

Oh command thing is cool.

I think the only thing we are missing is a tag like #Omnivore that will link all saved pages together.


Running TPCH queries in Acero through Substrait

Describe the usage question you have. Please include as many useful details as  possible.
It would be nice if Acero could run the tpc-h queries through substrait, which seems not possible at the moment.
I converted the TPCH Q1 from sql to substrait using DuckDB and then tried running it with Acero. This resulted in the following errors:

Invalid: substrait::Expression::Cast::FailureBehavior unspecified; must be FAILURE_BEHAVIOR_RETURN_NULL or FAILURE_BEHAVIOR_THROW_EXCEPTION: this can be fixed by setting the FailureBehavior to FAILURE_BEHAVIOR_THROW_EXCEPTION inside the cast relations in substrait.
NotImplemented: Unsupported aggregation phase 'AGGREGATION_PHASE_UNSPECIFIED'.  Only INITIAL_TO_RESULT is supported: this can be fixed by setting the phase to the INITIAL_TO_RESULT value.
NotImplemented: No conversion function exists to convert the Substrait function * to an Arrow call expression: this can be fixed by changing the operations names from "*"->"multiply" and similarly for other arithmetic operations.
Invalid: Expected an aggregate call #sum to have a direct reference: I don't know how to fix this.

Do you have the tpch queries written in substrait in such a way that Acero can run them? Is the Acero's support for substrait enough to run the tpch queries?
Thank you!
Component(s)
Benchmarking, C++

@richtia do we have all the TPC-H queries in Substrait format? IIRC there are tests that run these against Acero. Can you give @kabicm a pointer to that? Thanks

@richtia do we have all the TPC-H queries in Substrait format? IIRC there are tests that run these against Acero. Can you give @kabicm a pointer to that? Thanks

Yeah, here are all the TPC-H queries in substrait format (there are actually a few missing because substrait couldn't convert them at the time, need to see if i that's been fixed): https://github.com/substrait-io/consumer-testing/tree/main/substrait_consumer/tests/integration/queries/tpch_substrait_plans
This is the acero test that runs all of them: https://github.com/substrait-io/consumer-testing/blob/main/substrait_consumer/tests/integration/test_acero_tpch.py
Unfortunately Acero isn't at a point where it's able to complete run any of these fully through.
They all fail for various reasons, which can be seen from running the tests.

Thanks @ianmcook and @richtia!
Great to see the substrait plans for the TPC-H queries, thanks for the pointers! However, I am still getting the same type of issues as mentioned before when trying to run them with Acero.
At the moment, it seems to me that the only way to run the TPCH queries with Acero in C++ is by creating Acero's exec plan.
Are there maybe Acero query plans for TPC-H queries in C++? I found the Q1 and Q6 Acero plans in C++, using the Declaration API.

@kabicm, yeah...Acero isn't at the point where it can fully run any of those TPC-H substrait plans.  Most  of them either hit the issue you've been encountering or this one:
pyarrow.lib.ArrowInvalid: A join rel's expression must be a simple equality between keys but got true

From the C++ side, maybe @vibhatha could help you out.  He had been working on a bit of the Acero substrait consumer development previoiusly.

@kabicm at the moment, I am not doing active developments in Acero/Substrait components. I haven't been contributing to that part of the codebase for a while, though, I can help out with some pointers if improvements are made via PRs. Would that be helpful?

Thanks @richtia and @vibhatha for your fast response and the pointers! I will be keeping an eye on the substrait frontend in Acero.
Sure, @vibhatha, pointers are always welcome! But I think this issue can now be closed, as you are well aware of all the issues with Acero+Substrait, which I mentioned.


Add line_data_nbrctc table to the list of metadata tables for the Performance diagram

Describe the Problem
For the Performance diagram METviewer looks in line_data_ctc and line_data_cts tables for metadata values (like fcst_lead). In the  same time Performance diagram can be calculated using line_data_nbrctc data. We need to add this tables to the lookup list.Also check if the similar problem exists in other plots
Expected Behavior
Collect metadata from al possible tables
To Reproduce
Describe the steps to reproduce the behavior:
*1. Go to https://metviewer.nws.noaa.gov
2. Click on NCEP Bwang -> mv_g2g_met_verf_Raikoke31_0p25_CSI
3. Select model, vcst_var and fcst_lead. fcst_lead is N/a
Relevant Deadlines
NONE.
Funding Source
NONE.
Define the Metadata
Assignee

[ ] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required

Labels

[ ] Select component(s)
[ ] Select priority
[ ] Select requestor(s)

Projects and Milestone

[ ] Review projects and select relevant Repository and Organization ones or add "alert:NEED PROJECT ASSIGNMENT" label
[ ] Select milestone to relevant bugfix version

Define Related Issue(s)
Consider the impact to the other METplus components.

[ ] METplus, MET, METdatadb, METviewer, METexpress, METcalcpy, METplotpy

Bugfix Checklist
See the METplus Workflow for details.

[ ] Complete the issue definition above, including the Time Estimate and Funding Source.
[ ] Fork this repository or create a branch of main_<Version>.
Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
[ ] Fix the bug and test your changes.
[ ] Add/update log messages for easier debugging.
[ ] Add/update unit tests.
[ ] Add/update documentation.
[ ] Push local changes to GitHub.
[ ] Submit a pull request to merge into main_<Version>.
Pull request: bugfix <Issue Number> main_<Version> <Description>
[ ] Define the pull request metadata, as permissions allow.
Select: Reviewer(s), Project(s), Milestone, and Linked issues
[ ] Iterate until the reviewer(s) accept and merge your changes.
[ ] Delete your fork or branch.
[ ] Complete the steps above to fix the bug on the develop branch.
Branch name:  bugfix_<Issue Number>_develop_<Description>
Pull request: bugfix <Issue Number> develop <Description>
[ ] Close this issue.

NBR_FAR was added to the list of variables in JavaScript to get values for menus


Check for more than one post to vote for

The choose 1 from n is working. I do not know what happens, if we do a choose m from n. This needs to be checked and implemented.

n of m works for assignments


method to set keyword separator

the default '+' separator will not work with some search engines

This is not possible, see the OpenSearch description format


Advanced Image Compression settings should be hidden by default

#513 added settings in Preferences Modal for configuring image compression.
This makes the modal too long.

We should have those settings in an Expansion Bar so the user can reveal those settings if needed

This would also eliminate the need to rely on fieldset and weird alignment since the grouping would be handled by an Accordion
https://chakra-ui.com/docs/components/accordion/usage

Can I be assigned to this?

Done!
@tarasglek would you please invite @menghif to the repo so he can do preview branches?
@menghif when you get your invite, please do all your branches on this repo vs. your fork using menghif/* for the branch name.  Then we get preview deployments on CloudFlare for every PR.

@humphd I remember this issue was opened with you not liking how long the modal has become.
Its is not directly related this issue, but we can also change the modal overflow to inside and fix its height to whatever looks best to us.
https://v2.chakra-ui.com/docs/components/modal/usage#modal-overflow-behavior
But I don't know if you like the scrollbar that would appear right next to modal body.

@menghif we have another set of issues about redoing the entire settings modal, that you might want to help with as well.  That's kind of the right place to fix this; though I'd take a small fix just for this, too.

@menghif please accept invite, looking forward to this

@menghif we have another set of issues about redoing the entire settings modal, that you might want to help with as well. That's kind of the right place to fix this; though I'd take a small fix just for this, too.

I'll send a fix for this one but I can definitely help with the new setting modal if needed!

I suspect that @kliu57, @Amnish04, and others would appreciate help with the new modal; but I'll get them to confirm that I'm right and they aren't already working on it.

No one has started work on the new modal yet. @menghif I can assign it you if you're interested. Issue #578 . You can click on the associated issue to see mockup UI.

@kliu57 Sure I can take it.

Closing this since the new Settings layout just landed. https://github.com/tarasglek/chatcraft.org/pull/592


Add intial support for inheritance

Would resolve #77

Coverage decreased (-2.4%) to 97.264% when pulling 7cbac39e2bbc96f4279594e0a4d34f96bfa11628 on Add-inheritance-support into 348ab70025b4a87b523d3b7a44532ef108ffc083 on develop.


Unicode font not rendering properly

Issue details
I'm using an Indian font (Malayalam, specifically) in my app. I used FreeTypeFontGenerator to generate BitmapFont that I use in Actors. But the text is not displayed correctly in the app. For example, take a look at the below screenshots:

Image 1

Image 2

The text should be displayed as seen in the 1st image. But what I'm getting is the 2nd image. One particular character is split into it's component elements where it should be combined automatically. There are other similar characters in this language that shows this property. I actually don't know the technical thing going on behind this conversion. In many situations, the conversion is done automatically (e.g., in Character Map in Windows, see below). The 1st image is got by using a non-unicode font which has all characters ready-made. In both the cases, I had to supply all the characters to the FreeTypeFontGenerator using FreeTypeFontParameter.

Note the character conversion.

Reproduction steps/code
Please download this project and run in Desktop module.
UnicodeBugReportProject.zip
Version of LibGDX and/or relevant dependencies
appName = "UnicodeBugReportProject"
gdxVersion = '1.9.3'
roboVMVersion = '2.1.0'
box2DLightsVersion = '1.4'
ashleyVersion = '1.7.0'
aiVersion = '1.8.0'

Please select the affected platforms

[x] Android
[ ] iOS (robovm)
[ ] iOS (MOE)
[ ] HTML/GWT
[x] Windows
[ ] Linux
[ ] MacOS

Judging by the fact that the rendering of characters is done from an image file with all the characters, I don't think it will be doable to achieve composite characters.

Oh, I see. Is there a way to display composite characters? There may be other languages that have them. LibGDX may already support them.

AFAIK this issue is much more complicated than it seems and would probably require integration of a 3rd party project such as Harfbuzz, along with rewriting font rendering/rasterization pipeline.

Okay. Thanks for that info.

GlyphLayout was added with the hope of one day using Harfbuzz or similar to support more complex layout, but that day has not come.

Use ANSI fonts and type the text in ANSI format instead of unicodes. You will be able to display the text. I suggest software baraha to write Indian languages in ANSI format.


Output: add option to set stdio on the spawn call to suppress php output

I am trying to set this up to be able to run jQuery core tests via travisCI. One problem im facing right now is that all output from php is being piped directly to stdio which means when running qunit tests the there is tons of php output in the middle of the test output and its really really ugly. By being able to set the stdio option the php output could be suppressed giving readable test results.

I'd rather have an silent option.
Your implementation doesn't work (note how the stdio option is never passed to spawn) and doesn't follow the existing code style.


Added tvos-sim support

This PR allows using cc-rs lib to target tier 3 *-apple builds simulator builds

The aarch64-apple-tvos-sim target was added so both tvos-sim and x86 versions are simulator versions.
I removed the target.contains("aarch64-apple-tvos") as it seems to be redundant and iOS and watchOS implementations do not include it. The build was not effected with this removal.
Added a new check-tvos-sim step to actions

how was this tested:

cargo test -Z build-std=std --no-run --workspace --target aarch64-apple-tvos{and -sim}
cargo test -Z build-std=std --no-run --workspace --target aarch64-apple-tvos{and -sim} --release
cargo test -Z build-std=std --no-run --workspace --target aarch64-apple-tvos{and -sim} --features parallel

CC: @phatblat for eventual visionOS support additions


Convert links on Org Details page to use logic introduced in PR #863

Update the Org details page and JS to make use of the new generic JSON link array handler introduced in PR #863

orgs_controller.rb can execute multiple times redirect_to which leads to failing request. I'm assuming once the checking of link objects is using the concern will go away but for now. Consider that, passing a link object with empty link or text will execute one redirect and after will execute the begin rescue end clause too https://github.com/DMPRoadmap/roadmap/blob/CDL-MVP/app/controllers/orgs_controller.rb#L38

Also add a migration to change orgs.links back to a VARCHAR.

can't test this in UI. closing issue.


Change ASP.NET Core Code Generator command

The page currently instructs you to run an ASP.NET Code Generator command using the relative output folder "Pages\Movies" if you're using Windows and "Pages/Movies" otherwise. However, I was going through this tutorial on a Windows machine using VS Code and found that these instructions generate a PagesMovies folder, rather than a Pages/Movies folder. I resolved the issue by using the non-Windows command, which is why I suggest this change.

Thanks @SeifYounis, I will retest for this as soon as I have a chance today.


browserstack integration

lets see how this integrates in docker

https://github.com/js-soft/wdi5/pull/255

PR open -> closing this issue


Transform files structure

Add the ability to transform file structure.
viteStaticCopy({
  targets: [
    {
      src: [
        'node_modules/my-lib/dist/**/*',
      ],
      dest: '.',
      transformStructure: (path) => path.replace('node_modules/my-lib/dist/', '')
    },
  ],
  structured: true,
}),

Won't the rename option work for that?

Ah, I previously saw rename func returning a string,
Thought it was only the filename that could be changed.
So this option should work if rename could recompose the full path here.
We may need some documents for this.


Add Web Streams as an optional polyfill

WHATG has finalized the Web Stream spec along with a working implementation. They are going to be shipping in browsers soon.
Thoughts on including the polyfill as an optional?

Yes, that would be a great idea.

How does the process of adding a polyfill work? I am happy to make a PR.

yes, see http://cdn.polyfill.io/v2/docs/contributing

Thanks for raising this and for the suggestion. We are adopting a policy of not keeping feature-request issues open for long periods of time, if no-one seems keen to implement them, so this issue will be closed now. Of course we always welcome contributions and that includes a contribution that adds this feature.


Win7 Right-Click Systray Item not Hidden select popmenu item using python2.7 32bit

I am trying  to select an item in the pop up from the systray on a Win7 PC. I was able to find the code to right click on the item.
https://stackoverflow.com/questions/50464576/how-to-get-specific-system-tray-icon-using-pywinauto/50560105#50560105
But, I am having trouble selecting one of menu items. The Class it is using is hwndwrapper but I cannot get the mouse to select it.
Here is the code I am tying to use:
app = Application(backend="uia").connect(path="explorer.exe")
st = app.window(class_name="Shell_TrayWnd")
con = st.child_window(title="Micro Focus Connected Backup").click_input(button='right')
ab =  app.window(title="About", class_name="HwndWrapper", control_type="MenuItem").invoke()
The error i get is this:
Traceback (most recent call last):
File "powername.py", line 60, in
ab =  app.window(title="About", class_name="HwndWrapper", control_type="MenuItem").invoke()
File "C:\Python27\lib\site-packages\pywinauto\application.py", line 378, in getattribute
ctrls = self.__resolve_control(self.criteria)
File "C:\Python27\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control
raise e.original_exception
pywinauto.findwindows.ElementNotFoundError: {'class_name': 'HwndWrapper', 'process': 5768, 'backend': u'uia', 'control_type': 'MenuItem', 'title': 'About'}
Any help would be great.
Thanks

Did you have a chance to go trough pywinauto docs: https://pywinauto.readthedocs.io/en/latest/getting_started.html ? Inspect.exe utility, mentioned in the guide, proved to be extremely useful for investigating the control hierarchy. Also notice the https://pywinauto.readthedocs.io/en/latest/getting_started.html#how-to-know-magic-attribute-names explaining main principles and providing the example with print_control_identifiers. You can always put the call to print_control_identifiers at your code at places you struggle to resolve your next control and hopefully it'll give you clues
Regarding the error in your code,  HwndWrapper as a class name looks suspicious for me. This is the name of one of pywinauto internal classes, so I'm not sure that it's a valid class name for a control in the application you try to automate. Try to not specify the class_name parameter at all. If the menu item is still not resolved you should try to identify/validate the proper control name with above mentioned "Inspect.exe" or print_control_identifiers.

Well. I have been trying to get inspect.exe and the print control identifiers to work before I send the first message. I have been readingthe docs extensively. Right now inspect.exe freezes onm the ui automation piece.

Trying to get to the about popup menu

ab = app.window(title="About", class_name="HwndWrapper", control_type="MenuItem").invoke()
It seems that you still refer to explorer process here, but you have to connect to the ""Micro Focus Connected Backup" process.
BTW, is your Inspect.exe in MSAA mode, because 'uia' "UI automation" mode freezes for you?

Yes. UI mode seems to freeze. I tried to connect to the systray process and got the same result. I know this is a context menu. I still have issues.

app = Application(backend="uia").connect(path="explorer.exe")
st = app.window(class_name="Shell_TrayWnd")
con = st.child_window(title="Micro Focus Connected Backup").click_input(button='right')
con1 = st.child_window(title="Micro Focus Connected Backup")
app2 = Application(backend="uia").connect(path=r'C:\Program Files (x86)\Iron Mountain\Connected BackupPC\ConnectedAgent.exe')
time.sleep(10)
app2.PopupMenu.Menu().get_menu_path("About")[0].click_input()
con1.print_control_identifiers()

I think, we don't have PopupMenu wrapper for 'uia' backend. Did you try to connect to "Backup" process with "win32" backend?
app2 = Application(backend="win32").connect(path=r'C:\Program Files (x86)\Iron Mountain\Connected BackupPC\ConnectedAgent.exe')
app2.PopupMenu.wait('ready').menu().get_menu_path('About')[0].click_input()

Getting this now after the context menu comes up:
Traceback (most recent call last):
File "powername.py", line 36, in
app2.PopupMenu.wait('ready').menu().get_menu_path('About')[0].click_input()
File "c:\Python27_64\lib\site-packages\pywinauto\application.py", line 512, in wait
lambda: self.__check_all_conditions(check_method_names, retry_interval))
File "c:\Python27_64\lib\site-packages\pywinauto\timings.py", line 375, in wait_until
raise err
pywinauto.timings.TimeoutError: timed out

@pewkodi, I just noticed several mentions about WPF app idenitfied as "HwndWrapper[applicatio.exe;;GUID]", here and here. So I believe, your app is also WPF based. In that case you should have more luck with 'uia' backend.  Pywinauto, actually has a WPF demo: WpfSampleApplicaiton.exe We use this sample for unit testing and the output of Inspect.exe for a pop-up menu of a "Rich Text" control is quite similar to the output on your screenshot. Here is a very simple example you may try to run on your machine, so that it'll give you a confidence that your 'uia' path is valid.
app = Application(backend="uia").start(u"WpfApplication1.exe"))
dlg = app.WPFSampleApplication
dlg.RichTextBox.draw_outline("red")  # just a highlight for debug
dlg.RichTextBox.click_input("right")
dlg.Paste.invoke()

Provided the above code works for you, you can make another attempt with "Connected Backup" app. I would just access the your menu item directly. Notice that we switch back to 'uia' mode here:
app2 = Application(backend="uia").connect(path=r'C:\Program Files (x86)\Iron Mountain\Connected BackupPC\ConnectedAgent.exe')
app2.About.invoke()

The connected Agent has a -silent switch for running in the systray. I tried the above code and got this:
Traceback (most recent call last):
File "powername.py", line 36, in
app2.About.invoke()
File "c:\Python27_64\lib\site-packages\pywinauto\application.py", line 378, in getattribute
ctrls = self.__resolve_control(self.criteria)
File "c:\Python27_64\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control
raise e.original_exception
pywinauto.findbestmatch.MatchError: Could not find 'About' in '[u'', u'Dialog']'
This is the code:
app = Application(backend="uia").connect(path="explorer.exe")
st = app.window(class_name="Shell_TrayWnd")
con = st.child_window(title="Micro Focus Connected Backup").click_input(button='right')
con1 = st.child_window(title="Micro Focus Connected Backup")
time.sleep(10)
app2 = Application(backend="uia").connect(path=r'C:\Program Files (x86)\Iron Mountain\Connected BackupPC\ConnectedAgent.exe')
app2.About.invoke()

I guess, you should try to access  "About" item as a child of the Dialog.
PS: Does the example with the WPF demo work for you?

Thee sample app runs gives me this error:
Traceback (most recent call last):
File "powername.py", line 43, in
dlg.Paste.invoke()
File "c:\Python27_64\lib\site-packages\pywinauto\controls\uiawrapper.py", line 513, in invoke
self.iface_invoke.Invoke()
_ctypes.COMError: (-2146233079, None, (None, None, None, 0, None))
But i can see the red debug the right click and trying to paste.
I trying to get to about in the systray for this app. If i try it like the sample it will launch the full app whuch is different from the systray.


[New Constraints] Mutual Exclusive

Add constraints to describe the course that are mutually exclusive.

Leave to implement this in version 2

Completed, but increase the complexity too much.


Firebase SDK crashes on FBLPromise with unrecognized selector.

[REQUIRED] Step 1: Describe your environment

Xcode version: 12.4
Firebase SDK version: 7.11.0
Installation method: CocoaPods
Firebase Component: RemoteConfig, DynamicLinks, Firestore, Auth, Analytics.

[REQUIRED] Step 2: Describe the problem
Steps to reproduce:
We just updated the Firebase SDK from 6.34.0 to 7.11.0.
Dependencies:

Firebase Analytics
Firebase RemoteConfig
Firebase DynamicLinks
Firebase Firestore
Firebase Auth

We're also using use_frameworks! :linkage => :static
When we run the project after the update we get a crash in the FirebaseApp.configure(options: options) method. Logs:
2021-04-22 11:45:48.339458-0500 MainApp[79727:979385] 7.11.0 - [Firebase/Analytics][I-ACS023007] Analytics v.7.11.0 started
2021-04-22 11:45:48.340266-0500 MainApp[79727:979380] 7.11.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2021-04-22 11:45:48.343676-0500 MainApp[79727:979382] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600003281590'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff20421af6 __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00007fff20177e78 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff204306f7 +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
	3   CoreFoundation                      0x00007fff20426036 ___forwarding___ + 1489
	4   CoreFoundation                      0x00007fff20428068 _CF_forwarding_prep_0 + 120
	5   MainApp                     0x0000000114223bc8 -[GDTCCTUploadOperation updateNextUploadTimeWithResponse:forTarget:] + 88
	6   MainApp                     0x0000000114222f79 __64-[GDTCCTUploadOperation sendURLRequestWithBatch:target:storage:]_block_invoke + 105
	7   MainApp                     0x0000000113b7318e __56-[FBLPromise chainOnQueue:chainedFulfill:chainedReject:]_block_invoke.67 + 94
	8   MainApp                     0x0000000113b726ad __44-[FBLPromise observeOnQueue:fulfill:reject:]_block_invoke_2 + 109
	9   libdispatch.dylib                   0x000000011b77d7ec _dispatch_call_block_and_release + 12
	10  libdispatch.dylib                   0x000000011b77e9c8 _dispatch_client_callout + 8
	11  libdispatch.dylib                   0x000000011b785440 _dispatch_lane_serial_drain + 1222
	12  libdispatch.dylib                   0x000000011b785f67 _dispatch_lane_invoke + 439
	13  libdispatch.dylib                   0x000000011b791de2 _dispatch_workloop_worker_thread + 882
	14  libsystem_pthread.dylib             0x00007fff61167499 _pthread_wqthread + 314
	15  libsystem_pthread.dylib             0x00007fff61166467 start_wqthread + 15
)
2021-04-22 11:45:48.343915-0500 MainApp[79727:979373] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600003281590'
terminating with uncaught exception of type NSException
CoreSimulator 757.3 - Device: iPhone SE (2nd generation) (914256F3-F16E-4784-892A-340594ACE352) - Runtime: iOS 14.4 (18D46) - DeviceType: iPhone SE (2nd generation)

Also, the structure of our project is like this:
[MainApp] depends on [CoreProject] (Dynamic framework) which uses all the third-party dependencies including Firebase.
Thanks in advance for any help!

I suspect this might be a corrupted environment. Try pod deintegrate, clearing DerivedData, reinstalling and rerunning.

I suspect this might be a corrupted environment. Try pod deintegrate, clearing DerivedData, reinstalling and rerunning.

Hi @paulb777 , thanks for your answer. Unfortunately, it didn't work and still crashing.

Hmm, it sounds a bit strange to use use_frameworks! :linkage => :static and link into a dynamic library.  Do you get any duplicate library warnings on load?

Hmm, it sounds a bit strange to use use_frameworks! :linkage => :static and link into a dynamic library. Do you get any duplicate library warnings on load?

Yes, I’m getting duplicate warnings but even before I update to 7.11.0

The duplicate warnings are indicative of non-deterministic behavior. When there are multiple copies of a library, the right one may or may not be chosen.

The duplicate warnings are indicative of non-deterministic behavior. When there are multiple copies of a library, the right one may or may not be chosen.

We have been using it like that even with 6.34 and never had any issue. We would totally appreciate it If you have any article about how to fix those duplicate warnings because we have tried everything with no success.

Do the warnings reduce or go away with use_frameworks! instead of use_frameworks! :linkage => :static?

Do the warnings reduce or go away with use_frameworks! instead of use_frameworks! :linkage => :static?

No, but I can run the project without the runtime error. The problem now is RemoteConfig.remoteConfig().fetchAndActivate  closure is never called and my our depends of that call. This is only happening when there is a previous build installed with 6.34 because If make a fresh install everything works.

We fixed our issue by running a script that will avoid duplicate issues. We also are using just use_frameworks!. Thanks for the help @paulb777 .


Support electron on x86_64-darwin

Describe the bug
Given that electron-bin is available all platforms, is it possible to do the same regarding the non-binary version?
I wasn't sure if I should open the issue as a package request or bug report.
$ nix-env -i electron
installing 'electron-29.1.2'
error:
       … in the condition of the assert statement
         at /nix/store/iy9abyldmg157mynsfkf6lybpkxpcsv2-nixpkgs/nixpkgs/lib/customisation.nix:268:17:
          267|     in commonAttrs // {
          268|       drvPath = assert condition; drv.drvPath;
             |                 ^
          269|       outPath = assert condition; drv.outPath;

       … while evaluating the attribute 'handled'
         at /nix/store/iy9abyldmg157mynsfkf6lybpkxpcsv2-nixpkgs/nixpkgs/pkgs/stdenv/generic/check-meta.nix:490:7:
          489|       # or, alternatively, just output a warning message.
          490|       handled =
             |       ^
          491|         (

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: Package ‘electron-29.1.2’ in /nix/store/iy9abyldmg157mynsfkf6lybpkxpcsv2-nixpkgs/nixpkgs/pkgs/development/tools/electron/common.nix:215 is not available on the requested hostPlatform:
         hostPlatform.config = "x86_64-apple-darwin"
         package.meta.platforms = [
           "aarch64-linux"
           "armv5tel-linux"
           "armv6l-linux"
           "armv7a-linux"
           "armv7l-linux"
           "i686-linux"
           "loongarch64-linux"
           "m68k-linux"
           "microblaze-linux"
           "microblazeel-linux"
           "mips-linux"
           "mips64-linux"
           "mips64el-linux"
           "mipsel-linux"
           "powerpc64-linux"
           "powerpc64le-linux"
           "riscv32-linux"
           "riscv64-linux"
           "s390-linux"
           "s390x-linux"
           "x86_64-linux"
         ]
         package.meta.badPlatforms = [ ]
       , refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

          Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
                then pass `--impure` in order to allow use of environment variables.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.

If it does require the non-free Xcode as written in the build instructions, then a source-built Electron, even workable (with very less hope, since neither Homebrew nor MacPorts build it from source), is not cacheable on Hydra, so won't interest me much.

This is the same for the aarch64-darwin I will look to supporting and creating a pr adding the support for it once I have my laptop fixed.


Adding CycloneDX SBOM

@coheigea thanks for this change, I am wondering what it the future plan for it - would we publish the generate SBOM somewhere?

@reta It will be published in Maven Central like this when we release: https://repo1.maven.org/maven2/org/apache/santuario/xmlsec/4.0.0/xmlsec-4.0.0-cyclonedx.json


Fix bug where Google Results have a bunch of junk attached to the end for some reason

Also addressing a bug in define where redirected words don't have any output due to error.


++slog/~& can't print non-ASCII characters

Simple reproduction:
:dojo> (tufa ((list @c) ~[102 111 822 111]))
fo̶o
:dojo> ~&((tufa ((list @c) ~[102 111 822 111])) ~)
"fo??o"
~
:dojo> (* (tufa ((list @c) ~[102 111 822 111])))
[102 111 204 182 111 0]

The same is true of a generator producing a %tang vs (slog tang). The underlying cause is the mechanism by which generators and the :dojo itself print to the console:

in drum:
%sole-effect %txt tape becomes
%sole-effect %tan tank becomes
ta-tan->se-text->se-blit or se-dump->se-blit
%dill-blit %out (list @c)
in dill:
%give %blit ~[[%lin (list @c)] ...]
in term.c:
_term_ef_blit()

Whereas ~&, and therefore ++slog, print directly from the interpreter:

_n_hint() in noun.c to
u3t_slog() in trace.c

This is obviously not a high-priority issue... It's kind of a pain, and, long-term, may be an issue for i18n. I just wanted to capture it somewhere.

It's funny, github renders the combining character to the second "o", but the edit box shows properly on the first "o" ...


Implement "Arbitrary Module Namespace Identifiers"

This PR implements Arbitrary Module Namespace Identifiers, which is a JavaScript syntax feature that was added to JavaScript over two years ago (in ES2022) but that TypeScript never added support for. Here's an example of what this syntax looks like:
import { "Foo::new" as Foo_new } from "./foo.wasm"

const foo = Foo_new()

export { Foo_new as "Foo::new" }

What this PR does:

The syntax can be parsed and emitted
It works with type checking and formatting
Seems to work with declaration file generation
Analogous syntax also works for type imports+exports
Converts to various module formats (ESNext, CommonJS, System, AMD, UMD)
Errors when the module format is ES2015 or ES2020
Can be used with "go to definition" and "find all references"
Has basic support for renaming quoted export names across files
Works with the "convert named imports to namespace import" refactoring
Provides completions in import {} and export {} lists
Includes test coverage for all of the above

This seemed to me like a pretty good MVP for this feature. It could certainly be more polished, but it's already very usable.
Note that this PR involves changing the TypeScript AST. This is unavoidable as the JavaScript language has added new syntax.
What this PR does not do:

Syntax highlighting (a separate PR for that is here)
Does not work with the "convert namespace import to named imports" refactoring (introducing this syntax when it's absent may not be a good idea)

My rationale for this PR:
It's especially unfortunate that TypeScript hasn't implemented this JavaScript feature yet because of the popularity of VSCode. The TypeScript language server is also used for JavaScript, so the lack of support for this makes valid JavaScript files that use this feature look invalid in VSCode. I would not be surprised if TypeScript's lack of support is the main reason why I haven't seen any real usage of this feature yet. I'm hopeful that this PR will be able to get this fixed!
Real-world example:
This syntax feature is used by esbuild to configure expressions to be replaced at build-time. The inject setting takes a file and considers each named export to be a potential expression to replace. For example (see it live):
// This file is passed to esbuild using "--inject:./inject.js"

// Minify calls to math functions
const sin = Math.sin, cos = Math.cos, tan = Math.tan
export { sin as 'Math.sin', cos as 'Math.cos', tan as 'Math.tan' }

// Polyfill 32-bit integer multiply if needed
const imul = Math.imul || ((x, y) => {
  const xlo = x & 0xffff, ylo = y & 0xffff
  return xlo * ylo + (((x >>> 16) * ylo + (y >>> 16) * xlo) << 16 >>> 0) | 0
})
export { imul as 'Math.imul' }

This syntax feature is used to convey the expressions to replace because it's both concise and tree-shaking friendly. But writing such a file using VSCode is awkward as the TypeScript language service doesn't fully understand JavaScript syntax. It's also unfortunate that such a file has to be written in JavaScript instead of TypeScript and can't take advantage of type checking.
See also:

https://github.com/microsoft/TypeScript/pull/49297

Fixes #40594
Fixes #43870
Fixes #49147
Fixes #52092
Fixes #54584
Fixes #54733
Fixes #56200
Fixes #56375
Fixes #57017

@microsoft-github-policy-service agree

@typescript-bot test it

I would not be surprised if TypeScript's lack of support is the main reason why I haven't seen any real usage of this feature yet.

I don't know.  I feel like, if I, as a library writer in control of my own API, have the choice between telling my users either:

You have to write import { "Foo.new" as Foo_new } from "foo"  (a renaming import) for each thing you want to import from this library, -OR-
You can just write import { Foo_new } from "foo" if you want.

Then I'm going to choose to tell them 2) every time.  If I know a plurality of my consumers are importing from JavaScript then I'm only going to tell them 1) if there's absolutely no way around it.

Yes, if your API would be improved by not using this feature than you obviously shouldn't be using it. My point was that if you have a use case for which this feature is the most natural fit (see the real-world example I posted), you're still effectively prevented from using it because most people use VSCode these days and the TypeScript language service hasn't added support for it yet.

Then I'm going to choose to tell them 2) every time. If I know a plurality of my consumers are importing from JavaScript then I'm only going to tell them 1) if there's absolutely no way around it.

I don't think that's the point. One of the issues related to this PR, #40594, mentions this feature is for WASM support, since WASM can export unicode exports.
Typescript also prides itself on being a superset of Javascript, so since Javascript supports this type of imports, Typescript should too. This PR does not encourage exporting library authors to make their API more inconvenient to use, but there are valid use cases for it.

Ignoring what Daniel already said, I can't really find a fault with the PR as-is.
Is this something we're trying to get into 5.5 RC, or wait for 5.6?

Feel free to add that in this PR, but I wouldn't gate the PR on that at all.

Yes, I strongly suggest this PR should be done without fine-tuning everything. From my experience of developing #49297, I tried to make all the language service stuff great at once, and there was too much work to do and I drained.
I had a checklist for my PR, that's everything I can think of about this feature.

Code fix: unnecessary string names export { a as "b" } => export { a as b }
Special case: export { a as "export=" } reports An export assignment cannot be used in a module with other exported elements.ts(2309)
Internal refactor: InternalSymbolName?, CompletionDetailsFull?, SignatureHelp
Completion

type z = typeof q.^
{ V as '' } (empty name does not show up)
export { V as 'export=' } (this name does not show up)

Find reference: ns['b c']
Rename

export { ^a } (identifier to string)
export { a as ^b } (identifier to string)
export { a as "b" } (remove unnecessary quotes)
export * as "b c" (string rename)
export * as x (identifier to string)
import { a } (identifier to string)
import { ^c as b } (identifier to string)
import { "^c" as b } (string rename)
ns['a b'] => ns['d'] (rename to identifier not removing quotes)
ns.b (identifier to string)

Hover: generates invalid code

Thanks for the heads up about the export= edge case—I wasn't aware of that one. Arbitrary module namespace identifiers causing name collisions with internal symbols is something I had to deal with in esbuild's implementation too (I was using "*" as a special name before I had to change it). It is a strange edge case, but luckily it doesn't block usage of this feature other than for that specific export alias.
It looks like the way to deal with that in the TypeScript code is to add double underscores before the internal symbol name (so maybe __export=?). That seems to work but it touches a lot of files (mostly test baselines) and has other consequences (e.g. potentially affecting error messages) so maybe it's best done in a follow-up PR? I'm happy to put a PR up for that too if that's a change that the TypeScript team is open to.

Spitballing, but these should be

supported as string literal completions
converted into string literal completions if writing an identifier that matches and the client supports insertText

insert an as if the name is strictly being used for a local import (not re-exporting)

Feel free to add that in this PR, but I wouldn't gate the PR on that at all.

I added support for the first one (completion within an existing string literal). I'm not sure whether or not I have all of the necessary context about the code to add support for the second one.

Ok now I've also added support for the second one (complete identifiers into matching string literals, using as when appropriate). But I'm less sure about this change. Is it ok to always return a non-identifier alias as a completion like that? I'm happy to roll that change back and leave it for future work if the correct approach is indeed more complicated than what my solution does.

This looks good but may need to wait to merge until after we switch main to target 5.6. I'm going to modify the PR description to use Fixes #<issue> for each issue instead of the bulleted list since GH's issue linking and auto-close functionality doesn't understand bulleted lists.

@typescript-bot perf test
@typescript-bot run dt
@typescript-bot test top400
@typescript-bot test tsserver top100
@typescript-bot user test this
@typescript-bot user test tsserver


Ctrl-A on Windows does not move to beginning of line

[x ] I am on the latest Hyper.app version
[x ] I have searched the issues of this repo and believe that this is not a duplicate

Windows 10 Insider Fast Ring:
1.3.1:
The issue is reproducible in vanilla Hyper.app:

Issue

On Windows, Ctrl-A is mapped to Select All. Maybe this is the desired effect and the default. But it's a bit disorientating, I was expecting the normal readline (emacs-style) shortcuts to work, taking me to the beginning of the line.
Is this by design? Or would you consider it an issue?

see #1525 Definitely a problem

close in #1876


Deploy Commands code

Where is the step by step discord bot guide with the 'deploy commands' code

Here it is: https://github.com/CodingTrain/Discord-Bot-Examples/tree/main/01-discordjs
The readme file in this directory contains the step by step instructions that Dan followed in the video, and the deploy commands script is also in there. (It is also linked in the YouTube description!)


Copy Paste Text. Warning Message causes overlay

Environment
Windows 10 202h 19042.685
Windows Terminal 1.4.3243.0
WSL2 Ubuntu
Steps to reproduce
Copy Text and paste it in Terminal until you get a Warning message.
Expected behavior
No overlay.
Actual behavior
Black transparent overlay

The same problem was reported earlier as https://github.com/microsoft/terminal/issues/2380 and is being tracked as https://github.com/microsoft/microsoft-ui-xaml/issues/3577.

I must overseen it. Alright thank you!


User interaction listener / notifier

Environment
Flutter version: 3.16.8
Plugin version: 6.0.0
Android version: all
iOS version: all
Description
What you'd like to happen:
I am asked to implement a feature that quits a webview after a certain period of inactivity.

for the touch screen/mouse event, i was able to add a GestureDetector around the webview to catch touch events (i had some difficulties, even with behavior: HitTestBehavior.translucent that looks to break the web pan events, but i found a intermediate solution thta works forme) : ok, i can know when there is a touch activity
for the keyboard event, there is my issue. If the user is writing a text in a text input, i don't have any feedback from the Flutter side to know if the user is typing or inactive. I tried with ServicesBinding.instance.keyboard.addHandler(_onKey); that looks to catch keyboard events everywhere except in the webview.

Do you know if there is a solution to listen/be notified abut user interaction, (even without having its details, for securoty reasons for example)? Thank you very much

Actually, I found a solution :
I inject a javascript listener (document.addEventListener) on the events i want to listen to ('keypress', 'touchstart', 'touchmove', 'focus', 'input'), that calls a handler i declare in the Flutter side.
So everytime a user interacts with the webview, i can be notified in Flutter side, without having any conflit of events management.


Why not provide some interface like PyYaml？

When I want to use C programs to process yaml file,  I found it is not so convenient compared to PyYaml. Like get specific value through the key.

C has no native dictionaries like Python.
There is a document interface though.
https://github.com/yaml/libyaml/blob/master/tests/run-loader.c#L42
yaml_parser_load(&parser, &document)
To see what you can do with such a document struct, open the documentation of libyaml (see https://github.com/yaml/libyaml/releases - fetch the tarball and look under the doc directory).
Go to "Data Structures" - "yaml_document_s"
There you will find functions like yaml_document_add_sequence, yaml_document_append_sequence_item etc.
I don't know how much C you know, but in general a lot of things are more convenient in languages like Python than they are in C :)

You might also want to try https://github.com/pantoniou/libfyaml as it has a nice commandline tool with support to reference paths in the structure

Thank you! @perlpunk