Use docker images in testing

Tries using dockerfile for tests. Currently uses latest because we don't have tagged versions.

The test action takes only 5-6 mins now (compared to 15) because it doesn't have to rebuild all dependencies which is cool.

This should be good to merge but I want to pass this by you first because we are pulling the latest docker image which I don't think will cause issues as filament is rebuilt but I'm not sure.

Are we building latest on every commit to main? If so, there is a problem: depending on when a PR is opened, it might be tested with the wrong latest (if the previous commit to main hasn’t completed the build yet).
We could do something to rebuild the docker image for PRs that touch the dockerfile and otherwise use latest but that requires some GH actions hacking.

Yeah, this solution would definitely break on branches that mess with the dockerfile and need those changes to pass tests, which was why I wanted to pass it by you first.

 Then, the run would only trigger if the cache doesn't contain an image for a particular hash.

 My thought was to just use git fetch to check whether the dockerfile had been modified but this sounds better honestly...

@rachitnigam Probably a severely overengineered solution but this should work. I've updated the PR description to describe what it does.

@sampsyo might enjoy the hackery in this! LGTM!


Suggestion on how to use \only or \onslide for annotated equations

Thank you so much for these examples that I find really clear, and beautifully designed.
I was wondering if you had any suggestions on how to make each annotation appear one-by-one in Beamer, using for example the \only or \onslide commands.
Of course one way is to copy-paste the equation in different \only blocks, but I was wondering if you had thought of something more robust.
EDIT
I just want to clarify that for the tikzfigure it's relatively obvious how to do it, it's more for the highlight part that I am not sure how to proceed efficiently.

I haven't explored this option, sorry. Hopefully someone else will have an idea on how to do it.


(A11y severity 2) Eliminate repetition in activity stream (screen readers)

Throughout the recent activities page, content contains <time> elements that notify the user of how long ago an item was added to the activity stream (e.g., ). Every minute these elements update themselves and then are read by screen reader users. For example, a user who does nothing on the page and has nothing shared or added to their activity stream will hear something like this every minute:
"13 minutes ago, 7 days ago, 14 minutes ago, 13 minutes ago, 34 minutes ago, 5 days ago, 7 days ago, 7 days ago, 7 days ago 7 days ago, 7 days ago, 7 days ago, 10 days ago, 7 days ago, 8 days ago, 8 days ago"
While the reason why screen readers continually read this information is unclear, it should be resolved by giving the <time> elements the ARIA attribute of aria-live="off" or by using a <div> instead of <time>.

ready for @nicolaasmatthijs review

Finished review. Back to @sathomas for follow-up

Definitely a better approach. Back to @nicolaasmatthijs

Looks good. Merged.


How can I use my local NTP Server with Internet connection?

I have a local NTP Server with Internet connection on my Network. The ESP8266, without Internet connection, is also on the same Network.
How can the ESP8266 get the right Timezone from the local NTP Server?

I have a local NTP Server with Internet connection in my Network, The ESP8266, without Internet connection, is on the same Network.
How can the ESP8266 get the right Timezone from the local NTP Server?

The timezone information does not come from the NTP server but from my own server (timezoned.rop.nl)
It's probably best if you find your timezone's POSIX information (the information that says what the timezone is called, what the offset to UTC is, and when the Daylight Savigs time starts and stops) and then use this information to set the timezone. If you say what timezone you are in I can give you the string.

I'm in UTC+1.
So I just have to set the Timezone what I will get from you and then I should get the right time always from my own NTP Server?

I'm in Italy.

In that case, try something like:
Timezone Italy;
Italy.setPosix("CET-1CEST,M3.5.0,M10.5.0/3");
Serial.println(Italy.dateTime());

This way your timezone has the correct name (CET or CEST) and switches to DST at the right date (last Sundays of March and October). Remember to change this if and when DST is abolished in a few years though...

But how can I retirieve then the Time from my local NTP Server after I set the Timezone?

https://github.com/ropg/ezTime#setserver-and-setinterval
void setServer(String ntp_server = NTP_SERVER);
void setInterval(uint16_t seconds = 0);

By default, ezTime is set to poll pool.ntp.org about every 30 minutes. These defaults should work for most people, but you can change them by specifying a new server with setServer or a new interval (in seconds) with setInterval. If you call setInterval with an interval of 0 seconds or call it as setInterval(), no more NTP queries will be made.

Now it works, but how can I get the local Time and not the UTC Time?


Use Eigen:Ref and Eigen::SparseCompressedBased object

With this PR:

the methods setUpperBound setLowerBound setGradient updateUpperBound updateLowerBound updateGradient are no more template functions.
the methods related to the sparse matrices take as imput an Eigen::SparseCompressedBased object instead of Eigen::SparseMatrix.

As side effect now it is possible to pass and Eigen::Map to the function instead of an Eigen::MatrixXd

Related to #17

Given that this changes the API, I think it would be nice to:

Bump the minor version in CMake, so that downstream user can check the version and raise a CMake error (or change the code they are compiling) depending on the version
Document in the README the policy regarding API changes

It would be nice also to release 0.3.0 or 0.3.1 that points to the last commit before this PR, so if there are downstream users targeting the old API, they can just point to the relevant tag.

@traversaro

It would be nice also to release 0.3.0 or 0.3.1 that points to the last commit before this PR, so if there are downstream users targeting the old API, they can just point to the relevant tag.

Regarding the versioning, we should define the mode in which the version is changed. If I do not make a mistake in general when the x.y.z versioning system is used the z number is changed only when some bugs are fixed. On the other hand, when the API changes y should be increased.
@traversaro, are there some guidelines for software versioning in robotology?

I guess here https://github.com/robotology/yarp/blob/master/.github/CONTRIBUTING.md#example there is a good guideline on how to define the version.

I guess here https://github.com/robotology/yarp/blob/master/.github/CONTRIBUTING.md#example there is a good guideline on how to define the version.

Ok so It should be 0.4.0 (since we are introducing new API)

Exactly, YARP versioning scheme is a good model, https://semver.org/ is another commonly used reference.


Optimizing page rendering via hiding or deactivating CodeMirror until interaction

Oringinal title for this issue was: Rendering the styleguide in Chrome is awfully slow (because of CodeMirror)
That's a screenshot of the timeline initial render:

Note that the first render is shown only after 45 seconds. The styleguide has around 40 components.
I looked at the timelines, and from what I understand, CodeMirror somewhat updates the DOM in a way that might change the width of the toplevel container. Or maybe just does some pretty ineffective DOM operations (like mixed read/writes).
Interestingly Firefox doesn't have this problem and shows the whole page after around 8 seconds.

Maybe autogrowing height of CodeMirror is the reason?

What do you expect, putting 40 components on one page.

We can make editors collapsed by default.

It's also possible to activate the editor on click, so the source code will be shown always.

The we’ll have to highlight it and pray that it want jump too much on enabling ;-)

@operatino, it can be fast. Look at https://react-bootstrap.github.io/components.html for example. I do agree that it would be nice to be able to select some component and view it separately, but that's an independent feature request. It should be fast even when they are all displayed on one page.
@sapegin, I think enable-on-click could be a good idea. But maybe there's a simpler solution (e.g. fixing some widths in CSS)? It's strange that Firefox renders the page so quickly.

@mik01aj you're comparing plain CSS bootstrap vs complex single page app with lot's of JS base components on it.
Fixing "some widths in CSS" is just a temp hack. This also limits any client side code features, since if you're already at full capacity, there's no place for adding some more advanced stuff.

It’s fast because they do not show editors by default.
But there are three things we can do:

Make editors collapsible, good to have anyway.
Improve performance, alway good to do.
Activate editors on click, only if there’s an easy way to do it.

@operatino They do exactly the same thing: show bunch of React components on a single page, they just hide editors.

@operatino that's react bootstrap, rendered via JS (the doc page is a huge react component) and all the code examples are editable. It's pretty similar.
The problem here is not JS code, JS is fast (15.4% of the run time), it's the DOM and layout calculations that are so slow (83.5%).

Okay, I've missed that you shown React Bootstrap, but look deers. Every component there is server side rendered, which boosts the performance a lot.
Also, it's still Bootstrap, which is a set of simple components. In a decent project, you get a lot more complex components with more functionality, which again, doesn't scale at all.

@operatino would you mind opening a new ticket for separate-pages-per-component feature?

It’s much bigger feature: grouping components + table of contents + something else :-)

I even have a solution already - https://github.com/sourcejs/sourcejs-react-bundle-example ;)
Which is a higher level wrapper on top of styleguidist. Treat it as an idea for scaling, not the promotal of some specific implementation.

In first React implementation https://github.com/szarouski/sourcejs-react (quite limited)  we also had server side rendering, which I would really like to pair up with styleguidist somewhere in future.

@operatino That would be cool!

@sapegin do we have any decision on this one? If we decide that we should hide CodeMirror initially, i'd rename this issue and close #12 in favour of this one.

Yes, with an option to change default visibility. But I’m not sure about the default value.

I have to admit that styleguidist just currently offer a pretty bad UX just because of this speed issue.
I have "just" 20 components and initial page render takes seconds to load.
Compared to that my real app with 200 instances of components render in 1 or 2 seconds.

@MoOx That’s why we have a “help wanted” label here.

To summarize, we'd like to have

[ ] a new config option, e.g. exampleCodeShown
[ ] that option should be true by default (we can discuss the default, but I think if we want to make it a semver-minor version we should mimic the current behaviour and just focus on performance)
[ ] have the Editor component just syntax-highlight the code in a <pre> when exampleCodeShown: true
[ ] have the Editor  component show a "show code" button when exampleCodeShown: false
[ ] have the  Editor component become a CodeMirror component on first click
[ ] [maybe] we'd like to have also a "hide code" button then too

Is there any quick workaround to remove codemirror (even if that's involved removing the entire code below demo parts). Currently this project is more and more unusable for me, just with 20 components...

You can override the Editor component with and empty div, see the FAQ in Readme.

I successfully used a "pre" tag for the editor, but perfs are still very bad.

That's a surprise to me! Could you send us a screenshot of the timeline?

I tried recording the timeline again, and have seen a nice surprise!

I have 63 components now and the page loads in around 8 seconds. But around 60% of this time is CodeMirror initialization (the highlighted frame triggers CodeMirror.fromTextArea for all code examples), so there's still much room for improvement!

Shall we close this, given https://github.com/sapegin/react-styleguidist/issues/150 ?

Yes :)


RouterProvider's useHref prop incompatible with react-compiler ESLint plugin

Provide a general summary of the issue here
Copying the example from https://react-spectrum.adobe.com/react-aria/routing.html#routerprovider gives Hooks may not be referenced as normal values, they must be called. See https://react.dev/reference/rules/react-calls-components-and-hooks#never-pass-around-hooks-as-regular-values from the ESLint plugin
🤔 Expected Behavior?
API of the context provider should not cause ESLint violation
😯 Current Behavior
It does
💁 Possible Solution
Rename the prop?
🔦 Context
https://react.dev/blog/2024/10/21/react-compiler-beta-release

We recommend everyone use the React Compiler linter today

🖥 Steps to Reproduce
The starters don't have ESLint set up. But I don't think it's needed?
Version
3.25.3
What browsers are you seeing the problem on?
Other
If other, please specify.
N/A
What operating system are you using?
N/A
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Discussing with the team.
In the meantime, this is a contested issue trying to get at the actual concerns in React, see https://github.com/facebook/react/issues/22254


Upload one at a time

Only allow one upload of a given file type at a time, to avoid multiple ones overwriting the same file and/or leaving temporary files on the server.

I've replaced my upload.sh and test tonight. Will approve tomorrow.

@thomasjacquin    If you set your delay to 1 millisecond during the day, it might be fast enough to attempt multiple simultaneous uploads.  If there's already one going on, the current one will output a message to the log and then exit.

@EricClaeys My wifi connection is slow enough that multiple simultaneous uploads happen quite often. Maybe that's the reason I have partial files on my FTP that I have to clean once in a while. I know you fixed some code dealing about that problem recently so I will keep an eye one it.

@thomasjacquin. Was it able to catch any simultaneous uploads?


Add config auto_generate_type

I added auto_generate_type to config.
When auto_generate_type = 'md' , generate a markdown file.
When auto_generate_type = 'csv' , generate a csv file.

Pull Request Test Coverage Report for Build 18

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

Totals

Change from base Build 17:
0.0%

Covered Lines:
14

Relevant Lines:
56

💛  - Coveralls

looks good!


Option to hide elements during readPixels

When we perform a locate we find all hits within the pick aperture and order them by priority. The user can cycle through the hits using the reset (right mouse) button. Sometimes, though, a hit entirely obscures other potential hits behind it, forcing the user to, e.g., switch to wireframe or adjust the camera to locate an element they know is present. @bbastings thinks we can do better.
Add to Viewport.readPixels an optional set of Ids of elements to ignore during pick so that when cycling, the previously-processed hits will not be drawn, revealing additional hits they may have obscured. As soon as readPixels completes, the ignored elements' visibility is reset so they will draw normally again.
Viewport.readPixels already takes a long list of arguments, several of which are optional and a few others of which should be. I added an overload accepting a single ReadPixelsArgs object encapsulating these plus the new option.
I added a new OvrFlags.InvisibleDuringPick that tells the vertex shader to discard the vertex. We already have two flags - NonLocatable and Visibility - that basically do the same thing, but they can be applied outside of readPixels (e.g., via a FeatureOverrideProvider, subcategory overrides, BatchOptions, etc). The new flag is strictly for readPixels, so we can very efficiently toggle it on and off without affecting or recomputing the less transient symbology overrides.

@bbastings do you want to push your locate changes to this branch?

@bbastings do you want to push your locate changes to this branch?

Yeah, can do...just need to fix up my readPixels to use the arg version now...

@nick4598 this integration test has been flaking out recently.

  1) CloudSqlite
       should LogLevel.Trace set LogMask to ALL:
     AssertError: expected _logInfo to not have been called but was called twice
    _logInfo('CloudSqlite', '19:03:09.680 | container test1 enters DELETE state', undefined) at logInfo (/home/vsts/work/1/s/core/bentley/src/Logger.ts:287:14)
    _logInfo('CloudSqlite', '19:03:09.680 | container test1 leaves DELETE state', undefined) at logInfo (/home/vsts/work/1/s/core/bentley/src/Logger.ts:287:14)
      at Object.fail (/home/vsts/work/1/s/common/temp/node_modules/.pnpm/sinon@17.0.2/node_modules/sinon/lib/sinon/assert.js:60:27)
      at failAssertion (/home/vsts/work/1/s/common/temp/node_modules/.pnpm/sinon@17.0.2/node_modules/sinon/lib/sinon/assert.js:203:20)
      at Object.assert.<computed> [as notCalled] (/home/vsts/work/1/s/common/temp/node_modules/.pnpm/sinon@17.0.2/node_modules/sinon/lib/sinon/assert.js:232:17)
      at Context.<anonymous> (src/integration/CloudSqlite.test.ts:228:18)

Thanks ill take a look at that next week

FYI I merged this PR which I think should help: https://github.com/iTwin/itwinjs-core/pull/7185
Let me know if this test continues to be a problem


Injection data: err=failed parsing generated injected YAML - istio 1.3.3

Hey guys,
We're migrating from istio 1.1.7 -> 1.3.3
For unknown reasons injector doesn't work as expected and throwing this error:
2019-10-21T03:35:04.108564Z	error	Injection data: err=failed parsing generated injected YAML (check Istio sidecar injector configuration): error converting YAML to JSON: yaml: line 3: could not find expected ':' spec=

Bug description
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Istio should read template and inject a sidecar
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version)
How was Istio installed?
helm charts
Environment where bug was observed (cloud vendor, OS, etc)
template:
2019-10-21T03:29:56.216656Z	info	Template: |
  initContainers:
  [[ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) "NONE" ]]
  - name: istio-init
    image: "istio/proxy_init:1.3.3"
    args:
    - "-p"
    - [[ .MeshConfig.ProxyListenPort ]]
    - "-u"
    - 1337
    - "-m"
    - [[ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode ]]
    - "-i"
    - "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges`  "*"  ]]"
    - "-x"
    - "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges`  ""  ]]"
    - "-b"
    - "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) ]]"
    - "-d"
    - "[[ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port`  15020 ) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts`  "" ) ]]"
    [[ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -]]
    - "-k"
    - "[[ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` ]]"
    [[ end -]]
    imagePullPolicy: IfNotPresent
    resources:
      requests:
        cpu: 10m
        memory: 10Mi
      limits:
        cpu: 100m
        memory: 50Mi
    securityContext:
      runAsUser: 0
      runAsNonRoot: false
      capabilities:
        add:
        - NET_ADMIN
    restartPolicy: Always
  [[ end -]]
  containers:
  - name: istio-proxy
    image: [[ annotation .ObjectMeta `sidecar.istio.io/proxyImage`  "istio/proxyv2:1.3.3"  ]]
    ports:
    - containerPort: 15090
      protocol: TCP
      name: http-envoy-prom
    args:
    - proxy
    - sidecar
    - --domain
    - $(POD_NAMESPACE).svc.cluster.local
    - --configPath
    - [[ .ProxyConfig.ConfigPath ]]
    - --binaryPath
    - [[ .ProxyConfig.BinaryPath ]]
    - --serviceCluster
    [[ if ne "" (index .ObjectMeta.Labels "app") -]]
    - [[ index .ObjectMeta.Labels "app" ]].$(POD_NAMESPACE)
    [[ else -]]
    - [[ valueOrDefault .DeploymentMeta.Name "istio-proxy" ]].[[ valueOrDefault .DeploymentMeta.Namespace "default" ]]
    [[ end -]]
    - --drainDuration
    - [[ formatDuration .ProxyConfig.DrainDuration ]]
    - --parentShutdownDuration
    - [[ formatDuration .ProxyConfig.ParentShutdownDuration ]]
    - --discoveryAddress
    - [[ annotation .ObjectMeta `sidecar.istio.io/discoveryAddress` .ProxyConfig.DiscoveryAddress ]]
    - --zipkinAddress
    - [[ .ProxyConfig.GetTracing.GetZipkin.GetAddress ]]
    - --connectTimeout
    - [[ formatDuration .ProxyConfig.ConnectTimeout ]]
    - --proxyAdminPort
    - [[ .ProxyConfig.ProxyAdminPort ]]
    [[ if gt .ProxyConfig.Concurrency 0 -]]
    - --concurrency
    - [[ .ProxyConfig.Concurrency ]]
    [[ end -]]
    - --controlPlaneAuthPolicy
    - [[ annotation .ObjectMeta `sidecar.istio.io/controlPlaneAuthPolicy` .ProxyConfig.ControlPlaneAuthPolicy ]]
  [[- if (ne (annotation .ObjectMeta `status.sidecar.istio.io/port`  15020 ) "0") ]]
    - --statusPort
    - [[ annotation .ObjectMeta `status.sidecar.istio.io/port`  15020  ]]
    - --applicationPorts
    - "[[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/applicationPorts` (applicationPorts .Spec.Containers) ]]"
  [[- end ]]
    env:
    - name: POD_NAME
      valueFrom:
        fieldRef:
          fieldPath: metadata.name
    - name: POD_NAMESPACE
      valueFrom:
        fieldRef:
          fieldPath: metadata.namespace
    - name: INSTANCE_IP
      valueFrom:
        fieldRef:
          fieldPath: status.podIP

    - name: ISTIO_META_POD_NAME
      valueFrom:
        fieldRef:
          fieldPath: metadata.name
    - name: ISTIO_META_CONFIG_NAMESPACE
      valueFrom:
        fieldRef:
          fieldPath: metadata.namespace
    - name: ISTIO_META_INTERCEPTION_MODE
      value: [[ or (index .ObjectMeta.Annotations "sidecar.istio.io/interceptionMode") .ProxyConfig.InterceptionMode.String ]]
    [[ if .ObjectMeta.Annotations ]]
    - name: ISTIO_METAJSON_ANNOTATIONS
      value: |
             [[ toJSON .ObjectMeta.Annotations ]]
    [[ end ]]
    [[ if .ObjectMeta.Labels ]]
    - name: ISTIO_METAJSON_LABELS
      value: |
             [[ toJSON .ObjectMeta.Labels ]]
    [[ end ]]
    [[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]]
    - name: ISTIO_BOOTSTRAP_OVERRIDE
      value: "/etc/istio/custom-bootstrap/custom_bootstrap.json"
    [[- end ]]
    imagePullPolicy: IfNotPresent
    [[ if (ne (annotation .ObjectMeta `status.sidecar.istio.io/port`  15020 ) "0") ]]
    readinessProbe:
      httpGet:
        path: /healthz/ready
        port: [[ annotation .ObjectMeta `status.sidecar.istio.io/port`  15020  ]]
      initialDelaySeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds`  1  ]]
      periodSeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds`  2  ]]
      failureThreshold: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold`  30  ]]
    [[ end -]]securityContext:
      readOnlyRootFilesystem: true
      [[ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) "TPROXY" -]]
      capabilities:
        add:
        - NET_ADMIN
      runAsGroup: 1337
      [[ else -]]

      runAsUser: 1337
      [[- end ]]
    resources:
      [[ if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -]]
      requests:
        [[ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -]]
        cpu: "[[ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` ]]"
        [[ end ]]
        [[ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -]]
        memory: "[[ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` ]]"
        [[ end ]]
    [[ else -]]
      limits:
        cpu: 100m
        memory: 128Mi
      requests:
        cpu: 100m
        memory: 128Mi

    [[ end -]]
    volumeMounts:
    [[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]]
    - mountPath: /etc/istio/custom-bootstrap
      name: custom-bootstrap-volume
    [[- end ]]
    - mountPath: /etc/istio/proxy
      name: istio-envoy
    - mountPath: /var/run/sds/uds_path
      name: sds-uds-path
      readOnly: true
      [[- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` ]]
      [[ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) ]]
    - name: "[[ $index ]]"
      [[ toYaml $value | indent 4 ]]
      [[ end ]]
      [[- end ]]
  volumes:
  [[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]]
  - name: custom-bootstrap-volume
    configMap:
      name: [[ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` `` ]]
  [[- end ]]
  - emptyDir:
      medium: Memory
    name: istio-envoy
  - name: sds-uds-path
    hostPath:
      path: /var/run/sds/uds_path
      type: Socket

The template is the istio 1.1 template, but the injector deployment is 1.3? They are not compatible. When you upgraded it seems like the template didn't upgrade somehow?

We had a customized template. I merged the one from your repo and it seems to be working now, aside istio-init cannot start up:
kubelet, minikube  Error: failed to start container "istio-init": Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"istio-iptables\": executable file not found in $PATH": unknown

that's probably the template from the master branch which is not compatible with 1.3 either. I would recommend you branch off the 1.3 template (release-1.3 branch, or download the release

Sorry for changing things so often, we don't generally treat the template as an API with compatibility guarantees

Merged from v1.3.3 tag -
Not I see another error in istio-proxy sidecar.
2019-10-21T05:45:29.949885Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:31.949740Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:33.949859Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:35.950067Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:37.949859Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:39.949879Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused
2019-10-21T05:45:41.950660Z	info	Envoy proxy is NOT ready: failed retrieving Envoy stats: Get http://<IP_ADDRESS>:15000/stats?usedonly: dial tcp <IP_ADDRESS>:15000: connect: connection refused

Also,
It's weird but after sidecard is added actual pod cannot communicate outside of kubernetes cluster.
Anyway, is there a way to debug that Envoy proxy error?
Thank you!

Sounds like Envoy is not starting up properly. I would go in the container and ps aux and netstat -nl. You should see listener on 15000 and envoy process running. If not, there is probably some error at the top of the logs

Yeah, that was fixed, thanks.
After I enabled mtls: true health checks start failing:
  Warning  Unhealthy  20s                kubelet, minikube  Liveness probe failed: Get http://<IP_ADDRESS>:8081/status: read tcp <IP_ADDRESS>:50104-><IP_ADDRESS>:8081: read: connection reset by peer
  Normal   Killing    20s                kubelet, minikube  Container id failed liveness probe, will be restarted
  Warning  Unhealthy  6s                 kubelet, minikube  Readiness probe failed: Get http://<IP_ADDRESS>:8081/status: read tcp <IP_ADDRESS>:50266-><IP_ADDRESS>:8081: read: connection reset by peer

I do have rewriteAppHTTPProbe = true in my config
  mtls:
    enabled: true
    rewriteAppHTTPProbe: true

Is there a way to make it working with mtls enabled?
Thanks!

Okay, I can confirm that once mtls is enabled sidecar-container cannot start onvoy and health checks fail:
2019-10-21T19:27:53.847906Z	info	Envoy command: [-c /etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster id.id-test --service-node sidecar~<IP_ADDRESS>~id-676f5786f9-r95m5.id-test~id-test.svc.cluster.local --max-obj-name-len 189 --local-address-ip-version v4 --allow-unknown-fields -l warning --component-log-level misc:error --concurrency 2]
[2019-10-21 19:27:53.861][152][warning][config] [external/envoy/source/server/options_impl.cc:193] --allow-unknown-fields is deprecated, use --allow-unknown-static-fields instead.
[2019-10-21 19:27:53.960][152][warning][config] [bazel-out/k8-opt/bin/external/envoy/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:87] gRPC config stream closed: 14, no healthy upstream
[2019-10-21 19:27:53.960][152][warning][config] [bazel-out/k8-opt/bin/external/envoy/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:50] Unable to establish new stream
[2019-10-21 19:27:54.556][160][critical][main] [external/envoy/source/exe/terminate_handler.cc:13] std::terminate called! (possible uncaught exception, see trace)
[2019-10-21 19:27:54.556][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:69] Backtrace (use tools/stack_decode.py to get line numbers):
2019-10-21T19:27:54.553929Z	info	Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 1 successful, 0 rejected; lds updates: 0 successful, 0 rejected
[2019-10-21 19:27:54.557][164][critical][main] [external/envoy/source/exe/terminate_handler.cc:13] std::terminate called! (possible uncaught exception, see trace)
[2019-10-21 19:27:54.557][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:69] Backtrace (use tools/stack_decode.py to get line numbers):
[2019-10-21 19:27:54.561][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #0: Envoy::TerminateHandler::logOnTerminate()::$_0::operator()() [0x1fe6a38]
[2019-10-21 19:27:54.562][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #0: Envoy::TerminateHandler::logOnTerminate()::$_0::operator()() [0x1fe6a38]
[2019-10-21 19:27:54.567][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #1: [0x1fe6949]
[2019-10-21 19:27:54.567][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #1: [0x1fe6949]
[2019-10-21 19:27:54.572][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #2: std::__terminate() [0x2207733]
[2019-10-21 19:27:54.572][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #2: std::__terminate() [0x2207733]
[2019-10-21 19:27:54.577][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #3: Envoy::Config::DataSource::read() [0x1b291d9]
[2019-10-21 19:27:54.577][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #3: Envoy::Config::DataSource::read() [0x1b291d9]
[2019-10-21 19:27:54.581][164][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #4: Envoy::Extensions::GrpcCredentials::FileBasedMetadata::FileBasedMetadataAuthenticator::GetMetadata() [0xcc6930]
[2019-10-21 19:27:54.582][160][critical][backtrace] [bazel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #4: Envoy::Extensions::GrpcCredentials::FileBasedMetadata::FileBasedMetadataAuthenticator::GetMetadata() [0xcc6930]

Okay, this's related to some changes in 1.3 version of istio,
Warning  FailedMount  1s (x15 over 14m)  kubelet, minikube  MountVolume.SetUp failed for volume "istio-token" : failed to fetch token: the server could not find the requested resource

I'm running k8s 1.14.3. Is there any documentation how to set this up?
https://istio.io/blog/2019/trustworthy-jwt-sds/
Thanks

There is some more examples and commentary on how to set that up in https://github.com/istio/istio/issues/18221


failing docker tests locally on macOS (case 2)

Bug description

With the latest versions of macOS (Catalina 10.15.4) and Docker CE (<IP_ADDRESS>), many of the tests fail to run locally. (This issue was split from #881 after the approach in #882 did not seem to apply to these failures.)
Expected behaviour

Running the test suite locally on a released version of repo2docker should have no errors or failures.
Actual behaviour

A number of tests which require running docker fail. There appear to be a number of different failure messages, many appear to be related to failures using conda or pip to install packages inside the docker container during self.build() invocations.
How to reproduce

On a macOS box, checkout a released version of repo2docker
Setup the development environment.
invoke pytest tests/
observe failures.

Your personal set up

OS: macOS
Docker version: CE <IP_ADDRESS>
repo2docker version: 0.11.4

This one is proving a bit challenging. I have a large list of failing tests (gist forthcoming), and I'm starting at the top with tests/base/node10/verify, which passes on ubuntu, but fails on macOS.
repo2docker has some custom test collectors to work with pytest, and tests/base/node10 is one of the special test cases it supports. That makes debugging a bit more challenging for pytest-users-but-not-gurus. In this case, the actual test ends up invoking repo2docker in the tests/base/node10 directory. Of course, there is no real repo there, this is some sort of "edge case" for repo2docker.
I then tried running repo2docker on both ubuntu and macOS (Catalina) in empty directories, and noticed the same behavior (works on ubuntu, doesn't on macOS). Then I happened to notice the docker image on ubunto was 61GB, and the max image size I had configured on macOS was 51GB. Bumping the macOS image size to 64GB fixed that test. (Configuring a specific volume size is not needed on linux systems.)
Moving on to the next failing tests, but I'll try to see if there's a nicer way to detect and report this issue.

Making an image of 61GB seems like a (serious) bug :-/ Just to double check, you cd tests/base/node10 and then ran repo2docker .?

Just to double check, you cd tests/base/node10 and then ran repo2docker .?

Correct. And I got the 61GB number from doing that on my ubuntu (wsl2) system, where the test executes successfully.
After the test ran successfully, I re-ran the image via:
docker --rm -it {container_id} /bin/bash
df -h /

And using the number reported as "used".

Working on test tests/unit/test_subdir.py, which fails at step:
Step 41/51 : RUN ${KERNEL_PYTHON_PREFIX}/bin/pip install --no-cache-dir -r "requirements.txt"

with "No space on device". Running bash in the prior image yields:
$ docker run --rm -it 7d5ca7f83331 /bin/bash
hal@e06a95d3d109:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
overlay          63G   62G     0 100% /

I'll try upping the image size significantly and re-running to see how many tests are disk space limited.

woot!  Those 5 failures disappear with the installation of git-lfs, called out in #888 (as I think it will be a different documentation fix).
So: current status is complete green run
=== 297 passed in 1904.19 seconds ====

with two changes:

bump docker image size to 128GB
install git lfs on host (development) machine.

[moving followup discussion from merged #890]
Originally posted by @betatim in https://github.com/jupyter/repo2docker/pull/890#issuecomment-629216485

I am on OSX and I don't think I've had to change the disk size of my docker VM. I wonder what it could be, I have no good idea though or place to start digging

What is the disk size allocated on your machine? If it isn't greater than 64 GB by some amount, then my analysis is wrong. There would be some definite debugging to do then 😀

Docker says "64 GB (61.9 GB used)".
When you run id in a terminal, what does it say? We had reports a good while back that some people (on OSX) basically couldn't run repo2docker locally because it would use up "all space" and/or take a very long time. I think we narrowed it down to this being people who have a laptop which is somehow centrally managed. A indication for that was that they had a (very) large user ID. Instead of something in the hundreds or so (I have 501). If that is the case for you too, that might explain why you need to grow the disk space so much. Doesn't yet explain why for users with a managed laptop this is the case.

That bug should've been fixed by https://github.com/jupyter/repo2docker/pull/804

TIL docker preferences tells you the "max used" in the GUI. I have "128 GB (76.6 GB used)".
That's only ~16GB difference, which is almost noise. That could be a side effect of some other Docker setting I have - perhaps inherited from years ago.
@betatim - I see several ways to proceed:

continue investigation for the ~16GB difference
tweak the docs to say "80GB" (rather than 128), and add "your mileage may vary" language.
leave as is (aka "perfection is the enemy of done")

Your thoughts?

(fwiw, my mac is not centrally managed, and my uid is also 501.)

I vote for "leave as is".


Nlog archiving

Hi,
this is my nlog file setting
  <target name="file" xsi:type="File"
        layout="${longdate} | ${level:uppercase=true} | ${message} ${newline}
        ${event-properties:item=prop}"
		archiveAboveSize="4096"
        keepFileOpen="true"
        encoding="utf-8" />

and code behind
string filename = "file.log";
var fileTarget = (FileTarget)config.FindTargetByName("file");
fileTarget.FileName = Path.Combine(folder, filename);
fileTarget.ArchiveFileName = "file.{##}.log";

What im getting:
Only one log file which later keeps on increasing in size as i use my app
what im expecting is:
create the new log as per said name and number
Am i making a mistake? Help me out here thanks

archiveAboveSize=4096, is 4KB size for a file. How big is the current file now?
please note, if you are using autoreload=true in the XML, then you need to re-apply the code changes after each reload

Thank you
its working the problem was wrong path file

I'm glad is has been resolved 👍


Remove Display Version from Azul.Zulu.11.JDK

Newer versions have the proper display version. Since the ISV has had the issue fixed for some time, it seems a better course of action to remove the DisplayVersion from the relatively few manifests that have it rather than updating the manifests without it.

microsoft/winget-cli#4459

Microsoft Reviewers: Open in CodeFlow

Intentionally didn't bump version

URL: https://cdn.azul.com/zulu/bin/zulu11.39.15-ca-jdk11.0.7-win_x64.msi
OK
(Automated message - build 882)


Mac OS X install error

I'm trying to install using the instructions in the README (the consensus seems to be that this is the way to go rather than use the included macos-install.sh). I'm running Mac OS X High Sierra. Everything works up to this step:
stack install gtk2hs-buildtools
Which gives the error message:
Downloaded lts-10.8 build plan.
AesonException "Error in $.packages.cassava.constraints.flags['bytestring--lt-0_10_4']: Invalid flag name: \"bytestring--lt-0_10_4\""

I've re-installed Stack following those instructions, and after continuing the IHaskell installation process I get:
> stack install --fast
Configuring magic-1.1...
Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-8.2.2: Missing dependency on a foreign
library:
* Missing C library: magic
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.

That's odd, that should have been provided by libmagic. Maybe there's a different package you have to install instead? I don't have access to a Mac to test but if you get this working let me know how and I will update the instructions if needed.

Alternatively, maybe the presence of libmagic in a nonstandard location is to blame. Can you try
stack install --fast --extra-include-dirs=$(brew --prefix)/include --extra-lib-dirs=$(brew --prefix)/lib

and see if that gets you any further?

I tried that, but it gives the same error message.


Disable empty username

Fixed the issue: #151
Gives error when username is empty

Thank You for the contribution ^_^


chore: Remove my bids flag

This PR removes the feature flag for the my bids tab, so that we can use an echo flag instead (added here)[https://github.com/artsy/echo/pull/63]
May need to hold off on merging until the echo PR is merged

I think this is likely because echo hasn't been deployed yet.  I just shipped that out, I'll follow up once it's done.


[4.x] Refactor cached tenant resolvers

Still draft, but I was working on some refactoring that makes it easier to swap implementations in user land. Next to that, using the service container and less static properties allows us to work towards supporting Octane.
This PR tries to refactor the CachedTenantResolvers with a decorator pattern. The three implementations of TenantResolver no longer know about caching at all. Instead, in the service provider we create the TenantResolvers.
Also added a TenantRepository interface which makes testing the tenant resolvers in isolation a bit easier.
Let me know what you think, I'm happy to do some refactoring work!
To do:

[ ] Make invalidating cache work again.
[ ] Find a solution for DomainTenantResolver::$currentDomain, should not be static.
[ ] Cleanup TenantResolver creation in service provider.

Could you add a bit more description to the PR explaining the changes? It seems that there's a lot of OOP complexity introduced, so there should be a good reason for that.

makes it easier to swap implementations in user land

Could you provide some real use cases? If you want to customize how tenants are identified, the absolute easiest way to do that is to just write a simple middleware class. The only reason why we have the resolvers is to separate that logic from the middleware and make it more reusable, but if you want to do anything custom, the easiest approach is to just use your own middleware. I think that comes with the lowest complexity.

less static properties allows us to work towards supporting Octane

I don't think this makes a difference here? The static properties are for "class config", I don't think there are use cases for changing them during runtime. Therefore the data is not request-specific and doesn't cause any issues when using Octane.

Also added a TenantRepository interface which makes testing the tenant resolvers in isolation a bit easier

Does the reduced complexity in tests significantly offset the introduced complexity in the package code?

I looked at the code again and I don't think this PR is worth pursuing. A lot of the added abstractions actually introduce limitations. For instance, the tenant repository is coupled with the concept of domains. The IlluminateTenantRepository is coupled with the specific implementation of domains. And I generally don't see the point of wrapping models in Repository abstractions.
The tests are very low level which is the opposite of what we're going for. We write tests that work similarly as our users' applications. There's a lot of container logic and mocks in the tests which doesn't actually test the logic in a holistic way, it just makes assertions that your abstractions work a certain way. E.g. what you wrote here:

added a TenantRepository interface which makes testing the tenant resolvers in isolation a bit easier

isn't what we're aiming for. The package changes a lot of things about how Laravel works, so we want to test things in a complete way, not in isolation. And we definitely don't want to add more abstractions to be able to test something in isolation.
The bindings added in TenancyServiceProvider are long and repetitive. It just seems like an OOP overkill implementation with little actual gain.
Regarding the PR description and what @rovansteen wrote, I still don't see how this improves testability or the ability to do custom things easily in any significant way. If anything, I feel that this imposes a large OOP burden on anyone who wants to customize how the package works in their app.
I appreciate the effort but don't think this is worth introducing in the package.

@stancl I understand that the package is very intertwined with how Laravel works but there is an argument to be made for the repositories, not per se for unit tests but to test one part of the application on it's own. In most applications the majority of the code you write will be related to a tenant but to test that code you'll need two databases: the central one and the tenant one. Having a repository for the "central" models allow you to swap them out for fake ones so you'll only need the tenant database and not the central one. This will also unlock the usage of parallel testing which is otherwise not possible since it will assume one database per test.

Having a repository for the "central" models allow you to swap them out for fake ones so you'll only need the tenant database and not the central one. This will also unlock the usage of parallel testing

I'd need to see a full example to consider this.


ArgumentNullException thrown in DefaultHtmlGenerator.GetCurrentValues()

When the model contains a collection of enum values and the view uses @Html.ListBox() for the property, GetCurrentValues() will throw an ArgumentNullException. Collections of enum values may be unusual but should be correctly supported.
The root cause is twofold: GetCurrentValues() determines the ModelExplorer for the property but uses that directly rather than the ModelMetadata for the element type. And the method assumes enumNames (from that ModelMetadata / ModelExplorer) will be non-null when a raw value is an enum.
The problem is a bit more general because it's possible to place enum values in ViewDataDictionary though the model is (say) an int. But that's much less likely than the collection case.

Self-assigning because this is also mixed into the #1485 / #1487 / #2662 mess.

3f6ab3b


Support Date encoding in msgpack

Dates are ubiquitous, would be great to be able to transfer them.

Currently dates are not supported, an error gets thrown.

Dates would get encoded/decoded just like the rest of supported datatypes.

For example:
https://www.npmjs.com/package/@msgpack/msgpack
supports encoding of dates.

If you specifically mean for msgpack, you should add it to the title for clarity.
On another note, dates are supported in @std/cbor, but I don't know if that's useful in your instance.

Thanks for noticing, updated the title.
Nice, taking a look at @std/cbor


Fix concurrent memoization of zero-arg methods multiple values

When two threads concurrently call a zero-arg method which is in
the unmemoized state, they can return two different results.
For example, this could occur if we are memoizing:

database query result
filesystem read
current time
a random number

This PR introduces a test which probabilistically reproduces the
issue, as well as a fix which use a "double check" pattern to
store the result only if a competing thread has not already won
the race.
Before merging:

[ ] Copy the table printed at the end of the latest benchmark results into the README.md and update this PR
[ ] If this change merits an update to CHANGELOG.md, add an entry following Keep a Changelog guidelines with semantic versioning

As expected: this purely ruby code "double check" pattern, where we check again whether the memoization sentinel has been set in a concurrent thread after we have run the original method, is successful in this test on all MRI versions, but does not work on JRuby.
Options

We could leave the code in its prior state, and document that contended calls can result in different return value across threads on all Ruby versions
We could adopt this solution for MRI, and document that it doesn't work on JRuby in both markdown and tests (e.g. by marking this test as "pending" in JRuby)
We might go a step further and use a Mutex on each object, which would fix this issue on all Ruby versions, at some additional cost on those first calls where we set the memoized value

I'm hoping that this PR can help kick off a discussion and we can intentionally select an option 😄

Summary of discussion with @jemmaissroff and @JacobEvelyn outside of Github:

We've selected Option 1: leave code in is prior state, and document that contended calls can result in different return values across threads


Extract zip file when it's made from Unix

Steps to reproduce

Try to unzip a file that it's made from Unix host
The code returns an exception "Version required to extract this entry not supported (788)"

Expected behavior
I'm not sure that this is an error or if it's normal behavior, but I do not know why it doesn't work with this zip file version.
Actual behavior
It produces and exception "Version required to extract this entry not supported (788)"
Version of SharpZipLib
Obtained from (place an x between the brackets for all that apply)

[ ] Compiled from source
branch: _______
commit: _______
[ ] Downloaded DLL from GitHub
[ ] Downloaded DLL from SourceForge
[X] Downloaded DLL from -> https://icsharpcode.github.io/SharpZipLib/
[ ] DLL included as part of
Package installed using:
[ ] NuGet
[ ] MyGet
[ ] Chocolatey

Got this error too.
Please find a VS2015-solution that will reproduce the problem.
Error788.zip

Hello. Got this error too with Linux/Unix .zip generated file.
Any news about this issue?
Thank you

I'm having this issue as well
I was wondering if anyone came across a solution/workaround to this
If there is anything I can provide to help debug this issue please let me know

@Sigma88 if I'm correct, the issue is fixed in source code but NuGet package is outdated. We ended up forking the project and building our own version of the package.

@ivonin is your version available somewhere? I tried messing around with nuget but I'm not very familiar with it

@Sigma88 you can always just clone the repository, build it yourself and reference it the good old way (as a dll).

@ivonin yeah that's what I did, I cloned the repo and built the project ( ICSharpCode.SharpZipLib.dll )
and then used that as a reference for my own project
the problem is that I'm still getting this error while trying to unzip an archive made on linux (the person who provided the archive wasn't more specific on the OS)

actually, I have tried again and my project can't accept the current library as a reference, it complains about:
Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0012	The type 'Stream' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.IO, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

which leads me to believe the new code is not compatible with .NET 3.5 ?
which is basically the only reason why I wanted to use this library in the first place 🤔

Fixed in the >=1.0 nuget packages.

I solved this issue by doing the following workaround, if anyone has installed a previous version like me and keeps on getting this error:
[Workaround]:

Unzip manually the file.
Zip all files again from your computer.
Run your app.  //It worked for me because the problem was in the zip compression of the other persons computer.

2. 788)

Could you please specify the PR that fixed this issue?

No, a quick git blame just shows a merge from a previous maintainer. I don't really understand what was going on with the repo at that time...


Add different ways to open new generated project

Fixes #157
Generating a new project with a workspace or folder open:

Generating a new project with nothing open:

Signed-off-by: David Kwon<EMAIL_ADDRESS>

Tested on Windows 10

Generating a new project with nothing open: should directly open in the current window, no dialog necessary

I'm getting this error, when running the generate project command on a new window with no open folders:

Here is the issue I created about that^
https://github.com/microsoft/vscode/issues/86419

Nice work @xorye!


Using "using: :hash" in add_index generate remove_index and add_index everytime

Apply `db/Schemafile`
-- remove_index("table_name", {:name=>"column_name_index"})
   -> 0.0129s
-- add_index("table_name", ["column_name"], {:name=>"column_name_index", :using=>:hash, :unique=>false})
   -> 0.0178s

Please write the version of MySQL and ridgepole you are using.

InnoDB does not support Hash indexes in MySQL 5.6 / 5.7.
Hash index can be selected only by Memory engine.

InnoDB does not support Hash indexes in MySQL 5.6 / 5.7.

Ah, that's why I didn't know that. It was MySQL 5.7, but when I do show create table, I see that
KEY `column_name_index ` (`column_name`) USING HASH

Isn't that hash algorithm is applying?

Figured that hash algorithm is really aren't applying when I do show indexes. Thank you.


States that we want to launch with

A tentative list of states that we should launch with that are referenced in #13. The list is divided into confirmed and holds.
Confirmed

Florida - question

“Separation reason” column is more of an “employment status/change” column - remove “actively employed,” etc., or change name of column?

Georgia - question

“Separation reason” column is more of an “employment status/change” column - remove “actively employed,” etc., or change name of column?

Illinois - no notes, but seems like a good model for the "reason for separation" column

Indiana - question

“Separation reason” column is more of an “employment status/change” column - remove “active,” or change name of column?

Tennessee - question

No notes, except to ask if things can not be all-caps (this is obviously least urgent)

Utah - question
No notes, except to ask if things can not be all-caps (this is obviously least urgent)

Washington - question

“Separation reason” column is more of an “employment status/change” column - remove “certified,” or change name of column? Also if things could not be all-caps

West Virginia - question

No notes, except to ask if things can not be all-caps (this is obviously least urgent)

Wyoming - question

Not sure “separation reason” is actually showing that - should we change the name of the column?
Holds

Alaska - hold for launch?

Data is probably too incomplete for launch, not sure how many officers actually have history, too many other questions about immediate usefulness, and the state is now also being difficult with my update request so not even sure we can immediately promise anything

Indiana - hold for launch?

No end dates.

Iowa - question

I didn’t see Iowa in the launch data folder - which is fine, but it’s otherwise on my list, so just not sure what to list it as (Ben only sent raw data. This has not been processed).

North Carolina - hold for launch?

I don’t see any employment history in the index file

New Mexico - hold for launch?

Rows in data appear to show employment status or certification changes within individual departments - honestly really not sure what the index file shows
Maybes

Idaho - hold for launch?

Seems like columns reflect employment changes, and certifications, within an agency - hold for launch?

Maryland - hold for launch?

The rows appear to show employment status changes, like promotions, often within agencies, rather than between - hold for launch?

Oregon - hold for launch?

The rows appear to show employment status changes, like promotions, often within agencies, rather than between - hold for launch?

South Carolina - question

Some of the rows appear to show more employment status changes within departments, though other repeated departments appear to be different stints, which would track with our rule about contiguous service being collapsed
Vermont - hold for launch?
The rows appear to show employment status changes, like promotions, often within agencies, rather than between - hold for launch?

Thanks for the additional info @ayyubibrahimi - my list that I made in #13 was not actually inclusive of every state, just the ones I had any notes about.
Here is the actual full list of potential launch states as I understand them, with their status as I understand it:

Arizona: no issues
- Alaska: best to hold for launch
California: no issues
Florida: question about column name
Georgia: question about column name
Idaho: question about row collapsing
Illinois: no issues
- Indiana: question about column name, and issue with end dates
Maryland: question about column names and maybe row collapsing
- North Carolina: employment history data question, maybe best to hold for launch
New Mexico: maybe this is a row collapsing question?
Oregon: row collapsing question
South Carolina: row collapsing question
Tennessee: no issues
Utah: no issues
Vermont: row collapsing question
Washington: question about column name
West Virginia: no issues
Wyoming: question about column name

I removed Iowa from this because for some reason I previously thought it had been processed.
I also may receive processed Indiana data this week, if it comes in time to utilize, so that's why I left it there. If it's too late regardless for launch, that's fine and we can keep it off the list.

Based on the list above, does this order make sense?
Confirmed for launch:

Arizona: no issues
California: no issues
Illinois: no issues
Tennessee: no issues
Utah: no issues
West Virginia: no issues

States with column names issues. @stecklow can suggest some appropriate column names? :

Florida: question about column name
Georgia: question about column name
Maryland: question about column names and maybe row collapsing
Washington: question about column name
Wyoming: question about column name

States with non-collapsed rows. @tarakc02 I think that the row collapsing question is one for you:

Idaho: question about row collapsing
New Mexico: maybe this is a row collapsing question?
Oregon: row collapsing question
South Carolina: row collapsing question
Vermont: row collapsing question

Hold off for launch:

Alaska: best to hold for launch
Indiana: question about column name, and issue with end dates**
North Carolina: employment history data question, maybe best to hold for launch**

Additionally, the list above doesn't contain Texas, Kentucky, and Ohio which are listed as processed in the issue here #13 . Are we skipping these for the launch?

Based on this list, I pushed a prototype for Azirona at: https://national.cpdp.co/state/Arizona which includes an about modal. I think that we should start testing the confirmed states beginning next week.

All good. Some of these changes were made, but some say "employment_status" still. I'll add it to the list of things to change for the next iteration.

Before I re-run the pipeline now that Tarak has integrated his code into the base, can we confirm that these are the states that have rows that need to be collapsed @stecklow ?
States with non-collapsed rows:
Idaho: question about row collapsing
New Mexico: maybe this is a row collapsing question?
Oregon: row collapsing question
South Carolina: row collapsing question
Vermont: row collapsing question

And Maryland was also in my notes in this category. Thanks!

Thanks.

Final list:

"Arizona", '
California',
"Florida",
"Georgia",
"Illinois",
"Kentucky",
"Maryland",
"Idaho",
"Ohio",
"Oregon",
"New Mexico",
"South Carolina",
"Tennessee",
"Texas",
"Utah",
"Washington",
"Vermont",
"West Virginia",
"Wyoming"


Can't access stdin from a WASI program generated by AssemblyScript

I hope I'm opening this bug on the right GitHub repo, if not please forgive me :sweat_smile:
I've written a simple "echo" program using AssemblyScript and as-wasi. The program reads the user input from STDIN and writes it back to STDOUT.
Unfortunately it looks like I can never get back the input I enter.

What are the steps to reproduce the issue?

This the source code of the AssemblyScript program I'm running:

import "wasi"

import {Console} from "as-wasi"

Console.log("type something");

let input: string | null;
let msg : string = "nothing";

input = Console.readAll();
if (input != null) {
  msg = input!
}

Console.log('I got: ' + msg);

The program can be compiled to a WASM binary by doing:
$ asc echo.ts -b echo.wasm

And it can be run in this way:
$ wasmtime run echo.wasm

The program will start and I'll be able to enter my text. The program will keep reading from STDIN until I send the EOF symbol (I'm on Linux -> CTRL-D).
Unfortunately the input variable is always null.

What do you expect to happen? What does actually happen? Does it panic, and
if so, with which assertion?

I would expect the WASM program to be able to read data from stdin. The input object should hold the text I entered on my terminal.

Which Wasmtime version / commit hash / branch are you using?

This is my stack:

wasmtime: 0.21.0
AssemblyScript: 0.17.1
as-wasi: 0.4.0

If relevant, can you include some extra information about your environment?
(Rust version, operating system, architecture...)

I'm running on a x86_64 Linux box that has openSUSE Tumbleweed
More information...
The as-wasi handles STDIN/STDOUT/STDERR by using instances of the Descriptor class. The library simply opens the file descriptor 0 for STDIN, 1 for STDOUT and 2 for STDERR. In my tests it looks like opening the file descriptor 0 always returns a null instance of Descriptor; this doesn't happen with STDOUT and STDERR.
The same issue happens also when running the program through a custom made Go program I wrote leveraging wasmtime-go.
In that case I even tried to start the WASM binary not by inheriting the parent STDIN, but instead by using a text file I previously created. Also in this case the WASM binary got a null object when reading from the STDIN.
Relevant: a similar WASM binary, generated by translating Rust -> WASM, just works as expected.
Thanks for any kind of help you can give me. I gotta say, WebAssembly and wasmtime are really cool :)

Thanks for the report! This seems like it may be an issue with the wasi support in AssemblyScript possibly, so I'm gonna loop in @torch2424 to see if they can help (or help point you in the right direction)

Could it be this line that returns null when bytes read = 0?

Thanks for looping me in @alexcrichton :smile:
And yes, @peterhuene , I bet it's falling through to the bottom to return 0 :smile:

@flavio I was able to reproduce this, and what caught my interest was:

The as-wasi handles STDIN/STDOUT/STDERR by using instances of the Descriptor class. The library simply opens the file descriptor 0 for STDIN, 1 for STDOUT and 2 for STDERR. In my tests it looks like opening the file descriptor 0 always returns a null instance of Descriptor; this doesn't happen with STDOUT and STDERR.

So! Yes, in most instances, I've personally noticed stdin was represent by 0. Or perhaps it does on Mac?
But! If you can't get a file descriptor for stdin at 0, then yes it could totally be the cause of this bug.
cc @jedisct1 , as they are the author of as-wasi, and they may have a better hunch than me :smile:

@torch2424 it's fine on Unix to have the STDIN -> 0, STDOUT -> 1 and STDERR -> 2. I'm not surprised by that :)

Yes, STDIN->0, STDOUT->1, STDERR->2 is true of WASI today, so it's fine to rely on for now.
That said, this is something that may change in the future, at the WASI level. The 0,1,2 values are required in POSIX so we'll always need a way to let applications that need this numbering to get it, but we may also want more flexibility for applications that don't need it.

Hi,
This is a misunderstanding of what the readAll() function does in as-wasi, and the behavior would be the same with any runtime.
The readAll() function reads a stream until the end. And a newline doesn't indicate the end of a stream.
stdin is an endless stream, unless it is manually closed from a console (Control-D), or the content of a file has been redirected to it (command < file.txt) and the whole file has been read.
In order to read a line of text, you need to read bytes until you reach a \n or \r\n sequence.
The current version of as-wasi includes a readLine() function (both in Descriptor and Console) that reads a line of text, and converts it into an AssemblyScript string. This is probably the function you should use here.

Perhaps I misunderstood, but I don't think there was confusion over a newline causing a termination of the stream.
I think the problem is that @flavio was observing null returned even with a CTRL-D.
I believe this line is the cause, at least assuming that the stdin descriptor was opened correctly.
This code appears to buffer the stream until fd_read returns 0, at which point it returns null instead of the buffered input.

Since this is unrelated to wasmtime, maybe the issue should be discussed on the as-wasi repository instead?

I think the problem is that @flavio was observing null returned from readAll even with a CTRL-D.

Yes, exactly.
@jedisct1, sure if you want I can close this issue and open a new one one the as-wasi repository

Thanks for opening the issue there, @flavio.  I'll close this issue for now in favor of jedisct1/as-wasi#95.


update build image and change postsubmit build job publish images

What this PR does / why we need it:
update build image and change postsubmit build job publish images for cluster-controller prow job
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Specify your PR reviewers:

/cc @gyliu513 @morvencao @clyang82
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

/ok-to-test

/retest

/close

/reopen

/lgtm
/approve


Add field of study data

For #21
Here is a screenshot:

Please note that some of the field names have been shortened because there is not enough room to display the original longer names in the bar chart.
Should we change "Mathematics" to "Math" or "Maths" instead? It's a little long and runs into the description for the next item on the bar chart.

Thanks, @cliftonmcintosh. "Math" is fine.

@ravinepal
I'll update "Mathematics" to "Math"


feat(bindings/C): add support for list in C binding

The PR will first be marked as WIP
This PR implements the list() method of the opendal in C binding.
note: we don't need to review the opendal.h, it is auto generated by the rust code.

The functionality of list()
A separate unit test for list()
Fix some of the frees, previously it did not free the inner pointer, which is heap allocated.

todo:

Maybe we should use macro to unify the implementation the freeing of the types, since the patterns are almost the same.
Upon development, I found that multiple types and operations living in one single file is becoming more and more messy. Maybe a refactoring is needed as well.

by the way, clippy is not happy.

by the way, clippy is not happy.

Now it should be fixed, let's wait for the CI to pass!


Allow None if the field is marked as allow_null = True

Continuing with the example of the documentation
class ProjectPolymorphicSerializer(PolymorphicSerializer):
model_serializer_mapping = {
Project: ProjectSerializer,
ArtProject: ArtProjectSerializer,
ResearchProject: ResearchProjectSerializer
}
if we try to use this serializer in another model:
For example:
model.py
class Question(models.Model):
question = models.CharField(max_length=240)
project = models.ForeignKey("Project", null=True, blank=True, on_delete=models.PROTECT)

serializer.py
class QuestionSerializer(serializers.ModelSerializer):
project = ProjectPolymorphicSerializer(allow_null=True)
class Meta:
    model = Question
    fields = ("pk", "question", "project")

Before this fix, the code will break

@apirobot please take a look when you can

@robertofd1995 Hi. Thanks for the PR. Could you please add some tests?

Hi, I will try to add them as soon as I have some time


add standby supervisor probing loop

Added a function to loop over the standby supervisor status to ensure it's in an Available state before attempting to verifyInstall. The function will error out if the standby supervisor is not available before 15 minutes (probes status every 1 minute). This function will also handle NON_EXISTENT while the standby supervisor is rebooting. This is a candidate for https://github.com/openconfig/featureprofiles/issues/770

cc @xw-g  @robshakir

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1655

Relevant Lines:
2381

💛  - Coveralls

I will drive the presubmit test.

Filed internal bug b/263261243 to track presubmit progress.

the current verification code only covers when noreboot is set to true. request to add the following condition in line 239: (https://github.com/openconfig/featureprofiles/blob/d393408d0cb9ef9bc464884bcbfe273b035c0772/feature/gnoi/os/tests/osinstall/osinstall_test.go#L239)
// when noreboot is set to false, the device returns "in-progress" before initiating the reboot
if got, want := r.GetActivationFailMessage(), "in-progress"; got == want {
time.Sleep(time.Minute)
continue
}

the current verification code only covers when noreboot is set to true. request to add the following condition in line 239: (https://github.com/openconfig/featureprofiles/blob/d393408d0cb9ef9bc464884bcbfe273b035c0772/feature/gnoi/os/tests/osinstall/osinstall_test.go#L239)
// when noreboot is set to false, the device returns "in-progress" before initiating the reboot if got, want := r.GetActivationFailMessage(), "in-progress"; got == want { time.Sleep(time.Minute) continue }

Added in latest commit

Please run gofmt?

Thanks @Hobbydos . After you have addressed all the comments, please help ping @jjing1122 who will drive the presubmit internally before merging this PR. Thanks!

Please run gofmt?

gofmt should be ran by VSCode extension, running it manually, I didn't see any deltas?

Thanks @Hobbydos . After you have addressed all the comments, please help ping @jjing1122 who will drive the presubmit internally before merging this PR. Thanks!

@jjing1122, I rewrote the if statement as per @xw-g's comments, and re-ran gofmt again.

@xw-g @jjing1122 Did this look OK in internal tests for merger?

@Hobbydos can you please fix the new comments wrt go readability.  We will merge right after that.

@Hobbydos can you please fix the new comments wrt go readability. We will merge right after that.

@jjing1122 added the requested changes & tested in my environment. Test Passed.

/gcbrun


pull request for e2e test at 01/06/2017 05:15:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Component indices shouldn't be global

The global component index registry was for convenience as it would be easier to integrate.

Fixed by #9


New UI SPI View - does not render query results consistently

When interacting with the SPI View, and manually updating the query bar, the page does not load results properly without a forced reload.

@WilliamSalusky: Is this still an issue with the latest version? If so, can you provide the steps to reproduce the problem? Is it only when updating the query manually?


Disable invoices

This PR fixes #1040 by disabling invoice requests. The invoice view, as well as "Invoice" button on event details page, shows new instructions on how to request an invoice.

Looks good to me - please merge.


oauth scopes - drive.scripts scope

Hello,
I'm interested in using gdrive to upload an apps-script project to Google Drive.  Is this currently possible?  I created an empty apps-script project, and fetched it with this:
$ gdrive export <ID>
Exported 'test project' with mime type: 'application/vnd.google-apps.script+json'

I then made a small change to the 'test project' file, and attempted to upload the new version:
$ gdrive update <ID> 'test project'
Uploading test-project.json
Failed to upload file: googleapi: Error 403: The drive.scripts scope is required to update Apps Script content., insufficientScopes

Is what I want to do supported by gdrive?  How do I get drive.scripts scope authorization?
Thank you.

Me Too


generate error

I wrote a generate.py script myself, the code is as follows：
from peft import PeftModel
from transformers import LlamaForCausalLM, LlamaTokenizer, GenerationConfig

tokenizer = LlamaTokenizer.from_pretrained("huggyllama/llama-7b")
model = LlamaForCausalLM.from_pretrained(
    "huggyllama/llama-7b",
    load_in_8bit=True,
    device_map="auto",
)
model = PeftModel.from_pretrained(model, "luckychao/alpaca-lora/tloen_alpaca-lora")

def generate_prompt(instruction, input=None):
    if input:
        return ...
    else:
        return...

generation_config = GenerationConfig(
    temperature=0.1,
    top_p=0.75,
    num_beams=4,
)

def evaluate(instruction, input=None):
    prompt = generate_prompt(instruction, input)
    inputs = tokenizer(prompt, return_tensors="pt")
    input_ids = inputs["input_ids"].cuda()
    generation_output = model.generate(
        input_ids=input_ids,
        generation_config=generation_config,
        return_dict_in_generate=True,
        output_scores=True,
        max_new_tokens=256
    )
    for s in generation_output.sequences:
        print(s)
        output = tokenizer.decode(s)
        #print(output)
        print("Response:", output.split("### Response:")[1].strip())

if __name__ == "__main__":
    for instruction in [
        "Tell me about alpacas.",
        "Tell me about the president of Mexico in 2019.",
        "Tell me about the king of France in 2019.",
        "List all Canadian provinces in alphabetical order.",
        "Write a Python program that prints the first 10 Fibonacci numbers.",
        "Write a program that prints the numbers from 1 to 100. But for multiples of three print 'Fizz' instead of the number and for the multiples of five print 'Buzz'. For numbers which are multiples of both three and five print 'FizzBuzz'.",  # noqa: E501
        "Tell me five words that rhyme with 'shock'.",
        "Translate the sentence 'I have no mouth but I must scream' into Spanish.",
        "Count up from 1 to 500.",
    ]:
        print("Instruction:", instruction)
        evaluate(instruction)
        print()

But the output is wrong：

set load_in_8bits=False


Added mapping functions to Sequence as alternatives to KeyPath

🚀

Methods with mapping alternatives: sorted(by:), sorted(by:with:), sorted(by:and:), sorted(by:and:and:), sum(for:), first(where:equals:). All of this keeps compatibility as passing a KeyPath will make the code opt for the KeyPath version of the method. (Standalone PR as requested on #1167)
Checklist

[X] I checked the Contributing Guidelines before creating this request.
[X] New extensions are written in Swift 5.6.
[X] New extensions support iOS 12.0+ / tvOS 12.0+ / macOS 10.13+ / watchOS 4.0+, or use @available if not.
[X] I have added tests for new extensions, and they passed.
[X] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[X] All extensions are declared as public.
[X] I have added a changelog entry describing my changes.

Made the requested changes:

Added throws/rethrows to the new methods
Adjusted branch to only have the commit related to the implementation

          1 Message

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

  Generated by :no_entry_sign: Danger

Sorry for reviewing again after so long. Also, please note the conflicts.

@MartonioJunior there seems to be an issue here with a recent merge. You have way too many changed files.

@MartonioJunior there seems to be an issue here with a recent merge. You have way too many changed files.

I'll take a look as soon as I can, this was likely an issue caused by how I rebased the branch to add in the most recent commits from the master branch.

Tthere was a merge in the branch that had an earlier master commit as the basis, hence why it was appearing on the PR.
I also updated with the new commit, so it should be fine now, but if I still missed something, feel free to fire a comment.


Official mimetypes vs. extension mapping for m4b files

Hello,
thank you for providing this useful library. Since I just ran into an issue using m4b files, I would like to ask, which sources you used for the mapping?
The result for m4b files is audio/m4b, but AFAIK  this type does not exist / is not specified. The "official" list of registered Mimetypes linked to RFCs / Persons is available at:
https://www.iana.org/assignments/media-types/media-types.xhtml
These are without extension mapping, since the extension of a file can only be a hint for the real mimetype, although it maybe a good hint ;-)
The best resource I found WITH extension mapping was:
http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
which also lacks m4b :-/
Another good resource might be the magic.mgc which is common on Unix:
https://man7.org/linux/man-pages/man4/magic.4.html
Searching for m4b in the types definition, it is referenced as audio/x-m4b.
# grep 'm4b' /usr/share/mime/types
audio/x-m4b
# file -b --mime-type sample.m4b
audio/x-m4b

So it seems that in this library / type definition every custom mimetype, that is not referenced in the official listing, is prefixed with x-.
The magic.mgc contains a binary analysis instruction set, that does not rely on the extension, but this may also be incorrect (or at least unwanted), since the result for some m4b files is video/mp4, which is technically correct but assuming the extension is valid, the wanted result is audio/mp4 or better audio/x-m4b, even if the file contains the binary signature of a video.
To get to the bottom line:

The official mimetypes do not contain audio/m4b, which may be wrong in your library
The inofficial but commonly used mimetypes are usually prefixed with an /x- (e.g. audio/x-m4b)
What are your sources for the mappings?
Should I create a pull request to change the m4b result to audio/x-m4b or is this behaviour intended?

@sandreas Thank you for the detailed analysis. I looked into the history of how m4b got added to the list and did some additional research online. My conclusion is the same as yours, it should be audio/x-m4b.
If you would be so kind as to submit a PR, I'll merge it.
Thanks again,
Sam

Ok thx for the quick response. I'll take some time to check other mimetypes by the mentioned resources and submit a pull request asap.

There are the following other possible wrong  /x- mappings:
.jar - actual: application/java-archive expected: application/x-java-archive
.aiff - actual: audio/aiff expected: audio/x-aiff
.m4b - actual: audio/m4b expected: audio/x-m4b
.pls - actual: audio/scpls expected: audio/x-scpls
.wav - actual: audio/wav expected: audio/x-wav
.pic - actual: image/pict expected: image/x-pict

I will submit a PR with all these corrected.
After further investigation i found out that about 700 items in /usr/share/mime/types have no mapping. Some examples:
text/xmcd
video/mp2t
video/vnd.mpegurl

The list is too long to correct all of them, but I'll try to find some improvements. I'll create a second pull request, if I find some other improvements.

Did not have the time to fix this, sorry.


BIGTOP-3548: Hive build failure caused by protoc-jar-maven-plugin mis…

…sing aarch64 support
Hive uses protoc-jar to provide protoc executable to
process *.proto files. The protoc-jar-maven-plugin-2.5.0
doesn't include non-x86 binaries which caused build
failure on non-x86 platforms.
Backport HIVE-21939 to 3.1.2 branch and added ppc64le support.
Change-Id: I14f9ce54272a3eda1557710ab4276d999eed4a57
Signed-off-by: Jun He<EMAIL_ADDRESS>

I don't have local environment for testing ppc64le. I'm expecting the fix to work on ci.bigtop.apache.org.


Do not export ol.webgl.Context

We don't need to export the ol.export.Context constructor as users won't create ol.webgl.Context instances themselves.
I suppose we added an @api annotation on ol.webgl.Context for documentation purposes. This is a shame that we need to add @api annotations on things we don't want to export. We increase the build size just for the purpose of the documentation!

This is a shame that we need to add @api annotations on things we don't want to export. We increase the build size just for the purpose of the documentation!

This is a bit of legacy from the Plovr days.  When we couldn't tell the Compiler about extra_annotation_name, we crammed everything into @todo.  The @todo api plugin was extended to handle too much.
I think we should add a @doc annotation or something else specific to the documentation plugins.  This will probably take a bit of digging/discussion to determine what we really need.
@ahocevar do you want to try to coordinate on this?

It should be enough to just remove @api annotations from constructors that we don't want people to create instances from. The apidoc plugin will still create documentation if there are @api members, but will not list the constructor in the doc page.

Do you mean it already works this way?

Yes, it should.

I just confirmed that this works. Please merge.

Thanks.


Failed to install libaesgm

Xmake Version
v2.7.7+HEAD.da4fa35
Operating System Version and Architecture
Debian sid
Describe Bug
 xrepo install libaesgm
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> libaesgm 2013.1.1
please input: y (y/n/m)
y
  => install libaesgm 2013.1.1 .. failed

/tmp/.xmake1000/230326/_B3CC5DECD6CD4C53A2223A97AE314499.c:2:10: fatal error: aes.h: 没有那个文件或目录    2 | #include <aes.h>
      |          ^~~~~~~
compilation terminated.
  ${yellow}> in ${bright}/tmp/.xmake1000/230326/_B3CC5DECD6CD4C53A2223A97AE314499.c
if you want to get more verbose errors, please see:
  -> build/cache2/packages/2303/l/libaesgm/2013.1.1/installdir.failed/logs/install.txt
error: install failed!
error: execv(xmake require -j 14 --extra={system=false} libaesgm) failed(255)

Expected Behavior
xrepo install libaesgm works fine
Project Configuration
No response
Additional Information and Error Logs
No response

cat /tmp/.xmake1000/230326/_B3CC5DECD6CD4C53A2223A97AE314499.c

#include <aes.h>

int main(int argc, char** argv)
{

    volatile void* paes_init = (void*)&aes_init;;
    return 0;
}

It is wierd, it works fine on my laptop running UOS.

I guess it is because my gcc version:
$ gcc --version
gcc (Debian 12.2.0-14) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

please add -vD and show me logs
xmake f -cvD

xrepo install -v libaesgm
xmake f -c --require=n
checking for platform ... linux
checking for architecture ... x86_64
xmake require -v -j 14 --extra={system=false} libaesgm
checking for unzip ... /usr/bin/unzip
checking for git ... /usr/bin/git
checking for gzip ... /usr/bin/gzip
checking for tar ... /usr/bin/tar
/usr/bin/git rev-parse HEAD
checking for xmake::libaesgm ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> libaesgm 2013.1.1
please input: y (y/n/m)
y
checking for ping ... /usr/bin/ping
pinging for the host(github.com) ... 212 ms
/usr/bin/tar -xf 2013.1.1.tar.gz -C source.tmp
xmake f --verbose -y -c --plat=linux --arch=x86_64 --mode=release --kind=static --cxflags=-fPIC --buildir=build_bf6459dd
checking for gcc ... /usr/bin/gcc
checking for zig ... no
checking for zig ... no
configure
{
    cxflags = -fPIC
    arch = x86_64
    kind = static
    ccache = true
    clean = true
    proxy_pac = pac.lua
    cachedir = build/cache2
    ndk_stdcxx = true
    network = public
    mode = release
    host = linux
    buildir = build_bf6459dd
    plat = linux
    theme = default
}
warning: You are working in the project directory(/tmp/.xmake1000/230326/xrepo/working) and you can also
force to build in current directory via run `xmake -P .`
xmake build --verbose
checking for gcc ... /usr/bin/gcc
checking for the c++ compiler (cxx) ... gcc
checking for /usr/bin/gcc ... ok
checking for flags (-fPIC) ... ok
checking for flags (-fvisibility-inlines-hidden) ... ok
checking for flags (-O3) ... ok
checking for flags (-DNDEBUG) ... ok
[ 25%]: cache compiling.release src/main.cpp
/usr/bin/gcc -c -m64 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -o build/cache2/packages/2303/l/libaesgm/2013.1.1/source/build_bf6459dd/.objs/working/linux/x86_64/release/src/main.cpp.o src/main.cpp
checking for flags (-MMD -MF) ... ok
checking for flags (-fdiagnostics-color=always) ... ok
checking for g++ ... /usr/bin/g++
checking for the linker (ld) ... g++
checking for /usr/bin/g++ ... ok
checking for flags (-fPIC) ... ok
[ 50%]: linking.release working
/usr/bin/g++ -o build/cache2/packages/2303/l/libaesgm/2013.1.1/source/build_bf6459dd/linux/x86_64/release/working build/cache2/packages/2303/l/libaesgm/2013.1.1/source/build_bf6459dd/.objs/working/linux/x86_64/release/src/main.cpp.o -m64 -s
[100%]: build ok!
warning: You are working in the project directory(/tmp/.xmake1000/230326/xrepo/working) and you can also
force to build in current directory via run `xmake -P .`
xmake install -y -o /home/sadhen/.xmake/packages/l/libaesgm/2013.1.1/bf6459dd64734c2f90bd8b69392f5e4b --verbose
installing working ..
installing working to /home/sadhen/.xmake/packages/l/libaesgm/2013.1.1/bf6459dd64734c2f90bd8b69392f5e4b ..
> copy build/cache2/packages/2303/l/libaesgm/2013.1.1/source/build_bf6459dd/linux/x86_64/release/working to /home/sadhen/.xmake/packages/l/libaesgm/2013.1.1/bf6459dd64734c2f90bd8b69392f5e4b/bin
install ok!
checking for xmake::libaesgm ... libaesgm 2013.1.1
{
  version = "2013.1.1"
}

patching /home/sadhen/.xmake/packages/l/libaesgm/2013.1.1/bf6459dd64734c2f90bd8b69392f5e4b/lib/pkgconfig/libaesgm.pc ..
checking for gcc ... /usr/bin/gcc
checking for the c compiler (cc) ... gcc
checking for /usr/bin/gcc ... ok
checking for flags (-fPIC) ... ok
checking for flags (-fdiagnostics-color=always) ... ok
> checking for c includes(aes.h)
> checking for c funcs(aes_init)
> checking for c snippet(has_cfuncs)
error: /tmp/.xmake1000/230326/_B3CC5DECD6CD4C53A2223A97AE314499.c:2:10: fatal error: aes.h: 没有那个文件或目录    2 | #include <aes.h>
      |          ^~~~~~~
compilation terminated.
  => install libaesgm 2013.1.1 .. failed
error: install failed!
error: execv(xmake require -v -j 14 --extra={system=false} libaesgm) failed(255)

Use xmake -f -cvD for https://github.com/XmacsLabs/mogan, it will hang because of the failure of libaesgm installation.

warning: You are working in the project directory(/tmp/.xmake1000/230326/xrepo/working) and you can also
force to build in current directory via run xmake -P .

It seems xmake is not working under the correct directory.

Use xmake -f -cvD for https://github.com/XmacsLabs/mogan, it will hang because of the failure of libaesgm installation.

It works for me on my ubuntu 22.10. I can not reproduce it

build/cache2/packages/2303/l/libaesgm/2013.1.1

Very strange package path, have you modified the package cache directory? @darcy-shen

you can check $XMAKE_PKG_CACHEDIR env and xmake -g --pkg_cachedir= configuration value.

线下反馈解决了，这里就关了


Add UserTrait

Hey man,
Looking at your library I'm missing the user endpoints. Are you planning to write those in the near future? If not, I'm gladly willing to help you with this.
Let me know!

@patrickpietens It has been a week full of me, i barely reached my email these days (while i usually check them daily).
The changes look good, the methods used in requests have been drastically improved on what means "disposable code". I really love it! 😄
I'll have to pull some readme updates for this asap. I'll open the PR for you.

@rennokki Hey man,
A quick heads up:
I'm still making changes to the source code. I've added config files and binding the Larafy class to Laravel's service container.

@patrickpietens @rennokki  I was also working to add userTrait and other missing parts, I'm highly interested in using your work and even collaborate. Looking forward the merge of both repos.
awesome job both of you !

@hugosav Love to do a collab!

That seems like I have to rethink some implementations, but not for now. 😞

@rennokki In that case I will hard fork the repo and continue the project on my own. Thnx for your help.


Fixed @api visibility

Coverage remained the same at 99.6% when pulling 0ce494b46618c8a1280690d2361e8f19ea27bec4 on ifraixedes:patch-1 into 2ccb6cf3507cac74716f87c6ee056e79f6afdc52 on strongloop:master.


sync all debug server Send()s

In general, mutexes are a synchronization tool of last resort and are only appropriate for guarding fast operations.  Since Send does I/O, you can run into the situation where the mutex is held for a long time, blocking all progress of other goroutines.  Now, the case where it takes a long time is probably one where the stream is broken, so it might not matter.  But a better practice would be:
type Sender struct {
   s debug.Dump_APIServer
   ch chan *debug.DumpChunk
}

func (s *Sender) Run() {
   for _, chunk := range s.ch {
       s.s.Send(chunk)
   }
}

func (s *Sender) SendProgress(ctx context.Context, p *debug.DumpChunk_Progress) error {
    select {
        case <-ctx.Done():
           return pctx.Err(ctx)
        case s.ch <- &Chunk{ Chunk: p }
           return nil
     }
}
...

This way, you can give up waiting and return early.  Like I said, I'm not sure it absolutely matters in this case, but we have more control over how long we wait for the send.  SendProgress could, for example, be even more aggressive; if the channel isn't free, don't bother sending the progress update.  That way, no operation is ever blocked by reporting its progress (and it can just have a MarkComplete that does block at the very end).  (that would look like:
func SendProgress() {
   select {
       case <-ctx.Done():
           return err
       case s.ch <- progress:
           return nil
        default: // would have blocked, discard
            return nil
     }
}

The pattern that especially scares me is copying references to mutexes; the way you've done it looks safe to me, but I think it's a dangerous pattern.


[Bug] Floating window for inline math editing shrinks as you type

What happened?
The window for inline math editing shrinks as you type, until it eventually becomes a vertical line.

Expected behaviour
The window does not get smaller when typing, instead it expands when the typed line reaches the on-screen keyboard button.
Platform
This happens on both Windows 11 and Kubuntu
Steps to reproduce

Install Logseq
Install Logseq Live Math plugin
Type /math, enter and type again.

Logseq Version
0.10.1, 0.10.0
Logseq Live Math Version
1.3.0
Quick check

[X] There is no existing issue about this bug

Additional context

No other plugins were enabled
Default theme
Default config

Thanks for reporting this! I didn't test with the newer MathLive before releasing...
https://github.com/AllanChain/logseq-live-math/releases/tag/v1.3.1 includes the fix.


When using hiddenClients: true, the endpoint uri is also hidden

What happens?
Currently the http method + uri is part of the code snippet section, so when using the hiddenClients: true configuration option, it's not possible to see what uri should be used.
What did you expect to happen?
The endpoint e.g. POST /newresource is still visible when using the hiddenClients: true configuration option. Perhaps it can be pulled out of the right section and added under the endpoint title/description
OpenAPI Document
No response

Oops, thanks for the report!


[#6007] fix: fix hadoop catalog entity name limitation

What changes were proposed in this pull request?

limit '/' in schema name and fileset name for hadoop catalog
fix name encode issue when create schema, table, fileset and topic

Why are the changes needed?
Fix: #6007
Does this PR introduce any user-facing change?
yes, add new limitation for fileset name
How was this patch tested?
ITs added

Should we also update the Python client to encode the path?

Should we also update the Python client to encode the path?

yeah, added


json2on: Fix trim curve export

json2on can generate the trims of the BRep faces but it does not support converting inner trim curves from geomdl JSON to OpenNURBS .3dm format.

is it solved in the new version?

is it solved in the new version?

@OVGULIU not yet. I am still working on it.

Currently, trimmed surfaces are somewhat working in devmaster branch. I couldn't find the Split function in OpenNURBS (I don't think Rhino-version of Split exists in OpenNURBS), so it doesn't split the trimming curve but it adds it to the BRep structure.
What you need to do is export a surface with a closed B-spline trimming curve, i.e. last point of the curve == first point of the curve, detach the trim in Rhino and split the surface with the curve.
I guess this is the closest I can get for the trimming surfaces.


Routing not working for default language without prefix

Description
My project is setup using catch all routes with [[...slug]] (using a headless CMS). I also setup everything for next-intl and it's working as expected, except for handling default routes with no locale prefix, as described here Prefix based routing
So localhost:3000/de is working but localhost:3000/ is not.
If I am trying to access localhost:3000/about I see that about is assumed to be the language code...
import createMiddleware from "next-intl/middleware"

export default createMiddleware({
  // A list of all locales that are supported
  locales: ["de"],

  // If this locale is matched, pathnames work without a prefix (e.g. `/about`)
  defaultLocale: "de",
})

export const config = {
  // Skip all paths that should not be internationalized. This example skips the
  // folders "api", "_next" and all files with an extension (e.g. favicon.ico)
  matcher: ["/((?!api|_next|.*\\..*).*)"],
}

layout.tsx
type Props = {
  children: React.ReactNode
  params: {
    locale: string
  }
}

export function generateStaticParams() {
  return [{ locale: "de" }]
}

export default async function RootLayout({
  children,
  params: { locale },
}: Props) {
  let messages
  console.log("Locale: ", locale)
  try {
    messages = (await import(`../../messages/${locale}.json`)).default
  } catch (error) {
    notFound()
  }

  return (
      <html lang={locale}>
        <body>
          <NextIntlClientProvider locale={locale} messages={messages}>
            {children}
          </NextIntlClientProvider>
        </body>
      </html>
  )
}

Any help is very appreciated, thanks!
Mandatory reproduction URL (CodeSandbox or GitHub repository)
N/A
Reproduction description
See above
Expected behaviour
Path without language code should show default language translations.

Can you please provide the mandatory reproduction? Without this, it's unfortunately not possible for me to help you and I'll have to close the issue. I hope you understand.

@combi-35 if it helps, i was experiencing the same issue and noticed that my middleware.ts file was not within my "/src" directory, fairly easy mistake to make - looking at the screenshot - i can't tell for sure, but the moment i moved my middleware.ts file into my src (as apposed to the base path) it started working for me

Sorry for the late reply!
@brendansimcox Thanks a lot, indeed moving my middleware inside my src folder solved the problem. Thank you :)

Unfortunately, the solution mentioned by @combi-35 is not feasible for my particular project because it does not rely on the use of a source directory.
If anyone has come across a solution that could work for my situation, I would greatly appreciate hearing about it 😄