Prevents invalid metadata names in Blob APIs

Fixes #2451
This PR also follows the suggestion to fix all the blob APIs, not just putBlob.
To make sure this is always checked, we check for valid metadata names in the conversion function instead of in each API individually.
Thanks for contribution! Please go through following checklist before sending PR.
PR Branch Destination

For Azurite V3, please send PR to main branch.
For legacy Azurite V2, please send PR to legacy-dev branch.

Always Add Test Cases
Make sure test cases are added to cover the code change.
Add Change Log
Add change log for the code change in Upcoming Release section in ChangeLog.md.
Development Guideline
Please go to CONTRIBUTION.md for steps about setting up development environment and recommended Visual Studio Code extensions.

@microsoft-github-policy-service agree
On Thu, Aug 22, 2024 at 12:54 PM microsoft-github-policy-service[bot] <
@.***> wrote:

@benny-n https://github.com/benny-n please read the following
Contributor License Agreement(CLA). If you agree with the CLA, please reply
with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of
intellectual property rights to my Submissions and I am not making
Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work
for my employer (or my employer has intellectual property rights in my
Submissions by contract or applicable law). I have permission from my
employer to make Submissions and enter into this Agreement on behalf of my
employer. By signing below, the defined term “You” includes me and my
employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the
party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its
affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is
effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable
or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft
and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or
distributing code or other content to any
Project, including but not limited to communication on electronic
mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf
of, the Project for the purpose of
discussing and improving that Project, but excluding communication
that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material
Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement
before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now
or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions
is entirely Your original work.
Should You wish to Submit materials that are not Your original work,
You may Submit them separately
to the Project if You (a) retain all copyright and license information
that was in the materials as You
received them, (b) in the description accompanying Your Submission,
include the phrase “Submission
containing materials of a third party:” followed by the names of the
third party and any licenses or other
restrictions of which You are aware, and (c) follow any other
instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include
Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a
contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your
employer has intellectual
property rights in Your Submission by contract or applicable law, You
must secure permission from Your
employer to make the Submission before signing this Agreement. In that
case, the term “You” in this
Agreement will refer to You and the employer collectively. If You
change employers in the future and
desire to Submit additional Submissions for the new employer, then You
agree to sign a new Agreement
and secure permission from the new employer before Submitting those
Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly
display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all
of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or
the combination of the
Submission with the Project to which it was Submitted to make, have
made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the
Project.
Other Rights Reserved. Each party reserves all rights not
expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without
limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are
legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your
original work (except as You may
have disclosed under Section 3). You represent that You have secured
permission from Your employer to
make the Submission in cases where Your Submission is made in the
course of Your work for Your
employer or Your employer has intellectual property rights in Your
Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You
represent and warrant that You
have the necessary authority to bind the listed employer to the
obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless
You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED
UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO,
ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of
any facts or circumstances of which
You later become aware that would make Your representations in this
Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to
Projects and information about
contributions may be maintained indefinitely and disclosed publicly,
including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the
laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal
courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in
which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County,
Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire
agreement between the parties, and
supersedes any and all prior agreements, understandings or
communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may
be assigned by Microsoft.

—
Reply to this email directly, view it on GitHub
https://github.com/Azure/Azurite/pull/2453#issuecomment-2304254322, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APXXEZMYG25FNB2TENDORTDZSWYO7AVCNFSM6AAAAABM5Y2VW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBUGI2TIMZSGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@blueww Thanks for the review!
Added more test coverage as requested.


Use rr 3.0 on unit tests for Ruby 3.0 kwargs changes

Which issue(s) this PR fixes:
Related to #3263
What this PR does / why we need it:
Older rr did not support Ruby 3.0. We should upgrade rr to 3.0.
Docs Changes:
No needed.
Release Note:
Same as title.

ref: https://github.com/rr/rr/issues/77

5 tests are still failed on Ruby 3.0. Further work is needed.
https://github.com/fluent/fluentd/pull/3304/checks?check_run_id=2233595843
Failure: test_secondary(FluentOutputTest::BufferedOutputTest):
  On subject #<Fluent::Test::TestLogger:0x0000560ce53c5dc8>,
  unexpected method invocation:
    warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file", primary: "#<Class:0x0000560ce53cc678>", secondary: "Fluent::Plugin::Test2Output")
  expected invocations:
  - warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file", {:primary=>"#<Class:0x0000560ce53cc678>", :secondary=>"Fluent::Plugin::Test2Output"})
/home/runner/work/fluentd/fluentd/lib/fluent/plugin/output.rb:391:in `configure'
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/inject.rb:104:in `configure'
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/event_emitter.rb:73:in `configure'
/home/runner/work/fluentd/fluentd/lib/fluent/compat/output.rb:285:in `configure'
/home/runner/work/fluentd/fluentd/lib/fluent/test/base.rb:60:in `configure'
/home/runner/work/fluentd/fluentd/test/test_output.rb:121:in `test_secondary'
     118:
     119:       mock(d.instance.log).warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file",
     120:                                 { primary: d.instance.class.to_s, secondary: "Fluent::Plugin::Test2Output" })
  => 121:       d.configure(CONFIG + %[
     122:         <secondary>
     123:           type test2
     124:           name c0

Failure: test: Create connection per send_data(ForwardOutputTest::keepalive::with require_ack_response):
  socket_create_tcp("<IP_ADDRESS>", 46049, anything)
  Called 0 times.
  Expected 2 times.
/home/runner/work/fluentd/fluentd/test/plugin/test_out_forward.rb:1299:in `block (3 levels) in <class:ForwardOutputTest>'
     1296:
     1297:         begin
     1298:           chunk = Fluent::Plugin::Buffer::MemoryChunk.new(Fluent::Plugin::Buffer::Metadata.new(nil, nil, nil))
  => 1299:           mock.proxy(d.instance).socket_create_tcp(TARGET_HOST, TARGET_PORT, anything) { |sock| mock(sock).close.once; sock }.twice
     1300:
     1301:           target_input_driver.run(timeout: 15) do
     1302:             d.run(shutdown: false) do

Failure: test: must be called #start and #stop(HttpHelperTest::Create a HTTP server):
  On subject Fluent::PluginHelper::HttpServer::Server,
  unexpected method invocation:
    new(addr: "<IP_ADDRESS>", port: 39171, logger: #<Logger:0x0000560ce391be28 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0000560ce391be00 @datetime_format=nil>, @formatter=nil, @logdev=nil>, default_app: nil)
  expected invocations:
  - new(anything)
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/http_server.rb:69:in `http_server_create_http_server'
/home/runner/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:358:in `block (3 levels) in <class:HttpHelperTest>'
     355:         end
     356:
     357:         stub(Fluent::PluginHelper::HttpServer::Server).new(anything) { server }
  => 358:         driver.http_server_create_http_server(:http_server_helper_test, addr: '<IP_ADDRESS>', port: PORT, logger: NULL_LOGGER) do
     359:           # nothing
     360:         end
     361:         driver.stop
/home/runner/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:29:in `on_driver'
/home/runner/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:349:in `block (2 levels) in <class:HttpHelperTest>'

Failure: test: Warn if primary type is different from secondary type and either primary or secondary has custom_format(OutputTest::basic output feature::configure secondary):
  On subject #<Fluent::Log:0x0000560ce5e6d280>,
  unexpected method invocation:
    warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file", primary: "FluentPluginOutputTest::DummyAsyncOutput", secondary: "Fluent::Plugin::TestOutput")
  expected invocations:
  - warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file", {:primary=>"FluentPluginOutputTest::DummyAsyncOutput", :secondary=>"Fluent::Plugin::TestOutput"})
/home/runner/work/fluentd/fluentd/lib/fluent/plugin/output.rb:391:in `configure'
/home/runner/work/fluentd/fluentd/test/plugin/test_output.rb:873:in `block (3 levels) in <class:OutputTest>'
     870:         mock(o.log).warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file",
     871:                          { primary: o.class.to_s, secondary: "Fluent::Plugin::TestOutput" })
     872:
  => 873:         o.configure(config_element('ROOT','',{},[config_element('secondary','',{'@type'=>'test', 'name' => "cool"})]))
     874:         assert_not_nil o.instance_variable_get(:@secondary)
     875:       end
     876:

Failure: test: if new service added and deleted(TestServiceDiscoveryManager::#run_once):
  On subject Fluent::Plugin,
  unexpected method invocation:
    new_sd(:sd_test, parent: nil)
  expected invocations:
  - new_sd(:sd_test, anything)
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/service_discovery/manager.rb:37:in `block in configure'
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/service_discovery/manager.rb:36:in `each'
/home/runner/work/fluentd/fluentd/lib/fluent/plugin_helper/service_discovery/manager.rb:36:in `configure'
/home/runner/work/fluentd/fluentd/test/plugin_helper/service_discovery/test_manager.rb:75:in `block (2 levels) in <class:TestServiceDiscoveryManager>'
     72:       sdm = Fluent::PluginHelper::ServiceDiscovery::Manager.new(log: $log)
     73:       t = TestSdPlugin.new
     74:       mock(Fluent::Plugin).new_sd(:sd_test, anything) { t }
  => 75:       sdm.configure([{ type: :sd_test, conf: config_element('service_discovery', '', {})}])
     76:       sdm.start
     77:
     78:       assert_equal 0, sdm.services.size

5 tests are still failed on Ruby 3.0. Further work is needed.

Failed testcases are green now. :muscle:


Fix github language statistics

Right now Github recognizes our project as being mainly CSS with a lot of Smalltalk and HTML. This is due to the hugo theme containing more code than we have written. This PR fixes this "problem" by marking the theme as ignored by language statistics (see https://github.com/github/linguist for documentation on this).

I'll merge this to see if this works.


Bad trace navigation target for an uninitialized field in a class without a constructor

When attempting to use the migration tool on the csslib package, if I click on the ! added to lib/src/analyzer.dart line 237 (var nestedSelectors = _nestedSelectorGroup!.selectors;), and then click on the second line of Nullability reason (field not initialized), I get navigated to line 58, which is the beginning of the dartdoc comment before the class ExpandNestedSelectors (which contains the field _nestedSelectorGroup).  It would be better if I were navigated to line 180 (the declaration of _nestedSelectorGroup).  It would also be nice if the trace text said something like field not initialized (default constructor).

Quick comment: I found text explaining exactly this on FieldNotInitializedOrigin:

The AST node associated with the edge is the AST node for the constructor that failed to initialize the field (or the class, if the constructor is synthetic).

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


replace import collections with collections.abc

replaced collections with collections.abc to be compatible with python 3.8

Push

A bit late for me to make this comment, but FYI, this will break Python2.x, which doesn't have collections.abc


Error response is missing htsget object

Version: 75aed4760755a13d83e819fbcacbc77f40ee68b2
Error responses are missing the htsget container for the error object (see Htsget retrieval API spec v1.3.0 § Errors).
Actual
GET /reads/dne HTTP/1.1
{
    "error": "InvalidInput",
    "message": "Wrong key derived from ID: dne.bam"
}

Expected
{
    "htsget": {
        "error": "InvalidInput",
        "message": "Wrong key derived from ID: dne.bam"
    }
}

Thanks for reporting @zaeleus, please do give it another spin ;)


compress/gzip: SetReadDeadline take no effect when wrapping a net.Conn with Reader

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.9.2 windows/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\GoProj\wcf\wcf;D:\GoPath
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
What did you do?
I wrap a network connection with gzip reader and SetReadDeadline for it, but it take no effect when an timeout error occur
code in gunzip.go
func (z *Reader) Read(p []byte) (n int, err error) {
	if z.err != nil {
		return 0, z.err    //** when an error occur, it has no way to go next **
	}

	n, z.err = z.decompressor.Read(p)    //** it may return a timeout error when the reader wrap a network connection **
	z.digest = crc32.Update(z.digest, crc32.IEEETable, p[:n])
	z.size += uint32(n)
	if z.err != io.EOF {
		// In the normal case we return here.
		return n, z.err
	}
        ....

What did you expect to see?
SetReadDeadline take effect and I could retry Read operation when timeout occur
What did you see instead?
SetReadDeadline make no effect

Thanks. Interesting scenario.
/cc @dsnet

This problem doesn't seem specific to compress/gzip, but any wrapping reader. Most of the io.Reader implementations in the standard library are sticky about read errors. It seems that there needs to be a more general solution where certain Read errors are recognized as non-fatal (and also leaves the reader in a consistent state).
I should also note that a generalized solution should also think about how timeout errors on write are handled (since the generalized problem applies to both reading and writing).


'Baseline' object is not iterable

hi , win doesnt support it as well , is it right?
Traceback (most recent call last):
File "tools/test.py", line 68, in
main()
File "tools/test.py", line 62, in main
model.load_param(cfg.TEST.WEIGHT)
File ".\modeling\baseline.py", line 176, in load_param
for i in param_dict:
TypeError: 'Baseline' object is not iterable

been sovled~

can you tell me how to solve this question?

@fengjiufa  it seems that the checkpoint saved the whole model instead of model's state dict
replace the param_dict = torch.load(trained_path) as   param_dict = torch.load(trained_path).state_dict()

Ok！Thank you！I'll try to do as you said.------------------ 原始邮件 ------------------
发件人: "Yichen<EMAIL_ADDRESS>发送时间: 2019年11月21日(星期四) 上午10:09
收件人<EMAIL_ADDRESS>抄送: "jiufafeng"1124008433<EMAIL_ADDRESS>主题: Re: [michuanhaohao/reid-strong-baseline]  'Baseline' object is notiterable (#101)
@fengjiufa  it seems that the checkpoint saved the whole model instead of model's state dict
replace the param_dict = torch.load(trained_path) as   param_dict = torch.load(trained_path).state_dict()
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Major Fixes. Updated with the Latest Meet UI

Updated Code according to the latest selenium version. Also fixed some meet ui xpath links.

Good job.


This site can't be reached error

IMPORTANT: Please search the issues, including closed issues, and the FAQ before opening a new issue. The template is mandatory; failure to use it will result in issue closure.
Describe the bug
I'm trying to configure the integration (I wrote the username, password and the 2FA code from amazon website), once I click on "submit" and the new tab site is open, I get "This site can’t be reached".
To Reproduce

Go to "Configure"
Click on "Submit" after filled up required fields.
See error

Screenshots

System details

Home-assistant (version): 2023.5.0
alexa_media (version from const.py or HA startup): 4.6.4
alexapy (version from pip show alexapy or HA startup):
Amazon 2FA is enabled (y/n). Yes

Logs
Can't reach any logs...

I have the same issue. Seems to be related to the URL trying to access port 0 (:0) of the server

I'm using nabu casa, weird.

found the solution.
Use the internal address only.


Post-2.1, remove online tarball build

Once we have everything working and will hopefully not need to compare build errors between online and offline tarball builds, we should be able to just remove the online tarball builds.

Please do in all branches.

2.1 and master done, waiting for the auto-merge for 2.2.

As discussed in https://github.com/dotnet/source-build/pull/653, I dont think this change is a good idea if it can leave people who are building the tarball when not offline in a broken state.

Yup, we need to keep these.  Reversion PRs are https://github.com/dotnet/source-build/pull/705 and https://github.com/dotnet/source-build/pull/706.

Fixed in PRs above.


Replace sh24 project story header image

I'm only not sure if the image is not too dark? Though I know we agreed with that one...

@mybits yes, definitely look quite dark and gloomy in comparison to the previous. Will look in Drive to see if the original photograph is there we can alter.

@tomsabin it's updated with new images

:tada: nice, LGTM :)


j2objc 2.0: can't create an instance of SecureRandom

Hi,
After migration to j2objc 2.0 we discovered, that we are no longer able to create SecureRandom instance. It crashes with the following error:
PSSessionConnectionDaemon: <error>, Unexpected error, Unable to configure default providers, class java.lang.AssertionError,
[0x00000001073f11cb java.lang.AssertionError.<init>() + 45,
0x0000000107666934 sun.security.jca.Providers.<clinit>() + 430,
0x0000000107666b83 sun.security.jca.Providers.getProviderList() + 52,
0x000000010758cf96 java.security.SecureRandom.getPrngAlgorithm() + 86,
0x000000010758bf01 java.security.SecureRandom.getDefaultPRNG() + 29, 0x00000001073da44b PSEncryptionHelper.getKeyGen() + 11,
0x000000010736d7a6 PSRsaClientEncryptionProcessor.createRsaOption() + 342,
0x000000010736d5fc PSRsaClientEncryptionProcessor.supportedOptions() + 188, 0x00000001072c0445 PSConnector.createInitialPacket() + 309,
0x00000001072c0296 PSConnector.connect() + 278,
0x0000000107253b82 PSSessionConnectionDaemon.connectAndWait() + 562,
0x00000001072537ed PSSessionConnectionDaemon.loopOnConnector() + 29,
0x0000000107254aa3

Maybe it is somehow related to the migration to Apache Harmony? Any help would be appreciated.
Thanks,
Kirill

The problem is that sun.security.jca.Providers dynamically loads the security providers, so there's no dependency found for them when linking.
There are a couple of temporary workarounds you can do until we fix this. The first is to link with the -ObjC flag, which links all Objective C classes found in static libraries. This can make your app bigger, so it's best to only use which developing your app. Our tests didn't catch this error because JUnit reflectively loads all test classes, so the test bundle has to be linked with -ObjC.
The other workaround is to add references to the security providers, from a class that's already linked into your app so the linker includes it. I'll be adding this to Providers.java:
    @SuppressWarnings("unused")
       private static final Class<?>[] providers = new Class[] {
        IosSecurityProvider.class,
        CertPathProvider.class,
    };

This won't increase the size of your app, since those classes should have been linked into your app (but weren't). If you add this block to your code, mark it as a temporary workaround since that list of providers may change in the future.


Feature/296 explore turning off normalise css

Summary of the changes

Renamed 'normalise' to American spelling to match spelling of Normalize.css library and also because we use American spellings in code
Removed normalize.css from core.css file - it is now exported alongside the core.css file so can be imported by doing '@import <EMAIL_ADDRESS>(or equivalent for React components). This is similar to how other design systems like Ionic manage their normalised styles - Ionic docs
Updated instructions in README and other Storybook instructions to inform how to import the normalize.css file
Also thought it would be worth updating the React Getting Started story to match the React README (although we are planning to update / remove the Getting Started, Vue, Angular etc. instructions in Storybook properly in the future as part of ticket 238 in ic-design-system)
Updated scripts in package.json to copy core.css and normalize.css separately to dist folder during build

Note: I will create another PR in the ic-design-system repo to update the instructions about importing styles on the guidance site once these changes have been reviewed and merged (although will set it as a draft PR so it is only merged once we've done a release of the components).
Related issue
#296

Sorry - just noticed issues with the visual tests, will fix


Update nltk version

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Update dependency to conform with security advisory https://github.com/advisories/GHSA-cgvx-9447-vcch

What is the current behavior? (You can also link to an open issue here)
N/A

What is the new behavior (if this is a feature change)?
N/A

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
N/A

Have unit tests been run against this PR? (Has there also been any additional testing?)

Related Python client changes (link commit/PR here)
N/A

Related documentation changes (link commit/PR here)
N/A

Other information:
https://nvd.nist.gov/vuln/detail/CVE-2024-39705

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)

@ishaaq , will we need to upgrade this lib often? If not, after your test is done, please consider upgrade the version in marqo-base repo: https://github.com/marqo-ai/marqo-base/blob/main/requirements.txt

Merged in with another PR


[2.2] add Release_Name env to operator deployment

For open-cluster-management/backlog#12299
Add labels to be consistent with other search components

https://travis-ci.com/github/open-cluster-management/search-chart/jobs/515443905 Merge to release branch failed with error. PR to fix

git clone --single-branch --branch master<EMAIL_ADDRESS>Cloning into 'multicloudhub-repo'...
warning: Could not find remote branch master to clone.
fatal: Remote branch master not found in upstream origin
The command "git clone --single-branch --branch master<EMAIL_ADDRESS>exited with 128.
0.00s$ cd multicloudhub-repo
/home/travis/.travis/functions: line 109: cd: multicloudhub-repo: No such file or directory
The command "cd multicloudhub-repo" exited with 1.
0.00s$ ./cicd-scripts/chartAutomation.sh search-chart
/home/travis/.travis/functions: line 109: ./cicd-scripts/chartAutomation.sh: No such file or directory
The command "./cicd-scripts/chartAutomation.sh search-chart" exited with 127.


mapping ACEF organisation to latest ColDP metadata

What should the previous organisations metadata field be mapped to in the updated model?
It could be one of the following:

creator
editor
publisher
distributor, i.e. host
contributor

@yroskov @gdower unless you have a better suggestion I will map the first organisation to distributor:

Agent helping in distributing the dataset. Often an organisation providing hosting services.

... and in case there are more than one keep them all as contributors

mapped to contributor


Lib32 Gnutls

Project description
The 32 bit version of gnutls. Required to run Grapejuice.
Metadata

homepage URL:https://gnutls.org/index.html
source URL: https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.8-w32.zip
license: lgpl 2.1
platforms: arch/steamOS

Didn't seem to work...

what did you attempt precisely?

You need to provide more information (and reopen).
The package above builds.  We also package grapejuice which starts up (for me on x86_64 NixOS), including installation of Roblox Studio up to login.


feat(FX-4753, FX-4754, FX-4757): add bottom sheets for artwork lists

This PR resolves FX-4753, FX-4754, FX-4757
Demo
iOS
https://user-images.githubusercontent.com/3513494/233634150-923f1f56-c8e7-4af4-89bb-b4b226fdc915.mp4
Android
https://user-images.githubusercontent.com/3513494/233636551-2a39aff0-2404-4c3c-a3e7-e950d4fd3b97.mp4

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

add bottom sheets for artwork lists - dimatretyak

Need help with something? Have a look at our docs, or get in touch with us.

Merged. If needed to make changes, then I address them in a separate PR


Can't disable the draggable area in a frameless window

Electron 0.36.0
OS X 10.10.3
BrowserWindow with 'title-bar-style' set to  'hidden-inset'.
Problem:
There is always a draggable area at the top, even if I don't place any elements there. It has a standard size for this type of windows in OS X (see System Preferences). And I can't disable it for my buttons or other elements by using -webkit-app-region: no-drag;.
I'm not sure but I think there wasn't such an issue in 0.35.

This is unfortunate a side effect of the title-bar-style option, I'm closing this as a duplicate of #3009.

Ok, I see. But which project this side effect belongs to? I mean, we should solve it somehow.


Rendering of remediations fail when FastPass is enabled

Describe the bug
When fastpass is enabled on the Okta org, the login page does not render, but rather a "missingRelatedObject" exception is thrown from https://github.com/okta/okta-idx-swift/blob/19c0b172cd182fb0ba7db60093c6bd800448b5d1/Sources/OktaIdx/Internal/Implementations/Version1/Responses/IDXClient%2BRelatesTo.swift#L98
Still learning the details on how remediations are supposed to work, but there must be something with the fastpass remediation that is not yet being either handled or ignored.
To Reproduce
Steps to reproduce the behavior:

In the Okta org, add Okta Verify as a valid authenticator.
Attempt to login to the sample application

Expected behavior
I expected a login view to properly render and not throw the missingrelatedobject exception.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: Simulated iPhone 11 Pro
OS: 14.4

Additional context

Thanks @dancinnamon-okta, while Okta Verify isn't currently supported as an authenticator within the IDX SDK, I've taken the liberty of logging this as a ticket so we can track it.  OKTA-417869
I'm going to close this issue, but you can feel free to follow that ticket so you know when we fix it.  Cheers!


Exist basic scalar type in downloaded schema and got Schema errors

Question

When I download the Schema with gradlew :app:downloadApolloSchema , the basic scalar type(ID, Int, Float...) exists in Schema file. Probably because of this, Android Studio is throwing an error, but how should I deal with this?
There is no problem with the operation such as building or sending requests.
Also, I sometimes write code to parse GraphQL schemas in Go, but I get the same error there and cannot parse it. Should the Go GraphQL parser be made not to throw an error, or should the schema not include a basic scalar type, which is correct?

Hi 👋 . This is a known issue in the GraphQL IntelliJ plugin. These types needs to be in the schema because there exists several versions of them (deprecated input fields, repeated directives, etc... have been introduced more recently). And we need to know what version is used to do proper validation.

It's affecting validation and/or introspection. Take the latest builtin __InputValue type definition:
type __InputValue {
  name: String!
  description: String
  type: __Type!
  defaultValue: String
  isDeprecated: Boolean!
  deprecationReason: String
}

And write this query:
{
  __schema {
    types {
      inputFields {
        isDeprecated
      }
    }
  }
}

It will validate well for Apollo Kotlin because isDeprecated is in the schema. Now if you try to execute this against an older version of the spec that doesn't know about deprecated input fields, this query will error all the time. This is what we want to avoid by validating the queries client side.

When representing a GraphQL schema using the type system definition language, all built-in scalars must be omitted for brevity.
https://spec.graphql.org/draft/#sec-Scalars.Built-in-Scalars

@martinbonnin Hi! I found this section in GraphQL Draft spec.
It seems to me that built-in scalars should not exist in the schema file. What do you think?

Good catch, TIL! I'll remove them. It's only about builtin scalars though, not the introspection types or directives so there will be still some warnings for the time being but @BoD added a fix to the IntelliJ plugin there

PR here

Thanks 👍

@sonatard: for the record, I opened this PR in the GraphQL spec to explicit how introspection types should be handled in SDL. The tldr; is that it's not easy and will probably require to change to introspection and how servers declare their capabilities to other tools. You can read more in yesterday's working group meeting notes

Thinking more about this, one actionable item for us is to add to the builtin types.
# noinspection GraphQLTypeRedefinition

At least it'll remove the warning until the spec moves forward

3 changes in 4.0.0-alpha.3:

scalars are not written by default in SDL
other types have a # noinspection GraphQLTypeRedefinition comment to ignore the warning
the Apollo IJ plugin itself is going to ignore the warning

I'll close this issue again as I believe there nothing more we can do in the current state of things. For discussions about how to handle full schemas in the GraphQL spec, see https://github.com/graphql/graphql-wg/issues/1367


Format Document Not working

Issue Type: Bug
when opening a new document (XML, JSON etc) and pasting valid XML/Json etc.  the format document menu often does not appear.
After inserting a blank line or changing the text, the menu will appear. However selecting it often does nothing.  I have found sometimes it needs to be selected 4 or 5 times before it will work.
Once it works, it seems to be fine and correctly formats the document.
VS Code version: Code 1.40.1 (8795a9889db74563ddd43eb0a897a2384129a619, 2019-11-13T16:49:35.976Z)
OS version: Windows_NT x64 10.0.18362

/needsMoreInfo
can you please provide steps with an example when this happens so that we can reproduce the problem.

Here are my repro steps.
Open vs code
File.New File
Paste XML document (that has root node)
Right mouse click to get to Format Document menu
For me, both format document & format document with  menus are missing.
Edit document (I either just insert a blank line at the top, or wrap the XML with another element.
Right mouse click again (several times) and the Format document menu eventually appears.
Note: I don't save the documents (I just used the default persistence).
Regards

Have you tried setting the file format as XML in the bottom right corner?
It's pretty important if you don't save the file.

@AndyWDev In the description you mention that this happens for both XML and JSON

when opening a new document (XML, JSON etc)

Do you also have steps for to reproduce this in JSON?

I can reproduce it when I invoke the context menu immediately when VS Code has started. Is this the issue you are referring to? In other words, once the Format menu entries show up, they will always show up?

yes, that appears to be the case.
When I opened a new window and pasted some xml (and chose xml doc type) the menu seemed to appear quite quickly.  When I opened vs code for the first time, I had to right mouse click to the context menu about 8 times (about 10-15 seconds) before the menu appeared.

/needsMoreInfo
It seems like the extensions are slow to register. Can you attach the reading of F1 > Startup Performance


Remove unused dependencies

Rip - solc-trace-set

Pull Request Test Coverage Report for Build 2910

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 2907:
0.0%

Covered Lines:
633

Relevant Lines:
633

💛  - Coveralls


feat(ci): use just action for installation

Tip from detiber, as recommended by the just docs.

Doesn't work since not on Root's PATH.

oh damn


other Azure Services are not allowed access to the Server's databases.

•If you create a new Azure SQL Database on an existing Azure SQL Server, the firewall rules of the Server are not changed. As a result, it's possible other Azure Services are not allowed access to the Server's databases.
do we have any workaround on this if yes, can we add

@jeffgoll Can you assist?  Sent mail.

@deneha not sure what the expectation is here, whether the customer is monitoring this thread, or in what context the issue was logged. But the behavior described is by design. The workaround, in general, I believe would be to leave the server level firewall rule least restrictive, and then enable DB-level firewall rules. But I say that without being aware of the specific security requirements, app requirements, and threat assessment. There is a topic on MSDN https://msdn.microsoft.com/en-us/library/azure/ee621782.aspx that might help the reader.


[Regarding fonts.pickle file]

Hi, great work guys. Thank you so much for this contribution.
I'm trying out the model and adapting it to another language different than English so the ability to control the fonts list is a big concern.
I have a favor to ask. Can you guys release a sample font json metadata and asset so that I can try to build a new pickle file based on that. I'm a bit confused about what metadata fields should be included in the json and is the asset in the form of .ttf ?
Working examples to test with FontManager would be really appreciated, just 1 font is enough
You can email me at<EMAIL_ADDRESS>if you prefer not to pollute the code base.
Thank you for your time and effort!

Hi, thank you for your interest in our project! As we do here
import huggingface_hub

path = huggingface_hub.hf_hub_download(
    repo_id="cyberagent/opencole",
    filename="resources/fonts.pickle",
    repo_type="dataset",
)

print(path)  # this is where the pickle is stored

Thanks for your reply.
I have found and inspected the fonts.pickle. I have managed to add additional fonts.
Great work team, thank you and wish you all the best


[cinder-csi-plugin] Backport fixes to 1.17

What this PR does / why we need it:
Backport #925 , #897 to release-1.17
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/assign @lingxiankong

/lgtm

/test cloud-provider-openstack-e2e-test-csi-cinder

@ramineni could you please add a #1022 fix as well?

@ramineni could you please add a #1022 fix as well?

@kayrus that could be backported in a separate PR, are you happy to do that?

@ramineni I can see there is a problem that openlab job definition is not branch-based, need to think about how to deal with that.

Can you check the reason of cloud-provider-openstack-e2e-test-csi-cinder job failure?

@lingxiankong ya, looks like its running against master ,
2020-04-14 09:10:23.126703 | ubuntu-xenial-citynetwork | + make image-cinder-csi-plugin 2020-04-14 09:10:23.210042 | ubuntu-xenial-citynetwork | make: *** No rule to make target 'image-cinder-csi-plugin'.  Stop.

@kayrus that could be backported in a separate PR, are you happy to do that?

@lingxiankong  will do once you manage to find a solution for make: *** No rule to make target 'image-cinder-csi-plugin'

@lingxiankong ya, looks like it , latest changes in job to support multi arch , is not supported for 1.17 branch ,https://github.com/theopenlab/openlab-zuul-jobs/blob/master/playbooks/cloud-provider-openstack-e2e-test-csi-cinder/run.yaml#L96 , looks like we need to make branch based here, for other branches run make image-csi-plugin
2020-04-14 09:10:23.126703 | ubuntu-xenial-citynetwork | + make image-cinder-csi-plugin 2020-04-14 09:10:23.210042 | ubuntu-xenial-citynetwork | make: *** No rule to make target 'image-cinder-csi-plugin'. Stop.

We could change job cloud-provider-openstack-e2e-test-csi-cinder as the same with https://github.com/theopenlab/openlab-zuul-jobs/blob/master/playbooks/cloud-provider-openstack-acceptance-test-csi-cinder/run.yaml#L96-L109

We could change job cloud-provider-openstack-e2e-test-csi-cinder as the same with https://github.com/theopenlab/openlab-zuul-jobs/blob/master/playbooks/cloud-provider-openstack-acceptance-test-csi-cinder/run.yaml#L96-L109

Fix: https://github.com/theopenlab/openlab-zuul-jobs/pull/858

Please rebase so that cloud-provider-openstack-acceptance-test-keystone-authentication-authorization won't run.

/retest

Build failed.

cloud-provider-openstack-e2e-test-csi-cinder  : POST_FAILURE in 9m 16s

Please hold until we change the job in openlab

/test cloud-provider-openstack-e2e-test-csi-cinder

Build succeeded.
* [cloud-provider-openstack-e2e-test-csi-cinder ](https://logs.openlabtesting.org/logs/29/1029/73749a1834d8a2755cfe80f2dd66dc43285f3aff/cloud-provider-openstack-e2e-test-csi-cinder/cloud-provider-openstack-e2e-test-csi-cinder/27c466b/) : SUCCESS in 26m 16s

Successfully tagged k8scloudprovider/cinder-csi-plugin:v1.17.0, nice, seems we have also fixed a bug.

/lgtm
/approve


rancher pod内部不能访问http请求外网环境

Describe your issue here
访问外部服务错误
/ # wget www.baidu.com
Connecting to www.baidu.com (<IP_ADDRESS>:80)
Connecting to www.baidu.com (<IP_ADDRESS>:443)
ssl_client: www.baidu.com: name `www.baidu.com' not present in server certificate
wget: error getting response: Connection reset by peer
程序访问:
返回报文为：
301 Moved Permanently

301 Moved Permanently
openresty

Useful
Info

Versions
Rancher v2.2.3 UI: v2.2.41

Route
authenticated.project.dns.index

Can you supply more info on your setup (basically copy paste from this and fill in: https://raw.githubusercontent.com/rancher/rancher/master/.github/ISSUE_TEMPLATE.md)
Or find us by searching rancher2 via WeChat


Add Note on Client Error Handling to Documentation

Some people (including myself) attempt to use the LDAP client without registering a handler to the error event, since e.g. connection errors are supposed to be included in the callbacks of other methods. Since the client is an EventEmitter however the Node.js process will exit if the handler is missing.
This PR adds a note to the documentation to avoid confusion as suggested in #356 and #498.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Azcore configuration api

Fixes #3476
Adds a centralized way to manage configurations into Azure Core.
Migrates some functionality to check for configuration defaults instead of just using hard coded defaults.

Can one of the admins verify this patch?


Add FreeSurfer SynthSeg module

Add FreeSurfer SynthSeg module that implements the following command:
mri_synthseg --i <input> --o <output> [--parc --robust --fast --vol <vol> --qc <qc> --post <post> --resample <resample> --crop <crop> --threads <threads> --cpu --v1 --ct]

where:

[x]    <input>: path to a scan to segment, or to a folder. This can also be the path to a text file, where each line is the path of an image to segment.

[x]    <output>: path where the output segmentations will be saved. This must be the same type as --i (i.e., the path to a file, a folder, or a text file where each line is the path to an output segmentation).

[x]    --parc: (optional) to perform cortical parcellation in addition to whole-brain segmentation.

[x]    --robust: (optional) to use the variant for increased robustness (e.g., when analysing clinical data with large space spacing). This can be slower than the other model.

[x]    --fast: (optional) use this flag to disable some postprocessing operations for faster prediction (approximately twice as fast, but slightly less accurate). This doesn't apply when the --robust flag is used.

[ ]    <vol>: (optional) path to a CSV file where volumes for all segmented regions will be saved. If --i designates an image or a folder, <vol> must be the path to a single CSV file where the volumes of all subjects will be saved. Otherwise,  must be a text file, where each line is the path to a different CSV file where the volumes of the corresponding subject will be saved.

[ ]    <qc>: (optional) path to a CSV file where QC scores will be saved. The same formatting requirements apply as for the --vol flag.

[ ]    <post>: (optional) path where the output 3D posterior probabilities will be saved. This must be the same type as --i (i.e., the path to a file, a folder, or a text file).

[x]    <resample>: (optional) in order to return segmentations at 1mm resolution, the input images are internally resampled (except if they already are at 1mm). Use this optional flag to save the resampled images. This must be the same type as --i (i.e., the path to a file, a folder, or a text file).

[ ]    <crop>: (optional) to crop the inputs to a given shape before segmentation. This must be divisible by 32. It can be given as a single (i.e., --crop 160) or several integers (i.e, --crop 160 128 192, ordered in RAS coordinates). By default the whole image is processed. Use this flag for faster analysis or to fit in your GPU.

[x]    <threads>: (optional) number of threads to be used by Tensorflow (default uses one core). Increase it to decrease the runtime when using the CPU version.

[x]    --cpu: (optional) to run on the CPU rather than the GPU.

[x]    --v1: (optional) to run the first version of SynthSeg (SynthSeg 1.0).

[x]    --ct: (optional) use this flag when processing CT scans (details below).

[ ]    --photo: (optional) use this flag when processing stacks of 3D reconstructed dissection photos (see PhotoTools). Use --photo left to segment left hemispheres, --photo right for right hemispheres, and --photo both for images with both hemispheres.

Most of the arguments have been added. Closing for now.


method naming conventions

I have seen a few methods in Crystal that are borrowed from Ruby, but some of the method names are unnecessarily short/unreadable
So far I have seen only 2, String.tr() and Int32.chr
For those 2, .tr can be .replace or something a bit more recognizable and .chr should be .char, so it can be much more readable.
This is just a suggestion, and have only found 2 methods so far in the course of writing my code.

I think tr is actually a well known name used across many languages, most prominently it's present in the Gnu coreutils.

method names can stay as they are if you see that they have good reason for their shotnames. if what you said is true than sure. Though I don't see why .char is .chr.

Both methods (tr and chr) are available in Ruby ;)
--
Best Regards,
Alexey Fedorov,
Sr Ruby Developer, Clojure Developer, Rust Developer,
+49 15757 486 476
2015-05-11 1:53 GMT+03:00 Unnamed<EMAIL_ADDRESS>
method names can stay as they are if you see that they have good reason
for their shotnames. if what you said is true than sure. Though I don't see
why .char is .chr.
—
Reply to this email directly or view it on GitHub
https://github.com/manastech/crystal/issues/651#issuecomment-100713132.

Yes I understand that, but I'm doing this in Crystal's perspective.
These are just slight method naming conventions that can make Crystal better in my opinion for those who don't code in Ruby :)
In a situation like .chr, I would rather have it readable then making it as short as possible

I think at this point I'd like to preverse as much compatibility with Ruby as possible. In fact, maybe using includes? instead of include? was a mistake (we still have time to change this). If someone knows Ruby and comes to Crystal, they already know most of the names. If not, they don't know any name so learning "tr" vs. "replace" or "chr" vs. "char", or "includes?" vs. "include?" is the same for them. So preserving Ruby names should be something to think about.
On the other hand, I never really liked attr_accessor, attr_reader and attr_writer. In every other language they are called property, getter and setter.
@Vikaton Would you also change puts and gets to more readable, but probably longer, names?

There's also the thing that if "foo".includes?("o") reads like English, but if "foo".include?("o") reads like Tarzan. On the other hand array.includes? reads well too, but the variable is probably named elements or children so elements.includes? reads wrong. And having aliases for these is not a good thing...
But then, I'm not sure a lot of Ruby code can be ported to Crystal, most of the time you end up writing lots of code yourself, and once your mind knows you are programming in this language you don't make those spelling mistakes.
There's also readline, which should probably be read_line... So many names!

@asterite there is not need for the puts and gets switch because we have the other ways of printing, though maybe not in the same implementation.
getter and setter are fine, but it's really up to the community and what they think.

How about #chr => #to_char ?
--
Best Regards,
Alexey Fedorov,
Sr Ruby Developer, Clojure Developer, Rust Developer,
+49 15757 486 476
2015-05-11 2:41 GMT+03:00 Unnamed<EMAIL_ADDRESS>
@asterite https://github.com/asterite there is not need for the puts
and gets switch because we have the other ways of printing, though maybe
not in the same implementation.
getter and setter are fine, but it's really up to the community and what
they think.
—
Reply to this email directly or view it on GitHub
https://github.com/manastech/crystal/issues/651#issuecomment-100715671.

@waterlink That sounds good, anything to make it more readable than .chr. and this goes for any other method name.

And #tr is more like not a #replace, but a translate
--
Best Regards,
Alexey Fedorov,
Sr Ruby Developer, Clojure Developer, Rust Developer,
+49 15757 486 476
2015-05-11 3:44 GMT+03:00 Unnamed<EMAIL_ADDRESS>
@waterlink https://github.com/waterlink That sounds good, anything to
make it more readable than .chr. and this goes for any other method name.
—
Reply to this email directly or view it on GitHub
https://github.com/manastech/crystal/issues/651#issuecomment-100724959.

man tr

What's that?

@Vikaton tr is a UNIX command that replaces single characters.

@asterite going back and forth from Crystal to Ruby I always mistype includes? vs include? for the wrong language. Same for the responds_to? vs respond_to?. It would be nice to harmonize.
In Ruby I feel like there is a difference between wrapped C functions vs Ruby methods: the former retains the original names, whereas the Ruby methods are more explicit, or happen to alias the wrapped C functions.

I was wondering what man tr meant

I think he just meant read the manual page for that command.
You can do it online too: http://linux.die.net/man/1/tr

@Vikaton Typing that in a UNIX shell gives you the manual page for tr. @asterite was using it to say to read the manual page. They have them online, too, like @strcmp; there's another one here.

man is the *nix command for reading manuals for other *nix commands.
Command man tr will show such manual for builtin tr *nix command (which
effectively does, what String#tr does, but more powerful of course).
--
Best Regards,
Alexey Fedorov,
Sr Ruby Developer, Clojure Developer, Rust Developer,
+49 15757 486 476
2015-05-12 22:25 GMT+03:00 strcmp<EMAIL_ADDRESS>
I think he just meant read the manual page for that command.
You can do it online too: http://linux.die.net/man/1/tr
—
Reply to this email directly or view it on GitHub
https://github.com/manastech/crystal/issues/651#issuecomment-101393588.

man man

I was actually surprised to find that tr was a unix command, that's why I put man tr here. I guess that's where Ruby took the name from...

@jhass gotta love recursion :-P

Oh, Thanks

What do you think of changing chr to char

Why can't there be both? There is detect and find, collect and map. So if you made aliases for tr and chr, everyone would be happy.

That sounds like a good idea

I don't think that aliases are the best part of Ruby. Like Erik Michaels-Ober said, language can be better if syntax will be more consistent. I think some aliases can be confusing, especially for beginners.
At the same time, I think that methods should have clear and short names.
Both words - 'replace' and 'char' aren't so long, but with those names, methods look more understandable, what cannot be said about the 'tr' and 'chr'.
However, I think that some aliases is better to save or add, but only those that will not able be confusing to developers.  For example, 'include?' and 'uncludes?', 'responds_to?' and 'respond_to?'. The presence of the two options will only help.

+1 ^

@YaroslavShapoval +1
I don't like aliases either. Yes, it seems nice at first that you can choose "map" or "collect", whichever you prefer. But say you prefer "map" and work in a team and someone else prefers "collect". Then the project starts having these two names all over and there's no consistency. And then you find a piece of code with "detect" and wonder "what's that?".
In the end, you have to learn all variants of the API, regardless of what you prefer. And it's better if you have to keep less things in your mind.
As for tr and chr, I don't know. Instead of chr it should be something like to_char or to_c, but the later means "to Complex" in Ruby (not that it's really important). But what about "puts"? That's cryptic too. Or "gets". Should we rename those?
I don't think these names matter much, they are so frequently used that you learn them quickly.

I think that methods like 'puts' and 'gets' meet not simply often, they start meeting from the first steps of learning language, from the first program: "puts 'Hello, world!'".
Moreover, I think that a change of 'puts' on something else can confuse those developers who will come from Ruby. After all, the Crystal's description has the saying: "Have the same syntax as Ruby, or at least as similar as possible." And if even "puts 'Hello, world!'" won't be executed, it can frighten off developers.
In view of the above, I think that making changes in the syntax need to be cautious, and it would be nice if all the changes have been listed anywhere.

As far as I can tell crystal made some good choices :) I like includes? and responds_to? for instance :)
I also think that the flurry of aliases in Ruby isn't always helping - e.g. I'm happy just having map/find instead of collect/detect :)

Abbreviations and shortened names are great for things that are used all the time. I know tr from Linux and Perl, but how often is it used, and how many others do not get the historic connection? "translate" would be better in that case.
After some time now with crystal I must say I'm starting to dislike the is_a? methods (ending with question mark). It would be way more logical extending the if expression with the ternary syntax mixed in (as an optional then/else delimiter syntax): foo = if bar.is_a(Baz) ? 1 : 0. That would make ternary op more clear (possibly helping with the nil/? issue, if that would become interesting again), give if an alternative, logical, way of making one-statement blocks and get the question mark in a better place.
But, yes, I know, Crystal has luggage to drag; Ruby. That's good and bad. I wish crystal could stick with the good parts of the Ruby syntax, and re-invent on all the rest. But in any event, I'm happy that Crystal exists because it rocks, so I'll just swallow these small flies.

Hey @ozra - at least for me so far crystal sticks to the good parts of Ruby :)
The ? mark for query methods that return booleans are rather a convention other than the ones in the language. If you REALLY want is_a to you can probably do:
class Object
  alias_method :is_a?, :is_a # not sure what the order of arguments in crystal is :)
end

@PragTob - thanks for the tip! I will stick to the way of the Crystal community consensus for most everything anyway, even though I might wish and hope for something different in some regards, the pro of easier sharing takes precedence :), and I do realize Ruby is lapidary engraved in the Crystal movement. Though I do use dashes in all identifiers ;-)

+1 from a non-rubyist

+1 from rubyist

for

Abbreviations and shortened names are great for things that are used all the time

So #chr better to be #to_char, #tr -> #translate (or something else)

for not having aliases like #map/#collect, #find/#detect

for having aliases like #include?/#includes?, #respond_to?/#responds_to?

This issue is very general, so I'll close this. Please open individual issue for method renames that you'd like to happen.


Waypoint: Create a Bulleted Unordered List

Challenge http://www.freecodecamp.com/challenges/waypoint-create-a-bulleted-unordered-list has an issue. Please describe how to reproduce it, and include links to screen shots if possible.
After you finish the challenge it won't let you pass saying that "Make sure your li element has a closing tag." even though I have them in place.

It will only let me through when I remove all Classes within  tags.

Hm... We were actually expecting your input to look more like this: https://www.evernote.com/l/AHRHhVr1X4RMrJtngupnxfNGC19P3HDPipcB/image.png
Do you have screen shots of the full page including tests?

I haven't heard back and am closing this issue. Please resubmit if you encounter this issue again. Thanks!

i have the exact same issiu as @pikinkz
and as well works if i remove classes  within tags


Systemd init script should support DOCKER_OPTS

See #9889 (specifically, here). The systemd daemon should support DOCKER_OPTS the same as upstart and sysv do.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:maclennann/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Dup of #14513 and so many others :-)

Ah, my bad. I thought I searched, but I must have only been looking at open.


Fix CWE-117

Signed-off-by: Taras Drozdovskyi<EMAIL_ADDRESS>Description
Fix CWE-117. I would like to note that the task is more difficult than it seems at first glance. The reason is that the LGTM(CodeQL) does not have the correct template for solving this problem. It can be argued that the vulnerability has been fixed, but the LGTM cannot detect this fix. Hence each line is marked as excluded. I have not excluded this type of error for the entire project, since the vulnerability is serious. And we will have to fix it every time it appears. Sometimes the lines of code became out very long, I didn't want to do that, but I had to.
I hope this is a temporary solution, and a nicer solution will be found.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. Below is just an example and you can delete it when you contribute.
Test Configuration:

OS type & version: Ubuntu 18.04
Hardware: x86-64
Toolchain: Docker v20.04 and Go v1.16
Edge Orchestration Release: v1.1.2

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] 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

After applying PR and updating the LGTM system, I will mark it in the CodeQL as "false positive"

After applying PR and updating the LGTM system, I will mark it in the CodeQL as "false positive"

Copy that. 😁


Page Exit Confirmation

If the user tries to leave the page mid specification it should ask for confirmation.

This functionality was apart of the original fileset.
set config.run.showWarningOnExit = true


nfs for repos

@thieman still needs tests, and some old rsync stuff needs to be ripped out.  This is ready for your input tho

Writing integration tests for this one is gonna be fun

Also Jordan I am SO STOKED FOR THIS

praise NFS!


difference between table of contents and index

Unless I am deceived, you are generating a table of contents, not an index.
A table of contents is a sequential list of all the headings in a document.
An index is a list of all the significant words in a document cross-referenced to their position in the document.
This is confusing, as these are entirely separate things.

You are correct :)
What do you intend with this comment?

I was suggesting that instead of using the word index or content index in the readme, you use the words table of contents, so that people will not be misled, as I was, to think that this project does something different than it does.

@ksdavidc I see, sorry about that. I took it as having to rename the whole extension and I wasn't seeing how that was possible.
I've updated the readme.

I see. Thanks. There are ways to rename extensions (many of them are doing it now because of new extension guidelines), and I think it has to do with the main json file, but you'd have to look at the obsidian plugin docs for that.

I am not saying you have to, just a point of reference. I know it is a work in progress, so hang in there! :-)


Github username input prediction

We'll try to add a code next to "predict" the username when entering the Github username. It is best to simply get the username from a username.txt file.

Cool features, I can take a look into this with you @SchBenedikt

@SchBenedikt I have done the functionality of this feature, I have not done the styling yet but you can take a look

Thanks, I'll check it out later!

Thank you for doing everything - but I'm short on time right now, so I may have to take a closer look at this later! It should replace the Github Username input form. During the username search you should also be able to select the suggested usernames. How do you find that?

You can take a look on the preview, basically I just went through github api. The rest is handling with javascript


Grammar for Inno Setup

This pull request adds a grammar for Inno Setup. I also added a sample file.
I found two grammars for Inno Setup:

idleberg/InnoSetup-Sublime-Text: example in Lightshow (the one added in this PR)
shadyproject/sublime-inno-setup: example in Lightshow

I chose the first one because the second one doesn't seem to recognize quoted strings. Also, it seems more active lately. However, the first one recognizes URLs as comments.

:+1:

This is now live on github.com.


Problem with WPML.... css/js 404 not found

Is there any thing we have to do to make it work with WPML.
The native language is working but when we are switching to another, we got 404 error for the css/js etc..

Hi @PatriceBois, we haven't had those issues with Polylang or WPML but we'll investigate.
Meanwhile you should be able to fix it with a wildcard redirect using something like (you need regex support) https://wordpress.org/plugins/redirection/
The redirect code should be this one (you will have to test it yourself):

From: http://emswdev.com/provalis/*/wp-content/themes/provalis/skin/public/(.*)
To: http://emswdev.com/provalis/wp-content/themes/provalis/skin/public/$1

Hi Patrice,
could you please give us the manifest.json data and if you could give use what version of the boilerplate are you using?
The problem here is that WPML adds language to the url. Manifest outputs the relative assets path, that means that the url will be wrong. Please output your manifest.json here and boilerplate version and I will provide you with the fix

Where can i found the manifest.json, i can't seem to find it
=== Eightshift WordPress Boilerplate ===
Contributors: mustra, dingo_d, ivangrginov
Tags: custom-menu, editor-style, featured-images, one-column, theme-options	, translation-ready
Requires at least: 4.4
Requires PHP: 7.0
Tested up to: 5.1.1
Stable tag: 1.0.0
License: MIT
License URI: https://opensource.org/licenses/MIT

"version": "4.0.0",
"author": "Team Eightshift",
"main": "",

menifest.json can be found in theme/skin/public/manifest.json

{
"application.css": "wp-content/themes/provalis/skin/public/application-c937192740bedc818b8e.css",
"application.js": "wp-content/themes/provalis/skin/public/application.js",
"applicationAdmin.css": "wp-content/themes/provalis/skin/public/applicationAdmin-c937192740bedc818b8e.css",
"applicationAdmin.js": "wp-content/themes/provalis/skin/public/applicationAdmin.js",
"jquery.min.js": "wp-content/themes/provalis/skin/public/jquery.min.js",
"logo.svg": "wp-content/themes/provalis/skin/public/logo.svg"
}

Any updates? Thanks

+1 The same problem with polylang.
$this->manifest->get_assets_manifest_item( 'application.css' )
Returns path with language.
For example mydomain.com/en/wp-content/themes/.... instead  mydomain.com/wp-content/

Hi sorry for the long delay.
I will fix this in the next release but you can fix it with this.
In your theme go to src>manifest>class-manifest.php
and add this code inside:
 /**
   * Retrun string as an assets output prefix.
   * Override this if you are using lib for a plugin.
   *
   * @return string
   */
  protected function get_assets_manifest_output_prefix() : string {
    return site_url( '/' );
  }

by default i have put home_url instead of site_url


Show Ranks only for Business/Department

Describe the feature
When setting ranks for a Business or Department the cad by default pulls all from the values. Can you add a filter that filters out and only shows ranks for that specific department or business. thanks
Additional Context
No response

This is already the case for departments, no?

No it is not we have this issue now and it makes my life a pita as i use the ids to determine rank when officers go on duty in the server and they sometimes set ranks from other departments

@dexslab, can you share the location of this bug, I'm not 100% certain where this would occur

So when ur in admin managing units and changing their rank.
In business when your changing managing employees roles.

Interesting, the rank one should already have filters in place. I'll have a look soon


Deprecate the jupyter theme altogether?

(Opening this to keep track of the discussions on the subject.) Here is an opinionated take on the matter:
I think that we should not have a custom sphinx theme on RTD.

The RTD team does a great job with their them that works on a large variety of browsers and mobile devices.
They dedicate more bandwidth to this problem than the jupyter team will ever do. If one of us wants to work on this subject, it might be better to help them than trying to do our own thing.
IMO, having a uniform style on all RTD-hosted docs is a nice feature of their web site and we would be better citizens if we adopted the main theme.
The only case where we would need to customize things is when we need to add custom javascript such as inline widget rendering, but in this case I would be in favor of using their theme and only adding static resources for the inline widget renderer.

Now, for the Jupyter website, if we were to host our own version of the docs, we could do our own theme. But even then, the best solution is likely to use the most advanced theme out there that is the one of RTD plus some color changes.

cc @willingc @fperez @ellisonbg

Cross linking https://github.com/jupyter/jupyter/issues/176

I am fine with using whatever theme that the team believes is best.
I'm deferring to Fernando and Brian on this decision since Fernando had thoughts that shaped the existing jupyter.readthedocs.io site.
For the next two weeks, I am focusing on documentation content.
cc @JamiesHQ

I don't think it's especially important that we fit in with every other
project on RTD, but I was a bit surprised when we made our own theme. If
there isn't a good reason to make a separate one, I'm in favour of using
something well made and spending time on other things.

I think the reasoning was to get a good experience, as well as allowing custom widget. I understand that having a custom theme for things related to a project might make a lot of sens, as it make often more obvious which project you are working on. Typically the conda-thing are green-is, and jinja documentation page is recognizable a mile away.
At the same time, having a coherent theme make context switching much easier, and it is extremely difficult to make a theme that works well in all corner cases.
@jdfreder and @willingc made an incredible job with what they have, unfortunately we hit the classical threshold in software engineering  that once you've done 95% of the implementation, then there is 95% left.
So I think I would be in favor of  spending cycle on RTD theme which have its share of issues we coudl help fix; potentially making the colors of its css (more) customizable if we want to have a sort of branding.

ok, I think that we are all on the same page. I am 👍 on @Carreau 's comment re: colors of the RTD theme.
quick technical detail I wanted to bring up: for the embedding of live widget, we need a custom theme to add additional static assets, but what I would prefer doing is use the bare RTD one plus and only add the required script tag with the static widget embedder from a cdn.

As you decide what approach to take with the documentation theme, here are a few more items that may be helpful:

test document repo (from a couple of months ago) using the RTD standard theme: http://test-jupyter.readthedocs.io/en/rtd-theme/
test document repo using the jupyter-sphinx theme in this repo http://test-jupyter.readthedocs.io/en/latest/
the dark background RTD standard theme is more difficult to read than the lighter background used in the Jinja docs (alabaster theme)
the more modern look of the light background was very positively received during the PyCon 2016 poster session PDF of poster PDF of second poster


Ensure all important docstrings have an Examples section

To further improve Lightkurve's documentation resources, I think it is important that we start to make sure that all popular methods and classes include an Examples section in their docstring. Examples included in this way will automatically be rendered as part of our online API docs and make the package more accessible.
This PR starts this effort and can serve as an example for other PRs.

There is still more work to do to improve examples (any help is welcome!) -- but I'm going to go and merge this PR so that Lightkurve v1.1 can benefit from improved docs!


Luminous : nfs-ganesha-fsal : Depends: glusterfs-common (>= 3.8.8) but it is not going to be installed

Hello,
I try to install a Luminous cluster on 4 nodes with Ubunt 16.04 and it failed on nfs-ganesha-fsal
fatal: [cluster019.cluster]: FAILED! => {
   "cache_update_time":<PHONE_NUMBER>,
   "cache_updated": true,
   "changed": false,
   "failed": true,
    "invocation": {
        "module_args": {
           "allow_unauthenticated": false,
           "autoremove": null,
           "cache_valid_time": 0,
           "deb": null,
           "default_release": null,
           "dpkg_options": "force-confdef,force-confold",
           "force": false,
           "install_recommends": null,
           "only_upgrade": false,
            "package": [
                "nfs-ganesha-fsal"
           ],
           "pkg": "nfs-ganesha-fsal",
           "purge": false,
           "state": "present",
           "update_cache": true,
            "upgrade": null
        }
   },
   "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\"     install 'nfs-ganesha-fsal'' failed: E: Unable to correct problems, you have held broken packages.\n",
   "rc": 100,
   "stderr": "E: Unable to correct problems, you have held broken packages.\n",
    "stderr_lines": [
        "E: Unable to correct problems, you have held broken packages."
   ],
   "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n nfs-ganesha-fsal : Depends: glusterfs-common (>= 3.8.8) but it is not going to be installed\n",
    "stdout_lines": [
       "Reading package lists...",
       "Building dependency tree...",
       "Reading state information...",
       "Some packages could not be installed. This may mean that you have",
       "requested an impossible situation or if you are using the unstable",
       "distribution that some required packages have not yet been created",
       "or been moved out of Incoming.",
       "The following information may help to resolve the situation:",
       "",
       "The following packages have unmet dependencies:",
        " nfs-ganesha-fsal : Depends: glusterfs-common (>= 3.8.8) but it is not going to be installed"
   ]}`
The version availabe in 16.04 is :
glusterfs-common/xenial 3.7.6-1ubuntu1 amd64
  GlusterFS common libraries and translator modules
is that a ceph issue or ceph-ansible issue ?
Best regards,
Yoann Moulin

full ceph-ansible playbook log : ceph-ansible.log.zip
ceph-ansible config (group_vars/* + inventory) : cluster-luminous.zip
admin004:~/git/ceph-ansible-luminous# ansible --version
ansible <IP_ADDRESS>
config file = /root/git/ceph-ansible-luminous/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4]
I use the lastest master branch of ceph-ansible
Yoann

Quick fix to get nfss running is to add in

roles/ceph-common/tasks/installs/debian_ceph_repository.yml

item:

- ppa:gluster/glusterfs-3.8

by fixing this it solved my other issue : https://github.com/ceph/ceph-ansible/issues/1769
Thanks

Good information, I will create pull request :)

@mistur do you have shared these shared libraries:

/usr/lib/x86_64-linux-gnu/ganesha/libfsalceph.so
/usr/lib/x86_64-linux-gnu/ganesha/libfsalrgw.so


[firebase_crahlytics] Do not report dart errors

Steps to Reproduce

use firebase_crashlytics 0.0.2
Execute the following code.
Report is not displayed because this does not catch dart exceptions.

void main() {
  FlutterError.onError = (FlutterErrorDetails details) {
    Crashlytics.instance.onError(details);
  };
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    throw Exception('error test.');
  }
}

Because only Flutter Error is supported, it is also necessary to handle dart errors.
https://flutter.dev/docs/cookbook/maintenance/error-reporting#5-catch-and-report-dart-errors
There is no interface to call when a dart error occurs.
runZoned<Future<void>>(() async {
  runApp(CrashyApp());
}, onError: (error, stackTrace) {
  // There is no interface to call here
});

flutter doctor -v
[✓] Flutter (Channel dev, v1.4.7, on Mac OS X 10.14.3 18D109, locale ja-JP)
    • Flutter version 1.4.7 at /Users/ko2ic/Sources/dart/flutter
    • Framework revision 1bfa2f2311 (5 days ago), 2019-03-29 10:05:18 -0700
    • Engine revision c4d14a0071
    • Dart version 2.2.1 (build 2.2.1-dev.2.0 None)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/ko2ic/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/ko2ic/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version openjdk version "1.8.0_152-release"
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2, Build version 10E125
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version openjdk version "1.8.0_152-release"

@ko2ic
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/1148. Any further collaboration will be done there.


merge from arlac77/template-arlac77-github,arlac77/template-esm-only,arlac77/template-nginx,arlac77/template-pacman,arlac77/template-systemd

package.json

chore(deps): add ^7.3.4 remove ^7.3.3 (devDependencies.c8)
chore(deps): add ^6.12.11 remove ^6.12.10 (devDependencies.npm-pkgbuild)

Pull Request Test Coverage Report for Build 3801

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.871%

Totals

Change from base Build 3798:
0.0%

Covered Lines:
72

Relevant Lines:
87

💛  - Coveralls


.NET Core 3.0 loggers not working after deployment in Azure

I am running a basic Asp .NET Core application initialized with the default loggers
public sealed class Program
   {
       public static async Task Main(string[] args)
       {
           var host = BuildWebHost(args);
           await host.RunAsync();
       }

       public static IWebHost BuildWebHost(string[] args) =>
           WebHost.CreateDefaultBuilder(args)
               .UseStartup<Startup>()
               .Build();
   }

and appsettings.jsonas follows:
  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  },

The application logs information/warning/error details when run locally while calling ILogger<MyClass>::LogInformation/Warning/Error, however, no logs are displayed in the log streams when the application in deployed in Azure:
Below are the Azure configuration settings:

With .NET Core 2.2 logging was working as intended in Azure. Did something change?

Did you deploy self contained?

I did deploy it as self contained indeed

It's currently being rolled out but the logging extension doesn't automatically work with self contained applications. It's a known gap we're going to need to address. The workaround is to add the dependency on https://www.nuget.org/packages/Microsoft.AspNetCore.AzureAppServicesIntegration/ and add the logger

Awesome, thank you. Just to make sure, do you mean that on top of adding AzureAppServicesIntegration, I would have to override the default loggers explicitly calling/
WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureLogging(logging =>
        {
            logging.ClearProviders();
            logging.AddConsole();
            ...
        })
       .Build()

?

You don't have to clear. Just add this logger.

@Masuzu did that resolve your issue?

@jkotalik Yes it did, all good now.


Error: "authentication credentials incorrect", when they should be correct

Huge fan of the project!
Got a room set up, made the first admin user, went to login with password, and got this error:

The supplied authentication credentials (username or password) are incorrect.

Tried adding the user again with a simpler password (thought maybe I was entering it incorrectly the first time around), but still getting the same error.
I've attached the logs, not really sure what else to try.
Thanks for your help!

I'm having the same issue, having recently deployed a room for an organization I run.
Is there a way I can get a room up and running if I can't login to it as an administrator to configure?  Is there a known working version I can deploy in the meantime?
Thanks!

Just a hint in case it helps anyone who finds this issue: Make sure you are using the correct -repo path. The insert-user tool will not complain if you give it the wrong path. If you're using the docker-compose instructions, make sure you have uncommented the REPO= line in your .env file as it assumes you did so.

@geoah do you think we could make insert-user more robust if it 1. made sure the -repo directory existed and/or did some validation 2. ensured that the REPO=... env var is present in the env? That might catch some of these issues & are small & easy fixes.

Also worth noting in case it is not clear, you'll want to use your pubkey as username:

Seems to me like we might want to rename "username" in the UI to be "public key"?

Seems to me like we might want to rename "username" in the UI to be "public key"?

Agreed!


Viewport should only scroll down on input, not when the pty writes

Similar to gnome-terminal, if the user is scrolling up to look at past output and the currently running program adds output to the terminal, the viewport should not scroll and interrupt what they are looking at.
Details

Browser and browser version: Chrome 52
OS version: Ubuntu 16.04
xterm.js version: d2cef6f29db8e4e47b82000f8415b849a7756728

Steps to reproduce

Run while [ "true" ]; do echo "ping"; sleep 1; done
Scroll up, notice the viewport is moved to the bottom every second

This is maybe another candidate for a customisation setting as it is in xterm.


Not working with react-native

Although I thought isomorphic-fetch was a safe way to add support for any environment, it seems that is not compatible with react-native isomorphic-fetch#125. It uses the global self which is not available in react-native.
While not ideal, it's probably safer to let the consumer include a polyfill if necessary.

isomorphic-fetch is no more packed as of 2.0.0


[e2e]: go schedule main adversarial-binary-upload slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2873858029
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.adversarial-binary-upload.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.adversarial-binary-upload.slsa3.yml
Trigger: schedule
Branch: main
Date: Wed Aug 17 08:28:44 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2880988369
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.adversarial-binary-upload.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.adversarial-binary-upload.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Aug 18 08:25:36 UTC 2022
Tests are passing now. Closing this issue.


Poor/inconsistent results from Phi-3-mini-128k

Phi-3-mini-128k runs, but the result that I'm seeing from TGI are not very good and inconsistent with other inference methods.
For each result below, I supply the same pairwise compare prompt:
<|user|>
Consider this information about Johnny:

Johnny likes apples.  Johnny hates peanuts.

Now consider these options:

Option A: Pecan Pie
Option B: Peach Pie

Consider the information and brainstorm on items Johnny might like.  Be thorough and consider all possibilities.

Next, use the brainstorm to pick which option Johnny would prefer.

End your response with the option you choose (Either **Option A** or **Option B**).<|end|>
<|assistant|>

Running on "Other methods"
I get great results from NIM https://build.nvidia.com/microsoft/phi-3-mini:
Given the information, we know Johnny likes apples and hates peanuts. Let's brainstorm on items Johnny might like based on this information:

Apple-based desserts: Since Johnny likes apples, he might enjoy desserts that contain apples. This could include apple pies, apple crumble, apple tarts, apple crisp, apple cake, etc.

Non-peanut based desserts: Since Johnny hates peanuts, he would likely not enjoy any desserts that contain peanuts. This eliminates any desserts that have peanuts as an ingredient, such as peanut butter pie, peanut brittle, peanut cookies, etc.

Now, let's consider the two options:

Option A: Pecan Pie - Pecan pie is a dessert that contains pecans, which are a type of nut. Although Johnny doesn't have a specific dislike for all nuts, he does hate peanuts. It's possible that he might not like pecans as well, but we don't have enough information to be certain.

Option B: Peach Pie - Peach pie is a dessert that contains peaches, which are a type of fruit. Since Johnny likes apples, it's reasonable to assume that he might also enjoy other fruits, such as peaches.

Based on the information provided and the brainstorming, Option B: Peach Pie seems to be the more likely choice for Johnny, as it aligns more closely with his preference for fruit (apples) and doesn't contain any peanuts.

I get great results from Transformers (running python on the TGI:2.0.4 container):
Given Johnny's preferences, we know he likes apples and hates peanuts. Let's brainstorm on items Johnny might like based on this information:

1. Apple-based desserts or dishes: Since Johnny likes apples, he might enjoy any dish or dessert that features apples as a primary ingredient. This could include apple pies, apple crisps, apple tarts, apple cakes, apple sauce, and more.

2. Non-peanut-based desserts or dishes: Johnny hates peanuts, so he would likely not enjoy any dish or dessert that contains peanuts or peanut-based ingredients. This eliminates any desserts or dishes that include peanuts, such as peanut butter cookies, peanut butter pies, or peanut brittle.

Now, let's consider the two options provided:

Option A: Pecan Pie
Pecan pie is a dessert that contains pecans, which are a type of nut. Although Johnny doesn't have a stated preference for or against nuts in general, we know he hates peanuts. Since pecans are different from peanuts, it's possible that Johnny might not have an issue with pecan pie. However, without more information about Johnny's feelings towards other nuts, we can't definitively say he would prefer this option.

Option B: Peach Pie
Peach pie is a dessert that features peaches as the primary fruit ingredient. Given that Johnny likes apples, it's reasonable to assume that he might also enjoy other fruits, such as peaches. Since there are no peanuts or peanut-based ingredients in peach pie, this option aligns well with Johnny's preferences.

Based on the information provided and the brainstorming process, **Option B: Peach Pie** seems to be the more likely choice for Johnny, as it aligns with his preference for fruits (apples and potentially peaches) and his dislike for peanuts.

Running on TGI 2.0.4
I get okay-ish results when I run TGI:2.0.4 with the default parameters:
Given Johnny's preferences, we know he likes apples and dislikes peanuts. Neither pecan nor peach pies directly relate to apples, but we can infer preferences based on the given information.

- **Option A: Pecan Pie** - Pecans are not directly related to apples, but pecans are a type of nut, and Johnny hates peanuts, which are also nuts. This might make him less likely to prefer a pecan pie due to his aversion to nuts.

- **Option B: Peach Pie** - Peaches are fruits, and there's no direct relation to apples in the information provided. However, since there's no negative association mentioned, it's a safer guess that Johnny might not have an issue with peaches.

Given the information, **Option B: Peach Pie** seems to be the safer choice, as it doesn't directly conflict with any of Johnny's stated preferences.

I get poor (but fluent) results when I use increase the token sizes to 5k (input) 7k (total) (but using the same prompt):
Given the information provided, Johnny likes apples and dislikes peanuts. Neither pecan nor peach is directly related to apples or peanuts. However, if we consider the options as food items, a peach pie could be more closely related to apples as both are fruits. Therefore, Johnny might have a slight preference for the peach pie. But this is a very weak preference and not a strong preference. The information given does not strongly indicate a clear preference for either option. However, if we must choose one, Option B: Peach Pie could be a slightly more likely choice.

Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Note: I'm running these commands on an AWS g6.2xlarge instance
Reproducing the "Transformers" results

Run python on a TGI container

docker run -it --rm --name tgi --gpus all --shm-size 2g  \
    --entrypoint python \
    ghcr.io/huggingface/text-generation-inference:2.0.4

Run this python code:

prompt = """<|user|>
Consider this information about Johnny:

Johnny likes apples.  Johnny hates peanuts.

Now consider these options:

Option A: Pecan Pie
Option B: Peach Pie

Consider the information and brainstorm on items Johnny might like.  Be thorough and consider all possibilities.

Next, use the brainstorm to pick which option Johnny would prefer.

End your response with the option you choose (Either **Option A** or **Option B**).<|end|>
<|assistant|>"""

from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

model_id = "microsoft/Phi-3-mini-128k-instruct"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="cuda",
    torch_dtype="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_id)

pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
)

generation_args = {
    "max_new_tokens": 500,
    "return_full_text": False,
    "do_sample": False,
}

output = pipe(prompt, **generation_args)
print(output[0]['generated_text'])

Reproducing the "TGI" results

Run TGI
Either:

docker run -d --rm --name tgi -p 8080:80 --gpus all --shm-size 2g \
    ghcr.io/huggingface/text-generation-inference:2.0.4 \
    --model-id microsoft/Phi-3-mini-128k-instruct

or
docker run -d --rm --name tgi -p 8080:80 --gpus all --shm-size 2g \
    ghcr.io/huggingface/text-generation-inference:2.0.4 \
    --model-id microsoft/Phi-3-mini-128k-instruct \
    --max-batch-prefill-tokens=5000 --max-total-tokens=7000 --max-input-tokens=5000

Query the endpoint and print the results

curl <IP_ADDRESS>:8080/generate \
    -X POST \
    -d '{
        "inputs": "Consider this information about Johnny:\n\nJohnny likes apples. Johnny hates peanuts.\n\nNow consider these options:\n\nOption A: Pecan Pie\nOption B: Peach Pie\n\nConsider the information and brainstorm on items Johnny might like. Be thorough and consider all possibilities.\n\nNext, use the brainstorm to pick which option Johnny would prefer.\n\nEnd your response with the option you choose (Either **Option A** or **Option B**).",
        "parameters": {
            "max_new_tokens": 1000,
            "do_sample": false
        }
    }' \
    -H 'Content-Type: application/json' | jq -r '.generated_text'

Expected behavior
I expect TGI to produce results consistent with other inference servers and Transformers

Note: The "Johnny" pairwise prompt is a stand-in for the actual prompts I'm using.  The results for my actually prompts are actually even more disappointing.  I simply get "Option A" or "Option B" as the result.

Thanks for reporting this. It seems that the SuRotaryEmbedding was bugged.
The answer is better now.
After #2060
from text_generation import Client

client = Client("http://localhost:8080")
prompt = """<|user|>
Consider this information about Johnny:

Johnny likes apples.  Johnny hates peanuts.

Now consider these options:

Option A: Pecan Pie
Option B: Peach Pie

Consider the information and brainstorm on items Johnny might like.  Be thorough and consider all possibilities.

Next, use the brainstorm to pick which option Johnny would prefer.

End your response with the option you choose (Either **Option A** or **Option B**).<|end|>
<|assistant|>"""

generated_text = client.generate(prompt, max_new_tokens=1000).generated_text

"""Given the information, we know Johnny likes apples but we don't have any information about his preference for peaches or pecans. However, we can make some assumptions:

Option A: Pecan Pie - Pecans are not apples, but they are a type of nut. Since Johnny hates peanuts, he might not necessarily hate all nuts, but we don't have any information about his preference for pecans.

Option B: Peach Pie - This option contains peaches, which are not apples. However, it doesn't contain any nuts, so it's possible that Johnny might like this option if he doesn't mind peaches.

Considering the information provided, it's more likely that Johnny might prefer Option B: Peach Pie, as it doesn't contain any nuts, and there's no information suggesting he dislikes peaches. But without more information about his preference for peaches, it's not a certain choice.

Based on the information provided, neither option can be definitively chosen. However, if we have to choose one, I would lean towards **Option B: Peach Pie**, as it doesn't contain any nuts, and there's no information indicating he dislikes peaches."""


Hide resolution methods

This modifies Deferred and Emitter to create another object without resolution methods that can be returned from promise() and iterate() respectively. This does have a slight negative performance impact, but would completely prevent users from shooting themselves in the foot. As noted in #190, most Amp code uses coroutines now, so I think actual performance impact is negligible.

Note if #198 is merged, this will need to be rebased first to drop the changes in Emitter.


No LED flash

Hi
Using an ESP8266 wired as described i get no flashes from the LED. Tried with two different LEDs

Do you mean status led? Do you use a cathode or anode variant?

Yes the status led. Using catode

has the same issue and hardware, @cpoulsen did we make some mistake or did you just ignore it?

@peterczarlarsen i chose to ignore it :)


fix: Panic in Workflow Retry

Signed-off-by: Saravanan Balasubramanian<EMAIL_ADDRESS>Fixes #8203

Hi!
Can you please let me know in which argoworkflows version and when this fix will be available?
Thank you!
Best,


extstore: increase aggressiveness of flush thread

Thread wasn't keeping up in high load scenarios with low/default free ratios.

Increase flush aggressiveness by how far below the "minimum free memory ratio" we are.
Reset backoff counters when thread goes to sleep.
Fix where code wasn't setting do_sleep to false ever, thus always sleeping the minimum time
Reduce minimum sleep time from half a millisecond to 200us.

Seems like most of the issue was the backoff counters being reset after the check. Now I more aggressively reset them and that seems to help a lot in local testing.

 The backoff code meant the thread could wake up a large number of times before even checking any of the classes.
Unless it was asleep for a very long time, where it would then have reduced the backoff over time. With that edit it's much more responsive.

I'll hold this for a few days in case of feedback (I think someone might actually test it :P) but if I'm ready for a release I'll merge and include it. It doesn't seem like a regression even if it isn't perfect still.
Just trying to get the thread to survive until the upcoming refactor work.

merged since it's had a few days of significant abuse.

Released in 1.6.20


[FEATURE] Retry on failed proxy request

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Extra needed function .
Request not give a response after setted timeout it repeated by another proxy. etc..
Also can you tell plz If I use -s (sync) function - will it reduce multitreading to 1 tread?
Maybe function to repeat error req (timeout) will be better than sync.

Close as completed in v0.16.0.