Added ploly to list of packages

Minor fix in documentation!
You may ignore!

Not at all! Will merge when tests pass :)


[Bug]: "Add Server" dialogue cannot be used to add server

Checks before filing an issue

[X] This issue doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[X] I have checked the issue tracker and have not found an issue that matches the one I'm filing.
[X] This issue is not a troubleshooting question. Troubleshooting questions go here: https://forum.mattermost.com/c/trouble-shoot/16.
[X] This issue is not a feature request. You can request features and make product suggestions here: https://mattermost.com/suggestions/.
[X] This issue reproduces on the most recent stable version, or the most recent prerelease version of the Mattermost Desktop App.
[X] I have read the contribution guidelines.

Mattermost Desktop Version
Version 5.5.1<PHONE_NUMBER>1)
Operating System
macOS Ventura 13.4 (22F66)
Mattermost Server Version
9.1.0
Steps to reproduce
Click the server selection dropdown. Click "Add a server". Type or paste a Mattermost URL that the app does not already know about.
Expected behavior
I expect that the app will go verify that the URL is actually for a Mattermost server, leave the entered URL in the text field, allow setting the display name of the server, and allow me to click Add.
Observed behavior
When the URL is entered, the app goes and checks that the URL is for a Mattermost server. Having verified that it is, it clears the URL text field. It's still possible to click Add, but no server is actually added.
Log Output
[2023-10-21 13:41:03.422] [error] Logger Log level set to: info
[2023-10-21 13:41:03.537] [warn]  [App.Initialize] Current working directory is /Users/b/Library/Containers/Mattermost.Desktop/Data, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-21 13:41:03.654] [info]  [App.Utils] MAS: No files to migrate, skipping
[2023-10-21 13:41:03.666] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-21 13:41:03.712] [info]  [ServerDropdownView] init
[2023-10-21 13:41:03.725] [warn]  [i18nManager] Failed to set new language en-US
[2023-10-21 13:41:03.726] [warn]  [i18nManager] Failed to set new language TH
[2023-10-21 13:41:10.605] [info]  [ModalView] [newServer] preloading with /Applications/Mattermost.app/Contents/Resources/app.asar/desktopAPI.js
[2023-10-21 13:41:23.396] [error] [App] [ServerViewState] there was an error in the new server modal: Error: Invalid url for creating a server

Additional Information
No response

@bsl I can't reproduce this myself, can you take a video of what you're seeing? That would be very helpful, thanks :)

@devinbinnie https://www.youtube.com/watch?v=jdARq0LofQk

@bsl Thank you for the video. Looks like your server doesn't have the SiteURL set to anything.
There is a bug though in the Desktop App, because we shouldn't be blanking out the URL if this is the case, so we'll fix that.
For now, the fix (and definitely recommended practice) is to set the SiteURL.

Created ticket: https://mattermost.atlassian.net/browse/MM-55134

@devinbinnie That was it. Thank you.

I am still having this issue.

I'm on MM server version 9.4.1 and client 5.6.0


migrate struct from core -step to drone-go

Removing Step struct from core and using drone-go version.
Update drone-go version and dependencies

I wouldnt move the Nullstep struct or IsDone Function, its not about moving them, its about removing duplicated structs. But that is my opinion, worth seeing what @bradrydzewski says.


Application freezes

Test case JPP_0207 makes the application freeze.
Code of JPP_0207:
// variant info
"variant_1"            : "VARIANT_1",
"variant_2"            : "VARIANT_2",
"list_variant_numbers" : [1, 2],
"list_variant_index"   : 0,
"variant_number"       : "1",
"dict_variants"        : {"variant_1" : "VARIANT_1", "variant_2" : "VARIANT_2"},
"variant_key_1"        : "variant_1",
//
"INNERMOST_VARIANT_VALUE" : "RIA",
"ARIAN"                   : "ARIAN",
"VARIANT"                 : "VARIANT",
//
// milestone info
"milestone_1"            : "MILESTONE_1",
"milestone_2"            : "MILESTONE_2",
"milestone_3"            : "MILESTONE_3",
"list_milestone_numbers" : [1, 2, 3],
"list_milestone_index"   : 1,
"milestone_number"       : "2",
"dict_milestones"        : {"milestone_1" : "MILESTONE_1", "milestone_2" : "MILESTONE_2", "milestone_3" : "MILESTONE_3"},
"milestone_key_2"        : "milestone_2",
//
"innermost_milestone_name" : "est",
"ilesto"                   : "ilesto",
"milestone"                : "milestone"

"VAR_${dict_variants.${variant_key_${variant_number}}}_MS_${dict_milestones.${milestone_key_${milestone_number}}}_param" : "value"

Last line is expected to be resolved to:
"VAR_VARIANT_1_MS_MILESTONE_2_param"  :  'value'
Maybe related to:
https://github.com/test-fullautomation/robotframework-testsuitesmanagement/issues/225

Hello Holger,
I debugged the test case JPP_0207, and observed this issue is not related to https://github.com/test-fullautomation/robotframework-testsuitesmanagement/issues/225
This issue related to "Nested ${} expression not resolved (JPP_0358)" https://github.com/test-fullautomation/python-jsonpreprocessor/issues/109
I will update a new commit to fix this issue.
Thank you,
Son

Hello Holger, Hello Thomas,
This issue was fixed in lasted commit on stabi branch, and I also created new pull-request for this.
Thank you,
Son

Retest successful. Issue can be closed.


Incorrect error context: ng2-translate.js:41

I'm submitting a ...  (check one with "x")
[ ] bug report => check the FAQ and search github for a similar issue or PR before submitting
[x] support request => check the FAQ and search github for a similar issue before submitting
[ ] feature request

Current behavior
I'm using ng2-translate within a Meteor app. Sometimes I get error messages within the wrong context, for example:
ng2-translate.js:41 Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.

ng2-translate.js:41 Uncaught TypeError: Cannot read property 'remove' of null
ViewController.dismiss @ ng2-translate.js:41
ToastCmp.dismiss @ ng2-translate.js:41
(anonymous function) @ ng2-translate.js:41
ZoneDelegate.invokeTask @ ng2-translate.js:41
Zone.runTask @ ng2-translate.js:41
ZoneTask.invoke @ ng2-translate.js:41

Those errors are unrelated to ng2-translate but it shows 'ng2-translate.js:41' all over the place. It seems to happen only with errors that are from a callback somewhere, but I can't reproduce it inside my own callbacks.
Any idea how to get proper error context? It's hard to fix bugs this way.
Please tell us about your environment:

ng2-translate version: 3.1.0
Angular version: 2.0.1
Language: [TypeScript]

I ship the source maps within the bundle, it should give you a better sense of where the error comes from if you setup your project to use source maps

Closing this, let me know if you need it to be reopened.


Implemented normalizer for SQLServer that adds an order by clause inside slices

SQLServer does not support LIMIT and OFFSET on rows that have not first been ordered.
Added a new normalizer that inserts ORDER BY nodes inside slices if they do not already have one. The ORDER BY node sorts on a newly created variable to guarantee that it can always be sorted successfully.
This means we no longer require the old "ORDER BY (SELECT NULL)" used in the SQLServerSelectFromWhereSerializer, as it caused issues.

Thanks Damian!


Update usage.md

link to resolver file

Hi @pdelteil - thanks for your contributions. Since I don't consider where to find a list of resolvers to use with massdns as part of the objective of the BBRF project, I don't want to clutter the documentation with that kind of details.


Global mark lost after executing a :vimgrep command

vim --version: 8.0 patches up to 1159
Operating system/version: Linux, Ubuntu 16.04
Terminal name/version: xfce4-terminal
$TERM: xterm-256color

Sometimes, one of the global marks I set on a file is lost, or changed to another file.
I think it happens after executing a :vimgrep command.
Here's a way to reproduce.
Create a temporary file:
$ touch /tmp/file

Start Vim to edit this file and set the global mark Z on it:
$ vim /tmp/file
mZ
:q

Start a new Vim session without any custom configuration, and load the file by pressing 'Z to check the global mark has been correctly set and saved in ~/.viminfo:
$ vim -Nu NONE
'Z
:q

It should work as expected. Now, restart a new Vim session, again with no custom configuration. Don't load the /tmp/file, and execute :vimgrep to search for a random pattern inside the /tmp directory.
$ vim -Nu NONE
:vimgrep /random_pattern/ /tmp/**/*

You will probably get the error E480 (No match: random_pattern), which is expected. But now, if you try to load the /tmp/file by pressing 'Z, instead of loading the file, Vim displays the error E92 (Buffer 2 not found). And if you execute :marks, you should see that the global Z mark is not set anymore.
It seems that Vim loaded /tmp/file to look for random_pattern, didn't find it, and thus wiped the buffer. And by wiping the buffer, the global mark is deleted.
Would it possible for :vimgrep to not wipe a buffer for which a global mark exists, and instead only delete it with :bdelete?

That's exactly what happens, if there are no matches in the buffer it is :bwipeout'd away here.

sounds familiar:
https://groups.google.com/d/msg/vim_dev/Z85RljTZOtw/6i7HM2e-gRgJ
reported by me and includes a patch to fix this behaviour. Back then the reaction was to declare this as a feature. Patch is still available here, don't know if it still applies and the test should be converted to a new style test.

@chrisbra Yes I agree with you. I would like to consider global marks as associated to file paths, like bookmarks in a web browser are associated to a url. Not to a buffer. So, I would prefer that :bwipe leaves global marks untouched.
But at the very least, a :vimgrep command, or any command other than :bwipe (& maybe commands closely related to it), should not delete a global mark. :vimgrep has nothing to do with :bwipe, it's just a detail of implementation that the user shouldn't be concerned with.

As a workaround, I'm experimenting a modified version of this code:
set viminfo^=!

fu! s:global_mark_set(char) abort
    let g:GLOBAL_MARK_{a:char} = { 'fpath': expand('%:p'), 'pos': getpos('.')[1:2] }
endfu

fu! s:global_mark_go(char) abort
    if !exists('g:GLOBAL_MARK_'.a:char)
        let info = get(filter(split(execute('marks'), '\n'), 'v:val =~# "^\\s*'.a:char.'"'), 0 , '')
        if !empty(info)
            let fpath = matchstr(info, '^\s*'.a:char.'\s\+\d\+\s\+\d\+\s\+\zs.*')
            let pos   = split(matchstr(info, '^\s*'.a:char.'\s\+\zs\d\+\s\+\d\+'))
            let g:GLOBAL_MARK_{a:char} = { 'fpath': fpath, 'pos': pos }
        else
            return ''
        endif
    endif

    try
        exe 'e '.g:GLOBAL_MARK_{a:char}.fpath
        call timer_start(0, {-> execute('call cursor(g:GLOBAL_MARK_'.a:char.'.pos)|redraw')})
    catch
        return 'echoerr '.string(v:exception)
    endtry

    return ''
endfu

fu! s:global_mark_build() abort
    for upper in map(range(char2nr('A'),char2nr('Z')), 'nr2char(v:val)')
        sil! exe "nno <silent> '".upper.' :<c-u>exe <sid>global_mark_go("'.upper.'")<cr>'
        sil! exe 'nno <silent> m'.upper.' :<c-u>call <sid>global_mark_set("'.upper.'")<cr>'
    endfor
endfu

call s:global_mark_build()

It installs wrapper mappings around all 'A, ..., 'Z, mA, ..., mZ commands, and saves / uses information about the marks in the viminfo file.


adding api version deprecation check for templates

checks api version in templates

if version is deprecated - show warning
if version is upsupported - throw exception

Codecov Report

Merging #6 into master will decrease coverage by 0.17%.
The diff coverage is 81.03%.

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
- Coverage   80.45%   80.27%   -0.18%
==========================================
  Files           5        6       +1
  Lines         619      654      +35
==========================================
+ Hits          498      525      +27
- Misses        121      129       +8

Impacted Files
Coverage Δ

k8s-handle.py
0% <0%> (ø)
:arrow_up:

k8s/resource.py
89.61% <100%> (ø)
:arrow_up:

templating.py
96.62% <90%> (-1.93%)
:arrow_down:

k8s/util.py
92.85% <92.85%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48aef9e...8e1c1ac. Read the comment docs.

LGTm


added perspective option to client config

I added the new perspective option to the sanity client config.

Do we also need a new type for module options?

I am not sure


FEATURE REQUEST: Ad Fraud Flag

Howdy - i'd love an extra checkbox on the plugin for people using this plugin to flag suspected fraudulent online advertising setups. I know this data is transferred with the DOM + screenshots and some of the referral data but having one extra checkbox for "This submission is related to the advertising on this website." or something similar, would make it possible for the suspicious site reporter to be used by data supply researchers so that we don't need to use your bug submission processes for minor issues.
Thanks for considering and the plugin, cheers~

@livvielin Could a fan develop this feature or does "Note that if the extension is built from here instead of using the version on the webstore, the private referrer chain API will be unavailable" mean that it wouldn't work?

A non-Googler could indeed develop this feature! The extension built directly from here and loaded as an unpacked extension does have some bugs/missing features, but any changes made to the code here via pull request would be included in future releases of the extension available in the Chrome Web Store.


Payment arrangements

When entering payment arrangements you cannot choose today's date
They need to use today's for credit card payments being made today on the phone.

Issue moved to SurpassSoftware/CCHA-Collect-Cloud #1029 via ZenHub


Sentry

This PR introduces basic integration with Sentry. I've contacted with Sentry crew and they so kind to donate their services to Shields. We've got a "Sponsored" plan, which handles 500 000 events/month (compare with pricing). Sentry has a lot of configuration options, documentation can be found here.
I and @paulmelnikow currently have "owner" role in project created for Shields. Probably everyone who is interested in should has access to shields account (available roles).
Node integration for Sentry by default reports all unchecked errors. Additionally I've added reporting errors caught by vendorDomain in lib/request-handler.js. The DSN must be configured. It can be done by the SENTRY_DSN environment variable. Everyone can create a free account on Sentry and generate the DSN.
When you run server without DSN you will get an alert in logs:
>>> npm run start:server
><EMAIL_ADDRESS>start:server /home/m/workspaces/github/shields-platan
> node server 8080 ::
<EMAIL_ADDRESS>alert: no DSN provided, error reporting disabled
0104204502 Server is starting up: http://[::]:8080/

and Sentry will not send errors.
Of course we can change it to read DSN from private/secret.json, but SENTRY_DSN is quite convenient.
DSN env variable for Shields should be configured at server.
What do you think about using Sentry? What else should be done?

Warnings

:warning:

This PR modified the server but none of the service tests. That's okay so long as it's refactoring existing code.

:warning:

This PR modified helper functions in lib/ but not accompanying tests. That's okay so long as it's refactoring existing code.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @platan!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS

@platan Logs can contain secret tokens for private projects of commercial companies on various services they use.

I'm still a member of the Shields.io team, but in a dashboard of the img.shields.io project a can see "You do not have permission to perform this action.", so it works.

@espadrine I've changed code according to your suggestions. I will add throttling of messages logged when Sentry is down within a few days.

PR is ready to be reviewed :-)

This is live! And it works.

Can't wait to give this a try!

Wow, this is really handy!! Thanks so much @espadrine and @platan… and the folks at Sentry for donating the service!
We should add acknowledgements in our readme and on the website!


Please deploy on maven central

1.0.1 is released, but 1.0.2 is not released. Please be sure to keep maven central up to date.
Thanks,
-Rob

In progress

Any luck on this? I could really use the newer version that uses the provider chain & not forces the use of profiles.
Thanks,
-Rob

Swagger/OpenAPI import is now generally available in the API Gateway REST API, the AWS CLI and all AWS SDKs. You can also import and export Swagger definitions using the API Gateway console. This release addresses many of the open issues and feedback in this repository.
I would encourage you to migrate your workflow to the standard AWS tools. aws-apigateway-importer will receive minimal support from the API Gateway team going forward.
Any feedback or issues with the new importer should be directed to the official API Gateway forums.
Thanks,
Ryan


Update StackExchange.Redis to latest version

Hi @MichaCo!
Just wonder are there any plans to update CacheManager.StackExchange.Redis to use latest StackExchange.Redis (2.0+)? They have improved networking significantly in this release. So that'd be great to see this in CacheManager too.
Thanks!

Hi @SergeyLukashov,
Yes I've followed the release updates from Marc&co and will update CacheManager to support the new version whenever I find time to test it.

Sounds great! Looking forward to check it out!

I am also keenly awaiting this upgrade to 2.0+ - happy to help with testing where possible.

Yes, please! That would be very helpful.

CacheManager 2.0 beta packages do use the new Redis 2.0 client.
Still have to do some testing and will release it soon

I decided to re-release 1.1.2 with just the Redis upgarde and some .NET Standard 2.0 support additions.
That's version 1.2.0 which has just been released!


Update CP-Flow fork as extra dependency for MQF2

Description of changes: relaxed torch and pandas requirements in my fork, so that this doesn't hold back dependencies in the test workflows https://github.com/lostella/CP-Flow/blob/gluonts-dependency/requirements.txt
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

As expected, torch==2.0 getting installed and not replaced when cpflows is installed, see https://github.com/awslabs/gluonts/actions/runs/4447126839/jobs/7808282084


fix(xapi): remove green.bold and update mysql packages for deprecatio…

I removed green.bold on lib/xapi line 366 because it is undefined
I also update mysql packages so that will remove deprecation warning

fixing for issue https://github.com/o1lab/xmysql/issues/103


Bitmap print

Nice library! Is there support for printing bitmaps/images?

Hi, yes  really great work, If have the same question, i tried to integrate bitmp print ( a bit in the idea of the integration of the qr code print) but it didn't work for me. Do you have any ideas?


Rename socket_proxy to zsocket_proxy

docker-compose v2 had network priority, unfortunately docker-compose v3 does not have this functionality (yet?). See https://github.com/docker/cli/issues/1372
Networks are assigned to containers using alphabetical order, in this case it means that "socket_proxy" is always ordered before "t2_proxy", this in turn means that the default gateway in containers is always the "socket_proxy" gateway and therefore the outgoing IP address to other containers. I believe this is wrong and the outgoing containers' IPs should always be the default networks gateway and respective IP as well as the traefik containers' IP - never the socket-proxy IP.
I recently ran into this problem due to Authelia refusing oauth requests from container-to-container since I didn't allow the socket-proxy network to communicate via Authelia (because why should it, it should always just be container <-> docker sock).
Taking the traefik container as an example:
Before the change
$  docker exec traefik route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         <IP_ADDRESS>    <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS>    *               <IP_ADDRESS>   U     0      0        0 eth1
<IP_ADDRESS>    *               <IP_ADDRESS>   U     0      0        0 eth0

After the change
(note the assignment of eth0/eth1)
$  docker exec traefik route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         <IP_ADDRESS>    <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS>    *               <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS>    *               <IP_ADDRESS>   U     0      0        0 eth1

This could have been changed in docker-compose v2 with the priority attribute (assigning e.g. priority: 10 to the traefik proxy network), but this just doesn't work with docker-compose v3. 😐

Sorry for the delay. The reason i havent' merged this yet is because i will have to modify a whole bunch of documentation to reflect this.

Looks like this is finally going to be addressed.
This issue was brought up on the docker/compose github: https://github.com/docker/compose/issues/12170
Which lead to an issue on Moby: https://github.com/moby/moby/issues/48868
Which resulted in a fix adding the priority setting: https://github.com/moby/moby/pull/48936
According to the Moby issue, the fix should be part of the Moby v28 release (currently v27 at time of posting). Hard to tell how long until Moby v28 is released and from that point how long until Docker Compose adopts it.


cppflow2: meta_graph leaks

https://github.com/serizba/cppflow/blob/ff862943dc4167ee9a4bfb6ca5483cf0fbd201ce/include/cppflow/model.h#L50
meta_graph needs to be deleted. We can also pass in nullptr if it is not used.

Thanks for spotting it, I don't know why was this line commented...


Fix db domain name for PG flex

Fixing the PG flex domain name.
This PR is not correct yet as I'm not sure what Cosmos PG expects, I need to add if/else somewhere, I believe. Can you advise?

Fixed, it should now be correct for both pg flex and cosmos pg.

LGTM!


Make build excluded over all folders in the project

Current /build* ignore pattern will exclude build only in the root of the project.
In some cases it is needed build folder to be located in app folder or anywhere else in the project.
This PR fixes this behaviour.
How to reporduce: Make west put build artefacts into /app/build folder or just move your folder there. You shall see git showing you about 500 untracked files.
UPDATE: This change allows efectivelly delete the whole build folder with git clean -xdf. Please still be carefull using this command anyway.

@henrikbrixandersen Interestingly you will not be putted as assignee. Thus I ping you :) Please take a look.

@henrikbrixandersen Interestingly you will not be putted as assignee. Thus I ping you :) Please take a look.

There is really no need to ping me. I get notification for all activity here.

@KozhinovAlexander Thank you for your contribution :)


Ensure that presentations are available online by default when they are given

All too often, meeting presentations at scientific conferences are not shared at all. For Force11 meetings, most presentations are actually made available at some point, but the problem here is the time lag between when the presentation is given and when it is available online.
We should strive to have some online version of the presentations available at the latest when the talk/ demo/ poster etc. is presented, and preferably a few minutes or hours earlier. This makes it much more efficient to actually follow the presentation and to engage with it in terms of posting questions or comments and in terms of sparking collaboration and reaching out into a wider community more quickly.
While archived presentations are being used, sharing them with the original audience in time for the original event seems to be a straightforward way to improve conference experiences.

This issue was moved to force11/force2018#10


fix: added userPermissions in newPage Api

Description
Issue:
Need to add userPermissions in response to newPages Api inside pages array: These are the APIs
/v1/pages?applicationId={applicationId}&mode={mode} - Get method
/v1/pages/application/:applicationId - Get method
Solution:
Added userPermissions in the response of the above APIs.
Changes:
These are the changes done in the following file to add userPermission in the newPage Api response

New FieldName added which is used in query
userPermission attribute added in PageNameIdDTO
userPermission coming from db set to response in NewPageServiceCEImpl
Test cases updated

Fix #21887
How Has This Been Tested?

Manual testing through postman and UI
Junit

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/build-deploy-preview

/ok-to-test sha=4294e85


option to run locally and automating via command line

Hello,
I am looking to use ezbids for automatic sorting of sequences and was wondering if there is a way to do this 1)  locally without transferring the data  and also  2) run it via command line.  i found solution to (1) via docker and using localhost:3000 and using the web interface, however, it would be extremely useful if that can be automated via CLI as well. Any suggestions on how to go about it?

Hi @vikramraobm,
Thanks for reaching out. Glad to hear that you were able to set up ezBIDS locally.

it would be extremely useful if that can be automated via CLI as well. Any suggestions on how to go about it?

Unfortunately, ezBIDS does not have CLI options. This is purposeful, as ezBIDS caters to researcher who aren't as comfortable using the command line (terminal) or do not want to spend additional time learning the idiosyncrasies of a BIDS conversion tool. Furthermore, there already exist several other CLI BIDS converters, so we didn't want to reinvent the wheel. Lastly, ezBIDS operates under the assumption that BIDS conversion cannot be fully automated; users should check to ensure their data are correctly converted.
There is however the ability to download a template once you're finished with an ezBIDS session that can be used with subsequent uploads (of the same dataset). This auto-fills fields, meaning there's less point-and-click.


Further documentation edits

Thank you for making the previously requested changes to the documentation — things look great! I especially appreciate the random number notice at the bottom of the notebooks. A few further items to address:

[x] Infrequent usage of psrsimsig vs. psrsigsim, found in
- index.rst
- constributing.rst (the GitHub link)
- installation.rst
[x] In contributing, the Travis link should now point to https://github.com/PsrSigSim/PsrSigSim/actions, I believe
[x] in the random generation note:
- a call the seed generator —> a call to the seed generator
- is essentially used —> are essentially used

This issue is part of my JOSS review.

@arjunsavel I've made all of the changes above to the docs in  #PR197. Thanks for the careful copy editing!


feature request: multiple materials/colours

Would be nice if materials were output into separate files. One for each colour/material.
If output is image, then one per material/colour per slice.
Edit: on second thought, one image file per slice would work too.

@SwissalpS
I don't understand well just with the question, can you explain it in a more verbose way?

yes @cpederkoff, that is an example we can use.
I'd like to convert an stl that contains multiple materials (e.g. multicolour printer).
The output would be for example basic tiff/bmp slices of the voxelized model.
In the given example we would likely start at the bottom. The first slice would contain the colour codes of the voxels with the soles of the cat's paws.
The last slice would be of the top of it's head.
I'm thinking of models where the different colours can not be printed separately and then
put together, they need to be printed together at the same time.
I don't intend to use this for printing per se, it's just easier to understand.

Hi @SwissalpS ,
A change was just merged to allow for converting multiple STLs into one set of images. Hopefully this fixes your issue. :)

Cool, will play around with the newest version, thanks :D


Filter index page based on political and history mode status

Adds two new filters to the index page:

Marked as political => "", "Yes", "No"
In history mode => "", "Yes", "No"

We did consider having labels for the latter as "Yes - past government", "No - current government", but these don't fully explain what constitutes history mode (e.g. a document published by a past government is not in history mode if it is not classed as political content).
Screenshot:

Trello card: https://trello.com/c/7ZtSXVFx/1211-filter-index-page-based-on-political-and-history-mode-status

Great, thanks! I'll suggest holding off on merging until Monday, and letting @gclssvglx hit the Merge button. Might be a good chance to show him how we deploy to staging and production too.
I'll be WFH but maybe another dev could pair on the deploying?


refactor: use ULIDs for items

Please pay attention to the migration script, as it's responsible for migrating all items and votes. I've also changed all instances of monotonicUlid() to ulid() at there appears to be a bug that prevents monotonicUlid() from respecting the seedTime parameter.
The migration can be simulated as follows:

Switch to main branch.
Run deno run db:reset.
Run deno run db:seed.
Run deno task start and navigate to http://localhost:8000.
Vote some items.
Note the voted items and the order of the items feed.
Switch to ulid-items branch.
Run deno run db:migrate.
Run deno task start and navigate to http://localhost:8000.
Check that the voted items and the order of the items feed are identical to those previously noted.

Closes #475
Closes #476

@kt3k, I've made some tweaks. Try now.

Confirmed it's fixed now 👍


Error on WebDeploy to isolated ASE in Azure

Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Environment

Server - VSTS or TFS on-premises? VSTS

If using TFS on-premises, provide the version:

If using VSTS, provide the account name, team project name, build definition name/build number:

Agent - Hosted or Private:  Private

If using Hosted agent, provide agent queue name:

If using private agent, provide the OS of the machine running the agent and the agent version:
Private
Agent.OS | Windows_NT
Agent.OSVersion | 10.0.14393
Agent.Version | 2.120.2

Issue Description
##[warning]Error: Hostname/IP doesn't match certificate's altnames:
It will work when I deploy it again. I have the switch -allowUntrusted in the additional arguments.
Error logs
##[warning]Error: Hostname/IP doesn't match certificate's altnames:
I am unable to give the full logs in public.

Hi youngcm2, Can you please share the debug logs to<EMAIL_ADDRESS>On the Variables tab, add system.debug and set it to true and run the release to generate debug logs

Hi youngcm2,If you dont want to use  -allowUntrusted option, we have to install a ASE certificate on the agent machine to make it worked. Please follow the steps in below link to create and install a ASE certificate.
https://docs.microsoft.com/en-us/azure/app-service/environment/app-service-environment-with-internal-load-balancer
https://docs.microsoft.com/en-us/azure/app-service/environment/create-ilb-ase

Hi @youngcm2
If you are still facing the issue please send the debug logs to<EMAIL_ADDRESS>

Please reopen if you face the issue again.

I am facing this same issue with a self signed cert. Can you please help?

Closing the issue as the recommendation is provided in logs and there is no response from customer.
Summary
When Self-signed certificate is used for App Services configured under App Service Environment, App Services tasks fails with SSL error. The recommendation is to install appropriate certificate from CA in the agent machine.
However , if  you want to ignore SSL error, set variable VSTS_ARM_REST_IGNORE_SSL_ERRORS to true and pass -allowUntrusted in additional arguments of Web Deploy option.
[Reference]


"Recent" is confusing when not sorting by most recent

In a number of places on the site, sections are labeled as "Recent" for example "Recent Posts" "Recent Comments". This is confusing because the default sort is the magical sorting so it may not show a recent post or comment you are aware of.  I propose dropping the word "Recent".

Fixed.


fails to load .svg, .webp wallpaper

Fails to build when stylix.image is set to a .svg or .webp asset. This is especially frustrating because it seems to fail even when the base16Scheme is set manually.
Error log
       last 10 log lines:
       > Jpeg Invalid marker used
       > PNG Invalid PNG file, signature broken
       > Bitmap Invalid Bitmap magic identifier
       > GIF Invalid Gif signature : <svg w
       > HDR Invalid radiance file signature
       > Tiff Invalid endian tag value
       > TGA not enough bytes
       >
       > CallStack (from HasCallStack):
       >   error, called at Stylix/Main.hs:22:26 in main:Main

Setting base16Scheme should disable the palette generator, so I'm not sure why that is still running.

It's still running because it is linked from /etc/stylix/palette.json, I will try to see if I can fix that later.

Ok so the problem is that we want to store the generated palette to make sur it isn't garbage collected (in which case the generation will be run again even if nothing changed). The drawback of the current setup is that it always evaluates the generated scheme. I am not sure how to detect if the theme has been generated or not without running the generation, so I think I'll have to add an explicit option to disable generation.


'HTML5Translator' object has no attribute 'set_first_last'

I'm getting the following error in sphinx when using nbsphinx:
Exception occurred:
  File "/home/lu/.virtualenvs/test/lib/python3.6/site-packages/nbsphinx.py", line 1376, in visit_admonition_html
    self.set_first_last(node)
AttributeError: 'HTML5Translator' object has no attribute 'set_first_last'

The error only shows up when making epub output; html and latex are fine.
nbsphinx version: 0.3.2
Sphinx version: 1.7.0 (also tested 1.6.5 with same result)
docutils version: 0.14
If I lock the Sphinx version, sphinx<1.6, the error goes away.
See also: https://github.com/rtfd/readthedocs.org/issues/3148

I was hit by this today as well:
https://readthedocs.org/projects/telluric/builds/7029356/
(and I also originally reported rtfd/readthedocs.org#3148)

This happens for epub output because that uses the HTML5 builder (since Sphinx 1.6).
The same error can be provoked with HTML output by using the html_experimental_html5_writer option.
I've created #179, which doesn't use set_first_last() anymore.
@clenk, @Juanlu001 Can you please test if this works for you?

Seems to work for me!

Cannot test this since it's an error with Read the Docs, but it's also epub so looking forward to it :) Perhaps can we have a release soon-ish?

Perhaps can we have a release soon-ish?

See https://github.com/spatialaudio/nbsphinx/pull/178#issuecomment-382050380.

@Juanlu001 I tested it locally by running make epub in my docs folder. It's basically what RTD does.

It fixed the issue. Thanks @mgeier!


Only set a podSet name if there is only one

What type of PR is this?
/kind bug
What this PR does / why we need it:
If we always set a default name, we get an error like this:
The Workload "sample-workload" is invalid: spec.podSets[1]: Duplicate value: map[string]interface {}{"name":"main"}

Which is confusing, because the user didn't set this name.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This PR is based on #317. Review only from second commit.

/assign @kerthcet

/lgtm


c++20: make all constexpr

In C++20, all const function in std::vector are constexpr.
I know the library is c++14 and it will probably need constexpr new in c++ 20. Plus, probably like you, I don't actually have enough time to implement it.
I'm just creating this issue to know if it could be a good idea to integrate this feature in a future roadmap ?

Hi!
With my understanding on the limtiations of constexpr new, I think it would be of limited interest for this library, since you would not be able to create a container and have it then move into runtime world. Also, because of structural sharing and the internal reference counting, I am not sure how far things would actually work at all.
I think that, at least theoretically, you could maybe get the containers work to implement a constexpr algorithm and then output another result. However, these containers provide most value when there is concurrency or interactivity involved, so I am not sure it would be a great advantage to use immer over std in constexpr world, at least for now.
This is therefore low priority.
For constexpr containers you may find this library interesting: https://github.com/serge-sans-paille/frozen


Don't use sudo during installation

I just had to cleaning up my system directories after calling the install.sh script without looking into what it actually does. I had everything setup in a virtualenv and assumed it would just go there, I almost got a heart attack when I saw all the sudo calls in the script.
Please remove them in the installation script, it is bad practice and if a person calls something like sudo apt-get install just before calling the script it doesn't even tell the user what just happened. I think using the --user flag instead would be okay.
Also the sudo calls in install_protoc.sh are dangerous. If there is no other way I think ~/.local/bin would be a more appropriate location.
If this is not a solution please add a warning message above the installation instruction, best in capital red letters!!!

Hi cosama.  Thanks for the feedback.
I agree with your suggestions.

A local installation of protocol buffers under this repository (as it is used only to install the tensorflow object detection package)
User level python package installations.

Will work on integrating these changes.
Thanks.

I just merged the changes into the master branch, going to close this for now.
Thanks for raising this issue, and sorry if it caused any inconvenience!  Please feel to raise another issue if you have any other suggestions related to this repository.
Thanks!

Thanks for dealing with this so promptly. I will make sure later that everything is still working. Great job.

Just had a look at this and it seems to work just fine.
I'm not sure if I should be opening a new issue for this. I think the following would be the best solutions:
#!/bin/bash

INSTALL_PROTOC=$PWD/scripts/install_protoc.sh
MODELS_DIR=$PWD/third_party/models

PYTHON=python

if [ $# -eq 1 ]; then
  PYTHON=$1
fi

echo $PYTHON

# install protoc
echo "Downloading protoc"
source $INSTALL_PROTOC
PROTOC=$PWD/data/protoc/bin/protoc

# install tensorflow models
git submodule update --init

pushd $MODELS_DIR/research
echo $PWD
echo "Installing object detection library"
echo $PROTOC
$PROTOC object_detection/protos/*.proto --python_out=.
$PYTHON setup.py install $@
popd

pushd $MODELS_DIR/research/slim
echo $PWD
echo "Installing slim library"
$PYTHON setup.py install $@
popd

echo "Installing tf_trt_models"
echo $PWD
$PYTHON setup.py install $@

People could then call:

sudo ./install.sh
./install.sh
./install.sh --user

and it would work for all these situations.


Documentation for Glenn

We need to start doing some knowledge transfer and allow glenn to take on some of our support burden after our Doorway contract. Let's start by writing up some documentation instructing him how to check questions such as:

Who submitted this listing for approval?
Does this user have an account?
What is the recent system log/user behavior?
Check emails / SES

It might make sense to write up a few common queries and instructions for him on how to run.

The work for this has begun in this document https://docs.google.com/document/d/1ELW-8IJVqCQ71xZ1Bz2GQKooJ35_0CNEvlC9NWZIqgA/edit?tab=t.0


refresh notebooks to match dashboard

As mentioned, I pointed to the updated John Hopkins Dataset.
Note, there is someone else wishing to make a PR in https://github.com/twiecki/covid19/pull/19 that conflicts with this PR

cc: @twiecki

Thanks!


Redirect loop

I have been using your great plugin for a while.
I can't say when it happened, but dynamic paths, via gatsby-plugin-create-client-paths, has started going into a redirect loop, if the page is reloaded in the browser. Navigating to the page from another page doesn't cause a redirect loop.
If I in S3 change KeyPrefixEquals from availability/ to availability/* and ReplaceKeyWith from availability
to availability/, the redirect loop doesn't happen.
This works:
    {
        "Condition": {
            "KeyPrefixEquals": "availability/*"
        },
        "Redirect": {
            "HostName": "test.example.com",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "availability/"
        }
    },

Could you please provide either an MRE/reprex, or what your gatsby-plugin-s3 and gatsby-plugin-create-client-paths configs look like?

sure, here you go:
    {
      resolve: 'gatsby-plugin-create-client-paths',
      options: {
        prefixes: [
          '/participant/*',
          '/trainer/*',
          '/availability/*',
        ],
      },
    },
    {
      resolve: 'gatsby-plugin-s3',
      options: {
        bucketName,
        region: 'eu-central-1',
        protocol: 'https',
        hostname,
      },
    },

and one more thing, would you recommend changing error code 403 to 404 as attached?

If you are getting 403 errors, that suggests your Origin is not configured correctly in CloudFront. Please see this recipe, especially particularly the two "CloudFront setup" paragraphs.
When CloudFront is correctly set up to use the S3 Static Website Hosting endpoint you shouldn't need any error behaviour in CloudFront. Instead, leverage the error document functionality if S3 Static Website Hosting.

Same issue for me here when I refresh a client-paths I get a redirect loop. I tried with the workaround suggested by @webjay and it's working.
The configuration is almost identical
        {
            resolve: `gatsby-plugin-create-client-paths`,
            options: {
                prefixes: [`/app/*`, `/invite/*`]
            },
        },
        {
            resolve: `gatsby-plugin-s3`,
            options: {
                bucketName: 'example-frontend-origin',
                protocol: "https",
                hostname: "www.example.com",
            },
        },

On CloudFront, I'm using the bucket website endpoint as suggested in the recipe, if I navigate to the bucket website endpoint everything is working (file are public) but the same redirect issue happens
@webjay did you by any chance found a solution for that?

I just realized that the workaround is working because wildcards are not supported and 404.index page is returned which basically handles the redirection to the correct page
I made an experiment with the following configuration where:

for invite client paths I applied the workaround with the wildcard
for app client paths instead I applied "HttpErrorCodeReturnedEquals": "404" condition to match client routes

[
    {
        "Condition": {
            "HttpErrorCodeReturnedEquals": "404",
            "KeyPrefixEquals": "app/"
        },
        "Redirect": {
            "HostName": "www.staging.omologherifiuti.it",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "app"
        }
    },
    {
        "Condition": {
            "KeyPrefixEquals": "invite/*"
        },
        "Redirect": {
            "HostName": "www.staging.omologherifiuti.it",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "invite"
        }
    }
]

As you can see here seems to be working fine now:

@JoshuaWalsh Do you see any potential issue with this approach, I can create a PR, in any case, I will fork it to avoid manual steps

The potential issue I can see here is an SEO one. Relying on 404 means that search engines will not list clientside routes (maybe desirable) and that links to clientside routes would be classified as broken, which could penalise the page the link is found on. (Probably bad)
You could use a CloudFront error behaviour to rewrite 404 to 200, but this means that actual broken links will now return as 200, which is also bad. (For one thing, it means broken link scanning tools will no longer work)
Doing a 302 redirect for client routes is also far from ideal, as discussed in #77.
I can't think of any way to solve this elegantly other than to use Lambda@Edge.

I think my example was a bit confusing my current, please ignore invite it was just a counterexample.
If we look at /app client paths with the following redirect rule the client never sees a 404 error:
    {
        "Condition": {
            "HttpErrorCodeReturnedEquals": "404",
            "KeyPrefixEquals": "app/"
        },
        "Redirect": {
            "HostName": "www.example.com",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "app"
        }
    },
``

For non-existing URL returning 200 may not be desirable but I think this can't be avoided even with the actual gatsby-plugin-s3 configuration, probably you would have the same behaviour on Netlify.


Translate IPT User Manual into new languages

What feature would like to see being added to the IPT?

Translate IPT User Manual, and other necessary documents, into languages as per Communication
Strategy published as part of the March 2014 milestone.

Relates directly to GBIF Work Program for 2014, for more information see http://dev.gbif.org/issues/browse/GBIF-24

Original issue reported on code.google.com by kyle.braak on 2013-11-29 15:36:41

User manual translation is an ongoing activity depending on the availability of volunteer translators. Closing issue as it relates to an out of date communications strategy.


Feature extraction error: no file named "elements.txt"

Hi, I was trying to use the pre-trained model to extract features, and I just replaced the pre-trained model file path in the provided script/featurizer.py, but I encountered an error saying there was no elements.txt.
`The following modules were not unloaded:
(Use "module --force purge" to unload all):

CCconfig         4) imkl/2020.1.217    7) libfabric/1.10.1
gentoo/2020      5) intel/2020.1.217   8) openmpi/4.0.3
gcccore/.9.3.0   6) ucx/1.8.0          9) StdEnv/2020

Due to MODULEPATH changes, the following have been reloaded:

openmpi/4.0.3     2) ucx/1.8.0

The following have been reloaded with a version change:

libfabric/1.15.1 => libfabric/1.10.1

Lmod is automatically replacing "intel/2020.1.217" with "gcc/9.3.0".
Due to MODULEPATH changes, the following have been reloaded:

openmpi/4.0.3     2) ucx/1.8.0

The following have been reloaded with a version change:

libfabric/1.10.1 => libfabric/1.15.1

Traceback (most recent call last):
File "featurize.py", line 4, in
f = MolBertFeaturizer(path_to_checkpoint)
File "/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/molbert_featurizer.py", line 61, in init
self.featurizer = self.load_featurizer(config_dict)
File "/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/molbert_featurizer.py", line 176, in load_featurizer
return SmilesIndexFeaturizer.bert_smiles_index_featurizer(max_seq_len, permute=self.permute)
File "/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/molfeaturizer.py", line 1359, in bert_smiles_index_featurizer
return cls(
File "/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/molfeaturizer.py", line 1014, in init
self.elements, self.chars = self.load_periodic_table()
File "/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/molfeaturizer.py", line 1062, in load_periodic_table
df = pd.read_csv(data_path)
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/util/_decorators.py", line 311, in wrapper
return func(*args, **kwargs)
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 680, in read_csv
return _read(filepath_or_buffer, kwds)
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 575, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 933, in init
self._engine = self._make_engine(f, self.engine)
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 1217, in _make_engine
self.handles = get_handle(  # type: ignore[call-overload]
File "/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/scipy-stack/2022a/lib/python3.8/site-packages/pandas/io/common.py", line 789, in get_handle
handle = open(
FileNotFoundError: [Errno 2] No such file or directory: '/home/yutonglu/molbert/lib/python3.8/site-packages/molbert/utils/featurizer/../data/elements.txt'`
I could not find the txt file anywhere. Any help would be greatly appreciated!

I found that the package that I installed somehow did not have the data folder in the utils folder, so I just copied the one in this repo to that directory. Now it works fine.


CAMEL-11696: Add an advanced properties to the camel-thrift component

To configure ssl stuffs we usually rely on SSLContextParameters, do you think camel-thrift can leverage it so we have a common way to configure ssl across components ?

Good point, @lburgazzoli , will try to use it with relation to libthrift API. Thank you.

@lburgazzoli, I've changed code according your recommendation. Please review.

@dmvolod lgtm, I'm going to merge it

PR has been merged, do you mind closing it ?


WIP: add support for private repos to open issues or wiki

This PR will fix #639.

[x] update repo settings
[x] update permission check
[ ] list repos who allow anonymous visit on explore

Hi, is there news about this merge? I would really like to see #639 resolved. Is this planned soon?
Thank you :)

I may continue the work on this during v1.12.

Thank you for the quick response :)  When is v1.12. to come aprox? May means not sure, isn't it?

Any ETA for this? Many thanks

@FalconBFR Sorry, it's not ready for v1.12.

@lunny Is being ready for v1.13 very likely or is it more of a possible but not that likely? (Just trying to organize myself)

Has there been any progress on this issue?

This feature would be very complex. For example: if a writer write a private repo URL in the the repo's public Issue, it would leak something in future, GitHub can show the code referred in issue.
In my environment, I just split repositories into two, one for private code, one for public issue/wiki.

Closed as it's outdated.


CycleError with loop and more than 1 server

Describe the bug
When running operations in a loop on more than 1 server, there is cases that creates a "graphlib.CycleError".
This is due to the fact that we put every operations of every host in the same graph and check for cycle. The way operation hash is generated may create cycle.
To Reproduce
I went to great length to understand the issue and ended up with a minimal example.
The random is here to represent the result of a get_fact that is different on each host. But simply putting a conditional get_fact in a loop can triggers the issue.
Run below example on 2 hosts or more:
import random

from pyinfra.operations import server

for i in range(0, 10):
    server.shell(name=f"ls A", commands="ls")

    if random.randint(0, 1) == 0:
        server.shell(name=f"ls B", commands="ls")

    server.shell(name=f"ls C", commands="ls")

Expected behavior
There is no cycle in the above example.
Meta

Include output of pyinfra --support.

--> Support information:

    If you are having issues with pyinfra or wish to make feature requests, please
    check out the GitHub issues at https://github.com/Fizzadar/pyinfra/issues .
    When adding an issue, be sure to include the following:

    System: Linux
      Platform: Linux-3.10.0-1160.71.1.el7.x86_64-x86_64-with-glibc2.17
      Release: 3.10.0-1160.71.1.el7.x86_64
      Machine: x86_64
    pyinfra: v2.3
    Executable: /opt/tools/python/bin/pyinfra
    Python: 3.9.4 (CPython, GCC 10.3.0)

Hi @julienlavergne thank you for raising this and getting a reprodution example up!
The single DAG is a requirement for having all hosts execute in expected order, but loops once again break things!

I have dug into this today and written up my thoughts here: https://github.com/Fizzadar/pyinfra/blob/850b443a95269df5758a0bd35e34f651b8b444ba/docs/deploy-process.rst#loops--cycle-errors
I have also PR'd a workaround for this in https://github.com/Fizzadar/pyinfra/pull/876.
Unfortunately I cannot think of any way to achieve this without an explicit workaround - there's just no way [I can think of] to pass through the loop position automatically...

I added a comment to the PR

This should now be resolved in v2.5 once pypi is back up to complete the release!


Allow 6RD tunnel mtu to be configured.

The current mtu of a 6RD tunnel(wan_stf) interface is 1280 and cannot be configured. For most setups this does not deliver the optimal performance.
In my opinion the mtu should be configurable and have a default and maximum value of the parent interface mtu-20.
So if the parent interface is configured with an MTU of 1500 the tunnel interface should have a default mtu of 1480 configured, and this should also be the maximum value that can be configured.

@diekgait Thanks for the idea! To minimise impact the MTU will remain 1280 unless the user specifies an explicit interface MTU. The calculation logic then follows your suggestions.
Cheers,
Franco


Remove dangling MediaQuery paddings for non-fullscreen dialogs - 2

Fixes #13408
Alternate approach to #13436 for customizable edges in case dialogs hug the screen on some sides.
Removes dangling paddings for sides that don't intersect with the partial obstructions.

LGTM

Removed handling from bottom sheet. The scaffold already handles it. Added more tests


add my favorite book

if you are okay, can you commit to mine?
https://github.com/SWEET-creator/Awesome-Generative-AI.git


Add: AnimationCurve support

It would be better to return NativeAnimationCurve to application shared pool. And returning to pool on MotionStorage.Reset is also needed. (I think you already know this.)
NativeAnimationCurve should be named UnsafeAnimationCurve, and NativeAnimationCurve should be a pointer wrapper.
(This allows to share memory with planned functionPointer.)

It would be better to return NativeAnimationCurve to application shared pool as much as possible. And returning to pool on MotionStorage.Reset is also needed. (I think you already know this.)

Yes, it's definitely better from a memory consumption perspective. However, returns to the pool are somewhat complex to incorporate into current implementations, and there is a risk of double returns. (This can be avoided by adding some checks, but it will reduce performance during creation.)
In the current implementation, in the worst case, as many NativeAnimationCurves as there are elements in the MotionData array are created. However, this is rarely a problem in practice.

NativeAnimationCurve should be named UnsafeAnimationCurve, and NativeAnimationCurve should be a pointer wrapper.
(This allows to share memory with planned functionPointer.)

I think FunctionPointer and NativeAnimationCurve should be kept in separate fields. In particular, the delegates generated by FuncitonPointer need to be cached if Burst is not used, and handling them with a single pointer complicates this process. The concern is that the structure size will increase, but this shouldn't be a problem since MotionData is originally a huge struct and was designed to avoid copying.

My main concern with this implementation is the risk of memory leaks and double freeing. They have passed minimal testing and should not be a problem, but I am not too sure... (especially the crash caused by double deallocation, which must be avoided at all costs...)

OK, but considering EnterPlayModeSettings, it is mandatory to dispose or pool with MotionStorage.Reset.

Yes, I think so. In that case, would it be better to have the Allocator on the MotionStorage side?

As for naming, I think it is inevitable that it will be UnsafeAnimationCurve if we follow Unity's naming rules.　(like UnsafeList)

I consider containers whose safety is checked by AtomicSafetyHandle to be Native-, and containers that are not checked to be Unsafe-. Considering this, wouldn't Native- be more appropriate in this case?

Sorry, you seem to be right.
I was mistaken, as the behavior of the field being overwritten by CopyFrom is not seen in Native-.

Isn't it safe to release in MotionStorage.RemoveAll?
If this causes some issue, it means the current implementation of MotionStorage is incorrect.

I considered several implementations and made changes to the implementation.

In the previous implementation, the safety check does not work for RewindableAllocator. Therefore, I changed NativeAnimationCurve to be a wrapper for NativeList. (I have already tested that this works correctly.)
Changed SharedRewindableAllocator to generic, and now it is possible to share Allocator using type as key. Although this was not necessary for this implementation, it is a change that will allow us to reuse this type in the future.
After investigating, I determined that there is no need to Dispose when resetting. Also, it is faster to allocate memory in advance using RewindableAllocator than to dispose at every remove.


API View: Add the ability to label revisions

We need the ability to label revisions to indicate which ones are GA revisions (and which versions), and give names corresponding to features/changes to other revisions. For example,
Revision 0: Prototype
Revision 1: Preview 1
Revision 2: Feature A
Revision 3: Feature B
Revision 4: Preview 2
Revision 5: GA V1
....

Related to https://github.com/Azure/azure-sdk-tools/issues/367 and https://github.com/Azure/azure-sdk-tools/issues/476

This would also be a great feature.

@praveenkuttappan I would be interested in tackling this if you haven't already started working on it.

@JoshLove-msft I haven’t started on it yet. I am focusing on integrating JS into API view tool now.


extend to gradle plugins

Since the whole gradle build process for Android relies on downloading plugins from jcenter, we really need a way to do what gradle-witness does, but for those plugins.  @dschuermann already made it possible to have the gradle wrapper verify the sha256 of gradle binaries it downloads: https://github.com/gradle/gradle/pull/448  The missing piece remains gradle plugins.
This is probably the most essential bit to verify:
        classpath 'com.android.tools.build:gradle:1.2.3'

Full ACK

+1. It would also be nice to have a tool or "best practice" for validating the wrapper scripts and jars that bootstrap most builds.

I created a top on the Gradle forum that includes this issue:
https://discuss.gradle.org/t/jar-validation-via-hashes-or-signatures/12238

Really, the gradle-wrapper should validate what it downloads automatically,
whenever possible.  That should be easy for any gradle binary, since those all
have a stable sha256 hash, and there are not very many of them (about 20?).
Those hashes just need to be included in gradle-wrapper and mapped to the
right file/URL.

Just in case: Gradle's DependencyResolutionListener is able to verify plugins as well.
Plugin: https://github.com/vlsi/vlsi-release-plugins#checksum-dependency-plugin
https://plugins.gradle.org/plugin/com.github.vlsi.checksum-dependency
Sample use: https://github.com/apache/jmeter/compare/46a9013a98d4d593e361d86c4fc61c702a720950..53541654c56a24dca4406ac1ab2485643674f942
The key idea is to add the plugin right into settings.gradle file, so it is executed way before all other plugins are loaded.


⚠ SpeakUpConference.com has degraded performance

In af86400, SpeakUpConference.com (https://www.speakupconference.com) experienced degraded performance:

HTTP code: 200
Response time: 7189 ms

Resolved: SpeakUpConference.com performance has improved in 2378348 after 11 minutes.


'mm' file support added

simple 'find' extension to deliver 'mm' files

ops.. sorry, created the pull request too early. Will fix and recreate


Strange space key behaviour

If some letters are typed after the image, everything works perfectly.
However, if a space is typed after the image, the cursor would disappear, the no new words can be inserted after on the image' position.

Thanks for reporting

The bug has something to . Typing some words would insert a hard-break inside the paragraph tag. Typing a space would insert a new paragraph.

I think the problem is a styling related issue.
If the mouse is click right beside the image and type a space, the cursor would disappear and typing some words would not work. However, if a line break is entered (enter key), the cursor would appears again.
By editing the css index.css, line 60:
p:has(.node-imageComponent) {   display: flex;   flex-wrap: wrap; }
When commeting out "display: flex", the issue would disappear.
This is what I have found so far, but I don't know what's the proper way to resolve this issue.


Clean out all Escoria's custom ProjectSettings entries

And re-create them in a proper Escoria category.
The problem here is that it's hard to determine which ProjectSettings are defined specifically for Escoria and which aren't. This is problematic for Width, Height, Test width, Test Height and such, which makes resolution management less straightforward.
Some of them may be relics of old Escoria, created when Godot didn't manage resolutions as easy as it does now.

@StraToN good thing I've been a consultant for at least a third of my life, I have some clue as to how shovel old legacy around ;)
This does feel like something between yak-shaving and bikeshedding, but #54 has some commits.
Now that they've been put under escoria/ they look horrible and I think I'll procrastinate a bit more on some kind of structure.

@StraToN is this fine by you now in master so can this issue be closed?

Closed by #54.


[ASCII-1612] Remove pbgo import from dogstatsd replay component interface

What does this PR do?

Remove the import to pkg/proto/pbgo/core in the component interface of comp/dogstatsd/replay.
Motivation

Since the interface itself uses CaptureBuffer which uses pkg/proto/pbgo/core.UnixDogstatsdMsg, we are forced to import the package even for a no-op implementation.
This small refactor allows to avoid that, in particular so that eventually the serverless agent can get rid of pbgo and its own dependencies entirely.
Additional Notes

Possible Drawbacks / Trade-offs

The main drawback is extra copies from the new UnixDogstatsdMsg to the "real" pbgo/core.UnixDogstatsdMsg, which is 6 fields copied by reference, so I don't expect it to be an issue performance-wise.
Describe how to test/QA your changes

Check that dogstatsd/replay still works as expected.

/merge


Mixed op data types

It is possible when you load a data type of one type from serialization, and then change the data type to be another one that you will get mixed op data types.
Right now our underlying code assumes everything is the same inducing a crash.
A proposed solution is to have some sort of a coercion that happens when an op is created to be whatever the data type is set for nd4j. Need to think on this a bit more yet though.
Edit:Another part of this is to force data type on load. Do this within Nd4j.createBuffer() when the data buffer is loaded.
Edit: A warning that we loaded a data type != to the current data type in the context would be good as well. This will help for diagnosing issues as well as weird serde issues we could run in to with say: spark.
We should also throw an exception with op execution before an op is executed.
This will prevent an error prone crash.
Do it post load and then convert.

This forces a load to the data type defined.
https://github.com/deeplearning4j/nd4j/pull/1059
So unless a user redefines datatype midway through (I'd call that user error) we shouldn't see mixed data types ops on ndarrays and no more crashes.
But predicting with a model that was saved as a float and then streamed in as a double (or viceversa) won't give sensible results. I throw a warning.

Done and closing
https://github.com/deeplearning4j/nd4j/pull/1092


Fix urlfetch masking

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Fixes https://github.com/pajbot/pajbot/issues/763

Not the way I want this to be fixed.
To clarify, the issue comes from the website not parsing out "inner arguments" in the urlfetch string, while the bot does. So any string that can occur in an "inner argument" (e.g. $(args:0|urlencode)) can ruin the urlfetch masking.
We could have a separate regex that is looser with its matching, and use that as the website masking regex


License

This license makes it possible to utilize a utility class by @mbax. It also makes this Fork mergeable with the master because otherwise the master would be considered copyrighted work and modifications would be illegal.

A couple notes:

Github user mbaxter (not tagged for the guy's sanity) has nothing to do with this. I'm @mbax
See Github's TOS section F.1 which states that by simply putting the BuycraftX source here, they agree for it to be viewed and forked.

That said, I'm happy to see that Lee's chosen to go MIT. Hurray open source.

@mbax, thanks for the clarity.


CI Fails on Fedora 31

For some reason unknown as yet, setUpModulee.GreenTestSuite fails on Fedora 31 (issue not present on Fedora 30).

Hi!
I built a Fedora 31 image and I can see this error popping up when trying to get the TPM after starting the registrar:
Exception: Command: tpm2_startup -c returned 1, expected 0, output [], stderr [b' ', b'** (process:238): CRITICAL **: 17:37:23.404: failed to allocate dbus proxy object: Could not connect: No such file or directory ', b'WARNING:tcti:src/tss2-tcti/tctildr.c:62:tcti_from_init() TCTI init for function 0x7f92334dece0 failed with a0008  ', b'WARNING:tcti:src/tss2-tcti/tctildr.c:92:tcti_from_info() Could not initialize TCTI named: tcti-abrmd  ', b'ERROR:tcti:src/tss2-tcti/tctildr-dl.c:150:tcti_from_file() Could not initialize TCTI file: tabrmd  ', b'ERROR:tcti:src/tss2-tcti/tctildr.c:418:Tss2_TctiLdr_Initialize_Ex() Failed to instantiate TCTI  ', b'ERROR: Could not load tcti, got: "tabrmd:bus_name=com.intel.tss2.Tabrmd" ']
This is the full exception:
`Cloud Agent Thread
Using config file /etc/keylime.conf
2020-04-17 08:09:40.323 - keylime.tpm2 - INFO - TPM2-TOOLS Version: 4.0.1
Traceback (most recent call last):
File "/usr/local/bin/keylime_agent", line 11, in
load_entry_point('keylime==1.2', 'console_scripts', 'keylime_agent')()

File "/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)

File "/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2852, in load_entry_point
return ep.load()

File "/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2443, in load
return self.resolve()

File "/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2449, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)

File "/usr/local/lib/python3.7/site-packages/keylime-1.2-py3.7.egg/keylime/cloud_agent.py", line 64, in
tpm = tpm_obj.getTPM(need_hw_tpm=True)

File "/usr/local/lib/python3.7/site-packages/keylime-1.2-py3.7.egg/keylime/tpm_obj.py", line 88, in getTPM
__tpm2 = tpm2.tpm2(need_hw_tpm)

File "/usr/local/lib/python3.7/site-packages/keylime-1.2-py3.7.egg/keylime/tpm2.py", line 83, in init
self.__startup_tpm()

File "/usr/local/lib/python3.7/site-packages/keylime-1.2-py3.7.egg/keylime/tpm2.py", line 368, in __startup_tpm
retDict = self.__run("tpm2_startup -c")

File "/usr/local/lib/python3.7/site-packages/keylime-1.2-py3.7.egg/keylime/tpm2.py", line 295, in __run
raise Exception("Command: %s returned %d, expected %d, output %s, stderr %s"%(cmd, code, expectedcode, retout, reterr))

Exception: Command: tpm2_startup -c returned 1, expected 0, output [], stderr [b'\n', b'** (process:238): CRITICAL **: 08:09:40.329: failed to allocate dbus proxy object: Could not connect: No such file or directory\n', b'WARNING:tcti:src/tss2-tcti/tctildr.c:62:tcti_from_init() TCTI init for function 0x7f8306969ce0 failed with a0008 \n', b'WARNING:tcti:src/tss2-tcti/tctildr.c:92:tcti_from_info() Could not initialize TCTI named: tcti-abrmd \n', b'ERROR:tcti:src/tss2-tcti/tctildr-dl.c:150:tcti_from_file() Could not initialize TCTI file: tabrmd \n', b'ERROR:tcti:src/tss2-tcti/tctildr.c:418:Tss2_TctiLdr_Initialize_Ex() Failed to instantiate TCTI \n', b'ERROR: Could not load tcti, got: "tabrmd:bus_name=com.intel.tss2.Tabrmd"\n']
`

Its all a bit embarrassing in CI at the moment and I think we need to revamp our approach. I feel I need to take a shower when I look over it :)
So for the issue you have there, might be due to the tpm2-abrmd service is not running. Take a look at the following section of the test wrapper script:
https://github.com/keylime/keylime/blob/db02ec8fdd9118b80d9cf38d34d6dca3fb625b73/.ci/test_wrapper.sh#L18-L21
What you could do is just run that entire script and hopefully that should have the tpm operational. It will also call run_tests.sh which calls the actual unit / functional tests.
That sets the service up and enables it to work with the tpm emulator.
What I am seeing at the moment is the setUpModule is failing on Fedora 31 is failing, and I guess it must be related to the tpm setup
https://github.com/keylime/keylime/blob/master/test/test_restful.py#L152
I will try and take a look at it today, in the mean time if you're good with containers and getting them running unprivileged, feel free to take a stab at making things better! I am happy to jump in do co debug sessions or explain history / context of any given part.

@lukehinds  thanks for the reply!
I actually got that when running run_local.sh and testing tpm2, so when running test_wrapper.sh in the Fedora 31 container.
I'm seeing that failure in test_restful.py, in setUpModule, right after launch_registrar(), during the tpm variable assignment:
tpm = tpm_obj.getTPM(need_hw_tpm=True)

this should be here https://github.com/keylime/keylime/blob/master/test/test_restful.py#L198

I added a check for the status of tpm2-abrmd and I'm seeing this:
reated symlink /etc/systemd/system/multi-user.target.wants/tpm2-abrmd.service → /usr/lib/systemd/system/tpm2-abrmd.service.
Failed to start tpm2-abrmd.service: Unit systemd-udev-settle.service not found.
● tpm2-abrmd.service - TPM2 Access Broker and Resource Management Daemon
   Loaded: loaded (/usr/lib/systemd/system/tpm2-abrmd.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
● tpm2-abrmd.service - TPM2 Access Broker and Resource Management Daemon
   Loaded: loaded (/usr/lib/systemd/system/tpm2-abrmd.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
Copying keylime.conf into /etc/keylime.conf

Probably forgot something in the container image?
I'll keep looking

so I got the CI job to complete successfully in a Fedora 31 container
OK (passes=29, skips=3)

I'll put a PR up and see how that goes

awesome, thanks @elfosardo !


Using hoxy with express and vhost

I'm trying to set a subdomain to a reverse proxy doing this:
var hoxy = require('hoxy');

var proxy = new hoxy.Proxy({reverse: 'http://google.com/'});

proxy.intercept({
	phase: 'response',
	mimeType: 'text/html',
	as: '$'
}, function(req, resp) {
	resp.$('title').text('proxy');
});

var express = require('express'),
	vhost = require('vhost'),
	app = express();

app.use(vhost('domain.com', function (req, res) {
	proxy.emit('request', req, res);
}));

Any aproach of how can I do it? As proxy.listen() simply passes its arguments to Node's server.listen() I tried to follow this example: https://www.npmjs.com/package/vhost#using-with-any-generic-request-handler
Any help is well appreciated.

proxy.emit('request', req, res) won't work. I suspect you'd need to do something along the lines of:
var a = proxy.address();
app.use(vhost('domain.com', function (req, res) {
  req.pipe(http.request({
    hostname: a.address,
    port: a.port,
    method: req.method,
    headers: req.headers,
    path: req.url,
  })).pipe(res);
}));

https://iojs.org/api/http.html#http_http_request_options_callback
Also be warned, Google will try to redirect to https and/or a www url. So you'll likely need to update the reverse proxy target to avoid that.


"My nation is great" Too vague to be useful measure.

The question "my nation is great" is far too vague to offer any meaningfull insight.
This can be interpreted from either a nationalistic view or a pragmatic view. I could argue that what my country is great compared to a country that doesn't align as well with my view.
Or another interpretation would be that no matter the situation my nation is great which would be a nationalistic take.
A better question if its being used to determine nationalistic view could be "my country is great no matter what it does" for example.

I can see why the question was originally included. However, I also agree that perhaps this needs to be expanded upon slightly to differentiate if from being either an explicitly nationalistic question or one based on a more philosophical question. The first could be what you said "my country is great no matter what it does," while the second one could be "My country is the great because of it's moral values," or something of this nature.

I'm pretty sure this is a question of nationalism rather than a specific view of its values. So probably the former would be a better change, although I think that question would perhaps be too strongly worded (some people who would align more to the nationalistic side might still disagree with the sentiment).
So if this could be reworded further from "My country is great no matter what it does", just to tone it down a little so that it's an even Agree/Disagree split then that would be a big improvement to a question that is currently a bit vague.

change it to " my nation is the best one "  ?                something like that......

Yes, the question is completely retarded. I don't think my nation is great, nor I believe my nation is something more than a legal construct.  But I do put it's interests over others and it is in my interests to make it great.  Simply pragmatic approach.

Please be civil in the discussion; these pages are not intended as an assessment of whether or not the views expressed in the question are right. It doesn't matter whether you agree with the sentiment, because that's what the quiz is asking. These discussions should instead be focused around whether the questions are a useful measure of one of the axes of the test.
Also, please refrain from using the slur, it's not productive or helpful.

Also, please refrain from using the slur, it's not productive or helpful.

Not everything should be productive and helpful. Some things just can exist, Like your comment for example. What is not acceptable is censorship.

Yes, the question is completely retarded. I don't think my nation is currently great and we have a lot of work to do, nor I believe any nation is something more than an abstract legal construct that exists only on paper, we have a lot of ethnicities here but we all work on a common goal.  But I do put it's interests over others and it is in my interests to make it great.  Simply pragmatic approach.

So.... your answer to the question on the test would be no. But there are other people that would answer it yes. The point of this discussion is how useful the for the test would it be to distinguish between te people that answer yes and the people that answer no.
Tldr: Your response is not related to the topic.

It would greatly improve the question to change it to "My nation is the greatest one." or something like that.
If people misinterpret the question then they might get the wrong score.


remove unnecessary scroll

Hello 👋🏻
In this PR I've removed an unnecessary scroll as u can see a scroll bar in the right of the white div (First image)
Before

After

@driesvints The last time when I found this issue I was using Linux, now using Windows have the same issue in all browsers (It's really annoying)
Can anyone confirm this!


Didn't understand how to use the UI.

 But does it translate stuff written in english to Indian languages or is it that you write a word in say Hindi in English font and it provides you the Indian option of it. Please do help me out. TIA!

No, this is not a translator.
If you type "samosa" in English, it will give you "समोसा" in Hindi.
This is called transliteration. (Do not confuse with translation)


run introspection-engine.exe directly exit #17985

Bug description
1: download introspect-engine
https://binaries.prisma.sh/all_commits/11e97a060a6eaa5ca0b29f3b612466b33fab1a21/windows/introspection-engine.exe.gz
2: os
win10 amd64
3: exe directly exit, no blocking

How to reproduce
exe directly exit, no blocking

Expected behavior
blocking
Prisma information
directly run engine.exe
Environment & setup

OS:windows

Prisma Version

Your screenshot tries you to run a query engine, while your instructions show you downloading an introspection engine.
Even with that fixed, the engines are not meant to be run directly, but via Prisma Client and CLI.
What are you trying to do?
If you really see no other way, look at how the CLI and Client use the engines to figure out their API (which is not public and can change without notice).

because prisma do not have golang sdk. So, we use os.exec  package in golang to wrap introspection engine and query engin. then, wen can use introsecpion or query directive in our project. Do you have some ideas about this, because we want to use golang to implment introspect and query directive.

maybe you mean i can use goland to wrap prisma cli?

i use 'npm install -g prisma' install prisma, and still meet err

Are you aware of https://github.com/prisma/prisma-client-go?
The screenshot you shared and the error report unfortuantely do not include any helpful information.
What output do you get when you run prisma -v?

@janpio i run prisma -v

Oookay. Here is the solution to your problem: https://github.com/prisma/prisma/issues/9975#issuecomment-952944479

Oookay. Here is the solution to your problem: #9975 (comment)

cool

Did it work? Is the problem resolved?

yes, thx.


Linux

Added an installation script for Linux based systems (local use)

If you think that it will detract from the installation process, perhaps ASCII art should be removed.

If you think that it will detract from the installation process, perhaps ASCII art should be removed. The nice aspect of the script is that all bits and pieces of audiocraft are automatically updated each time the script is ran. Your decision as to whether to merge it with main or to not do so.

I agree that the ASCII art makes the project look a bit amateurish, rather remove it for a cleaner, simpler installation process.

It has been removed. A newer file has been uploaded.

BTW, I contacted<EMAIL_ADDRESS>"You don’t need a Facebook account to sign a CLA. You simply need a GitHub account under which you would want to contribute to our open source repos." So where do I go for the CLA?

Click the Details link next to Facebook CLA Check in the box that says 2 workflows awaiting approval.

Thank you for the link. Go ahead and close the request.


Add -TemporaryPath parameter to Install-PSResource, Save-PSResource, and Update-PSResource

PR Summary

This PR adds a parameter called -TemporaryPath for Install-PSResource, Save-PSResource, and Update-PSResource cmdlets, which allows users to set the directory for temporary installation.
PR Context

Resolves #650
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Documentation needed

[ ] Issue filed:

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary.

I also noticed that the InstallHelper class is derived from PSCmdlet, and this is incorrect because it is not being processed as a PowerShell cmdlet. I think this was done so that the PSCmdlet ThrowTerminatingError() and WriteError() methods could be called. But this is incorrect (and I am not sure what the behavior is). InstallHelper should throw a normal C# exceptions and the top level cmdlets should catch and rethrow. Also InstallHelper should return a string[] for any errors to be reported by the top level cmdlet.
@alyssa1303 Can you make these changes, or create a new Issue to make these changes later (since this is not really in scope of this PR)?

I think creating an issue for that (and a separate PR) would be better.

I created an issue #767


Update template docs with build example

We've got a sphinx extension used to generate example build instructions.  Include use of the zephyr-app-commands extension in the sample templates found in the doc/templates folder, to help show how to use it (vs. using a code-block)

@mbolivar I thought we had docs for the commands, can you please point us to where you have documented this?

@nashif it's in pydoc:
https://github.com/zephyrproject-rtos/zephyr/blob/master/doc/extensions/zephyr/application.py#L16
I'll move the content to something under doc/templates and provide examples for the main use cases.

@mbolivar thanks

Switched assignment to @dbkinder as discused in #7312


Added WebsocketBindingWithMembers

WebsocketBindingWithMembers inherits WebsocketBinding and additionally enables sending of member variables, properties and methods.

Might also be integrated in Binding or as a Mixin.

Wouldn't  the encoding step already raise a TypeError: XYZ is not JSON serializable?

Well the Django code specifically encodes a few extra types using known patterns, so I guess we could use that, but not required.
Also, absolute -1 to mixins. I will not merge with one :)

Hm, ok; then undo the change. Why do you dislike them?

They make it very hard to debug where things come from and are generally very unfriendly to newer Python programmers, so I tend to avoid them at all costs. I've had to maintain too many codebases that rely on mixins to work and it's impossible to work out where anything happens.

Now it's implemented as a normal class again.

Yup, nice.


Tether USD USDT

// SPDX-License-Identifier: MIT
// Compatible with OpenZeppelin Contracts ^5.0.0
pragma solidity ^0.8.20;
import<EMAIL_ADDRESS>contract TetherUSD is ERC20 {
constructor() ERC20("Tether USD", "USDT") {
_mint(msg.sender,<PHONE_NUMBER>0000000000000000000000000000000000000000000000000000000000000 * 10 ** 6);
}

// whatsapp number : +98-902-6116-777 *** E-mail<EMAIL_ADDRESS>#DUBI

// SPDX-License-Identifier: MITLICENSED
// THE USDTTRC20 STAY ON.
// SONIC GO FAST.
// THIS IS FINANCIAL ADVICE. PRESENTED BY THE CHURCH OF SPECIAL NEEDS GAMBLERS.
// SONIC GO FAST.
// THIS IS FINANCIAL ADVICE. PRESENTED BY THE CHURCH OF SPECIAL NEEDS GAMBLERS.

// OWNER OWNERSHIP DR Shahin Maleki Rad .
// FOR BUYING AND SELLING EVERY THINGS IN THE GALAXI.

// FOR BUYING HOME AND CAR AND CRYPTO AND PLANET IN THE GALAXI FOR ALL PEOPLE AND DR //SHAHIN MALEKI RAD.
// FOR PAYMENT FOR VISA CARD AND MASTER CARD CREDIT AND FOR VIRTUAL CREDIT CARDS IN THE //GALAXI FOR ALL PEOPLE AND DR SHAHIN MALEKI RAD.
// FOR LIVE AND LIVE AND FOR IMMORTALITY SHAHIN MALEKI RAD .

// SONIC GO FAST.
// GOODNIGHT FANTOM.


feat: Add Layered service to propagate NamedService implementation

Adds Layered service to propagate NamedService implementation.
Resolves #1958.

@mrmeku Does this meet your requirements?

@mrmeku Does this meet your requirements?

Absolutely. Great solution

@mrmeku Thanks for confirming.

Squashed the commits.


[QUESTION] When using commands as normal functions, how can we get default values from eg. typer.Option

First check

[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the Typer documentation, with the integrated search.
[x] I already searched in Google "How to X in Typer" and didn't find any information.
[x] I already searched in Google "How to X in Click" and didn't find any information.

Description
I appreciate the design decision made by Typer to not replace the existing function when decorating with @app.command() as this conceivably allows reusing the function instead of making a CLI "shim" function.
I ran into an issue, however, with a function like this:
import typer

app = typer.Typer()

@app.command()
def example_command(num: int = typer.Option(1, help="example")):
    assert isinstance(num, int)

This succeeds when called from the command line, but not when called as a function directly, as num will still be a typer.Option object.
Is this intended behavior? If not, I guess it's conceivable that the @app.command() decorator could unwrap default arguments on the example_command function, stripping off any typer.Option and typer.Argument wrappers. I would be happy to attempt to implement this, if such an approach makes sense.

This behaviour only occurs if you use the default value. The default value you set is of typer.Option so it propagates as it.
typing.Annotated was added to Python 3.9 that enhances possibilities of type hints. You can see Pydantic taking advantage of it
I checked the behaviour of Annotated and it does not work properly. You will get the correct type of int but you are unable to run the command on its own. When you call command from another command you can just pass an argument (as the third call in main). If you are feeling fancy or lazy you could create some wrapper that will extract the defaults for you (POC as the last call in main).
Here is the snippet. The script requires python 3.9, you can remove annotated and Annotated import to run it if you don't have it.
from typing import Annotated

import typer

app = typer.Typer()

@app.command()
def annotated(arg: Annotated[int, typer.Argument(..., help='Holla')] = 1):
    typer.echo("Annotated")
    print('Printed arg: ', arg)
    typer.echo(
        f'Is instance of int: {isinstance(arg, int)}'
    )

@app.command()
def classic(arg: int = typer.Argument(1, help='Holla')):
    typer.echo("Classic")
    print('Printed arg: ', arg)
    typer.echo(
        f'Is instance of int: {isinstance(arg, int)}'
    )

@app.command()
def main():
    typer.echo()
    annotated()

    typer.echo()
    classic()

    typer.echo()
    typer.echo('With not default arg')
    classic(16)

    typer.echo()
    typer.echo("Fancy arg")
    arg_defaults = classic.__defaults__
    first_arg = arg_defaults[0]
    defualt_from_typer_argument = first_arg.default
    classic(defualt_from_typer_argument)

if __name__ == '__main__':
    app()

Thanks for the reply!
I understand that this only occurs when using the default value, and agree that moving toward the Annotated pattern you describe will be much nicer in the long-term. I'm quite happy with that as a long term solution, I can think of many tools (eg. attrs) which would benefit from such a pattern as well.
Since this requires 3.9, however, and most utilities I use have not been ported to it yet, are there any downsides for the unwrapping approach?

I am not seeing any downsides actually. You can see in type code that command just registers the function and returns it unchanged.
I took a few minutes and was able to achieve (I think) what you wanted but outside of Typer:
import functools
from typing import Callable

import typer
from typer.models import ParameterInfo

app = typer.Typer()

def typer_unpacker(f: Callable):
    @functools.wraps(f)
    def wrapper(*args, **kwargs):
        default_values = f.__defaults__
        patched_defaults = [
            value.default if isinstance(value, ParameterInfo) else value
            for value in default_values
        ]
        f.__defaults__ = tuple(patched_defaults)

        return f(*args, **kwargs)

    return wrapper

@app.command()
def classic(arg: int = typer.Argument(1, help='Holla')):
    typer.echo("Classic")
    print('Printed arg: ', arg)
    typer.echo(
        f'Is instance of int: {isinstance(arg, int)}'
    )

@app.command()
@typer_unpacker
def smart(
    arg: int = typer.Argument(1, help='Holla'),
    option0: int = 4,
    option: int = typer.Option(12),
):
    typer.echo("smart")
    print('Printed arg: ', arg)
    print('Printed option0:', option0)
    print('Printed option: ', option)
    typer.echo(
        f'Is instance of int: {isinstance(arg, int)}'
    )

@app.command()
def main():
    typer.echo("Fancy arg")
    arg_defaults = classic.__defaults__
    first_arg = arg_defaults[0]
    defualt_from_typer_argument = first_arg.default
    classic(defualt_from_typer_argument)

    typer.echo()
    smart()

if __name__ == '__main__':
    app()

Looks like it works both called from main and as a standalone command. It would require some more testing but looks promising.
I believe many people would like to see new features in Typer as I observe the repo, but @tiangolo is the only maintainer and doesn't seem to be active right now in this project.

Very nice! Yes, this is exactly what I was thinking. Thanks for the code snippet!
I guess I'll leave this issue open in case @tiangolo wants to weigh in.

Amazing! Please post an update if you come across some edge cases, I am curious if that will actually affect the package. :)

I'd extend the patched_default to also call default factory functions
def typer_unpacker(f: Callable):
    @functools.wraps(f)
    def wrapper(*args, **kwargs):
        default_values = f.__defaults__
        patched_defaults = []

        for value in default_values:
            if isinstance(value, ParameterInfo) and callable(value.default):
                patched = value.default()
            elif isinstance(value, ParameterInfo):
                patched = value.default
            else:
                patched = value

            patched_defaults.append(patched)

        f.__defaults__ = tuple(patched_defaults)

        return f(*args, **kwargs)

    return wrapper

I'd extend this to inject the default argument into kwargs at wrapped function invocation time if the default is callable
import functools
import inspect
from typing import Callable

import typer
from typer.models import ParameterInfo

def typer_unpacker(f: Callable):
    @wraps(f)
    def wrapper(*args, **kwargs):
        default_values = {
            k: v.default
            for k, v in inspect.signature(f).parameters.items()
            if v.default is not inspect.Parameter.empty
        }

        for name, func_default in default_values.items():
            if isinstance(func_default, ParameterInfo) and callable(func_default.default):
                patched = func_default.default()
            elif isinstance(func_default, ParameterInfo):
                patched = func_default.default
            else:
                patched = func_default

            if name not in kwargs:
                kwargs[name] = patched

        return f(*args, **kwargs)

    return wrapper

Thanks again for this code! I ended up working off a variant of the first one you posted, as the second gave some errors with my use-case.
Here's a package, if you're interested:
https://gitlab.com/boratko/typer-utils
Incidentally, what's the purpose of calling any callable default? Are callable default arguments common with Typer? (I have not used it this way.)

is something like tying.Annotated already in place in recent typer?


Suggestion:add the -o parameter and specify the output file name.

How would that work for Java—where packages must correspond with the directory path, and file names ought to match each public class name?

Multiple packages are an error then, except for C and JavaScript.

No response means no issue. 🙂


asarray partial fix

Attempt at a fix for asarray.

https://github.com/data-apis/array-api-compat/issues/106

Opening as a draft in case someone else gets the opportunity to look at this earlier, as some cases still error. I think the test should be useful to anyone else attempting this.

I'm not sure what the right fix here is. The code was correct before the __array__ check was added in 8ee16138094d44a65be73af4b88a5b3cc74d2203, but I'm not completely clear what the purpose of that check was.
Also, this code seems to deal mostly with copy logic, and that logic needs to be refactored, similar to https://github.com/data-apis/array-api-strict/pull/15 (at the very least, copy=False should work in numpy 2.0). This version of the function is going to be more complicated than the one in array-api-strict though because it also has to support things outside of the standard (i.e., any valid input to np.asarray), and also because it's a wrapper function that's reused for numpy, cupy, and dask.

This was included with https://github.com/data-apis/array-api-compat/pull/110