Error 553 - cant' open that  file. #windows

Hi guys,
That's my first time of using dploy on Windows, but also i can't uplaod my files into server.
Bug: [Error: Can't open that file: No such file or directory] code: 553
Connecting to dev...
Checking revisions...
Uploading files...
Files that will be uploaded:
[ ? ] app/.htaccess > public_html/inf360/app/.htaccess

screenshot_10
My configuration of locations to files is ok.
dev:
    scheme: ftp
    host: xxx
    port: 21
    user: xxx
    pass: xxx
    check: true
    path:
        local: "app/"
        remote: "public_html/inf360/app/"

I think your configuration is OK, it's like mine.
your file is special because for windows it doesn't have name, just an extension.
first: if you use a git-scm or Cmder (or others linux tools for windows) try an 'ls' or 'ls -la' to see if you can watch your '.htaccess' file
second: try in you windows explorer to show files extensions....

C:\project\app>ls -all
total 47
drwxrwx---+ 1 Admin xxxxx   0 Oct 24 22:23 .
drwxrwx---+ 1 Admin xxxxx   0 Oct 24 22:23 ..
-rwxrwx---+ 1 Admin xxxxx 140 Sep 26 21:11 .htaccess
drwxrwx---+ 1 Admin xxxxx   0 Oct 23 02:47 Config
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Console
drwxrwx---+ 1 Admin xxxxx   0 Oct 23 02:47 Controller
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Lib
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Locale
drwxrwx---+ 1 Admin xxxxx   0 Sep 29 10:17 Model
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Plugin
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Test
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 Vendor
drwxrwx---+ 1 Admin xxxxx   0 Sep 26 21:11 View
-rwxrwx---+ 1 Admin xxxxx  80 Sep 26 21:11 i18n.bat
-rwxrwx---+ 1 Admin xxxxx 689 Sep 26 21:11 index.php
drwxrwx---+ 1 Admin xxxxx   0 Sep 29 10:17 tmp
drwxrwx---+ 1 Admin xxxxx   0 Oct 25 05:10 webroot

every folder or file has error 553.

y

I have the same error. A solution ?


incorrect HOC props

Since https://github.com/dotansimha/graphql-code-generator/issues/2192, I have trouble to type HOCs.
Here is a minimal code exemple:
// type error
const hoc = withMyValue<{}, { customValue: boolean }>({
  props: ({ data }) => {
    return { customValue: true };
  }
});

// ok
const hoc = withMyValue<{}, {}>({
  props: ({ data }) => {
    return { data: data!, customValue: true };
  }
})

I think since there is no more Partial on this generated type:
export type MyValueProps<TChildProps = {}> = ApolloReactHoc.DataProps<MyValueQuery, MyValueQueryVariables> & TChildProps;

we should use | instead of &:
export type MyValueProps<TChildProps = {}> = ApolloReactHoc.DataProps<MyValuePropsQuery, MyValuePropsQueryVariables> | TChildProps;

Fixed in 1.9.0

This seems to have broken all withX wrapping HOCs for me. Possibly I am using them wrong. Everything had been working on 1.8.3, and now if I go into the generated typings and change the | back to a & everything compiles again correctly. Since the type has been changed to an intersection, I can not pass in props for the child of the withX function.
Example usage:
example
sendBufferMutation (original with &) here
yields:
ERROR in C:\Users\eric\dev\src\github.com\erichiller\inventory\client\src\components\print\PrintListButton.tsx
./src/components/print/PrintListButton.tsx
[tsl] ERROR in C:\Users\eric\dev\src\github.com\erichiller\inventory\client\src\components\print\PrintListButton.tsx(20,11)
      TS2345: Argument of type 'typeof PrintListButton' is not assignable to parameter of type 'ComponentType<PrintListButtonProps | (PrintListButtonProps & MutateProps<SendBufferMutation, SendBufferMutationVariables>)>'.
  Type 'typeof PrintListButton' is not assignable to type 'ComponentClass<PrintListButtonProps | (PrintListButtonProps & MutateProps<SendBufferMutation, SendBufferMutationVariables>), any>'.
    Construct signature return types 'PrintListButton' and 'Component<PrintListButtonProps | (PrintListButtonProps & MutateProps<SendBufferMutation, SendBufferMutationVariables>), any, any>' are incompatible.
      The types of 'props' are incompatible between these types.
        Type '(Readonly<PrintListButtonProps> & Readonly<{ children?: ReactNode; }>) | (Readonly<MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<...>)' is not assignable to type '(Readonly<PrintListButtonProps> & Readonly<{ children?: ReactNode; }>) | (Readonly<PrintListButtonProps & MutateProps<...>> & Readonly<...>)'.
          Type 'Readonly<MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<{ children?: ReactNode; }>' is not assignable to type '(Readonly<PrintListButtonProps> & Readonly<{ children?: ReactNode; }>) | (Readonly<PrintListButtonProps & MutateProps<...>> & Readonly<...>)'.
            Type 'Readonly<MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<{ children?: ReactNode; }>' is not assignable to type 'Readonly<PrintListButtonProps & MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<...>'.
              Property 'key' is missing in type 'Readonly<MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<{ children?: ReactNode; }>' but required in type 'Readonly<PrintListButtonProps & MutateProps<SendBufferMutation, SendBufferMutationVariables>>'.

ERROR in C:\Users\eric\dev\src\github.com\erichiller\inventory\client\src\components\print\PrintListButton.tsx
./src/components/print/PrintListButton.tsx
[tsl] ERROR in C:\Users\eric\dev\src\github.com\erichiller\inventory\client\src\components\print\PrintListButton.tsx(25,24)
      TS2339: Property 'mutate' does not exist on type '(Readonly<PrintListButtonProps> & Readonly<{ children?: ReactNode; }>) | (Readonly<MutateProps<SendBufferMutation, SendBufferMutationVariables>> & Readonly<...>)'.
  Property 'mutate' does not exist on type 'Readonly<PrintListButtonProps> & Readonly<{ children?: ReactNode; }>'.

Am I using this wrong?

@erichiller just came here to report the same issue. Have you created a new issue with that repro?

@erichiller just came here to report the same issue. Have you created a new issue with that repro?

Just did now in #3142


Exception - when have_received failure message is constructed with nil arguments

This line works fine when it passes:
object should have_received(@selector(selectorWithArg1:arg2:)).with(arg1).and_with(nil);
But when it fails and cedar attempts to construct the failure message it crashes at:
line 86 of NSInvocation_Cedar.m called by
line 132 of HaveReceived.h
Suggestion: return an NSPointerArray from arguments instead of an NSArray

hi @xtreme-gavin-enns - thanks for getting in touch.
I think I reproduced this, or something like it.
Under conditions where this is a passing test case:
object should have_received(@selector(selectorWithArg1:arg2:)).with(arg1).and_with(nil);

This expectation failure blows up inappropriately:
object should have_received(@selector(selectorWithArg1:arg2:)).with(arg1).and_with(@666);

I'll open a pr shortly

Here's the story in tracker: https://www.pivotaltracker.com/story/show/86329706

This has been fixed.  Thanks again.


Added the "trace-whitelist" flag to run.

Description
Added "trace-whitelsit" flag to the run command to match the engine change: https://github.com/flutter/engine/pull/17108
Related Issues
https://github.com/flutter/flutter/issues/40593
Tests
none
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: Replace with a link to your migration guide

Testssss 🐍

Testssss 🐍

I tried Jonah.  The tests are so incomplete and esoteric it's unreasonable to ask anyone to edit it.  Here is what I tried to do for android:  https://gist.github.com/gaaclarke/dd7e4b79c1d67aa770a2d433e2e4d561
There are no preexisting tests for all the flags.  I tried to tweak one that we do have for cacheSkSL but that one only works with debugging turned off.  I need to have debugging turned on because of the DebuggingOptions factory functions.  When you turn debugging on all these other subprocesses try to get launched behind the scene.  I could add another constructor for DebuggingOptions, but then i have to duplicate all the default values and we have to maintain that just for this test.

Well, if everyone had that attitude they wouldn't get any better! We need our tooling to have tests too, otherwise things will break as they get updated or refactored. Please give it a shot, or add what you've got so far to the review and I can provide guidance.

Well, if everyone had that attitude they wouldn't get any better! We need our tooling to have tests too, otherwise things will break as they get updated or refactored. Please give it a shot, or add what you've got so far to the review and I can provide guidance.

The other option is that we make an investment have people with the expertise to expand coverage to provide good examples and lower the bar to contribute.
Could you help with the test I wrote?  I have it in the gist in the previous comment.  When I switch to DebuggingOptions.enabled I get errors when the tool tries to run a subprocess and check its output.  I'm guessing there might be something we can do with mockProcessManager but I have no idea.

@jonahwilliams Here is the stacktrace:
  NoSuchMethodError: The getter 'exitCode' was called on null.

The reason for that is that the "enabled" path goes through a lot more logic that is mocked out. It would be easier to add the trace whitelist to DebuggingOptions.disabled also and keep using that


   7 seconds ago   Up 6 seconds   <IP_ADDRESS>:80->80/tcp   naughty_wright
$ docker exec -it foo wget -qO- http://<IP_ADDRESS>:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...

Oh.
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -d docker:dind run ...
This isn't actually running Docker-in-Docker, but Docker-CLI-in-Docker-connected-to-Docker-on-your-host :smile:

@tianon , thanks
Feel free to close the issue


Adds "var" keywords to etc1, pvrtc, and s3tc variables

Resolves runtime issues during new Phaser.Game() on:

Google Chrome Version 57.0.2987.133 (64-bit)
OS X 10.11.6 (15G1217)
Minified & non-minified versions of Phaser v2.7.6 "2017-04-13" - Built: Thu Apr 13 2017 12:04:23

Below is a snapshot of my devtools instance before prefixing the offending variables with the var keyword.

That's interesting, is your Phaser wrapped somehow? That looks like a strict mode error.

Ahh, that'd be it. I'm running my game logic through babel w/ the env preset. Even though I don't run the phaser library through it, I do concatenate vendor libs + game logic into a single script.js file. That would mean 'use strict'; exists somewhere in that file and forces the JS interpreter into that mode.
Thanks for the merge and for all the work on Phaser!


EAS docs for encrypted comms

User Story
As a user, I will use this work when I want to enable encrypted communication between habitat and automate. I will need these docs to setup and configure the habitat supervisor. Include any updates to the automate encrypted transport documentation.
Definition of Done
Demo Script / Repro Steps

closing since this is parts of the apps tab docs pr referenced above


Forecast to Plan sync db lock

The forecast to plan sync process displays a db lock error in the app.log file.

Closing.


cilium-health server can take a long time to serve API

Seen in a CI run, I filtered the logs using grep -e cilium-health -e Serving -e Initializing.
Daemon startup is 17:38:27, and the main cilium API is serving by 17:38:28. The Serving cilium health API message doesn't show up until 17:39:01.
2020-10-09T17:38:27.226084043Z level=info msg="Initializing daemon" subsys=daemon
2020-10-09T17:38:27.292976128Z level=info msg="Initializing node addressing" subsys=daemon
2020-10-09T17:38:27.293214507Z level=info msg="Initializing cluster-pool IPAM" subsys=ipam v4Prefix=<IP_ADDRESS>/24 v6Prefix="fd00::/120"
2020-10-09T17:38:27.314037502Z level=info msg="Initializing identity allocator" subsys=identity-cache
2020-10-09T17:38:28.448528529Z level=info msg="Serving cilium node monitor v1.2 API at unix:///var/run/cilium/monitor1_2.sock" subsys=monitor-agent
2020-10-09T17:38:28.482383916Z level=debug msg="Starting new controller" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe
2020-10-09T17:38:28.482491468Z level=debug msg="Cannot establish connection to local cilium instance" error="Get \"http://%2Fvar%2Frun%2Fcilium%2Fcilium.sock/v1/healthz\": dial unix /var/run/cilium/cilium.sock: connect: no such file or directory" subsys=cilium-health-launcher
2020-10-09T17:38:28.484164649Z level=debug msg="Killing old health endpoint process" pidfile=/var/run/cilium/state/health-endpoint.pid subsys=cilium-health-launcher
2020-10-09T17:38:28.484181127Z level=debug msg="Didn't find existing cilium-health endpoint to delete" subsys=daemon
2020-10-09T17:38:28.484942345Z level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=cilium_health
2020-10-09T17:38:28.484957348Z level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=lxc_health
2020-10-09T17:38:28.493824744Z level=debug msg="Unable to remove cilium-health namespace" error="Unable to delete named netns cilium-health: Cannot remove namespace file \"/var/run/netns/cilium-health\": No such file or directory\n exit status 1" subsys=cilium-health-launcher
2020-10-09T17:38:28.592566034Z level=info msg="Initializing Cilium API" subsys=daemon
2020-10-09T17:38:28.605247055Z level=info msg="Serving cilium API at unix:///var/run/cilium/cilium.sock" subsys=daemon
2020-10-09T17:38:29.001875334Z level=debug msg="Spawning health endpoint with command \"ip\" [\"netns\" \"exec\" \"cilium-health\" \"cilium-health-responder\" \"--pidfile\" \"/var/run/cilium/state/health-endpoint.pid\"]" subsys=cilium-health-launcher
2020-10-09T17:38:29.483796179Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:30.001461005Z level=debug msg="cilium-health agent running" pidfile=/var/run/cilium/state/health-endpoint.pid subsys=cilium-health-launcher
2020-10-09T17:38:30.001490018Z level=debug msg="Adding route" command="ip route add <IP_ADDRESS>/32 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:30.001493358Z level=debug msg="Adding route" command="ip route add <IP_ADDRESS>/0 via <IP_ADDRESS> mtu 1423 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:30.001495726Z level=debug msg="Adding route" command="ip -6 route add fd00::55/128 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:30.001497926Z level=debug msg="Adding route" command="ip -6 route add ::/0 via fd00::55 mtu 1423 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:30.001538840Z level=debug msg="Running \"ip [netns exec cilium-health bash -c ip route add <IP_ADDRESS>/32 dev cilium && ip route add <IP_ADDRESS>/0 via <IP_ADDRESS> mtu 1423 dev cilium && ip -6 route add fd00::55/128 dev cilium && ip -6 route add ::/0 via fd00::55 mtu 1423 dev cilium]\"" subsys=cilium-health-launcher
2020-10-09T17:38:30.067101654Z level=debug msg="Controller func execution time: 1.583036268s" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe
2020-10-09T17:38:30.484309853Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:31.510920947Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:32.510781607Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:33.511031905Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:34.511544413Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:35.512050495Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:36.512421055Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:37.513029057Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:38.513098281Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:39.513270396Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:40.514145658Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:41.514299424Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:42.514798524Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:43.516966058Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:44.517365071Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:45.517494411Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:46.517867977Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:47.518749869Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:48.518937109Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:49.521657544Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:50.522103611Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:51.524865721Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:52.525098366Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:53.527316608Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:54.527763382Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:55.527930444Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:56.528705116Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:57.529364254Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:58.529224420Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:59.530251527Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:39:00.530246219Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:39:01.530785709Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:39:01.765559173Z level=info msg="Serving cilium health API at unix:///var/run/cilium/health.sock" subsys=health-server
2020-10-09T17:39:30.068118362Z level=debug msg="Controller func execution time: 545.921µs" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe
2020-10-09T17:40:30.068635101Z level=debug msg="Controller func execution time: 287.775µs" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe
2020-10-09T17:41:30.079299353Z level=debug msg="Controller func execution time: 596.713µs" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe
2020-10-09T17:42:30.081453512Z level=debug msg="Controller func execution time: 490.143µs" name=cilium-health-ep subsys=controller uuid=3dc69a08-0a56-11eb-9e58-0800279c1efe

We should investigate why cilium-health server can take 30s or more to serve the API on startup.

Adding to ci-force since we could potentially save a bunch of time in CI if this is happening often (since checking cilium-health status is one of the sanity checks we perform).

Just for the reference about the nature of this issue, the delay is not 100% reliable - the other node in the related CI run was able to run the cilium-health API within about 4s:
2020-10-09T17:38:27.139648225Z level=info msg="Initializing daemon" subsys=daemon
2020-10-09T17:38:27.219007320Z level=info msg="Initializing node addressing" subsys=daemon
2020-10-09T17:38:27.219213115Z level=info msg="Initializing cluster-pool IPAM" subsys=ipam v4Prefix=<IP_ADDRESS>/24 v6Prefix="fd00::100/120"
2020-10-09T17:38:27.336426027Z level=info msg="Initializing identity allocator" subsys=identity-cache
2020-10-09T17:38:28.458860955Z level=info msg="Serving cilium node monitor v1.2 API at unix:///var/run/cilium/monitor1_2.sock" subsys=monitor-agent
2020-10-09T17:38:28.523572655Z level=debug msg="Starting new controller" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe
2020-10-09T17:38:28.527524393Z level=debug msg="Cannot establish connection to local cilium instance" error="Get \"http://%2Fvar%2Frun%2Fcilium%2Fcilium.sock/v1/healthz\": dial unix /var/run/cilium/cilium.sock: connect: no such file or directory" subsys=cilium-health-launcher
2020-10-09T17:38:28.527555487Z level=debug msg="Killing old health endpoint process" pidfile=/var/run/cilium/state/health-endpoint.pid subsys=cilium-health-launcher
2020-10-09T17:38:28.527627792Z level=debug msg="Didn't find existing cilium-health endpoint to delete" subsys=daemon
2020-10-09T17:38:28.527686980Z level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=cilium_health
2020-10-09T17:38:28.527735080Z level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=lxc_health
2020-10-09T17:38:28.528877236Z level=debug msg="Unable to remove cilium-health namespace" error="Unable to delete named netns cilium-health: Cannot remove namespace file \"/var/run/netns/cilium-health\": No such file or directory\n exit status 1" subsys=cilium-health-launcher
2020-10-09T17:38:28.581430640Z level=debug msg="Spawning health endpoint with command \"ip\" [\"netns\" \"exec\" \"cilium-health\" \"cilium-health-responder\" \"--pidfile\" \"/var/run/cilium/state/health-endpoint.pid\"]" subsys=cilium-health-launcher
2020-10-09T17:38:28.640294118Z level=info msg="Initializing Cilium API" subsys=daemon
2020-10-09T17:38:28.652381383Z level=info msg="Serving cilium API at unix:///var/run/cilium/cilium.sock" subsys=daemon
2020-10-09T17:38:29.528967504Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:29.587516169Z level=debug msg="cilium-health agent running" pidfile=/var/run/cilium/state/health-endpoint.pid subsys=cilium-health-launcher
2020-10-09T17:38:29.587537268Z level=debug msg="Adding route" command="ip route add <IP_ADDRESS>/32 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:29.587540309Z level=debug msg="Adding route" command="ip route add <IP_ADDRESS>/0 via <IP_ADDRESS> mtu 1423 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:29.587542599Z level=debug msg="Adding route" command="ip -6 route add fd00::1f5/128 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:29.587544885Z level=debug msg="Adding route" command="ip -6 route add ::/0 via fd00::1f5 mtu 1423 dev cilium" netns=cilium-health subsys=cilium-health-launcher
2020-10-09T17:38:29.587556056Z level=debug msg="Running \"ip [netns exec cilium-health bash -c ip route add <IP_ADDRESS>/32 dev cilium && ip route add <IP_ADDRESS>/0 via <IP_ADDRESS> mtu 1423 dev cilium && ip -6 route add fd00::1f5/128 dev cilium && ip -6 route add ::/0 via fd00::1f5 mtu 1423 dev cilium]\"" subsys=cilium-health-launcher
2020-10-09T17:38:29.703670119Z level=debug msg="Controller func execution time: 1.17614578s" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe
2020-10-09T17:38:30.529334773Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:31.529730157Z level=debug msg="Cannot find socket" error="stat /var/run/cilium/health.sock: no such file or directory" file-path=/var/run/cilium/health.sock subsys=cilium-health-launcher
2020-10-09T17:38:31.615467798Z level=info msg="Serving cilium health API at unix:///var/run/cilium/health.sock" subsys=health-server
2020-10-09T17:39:29.704193967Z level=debug msg="Controller func execution time: 357.228µs" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe
2020-10-09T17:40:29.704976079Z level=debug msg="Controller func execution time: 340.33µs" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe
2020-10-09T17:41:29.705680450Z level=debug msg="Controller func execution time: 447.336µs" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe
2020-10-09T17:42:29.706228444Z level=debug msg="Controller func execution time: 286.325µs" name=cilium-health-ep subsys=controller uuid=3dccdfc6-0a56-11eb-8e5e-0800279c1efe

I'm guessing what happens is we have some timeout for the cilium-health -> cilium-agent client connection to only be attempted once every 30s. Probably one of these:
$ git grep 30 pkg/health/
pkg/health/probe/probe.go:// Use a timeout of 30s.
pkg/health/probe/probe.go:var client = &http.Client{Timeout: 30 * time.Second}
pkg/health/probe/responder/responder.go:var defaultTimeout = 30 * time.Second

@joestringer Do you remember if you saw this in a particular context (CI pipeline, specific test, etc.)? I took four arbitrary, successful builds and search for the debug message, but couldn't find it at all.

@pchaigno At the time I didn't think that the particular context would be very helpful since side-by-side test runs had different behaviour, so I didn't post it. By this point I don't have it on hand.
My original thought was that it seems like there was a bimodal behaviour: Either some dependency was satisfied for the cilium-health API to immediately serve, or if that dependency is not satisfied, it waits 30s and then serves the API. I hoped that this particular behaviour would be quirky enough that if someone were to pick up this problem and study the way that the cilium-health API gets served, the problem would present itself.

Possibly observed in https://jenkins.cilium.io/job/Cilium-PR-K8s-1.21-kernel-4.9/538/testReport/junit/Suite-k8s-1/21/K8sServicesTest_Checks_service_across_nodes_Checks_ClusterIP_Connectivity/. Health socket is not available after two minutes.
test_results_Cilium-PR-K8s-1.21-kernel-4.9_538_BDD-Test-PR.zip

Hello,
The bug still exists in 1.11.2

Experiencing this right now myself on a vanilla k8s installation running on AWS EC2 instances.

same for me on cilium 1.15


Editor line shift when inserting emoji

As you can see, if one adds an emoji, the line gets slightly shifted downwards and therefore interferes with the next line

This is apparently a problem with Ace, as the demo on their website does the same. Can you check their repo for the root issue or any fixes?

This is indeed a bug in ace. Line text shifts because line-height: normal changes based on font. As a temporary workaround until the next version of ace is released you can use
.ace_editor {
    line-height: 1.4;
}

or
function onChangeCharacterSize() {
    editor.renderer.scroller.style.lineHeight = editor.renderer.lineHeight + "px"
}
onChangeCharacterSize()
editor.renderer.on("changeCharacterSize", onChangeCharacterSize)

Resolved by upgrading Ace, thank you @nightwing! 😍


Add support for core.dns_address

There probably has a API extension to test for as this is probably not available in 4.0.

network_dns is the extension


Uncaught exception 'std::out_of_range' occurs when using EvalRotate in BFV without corresponding EvalKey

Hello OpenFHE team!
The following code throws an exception with the message terminate called after throwing an instance of 'std::out_of_range' what():  map::at.
#include <iostream>
#include "openfhe.h"

using namespace lbcrypto;
using namespace std;

int main(void) {
  CCParams<CryptoContextBFVRNS> parameters;
  parameters.SetRingDim(32768);
  size_t plaintext_modulus = 65537;
  parameters.SetPlaintextModulus(plaintext_modulus);
  parameters.SetMultiplicativeDepth(2);
  CryptoContext<DCRTPoly> cc = GenCryptoContext(parameters);
  cc->Enable(PKE);
  cc->Enable(KEYSWITCH);
  cc->Enable(LEVELEDSHE);
  KeyPair<DCRTPoly> keyPair;
  keyPair = cc->KeyGen();
  cc->EvalMultKeyGen(keyPair.secretKey);
  size_t slots(cc->GetRingDimension());
  vector<int64_t> tmp_vec_(slots);
  Plaintext tmp;
  vector<int> rots = {1};
  cc->EvalRotateKeyGen(keyPair.secretKey, rots);
  Ciphertext<DCRTPoly> tmp_;

  Ciphertext<DCRTPoly> x;
  int c;
  vector<int64_t> tmp_vec_1 = { 1, 2, 3 };
  tmp = cc->MakePackedPlaintext(tmp_vec_1);
  x = cc->Encrypt(keyPair.publicKey, tmp);

  // use EvalRotate without corresponding EvalKey
  x = cc->EvalRotate(x, 0);
  return 0;
}

When I changed the scheme to BGV or CKKS, the code produced a more detailed error message:
terminate called after throwing an instance of 'lbcrypto::openfhe_error'
 what():  OpenFHE/src/pke/lib/schemebase/base-leveledshe.cpp:422 EvalKey for index [1] is not found. [called from: OpenFHE/src/pke/lib/schemebase/base-leveledshe.cpp:EvalAtIndex():l.540]

related to #359

related to #362

Please ask this question in the Discourse forum: https://openfhe.discourse.group/ BTW, EvalRotate is executed for index 0. What is meant by that? Should it not be 1? But please continue the discussion in the forum. I am closing the issue.


[Formatting] Syntax issues with block capturing

There are several related examples of this (kind of weird) pattern using capture to extract part of a template as a string to be passed into another template:

capture with do ... end for block and curly braces for template variable
Rails renders the template, but stree format raises a syntax error

ERB-snippet
<%= render 'shared/template', { greeting: capture do %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

<% end } do %>

This content is displayed where the template `yield`s

<% end %>

Actual formatting
Error: syntax error, unexpected end-of-input, expecting '}'
> 1 | <%= render 'shared/template', { greeting: capture do %>
    |                                              ^
  2 |
This block is captured as a string object and is available to the template as `greeting`

  3 |
The date and time is <%= Time.now %>

  4 | <% end } do %>

capture with { ... } for block and curly braces for template variable
Rails renders the template, but stree format raises a syntax error

ERB-snippet
<%= render 'shared/template', { greeting: capture { %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

<% } } do %>

This content is displayed where the template `yield`s

<% end %>

Actual formatting
   Syntax error, even though Rails renders
Error: syntax error, unexpected end-of-input
> 1 | <%= render 'shared/template', { greeting: capture { %>
    |                                                ^
  2 |
This block is captured as a string object and is available to the template as `greeting`

  3 |
The date and time is <%= Time.now %>

  4 | <% } } do %>

capture with { ... } for block and no braces for template variable
Rails renders the template, but stree format raises a syntax error

ERB-snippet
<%= render 'shared/template', greeting: capture { %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

<% } do %>

This content is displayed where the template `yield`s

<% end %>

Actual formatting
   Syntax error, even though Rails renders
Error: syntax error, unexpected end-of-input
> 1 | <%= render 'shared/template', greeting: capture { %>
    |                                              ^
  2 |
This block is captured as a string object and is available to the template as `greeting`

  3 |
The date and time is <%= Time.now %>

  4 | <% } do %>

capture with do ... end for block and no braces for template variable
The opposite issue. Rails raises a syntax error, but stree format formats successfully

ERB-snippet
<%= render 'shared/template', greeting: capture do %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

<% end do %>

This content is displayed where the template `yield`s

<% end %>

the Rails error is
SyntaxError: /<path>/app/views/capture.html.erb:4: syntax error, unexpected `do', expecting `end'
'.freeze; end do
              ^~
/<path>/app/views/capture.html.erb:8: syntax error, unexpected `end', expecting end-of-input
          end
          ^~~

Actual formatting
"Successful" output of bundle exec stree format --plugins=erb app/views/capture.html.erb.
<%= render "shared/template", greeting: capture do %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

<% end do %>

This content is displayed where the template `yield`s

<% end %>

Expected formatting
  Not 100% sure what the expected format should be, but I sort of like this:
<%= render 'shared/template', {
        greeting: capture do %>

This block is captured as a string object and is available to the template as `greeting`

The date and time is <%= Time.now %>

        <% end
    } do %>

This content is displayed where the template `yield`s

<% end %>

Comment
Had a couple examples of this in some legacy code I maintain. Also worth noting that this was hard to find at first because the syntax doesn't usually point to the correct location.  It often (in my case) would point to line 3 even if the offending code was nowhere near there (e.g. around line 100+)
Versions
syntax_tree: 0.10.5
syntax_tree-erb: 6.1.1

Ah, have not added any handling for capture. Will investigate 🙂
Yeah, the error reference is hard - will see if I can make that better too.
Thanks for clear error reports 😊


added reentry guard to FunctionInfo.Overloads

Added reentry guard to FunctionInfo.Overloads when enumerating over
__wrapped__ (bug #4118). This fixes the immediate issue.
It is possible,
that __wrapped__ attribute of FunctionInfo must not contain self
by design. In that case a different fix is required.

Thanks! Someone should get around to review it next week. Many in our team are still at PyCon US.

@zooba , I did not know about Push/Pop. Are they intended to be used for internal purposes only (e.g. should an implementation of Overloads call them)? Its sort of weird, if a client must call one before accessing a public property.
Also, I looked at their code, and noticed, that they are implemented strangely. _processing field is only used inside these methods, and since they only add this, why does it even have to be a hashtable. Seem like bool would be sufficient - it either stores nothing, or self.

They are thread static, so it only gets created once per thread. They should also be used internal, so Overloads should call it before potentially recursing, and return its default value if Push returns false.

@zooba , updated to use Push/Pop. Seems to be enough.

What did you think about the other suggestion of only protecting when we know we're going to recurse? (i.e. after we've gotten the __wrapped__ value)

@zooba is there any advantage of not protecting the other parts? They might get recursive later.

Just performance. Most of the time there won't be a __wrapped__ member, so we can save recursion checking (this code isn't extremely performance sensitive, but it is in a fairly critical path for some scenarios, so we don't want to unnecessarily slow things down).
When we make the other parts recursive later we can also protect them later :)

@zooba , fair enough. I've verified that still fixes my issue.

Nitpicker in me wants an IDisposable, so that I could do something like using(this.ReentryGuard()){ ... }


Minimal UAA setup for OAuth2

I am trying to deploy UAA in a non-Cloud-Foundry environment. I'm using Docker and deploy UAA as a .war to a Tomcat. This is my Dockerfile:
FROM ubuntu

RUN apt-get update; apt-get install -y git wget tar openjdk-8-jdk

# Download and build UAA
ENV UAA_VERSION=3.10.0
ENV UAA_CONFIG_PATH /uaa
RUN git clone https://github.com/cloudfoundry/uaa.git $UAA_CONFIG_PATH
WORKDIR $UAA_CONFIG_PATH
RUN git checkout $UAA_VERSION
RUN ./gradlew build -x test

# Download Tomcat
ENV TOMCAT_VERSION=8.0.41
ENV CATALINA_HOME /tomcat

RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN wget -qO- https://archive.apache.org/dist/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.md5 | md5sum -c -
RUN tar zxf apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN rm apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN mkdir $CATALINA_HOME
RUN mv apache-tomcat-$TOMCAT_VERSION/* $CATALINA_HOME
RUN rm -rf $CATALINA_HOME/webapps/*

# Deploy UAA to tomcat
RUN cp $UAA_CONFIG_PATH/uaa/build/libs/cloudfoundry-identity-uaa-$UAA_VERSION.war /tomcat/webapps/ROOT.war

# Add config
ADD uaa.yml $UAA_CONFIG_PATH/uaa.yml

EXPOSE 8080

CMD $CATALINA_HOME/bin/catalina.sh run

If I run the container, I get this error:
...
caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'login.serviceProviderKey' in string value "${login.serviceProviderKey}"

Obviously, I have not set a configuration key. My uaa.yml is currently just an empty file. Unfortunately, I could not find any hint in the documentation on what parameters are required. Again, I just want a minimal OAuth flow (perhaps it's fine with hardcoded credentials now) to be working.
Thanks

If I just run ./gradlew run locally, everything seems to work. What's the difference?

https://github.com/cloudfoundry/uaa/tree/develop#deploy-to-cloud-foundry
First paragraph has a link to the required values. That's should be all you need.
If you generate a manifest (see gradlew manifest) in the same section, it should give you the parameters that you need, including UAA_URL and LOGIN_URL

Thanks , that helped!

@MitchK Can you list out the steps that you performed to solve this? I don't understand what manifest is doing here. Does it generate a sample uaa.yml for us?


administrators_authorized_keys Permissions

I found by trial and error that the option
Match Group administrators
AuthorizedKeysFile c:/ProgramData/ssh/administrators_authorized_keys
does not work out of the box when you create the administrators_authorized_keys file. You must REMOVE the Authenticated Users permissions from the file and it then works fine. (Presumably this is to protect the editing of the file by non-Admins trying to gain additiona prilivages when using SSH in-bound.
When I searched forums on this, I saw a lot of frustated Windows Pros trying to get this to work. It needs to be better documented.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c8ad5c9a-efb1-d994-0e3c-53c90096a245
Version Independent ID: 5cb0ea97-4c3d-ffdf-b69c-8a717f9f9f3f
Content: OpenSSH Server Configuration for Windows
Content Source: WindowsServerDocs/administration/OpenSSH/OpenSSH_Server_Configuration.md
GitHub Login: @maertendMSFT

Alternatively, comment out or delete that section and just set AllowGroups "Group Name", where "Group Name" is whatever group you want to manage for user access. I called mine "SSH Users", and have only PubkeyAuthentication enabled.

From https://github.com/PowerShell/Win32-OpenSSH/wiki/Security-protection-of-various-files-in-Win32-OpenSSH and https://serverfault.com/questions/873064/public-key-authentication-windows-port-of-openssh/957397 .
You can find out a solution:
(In powershell with administrator mode):
icacls administrators_authorized_keys /inheritance:r
icacls administrators_authorized_keys /grant SYSTEM:`(F`)
icacls administrators_authorized_keys /grant BUILTIN\Administrators:`(F`)

Also, in https://serverfault.com/questions/1032713/public-key-authentication-not-work-on-windows-10-professional . You can find out another solution:
$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys
$acl.SetAccessRuleProtection($true, $false)
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
$acl.SetAccessRule($administratorsRule)
$acl.SetAccessRule($systemRule)
$acl | Set-Acl

From https://github.com/PowerShell/Win32-OpenSSH/wiki/Security-protection-of-various-files-in-Win32-OpenSSH and https://serverfault.com/questions/873064/public-key-authentication-windows-port-of-openssh/957397 .
You can find out a solution:
(In powershell with administrator mode):
icacls administrators_authorized_keys /inheritance:r
icacls administrators_authorized_keys /grant SYSTEM:`(F`)
icacls administrators_authorized_keys /grant BUILTIN\Administrators:`(F`)

Also, in https://serverfault.com/questions/1032713/public-key-authentication-not-work-on-windows-10-professional . You can find out another solution:
$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys
$acl.SetAccessRuleProtection($true, $false)
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
$acl.SetAccessRule($administratorsRule)
$acl.SetAccessRule($systemRule)
$acl | Set-Acl

Hi @ThomasMConnors
Thanks for your dedication to our documentation. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow.
Thanks
please-close


Trusted CAs

Hi,
by default mitmproxy trusts every given CA.
I use mitmproxy on a debian based router (as TLS-proxy). Is it possible to limit the trusted CAs to the given cert store in Debian?
Thank you for your great software!

Hi @duese22,
this is currently not supported. If you want to give it a try, we'd be happy to accept a pull request that optionally enables upstream certificate verification. The relevant parts of the code are netlib.tcp and libmproxy.proxy.server.

fixed by #69


Update React & Webpack.md

Refactor making 'src' and 'components' dirs command

Fixes #

Windows mkdir doesn't support -p. This is a cross-platform way of writing the command sequence.

Windows mkdir doesn't support -p. This is a cross-platform way of writing the command sequence.

Oh, My bad! Good luck


[5.4] Support string of model name in factory

This sort of builds on the PR from last night (#18499), after sleeping on it I had another idea for how improve it a little bit more. If an attribute is a string that represents a class that exists, the factory could automatically build that relation as well. Using the same example, we could replace a closure like this:
$factory->define(App\Post::class, function (Faker\Generator $faker) {
    return [
        'user_id' => function() {
            return factory(App\User::class)->create();
        }
   ];
});

With something much simpler like this:
$factory->define(App\Post::class, function (Faker\Generator $faker) {
    return [
        'user_id' => App\User::class
   ];
});

Granted, it doesn't give you the ability to use factory states, but I think it's fair to use a closure if you want that sort of control. For the most common use-case where you just want an association to exist this will get the job done.

Thinking about it a little more - this would not be backwards compatible for anyone who is returning a string that matches the name of a class within their app. Would it maybe be a better fit for 5.5? Let me know what you think, or if you're not a fan of the idea in general and I'll let it go.

This should probably target master

Going to hold off on this one.


how to share cookies among apps with asp.net core 2.0+?

I have two app,the one is web app,the other one is api app,  web request api，in api , I want to try get cookies from web, both Startup, i write the same code:

and the web app ,i use "HttpContext.SignInAsync" write cookies,but it can't get in the api app,

I had a similar issue, in my second application, then realized I had forgotten app.UseAuthentication() in the Startup.Configure(..)  method.


Very simple kafka topic managing tool.

This kind of tool was needed for the kafka integration tests.
Those tests create random topics and delete them at the end,
but sometimes it couldn't reach there when the test crashes or interrupted so I had to manually delete the them not to use infinite amount of storage/memory.
Demo
It shows/delete topics that are not protected ones(which starts with _ or __) of the connected broker.
As I mentioned in the documentation, if more functionalities are needed,
we can use existing web applications, that are available as docker containers.
I used textual because it works in the terminal...!

Would something like ./bin/kafka-topics.sh --zookeeper localhost:1234 --delete --topic 'BEAMLIMETEST*' work in this case and delete all the temporary topics? Note that it accepts regex.

Yes, I actually tried wrapping them into bash shell script,
but it's always wrapped in docker so I would have to do sth like docker exec container-name ${KAFKAHOME}/bin/kafka-topics.sh blah blah so... there were some trivial extra steps needed to make the script robust...
and the kafka server might not be running on the same machine, then there are even more extra steps...
But we're indeed missing regex,
actually we need a regex filter helper on topics since they are gonna have different prefix per instrument... 🤔


Improve notification debugging with observer identifier.

Idea for assisting with debugging notifications: allow an optional string identifier during addObserver. The default value will be None so that there are no changes required in existing uses. There is no requirement that the string be unique. A reverse domain naming scheme is recommended, but there are no requirements for the structure of the string. An example:
glyph.addObserver(
    observer=self,
    methodName="glyphChangedCallback",
    notification="Glyph.Changed",
    identifier="com.typesupply.GlyphNanny2.uiUpdates
}

NotificationCenter and all objects with an addObserver method will have this new argument and pass it to the underlying dispatcher. Within NotificationCenter, the identifiers will be stored in a new _identifierRegistry dict that has a similar structure to _registry.
There will be a method for searching for observations based on any of the values that may be passed during addObserver.

observable
observer
methodName
notification
identifier

A value of None for any of these indicates that all should be considered to match the value. In the case of identifier, strings will be matched using fnmatch.fnmatchcase.
observations = dispatcher.findObservations("com.typesupply.GlyphNanny2.*")

The returned value will be a list of dictionaries with this format:
[
    {
        observer=<...>
        observable=<...>
        methodName="..."
        notification="..."
        identifier="..."
    }
]

NotificationCenter and all objects with an addObserver method will have this new method. The implementation in BaseObject and its descendants will only return matches that pertain to the object through which the call was passed.

This will be fully backwards compatible. No code within the system for publishing notifications will be touched.

cc @typemytype

cc @typemytype

Would that open up a way to remove all notifications that fit "com.typesupply.GlyphNanny2.*" ?
Common scenario for me is that something in the thing I'm working on breaks and the notifications are left running. Eventually making it necessary to start with a fresh application.

Would that open up a way to remove all notifications that fit "com.typesupply.GlyphNanny2.*" ?
Common scenario for me is that something in the thing I'm working on breaks and the notifications are left running. Eventually making it necessary to start with a fresh application.

that is the plan: make it easier and a lot more convenient to remove observers by a search on identifiers or observers or observales or even notifications

that is the plan: make it easier and a lot more convenient to remove observers by a search on identifiers or observers or observales or even notifications

Would that open up a way to remove all notifications that fit "com.typesupply.GlyphNanny2.*" ?

Yes. Something like this would work:
observations = obj.findObservations("com.typesupply.GlyphNanny2.*")
for observation in observations:
    observer = observation["observer"]
    notification = observation["notification"]
    obj.removeObserver(observer, notification)

Or globally:
dispatcher = obj.dispatcher
observations = dispatcher.findObservations("com.typesupply.GlyphNanny2.*")
for observation in observations:
    observer = observation["observer"]
    observable = observation["observable"]
    notification = observation["notification"]
    dispatcher.removeObserver(observer, notification)

Would that open up a way to remove all notifications that fit "com.typesupply.GlyphNanny2.*" ?

Yes. Something like this would work:
observations = obj.findObservations("com.typesupply.GlyphNanny2.*")
for observation in observations:
    observer = observation["observer"]
    notification = observation["notification"]
    obj.removeObserver(observer, notification)

Or globally:
dispatcher = obj.dispatcher
observations = dispatcher.findObservations("com.typesupply.GlyphNanny2.*")
for observation in observations:
    observer = observation["observer"]
    observable = observation["observable"]
    notification = observation["notification"]
    dispatcher.removeObserver(observer, notification)


added separator symbol and some doc for bar config reply

Hello!
I added the separator symbol entry to the bar config reply (it seems to be left undocumented on the i3 ipc doc, but still exists:
{
  "id": "bar-0",
  "tray_padding": 2,
  "mode": "hide",
  "hidden_state": "hide",
  "modifier": 0,
  "position": "top",
  "status_command": "i3blocks -c $HOME/.config/i3/i3blocks.conf | tee /tmp/i3blocks.log",
  "font": "pango:DejaVu Sans Mono 8",
  "separator_symbol": "",
  "workspace_buttons": true,
  "workspace_min_width": 0,
  "strip_workspace_numbers": false,
  "strip_workspace_name": false,
  "binding_mode_indicator": true,
  "verbose": false,
  "colors": {
    "background": "#2f343f",
    "separator": "#757575",
    "focused_workspace_border": "#2f343f",
    "focused_workspace_bg": "#2f343f",
    "focused_workspace_text": "#f3f4f5",
    "inactive_workspace_border": "#2f343f",
    "inactive_workspace_bg": "#2f343f",
    "inactive_workspace_text": "#676E7D",
    "urgent_workspace_border": "#E53935",
    "urgent_workspace_bg": "#E53935",
    "urgent_workspace_text": "#f3f4f5"
  }
}

I added some doc for lines in the bar config reply (it complete before the update that added some entries.)

I marked it draft, because I intend to finish the doc of the entries before setting it ready for review


Jigsaw Prototype

Loom video showing the prototype in action:
https://www.loom.com/share/b7d24009ca044034b6c9a59337841e52
Adding Aaron as a reviewer too.

LGTM. Have we tested it on skewed images, like extremely tall or wide images?

Since rows and columns are calculated differently, it will still create 9 images. But in general, let's avoid extremely skewed images for our rooms.


Use travis CI

We could set up a continuous integration tool like Travis

Use https://travis-ci.org/eventbrite/bay

Fixed on https://github.com/eventbrite/britecharts/pull/170


Add TweenKit.

Project URL

Description

Why it should be included to awesome-ios (optional)
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

:no_entry_sign:
Found 5 link issues

Link issues by awesome_bot

Line
Status
Link

1182
301
https://github.com/pvzig/SlackKit redirects tohttps://github.com/SlackKit/SlackKit

1353
301
https://github.com/SwiftKit/Cuckoo redirects tohttps://github.com/Brightify/Cuckoo

1465
301
https://github.com/andrew8712/DCKit redirects tohttps://github.com/agordeev/DCKit

2254
301
https://github.com/thoughtbot/liftoff redirects tohttps://github.com/liftoffcli/liftoff

2526
522
http://rypress.com/tutorials/objective-c/index

  Generated by :no_entry_sign: Danger

@arasu01 please include the project url in the pull request description next time :)

@dkhamsing : Sorry, I missed it some how.


Issue 1065: Fix the deprecation compilation warnings in the strongbox-storage-raw-layout-provider module

Fixes #1065

Hi!
Thank you for your contribution and congratulations on your first pull request!
Kind regards,
Martin


Seeking Feedback

If you use dialoqbase, I would appreciate your feedback so that I can improve the application. 😊

This is just a public service announcement. You can contact me on Twitter, Discord, or through a GitHub issue. Please don't message me on other platforms since I won't reply there. I highly recommend contacting me via Discord or a GitHub issue


1.12 Planning

Initially only three errors when compiling with 1.12, two of which are the same issue.

BufferBuilder can be used instead of VertexBuffer. About RuntimeOptionGuiHandler I don't know.

No, VertexBuffer just changed locations. Still not sure what the RuntimeOptionGuiHandler issue is all about. I don't think any of DragonMountsConfigGuiFactory's dependencies changed for 1.12.

@JonL98 I'm going to take a look at your fork, and see about fixing it.


Updating maxDataLength in Const.ts

Current bot builder architecture limits responses to be under 65000 bytes. With answers that have images, it makes more sense to increase the limit to a higher number

Thank you for opening an issue against the BotBuilder-Azure repo. As part of the Bot Framework v4 release, we’ve moved all the Azure related work to the platform SDK repo. We will continue to support and offer maintenance updates via this repo.
From now on, https://github.com/Microsoft/botframework-sdk repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the Bot Framework repo found here:
https://github.com/Microsoft/botframework-sdk/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


Tasks null fix

I resolved the null response body issue by adjusting the HTTP calls' types.

@KajaGrabowska Thank you! :-)


Add pub sub end points calls

Add all pub/sub endpoints calls interfaces to the package
Solves issue: #7

Hi @tawfiek,
Thanks so much for your contribution!
We've merged, reformatted, renamed the methods, and published to npm as 2.0.11. The new method names are documented in the README.


Initial commit to support cancelling a long running query (WIP)

Some long-running queries will continue to hog resources.. this PR allows users to cancel a query using request id. As of now users need to know the request id. Eventually, we will have the ability to list the running queries on the controller and users can cancel them.
Instructions:

The PR has to be tagged with at least one of the following labels (*):

feature
bugfix
performance
ui
backward-incompat
release-notes (**)

Remove these instructions before publishing the PR.

(*) Other labels to consider:

testing
dependencies
docker
kubernetes
observability
security
code-style
extension-point
refactor
cleanup

(**) Use release-notes label for scenarios like:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

Replaced with #9171


What CSS optimizers do you recommend?

Hello,
Here:  http://getbem.com/faq/#global-css-resets
you mention "But this is what CSS optimizers should do for you"
What CSS optimizers do you recommend?  It would be helpful to go into more detail here.
Thanks!

@Burzmalian I don't think this is BEM-related question, but you can ask this question on Stack Overflow for details and look here for a list of optimizers.


Add some delay for biometry authentication to allow native verification animation to run fully

Description
Add delay in biometry get/set functions so that the native animations can run fully before moving the user on. Without the delay, the animation can be running while the app is navigating to the next screen already.
With a 800ms delay, the animation runs like this:
https://user-images.githubusercontent.com/20150449/152314145-9f21302e-1f6f-4123-823b-889b1930b645.MP4
Other changes
N/A
Tested
Unit tests and manually
How others should test
In the onboarding flow when enabling biometrics, and in flows where you need biometry to get the pin (recovery phrase screen, send flow, change pin, etc.) see that the biometric verification animation run to the end before the app moves on.
Related issues
N/A
Backwards compatibility
N/A

Hey @MuckT, We have verified the above task in Latest Test flight Alfajores build V1.26.0 and updated the status in test rails.
Note:
-We have verified face ID for iOS 14,15 & touch ID for iOS13
-As this features is iOS specific, so we have blocked android test cases
Test rail links:
iOS 13: https://valoraapp.testrail.io/index.php?/tests/view/10030
iOS 14: https://valoraapp.testrail.io/index.php?/tests/view/9775
iOS 15: https://valoraapp.testrail.io/index.php?/tests/view/9712
Devices: iPhone 7 (13.3), iPhone 13 mini (15.1.1), iPhone 12 (14.7.1)
CC: @kathaypacific
Thanks..!!


Adopt EditorInputCapabilities.ForceDescription in terminal

This new capability allows the terminal to control when the tab description shows, so we can align the description in the terminal editor with how it shows up in a terminal panel tab.
https://github.com/microsoft/vscode/blob/adee8fa29ad3635418ff995b235c4b08a40c8434/src/vs/workbench/common/editor.ts#L527-L533

To verify:

Run a task, move the terminal to the editor area, check that the Task description shows up like it did in the panel
In a terminal, change the directory, verify you see it in the tab description in the panel
Move that to the terminal editor, make sure you see it there as well

Is this tooltip the task description?

I think I'm a bit confused on how a task would be affected by a different terminal changing directories.

drag the terminal into the editor area and you should still see task in the label of the tab.


NTP sync causing periodic crashes

NTP sync was introduced 0.1.0 via https://github.com/appscode/guard/issues/83
Since upgrading to 0.1.0+ (including latest version) we see periodically the following:
F0529 18:25:05.766404       1 server.go:44] read udp [--IP REDACTED--]-><IP_ADDRESS>:123: i/o timeout goroutine 27 [running]: github.com/appscode/guard/vendor/github.com/golang/glog.stacks(0xc420339900, 0xc42019a320, 0x69, 0xa0) 	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:766 +0xcf github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).output(0x22972e0, 0xc400000003, 0xc4200ad4a0, 0x21e0a82, 0x9, 0x2c, 0x0) 	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:717 +0x322 github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).printDepth(0x22972e0, 0xc400000003, 0x1, 0xc420b04f98, 0x1, 0x1) 	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:646 +0x12a github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).print(0x22972e0, 0xc400000003, 0xc420b04f98, 0x1, 0x1) 	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:637 +0x5a github.com/appscode/guard/vendor/github.com/golang/glog.Fatal(0xc420b04f98, 0x1, 0x1) 	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:1125 +0x53 github.com/appscode/guard/server.Server.ListenAndServe.func1(0xc420526480, 0xc420366900) 	/go/src/github.com/appscode/guard/server/server.go:44 +0xf1 created by github.com/appscode/guard/server.Server.ListenAndServe 	/go/src/github.com/appscode/guard/server/server.go:41 +0xe1b
I note via host <IP_ADDRESS> this is utcnist2.colorado.edu.
I see the default for clock-check-interval is five minutes. Our errors are not that frequent, not are they regular, so I don't think this can be put down to an overly restrictive security group on our part. It happens approximately 10-20 times per week.
Ideally - i/o timeouts should be dealt with, rather than any error here causing a fatal exception.
Alternatively - a simple way to turn this off should be provided. Best I can see right now is to make clock-check-interval big.

Same happening here -
F0530 09:30:28.518536       1 server.go:44] read udp [--IP REDACTED--]:48306-><IP_ADDRESS>:123: i/o timeout
goroutine 48 [running]:
github.com/appscode/guard/vendor/github.com/golang/glog.stacks(0xc4203a7f00, 0xc4201a0320, 0x6a, 0xa0)
	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:766 +0xcf
github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).output(0x22972e0, 0xc400000003, 0xc4200b3550, 0x21e0a82, 0x9, 0x2c, 0x0)
	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:717 +0x322
github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).printDepth(0x22972e0, 0xc400000003, 0x1, 0xc4204a7f98, 0x1, 0x1)
	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:646 +0x12a
github.com/appscode/guard/vendor/github.com/golang/glog.(*loggingT).print(0x22972e0, 0xc400000003, 0xc4204a7f98, 0x1, 0x1)
	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:637 +0x5a
github.com/appscode/guard/vendor/github.com/golang/glog.Fatal(0xc4204a7f98, 0x1, 0x1)
	/go/src/github.com/appscode/guard/vendor/github.com/golang/glog/glog.go:1125 +0x53
github.com/appscode/guard/server.Server.ListenAndServe.func1(0xc420ac3ac0, 0xc4206d2320)
	/go/src/github.com/appscode/guard/server/server.go:44 +0xf1
created by github.com/appscode/guard/server.Server.ListenAndServe
	/go/src/github.com/appscode/guard/server/server.go:41 +0xe1b
``` host is in my case - mail.thefrown.net

On production restarts happen quite often - Yesterday 33x times. I will try to increase clock-check-interval and see what happens.

@tsupertramp that host does not look NTP-related? I also note that anonymous statistics are sent unless you turn off with --analytics=false. Might be worth trying in combination?

https://github.com/appscode/guard/pull/144 will increase max allowed skew to 2 min and checks to every 10 mins. If you want to disable it, set it to --max-clock-skew=0 .

guard-56c647654-vg25n                                                 1/1       Running   32         5h
32 restarts in 5h on two different clusters seems pretty hight:
      - args:
        - run
        - --v=3
        - --tls-ca-file=/etc/guard/pki/ca.crt
        - --tls-cert-file=/etc/guard/pki/tls.crt
        - --tls-private-key-file=/etc/guard/pki/tls.key
        - --auth-providers=github
        - --max-clock-skew=0m
        - --clock-check-interval=10m
        - --analytics=false
        image: appscode/guard:0.1.2

@tsupertramp , have you tried setting the --max-clock-skew=0 to disable this check? When this restart happens, have you logged into the host machine and checked if the clock was actually skewed or not?

Time seems to look good.
Ah sorry i set it accidentally to 0m instead of 0 - Lets see what this brings.
Appreciate your fast response time!

F0604 13:52:07.845624       1 server.go:44] Time skew between NTP(2018-06-04 13:52:07.845755747 +0000 UTC m=+600.050490959) & machine(2018-06-04 13:52:07.845584735 +0000 UTC m=+600.050319810) exceedes limit - with --clock-check-interval="10m0s" and --max-clock-skew="0s" in logs - which was configured with - --max-clock-skew=0

Oh! Sorry, I misspoke. You need to set --clock-check-interval=0 to disable.
See here:

https://github.com/appscode/guard/blob/master/server/ntp.go#L44
https://github.com/appscode/guard/blob/master/server/server.go#L39

Fixed by https://github.com/appscode/guard/releases/tag/0.1.3


Add feature flag

Summary
Use the right feature flag when checking if apps are enabled or not.
DISCLAIMER: Since the server PR is not yet merged, this will render apps unusable on the client until that PR gets merged. After that, only server initialized with the feature flag set to true will show apps related code in the client.
Ticket Link
None
Related Pull Requests
Server: https://github.com/mattermost/mattermost-server/pull/16851
Webapp: https://github.com/mattermost/mattermost-webapp/pull/7643

@larkox haven't looked at the code, but going with the description, what happens when this lands on-prem? Feature flags are for cloud only right?

@enahum On prem also allows feature flags, but unless you are actively setting them up, the average user will see only the defaults. The default for enabling apps features is false. That means that average on prem user will not be able to use the apps (neither from mobile nor webapp). This is intended.
When the feature is battletested enough in cloud, we will remove the feature flag, and will be available on-prem.
Either way, any on prem user can setup the correct environment variable when running the server and start using the apps on their instance.

@larkox sounds good  to me, do we also need to check for a minimum server version as well? either now or after it has been battle tested?

That is a great question. CC @catalintomai for visibility.
I feel there is no need for minimum server version. The only requirement is to have the apps proxy plugin installed/enabled. We could implement that.
If the apps proxy plugin is not installed, the only "overhead" is that we will be calling the fetchbinding call every time needed (mainly on channel navigation), but it will return error, and therefore, the system will consider no bindings available. If there are no bindings, no other "apps related" calls will get to the server.
From my perspective, adding this check for the plugin status is a nice to have, but not needed for the first release.

Agree is not really needed, but on the other habd is not a very good practice to perform a request if you already know is going to fail for some reason, mobile device = limited resources :)
what is the extent of complexity to add that check? I don’t want to deviate you guys from your work, so if you guys consider is OK for now and have a ticket to improve on it, I’ll let it slide :p

There are methods on the server side to make sure that when the apps are enabled, the proxy plugin is also installed, enabled and running (we want to make this as if part of the server code).
The complexity depends. Doing it is almost trivial. Doing it right is the thing that may get complicated.

Doing it: on apps enabled make a call to get the plugin status from the server and check. Result? Way more calls to the server, since now apps enabled (which is used all around the code) will make a server call.
Doing it right: fetch on startup (and similar) the plugin statuses, and react to plugin related websocket events to keep redux state up to date, so apps enabled can look into the redux state. Result? 1 extra call to the server on startup, unless we find a way to piggyback this into the slash commands requests.

I will leave the decision to @catalintomai , but I would create a ticket, and defer this for later.

Building app in separate branch.

Build works fine on servers that predate the flag
MM app work normally to get the bindings and add UI elements when the server has the feature on
MM app will remove the elements from the UI when the feature is tuned off
No requests for binding are ever made to the server when the feature flag is disabled
Tested on both iOS and Android clients

LGTM!


Broken icon transition in dark mode toggle

Change Type
Correction
Proposed Changes
https://github.com/huntabyte/shadcn-svelte/pull/400, following mode-watcher https://github.com/huntabyte/mode-watcher/pull/26/, causes the dark mode toggle in docs to not have the expected icon transition. rotate and scale classes apply, but are applied immediately with no transition.
This is because of withoutTransition function used in mode-watcher, which forces all transition to be disabled when mode is being switched. This was introduced because of flashing screen issues when mode switching.
In docs: https://www.shadcn-svelte.com/docs/dark-mode
https://github.com/huntabyte/shadcn-svelte/blob/main/apps/www/src/lib/registry/default/example/dark-mode-light-switch.svelte#L9-14

I think I can solve this by waiting for any current transitions running to finish before switching the mode.

Hi @huntabyte, the issue is still present in current docs. Do you want me to create this issue in mode-watcher instead, since it stems from the change of implementation there?


Valid XML gives parsing error

This XML is valid:
https://gist.github.com/e-oz/cbae3b90c32735e50fcd280ccab9c12a
But when I'm trying to call "from_string" to deserialize it (not to struct, just deserialize to Element), I'm getting SyntaxError(error during lexing: "MixedElementsAndText", 1, 43).
If there is some workaround - please let me know.

the xml looks good to me, I'll see what I can do

I can't reproduce:

#[test]
fn eoz() {
    let s = r#####"<?xml version="1.0" encoding="utf-8"?><Report xsi:schemaLocation="HISCI_x0020_Best_x0020_Practice_x0020_Roster http://htnawprptgpo01b/ReportServer?%2FFinancial%2FHISCI%20Best%20Practice%20Roster&rs%3AFormat=XML&rs%3ASnapshot%3Aisnull=True&rc%3ASchema=True" Name="HISCI Best Practice Roster" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="HISCI_x0020_Best_x0020_Practice_x0020_Roster"><Tablix2 Textbox378="Company: --All--" Textbox49="Portfolio: --All--" Textbox375="Group: --All--" Textbox51="Member Status: Both" Textbox372="Division: --All--" Textbox52="Info. Type: --ALL--" Textbox366="Market: --All--" Textbox53="From: 09/02/2016" Textbox383="Class of Trade: --All--" Textbox54="To:  " Textbox385="Facility Type: --All--" /><Tablix32><Details_Collection><Details txtPharmacyGPOIDValue2="1" txtPharmacyGLNValue2="1" HealthIndustryNumber="1" txtPharmacyONameValue2="1" Name2="" Textbox17="Ship To" /></Details_Collection></Tablix32></Report>"#####;

    let _xml_value: Element = from_str(s).unwrap();
}

Could you please try this file also, maybe issue is in BOM symbol.
Report_test.2.xml.zip

zip files xD anyway, the xml is the same as the one you uploaded. It works just fine.

also the error location (line 1, col 43) makes no sense when looking at that piece of xml. Are you sure you uploaded the xml that fails on your system?

Yes, I'm sure it's the same file - I checked it before sending it too you.
XML is the same, but zipped file have BOM symbols, they are invisible and can't not be copied in editor.
I wish I could say "works fine" too :)
Anyway, thanks for help.

never heard of BOM symbols... I'll try loading the file directly

some badass invented them: https://en.wikipedia.org/wiki/Byte_order_mark
Github doesn't allow XML file to be attached, so I wrapped it into zip just to attach here.

This reproduces the issue.
extern crate serde_xml;

use std::fs::File;
use std::io::Read;

#[test]
fn eoz() {
    let f = File::open("/path/to/Report_test.2.xml").unwrap().bytes();

    serde_xml::de::from_iter::<_, serde_xml::value::Element>(f).unwrap();
}

jup, I'm reproducing it right now, too. Must be due to the fact that serde-xml works on bytes and not on chars

we probably need to audit all text-based serde deserializers. Json probably bails with ExpectedSomeValue.

I found a workaround:
from_str(xml_data.trim_matches('\u{FEFF}'))

It's legit and will not affect data without BOM.

hehe, don't worry, it's gonna be merged in a sec, and I'll probably release 0.9 right away

Works great with 0.9.0, thank you very much!


The number of workers is not perfectly right  if more than one coordinators exist in the same cluster

  In our  company，in order to restart the coordinator gracefully,  we need launch another new coordinator in the same cluster at some point. The coordinator is always set  “node-scheduler.include-coordinator=false”。I find the number of workers is not perfectly right  if more than one coordinator exist in the same cluster。For example ,if a cluster has 5 nodes and there are two coordinators  in this 5 nodes, the the number of workers  is 4 instead of 3。

I am not sure whether  it is a bug or not in this situation. I just want to know the community's opinion about this. If it is a bug, i want to fix it.

Hi @PennyAndWang ,
That's a nice catch. I am not sure if it is the right approach to run multiple coordinators in the same cluster as it might make the workers to switch between multiple coordinators and it might lead to some racing issue for memory allocations and other stuffs.
Apart from that the reason why it shows 4 workers is that in ClusterStatsResource we get the active node count and decrement it by 1 (assuming that there is one active coordiantor) while we can replace it with something like this
'Sets.difference(allNodes.getActiveNodes(), allNodes.getActiveCoordinators()).size();' which gives the effective active worker count.

@Praveen2112 ，really thank you very much for your reply and your advice。  I know the reason according the source code ,that is "if (!isIncludeCoordinator) {activeNodes -= 1;}" 。 I think the real number of workers should be more accurate , so  i will submit the code 。

@PennyAndWang in case of multiple coordinators, coordinator should point to localhost as discovery server. Workers should connect to only single discovery server. For example this could be achieved via coordinator dns binding or attaching dedicated coordinator network interface (e.g: ENI in AWS).

@sopel39 ， really thank you very much for your reply.  I will explain the real reason.  In our company, we deployed a discovery server. The coordinator and the workers both registered with the discovery server. The coordinator is not a discovery service node and is set to "discovery-server.enabled=false". Moreover, there is a layer of proxy on the client and server to implement the highly available function of the coordinator. When we need to restart the coordinator, we need to use the proxy to switch user traffic to the new coordinator, so that it does not affect the normal use of the user. So there will be a situation that  there are multiple coordinators in a cluster.

@sopel39 ， really thank you very much for your reply.  I will explain the real reason.  In our company, we deployed a discovery server. The coordinator and the workers both registered with the discovery server. The coordinator is not a discovery service node and is set to "discovery-server.enabled=false". Moreover, there is a layer of proxy on the client and server to implement the highly available function of the coordinator. When we need to restart the coordinator, we need to use the proxy to switch user traffic to the new coordinator, so that it does not affect the normal use of the user. So there will be a situation that  there are multiple coordinators in a cluster.

@Praveen2112 ，I want to change the code to
"long activeNodes = Sets.difference(nodeManager.getNodes(NodeState.ACTIVE),nodeManager.getAllNodes().getActiveCoordinators()).size();" , but the new problem comes. If the  coordinator is set " node-scheduler.include-coordinator=true", ie the coordinator is also a compute node, then the above code  is still not very accurate. I want to solve the above problem by the information from  the discover server  and find that the discovery server  information does not provide whether the coordinator is a  compute node or not. So now I am a bit confused. Maybe this question is not a big problem for the community, but it still has a little impact on us.
By the way, I apologize if this issue affects or bothers  you.

The coordinator is not a discovery service node and is set to "discovery-server.enabled=false". Moreover, there is a layer of proxy on the client and server to implement the highly available function of the coordinator.

I don't think you can implement coordinator HA with just single discovery server instance. It could be that dispatched (https://github.com/prestosql/presto/pull/95) could help here, but its still in review.

is this fixed @PennyAndWang ?


Move read_catalog_from_csv out of DataParameters.retrieve

DataParameters.retrieve has an option to read the selections from a CSV file and retrieve the data. It might be better to move this to a DataParameters creation option method. It would adjust the attributes of the DataParameters class and then you could call retrieve.

The CSV functionality needed to be thoroughly documented as well so that users know how to create the file correctly


Create baseline technical specification

@nizyev feel free to move this to done, if it seems finished.


Mutable defaults parameters en request wrapper

Hi! Just a recommendation, in utils.py this method is using mutable defaults parameters, which are not a good practice.
def http_request(session, url, method='GET', allow_insecure_ssl=False,
                 headers={}, data={}, *args, **kwargs):

Source/explanation
A simple fix should be
def http_request(session, url, method='GET', allow_insecure_ssl=False,
                 headers=None, data=None, *args, **kwargs):
    headers = headers or {}
    data = data or {}

A reasonable point. In the context that http_request is used it's not an issue, but I'll fix it for the next release anyway.


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

46607ba: Updating package names to include @octopusdeploy/ prefix for security reasons.

<EMAIL_ADDRESS>Patch Changes

46607ba: Updating package names to include @octopusdeploy/ prefix for security reasons.

<EMAIL_ADDRESS>Patch Changes

46607ba: Updating package names to include @octopusdeploy/ prefix for security reasons.

<EMAIL_ADDRESS>Patch Changes

46607ba: Updating package names to include @octopusdeploy/ prefix for security reasons.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

The build is not triggering for this PR, I might close it off and kick off the workflow to re-create it and see what happens.


docs(git) adiciona styleguide do git no arquivo de CONTRIBUTING.md

Closes #68

Coverage remained the same at 0.0% when pulling 41fbd61e676f477fffefffed31d62a96c3a4960e on rafaellucio:feature/adiciona-styleguide-git-contributing into bc5276b54438dd241b34ab5bc8f58e23a3abf409 on easynvest:develop.


jf atc permanently breaks cli auth generated via jf login

Describe the bug
Having authenticated the cli using jf login, then invoked jf atc, future invocations of jf atc or jf rt ping fail with:
09:42:30 [🚨Error] Refresh access token failed: server response: 404 Not Found
{
  "errors": [
    {
      "code": "NOT_FOUND",
      "message": "Token matching the provided refresh token was not found."
    }
  ]
}

Current behavior
Initial State

jfrog cli has no config:cat ~/.jfrog/jfrog-cli.conf.v6
{
    "servers": [],
    "version": "6"
}

Logged in to JFrog web UI with username and password.
No tokens visible at https://<JFrog Platform URL>/ui/admin/configuration/security/access_tokens

Authenticate jfrog cli via Web UI

jf login, providing JFrog Platform URL when prompted, accepting default values, and successfully completing code prompt entry.
jfrog cli has config:cat ~/.jfrog/jfrog-cli.conf.v6
{
    "servers": [
        {
            "url": "https://<JFrog Platform URL>/",
            "artifactoryUrl": "https://<JFrog Platform URL>/artifactory/",
            "distributionUrl": "https://<JFrog Platform URL>/distribution/",
            "xrayUrl": "https://<JFrog Platform URL>/xray/",
            "missionControlUrl": "https://<JFrog Platform URL>/mc/",
            "pipelinesUrl": "https://<JFrog Platform URL>/pipelines/",
            "user": <redacted>,
            "accessToken": <redacted>,
            "refreshToken": <redacted>,
            "serverId": <redacted>,
            "isDefault": true,
            "webLogin": true
        }
    ],
    "version": "6"
}

One token visible at https://<JFrog Platform URL>/ui/admin/configuration/security/access_tokens:

token id: "b2c050ab-b04b-4f1f-a3fe-e8789716f7b5"

Create access token for use in scripting with jfrog cli
    JFROG_CLI_LOG_LEVEL=DEBUG jf atc

    09:19:15 [Debug] JFrog CLI version: 2.52.10
    09:19:15 [Debug] OS/Arch: darwin/arm64
    09:19:15 [Debug] Usage Report: Sending info...
    09:19:15 [Debug] Refreshing token...
    09:19:15 [Debug] Creating lock in: <redacted>
    09:19:30 [Debug] Sending HTTP POST request to: https://<JFrog Platform URL>/access/api/v1/tokens
    09:19:30 [Debug] Releasing lock: <redacted>
    09:19:30 [Debug] Sending HTTP POST request to: https://<JFrog Platform URL>/access/api/v1/tokens
    09:19:30 [Debug] Refreshing token...
    09:19:30 [Debug] Creating lock in: <redacted>
    09:19:30 [Debug] Fetched new token from config.
    09:19:30 [Debug] Releasing lock: <redacted>
    09:19:30 [Debug] Sending HTTP GET request to: https://<JFrog Platform URL>/artifactory/api/system/version
    09:19:31 [Debug] Artifactory response: 200
    09:19:31 [Debug] JFrog Artifactory version is: 7.81.2
    09:19:31 [Debug] Refreshing token...
    09:19:31 [Debug] Creating lock in: <redacted>
    09:19:46 [Debug] Sending HTTP POST request to: https://<JFrog Platform URL>/access/api/v1/tokens
    09:19:46 [Debug] Releasing lock: <redacted>
    09:19:46 [Debug] Couldnt send usage info. Error: Refresh access token failed: server response: 404 Not Found
    {
        "errors": [
            {
                "code": "NOT_FOUND",
                "message": "Token matching the provided refresh token was not found."
            }
        ]
    }
    {
        "scope": "applied-permissions/user",
        "access_token": <redacted>,
        "expires_in": 28800,
        "token_type": "Bearer",
        "token_id": "8715eabd-680b-4d4f-b626-eb31aeef1601"
    }

A new token is created, but the 404 not found json also going to stdout renders this operation useless for scripting.

jfrog cli has config:
cat ~/.jfrog/jfrog-cli.conf.v6
{
    "servers": [
        {
            "url": "https://<JFrog Platform URL>/",
            "artifactoryUrl": "https://<JFrog Platform URL>/artifactory/",
            "distributionUrl": "https://<JFrog Platform URL>/distribution/",
            "xrayUrl": "https://<JFrog Platform URL>/xray/",
            "missionControlUrl": "https://<JFrog Platform URL>/mc/",
            "pipelinesUrl": "https://<JFrog Platform URL>/pipelines/",
            "user": <redacted>,
            "accessToken": <redacted>,
            "refreshToken": <redacted>,
            "artifactoryRefreshToken": <redacted>,
            "serverId": <redacted>,
            "isDefault": true,
            "webLogin": true
        }
    ],
    "version": "6"
}

the value of refreshToken is unchanged from the value after initial jf login
there is a new artifactoryRefreshToken

Two tokens visible at https://<JFrog Platform URL>/ui/admin/configuration/security/access_tokens:

token id: "6dfeeffd-9ead-4436-83c2-fe64cc636add"

this appears to have replaced the token id "b2c050ab-b04b-4f1f-a3fe-e8789716f7b5" created by the initial jf login

token id: "8715eabd-680b-4d4f-b626-eb31aeef1601"

this correponds to the token output from jf atc above

Attempt to create another access token for use in scripting with jfrog cli
JFROG_CLI_LOG_LEVEL=DEBUG jf atc

09:36:06 [Debug] JFrog CLI version: 2.52.10
09:36:06 [Debug] OS/Arch: darwin/arm64
09:36:06 [Debug] Usage Report: Sending info...
09:36:06 [Debug] Refreshing token...
09:36:06 [Debug] Creating lock in: <redacted>
09:36:21 [Debug] Sending HTTP POST request to: https://<JFrog Platform URL>/access/api/v1/tokens
09:36:21 [Debug] Releasing lock: <redacted>
09:36:21 [Debug] Refreshing token...
09:36:21 [Debug] Creating lock in: <redacted>
09:36:36 [Debug] Sending HTTP POST request to: https://<JFrog Platform URL>/access/api/v1/tokens
09:36:36 [Debug] Releasing lock: <redacted>
09:36:36 [Debug] Couldnt get Artifactory version. Error: Refresh access token failed: server response: 404 Not Found
{
    "errors": [
        {
            "code": "NOT_FOUND",
            "message": "Token matching the provided refresh token was not found."
        }
    ]
}
09:36:36 [🚨Error] Refresh access token failed: server response: 404 Not Found
{
    "errors": [
        {
            "code": "NOT_FOUND",
            "message": "Token matching the provided refresh token was not found."
        }
    ]
}

jfrog cli has config:

    cat ~/.jfrog/jfrog-cli.conf.v6
    {
        "servers": [
            {
                "url": "https://<JFrog Platform URL>/",
                "artifactoryUrl": "https://<JFrog Platform URL>/artifactory/",
                "distributionUrl": "https://<JFrog Platform URL>/distribution/",
                "xrayUrl": "https://<JFrog Platform URL>/xray/",
                "missionControlUrl": "https://<JFrog Platform URL>/mc/",
                "pipelinesUrl": "https://<JFrog Platform URL>/pipelines/",
                "user": <redacted>,
                "accessToken": <redacted>,
                "refreshToken": <redacted>,
                "artifactoryRefreshToken": <redacted>,
                "serverId": <redacted>,
                "isDefault": true,
                "webLogin": true
            }
        ],
        "version": "6"
    }

the value of refreshToken is unchanged from the value after initial jf login

there value of artifactoryRefreshToken is unchanged from its value after appearing subsequent to the first jf atc

The two tokens visible at https://<JFrog Platform URL>/ui/admin/configuration/security/access_tokens are unchanged from their values after the first jf atc:

token id: "6dfeeffd-9ead-4436-83c2-fe64cc636add"
token id: "8715eabd-680b-4d4f-b626-eb31aeef1601"

Other cli commands are now broken:
jf rt ping
09:42:30 [🚨Error] Refresh access token failed: server response: 404 Not Found
{
    "errors": [
        {
            "code": "NOT_FOUND",
            "message": "Token matching the provided refresh token was not found."
        }
    ]
}

Reproduction steps
See above.
Expected behavior
Having authenticated the cli using jf login, can repeatedly invoke jf atc as needed, receiving no errors and a valid token that can be used, e.g:
curl -H "Authorization: Bearer $(jf atc --expiry 60 | jq --raw-output '. | .access_token')" https://<JFrog Platform URL>/access/api/v1/tokens

JFrog CLI version
jf version 2.52.10
Operating system type and version
darwin/arm64 14.4 (23E214)
JFrog Artifactory version
SaaS
JFrog Xray version
SaaS

Hi @StephenWithPH ,
Thank you for reporting this issue.
I created https://github.com/jfrog/jfrog-cli-core/pull/1177 to fix the issue with refreshing the tokens.
As for the error going to stdout, I verified that errors thrown from the usage report are always reported to the debug log that defaults to stderr. Can you make sure that you don't have logs printed to stdout?
Thanks

As for the error going to stdout, I verified that errors thrown from the usage report are always reported to the debug log that defaults to stderr. Can you make sure that you don't have logs printed to stdout?

I likely failed to unset some redirection while I was debugging / repro'ing to open the issue. I apologize.


Discussion on Date format.

I checked out documentation and It looks like Datepicker take moment object.
I do not understand why Date picker of this world cannot adopt the world most simple and unconfusing format.
YYYY-MM-DD.
As per my experience, IMHO, A date picker must communicate in YYYY-MM-DD format which is most simple and minimum sufficient.

Hello! If you are talking about the display format, currently the date picker defaults to moment's L format which changes from locale to locale. However, https://github.com/airbnb/react-dates/pull/52 should allow you to specify YYYY-MM-DD and other formats as you like! Will that help?
Currently, regardless of whatever format is displayed, you should be able to type in YYYY-MM-DD format.

I think this is ultimately a duplicate of https://github.com/airbnb/react-dates/issues/26, but I'll wait for confirmation from @nsisodiya before closing this issue. :)

@majapw No i am not talking about Display format. Display format is a different topic.
I am concern about Input/Output exchange format.
Display format should be User choice.
IMHO - Date or more precisely Day (appx 24 hour duration) has nothing to do with timezone or time component. YYYY-MM-DD format is sufficient for Input, output.
Let me give example -
The most simple Date Picker is 3 dropdowns, (Year, Month, Day). No Here there is no time or timezone notion associated here. YYYY-MM-DD is sufficient to go inside and come outside in these 3 dropdowns.
Your date picker is another UI representation of simple 3 dropdown based date picker.

So we're using moment objects as our output which should be very easily converted to ISO formats. Can you describe the exact issue you're dealing with and why it is causing you some difficulty (slash is something that we can fix in the internals)?

@majapw - I know we can convert to Moment object to ISO string format.
Same line, I want to say, just use ISO format, receiver will have having 2 options,

they can work on these strings directly
they can use Date or moment lib to do operation on these string.

Why be opinionated on output format and defining moment objects are standard way for communication.
If we send these output to server, it will be JSONfied string something like 2016-02-23T10:00:00.000Z. this is UTC timestamp of first millisecond of 2016-02-23. working with UTC string can create problem if sender generate these string with T1 as timezone and receiver try to understand them as T2 timezone.
My only point it - Output format be just YYYY-MM-DD format and let user decide how he wanna deal with the output.
Same true with input too.

@nsisodiya in either case, you can go from one format to the other. The question is, is the more common case "you want a powerful/flexible moment object, that you can use to produce a multitude of formats including YYYY-MM-DD", or "you want a YYYY-MM-DD string"?
In either case you don't want to blindly JSON.stringify it and send it to the server, so in every case you may need to do your own formatting. It seems far more preferable to use a moment object to do that formatting, rather than to force every user of the library to either reinvent the wheel, or convert to moment themselves?

I think @ljharb put it eloquently and returning a moment object gives a lot of flexibility to the consumer. You can still convert it to ISO format at will so I think that the current implementation addresses your concerns.

I think I may be caught between these two schools of thought and I'd love some assistance. There are cases in which I'd like to able to display a format (like L format) and have the actual input value represented as another (like YYYY-MM-DD). I don't have a layer between the form being submitted and sent to the server to do my own formatting and that seems to be where I need to address this concern but I did want to reach out to see if I'm missing something first. Thanks for everything, loving this component!

    Start Date
    <input type="text" class="DateInput__input" id="startDate" name="startDate" value="01-07-2017" placeholder="Start Date" autocomplete="off" maxlength="10">

01-07-2017

    Start Date
    <input type="text" class="DateInput__input" id="startDate" name="startDate" value="2017-07-01" placeholder="Start Date" autocomplete="off" maxlength="10">

01-07-2017

Huh, so right now, we do require you to have a layer that interrupts the submit and formats the date accordingly if you want to submit something different. ... but also I'm a strong believer in that everything sent to the server should be in ISO format regardless of what is being displayed, so maybe it would make sense to default the actual input value attribute to be in YYYY-MM-DD format.

Gotcha - that would suit my needs perfectly! But actually as I say that now there's really no reason to not have that layer. I'm using this component as a drop-in to an otherwise static form so I've got no other need for that layer. Perhaps that's a sign I need to expand the entire form to use react components... Anyway - yes this component as it stands sort of relies on that layer to be predictable if you want to use the L format which may or may not suit everyone (from my biased view).

Nah, I think you are right that the default value should be in a standardized format. Pretty much, 90% of my woes at Airbnb in the past have stemmed from using internationalized dates on the server-side/in urls/etc.
I've created https://github.com/airbnb/react-dates/pull/229 to address this issue.

Excellent, thanks for this!