Missing module error message

This is something I ran into when doing the Elm architecture tutorial. I've removed all extraneous code, but this is something that actually took me a while to figure out.

You start writing your app: echo "import Html" > Main.elm.

You try to compile elm make Main.elm.

You become sad:
$ elm make Main.elm
Error when searching for modules imported by module 'Main':
    Could not find module 'Html'

Potential problems could be:
  * Misspelled the module name
  * Need to add a source directory or new dependency to elm-package.json

Suggesting that I do elm package install evancz/elm-html would have saved me quite some time. I initially assumed that the Html module would be part of the standard library (maybe it should?) and didn't know about the package system, nor that evancz/elm-html was the HTML library referenced in the tutorial.
Things that would've made me happy:

Having more stuff in the stdlib.
Searching the available packages automatically and suggesting ones that expose the missing module. Maybe rank by popularity.

Would you have been saved that trouble if you had first read http://elm-lang.org/get-started?

Nope. I was specifically drawn to the Elm Architecture Tutorial.

I understand that. My question was meant as: If you had read that page first (specifically the first few sections of it, describing the Elm tools), for example if the Elm Architecture Tutorial had pointed you to that part (which it currently doesn't), would you still have struggled so much?
For example, you wrote you didn't know about the package system. The get-started page would have introduced it to you.
I'm just trying to find out whether the get-started page would have helped you, not admonishing you for not having read it. :smile:

I think maybe the tutorial should be more specific about the level of proficiency expected of the reader – from the tutorial:

If you are new to reading Elm code, check out the language docs which covers everything from syntax to getting into a “functional mindset”. The first two sections of the complete guide will get you up to speed!

I read the syntax stuff (and having written a bit of Haskell that wasn't much of a problem) but there were no references to the packaging stuff. When doing a tutorial I prefer typing everything myself rather than cloning some pre-made repo, so including the steps required to get started using the "Architecture" toolset would be nice. Since they're not part of the language, but very much seem to be part of the architecture (at least as sane defaults) it makes sense to me to include that information directly in the tutorial.

Yeah, the "first two sections of the complete guide" do not give that information about packages, so that seems to claim too much. If the get-started page (or the part of it that speaks about the Elm tools and how they cooperate) were included in the "complete guide", that might become different.
But even then, what you say makes sense: The tutorial itself could be made self-contained in that regard. Maybe it's time for a pull request to https://github.com/evancz/elm-architecture-tutorial/?
And that isn't to say that what you suggest in the issue here could not also be useful: to give the programmer a suitable hint concerning elm package install in that error message.

Yeah, both would be nice. There doesn't seem to be much consistency in how module and package names relate to each other – a package is essentially a Github repo namespaced with a username, right? In Ruby, I'm used to package names corresponding with the module name, even to the degree that there's a convention that a package foo-bar should be included as foo/bar, i.e. have the module Foo::Bar. This is all based on convention and the fact that package names are global.

We should at the very least have the package name needed for installation listed (and document deprecation)
I'm was just trying to import Text and forgetting that it was deprecated (its still in the examples but not in the elm-lang packages).
Please let me know if this is not the case.


Change Foundry doc section to reflect the instruction given

Describe the content contribution you'd suggest
The current Deploy Smart Contract Using Foundry section of the docs the images still shows klaytn instead of kaia.
I have created the whole process again, I want to update to the images and link to the smart contract example on Kaia Kairos testnet

Please assign to me , I have done similar


[Bug]: Discard the change staying in the newly created page throws a page not found error

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Discard the change staying in the newly created page throws a page not found an error
Steps To Reproduce

Connect the application to git
now add a new page
discard the change
The user will be navigated to page not found error

Public Sample App
No response
Version
release

This is the expected behavior @RakshaKShetty as the new page is not present in the repo. Do we have different expectations?

@vuiets @Debsourabh should we look into this issue? I think we should give a CTA to redirect users to the default page for that particular branch.

At this point are we able to tell if we are on that page that was discarded @IAmAnubhavSaini?

@vuiets We can figure out if we are on one of the pages that are going to be discarded. After discard, no.

Alright in this scenario, where we are on a page that's going to be discarded, can we redirect to the home page after the discard?


"We thought a block was found but it was rejected by the daemon" with zencash testnet

Hello
i have installed z-nomp correctly and it starts normally without errors but when start mining i got this error
" We thought a block was found but it was rejected by the daemon"
and when i checked the daemon log i got the following errors
ERROR: ContextualCheckBlock: community fund missing block 279822
ERROR: ProcessNewBlock: AcceptBlock FAILED
ERROR: ReadBlockFromDisk: OpenBlockFile failed for CBlockDiskPos(nFile=-1, nPos=0)

i think that the coins/zen_testnet.json need to be updated with the community fund settings but i don't know how, please help!

Problem solved?

Any fix on this?
Getting same error.


openssl.cnf: split option value and comment

agreed, trivial

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Squashed and merged the commits to master branch. Thank you for your contribution.


How to bind AttributedString with NSAttributedString?

In my project I'm using AttributedString .

Hi @vchaubey-ontic
Since the underlying views support and use NSAttributedString, I think you should look into mapping AttributedString to NSAttributedString as described here:
https://developer.apple.com/forums/thread/682431


Rob: Watch bookmaker-foot.weebly.com

Rob requests the watch of the watch_keyword bookmaker-foot.weebly\.com. See the Metasmoke search here and the Stack Exchange search here.

https://stackoverflow.com/a/51015328/563532

bookmaker-foot.weebly\.com has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.48% when pulling b273fdbb289f0a938dca5c2ab71a3bcf395a5c0f on auto-blacklist-1529892233.0611627 into f39af846a070cc6fb7e2d8098ede6f2021b7d117 on master.

!!/approve


Fix auto manual mode

If you're contributing code, please link to the issue it resolves and follow the
contributor guidelines at https://github.com/MyCryptoHQ/shepherd/wiki/Contributor-Guidelines#contributing-code and fill out the following template:
Closes #53
Changes

Fix race condition by making watchBalancerHealth based on an action channel instead of takeEvery. This allows us to buffer actions when a network switch requests is under way.
Change pending provider check in flushed calls reducer from throwing an error to logging it instead. This is because this can happen inbetween network switches and doesnt impact the state if it does not exist.

Pull Request Test Coverage Report for Build 28

7 of 8 (87.5%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 97.536%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/ducks/providerBalancer/providerCalls/reducer.ts
0
1
0.0%

Totals

Change from base Build 25:
0.3%

Covered Lines:
791

Relevant Lines:
802

💛  - Coveralls


BUILD-392: webhook validation resource admission

@adambkaplan  @coreydaley @gabemontero  any thoughts if we should deploy the validatingwebhookconfiguration statically here with the operator ? (my thinking is that if the validatingwebhookconfiguration get installed before the webhook itself, we wont be able to deploy pods anymore) https://github.com/openshift/csi-driver-shared-resource-operator/pull/49/files#diff-0aa031cd357f6a6dd3640d6a42cd6a42df2f1d6b2cf3eca426b612fa931e3de3R2

I would think that the order in which things are getting installed would be in the log files. Can you check a couple of runs and see if 1.) things are being installed in the correct order and 2.) things are ALWAYS installed in the same order. That might help sort this out.

/retest

@coreydaley  tests are failing on the csi shared resource webhook pod not starting with the following error
flag provided but not defined: -tls
Usage of /usr/bin/csi-driver-shared-resource-webhook:
-listen string
listen address (default "<IP_ADDRESS>")
-port string
port to listen on (default "5000")
This is because we introduced tls here https://github.com/openshift/csi-driver-shared-resource/pull/103
this is a chicken and egg issue
I think we need to override these tests, so we can run e2e tests here https://github.com/openshift/csi-driver-shared-resource/pull/103

tests are failing because we need https://github.com/openshift/csi-driver-shared-resource/pull/103 to be merged before

/retest

/lgtm
/approve
/label docs-approved
/label px-approved
/label qe-approved


Should sending a GOAWAY frame on header decompression error be valid?

My current HTTP/2 server implementation sends a GOAWAY frame before terminating the connection when it hits an hpack decompression error. My read of the http2 spec is that this is valid, however this test fails:
https://github.com/summerwind/h2spec/blob/master/4_3.go#L26-L47
The test passes if I don't send the GOAWAY frame before terminating the connection. Is this expected?

Your understanding of the spec is correct. However, this test is expected that the stream is closed properly, by sending two "Dynamic Table Size Update". Does your implementation treats "Dynamic Table Size Update" of HPACK as decompression error?

I believe so. I receive the two hpack dynamic size updates, detect the decompression error, send a GOAWAY w/ COMPRESSION_ERROR set as the reason, then terminate the connection.
I believe that the issue is the test uses TestStreamClose (https://github.com/summerwind/h2spec/blob/master/4_3.go#L45) and in that function implementation, the test fails if it receives GOAWAY: https://github.com/summerwind/h2spec/blob/master/h2spec.go#L800
If I removed the GOAWAY frame before closing the connection, the test passed.

This test is verifying that your implementation can handle correctly the dynamic table size update. If your implementation respond with GOAWAY, this test will be failed.
Why does your implementation treats the dynamic table size update as a decompression error?

Ok, I understand the question.
The test sends two dynamic table size updates (0 and 4096) at the beginning of a single header block. The HPack spec contains the following:

A change in the maximum size of the dynamic table is signaled via a dynamic table size update (see Section 6.3). This dynamic table size update MUST occur at the beginning of the first header block following the change to the dynamic table size. In HTTP/2, this follows a settings acknowledgment (see Section 6.5.3 of [HTTP2]).

My interpretation of this is that a single header frame can contain at most one dynamic table update and it must be at the beginning of the frame.
I also see this:

This mechanism can be used to completely clear entries from the dynamic table by setting a maximum size of 0, which can subsequently be restored.

Again, my interpretation of this is that these dynamic updates must be in separate header frames.
I guess this is an incorrect interpretation?

In paragraph:

Multiple updates to the maximum table size can occur between the transmission of two header blocks. In the case that this size is changed more than once in this interval, the smallest maximum table size that occurs in that interval MUST be signaled in a dynamic table size update. The final maximum size is always signaled, resulting in at most two dynamic table size updates. This ensures that the decoder is able to perform eviction based on reductions in dynamic table size (see Section 4.3).

I was reading "Multiple updates to the maximum table size"  as receiving HTTP/2 settings frames w/ the max table size setting set, not multiple dynamic updates in the header block.

the smallest maximum table size that occurs in that interval MUST be signaled in a dynamic table size update. The final maximum size is always signaled, resulting in at most two dynamic table size updates.

I think this states that 2 dynamic table size updates can occur at the front of encoded header block.  If you still think it shouldn't, please ask this on IETF httpbis mailing list.

Ok, thanks. I believe this is a misread on my part. Sorry for the trouble.


[REQUEST]: Ontologies & vocabularies content

please provide content for the ontologies & vocabularies page in ontologies.md
+also linking to the vocab server

added a brief paragraph highlighting the supportive role of ontologies and vocabularies, along with a preliminary list of those maintained by us.
though, since the issue was posted, the need for listing ontologies on the Opsci site appears to have become irrelevant?
it did point out listings of similar ontologies, such as:

VLIZ Open Vocabularies
EMOBON Ontologies


Updates to the CLI

Update the CLI for v0.4.0.

Update the test structure so its pure python and no bash
Add ability to delete datasets through the CLI
Update the docs for the CLI

Does the old cli/cli.py differ much from the new dataregistry_cli/cli.py ?

Does the old cli/cli.py differ much from the new dataregistry_cli/cli.py ?

No its the same, just the parsing of the CLI commands is put into its own function.
The "only" difference is the CI, where the bash parts for entering the data into the registry are removed, and its all done through the test_end_to_end_cli.py file. I had to modify the dataregistry_cli/cli.py file into multiple functions so I could call them more easily for the CI.
I will leave these changes as they are (just updating the CI for the CLI) for the PR, and then make a new PR for adding delete to the CLI, so its easier to review.

p.s the Docs CI fails here at the moment, that will be fixed when the v0.4.0 docs branch is merged in


.env file is now put to use

Description
.env file is now put to use
This PR fixes #83

@san-coding Let's do it

@san-coding Have a look


Bump @grpc/grpc-js version to ~1.7.1

See this issue: https://github.com/grpc/grpc-node/issues/2231
Leaving the version constraint at ~1.7.0 would already install 1.7.1 in a clean project. In real world projects resolving peer dependencies could still result in the old slow version. Therefore I would like the dependency to be pinned to ~1.7.1

Closing as obsolete, we now depend on ~1.10.3


Added interdomain setup and testing

Signed-off-by: Mikhail Avramenko<EMAIL_ADDRESS>Issue
closes https://github.com/networkservicemesh/integration-k8s-kind/issues/517

@denis-tingaikin fixed all review comments, except regex in go test -run ...

@Mixaster995 interdomain job has failed. Could you have a look?


Convert decimal to octal

Description
Octal is a base-8 number system. It uses only eight digits: 0, 1, 2, 3, 4, 5, 6, and 7. The digits are called octits. An octit is the smallest unit of information in a computer. An octit can be used to represent a single value, such as 0, 1, 2, 3, 4, 5, 6, or 7, or it can be used to represent a single state, such as on or off.
To convert a decimal number to octal, we can use the following algorithm:

Divide the decimal number by 8.
Write down the remainder.
Divide the quotient by 8.
Write down the remainder.
Repeat steps 3 and 4 until the quotient is 0.
The octal number is the sequence of remainders written in reverse order.

Input  : 10
Output : 12

Program added successfully :tada:
Thanks for your contribution :hugs:


Obs Detail: Reindexing clears unposted comment/ID remark text

From https://forum.inaturalist.org/t/comments-descriptions-started-before-observation-finishes-indexing-get-erased/17664 I can replicate.
If you do something that causes the observation to be reindexed (add an ID, DQA vote) and start typing a comment or ID remark before the reindex happens, any text you entered is removed when the observation is reindexed.
Apparently this is a new problem, pisum thinks it might be related to https://github.com/inaturalist/inaturalist/commit/20e9818a0cb2800e77b112f57769057d534181a1 or https://github.com/inaturalist/inaturalist/commit/e6ca7ae2d9e5e0622cbfd237a6523e086960cc69

FWIW, here's a screencap video showing it in action: https://photos.app.goo.gl/uFPGVUdcbEk2V43s7


Do not update tokens for projects that were uninstalled

We check all the projects that installed the GitHub application even if they uninstalled the app later on.
We might need this for the implementation: packit/ogr#666
And here is a related sentry issue: https://sentry.io/share/issue/974834b4b2c34429a5bde2d30c5d9000/

I would probably say it's undefined behavior (under the assumption it's triggered job → suspend → babysit checks)

ogr is unrelated, since tokman uses directly PyGithub

unless you suggest ignoring unfinished jobs on service-side

it looks like the issue is triggered by checking for finished Copr build, so it seems to me the build was triggered, installation suspended… one way or another it would cause an issue somewhere

there is also a possibility it's coming from the periodic job over all unfinished jobs, that might be easier to solve
nevertheless (normal babysit after trigger or periodic), we would probably need some way to determine if app is installed and filter/ignore such repositories

This should be fixed in other areas, already.


Fixed asyncio.sleep() not being awaited

Those yellow warnings in HA logs are annoying.

Thanks, I don't actually use polling,so I had not encountered that error.


Prepare for the 0.9.0 release

Bump the version to 0.9.0-pre
Update libc dependency to 0.2.25

We should do this now before anything else merges to make sure we can use the newest libc release.

bors r-

bors r+

try again
bors r+


I18n support for hotkeys

A suggestion for adding internationalization to the generated hotkeys overview (aka cheatsheet).
It's a bit tricky because this is generated from the JS side and we need to provide and set the keys from JS.

Am I understood right that should add texts this way?

Am I understood right that should add texts this way?

Yes, but it hasn't been merged yet. I wanted to wait for feedback, but seeing that you are very much in need of this I will hit merge and it should be deployed soon :)
Btw is it interesting for you to

localize tour.dlang.org automatically based on the user language header?
localize run.dlang.io?

Russian version doesn't work now, source code finished here:
<script>var translations = {"hotkeys.run_source_code":"

localize tour.dlang.org automatically based on the user language header?

Personally I prefer hint like "That page available on your language" when open first time and small link at
top of the page for fast (one-click) switch of language (one-click for based on the user language header and dropdown menu for all available languages).

run.dlang.io

If I understand right what this is, then no (anyway each programmer should know English)

Russian version doesn't work now, source code finished here:

That looks weird - the stack trace I receive points more to a Vibe.d problem:
#0  0x00007ffff692f6df in __memmove_avx_unaligned_erms () from /usr/lib/libc.so.6
#1  0x00005555561bca06 in _d_arrayappendT ()
#2  0x00005555561b0882 in object.Throwable.toString().__lambda1!(const(char[])).__lambda1(const(char[]))
    ()
#3  0x00005555561b0a1b in object.Throwable.toString(scope void(const(char[])) delegate) const.__foreachbody2(ref const(char[])) ()
#4  0x00005555561b22de in core.runtime.defaultTraceHandler(void*).DefaultTraceInfo.opApply(scope int(ref const(char[])) delegate) const.__lambda2!(ulong).__lambda2(ref ulong, ref const(char[])) ()
#5  0x00005555561bf8c9 in rt.backtrace.dwarf.traceHandlerOpApplyImpl(const(void*[]), scope int(ref ulong, ref const(char[])) delegate) ()
#6  0x00005555561b2321 in core.runtime.defaultTraceHandler(void*).DefaultTraceInfo.opApply(scope int(ref ulong, ref const(char[])) delegate) const ()
#7  0x00005555561b22ba in core.runtime.defaultTraceHandler(void*).DefaultTraceInfo.opApply(scope int(ref const(char[])) delegate) const ()
#8  0x00005555561b0994 in object.Throwable.toString(scope void(const(char[])) delegate) const ()
#9  0x00005555561b0846 in object.Throwable.toString() ()
#10 0x000055555606394e in vibe.http.server.handleRequest(vibe.core.stream.Stream, vibe.core.net.TCPConnection, vibe.http.server.HTTPListenInfo, ref vibe.http.server.HTTPServerSettings, ref bool, scope std.experimental.allocator.IAllocator).__lambda22() (this=0x7ffff48819d0)
    at ../../vibe/vibe.d-repo/http/vibe/http/server.d:2167
#11 0x0000555556062f7b in vibe.http.server.handleRequest(vibe.core.stream.Stream, vibe.core.net.TCPConnection, vibe.http.server.HTTPListenInfo, ref vibe.http.server.HTTPServerSettings, ref bool, scope std.experimental.allocator.IAllocator) (request_allocator=0x7ffff4881a10, keep_alive=@0x7ffff4881b50: true,
    settings=@0x7ffff4881b48: 0x7ffff5a4bc00, listen_info=0x7ffff7f30280,
    tcp_connection=0x5555564f9880, http_stream=0x5555564f9880)
    at ../../vibe/vibe.d-repo/http/vibe/http/server.d:2167
#12 0x000055555606165d in vibe.http.server.handleHTTPConnection(vibe.core.net.TCPConnection, vibe.http.server.HTTPListenInfo).__lambda4() (this=0x7ffff4881b70)
    at ../../vibe/vibe.d-repo/http/vibe/http/server.d:1919
#13 0x00005555560614be in vibe.http.server.handleHTTPConnection(vibe.core.net.TCPConnection, vibe.http.server.HTTPListenInfo) (listen_info=0x7ffff7f30280, connection=0x5555564f9880)
    at ../../vibe/vibe.d-repo/http/vibe/http/server.d:1920
#14 0x0000555556060ccd in vibe.http.server.listenHTTPPlain(vibe.http.server.HTTPServerSettings, vibe.http.server.HTTPServerContext).doListen(vibe.http.server.HTTPListenInfo, vibe.http.server.HTTPServerContext, bool, bool).__lambda6(vibe.core.net.TCPConnection) (this=0x7ffff5c0be00, conn=0x5555564f9880)
    at ../../vibe/vibe.d-repo/http/vibe/http/server.d:1785
#15 0x0000555556182464 in vibe.core.drivers.libevent2_tcp.ClientTask.execute() (this=...)
    at ../../vibe/vibe.d-repo/core/vibe/core/drivers/libevent2_tcp.d:610
#16 0x0000555555e7b288 in vibe.core.core.makeTaskFuncInfo!(void() delegate).makeTaskFuncInfo(ref void() delegate).callDelegate(vibe.core.core.TaskFuncInfo*) (tfi=0x7ffff4881df0)
    at ../../vibe/vibe.d-repo/core/vibe/core/core.d-mixin-632:632
#17 0x0000555556115f3b in vibe.core.core.CoreTask.run() (this=0x7ffff5ad0a00)
    at ../../vibe/vibe.d-repo/core/vibe/core/core.d:1269
#18 0x000055555620d360 in core.thread.Fiber.run() ()
#19 0x000055555620d0bf in fiber_entryPoint ()
#20 0x0000000000000000 in ?? ()

I will have a look whether we can workaround it.

I will have a look whether we can workaround it.

But unfortunately not today -> reverting: https://github.com/dlang-tour/core/pull/613
Sorry.


GUI: SelectionNode do not appear near the mouse click position

Changes in zoom (from scale to matrix) create problems to track mouse actual location while showing selecitonNode

Solved at 48455b3a


⚠ Bofrost.be has degraded performance

In 21c1055, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1429 ms

Resolved: Bofrost.be performance has improved in 393a8db after 20 minutes.


Role Timer and Loadout Fixes

About the PR

Fixes security HUDs always showing in the character preview, regardless of loadout choice.
Fixes Atmos and Detective roletimers being departmental hours instead of overall gametime.

Why / Balance
N/A, fixes.

(I entirely read over Aquif fixing this already, fuk. I'll look at this later.)


Docsearch safari bug: goes to end of page if modal is closed

Description
if you open the docsearch modal and close it by pressing escape or outside the model, the browser will scroll to the end of the page very quickly. This is weird behaviour caused by the Algolia modal (only in Safari up till the current version). Multiple GitHub issues have been created about this since 2022, but there has been no fix by Algolia.
https://github.com/algolia/docsearch/issues/1260
Steps to reproduce
See Above
Expected result
Nothing
Actual result
Scroll down
Environment
My own private environment, but you can reproduce it on getdoks.org.
Fix
It's kind of a buggy fix, but it works and everybody seems to use it. Even the creators of Bootstrap. https://getbootstrap.com/docs/5.3/getting-started/introduction/ (check source)
The solution is to simply add this to the end of your footer:
<div style="position: fixed; z-index: -1;">
   <input type="text">
</div>

Thanks!


In tracker detailm pressing a return key on a keyboard does not commit new tracker name

Close the issue because the bug is not reproduced.


XCode CLT incorrectly flagged as required under XCode 9.1/MacOS 10.12

[X] Confirmed this is a problem with running a brew command and not brew installing or the post-install behaviour of one or more formulae? If it's a formulae-specific problem please file this issue at the relevant tap e.g. for Homebrew/homebrew-core https://github.com/Homebrew/homebrew-core/issues/new
[X] Ran brew update and retried your prior step?
[X] Ran brew doctor, fixed all issues and retried your prior step?

As much as possible, given the nature of this issue

[X] Ran brew config and brew doctor and included their output with your issue?

Debug Output
Config Output
HOMEBREW_VERSION: 1.3.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: 236b0172306a6f4b233d374fcc20adce5c3e3261
Last commit: 17 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 4044983a9319949da0b3087e988405f83ab9ea2c
Core tap last commit: 14 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DEV_CMD_RUN: 1
HOMEBREW_GIT_CONFIG_FILE: /usr/local/Homebrew/.git/config
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
CPU: quad-core 64-bit skylake
Homebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/ruby
Clang: 9.0 build 900
Git: 2.15.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: N/A
macOS: 10.12.6-x86_64
Xcode: 9.1
CLT: N/A
X11: 2.7.11 => /opt/X11

Doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/libnnz11.dylib
  /usr/local/lib/libociei.dylib
  /usr/local/lib/libocijdbc11.dylib

Warning: Xcode alone is not sufficient on Sierra.
Install the Command Line Tools:
  xcode-select --install

Issue Description
To help us debug your issue please explain:

What you were trying to do (and why)
What happened (include command output)brew upgrade
Error: Xcode alone is not sufficient on Sierra.
Install the Command Line Tools:
xcode-select --install

What you expected to happen

Brew upgrade to run :wink:

Step-by-step reproduction instructions (by running brew commands)

Since the approximate landing of #3453, brew is flagging my XCode 9.1 install on MacOS 10.12 (Sierra) as missing the CLTs. If I follow the CLT code correctly, XCode 9.1 should be flagged as the latest XCode for this platform for Sierra and not requiring a separate install. xcode-select --install confirms that there is no version available for this platform (ran from multiple locations across multiple days). I do have the command line tools in path and they are located under /Applications/Xcode.app/Contents/Developer as verified via xcode-select -p.
A full Xcode removal and reinstall (both via the App Store and via a terminal initiated xcode-select --install) does not correct this problem. The one step I have not tried, as I'm not sure of it's safety, is to install the 9.0.1 CLTs on top of a XCode 9.1 install.
Thanks for the terrific tool and thanks in advance for the help!

Thanks for the fast response!
I've been using xcode-select --install and choosing Install repeatedly with no effect. Each time I'm told that there is no software available. I've also reset to the production Apple software update servers and tried this over multiple days.

I'm new to the MacOS side. When I looked at /Applications/Xcode.app/Contents/Developer/usr/bin/, that look to contain the standard dev CLI tools. Where does the Xcode CLT ordinarily go?
Shouldn't these (https://github.com/Homebrew/brew/blob/master/Library/Homebrew/os/mac/xcode.rb#L47-L50) lines identify the CLT as unneeded on Xcode 9.1 on Sierra?

      def latest_sdk_version?
        OS::Mac.version == OS::Mac.latest_sdk_version
      end

So, no, because 10.12 != 10.13
The update server message is weird but is some kind of configuration issue specific to your machine. You can alternatively get the CLT from here https://developer.apple.com/download/more/

Doh.
The download page only lists CLTs for 9.0.1 for Sierra. I was reluctant to mix and match versions (XCode 9.1 vs. CLT 9.0.1) is that a safe combination?

Yeah that should be fine. Can you post brew config once you have installed 9.0.1?

That worked a treat! brew upgrade and friends are now working again. Thanks for the hand-holding through a process not directly brew related. :)
HOMEBREW_VERSION: 1.3.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: 236b0172306a6f4b233d374fcc20adce5c3e3261
Last commit: 20 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 4044983a9319949da0b3087e988405f83ab9ea2c
Core tap last commit: 3 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DEV_CMD_RUN: 1
HOMEBREW_GIT_CONFIG_FILE: /usr/local/Homebrew/.git/config
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
CPU: quad-core 64-bit skylake
Homebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/ruby
Clang: 9.0 build 900
Git: 2.15.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: N/A
macOS: 10.12.6-x86_64
Xcode: 9.1
CLT: <IP_ADDRESS>.1.1506734476
X11: 2.7.11 => /opt/X11

Now try running sudo softwareupdate -l
Does it show an upgrade?

No. Nothing new found. Also seeing xcode-select -p still pointing to the same (previous/incorrect location.
% sudo softwareupdate -l
Password:
Software Update Tool

Finding available software
No new software available.

% xcode-select -p
/Applications/Xcode.app/Contents/Developer

Also seeing xcode-select -p still pointing to the same (previous/incorrect location.

That is correct and what's expected.

No. Nothing new found.

Odd. On Jenkins, we currently have the same Xcode 9.1 / CLT  <IP_ADDRESS>.1.1506734476 configuration you do. But softwareupdate -l is listing an upgrade for the 9.1 CLT available.

What's the output of
defaults read /Library/Preferences/com.apple.SoftwareUpdate

Looks pretty standard...
{
    LastAttemptBuildVersion = 16G1036;
    LastAttemptSystemVersion = "10.12.6 (16G1036)";
    LastBackgroundSuccessfulDate = "2017-11-21 06:47:25 +0000";
    LastFullSuccessfulDate = "2017-11-21 16:54:55 +0000";
    LastRecommendedUpdatesAvailable = 0;
    LastResultCode = 2;
    LastSessionSuccessful = 1;
    LastSuccessfulDate = "2017-11-21 16:54:55 +0000";
    LastUpdatesAvailable = 0;
    PrimaryLanguages =     (
        "en-US"
    );
    RecommendedUpdates =     (
    );
    SkipLocalCDN = 0;
}

Some minor differences from ours, which shouldn't matter. But you can try
sudo softwareupdate --clear-catalog

and see if it makes any difference.

Afraid not.
% sudo softwareupdate --clear-catalog
Password:
Changed catalog to Apple production

% sudo softwareupdate -l
Software Update Tool

Finding available software
No new software available.

Just hit the same message and currently installing the CLTs, but this has piqued my curiosity as to how the CLTs differ when you're not on the latest platform. I'd always assumed that Xcode contained exactly the same stuff, so I'd love to hear how they differ 🙂

Also, if it's of any help (although I guess it's totally irrelevant anyway) on my machine xcode-select --install fetched this version: CLT: <IP_ADDRESS>.1.1508540944

@pixlwave Apple stopped bundling old macOS SDK versions in newer versions of Xcode (so they only had the latest version of macOS not the installed version) which required huge numbers of hacks to work around this. We wanted to remove the hacks hence this change.

Oh, interesting! That's really useful to know. Thanks for explaining the difference 🙂


Ensure consequence.params.ignorePlurals can be deserialized from string

It was discovered that the Algolia Search API is sometimes returning the
ignorePlurals field from a Query Rule's consequence params field as a
string, such as:
"consequence": {
    "params:" {
        "ignorePlurals": "false"
    }
}

Could you please ensure that the deserialization of query rules coming from
getRule, getRules, browseRules are correctly decoding those strings
without failing.
Also, like we did for other string-based booleans, it would be convenient to
convert the string to an actual boolean when the string is equal to "true" or
"false".

We support boolean and String[]. I'll have a look for the string support.
https://github.com/algolia/algoliasearch-client-java-2/blob/master/algoliasearch-core/src/main/java/com/algolia/search/models/settings/IgnorePlurals.java


Service properties

I'd like to propose to extend the interface Service with a property called properties.
The meaning of this property would be specific for a service. For example a GeoPose service could define what sensordata it accepts / requires, when image sensor data is accepted, which format/size/color model would be ideal.
For a headless client for sparcl, it could be initial values of the automerge document.

Yes, SSD needs something like this. Note that the existing capabilities property was intended to perform a similar function through a list of K/V pairs. The property name and structure can be refined as needed.

Yes, would be great when capabilities could be renamed, to make its broader usage clear.
Can actually stay as key/value pairs.

Fixed in master, ready for test. Thanks !


Missing webhook event for repo migrations

Description
When a repository is migrated to a new (destination) org, there doesn't seem to be a corresponding GitHub webhook event generated in the destination org.
Would it be possible to have a repository.migrated event? Or even generate a repository.created event, please?
Thanks,
-Ben

@bfrancom Thanks for reaching out! 👋🏻 We can definitely consider this feedback. Would you be able to tell me a bit more about how you'd like to use that event?

@timrogers , thanks for the follow up!
Currently I have a lambda that listens for any repo.created or repo.transferred event action. The Lambda then auto-assigns those repos to several teams with varying levels of rights to alleviate the burden of manually assigning them.
I'm starting a large migration of 100's of repos from an old org to a new org that is using the EMU licensing model.  According to GitHub support, because of EMU limitations, I'm not able to add non EMU users to the EMU org (and vicey versey) to do a transfer.  They recommended using GHEI.
I'm trying to automate as much as possible. So to facilitate the migration, I've set up a GitHub action (with workflow dispatch) that runs the gh-gei command to allow our teams to migrate their own repos autonomously.

I can still achieve what is needed via the API on the GitHub action, but I'd rather have the lambda take care of it all instead of maintaining similar code in different places. Ultimately I want any repo in the new org to be auto-assigned to several teams with different roles.
Thank you kindly!
-Ben Francom

I am also interested in this feature.  The corporation I work for uses Github's safe settings app to manage branch protection rules for many of our repos.
However since migrated repos do not trigger the repo.created event, safe-settings is never applying the pre-configured branch protection rules to migrated repos.

Thank you both for taking the time to share your feedback ❤ What you've said makes total sense, and we'll track this request internally.
I don't think we will be able to make progress on this in the next ~3 months, but we will keep this issue updated.


[E2E]Test fix: Delete invalid column name

There are other places where the age property is set, I guess they'll come out of the woodwork.


[README] add how to setup project

description
add how to setup section to this react with vite project

Please assign this to me

Please assign this to me

done!

What do you want me to put in the setup?

Do you want something like this?
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:

@vitejs/plugin-react uses Babel for Fast Refresh
@vitejs/plugin-react-swc uses SWC for Fast Refresh

how to setup

Fork the repository
Clone the fork
git clone https://github.com//.git
cd
npm install
npm install @vitejs/plugin-react --save-dev

In the how to setup do you want steps on how to make a pull request?

How does this look?
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:

@vitejs/plugin-react uses Babel for Fast Refresh
@vitejs/plugin-react-swc uses SWC for Fast Refresh

how to setup

Fork the project
After you've cloned your fork of the project, you will need to make a branch

$ git checkout -b name-of-branch
$ npm install

Make any changes, save your work, and make the necessary commits

Example: fixes-issue-xxx or feature-issue-xxx

$ git add .
$ git commit -m "fixes-issue-xxx"
$ git status

# Push the code to the branch you made
$ git push origin name-of-your-branch

Once you've pushed your branch, don't forget to make a pull request into the master branch.

@sarafurd please raise as PR, I'll review it on the PR. thanks!

@sarafurd is it counted as hacktoberfest?


5.0.2 release

Hi @timmolter wanted to see if we can expect a release this coming week, really looking forward to it!

working on it now. Should be released in a few hours.


(ExternalAdministratorPrincipalType) Invalid or missing external administrator principal type. Please select from User, Application or Group.

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
On Azure CLI version 2.27.1, trying to update a SQL server is triggering the following error
ExternalAdministratorPrincipalType) Invalid or missing external administrator principal type. Please select from User, Application or Group.
The same query worked on AZ CLI version 2.16.0 and prior.
To Reproduce
Upgrade AZ CLI to the latest version and try to update a SQL server database using the "az sql server update" command.
Example :
az sql server update -g test-dbs-rg -n test-dbs --set tags.app=test
Expected behavior
"az sql server update" command should update a SQL server without errors.
Environment summary
{
"azure-cli": "2.27.1",
"azure-cli-core": "2.27.1",
"azure-cli-telemetry": "1.0.6",
"extensions": {
"db-up": "0.1.15"
}
}
Additional context

route to service team

I have the same issue as well, I believe it is because my Azure SQL Server has an Azure Active Directory admin, but I haven't managed to test a az sql server update command logged as that admin user.

I tried an az sql server update command with a previous version of the CLI and it worked. So I believe its just the CLI version that's the problem

I have the same issue as well, I believe it is because my Azure SQL Server has an Azure Active Directory admin, but I haven't managed to test a az sql server update command logged as that admin user.

Removing the AD Admin and running an az sql server update command worked on my side.

This has been reported a couple times earlier already (#19227 , #19228 ). So far no news. I'm curious if someone has started working on it.

sql service team should look into this.


Validate plugin options server-side

Currently, Angular does client-side validation of plugin options with the ng-pattern directive, which (in most cases) calls the plugin's defined validation rule before a user can submit to the API server (these definitions are found in the plugin class' options attribute.)
This PR adds validation of plugin options on the API server. To do so, PluginInputSchema's get_object() method is extended to attempt validation on all plugin option values before committing to postgres. (All other callers of IPlugin's get_option method perform validation now, too.)
Also, all field options submitted by the user other than the "value" field to the input schema are ignored. This prevents, for example, a user from attempting to overwrite the validation field itself or other fields.
Questions/notes:

I noticed in the schema, there's a call to validate_options(); I wasn't sure if I could (or should) put the rest of the validation logic there instead of the get_object() body?
I've removed Angular-specific regex syntax (the / slashes) from all the validation rules I could find (fingers crossed I haven't missed any!). Alternatively, I could also strip the slashes right before re.match runs, and leave the regexes as they are?
I modified the IPlugin get_option method directly to support validation; but there's a near identical get_plugin_option in lemur.plugins.utils that's called by validate_options() - should we modify this instead?

Also happy to squash commits at the end of this PR 🙂

Thanks for PR @havron ! I just ran a copy of this branch locally and tried to open and save a notification (with no changes) I get a 500 with a log like this (portions omitted for brevity):
Exception on /api/1/notifications/303 [PUT]
Traceback (most recent call last):
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  # omitted
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/auth/service.py", line 139, in decorated_function
    return f(*args, **kwargs)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/common/schema.py", line 150, in decorated_function
    data, errors = input_schema.load(request_data)
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/marshmallow/schema.py", line 588, in load
    result, errors = self._do_load(data, many, partial=partial, postprocess=True)
  # omitted
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/marshmallow/schema.py", line 964, in _invoke_processors
    data = utils.if_none(processor(data), data)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/schemas.py", line 222, in get_object
    data["plugin_object"].validate_option_value(option_name, option_value)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/plugins/base/v1.py", line 135, in validate_option_value
    if not re.match(validation, value):
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/re.py", line 175, in match
    return _compile(pattern, flags).match(string)
  # omitted
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/sre_parse.py", line 420, in _parse_sub
    not nested and not items))
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/sre_parse.py", line 569, in _parse
    raise source.error(msg, len(this) + 1 + len(that))
re.error: bad character range \w-. at position 13

It looks like this is checking against the recipients validation in the email plugin, and it looks like that regex may not be what was intended (the - is being treated as a range rather than a literal). I haven't checked all the other validations but we may need to go through and confirm all of them to see if they have similar issues, since this change would block data that should be valid due to the new enforcement.

Thanks for PR @havron ! I just ran a copy of this branch locally and tried to open and save a notification (with no changes) I get a 500 with a log like this (portions omitted for brevity):
Exception on /api/1/notifications/303 [PUT]
Traceback (most recent call last):
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  # omitted
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/auth/service.py", line 139, in decorated_function
    return f(*args, **kwargs)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/common/schema.py", line 150, in decorated_function
    data, errors = input_schema.load(request_data)
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/marshmallow/schema.py", line 588, in load
    result, errors = self._do_load(data, many, partial=partial, postprocess=True)
  # omitted
  File "/Users/jschladen/repos/lemur-dev/lib/python3.7/site-packages/marshmallow/schema.py", line 964, in _invoke_processors
    data = utils.if_none(processor(data), data)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/schemas.py", line 222, in get_object
    data["plugin_object"].validate_option_value(option_name, option_value)
  File "/Users/jschladen/repos/lemur-dev/lemur/lemur/plugins/base/v1.py", line 135, in validate_option_value
    if not re.match(validation, value):
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/re.py", line 175, in match
    return _compile(pattern, flags).match(string)
  # omitted
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/sre_parse.py", line 420, in _parse_sub
    not nested and not items))
  File "/Users/jschladen/.pyenv/versions/3.7.8/lib/python3.7/sre_parse.py", line 569, in _parse
    raise source.error(msg, len(this) + 1 + len(that))
re.error: bad character range \w-. at position 13

It looks like this is checking against the recipients validation in the email plugin, and it looks like that regex may not be what was intended (the - is being treated as a range rather than a literal). I haven't checked all the other validations but we may need to go through and confirm all of them to see if they have similar issues, since this change would block data that should be valid due to the new enforcement.

Thanks @jtschladen! Ugh yeah, an audit might be needed--if you'd like, I could grab all the validations I can find with grep and attempt to see if they all compile with re? The main issue I'd seen is the /s.
For email validation specifically, I forgot that I actually wrote a fixed regex for it in lemur/constants.py, let me add that for all email checks 🙂

Thanks @jtschladen! Ugh yeah, an audit might be needed--if you'd like, I could grab all the validations I can find with grep and attempt to see if they all compile with re? The main issue I'd seen is the /s.
For email validation specifically, I forgot that I actually wrote a fixed regex for it in lemur/constants.py, let me add that for all email checks 🙂

I just looked at another validation as an example - the one on account number in AWSSourcePlugin. At a glance, I think this was actually never applied, because we don't actually apply validations to source plugin options on the client side. That particular one looks well-formed to me, but it makes me think we probably do need to go through one by one and test/eyeball them to make sure nothing will break.
Here's everything I found that seems relevant (all .py files, filtered out views.py since those are just comments). This is 53, which matches what I see searching in IntelliJ.
find . -name "*.py" | grep -v views.py | xargs grep -i '"validation": '
./lemur/plugins/lemur_jks/plugin.py:            "validation": "",
./lemur/plugins/lemur_jks/plugin.py:            "validation": "",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^https?://[a-zA-Z0-9.:-]+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^([a-zA-Z0-9/._-]+/?)+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": r"^\S+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^([a-zA-Z0-9._-]+/?)+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "[0-9a-zA-Z.:_-]+",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^https?://[a-zA-Z0-9.:-]+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^([a-zA-Z0-9/._-]+/?)+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": r"^\S+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^(([a-zA-Z0-9._-]+|{(CN|OU|O|L|S|C)})+/?)+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": "^([0-9a-zA-Z.:_-]+|{(CN|OU|O|L|S|C)})+$",
./lemur/plugins/lemur_vault_dest/plugin.py:            "validation": ".*",
./lemur/plugins/lemur_openssl/plugin.py:            "validation": "",
./lemur/plugins/bases/notification.py:            "validation": r"^\d+$",
./lemur/plugins/bases/notification.py:            "validation": "",
./lemur/plugins/lemur_email/plugin.py:            "validation": r"^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$",
./lemur/plugins/lemur_acme/plugin.py:            "validation": r"/^http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$/",
./lemur/plugins/lemur_acme/plugin.py:            "validation": r"/^?([-a-zA-Z0-9.`?{}]+@\w+\.\w+)$/",
./lemur/plugins/lemur_acme/plugin.py:            "validation": "^-----BEGIN CERTIFICATE-----",
./lemur/plugins/lemur_acme/plugin.py:            "validation": r"/^http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$/",
./lemur/plugins/lemur_acme/plugin.py:            "validation": r"/^?([-a-zA-Z0-9.`?{}]+@\w+\.\w+)$/",
./lemur/plugins/lemur_acme/plugin.py:            "validation": "^-----BEGIN CERTIFICATE-----",
./lemur/plugins/lemur_slack/plugin.py:            "validation": r"^https:\/\/hooks\.slack\.com\/services\/.+$",
./lemur/plugins/lemur_slack/plugin.py:            "validation": "^.+$",
./lemur/plugins/lemur_slack/plugin.py:            "validation": "^(@|#).+$",
./lemur/plugins/lemur_azure_dest/plugin.py:            "validation": "^https?://[a-zA-Z0-9.:-]+$",
./lemur/plugins/lemur_azure_dest/plugin.py:            "validation": "^([a-zA-Z0-9/-/?)+$",
./lemur/plugins/lemur_azure_dest/plugin.py:            "validation": "^([a-zA-Z0-9/-/?)+$",
./lemur/plugins/lemur_azure_dest/plugin.py:            "validation": "[0-9a-zA-Z.:_-~]+",
./lemur/plugins/lemur_aws/tests/test_plugin.py:            "validation": r"[0-9a-z.-]{3,63}",
./lemur/plugins/lemur_aws/tests/test_plugin.py:            "validation": r"[0-9]{12}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "^[0-9]{12,12}$",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "[0-9]{12}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "[0-9a-z.-]{3,63}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "[0-9]{12}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "[0-9]{12}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "[0-9a-z\\-]{1,25}",
./lemur/plugins/lemur_aws/plugin.py:            "validation": "^[a-zA-Z0-9_\\-]{1,256}$",
./lemur/plugins/lemur_sftp/plugin.py:            "validation": r"^(6553[0-5]|655[0-2][0-9]\d|65[0-4](\d){2}|6[0-4](\d){3}|[1-5](\d){4}|[1-9](\d){0,3})",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "(?:[a-z0-9.-]|\\{common_name\\})+",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "https?://[a-zA-Z0-9.-]+(?::[0-9]+)?",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "[0-9a-zA-Z-_.]+",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "(/[^/]+)+",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "-----BEGIN CERTIFICATE-----[a-zA-Z0-9/+\\s\\r\\n]+-----END CERTIFICATE-----",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "(/[^/]+)+",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "[a-z0-9]([-a-z0-9]*[a-z0-9])?",
./lemur/plugins/lemur_kubernetes/plugin.py:            "validation": "(/[^/]+)+",
./lemur/acme_providers/cli.py:            "validation": r"[0-9a-z.-]{3,63}",
./lemur/acme_providers/cli.py:            "validation": r"[0-9]{12}",
./lemur/notifications/service.py:            "validation": "",
./lemur/notifications/service.py:            "validation": r"^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$",
./lemur/notifications/service.py:                    "validation": r"^\d+$",

Thanks, I can take a stab at re.compileing them all--I'll post the output here!

Awesome, I ran find . -name "*.py" | grep -v views.py | xargs grep -ni '"validation": ' > validations.txt (your command but I added n to grep at the end)
Then, I ran a script to check remaining culprits:
[['./plugins/lemur_acme/plugin.py:311:            ', 'r"/^?([-a-zA-Z0-9.`?{}]+@\\w+\\.\\w+)$/"']
['./plugins/lemur_azure_dest/plugin.py:109:            ', '"^([a-zA-Z0-9/-/?)+$"']
['./plugins/lemur_azure_dest/plugin.py:116:            ', '"^([a-zA-Z0-9/-/?)+$"']

First case was just another email validation I missed (replaced with EMAIL_RE; for the other two, looks like they were both missing ] at the ends and never should have worked to begin with. Committing changes!

Thanks @jtschladen - the only other thing I can think of, is whether or not we'd want to have a re.compile check written in a utils function, that is imported and called on all validations (returns the .pattern if successful) - that might encourage new validations to follow the style and test themselves before a PR.

@havron that suggestion makes sense to me - it would certainly be ideal to catch any errors as soon as possible. I'll hold off on merging if you want to add that first?

Sure! I can add that tomorrow morning, if that's okay - I do want to get this one out 🙂

Merged @havron - thanks again for this one! Appreciate the diligence getting it to completion.


Warning: *.worker.ts is part of the TypeScript compilation but it's unused. Add only entry points to the 'files' or 'include' properties in your tsconfig.

🐞 Bug report
Command (mark with an x)

[ ] new
[x] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: 10.2.4
Description
After upgrading from v10.2.4 to v11.2.8, warn when running the ng build --prod command:
Warning: *.worker.ts is part of the TypeScript compilation but it's unused. Add only entry points to the 'files' or 'include' properties in your tsconfig.

🔬 Minimal Reproduction

🔥 Exception or Error

Warning: *.worker.ts is part of the TypeScript compilation but it's unused. Add only entry points to the 'files' or 'include' properties in your tsconfig.

🌍 Your Environment

Angular CLI: 11.2.8
Node: 14.15.0
OS: win32 x64

Angular: 11.2.9
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router, service-worker
Ivy Workspace: Yes

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1102.8
@angular-devkit/build-angular   0.1102.8
@angular-devkit/core            10.1.4
@angular-devkit/schematics      10.1.4
@angular/cdk                    11.2.8
@angular/cli                    11.2.8
@schematics/angular             10.1.4
@schematics/update              0.1102.8
rxjs                            6.6.7
typescript                      4.0.7

tsconfig.json:
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "enableI18nLegacyMessageIdFormat": false,
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true
  }
}

tsconfig.app.json:
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/app",
    "types": []
  },
  "files": [
    "src/main.ts",
    "src/polyfills.ts"
  ],
  "include": [
    "src/**/*.d.ts"
  ]
}

tsconfig.worker.json:
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/worker",
    "lib": [
      "es2018",
      "webworker"
    ],
    "types": []
  },
  "include": [
    "src/**/*.worker.ts"
  ]
}

Anything else relevant?

package.json:
"dependencies": {
    "@angular/animations": "^11.2.9",
    "@angular/cdk": "^11.2.8",
    "@angular/common": "^11.2.9",
    "@angular/core": "^11.2.9",
    "@angular/forms": "^11.2.9",
    "@angular/platform-browser": "^11.2.9",
    "@angular/platform-browser-dynamic": "^11.2.9",
    "@angular/router": "^11.2.9",
    "@angular/service-worker": "^11.2.9",
    "@capacitor/android": "^2.4.7",
    "@capacitor/core": "2.4.7",
    "@ionic/angular": "^5.6.4",
    "core-js": "^3.10.1",
    "hammerjs": "^2.0.8",
    "ngx-cookie-service": "^10.1.1",
    "ngx-image-cropper": "^3.3.5",
    "ngx-quill": "^12.0.1",
    "ngx-socket-io": "^3.3.1",
    "quill": "^1.3.7",
    "rxjs": "^6.6.7",
    "swiper": "^6.5.6",
    "tslib": "^2.0.0",
    "zone.js": "^0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.1102.8",
    "@angular/cli": "^11.2.8",
    "@angular/compiler": "^11.2.9",
    "@angular/compiler-cli": "^11.2.9",
    "@angular/language-service": "^11.2.9",
    "@capacitor/cli": "2.4.7",
    "@ionic/angular-toolkit": "^2.3.3",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.8",
    "@types/node": "^14.14.37",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "^5.2.2",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "^7.0.0",
    "ts-node": "~9.0.0",
    "tslint": "~6.1.3",
    "typescript": "~4.0.2",
    "webpack-bundle-analyzer": "^4.4.1"
  }

Do you have multiple web workers ?

Yes, I have two web workers.

Duplicate of #19938


Limited context mode + tab complete

The possibility to enable this mode, and when that's enabled you can use contexts that are in a list, it could be a config string list or storage based with command usage. You can only use contexts that are set in the list. Also when the context is in the list you can use it for tab complete.

I don't really see what the benefit would be?

The main reason was to prevent typos. When you're having over 40+ different contexts in use and some look very similar you make mistakes very quickly. But using now I'm using https://github.com/lucko/LuckPerms/wiki/Context#defining-your-own-contexts for all servers and that fixes the 'problem' for me :)


Support code signing

Since this is so important now for OSX 10.8, it would be nice if this plugin
supported it. We need to:

1. Rename JavaApplicationStub to the name of the .app
2. Take a key from the keystore and sign the app

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 10 Sep 2012 at 6:20

I thought I would comment for those such as myself that want to take advantage of code-signing to simply eliminate the "Unknown Developer" error...
First, the value of "certIdentity", at a (unique) minimum can be the user ID from the .cer file that you download from your apple developer account.  Or it can be a number of other values from that .cer file, including a substring of the "Common Name" or even the 40 character SHA-1 string.  If the value doesn't uniquely identify the cert, you'll get an error about an ambiguous cert identity.
The .cer file is installed by double-clicking it, and if you obtained the .cer file from your own Apple Developer account, a paired "private key" will be created.  Without that key, the codesign will fail with "No identity found".
For educational institutions with an apple developer account such as mine, you must be an admin on the account or higher to download a cert.  And in order to distribute your app outside of the app store, you need a cert of type "Developer ID Application", which can only be created by the Team Agent.  And you as an admin, must download it from your own account.
I won't get into the details of how you obtain membership in the apple developer program account held by your organization, but I will say that unless you're a high-up at your university, with the ability to bind your university to legal agreements, you can't obtain a free educational institution apple developer account yourself, but your apple ID has to have its own free developer account and then be invited to your university's account with Apple as a team member.


ideal payment method, bank field not populated (v2.5.4)

ideal payment method, bank field not populated
see image
I recall we used to see the bank name here

Hi Shirtsofholl,
Thanks for letting us could you be more specific where this is the case ?
Regards,
Rik

on the invoice
Wij maken het graag voor je in orde.
met groeten, Mark

<EMAIL_ADDRESS>| KvK 60827378 | https://shirtsofholland.com
[image: ShirtsofHolland - dé specialist in Oranje kleding]
http://shirtsofholland.com/
2016-03-04 10:41 GMT+01:00 Rik ter Beek<EMAIL_ADDRESS>
Hi Shirtsofholl,
Thanks for letting us could you be more specific where this is the case ?
Regards,
Rik
—
Reply to this email directly or view it on GitHub
https://github.com/Adyen/magento/issues/544#issuecomment-192208866.

Hi Mark,
Thanks this is now fixed see commit above.
Regards,
Rik


Compile runtime-manager as a plain Linux binary

Requested feature
The runtime-manager enclave image should be compilable as a plain Linux process.
Motivation
The runtime-manager currently supports AWS Nitro, TrustZone (OP-TEE), and SGX.  Adding support for plain Linux processes adds another separation mechanism, albeit a weak one compared to the ones already supported.
Additional context
Support for aarch64 and x86_64 would be good.

This is now complete.


Persist flyte deck during workflow recovery

TL;DR
Add deckURI to closure when calling CreateNodeExecutionModel.
In recovery mode, we call CreateNodeEvent only once, which means we'll only call createNodeExecutionWithEvent and won't call updateNodeExecutionWithEvent. Therefore, we should also add deck path to closure when creating node execution (currently, we only add deck path to closure when updating the node execution).
Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
To reproduce, register and run below workflow
import flytekit
from flytekit import task, workflow

@task()
def t1() -> int:
    flytekit.Deck("demo", "#Hello Flyte\n##Hello Flyte\n###Hello Flyte")
    return 1

@task()
def t2(a: int) -> int:
    print(d)
    return a

@workflow
def wf():
    t2(a=t1())

if __name__ == "__main__":
    wf()

Tracking Issue
https://github.com/flyteorg/flyte/issues/2930
Follow-up issue
NA

@pingsutw per your comment adding the deckURI already happens in the addTerminalState function. It looks like this is already called in the CreateNodeExecutionModel function and the RECOVERED phase is already registered as a terminal node phase. So shouldn't the deckURI already be getting set when recovering a node? Can you help me understand why this is not the case?

@hamersaw Thanks, good catch. we do add deckURI in addTerminalState, so we don't need this change anymore. closing it.


M_PI was not declared in this scope

Hello.
I'm trying to compile library on Windows using MinGW-w64 and GCC 5.4.0-seh and got this error:
In constructor 'aud::SoftwareDevice::SoftwareHandle::SoftwareHandle(aud::SoftwareDevice*, std::shared_ptr<aud::IReader>, std::shared_ptr<aud::PitchReader>, std::shared_ptr<aud::ResampleReader>, std::shared_ptr<aud::ChannelMapperReader>, bool)':
.../deps-build/audaspace/src/project_audaspace/src/devices/SoftwareDevice.cpp:83:70: error: 'M_PI' was not declared in this scope
  m_distance_reference(1.0f), m_attenuation(1.0f), m_cone_angle_outer(M_PI), m_cone_angle_inner(M_PI), m_cone_volume_outer(0),

And multiple similar errors. As workaround I added to the configure/Audaspace.h.in this lines:
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

Now i have this error:
/ChannelMapperReader.cpp: In member function 'void aud::ChannelMapperReader::calculateMapping()':
.../deps-build/audaspace/src/project_audaspace/src/respec/ChannelMapperReader.cpp:171:63: error: 'M_PI_2' was not declared in this scope
    m_mapping[channel_left * m_source_channels + i] = std::cos(M_PI_2 * angle_left / angle);

Mingw is currently not supported, so it doesn't surprise me that there are problems. A
	add_definitions(-D_USE_MATH_DEFINES)
properly placed (in an if for mingw) in CMakeLists.txt should fix these problems, but the last time I checked mingw had no proper support for the C++ thread standard library. This might have changed now. If you get everything to work, feel free to create a pull request or send a patch.

Thanks for quick answer. I created pull request for this issue.


Graph Classification

Hello,
I was getting started with a graph classification problem and i tried the Supervised Graph Classification with GCN. I have graphs in gml format which i opened with networkx and then converted to stellar graphs.  Running the Graph Generator throws the following error RuntimeError: This StellarGraph has no numeric feature attributes for nodesNode features are required for machine learning . How do I fix this?

@Chokerino Has there been a fix for this? I have the same error

@UCRajkumar No

Hi, the GCN algorithm used for graph classification requires feature vectors associated with each node. For example, if the nodes represent bank account, the features might include the date it was opened and the balance.
You can load features using the node_features=... parameter to from_networkx, see https://stellargraph.readthedocs.io/en/stable/demos/basics/loading-networkx.html and https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.StellarGraph.from_networkx .

@huonw is there any way to use string features? If i try to change dtype it throws the following error
 File "grap.py", line 25, in <module>     s = StellarGraph.from_networkx(graph, node_features="sse",dtype=str)   File "/home/ksmc/anaconda3/envs/qwe/lib/python3.7/site-packages/stellargraph/core/graph.py", line 585, in from_networkx     dtype=dtype,   File "/home/ksmc/anaconda3/envs/qwe/lib/python3.7/site-packages/stellargraph/core/convert.py", line 475, in from_networkx     for node_type, node_info in nodes.items()   File "/home/ksmc/anaconda3/envs/qwe/lib/python3.7/site-packages/stellargraph/core/convert.py", line 475, in <dictcomp>     for node_type, node_info in nodes.items()   File "/home/ksmc/anaconda3/envs/qwe/lib/python3.7/site-packages/stellargraph/core/convert.py", line 359, in _features_from_attributes     assert matrix.shape == (num_nodes, size) AssertionError

Unfortunately no, strings and other sequences have to be converted into into numeric feature vectors before constructing the StellarGraph at the moment.

@huonw it does not work even if the feature vectors are tensors


SanitySlug type removed?

I was wondering why hardcode the slug typings instead of adding it as an importable type?
eg looking at a previous code the slug was typed seperatly.
Now the slug shape is injected into each parent type.
here are some use cases where the SanitySlug was very helpfull:
// fetching data without using the codegen client could still be typed correctly

type ResponseData = Array<{ slug:SanitySlug  }>
const data = sanityClient.fetch<ResponseData>(*[_type=="users"]{ slug })

// it was also usefull when creating documents, eg having a helper function to ensure correct format

export function createSlug(current: string): SanitySlug {
  return { _type: 'slug', current }
}

sanityClient.create({
 _type:"users",
  rfq: createSlug("my-slug"),
 ...
})

Hi @PaulPCIO ,
The reason that type was removed was related to #27.
Someone else correctly reported that their slug entities did not have the right _type. When first building this lib, my assumption was that any slug entity would have their _type value be literally 'slug' always so it made sense to create a specific type.
However, what I learned is that theslug type behaves like the object, image, and file types where you can extend them and create any named type in sanity. E.g.

// 1. first define two "named" types
const foo = {
  name: "foo",
  type: "object",
  fields: [{ name: "title", type: "string" }]
};

const imageWithDescription = {
  name: "imageWithDescription",
  type: "image",
  fields: [{ name: "description", type: "string" }]
};

const namedSlug = {
  name: 'mySlug',
  type: 'slug',
}

// 2. use the named types in another type
const myDocument = {
  name: "myDocument",
  title: "My Document",
  type: "document",
  fields: [
    { name: "image", type: "imageWithDescription" },
    { name: "aFoo", type: "foo" },
    { name: "bar", type: "mySlug" },
  ]
};

The resulting types are like so:
export type Foo = {
  _type: "foo";
  title?: string;
};

export type ImageWithDescription = {
  _type: "imageWithDescription";
  asset: SanityAsset;
  crop?: SanityImageCrop;
  hotspot?: SanityImageHotspot;
  description?: string;
};

export type MySlug = { _type: "mySlug"; current: string };

export interface MyDocument extends SanityDocument {
  _type: "myDocument";
  image?: ImageWithDescription;
  aFoo?: Foo;
  bar?: MySlug;
}

export type Documents = MyDocument;

The nuance here is that the type of MyDocument['bar']['_type'] is actually 'mySlug' not just 'slug'.
I think for consistency, I'd rather leave slug behaving like image and file but I agree it's weird (because you can't append fields to slugs).
Does that make sense? If you have alternate suggestions I'm open to hearing 'em!
My apologies for the breaking change!

Hi @PaulPCIO ,
The reason that type was removed was related to #27.
Someone else correctly reported that their slug entities did not have the right _type. When first building this lib, my assumption was that any slug entity would have their _type value be literally 'slug' always so it made sense to create a specific type.
However, what I learned is that theslug type behaves like the object, image, and file types where you can extend them and create any named type in sanity. E.g.

// 1. first define two "named" types
const foo = {
  name: "foo",
  type: "object",
  fields: [{ name: "title", type: "string" }]
};

const imageWithDescription = {
  name: "imageWithDescription",
  type: "image",
  fields: [{ name: "description", type: "string" }]
};

const namedSlug = {
  name: 'mySlug',
  type: 'slug',
}

// 2. use the named types in another type
const myDocument = {
  name: "myDocument",
  title: "My Document",
  type: "document",
  fields: [
    { name: "image", type: "imageWithDescription" },
    { name: "aFoo", type: "foo" },
    { name: "bar", type: "mySlug" },
  ]
};

The resulting types are like so:
export type Foo = {
  _type: "foo";
  title?: string;
};

export type ImageWithDescription = {
  _type: "imageWithDescription";
  asset: SanityAsset;
  crop?: SanityImageCrop;
  hotspot?: SanityImageHotspot;
  description?: string;
};

export type MySlug = { _type: "mySlug"; current: string };

export interface MyDocument extends SanityDocument {
  _type: "myDocument";
  image?: ImageWithDescription;
  aFoo?: Foo;
  bar?: MySlug;
}

export type Documents = MyDocument;

The nuance here is that the type of MyDocument['bar']['_type'] is actually 'mySlug' not just 'slug'.
I think for consistency, I'd rather leave slug behaving like image and file but I agree it's weird (because you can't append fields to slugs).
Does that make sense? If you have alternate suggestions I'm open to hearing 'em!
My apologies for the breaking change!

Hey, thanks I understand now. I will create a generic type from my side for the use case that I posted as it is more of a controlled situation.

Hey, thanks I understand now. I will create a generic type from my side for the use case that I posted as it is more of a controlled situation.


bump webpki-roots to 0.20.0

This is a non-breaking change as far as I can see.

Fixed out of band when patching other things. Thanks for the report!

Thanks for the update! Any reason for a breaking change (0.9)?


[OSD-12925] feat(LimitedSupport): Add limited support templates

Confirmed with Will Gordon in https://coreos.slack.com/archives/CCX9DB894/p1665062191109099

/lgtm

/approve


fix(deps): update

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (a8416e3) 78.17% compared to head (e02385d) 78.17%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #90   +/-   ##
=======================================
  Coverage   78.17%   78.17%
=======================================
  Files          16       16
  Lines         252      252
=======================================
  Hits          197      197
  Misses         55       55

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added recommendItemsForUserItemSubset method to spark ALS

Scala:

copied org.apache.spark.ml.recommendation package (from ALS.scala) to org.apache.spark.ml.recommendation.replay package.
added recommendItemsForUserItemSubset method to org.apache.spark.ml.recommendation.replay package.

Python:

copied pyspark.ml.recommendation package to replay.spark_custom_models.recommendation package.
added recommendItemsForUserItemSubset method and changed ALS.__init__ method in replay.spark_custom_models.recommendation.

please list the methods to review from replay/spark_custom_models/recommendation.py and .scala

please resolve the conflict

will be merged with https://github.com/sb-ai-lab/RePlay/pull/47


Allow running "lambda" predicates in response to putObject

Hi @GiorgioRegni and @LaurenSpiegel,
Thanks for your earlier responses. This PR is an initial "predicate registry" that handles ObjectCreated:Put. User code can reject a PUT operation (Precondition Failed) and optionally modify the body of the uploaded item. I can think of several more improvements, but I wanted to get your feedback before taking it too far.
I've tried to follow the project's coding conventions as closely as possible. Coverage is 87.39% for the predicate functionality. Please let me know if I've missed anything.
If this is something you feel would benefit the project, I would be happy to work on the multipart upload component.
Also, please note, the reverted changes to conf/authdata.json do not pose a security risk, as those credentials do not link to any AWS account.
Thanks!
Austin

Hello @austo
To comply with our contribution Guidelines, you might want to rebase your work on top of scality's master branch, rather than merge between branches. Do no hesitate to ask if you're not confortable/familiar with this command of git; the team will be able to help you.

@DavidPineauScality
It should be all set now, thanks for the tip!

Indeed, thanks :)

Hi @LaurenSpiegel
Thanks for taking the time to review this. I definitely think the registry hook should be moved out of the object method to somewhere more universal. I also understand your concerns about dataless vs. streaming vs. transform predicates and agree that this differentiation should be part of the api. My own inclination would be to keep the directory hierarchy flat and specify all this in the eventInfo object to keep things flexible for users, but that's more of an implementation detail — project conventions are more important.
It would be great to setup an online chat to discuss this more next week!
Thanks again,
Austin

@austo, I'm Scality S3 on skype.  Let me know if there is a time this week that works for you to chat.  I'm California time but pretty flexible.  Thanks!

@LaurenSpiegel Contact request sent.

Hi @LaurenSpiegel
I've finally made the changes we discussed last week. Domains are gone(!) and I've moved the predicate invocation to api.js. All updates to the S3 object data now take place through the event passed to the predicate; s3.object.body is a duplex stream that clients can read from and write to, and the object body data is only placed in memory if the client reads but doesn't write back. Clients can also update metadata, content-type, and key information by writing to the event fields, which will be scraped after the predicate returns.
A good place to get a feel for the API is here and here.
Please let me know your thoughts!

Hi @LaurenSpiegel
Thanks for reviewing this again! I've updated the code to fix the upload bug you were seeing and have incorporated all of your suggestions except dismantling validate (if it's a showstopper I'll do it, but I think having the spec as a kind of "living type reference" is helpful, especially in JavaScript).
Regarding the "where do I put my imports?" question, I think the best answer is a package.json (and node_modules) in the user's predicate folder. Eventually we'd probably want to enforce this kind of sandboxing (put throws if there's no package.json in the parent folder), but if this PR lands I can write some examples to help users with best practices.
Anyway, thanks again!

@austo, thanks for making the changes and incorporating gets!  I'm still getting an error when I try to use a streaming predicate.  This is my testing branch: https://github.com/scality/S3/commit/9be9a35c44a722dbf217d48412d5a1a5947b0aa2
Any ideas?

Hi @LaurenSpiegel, I ran your changecontent  predicate using the node.js aws-sdk with a 400kb upload file without seeing any issues. I tested both uploading a stream using the aws-sdk s3.upload method and uploading the same file as a buffer using s3.putObject; both times I was able to pull the entire "flipped" file back down. I didn't see any errors in the logs. What error were you seeing?

When I put the object with s3cmd, I am printing out this error in my changecontent predicate: [Error: Stream yields empty buffer]
When I try to put the object with the aws node sdk, I am getting a failed predicate error.  At first, it was because I was using localhost as an endpoint and the validation requires an ip address (how come?) and once I changed that I can't tell why it is not validating and returning a failed predicate error.

@LaurenSpiegel sure, the IP address requirement is easy to remove (the lambda event includes it & I didn't realized parsedHost wasn't always an IP address).
Do you have a link to your aws-sdk test code? I still can't reproduce the issue, so maybe there's some difference there...
Silly question, but is it possible you're not uploading a JPEG image? That would cause gm to fail.

@austo, I'm trying to upload a JPEG though I've also tried with just text files to see if it will at least run the predicate.  Are you able to make it work with s3cmd?  Here is a link to a gist with the node sdk code I tried (different commented out versions) https://gist.github.com/LaurenSpiegel/9b38352173e079d1824ef89bb745586e

It's V4 auth. I have to figure out how to recalculate the header.

Hey @austo, I hope you enjoyed the holidays. Any luck with the v4 auth?  Do you mean on v4 auth with the node sdk no content-md5 is sent?  We do have a utility class that calculates the md5: https://github.com/scality/S3/blob/master/lib/utilities/MD5Sum.js

Thanks @LaurenSpiegel, hope your holiday was good too! Unfortunately I've had to shelve this for the moment because of a Feb. 1 deadline @ work. I think the v4 auth stuff will be pretty straightforward once I can focus on it (and thanks for the tip).
I realize a dangling PR is kind of a bummer, so if there's a way to "freeze" this until I can get back to it, that would be great.

Thanks, @austo, I look forward to seeing the changes in February.  It's a cool feature and would love to see your great work integrated into the project 😄


Command Names Casing

Would it be possible to .toLowerCase() in the command handler. Some of my users prefer to use capitals and are getting frustrated they can't.

Seems reasonable, i'm sure i've thought of this before but never put it down.
This will be a breaking change, so 2.0 it is. Will need a client option to optically enable case-sensitive command matching as an upgrade step for people who don't want this.
I can work on it today or tomorrow maybe probably.™

@Geo1088, is the feature implemented yet?

Done with #43, thanks again!


Printing to command prompt/terminal?

Is it possible to print things on the command prompt while the script is running? I use it a lot to debug things. However when I run a remi script, the command prompt seems to be hijacked (sorry for the poor choice of word) by the script and I can not print anything.

Hello,
that's weird, I use print function successfully (on raspbian).

Hello,
My experience is that the command prompt prints a few lines, and then it stays still until the script is terminated:

This is incorrect and nothing to do with remi.

Can you please tell what is incorrect? Any help is welcome because I am stuck.

@bashkan For questions about remi applications, but not directly related to the development of the library itself, it's better to ask on this dedicated forum  reddit https://www.reddit.com/r/remigui . If you still have problems using print command, please show your code there. Regards.

@dddomodossola Thank you for your reply. I am sorry for taking your time. I will check the reddit forum.
Best Regards.

@bashkan you are welcome ;-)  see you on reddit forum


What is the intended way of running the collector?

How does the HTTP Collector work? It comes with a script which, to my understanding, takes the seed URLs and starts crawling them according to the depth settings etc. in the XML, and then it stops when it can't find any more new links within the given constraints.
So, is the intended procedure to run the collector periodically from a cronjob, for instance? How do you determine a good interval? According to my tests, consecutive runs take different times depending on changes to the site structure and how many times the site has been crawled before, even if you don't change the maxdepth value.
Is there a way to run the collector continuously as a daemon with unlimited depth? Including periodical checks on already crawled URLs to see if they have changed?

Yes, the intent is to use the OS scheduling mechanism.
It is not intended to run as a daemon, but you can simulate it by having short schedule intervals.  It won't start if it is already running (will wait for the next scheduled cycle).
Typically though, the expected frequency of site updates and how important it is for you to capture changes quickly will determine your best interval.
So once a day could be just fine for the average site, while you may want to run it more frequently for a news site.
To run it with unlimited depth, set the maxDepth to -1.
On subsequent runs, the default behavior is to check if files were modified or deleted.  If the file has not changed, it will not be sent again to your Committer.
Does that answer?

Yes, thank you, but I have some further questions.
What's the best way to have the re-checking of already-crawled URLs happen frequently while also having a high crawl depth?
If I have maxDepth at 1 or 2, where is the depth calculated from? The seed URLs or the currently known maximum depth in the workdir?

  If overall crawling does not take too long, simply have a frequent schedule.  Else, you have a few options to make things faster.
You can create a few different collectors, each targeting different parts of your site, each with a different schedule.  For example, you can run one that filters URLs on ./news/. running every 10 minutes, while having the rest crawled with a different schedule.
Another approach is to configure the GenericRecrawlableResolver.  With it, you can specify a minimum frequency before some pages get recrawled.  When a page is skipped because it is not ready to be recrawled, it does not wait before moving to the next one in line so it goes much faster.   Give bigger delays to pages that can wait longer to be recrawled.
The depth starts at zero with the start URLs you provide (or sitemap URLs).  Any unprocessed links found for these will be given depth 1, and so on.  The depth is basically the minimum number of "clicks" a user would have to do to get to a page from your start URLs.

I think I've got the hang of separating things to a few different collectors which share the bulk of the config through includes.

Great! Can we close?


v0.3.0 release

Pull request for version 0.3.0
Changed

Added additional  health-check section support

Added additional node section items:

Added node vol0 information and health-check

Added additional storage section items:

Added failed disk  health-check

Added shelf inventory

Added cloud tier (Fabric Pool)

Added fabriPool object store configuration information

Added additional network section items:

Added IPSpace, Ifgrp, Vlan, Broadcast Domain, Subnet and Routes section support

Added per network interface routes information

Added network interfaces (Cluster, Management, Intercluster & Data) information and  health-check

Added network section:

Added SVM Status, Storage Volumes, Volumes QoS Policy, FlexGroup Volumes, Flexclone, Flexcache, Volumes Snapshot, Qtree & Quota

Added vserver protocol support (Cifs, NFS, FCP, ISCSI & S3)

Added protocol  health-check support

Added replication section:

Added cluster peer information

Added vserver peer information

Added SnapMirror/SnapVault information and  health-check

Added ontap mediators information and  health-check

Added efficiency section:

Added aggregate efficiency information and  health-check

Added volume efficiency information and  health-check

Added security section:

Added local user information and  health-check

Added vserver ssl certificate information

Added Key Management Service (KMS) information and  health-check

Added aggregate encryption (NAE) information

Added volume encryption (NVE)

Added snaplock information

Added system configuration section:

Added system image configuration information

Added system web service information

Added dns configuration information

Added snmp configuration information

Added configuration backup information and  health-check

Added ems configuration information

Added ntp and timezone configuration information

Fix code logic to better detect of un-configured features

Added fix for powershell v6+ support

Added all requested modifications (hopefully)


MAINT: networkx 2 changes the behavior of out_degree

Coverage remained the same at 86.107% when pulling 4484b34edaa651c9506f16d2e58aeb7724210524 on tibkiss:networkx-less-than-2 into 4bcf243e9653bcaae794d7f207bfb95acc575b20 on zipline-live:master.


Twin theme reaction bug fix

It'll fix a bug when there's no reaction for a category following happens:

Fixed:

LGTM, thanks for the fix


placeholder can not be set

The following does not set the placeholder. It's always "Pick date"
<datepicker placeholder="Tarih seçiniz" :config="config" readonly @input="input">

Oh seems to have already fixed :D


for of loop is breaking in IE9

Saying Symbol 'undefined' when used.
Per talking with @sebmck, it turns out it needs the polyfill http://babeljs.io/docs/usage/polyfill/
Does this mean that ember-cli-babel is not including it and it has to?

Does this mean that ember-cli-babel is not including it and it has to?

You're correct in that it's not including the polyfill. It's on the roadmap (#24), but it's not finished yet. Until it is, you'll have to include the polyfill yourself.


Add a LICENSE

Thanks a lot of open-sourcing your code! Could you add a LICENSE file to the repository such that usage conditions are defined? Thanks again!

Added! #5 9afc670


[WEB] Fix links to "forms"

Was leading to 404
Signed-off-by: Ivan Donchev<EMAIL_ADDRESS>

I have absolutely no clue why it requires three times "../"
The expected single "../forms" did not work.
Saw this was working in a navigation inside tables to the datagrid.
Any comment will be appreciated.


Python file autocomplete with uv run on zsh with ohmyzsh

Howdy - this is likely just a question and not a bug, but after googling and ChatGPT-ing with no luck for quite a while, I figured I'd post here.
I have a standard install of ohmyzsh on my macbook and have installed uv and am using it a lot and love it.
Interestingly though, I am finding when I use uv run file_i_want_to_run.py, the Python file I want to run won't autocomplete with tab the way it normally does when running things just plainly with python file_i_want_to_run.py.
I've enabled all the autocomplete settings that are in the docs, but those seem to only apply to internal uv/uvx commands. Is this the intended behavior or am I missing a setting somewhere perhaps? Or is this a ohmyzsh issue?
Appreciate any input or feedback!
On an Apple M3 Max. Mac OS Sonoma 14.7.
uv 0.4.9 (77d278f68 2024-09-10)

I think we might need to setup something like https://docs.rs/clap_complete/latest/clap_complete/engine/struct.PathCompleter.html

For what it's worth, a brief attempt to add add = ArgValueCompleter::new(PathCompleter::file()) to Cmd(Vec<OsString>) had no effect.

Interesting, you turned on the unstable feature and reinstalled the completions?

Yeah. I had to add clap-complete as a dependency too. I may well have messed something up.

Oh, I just presumed that's what we were already using for completions. I guess we're using clap-complete-command though.

I think that maybe just wraps completions in a command or something.

Yeah that calls through to clap_complete. Interesting... needs some more investigation I guess.

Same problem with uv pip install -e packa<tab> and only for zsh. Bash has no problems with it.

adding extra context, the issue is still present with the --script or -s arguments;
ie uv run -s openai_bas + TAB does not complete to uv run -s openai_basics.py as expected.
the argument itself completes fine, eg uv run --sc + TAB completes to uv run --script

Just for avoidance of confusion, this issue doesn't seem to be specific to Oh My Zsh -- I get the same behaviour on ZSH and I've never used Oh My Zsh.

for what its worth. has patch i've just added
function py() {
    uv run $1
}

im use to py either way when im running py files.

I use this workaround.
# License: CC0

eval "$(uv generate-shell-completion zsh)"

_uv_run_mod() {
    if [[ "$words[2]" == "run" && "$words[CURRENT]" != -* ]]; then
        _arguments '*:filename:_files'
    else
        _uv "$@"
    fi
}
compdef _uv_run_mod uv

Just wanted to chime in here, as I also noticed the lack of tab completion for uv run and spent thirty minutes investigating.
TLDR: with the way uv run is setup currently, it's not possible to do tab completion.
This is because uv run doesn't only accept python files, although that's the most common case. It actually accepts any command. So the below works:
uv run echo "hello world"

Given that uv is using clap_complete for autocompletions, I reckon the correct ValueHint is probably ValueHint::CommandWithArguments. BUT there is currently no completion implemented for a ValueHint::CommandWithArguments: https://github.com/clap-rs/clap/blob/10c29ab75dfc15ae8ae7218d699de5a2b57afabe/clap_complete/src/engine/complete.rs#L349-L357
I think, but I stand to be corrected, that there is no good way to do tab completion for an arbitrary shell command.
So, in order for uv run to tab-complete a filename, you would have to limit the subcommand to uv run [filename]. Then it's pretty trivial to setup completions. Clearly this would be a breaking change.

Commenting to follow. (I'm activating bash right now to get completions)

Ideally uv run would auto-complete all commands from .venv/bin as well. Typically I do things like uv run ruff check or uv run mypy . or uv run my_entrypoint - where my_entrypoint is an entry from [project.scripts].
Always using uv run instead of activating the environment is a great habit for avoiding errors with inconsistent python versions or dependencies, but the handicap of having no auto-complete on these commands is the main down-side of doing it consistently.

for what its worth, has patch i've just added into .zsh (or whatever you use), working as a charm
function py() {
    uv run $1
}

im use to py either way when im running py files.

I tweaked this into the below and pasted into ~/.zshrc. It works perfect.
function uvrun() {
    uv run "$@"
}

I tweaked this into the below and pasted into ~/.zshrc. It works perfect (support arbitrage arguments).
function uvrun() {
uv run "$@"
}

Sadly this does not work with binaries from .venv/bin that are currently not the $PATH yet. It works for auto-completing binaries that are already in $PATH, and directories and files.


Linaro Connect BUD20 rescheduled as online Linaro Tech Days

See https://linarotechdays.sched.com/
Online session scheduling in progress for the week of March 23-27. This event is the 2x annual all-hands meeting for Linaro as well as a public conference focused on Arm developers.

Good info! PRs gratefully accepted.

Issue addressed by merged PR #54, advised to close issue.

Thank you @koronkowy @phildini ! closing as fixed.


[SPARK-39396][SQL] Fix LDAP login exception 'error code 49 - invalid credentials'

What changes were proposed in this pull request?

In the PR, Fixed the problem that the DN is (cn=user,ou=people, dc=example, dc=com) LDAP login failure.
Why are the changes needed?

The hard coded DN in the org.apache.hive.service.auth.LdapAuthenticationProviderImpl#Authenticate()  is (uid=user,ou=people, dc=example, dc=com), resulting in LDAP authentication failure
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing test.

@HyukjinKwon please take a look, Thanks ！

cc @wangyum FYI

cc @yaooqinn @pan3793

Can one of the admins verify this patch?

Thanks for ping me, I think the current LdapAuthenticationProviderImpl comes from a very old version of Hive w/o UT, so the exsiting UT can not cover your change.
The LdapAuthenticationProviderImpl of Spark lacks a lot of functions(including this PR propose to add) comparing to Hive master code, I'm not sure if the Spark community has plan to sync the code and add more UT for STS.

@pan3793 Thank you very much for your reply. This problem has affected users' use. Can we fix this problem first?

@wangyum @pan3793 Hi, What should we do next？Now I am very confused about whether this problem is allowed to be fixed

Please pointers on how to do that，thanks @srowen

it should be a matter of enabling Github Actions in your forked repository. Do you see something like this if you click through to your test runs?

Sorry, see "Testing with GitHub actions workflow" under https://spark.apache.org/developer-tools.html

@xiuzhu9527 mind rebasing your fork to sync with the latest master branch in Apache Spark?

Merged to master


v<IP_ADDRESS>-r1: bump bytestring for GHC 9.8; add Haskell CI 7.10-9.8

Successful CI run at: https://github.com/andreasabel/murmur-hash/actions/runs/6475109390
CI will run here once merged into master.
Published as revision 1: https://hackage.haskell.org/package/murmur-hash-<IP_ADDRESS>/revisions/

can you give me push rights here and on hackage?

Thanks!


Fix versioning in binary, docker, and others; to reference new VERISON string in makefile.

Description
Fix the versioning in docker and native binaries.
Build docker image using same make target as native binaries to ensure version args get passed in to go build.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

other than Error: buildx call failed with: error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c make VERSION=${VERSION} install]: exit code: 2 ... seems good to me

LOL I'm looking into it.

Wasm doesn't support arm arch yet (supposedly support is coming as of 1.0+)

Wasm doesn't support arm arch yet (supposedly support is coming as of 1.0+)

Too bad for @dcshock and his magical never-needs-charging-doesnt-break-a-sweat laptop.

@iramiller this includes all the build flags from the make install version (netgo, cleveldb, etc). Is there any unintended side effects this could have that I'm not catching?

any unintended side effects this could have that I'm not catching?

The only one I focus on really is getting the cleveldb flag set... I am not aware of any other major ones... the added version/commit params in 4.0.x gaia builds seem to be more about helpful information for running releases than anything else.

Seems they do a similar thing as we are doing
...
# Add source files
COPY . .

RUN go version

# Install minimum necessary dependencies, build Cosmos SDK, remove packages
RUN apk add --no-cache $PACKAGES && \
    make install
...