Incorrect indentation in the YAML file for the pod.

this pod yaml file has wrong identation for the volume part :
currently it's like this :
kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - name: mypod
      image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
      resources:
        requests:
          cpu: 100m
          memory: 128Mi
        limits:
          cpu: 250m
          memory: 256Mi
      volumeMounts:
        - mountPath: /mnt/azure
          name: volume
      volumes:
        - name: volume
          persistentVolumeClaim:
            claimName: my-azurefile

correct way :
kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - name: mypod
      image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
      resources:
        requests:
          cpu: 100m
          memory: 128Mi
        limits:
          cpu: 250m
          memory: 256Mi
      volumeMounts:
        - mountPath: /mnt/azure
          name: volume
  volumes:
   - name: volume
     persistentVolumeClaim:
       claimName: my-azurefile

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

ID: bdb3a253-ff94-1b97-62c9-e21153598452
Version Independent ID: b95ca0b2-e809-a149-dec7-a15ac2146ee1
Content: Create a persistent volume with Azure Files in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/azure-csi-files-storage-provision.md
Service: azure-kubernetes-service
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@bessalahAmar
Thanks for your feedback! We will investigate and update as appropriate.

@bessalahAmar
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


Clarifying/expanding documentation in README.

@charlesreid1 Sorry about the long delay! If you're still interested in resolving the conflicts and getting this merged, please feel free to holler and I'll re-open 💖

Yes, still interested in getting this PR merged. I've dealt with the conflicts and pushed the conflict-resolution commit to Github, so it should show up here sortly.
https://github.com/travis-ci/travis-build/commit/b323ffcfeae662dd5e600c0279d3b0481afbe1ad

maybe not, github is not updating this PR with that commit. re-opened updated changes in PR #1596


change: if the dashboard is empty, got {"error_msg":"failed to match any routes"}

I think we should return 404 with 404 Not Found, that is a better way.
here is the doc about try_files:
try_files file ... =code;
http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

we need to update them.
https://github.com/apache/incubator-apisix/blob/master/bin/apisix#L326
https://github.com/apache/incubator-apisix/blob/master/bin/apisix#L396

Hi @membphis you can assign this issue to me.


[Content]: Make user_id a required argument for group calls

What article on segment.com/docs is affected?
https://segment.com/docs/connections/spec/group/
What part(s) of the article would you like to see updated?
Opening this issue here because I'm not sure where else to open it in the Segment github org.
The first line of the Spec: Group doc states that:
The group API call is how you associate an individual user with a group—be it a company, organization,
account, project, team or whatever other crazy name you came up with for the same concept!

We've built company analytics at https://github.com/juneHQ based on a group call associating a user with a group. But since user_id is not a required parameter for group calls, we've seen our users send group calls without it, leading to multiple support tickets to dig into why they can't see users in their group inside June.
What do you think about making user_id a required parameter for group calls in the Segment SDKs?
Additional information
No response

Hi @vinayak-mehta, thanks for the ticket.
Your question might be better suited to ask to Support, as this channel is for documentation updates specifically.
Please reach out to https://segment.com/help/contact/, and they will be able to better take action on this.


Incorporate time integration to account for speed variations

This issue was created in order to document and detail the task of implementing the numerical integrator that was assigned to me. This task may resolve other issues: #429 and #1001.

Currently, it is not possible to solve the transient model with the rotor speed varying over time in ROSS, nor to incorporate other information into the model that depends on time. One solution would be to use a numerical integrator to solve the following equation of motion for a rotor:
$$
M\ \ddot{q}+[C+ G\ \Omega(t)]\ \dot{q} + [K + K_{st}\ \dot{\Omega}(t)]\ {q} = F
$$
The function solve_ivp() available in SciPy integrate library can be applied in this case. This function numerically integrates a set of first-order vector ordinary differential equations (ODEs):
$$
\frac{d\mathbf{y}}{dt} = \mathrm{f}(t,\ \mathbf{y})
$$
given the initial conditions $\mathbf{y}(0)=y_0$, and it also offers 6 different integration methods. Then, it would be possible to choose a more appropriate method for each type of problem, allowing to solve, for example, non-stiff problems using explicit methods (“RK23”, “RK45”, “DOP385”), and also stiff problems using implicit methods (“Radau”, “BDF”).
A higher-order ODE can be reduced to a first-order differential equation by introducing intermediate derivatives into the $\mathbf{y}$ vector. So, this implies that:
$$
\mathbf{y} = [q, \dot{q}]
$$
and accordingly $\mathrm{f}(t,\ \mathbf{y})$ must return:
$$
\frac{d\mathbf{y}}{dt} = [\dot{q}, \ddot{q}]
$$
where the second-order derivative could be calculated from the equation of motion by inverting the $M$ matrix as:
$$
\ddot{q} = M^{-1} [F - [C+ G\ \Omega(t)]\ \dot{q} - [K + K_{st}\ \dot{\Omega}(t)]\ {q} ]
$$
The values of rotational speed $\Omega(t)$ and acceleration $\dot{\Omega}(t)$ varying over time can be stored in arrays. Such arrays must be compatible with the array of times in which the computed solution will be stored.
Consequently, the integration can be done by calling:
scipy.integrate.solve_ivp(fun, t_span, y0, method, t_eval, args)

and passing the callable function that will be integrated fun(t, y), the interval of integration t_span=[t0, tf] and the initial state y0. It is optional, but it could be important to pass the integration method, the vector of times in which the computed solution will be stored t_eval, and a tuple of additional arguments that could be passed to fun(t, y, *args).
At first, I defined the function fun(t, y, *args) to be integrated as follows:
def _equation_of_motion(self, t, y, t0, dt, speed, accel, inv_M, C, G, K, Kst, F):

  size = int(len(y) / 2)
  disp_resp = y[:size]
  velc_resp = y[size:]

  i = round((t - t0) / dt)
  C_aux = C + G * speed[i]
  K_aux = K + Kst * accel[i]
  F_total = F[:, i]

  accl_resp = inv_M @ (F_total - (C_aux @ velc_resp) - (K_aux @ disp_resp))

  dydt = np.zeros(2 * size)
  dydt[:size] = velc_resp
  dydt[size:] = accl_resp

  return dydt

Here, I would like to highlight two points:

Accessing the rotational speed speed[i] at a specific time t can be done by a conversion based on the initial time t0 and time step dt to obtain the respective array index.
Passing the model matrices as arguments makes the function generic, so it could be used to solve the model in both modal and physical spaces. However, this may change later if needed.

When choosing to solve in the modal space, there is a possibility to reduce model based on the selected number of modes. A reduced model implies a considerable reduction in computational cost. Another option, suggested by Prof. Aldemir, to obtain the reduced model would be to pass the  frequency range of interest.

I tested a simple case to compare the numerical integration considering the representation of the model in both spaces. For the modal space, just the first 12 modes were considered in order to obtain the reduced model. For both spaces, the “RK45” integration method was considered. This test case is the same example described in run_time_response():
# Rotor without damping with 6 shaft elements, 2 disks and 2 bearings
rotor = rotor_example()
speed = 500.0
size = 1000
node = 3
probe1 = (3, 0)
t = np.linspace(0, 10, size)
F = np.zeros((size, rotor.ndof))
F[:, 4 * node] = 10 * np.cos(2 * t)
F[:, 4 * node + 1] = 10 * np.sin(2 * t)
response = rotor.run_time_response(speed, F, t)
fig1 = response.plot_1d(probe=[probe1])

Running the code with time integration in the physical space took a total of 129 s, while in the modal space it took a total of 5.71 s. Therefore, considering the reduced model it was possible to reduce ~96% of the execution time. The responses for node 3 are compared and presented below:

The response obtained by integrating in modal space seems to be very close to the response obtained by solving the model with _lti().
In terms of computational cost, I think it would be better to implement the integration solver in modal space. The idea would be to use a single solver for Rotor and Defect classes.

Hi @jguarato !
I was wondering why the 'physical space' results are showing higher values of vibration at the end of the plot. Maybe results are diverging?
If you could please increase the time array so that we could evaluate that.
Also, if you could provide time results for the run_time_response as well.

@raphaeltimbo, you are right. I increased the time array and the results for the ‘physical space’ diverged using the RK45 integration method.

I found the following article that may explain what happened in this case: Stability of Numerical Integration Techniques for Transient Rotor Dynamics. The author analyzed the numerical stability of some integration techniques, including the Runge-Kutta method, applied to transient rotor dynamics. One of the author's conclusions was that the high frequency mode usually determines the maximum time step for a stable solution. Therefore, considering an undamped system, the Runge-Kutta method is unstable for a time step greater than approximately:
$$
\Delta t \gtrapprox \frac{3}{\omega_n}
$$
where $\omega_n$ is the highest natural frequency.
Consequently, calculating for the problem at hand, this method is unstable for $\Delta t \gtrapprox 6 \times 10 ^{-5}$ s. However, in the previously tests, I considered $\Delta t = 10 ^{-3}$ s. Thus, reducing the time step to $\Delta t = 10 ^{-5}$ s, the obtained results were:

In this sense, an implicit method such as BDF ends up being more suitable for this case, for which it is possible to use a larger time step to obtain a stable solution:

We can then compare these solutions with the results of the run_time_response() function:

In the case of solving the equations in modal space, as the reduced model was considered based on the first 12 modes, it was possible to obtain a stable solution for a larger time step. Therefore, solving the equations in modal space with RK45 and without reducing the model also leads to an unstable solution, as can be seen below:

To implement the newmark integration:

Add a newmark function to the utils.py module;
Import the newmark function in the rotor_assembly.py with from ross.utils import newmark;
In the .run_time_response method, add an argument integrator where the user can set integrator='newmark'.

Hi there!
I have marked this issue as stale because it has not had activity for 45 days.
Consider the following options:

If the issue refers to a large task, break it in smaller issues that can be solved in
less than 45 days;
Label the issue as wontfix or wontfix for now and close it.

Discussions ensued regarding the previously acquired results, leading to the decision to adopt the Newmark method over the Scipy integrator. The new implementations have been incorporated into the PR #1032. The results of the tests conducted to validate the implementations can also be found in the comments of the PR.


When Highcharts xAxis.ordinal set to true, updating data requires fully re-rendering the chart

Changing data while the Highcharts ordinal property is true causes data points to become misaligned with the x-axis. The problem is resolved when the chart is manually resized, or after approximately 30 seconds. This implies that a re-render of the chart is required to keep data points in sync with the x-axis when data is modified.
The Highcharts xAxis.ordinal property makes data points equally spaced across the chart when set to true. This could be beneficial when removing certain points from a chart, e.g. removing weekends from a timeseries, but the x-axis must remain in sync with the data points. See Highcharts documentation

Chart after normal render.

Chart after modifying data (removing weekends). Note mismatch between hovered-over data point and x-axis label, and data points descending below the x-axis.

Chart after manual resize, causing a re-render that then syncs the x-axis to the data points.

@PeteDarinzo can you check if this is still happening on latest HC? If so, would be good to resolve by ensuring a re-render as required.


Fix JSON Serialization Error in publish_and_cleanup when reporting DatasetUploadStatus

See real migration run example:
{
    "errors": [
        {
            "args": [],
            "error": "Object of type DatasetUploadStatus is not JSON serializable",
            "kwargs": {
                "can_publish": true,
                "collection_version_id": "<REDACTED>"
            },
            "step": "publish_and_cleanup"
        }
    ]
}

This occurs when reporting an error in a dataset's status during the publish and cleanup step (used to report that a publish was not done because of a dataset error)

@nayib-jose-gloria is there any more context to give about when this is occurring? Perhaps a cloudwatch log trace?

Preliminary assumption is that this is where the error is coming from

@nayib-jose-gloria Pretty sure I have a fix for this at the level of preventing JSON serialization errors, which is just to have the DatasetStatusGeneric inherit from str in its definition... but at a service/logical level, it seems to me like this error should have been occurring for every single Dataset, every time. Any Dataset with a non-null...

DatasetUploadStatus
DatasetValidationStatus
DatasetConversionStatus
DatasetProcessingStatus
would, from my reading, produce this error...

@danieljhegeman its possible we only try to log/json serialize on failures so we didn't notice this bug in other theoretical scenarios. Not sure though, something to look into

its possible we only try to log/json serialize on failures

@nayib-jose-gloria  This is correct. But previously we were patching our way out of having to deal with it in the unit tests, so I added a side effect to the patch that tests JSON serializability.

@Bento007 added that to the json calls cls=


Hello author

Firstly, Does the callback technique used in the bendersClassicWithCallBackLazy.py document mean the same as the traditional Branch and Benders cut?
Secondly, your Bedders code is the best I've ever seen, thank you for graciously sharing it.

Thank you, author, for your selfless answer yesterday! I still have some questions.
About the bendersDisaggregatedCuts.py document, the README says: these methods computes the solution in lower computational time than the Gurobi solver for this problem.

[ ] Question 1: But whether I run bendersDisaggregatedCuts directly or add it to my own benders, it is not as fast as gurobi directly, which is inconsistent with what the README file says.

[ ] Question 2: And Benders with disaggregated cuts and callbacks solve slower than Benders with disaggregated cuts, the former is obviously a fusion of two acceleration strategies, and it stands to reason that it should be faster, which is what I don't understand.

I would appreciate it if you could take the time to answer my questions.

Hi,
Question 1: But whether I run bendersDisaggregatedCuts directly or add it to my own benders, it is not as fast as gurobi directly, which is inconsistent with what the README file says.
Answer 1: Gurobi has significantly improved their solver since this code was uploaded. Who knows if they have implemented better computational techniques than bendersDisaggregatedCuts in their solver. For some instances, the current code may work faster.
Question 2: And Benders with disaggregated cuts and callbacks solve slower than Benders with disaggregated cuts, the former is obviously a fusion of two acceleration strategies, and it stands to reason that it should be faster, which is what I don't understand.
Answer 2: Again, there is no surety that any strategy which seems faster in theory would be actually fast in practice. This depends on instance, programming skills, data structures used, how is it interacting with gurobi, etc.

Hello author, I'm going to trouble you again. I don't understand what the new variable xi of paretoSubProblem is for. I really want to figure it out and look forward to your generous answers, thank you so much!

Pareto cuts can be useful in cases when there is degeneracy in the subproblem. After solving the subproblem, you solve another ParetoSubproblem to possibly get a better cut than the original subproblem. In above picture, I am trying to solve the dual of the ParetoSubproblem and xi represent the dual variable corresponding to the constraint where objective value of ParetoSubproblem is constrained to be equal to the subproblem objective value. To get a better clarity, please read the original paper on Pareto Benders cut:
Magnanti, Thomas L., and Richard T. Wong. "Accelerating Benders decomposition: Algorithmic enhancement and model selection criteria." Operations research 29.3 (1981): 464-484.

Teacher author, I'm bothering you again

When solving my problem with the above benders code, the LB will end up being larger than UB (minimization problem), I would like to know if you will have this situation? What is the general cause of this situation?

When solving the large-scale problem with callback+disaggregated cut, the resulting ub and lb are much different, the algorithm stops, and the problem that LB is larger than UB also appears.

If I want to highlight the superiority of the Benders algorithm, wouldn't it be better to replace the solver with cplex?

Thank you for your selfless reply again！

Hi,
Q. When solving my problem with the above benders code, the LB will end up being larger than UB (minimization problem), I would like to know if you will have this situation? What is the general cause of this situation?
A. There can be two reasons for this. Either there are some numerical issues due to which the solver rejected a cut or there is issue with the code. Please check if everything is alright with code and the model data is scaled properly.
Q.     When solving the large-scale problem with callback+disaggregated cut, the resulting ub and lb are much different, the algorithm stops, and the problem that LB is larger than UB also appears.
A. Same issues are possible. Manually testing the numerical errors might help.
Q. If I want to highlight the superiority of the Benders algorithm, wouldn't it be better to replace the solver with cplex?
A. CPLEX has a benders functionality while Gurobi doesn't. In most cases, Gurobi/solver will be better than the classic Benders. The difference may come if you implement it differently with new cuts.


[Bug] Tidal Bell Spawning Lugia at Night Crashes Server (Orion)

Describe the bug
When Lugia is supposed to be spawned at night from the Tidal Bell the entire server crashes.
To Reproduce
Steps to reproduce the behavior:

Place Tidal bell on bottom of tile. (Tile was a claimed tile in seen bug)
Wait or Activate Tidal Bell at Sunrise.
Wait for Night when Lugia should spawn.
Server Crashes.
This was specifically Orion.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Username:
Server name (all applicable):
Logs:
gistfile1.txt
Additional context
This was Orion.  This was next on a Claimed Block.  This repeated at least 3 times before I tried in Single Player mode and could not replicate at the behest of Katzyn.

I can't even mine the bell to stop it.

Since time has passed and we haven't been able to reproduce this issue, I think it's safe to say it was a weird one-off bug?  Gonna close for now :)


Issues with MUI Icons in IcSideNavigation

Summary of the bug
Using MUI Icons in the IcSideNavigation causes some unusual bugs with the placement of icons. Also slotted img tags with SVGs don't seem to render. I may be misunderstanding the use of SlottedSVG but using a div has the same issue as in the now closed #263.
🪜 How to reproduce
Tell us the steps to reproduce the problem:

Create an IcSideNavigation
Add some IcNavigationItems with MUI Icons in SlottedSVGs
The icons move unexpectedly when the IcSideNavigation is closed

🧐 Expected behaviour
The icons remain in the correct place
📸 Screenshots or code
<IcSideNavigation appTitle="Test App" status="" version="v0.0.7">
    <SlottedSVG slot="app-icon">

    </SlottedSVG>
    <IcNavigationItem slot="primary-navigation" href="/" label="Home">
        <SlottedSVG slot='icon'>
            <HomeIcon />
        </SlottedSVG>
    </IcNavigationItem>
    <IcNavigationItem slot="primary-navigation" href="/" label="Trends">
        <SlottedSVG slot='icon'>
            <HomeIcon />
        </SlottedSVG>
    </IcNavigationItem >
    <IcDivider slot ='primary-navigation' />
    <IcNavigationItem
        slot="secondary-navigation"
        href="/"
        label="Test 1"
    >
        <SlottedSVG slot='icon'>
            <HomeIcon />
        </SlottedSVG>
    </IcNavigationItem >
    <IcNavigationItem
        slot="secondary-navigation"
        href="/"
        label="Test 2"
    >
        <SlottedSVG slot='icon'>
            <HomeIcon />
        </SlottedSVG>
    </IcNavigationItem >
</IcSideNavigation >

Video:
https://user-images.githubusercontent.com/122810565/219710678-9806c6c2-9601-4735-99b9-6b12d701820c.mov
🖥 Desktop

OS: macOS
Browser: chrome
Version: 109

Additional info
Tell us anything else useful to help us fix or understand the problem.

@MI6-682. Thanks for your ticket. We have created a ticket within the guidance site repo to add more detail regarding the SlottedSVG component: https://github.com/mi6/ic-design-system/issues/301. We'll make a note to add an example on the Side Navigation code example using MUI Icons as well.

@jd239 Thanks! Just to clarify, are you saying that the bug shown in the video I attached to the issue is to do with the use of the SlottedSVG component or is it an issue with the IcSideNavigation component?

Hey @MI6-682. It looks like there is an issue with the usage of the SlottedSVG.
The SlottedSVG provides the <svg> tag as the wrapper so in your code example, the SVG is getting rendered as  <svg></svg> for the app icon and <svg><svg></svg></svg> where <HomeIcon /> is being used.
In the example on the guidance site, elements passed as children should be the internal elements of an SVG such as path, circle, rect, etc....
Our ticket will be explain this further and demonstrate that adding the path from @mdi/js is the preferred approach. @mdi/js
// Example

import { mdiHome } from '@mdi/js';

<IcSideNavigation appTitle="Test App" status="" version="v0.0.7">
    <IcNavigationItem slot="primary-navigation" href="/" label="Home">
      <SlottedSVG
        xmlns="http://www.w3.org/2000/svg"
        viewBox="0 0 24 24"
        slot='icon'
        path={mdiHome}
      />
    </IcNavigationItem>
     ....

In addition to this, the viewBox is not provided by default so this would also need to be added. For IcSideNavigation, the width and height for icons is 24px so a viewBox='0 0 24 24' should display the icons correctly. We'll update the examples on the guidance site to reflect this. We'll look into adding a rem width/height via the component for the icons.
Here is a full example:
import { mdiHome } from '@mdi/js';
...
<IcSideNavigation appTitle="Test App" status="" version="v0.0.7">
  <SlottedSVG
    slot="app-icon"
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 24 24"
    path={mdiCompass}
  >
  </SlottedSVG>
  <IcNavigationItem slot="primary-navigation" href="/" label="Home">
    <SlottedSVG
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
      slot='icon'
      path={mdiHome}
    />
  </IcNavigationItem>
  <IcNavigationItem slot="primary-navigation" href="/" label="Trends">
    <SlottedSVG
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
      slot='icon'
      path={mdiHome}
    />
  </IcNavigationItem>
  <IcDivider slot ='primary-navigation' />
  <IcNavigationItem
      slot="secondary-navigation"
      href="/"
      label="Test 1"
  >
    <SlottedSVG
      path={mdiHome}
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
      slot='icon'
    />
  </IcNavigationItem >
  <IcNavigationItem
      slot="secondary-navigation"
      href="/"
      label="Test 2"
  >
    <SlottedSVG
      slot='icon'
      path={mdiHome}
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
    />
  </IcNavigationItem>
</IcSideNavigation>

Great! Thank you so much :) I had tried the SlottedSVG, but didn't know it needed a viewBox atribute but that has fixed it!


docs: show old documentation warning in Vitest 1 docs

Description
See a similar issue in https://github.com/vitejs/vite/pull/18805
I will add the same waring to pre-stable Vitest 0 after we approve the design

Related https://github.com/vitest-dev/vitest/issues/6980

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[ ] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[ ] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[ ] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

Closed in favor of https://github.com/vitest-dev/vitest/pull/7003


(Docker) Environment Variable File

In our project we had project.json, project.development.json and user secrets and in Docker we use an environment file we point to in docker-compose.yml.
Because of some business choices we needed to move more variables to the configuration. It became quite unmanageable across multiple projects, so we centralised appsettings.json. Still we needed to make sure that we had defined all variables in an environment file for Docker.
To make this even easer I created a custom DockerEnvFileConfigurationSource and DockerEnvFileConfigurationProvider with extension methods for IConfigurationBuilder. Now we only use the Environment Var format files. When we run our software in Docker or just with dotnet run, we can use (almost) the same configuration files. We also have a secrets.env that we don't commit.
Do you think this could be valuable for everybody? I can try to create a PR if you think so. It's very little code, but it is an extra assembly of course that needs to be build, shipped and maintained. Also I don't know what the best name for the format is. I called it DockerEnvFile, although the format is not specific for Docker.
Thanks for the great API's, because it was really easy to implement. Please let me know if you think this could be a valuable API for all and if you want me to create a PR.

@glennc what do you think?

@glennc

To help me understand. You are using a .env file to set all your configuration as environment variables, but reading the file directly via the configuration library when not in a container. Is that right? Do you still use user/docker/kubernetes secrets with this?

@glennc Yes, that's right. At this moment we are not using user secrets anymore, but it could still be used of course. For development we use a secrets.env file and git ignore it so we don't check it in. Our product doesn't need the scale yet, so we don't use Kubernetes or Docker Swarm yet.
Our setup is something like this:

/docker/development/common.env (used when run in docker)
/docker/development/docker-compose.yml (uses ./common.env and /shared/secrets.env)
/shared/common.env (used when running "dotnet run")
/shared/secrets.env
/src/webapp1 (uses /shared/common.env and /shared/secrets.env)
/src/webapp2 (uses /shared/common.env and /shared/secrets.env)
/src/webapp3 (uses /shared/common.env and /shared/secrets.env)

On our production VMs we configured a docker-compose.yml and an .env file. We are working to move this to an Azure ARM template with the docker extension.

@tverboon As someone who just fought with Docker about similar topics, this would be a nice thing to have. Why not as an 3rd party nuget? Maybe @glennc can promote it here in the README or as part of docs.microsoft.com. Like that the maintainence burden stays low for Microsoft (which is the nr.1 reason why they do not do things like that). I am sure there is a whole ecoysystem already around this awesome library (e.g. YAML).

@tthiery Can definitely do that. Good reason to make my first public and open source NuGet package.

@glennc Should we still keep this open?


fix(modeling): torus manifolds

Continuing the JSCAD geometry improvements. Today we're fixing the Torii. 🍩

torus-manifold.js
const jscad = require('@jscad/modeling')
const { colorize } = jscad.colors
const { geom3 } = jscad.geometries
const { cylinder, torus } = jscad.primitives
const { translate, rotate } = jscad.transforms

const main = () => {
  const obs = torus({})
  return showNonManifold(obs)
}

const showNonManifold = (obj) => {
  try {
    geom3.validate(obj)
    return obj
  } catch (e) {
    const edges = e.message.substring(e.message.indexOf('\n', 19) + 1)
      .split('\n')
      .map((e) => e.split(" -> ").map((v) => v.split(",").map(Number)))
    console.log('non-manifold edges', edges)
    return [
      colorize([0,.6,1,.9], obj),
      colorize([1,0,0], edges.map(([start, end]) => cylinderV1({ start, end, radius: 0.05 })))
    ]
  }
}

const cylinderV1 = (opt) => {
  const rot = [0, 0, 0]
  const center = [0, 0, 0]
  if (opt.start && opt.end) {
    center[0] = (opt.start[0] + opt.end[0]) / 2
    center[1] = (opt.start[1] + opt.end[1]) / 2
    center[2] = (opt.start[2] + opt.end[2]) / 2
    const dx = opt.end[0] - opt.start[0]
    const dy = opt.end[1] - opt.start[1]
    const dz = opt.end[2] - opt.start[2]
    opt.height = Math.hypot(dx, dy, dz)
    rot[1] = Math.atan2(dx / opt.height, dz / opt.height)
    rot[0] = Math.asin(-dy / opt.height)
  }
  return translate(center, rotate(rot, cylinder(opt)))
}

module.exports = { main }

This fix is slightly different than the others, because it is not using the util trig functions. It was necessary to have a special case here, because rounding doesn't help when startAngle is non-zero.
Yay for more water tight primitive geometries! 🍩
All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

@platypii this branch did not automatically update to the latest. please do the need full.


springseed.zip is not available any more

Requests to http://assets.apertron.net/springseed.zip result in a 404.
This source is needed to build springseed with the Arch User Repository

Whoops! Sorry. I forgot how it was laid out, do you have a copy of an old version of the file? I'll reconstruct it from the latest version.

(I maintain apertron.net)

No, I don't know how this file looked like. It must be different from the zipped 2.0 version on Github (different hash and it actually does not work if I just change the source in the PKDBUILD file from Arch).
Building it on my own ends in some errors... I can open a separate Issue for this. Hoped you could reupload the file and the building tool from Arch gets the rest of the work done :-)

Damn, I've unfortunately lost the file while cleaning up things on the server. Mind creating a new issue concerning the build errors? Sorry about this.

Okay, I will retry the manual installation process in the next days. Thanks for your help!

Arch PKGBUILD maintainer here. I happened to still have a backup of the archive in my build directory.
https://dl.dropboxusercontent.com/u/6830281/springseed.zip
SHA256: e6a47b92e27e2f4ec4192e49f3c15b50a13067a1a855b59dc8744e1eae7caa90
For the sake of basic integrity, this hash matches the one seen in the PKGBUILD in the AUR.

Awesome, thank you. Now @zackp30 only needs to reupload it. Or we host this file directly on Github...?
Maybe this is the better solution.
I would not have trusted your zip file without the correct hash ;-)

Damn! Forgot about this, sorry, downloading now.

Reuploaded.

Thanks @ryonsherman!

gpg --recv-keys 694C308D --keyserver pgp.mit.edu
wget http://assets.apertron.net/springseed.zip http://assets.apertron.net/springseed.zip.asc
gpg --verify springseed.zip.asc

The archive seems to be unavailable again:
--2016-05-16 15:36:54--  http://assets.apertron.net/springseed.zip
Resolving assets.apertron.net (assets.apertron.net)... <IP_ADDRESS>
Connecting to assets.apertron.net (assets.apertron.net)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://assets.apertron.net/springseed.zip [following]
--2016-05-16 15:36:54--  https://assets.apertron.net/springseed.zip
Connecting to assets.apertron.net (assets.apertron.net)|<IP_ADDRESS>|:443... connected.
WARNING: no certificate subject alternative name matches
	requested host name ‘assets.apertron.net’.
HTTP request sent, awaiting response... 404 Not Found
2016-05-16 15:36:54 ERROR 404: Not Found.

Dammit, I thought I had forgotten something: https://xack.xyz/misc/springseed.zip

Duplicate #209


fix: correct clockSkew value when reading duration

Definition of Ready
Correct clockSkew value when reading duration
Fixes #187

[x] Short description of the feature/issue is added in the pr description
[x] PR is linked to the corresponding user story
[x] Acceptance criteria are met
[x] All open todos and follow ups are defined in a new ticket and justified
[x] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[x] No debug or dead code
[x] My code has no repetitions
[x] All non-functional requirements are met
[x] The generic lifecycle acceptance test passes for affected resources.
[x] Examples are up-to-date and meaningful. The provider version is incremented.
[x] Docs are generated.
[x] Code is generated where possible.

@stebenz  Is this going to be released as part of some patch version for TF provider?


[bug] Verbal casting isn't working

Mod Version (e.g. Fabric 0.3.4):
1.2.6-1.21-fabric-sgd
What you expect to happen:
The spell should activate when I try to use Verbal casting
What actually happens:
Nothing happens

Can you give more details? Have you tested this spell in a Spellbook? Is anything printed out in chat? Are you using the Community or Debug packs, a custom data pack, or the default mod configuration?

Can you give more details? Have you tested this spell in a Spellbook? Is anything printed out in chat? Are you using the Community or Debug packs, a custom data pack, or the default mod configuration?

Yes of course.
I have tested this spell in a Spellbook and it works fine
Nothing is printed out in chat
I'm not using a custom pack or anything, just the default one on Modrith
What I can guess is that it's a conflict with another mod, maybe.

Are you using any proximity chat mods?
Also, could you send the spell you're trying to write, as well as the scriptor_dictionary.dat file from your world data? Are other spells working, or is everything broken?
I appreciate your report, thank you for helping me sort this.

I'm not using any proximity chat mods, just the Simple Voice Chat one if that is related.
The spell I tried to use is "ivi kila" which persumably sets everything I look at on fire.
How do I send the .dat file on github?
As for your last question, every spell is broken with verbal casting. Though it does work with spellbooks and all other methods.

You can compress it and send as a zip. Also just checking, have you updated to a newer version since opening this issue? Want to make sure this is still occurring on 1.2.10

Yes I have updated to the newest version right now I think 🤔
Here it is!
scriptor_dictionary.zip

I'm unable to replicate your issues, it may be a mod conflict. Could you send a mod list when you get a chance? Thanks in advance!


GraphQL. Field type not present list seems mandatory with @keys

Describe the bug
Assuming a type XXX
The field input type 'ModelXXXFilterInput' is not present when resolving type 'Query' [@965:1].
type XXX
  @model(
    queries: { get: "getXXX", list: null }
    mutations: { create: null, update: "updateFollows" }
    subscriptions: null
  )
  @key(
    name: "xxxGSI"
    fields: ["is2", "status"]
    queryField: "xxxing"
  )

I was trying to remove lots of unused resolver like list for example. But an error appear that The filed input type "ModelXXXFilterInput" is not present
I tried another combination after (still not working
type XXX
  @model(
    queries: { get: "getXXX"}
    mutations: { create: null, update: "updateXXX" }
    subscriptions: null
  )

I  had to revert back to the default setting I had
type XXX
  @model(
    mutations: { create: "createXXX", update: "updateFollows" }
    subscriptions: null
  )

I tried on multiple type in one push. the mutations value have no impact (IMO)
Just that query is required  for adding a type if I have @ keys
Amplify CLI Version
amplify version 4.32.1
To Reproduce
Expected behavior
Just be able to publish without all those unused resolver
Screenshots
Desktop (please complete the following information):

OS: GitHub action

Operating System
  Ubuntu
  18.04.5
  LTS
Virtual Environment
  Environment: ubuntu-18.04
  Version: 20201108.1
 - Node Version. 12

Happening on my Mac OS also

**Additional context**
Add any other context about the problem here.

Hey @batical :wave: thanks for raising this! Unfortunately I have not been able to recreate this issue with the latest version of the CLI. If possible, could you try again using the latest version of the CLI? Also, were you receiving this error when you push or when you attempt to query?

Closing this , if the issye still presists feel free to comment and we will reopen the issue again


Open in CodeEdit

Description
This adds the option for "Open in CodeEdit" in finder.
Related Issue

#559
Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[x] I documented my code
[x] Review requested

Screenshots
Contextmenu:

Settings:

(Extra) Info.

I use austincondiff.CodeEdit.shared as suite name for the shared UserDefaults, since austincondiff.CodeEdit did not work.
The test is failing (for some strange reason, the product is building)

Tests are failing!

Tests are failing!

Yes, No idea how, it is the same '9VS2VKC5LQ' as in the main repo.


Introduce the Peers page

Adds a new page under Node settings that shows a list of connected peers.  A ProxyModel is added to translate the original PeerTableModel into a model that the ListView can handle.

Update from d820174 to d0c72f8:

fix whitespace lint errors

Update from d0c72f8 to 46615f:

Rebased with main
Used the Separator component in the ListView layout
Included a footer that shows the PeersIndicator as well as text describing the how many more peers until max

Update from 46615ff to c9aaeae:

squashed Separator changes into the original commit
Included separator in NodeSettings Peers link
Used CaretRightButton in NodeSettings Peers link


fs.absolute not so absolute

Problem:
phantomjs> var fs = require('fs')
undefined
phantomjs> fs.absolute('/..')
"/.."
Not sure if this is the intended behaviour, but "/.." is not an absolute path nor the expected result.
$ phantomjs --version
1.9.7
Thanks !

After further checking:
fs.absolute is using qt's QFileInfo::absoluteFilePath(), which documentation indicates this is the intended behaviour.
So i'm closing this issue !


Sceario: Support file location relative to project folder

When adding redirection or using FS operations in the scenario file, the paths default to relative-to-Checker. However, it would be better to use relative-to-ScenarioFile paths, not to depend on specific Checker location.
Inspired by the difference between TravisCI and CircleCI, each clone the project out to a different folder structure.

@NiLSPACE what do you think? I believe this will make writing scenarios easier, because it is expected that the redirections will be mostly for files that the scenario will provide alongside it, rather than files in the plugin's source folder.

I thought we already did this. Yes, it makes allot of sense to do this.


Fix showing seconds in FriendlyTime when capitalizing words

@ticky I wasn't 100% sure on how to fix this. I found a bug where seconds wouldn't have an affect if capitalised was being set to true.

Oh, good catch!


Background color for text

Hi is it possible to set backgroud color for text adding to image?

This isn't currently possible, but you can call text() with the third &$boundary argument to get the text's position, then draw a rectangle() with the desired fill color, then call text() again.
That's not super efficient, of course. I'd accept a PR that adds this capability to text() though.

Hey, I would like to tackle this issue! Would you be able to explain how you test your application since it is not provided in the explanation? Do I just fork the repo into VSCode and start working from there, as I already followed your installation guide?

Hey, I would like to tackle this issue! Would you be able to explain how you test your application since it is not provided in the explanation? Do I just fork the repo into VSCode and start working from there, as I already followed your installation guide?

@claviska

public function text($text, $options, $backgroundColor, &$boundary = null) {
// Pass the boundary back by reference
$boundary = [
  'x1' => $x + $boxText[0],
  'y1' => $y + $boxText[1] - $boxHeight, // $y is the baseline, not the top!
  'x2' => $x + $boxWidth + $boxText[0],
  'y2' => $y + $boxText[1],
  'width' => $boxWidth,
  'height' => $boxHeight
];

//add background color
if ($backgroundColor != "white") {
  rectangle($boundary['x1'], $boundary['y1'], $boundary['x2'], $boundary['y2'], $backgroundColor, $thickness = 1);
}

I have never used PHP before so please let me know if my approach is poor, but I have attempted to minimize the calling of text by creating a new backroundColor parameter for text(). Then, I added code after the boundaries are set which generates a rectangle that will be written over by the text after being called. I made it an if statement because I was unsure if it is possible to set a default value for backgroundColor in PHP. If so it would only generate the rectangle if the color isn't white, which I assumed was default, and potentially it would allow users to not have to add an additional input and use the function the same why they did before I added the extra parameter. Please let me know if I have any fault in my logic otherwise I will create a pull request and push the code.

I don't know of a more efficient way to do this using GD, aside from the suggestion I made above. I would like to make sure text() remains backwards compatible, so the arguments shouldn't change. In this case, you'd need to do:
text($text, $options, &$boundary, $backgroundColor) {
  // ...
}

At this time, there are no tests in the library. You can test things out locally using the example folder.

Hey @claviska, I made a pull request with a function that specifically has a function for this feature. Would you be able to explain how I can test this code using the example folder, as I am not familiar with testing in PHP?

Whoops, I completely overlooked the existing $options argument in text(), but I left a review comment on the PR that will carry this feature request home.
Let me know if you have any questions!


Wrong Result？

Hi, I follow the readme, install and run the demo, then I get like 9 output, as shows in image, and the girl is like get worse face?

Hi @StarsTesla ,
I guess "the worse face" you're referring to is related to the structure of the foreground image (the girl), where there is distortion in the nose and blurring around the right eye (from the observer's perspective). This distortion can occur due to the stochastic nature of the diffusion generative model and the zero-shot approach of our method, which does not involve fine-tuning the generative model. We also discuss this limitation in Section 5 of our paper.
Since we haven’t yet identified an optimal way to fully preserve the foreground structure, a temporary solution could be to rerun the algorithm and see if the structure improves, taking advantage of the model's stochasticity. Alternatively, you might try increasing the loss factor, such as the edge constraint loss, though this could reduce the intensity of the harmonization.
Hope this helps.


Can't use Git w/ GitKraken client

Gives me some error about not found

Yeah, I noted this, there's nothing we can do, they don't support the standard git external helper protocol.  Please ping them and tell them to do so!

In the mean time, you can use the git CLI for push/clone/fetch/pull, and gitkraken for everything else.

Ahh. okay. I'll look into using GitHub desktop as your blog post said that is supported.

GitHub desktop is tested and works
Sourcetree works too...


Add "DisableNetConnectionTest" and "SetMozillaForNetConnTest"

Disabling Network Connection test (a.k.a. NCSI , Network Connection Status Icon) prevents your computer to send DNS and HTTP requests to Microsoft's servers as soon as you are connected to any Network.
Note that "SetMozzillaForNetConnTest" is not granting you any privacy (yet).
The right method would be to setup your own NCSI server since, as far as I know, there isn't a public "privacy aware" one.
In any case, disabling NCSI should be enough of a precaution.

On a second though NCSI could also be used to manipulate your OS behavior, making it think it is offline while in reality it is not.

My systems send this on IPv4:
GET /connecttest.txt HTTP/1.1
Connection: Close
User-Agent: Microsoft NCSI
Host: www.msftconnecttest.com

And this on IPv6:
GET /connecttest.txt HTTP/1.1
Connection: Close
User-Agent: Microsoft NCSI
Host: ipv6.msftconnecttest.com

Mind you that the HTTP request is sent only when Windows think it's the first time they're connected using the current network. On subsequent connections, they are doing just the DNS probing.
There are definitely some problematic subjects related to privacy in Windows, but NCSI is not one of them. If you're concerned about Microsoft knowing you're using Windows, then this is likely not the correct project to address such issue. There are others which are much more privacy-oriented. Mine aims more for usability, which this tweak doesn't help in any way. Thanks for the contribution, though.

It's not about Microsoft knowing your operating system, but other people sniffing on the network / the network itself.
I also explain later that that's only the tip of the iceberg, it could be easily used to do exploit a vulnerability in your browser in 0 clicks.
In a MITM scenario the attacker denies you the NCSI's DNS requests, then allow the whole NCSI procedure and redirects you to the payload page using the unencrypted HTTP connection to www.msftncsi.com/redirect.
NCSI is an anti-feature imo.

I don't think you understand how NCSI works. There is no browser involved. It's directly the NLA service who makes the probe using bare WinSock API. It doesn't follow HTTP redirects and it expects a specific response body from the server, hence the ActiveWebProbeContent registry value. If it doesn't get that response on the first try, NLA marks the network as "without internet" and NCSI continues to probe every 30 seconds until it gets the expected response.
So yes, you can trick NLA into thinking that it doesn't have internet connection by intercepting or rerouting the requests, but the network will continue operate normally, so it's just a mild annoyance for the user. There is no room to exploit anything or deliver any payload.

No, you don't understand, Windows opens that redirect URL when he thinks there is no connection.
Disabling NCSI prevents that behavior.

 You're right. I did my research on NCSI back in Windows 7, but I have never encountered the http://www.msftconnecttest.com/redirect URL popping up until now.
In that case please accept my humble apologies. Yes, now disabling NCSI indded makes sense.

It sets DWord registry value NoActiveProbe to 1 under HKLM\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator.
Could you please check if there is any difference in setting the GPO instead of the service parameter? If there are none, I would prefer the GPO. The Mozilla part seems to be too 3rd-party, so you can drop that one from the PR entirely.

I would love to make some tests but right now I'm a little bit overwhelmed by studies and other projects. If you allow me to do it in the span of a couple of months, I'll file a report and  the commits as requested.


Typeahead support vue events?

I can't seem to get the keyup event to fire on the typeahead.  Is there any way to do that?
`<typeahead
        v-model="name"
        placeholder="name"
        async-key="data"
        async="http://api.address.here"
        :template="asyncTemplate"
        :on-hit="callBack"
        v-on:keyup="runThisFunction" >
    </typeahead> `

Wrap it in your own element:
<span v-on:keyup="runThisFunction">
   <typeahead
        v-model="name"
        placeholder="name"
        async-key="data"
        async="http://api.address.here"
        :template="asyncTemplate"
        :on-hit="callBack" >
    </typeahead>
</span>


Setting up Modelhub for internal use

Dear Team from Modelhub,
I like to set up the Modelhub Backend on an internal server.
As I understand your documentation (which is by the way good understandable) I also could use an own internal docker hub for the model-docker images as well as gitlab for hosting the models.json file. Then, the react app can be modified to load the models.json form the given url.
Do you have experience which setting up your solution for internal use only?
Thank you
Kind regards

Hello! Thanks for your interest.
We never really thought about it, but yes, theoretically you should have all the pieces to run this locally.

For hosting images, we use the free public version of dockerhub. You can continue using that (images will be public), or upgrade to paid to get private images. We don't have an "internal dockerhub", but I advice you to look at other container management platforms such as synergy
In the frontend, you can modify the react app to read a different models registry as you mention.
For hosting the model source code itself, we currently use github - but you can make your repos private as well, or gitlab..


xcode 6.3.1 build error when building for device

When building for the device with Xcode 6.3.1, Build version 6D1002, the build errors out due to xcodebuild: error: -destination implies architecture, -arch must not also be specified. I just commented out the arch and it built fine.  Did not test with older xcodes since I already saw 5 was marked for deprecation and that was the only other xcode I had.

Does xcodebuild change its arguments very often?  If it does then it might make sense to introduce a strategy pattern to encapsulate the options a particular version wants.  If that was done then I think it would be easier to support new and older versions of xcodebuild (support two most recent versions? idk).
I'm not sure how this would look in the code but I can probably get something for review in a few days.  On the flipside if xcodebuild does not change its arguments very oftne then I don't know how much value pulling out strategies would be.

Doing a strategy pattern might make sense, but I don't think these arguments change that often (and if Xcode breaks compatibility, Illuminator will be following suit, by necessity).  One thing that's clear to me is that since this project is new enough, I don't know all the use cases that people need for build options.
My best-case scenario would be to have Illuminator stay away from wrapping any & all Xcode errors -- just make AutomationBuilder be more careful about how it auto-fills the compiler options.

OK, I'm officially back from vacation travel.  I can see now that my initial comment was stupid, and that @kviksilver had it right -- we need to remove the line that was commented, and that's all.
Just fix that and I'll merge.  Sorry for the delay.


Latex and Sphinx are not yet functioning together.

This example is working on sphinx:
.. manim:: DotScene1
    :quality: low
    :save_last_frame:

        class DotScene1(Scene):
            def construct(self):
                dot = Dot().set_color(GREEN)
                self.add(dot)
                self.wait(1)

However, when I have something tex related, it throws an error:
.. manim:: TextExample
    :quality: medium
    :save_last_frame:

    class TextExample(Scene):
        def construct(self):
            t = TextMobject("Hello World")
            self.add(t)

Exception occurred:
File "/home/k/projects/manim-community/manim/utils/tex_file_writing.py", line 32, in generate_tex_file
with open(result, "w", encoding="utf-8") as outfile:
FileNotFoundError: [Errno 2] No such file or directory: 'media/Tex/7d1ec941f0e30957.tex'
The full traceback has been saved in /tmp/sphinx-err-4zdxhjgt.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at https://github.com/sphinx-doc/sphinx/issues. Thanks!
make: *** [Makefile:26: html] Error 2

A similar error message comes e.g. for this example:
.. manim:: Plot1
    :quality: medium
    :save_last_frame:

    class Plot1(GraphScene):
       def construct(self):
           self.setup_axes()
           my_func = lambda x: np.sin(x)
           func_graph=self.get_graph(my_func)
           self.add(func_graph)

I've identified the underlying issue for this as well, preparing a PR in a moment.


fix：add show 404 pages for all non-existent object in object edit pages

fix：#1951
existent whether the data exists when get data.it will show 404 pages if non-existent
before

after
https://github.com/casdoor/casdoor/assets/82175017/957edb2d-c411-47b0-b12b-9c8075296cc1

Replaced by: https://github.com/casdoor/casdoor/pull/1955


OCPBUGS-44476: Use ingress role in private link controller for DNS operations

What this PR does / why we need it:
Before this commit, the private link controller was assuming the same role for all cloud operations in a shared VPC infrastructure. In order to support the topology in which private hosted zones are created in the cluster account and not in the VPC owner account, the private link controller will now use the ingress role for route53 operations and only use the shared control plane operator role for vpc endpoint operations. This allows customers to create the ingress role in the account where the private hosted zones live, and the ingress role can be used to manage dns records by both the ingress operator and the private link controller.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #OCPBUGS-44476
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/jira refresh

/lgtm
/hold
for others to take a look

/retest-required

aks flake looks like due to TestNTOMachineConfigGetsRolledOut
/retest-required
/hold cancel

/cherry-pick release-4.17


The htmlentities issue still exists with single quote

The recent PR fixes the htmlentities issue for all characters except single quote
https://github.com/askvortsov1/rich-icu-message-formatter/blob/18330c61b304e1f973b28362855013d9bdc891ab/source/utilities.js#L238
' should be '

Argh this is what I get for using single-quoted strings in my test cases and forgetting to include single quotes in the tests.

Fixed in 016b35fc803ac7cec368a9283775f569fe641807


Add configs from Tensorflow's .bazelrc file

Tensorflow's .bazelrc file provides various useful configs to make life easier for the developers.

It sets --verbose_failures as a default setting when building. In case of a build error with this option enabled bazel will try to provide as much information as possible.
It defines WIN32_LEAN_AND_MEAN which also helped me in the past when I was dealing with various BoringSSL issues. By default including "Windows.h" will include pretty much everything that Windows API has, including various declarations of the same structures that BoringSSL and OpenSSL have which produces compilation errors. Defining WIN32_LEAN_AND_MEAN disables the whole Windows.h's "include everything" strategy. NOGDI pretty much does the same thing.
I'm not particularly sure about "--copt=/Zc:__cplusplus" thing, but while dealing with ASIO we encountered several errors regarding memory allocation and deallocation (even though we saw it happen only on Linux, I would like to remind you that we only have AddressSanitizer enabled in our Linux workflow, so we don't really know what is happening on Windows and MacOS), so I still included it into the config. At least it doesn't break our build or tests and it looks like MSVC team also recommends setting this option.

I also refactored our C++17 configs, now they look similar to Tensorflow's .bazelrc file.
I added an additional config for building eventuals with GCC, just in case.

--host_cxxopt would be used only for genrules, do we need that one?


[$250] QBO Desktop – Missing message in admins room after a failed connection

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.49-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/50045
Action Performed:

ND: Navigate to https://staging.new.expensify.com/
ND: Log in with a new Gmail account
ND: Create a workspace
ND: Navigate to OD by clicking on Account settings - Domains
OD: Navigate to Settings - Workspaces - "Created workspace name" - Connections
OD: Upgrade the WS to Collect with the lock icon next to "QuickBooks Desktop"
OD: Click on QuickBooks Desktop - Connect to QuickBooks Desktop - Connect to QuickBooks Desktop
OD: Attempt to connect to QuickBooks Desktop (the connection will fail)
ND: Navigate to the #admins room

Expected Result:
"Failed to sync with QuickBooks Desktop" message shows
Actual Result:
Missing message in #admins room
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/e8809e9b-cdf0-416a-bd45-dc1d52384bad
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021846685325712658805
Upwork Job ID:<PHONE_NUMBER>712658805
Last Price Increase: 2024-10-16
Automatic offers:

rojiphil | Reviewer | 104486913

Issue OwnerCurrent Issue Owner: @rojiphil

@slafortune  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 1

It works fine on my side.

Hello, Im Artem from Callstack and would like to help with this issue!

Tried to reproduce it with different accounts, new accounts, but not luck to reproduce.
https://github.com/user-attachments/assets/17eed4d1-d249-4b83-8ad4-47857919b3c4
https://github.com/user-attachments/assets/4ea3f211-d604-47a5-b9b3-068006e649dd
@lanitochka17 Can you please check these recordings, maybe I missed something, but from my side everything works fine
And can you retest please if everything is correct with my recordings

Added the retest tag too

Issue not reproducible during KI retests. (First week)

Updated to weekly - one more test and we'll close

Updated to weekly - one more test and we'll close

@slafortune We are at the end of the second week now and I think we can close this issue as it is not reproducible as mentioned here.

Issue not reproducible during KI retests. (Second week)

@garrettmknight @slafortune Let us close this issue as it is not reproducible for the second week and also as mentioned here.

Issue not reproducible during KI retests. (Third week)

@garrettmknight,  looks like @slafortune is on leave. Can you please close this issue as it is not reproducible for the third consecutive week? Thanks.


Switch to CircleCI

@charlierudolph @allewun
Circle caches everything, hence we achieve build times of 4:30ish right now.
Implements #377

Don't be distracted by the red Travis build - it doesn't work on Travis anymore because this PR removes the Travis configuration files. The Circle build is green, that's what counts here.

all comments addressed

:+1:  Just curious, what are the artifacts that circle injects? Looks like unicode from your regex

Yeah, it adds \x0F and \u0000F and \u0001F amongst other things. Some of them just change color and don't show up in normal strings, so I had to add dump to make them visible in the error message.

:ship: once final comments are addressed


Yuqxia/fix antares

fix memcpy annotation in antares ir;
fix input arguments error in antares ir;
fix conv2d ir;
fix front end convert for conv2d and maxpool.

Does onnx frontend need this fix?

Does onnx frontend need this fix?

I dont think so.


Exploring possibility of using analog for docs

Which scope/s are relevant/related to the feature request?
Docs
Information
Currently we are using docusaurus for documentation, but analog has the capability for rendering markdown, how about exploring the possibility of using analog for documentation, and maybe in future we can provide an doc template similar to what astro did with starlight.
Describe any alternatives/workarounds you're currently using
As of today there are 3 solutions docusaurus or starlight by astro
I would be willing to submit a PR to fix this issue

[X] Yes
[ ] No

I was just wondering the same.

I thought I responded to this previously, but I think its a good idea. I'd like to explore rebuilding the docs with Analog now that the 1.0 is out


fix(deps): update all non-major

This PR contains the following updates:

Package
Type
Update
Change

anyhow
dependencies
patch
1.0.77 -> 1.0.79

async-trait
dependencies
patch
0.1.75 -> 0.1.77

axum
dependencies
patch
0.7.3 -> 0.7.4

base64
dependencies
patch
0.21.5 -> 0.21.7

chrono
dependencies
patch
0.4.31 -> 0.4.34

parse-display
dependencies
minor
0.8.2 -> 0.9.0

parse-display
dev-dependencies
minor
0.8.2 -> 0.9.0

postgres

minor
16.0-alpine -> 16.2-alpine

proc-macro2
dependencies
patch
1.0.71 -> 1.0.78

quote
dependencies
patch
1.0.33 -> 1.0.35

serde (source)
dependencies
patch
1.0.193 -> 1.0.196

serde_json
dependencies
patch
1.0.108 -> 1.0.113

syn
dependencies
patch
2.0.43 -> 2.0.48

tailwindcss (source)
dependencies
minor
3.3.5 -> 3.4.1

thiserror
dependencies
patch
1.0.52 -> 1.0.57

tokio (source)
dependencies
patch
1.35.1 -> 1.36.0

tokio (source)
dev-dependencies
patch
1.35.1 -> 1.36.0

ureq
dependencies
patch
2.9.1 -> 2.9.5

uuid
dependencies
patch
1.6.1 -> 1.7.0

uuid
dev-dependencies
patch
1.6.1 -> 1.7.0

Release Notes

frozenlib/parse-display (parse-display)
v0.9.0
Compare Source
Added

Support #[display(with = ...)]. #36
Support for use of format traits other than Display for self. #35
Allow DST fields with #[derive(Display)].

Changed

Use [std::sync::OnceLock][std::sync::OnceLock] in generated code and remove [once_cell][once_cell] dependency.

tailwindlabs/tailwindcss (tailwindcss)
v3.4.1
Compare Source
Fixed

Don't remove keyframe stops when using important utilities (#12639)
Don't add spaces to gradients and grid track names when followed by calc() (#12704)
Restore old behavior for class dark mode strategy (#12717)

Added

Add new selector and variant strategies for dark mode (#12717)

Changed

Support rtl and ltr variants on same element as dir attribute (#12717)

v3.4.0
Compare Source
Added

Add svh, lvh, and dvh values to default height/min-height/max-height theme (#11317)
Add has-* variants for :has(...) pseudo-class (#11318)
Add text-wrap utilities including text-balance and text-pretty (#11320, #12031)
Extend default opacity scale to include all steps of 5 (#11832)
Update Preflight html styles to include shadow DOM :host pseudo-class (#11200)
Increase default values for grid-rows-* utilities from 1–6 to 1–12 (#12180)
Add size-* utilities (#12287)
Add utilities for CSS subgrid (#12298)
Add spacing scale to min-w-*, min-h-*, and max-w-* utilities (#12300)
Add forced-color-adjust utilities (#11931)
Add forced-colors variant (#11694, #12582)
Add appearance-auto utility (#12404)
Add logical property values for float and clear utilities (#12480)
Add * variant for targeting direct children (#12551)

Changed

Simplify the sans font-family stack (#11748)
Disable the tap highlight overlay on iOS (#12299)
Improve relative precedence of rtl, ltr, forced-colors, and dark variants (#12584)

v3.3.7
Compare Source
Fixed

Fix support for container query utilities with arbitrary values (#12534)
Fix custom config loading in Standalone CLI (#12616)

v3.3.6
Compare Source
Fixed

Improve types for resolveConfig (#12272)
Don’t add spaces to negative numbers following a comma (#12324)
Don't emit @config in CSS when watching via the CLI (#12327)
Ensure configured font-feature-settings for mono are included in Preflight (#12342)
Improve candidate detection in minified JS arrays (without spaces) (#12396)
Don't crash when given applying a variant to a negated version of a simple utility (#12514)
Fix support for slashes in arbitrary modifiers (#12515)
Fix source maps of variant utilities that come from an @layer rule (#12508)
Fix loading of built-in plugins when using an ESM or TypeScript config with the Standalone CLI (#12506)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 0.10.1 :tada:
The release is available on:

GitHub release
v0.10.1

Your semantic-release bot :package::rocket:


How to disable SSL certificate validation on client side for messages tests in testing environment

Hi! i need to know how to implement a way for the client to not validate SSL certificates in our testing environment, because i don't have the code or any way to disable on the server, we need to only tests the server and make automated tests for the messages to and from the server. But all examples i found are to disable in the server, not in the client.
This is the error im receiving:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
What i want is to be able to establish a connection to a WebSocket testing server inside our test methods using junit.
This is the client class:
package application.apiClasses.apiEndpoint;

import javax.mail.Session;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft;
import org.java_websocket.handshake.ServerHandshake;

import java.net.URI;
import java.nio.ByteBuffer;
import java.util.Map;
import java.util.logging.Logger;

public class ApiWebSocketClient extends WebSocketClient {

    private final Logger logger = Logger.getLogger(String.valueOf(this.getClass()));

    public ApiWebSocketClient(URI serverUri, Draft draft) {
        super(serverUri, draft);
    }

    public ApiWebSocketClient(URI serverURI) {
        super(serverURI);
    }

    public ApiWebSocketClient(URI serverUri, Map<String, String> httpHeaders) {
        super(serverUri, httpHeaders);
    }

    @Override
    public void connect() {
        logger.info("Starting connection...");
        super.connect();
    }

    @Override
    public void onOpen(ServerHandshake handshakeData) {
        send("Hello, it is me. Mario :)");
        logger.info("Opened connection");
    }

    @Override
    public void onMessage(String message) {
        logger.info("received: " + message);
    }

    @Override
    public void onMessage(ByteBuffer message) {
        logger.info("received ByteBuffer: " + message);
    }

    @Override
    public void onClose(int code, String reason, boolean remote) {
        logger.info("Connection closed by " + (remote ? "remote peer" : "us") + " Code: " + code + " Reason: "
                + reason);
    }

    @Override
    public void onError(Exception e) {
        logger.info("An error ocurred: " + e.toString());
    }
}

This is the code of the test method:
            Map<String, String> headers = new HashMap<>();
            String webSocketProtocol = responseProvisionSession.getHeader("Authorization")
                    .replaceAll("Bearer " , "") + "XXXXXXXXXXXXXXXXXX";

            headers.put("Sec-WebSocket-Protocol", webSocketProtocol);
            logger.info("WebSocket protocol string: " + webSocketProtocol);

            //headers.put("Sec-WebSocket-Version", "13");
            //headers.put("Sec-WebSocket-Key", "XXXXXXXXXXXXXXXXXXXXX");
            //headers.put("Connection", "Upgrade");
            //headers.put("Upgrade", "websocket");
            //headers.put("Sec-WebSocket-Extensions", "permessage-deflate; client_max_window_bits");
            this.apiWebSocketClient = new ApiWebSocketClient(urlWebSocket,headers);
            logger.info("Has SSL support: " + this.apiWebSocketClient.hasSSLSupport());

            this.apiWebSocketClient.connect();

I tried to disable using the following snippets of code before instantiating the client, with no luck:
            sslContext = SSLContext.getInstance("TLS");
            sslContext.init(null, new TrustManager[]{UnsafeX509ExtendedTrustManager.INSTANCE}, null);

And this, but failed to understand if i can use that SSLContext in the client:
            /* Start of Fix */
            TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
                public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; }
                public void checkClientTrusted(X509Certificate[] certs, String authType) { }
                public void checkServerTrusted(X509Certificate[] certs, String authType) { }

            } };

            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

            // Create all-trusting host name verifier
            HostnameVerifier allHostsValid = new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) { return true; }
            };
            // Install the all-trusting host verifier
            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
            /* End of the fix*/

I also tried to add a custom unsafeTrustManager but this is also for the server i think:
import javax.net.ssl.SSLEngine;
import javax.net.ssl.X509ExtendedTrustManager;
import java.net.Socket;
import java.security.cert.X509Certificate;

public final class UnsafeX509ExtendedTrustManager extends X509ExtendedTrustManager {

    public static final X509ExtendedTrustManager INSTANCE = new UnsafeX509ExtendedTrustManager();
    public static final X509Certificate[] EMPTY_CERTIFICATES = new X509Certificate[0];

    private UnsafeX509ExtendedTrustManager() {}

    public static X509ExtendedTrustManager getInstance() {
        return INSTANCE;
    }

    @Override
    public void checkClientTrusted(X509Certificate[] certificates, String authType) {
        // ignore certificate validation
    }

    @Override
    public void checkClientTrusted(X509Certificate[] certificates, String authType, Socket socket) {
        // ignore certificate validation
    }

    @Override
    public void checkClientTrusted(X509Certificate[] certificates, String authType, SSLEngine sslEngine) {
        // ignore certificate validation
    }

    @Override
    public void checkServerTrusted(X509Certificate[] certificates, String authType) {
        // ignore certificate validation
    }

    @Override
    public void checkServerTrusted(X509Certificate[] certificates, String authType, Socket socket) {
        // ignore certificate validation
    }

    @Override
    public void checkServerTrusted(X509Certificate[] certificates, String authType, SSLEngine sslEngine) {
        // ignore certificate validation
    }

    @Override
    public X509Certificate[] getAcceptedIssuers() {
        return EMPTY_CERTIFICATES;
    }

}

Any help will be ver appreciated! also anything about testing websocket messages in java. thanks!

Hey,
could you try to disable the endpoint identification algorithm (https://github.com/TooTallNate/Java-WebSocket/wiki/No-such-method-error-setEndpointIdentificationAlgorithm#workaround)
Otherwise I would ask you to follow solutions provided by stackoverflow.
Best regards,
Marcel


SplitContainer dragger does nothing when dragged if the container is too small

Godot version
3.4.stable
System information
Windows 10, GLES3
Issue description
SplitContainer dragger doesn't work in sub-viewport.
Steps to reproduce

set up ViewportContainer - Viewport - HSplitContainer/VSplitContainer (or Use ViewportTexture on TexutreRect/Meshes and viewport.input(event) to forward inputs).
drag SplitContainer's dragger.
will not change size of SplitContainer's children.

Minimal reproduction project
SplitContainerBug.zip

SplitContainers in your example can't resize their children just because of the minimum sizes they need to respect. If you'd make these containers bigger you'd be able to drag the children.
Showing the minimum possible size:

For minimum size you can't drag:

For bigger size it works just fine:

The same holds for subviewports:

The expected behavior of a splitter is for children to shrink as much as possible and then wrap or get clipped when they won't shrink any more. The children of a splitters containers should have no say in what the splitter can or can't do. The ability to reduce the width should not be blocked outside of the splitters own min_size.x restrictions. Like many others, I now have to roll my own splitter to do what this one should already do.

Like many others, I now have to roll my own splitter to do what this one should already do.

Please post the code to those splitter implementations (or the one you're writing) :slightly_smiling_face:


Generate Functions + Other Tweaks

Draft for now as needs to be rebased on develop after #92.
This PR:

Moves function generation code from GRecord to GClass in order to generate static methods (C functions) for classes like GdkScreen.
Fixes a bug where functions were only generated when 'moveTo' was not null (whereas we want to generate functions when it is null - i.e. functions that haven't been moved).
Re-adds WrapPointerAs() as a wrapper around TryWrapPointerAs<T>().
Makes GObject's Handle public, as we need to access it from outside the class in order to implement functions like Box.PackStart(widget, ...), where it needs the handle of the widget passed to it.

@firox263 Makes GObject's Handle public, as we need to access it from outside the class in order to implement functions like Box.PackStart(widget, ...), where it needs the handle of the widget passed to it.

Can't we use protected static IntPtr GetHandle(Object obj)? I did not check the code but with this already available function every GObject can get Handles from each other GObject. If we can use this we don't need to make Handle public. It is already used in some places, too.

@badcel: Can't we use protected static IntPtr GetHandle(Object obj)? I did not check the code but with this already available function every GObject can get Handles from each other GObject. If we can use this we don't need to make Handle public. It is already used in some places, too.

Ah, my bad. I think I wrote some of this code before we added GetHandle (or maybe I just didn't notice 😅). This is definitely a much better way of doing things - will update now.

@badcel For struct.sbntxt do we want Native to be a struct or a class? I'm not sure if it makes a difference since all of the methods inside are static.
For reference:

@firox263 : I made a quick test with this code: https://gist.github.com/badcel/53391d0bc37224c692c2c0ed4b79274f
It looks like both structs have the same size. Even if we add fields to the class / struct it does not change which makes kind of sense because the struct is just a container for data. The Native class or structure is just another type, which is nested inside the enclosing type. As long as the enclosing type does not have any field of this data type there is no data to transfer, because the type hierarchy is not encoded in the data at all.
So we can probably choose which type to use. I would prefer the class as it is inline with the generated classes and does not allow to generate regular fields as it should only connect us with the native world via methods.


📚 [Documentation] - Wrong link to contributing guidelines in Issue Forms

Description of the documentation deficiency / workflow suggestion. ✍🏻
I am aware of the previous issue regarding the comment by the GitHub Action Bot mentioning the issue with the url.
I am suggesting that the links in the issue forms, as shown below, are not functioning properly due to a difference in the name of the Contributing.md file to CONTRIBUTING.md.
Additionally, I will incorporate a checklist in the forms to inquire whether the author of the issue is willing to work on it. This will make it easier for the maintainers. I will do this modification in all the issue forms.

Link

Redirected Page

I would like to contribute to this under GSSoC'23.
Please assign me, and I will start contributing to this issue by creating a pull request.
Contributor terms

[X] I agree to follow the Contributing Instructions

Hey, it seems like this has been fixed by our mentor. Can you please kindly recheck and let me know?

Hey, it seems like this has been fixed by our mentor. Can you please kindly recheck and let me know?

I have checked it, and it hasn't been fixed. You can verify by visiting the following link: here


get() method of Eloquent model returns all database entries.

Laravel Version: 5.7.4
PHP Version: 7.1
Database Driver & Version: MySql

Description:
Its no release bug, but maybe a semantic bug.
For me it was very unexpected to get all fake users
from my test database by calling "->get()" on the
model object.
User::find(1)->get(); // all users as Eloquent\Collection

Steps To Reproduce:
$user = User::find(1);
echo get_class($user);  // "App\Models\User" -> like expected
echo get_class($user->get()); // "Illuminate\Database\Eloquent\Collection" -> unexpected

But anyway I love working with Laravel. Thanks to all developers.

But why you call get() on user instance? 😊

Your case is the same as below:
// UserController.php

use App\User;

class UserController extends Controller
{
    protected $users;

    public function __construct(User $users)
    {
        $this->users = $users;
    }

    public function index()
    {
        return $this->users->get();
    }
}

In both cases, you're calling get() on an instance of User. This is just how Eloquent works.

What would you expect to happen?

#24679


TypeError: string indices must be integers

when i run run.sh, i met a problem.
hmean.py, line 29, in compute_hmean
recall    = resDict['method']['recall']
TypeError: string indices must be integers
can somenone  help me?

How do you solve it？

same error, have anyone solve it?

I met the same error and I don't know how to solve with it.


Does the HTTPProxy structure require the mutex?

Hi! I think this field don't need. First of all, each url corresponds to several servers, and these mapping relationships are stored in each httpproxy pointer. In the process of reading the source code, I found that this field (mutex) will only be used in the health check concurrency, but after a little thinking, any two different urls will not appear data race. Because the location of the stored mapping relationship is not the same; For the same url, the only possible data race will occur if there is a duplicate in the server, but this request should be illegal, you can directly check when reading yaml file, then you can not need mutex field.
Of course, this field don't effect system operation.

sorry, This field is needed, but I have not considered it completely.


Validate if token is associated with a service account

Auth will be communicating with WIT using service account tokens .
( https://github.com/fabric8-services/fabric8-auth/commit/8d7f5a3646974ae8820893d75c29f3f5e9b1ff66#diff-6b1a7621961d1f6fe7463db59c5afef5R374 )
This PR adds a method to detect if the token is a service account token ( and not a user token )

@sbose78 snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1636-1


DESCRIPTION :
I want to add code for all 5 types of inheritances in C++.

Single Inheritance
Multiple Inheritance
Hierarchical Inheritance
Multilevel Inheritance
Hybrid Inheritance

Also, I want to add code for all modes of inheritance in C++.

Public Inheritance
Protected Inheritance
Private Inheritance

@pushpakumari5117 it sounds like a great idea, but we only are allowing one file per PR, so I would suggest breaking down your statement into multiple issues and PRs. Make one issue for single inheritance, another one for multiple and so on,
And only change one file per PR. I am closing this issue. you could get started with this idea by raising multiple issues one by one.
Happy Coding.


docker registry support broken

Hi,
skopeo copy docker://fedora:24 dir:fedora-24
skopeo copy docker://ubuntu loci:ubuntu:latest
no longer work.  @cyphar found this is due to the new 'multiple architecture image' support in the docker registry.

Effectively the larger issue is that we need to figure out how we're going to handle multi-arch. If we just do a full conversion to OCI there's a overhead of downloading the layers for every arch, and umoci currently doesn't support saying "extract the amd64 image under this multi-arch tag" -- mainly because multi-arch doesn't actually make a lot of sense in the first place. I can work on the umoci problems but this runs into the generic problem of "what are we meant to do when filtering the ManifestList tree".

@cyphar @hallyn we're working on this /cc @mtrmac

This is worked around in master (#417), I’m working on a larger fix.

Effectively the larger issue is that we need to figure out how we're going to handle multi-arch.

Yeah.  Several of the c/image transports are incapable of multiple images (e.g. having a single manifest by definition, or being tied to the current architecture, like docker-daemon:); it’s conceptually easy enough to just choose a single manifest out of a the manifest list, and then copy that image instance. I’m working on that now.
If a destination does support manifest lists or something similar, it seems plausible that copy.Image would by default just copy all instances (probably allowing callers to opt for a single instance), and also upload a manifest list (the original, or a necessarily updated copy), taking care to only copy the shared blobs once. With a reasonably careful implementation the copy.Image can copy a manifest list wholesale without necessarily understanding anything about the architecture/platform qualifications (e.g. the scary OCI capabilities are not a blocker).
That doesn’t really say what to do in with OCI indexes… tentatively:

We are not going to support signing manifest lists, at least not initially, only the individual manifest instances. That will allow copying a single instance out of the list elsewhere with matching signatures, and it will also let us freely edit the manifest list when copying the image.
The current oci/layout implementation supports either a single-image index, or a multi-image index in which case the …ref.name annotation must be specified by the consumer. In that model, it seems simple enough to pretend that all images with the same …ref.name annotations represent a “manifest list” within a “repository”, and copy these images as a set. (I have no idea what the code should do if there are nested indexes or something like that, and I’ll be happy to leave worrying about that to someone else; as long as the code can handle a simple flat list, that’s good enough as far as I am concerned.)

Does that make sense?

@mtrmac

... In that model, it seems simple enough to pretend that all images with the same …ref.name annotations represent a “manifest list” within a “repository”, and copy these images as a set.

What you would want is to use a nested manifest IMO. While duplicates are not disallowed by the OCI image spec, this just gets more ugly in my opinion for other implementations. But it's up to you, I'll have to handle it in umoci either way (and I think that on paper the multiple-tags problem has been solved in umoci master but I still need to write the architecture matching code).

(I have no idea what the code should do if there are nested indexes or something like that, and I’ll be happy to leave worrying about that to someone else; as long as the code can handle a simple flat list, that’s good enough as far as I am concerned.)

umoci has a package that handles this for you, and we really should think about switching containers/image's implementation to using umoci's oci/cas and oci/casext packages.

Why not contributing those pkgs in c/image though :angel:

Because only two of them would make sense in c/image, and I was hoping all the packages will end up in OCI (hell, I'm still hoping the whole of umoci will become an OCI project). At the moment I'm just keeping them in umoci, but I'm encouraging you to vendor them.

... In that model, it seems simple enough to pretend that all images with the same …ref.name annotations represent a “manifest list” within a “repository”, and copy these images as a set.

What you would want is to use a nested manifest IMO.

I’m sorry, I was really focused only on how the generic copy pipeline would deal with the OCI indexes, and the point was primarily that the ability to present a subset of the index / a modified version of it to the generic copy pipeline means that the generic pipeline does not restrict OCI from implementing anything. Whether OCI ends up using a nested manifest or not was secondary to me; you’re right that a nested manifest looks cleaner.

we really should think about switching containers/image's implementation to using umoci's oci/cas and oci/casext packages.

Yeah, maximizing code reuse and common interpretation of the spec would be great; I guess the contributors so far have found it easier to implement a small subset of the index reading/writing behavior from scratch, or didn’t know about umoci.

Running into trying to pull an alpine image. It looks like #420 has a possible fix for this, but hasn't gotten much attention. In the meantime, is there a workaround?

#417 has a hotfix that should improve this -- the latest release (0.1.24) should contain that fix.

I'm confused then. That looks like it explicitly does not support this. And I did try to use it and got the same error when trying to pull alpine:3.6.

That looks like it explicitly does not support this.

Which “this” precisely do you mean?

And I did try to use it and got the same error when trying to pull alpine:3.6.

What “same” error? On current master, ./skopeo --policy default-policy.json copy docker://alpine:3.6 dir:t seems to work well enough. Please provide exact steps to reproduce and expected behavior.

Aha, ok, that command does work. But this one
skopeo copy docker://ubuntu@sha256:506e2d5852de1d7c90d538c5332bd3cc33b9cbd26f6
ca653875899c505c82687 docker-archive://h:ubuntu:latest

gives the error message
can not copy docker://ubuntu@sha256:506e2d5852de1d7c90d538c5332bd3cc33b9cbd26f6ca653875899c505c82687: manifest contains multiple images

Ah, right. That indeed needs #420 . The only workaround in the meantime would be to use the @sha256: digest of the relevant architecture-specific manifest instead of the digest of the manifest list.

Since this was merged a while ago, I assume this issue is fixed.

Well, ultimately this was talking about https://github.com/containers/image/issues/400 as the 100% fix, but we don’t quite need a skopeo pointer to it that also deals with the urgent situation at that time.


⭐ Update Combo UI

Is your feature request related to a problem? Please describe.
Combo UI doesn't match the one the design sheet #13
It needs to be a glowing contour that breaks when combo end.

Je suis pas super fan de l'idée de glowing contour à y réfléchir.
Pour rajouter à cela, ce n'est pas facile de faire un glowing effect dans Godot, à réfléchir comment avoir quelque chose de mieux.
Le truc, c'est qu'il faut "sentir" lorsqu'on rentre et casse la combo 🤔

Interesting shaders to look at for inspiration:

https://www.shadertoy.com/view/cl3GW7
https://www.shadertoy.com/view/MdX3zr
https://www.shadertoy.com/view/cdV3DW
https://www.shadertoy.com/view/cdV3DW
https://www.shadertoy.com/view/mt2SDy
https://www.shadertoy.com/view/XsXXDn
https://www.shadertoy.com/view/dtc3DM

Let's keep it simple for now and add a pump effect on correct touch and keep the color distortion effect only when in a combo

I like the idea of the flame above too, like you have a flame around your character during a combo, but it is not compute efficient..

For more efficient fire shader:

https://www.shadertoy.com/view/4dfcW4 (same as flame before but more efficient)
https://www.shadertoy.com/view/XsXSWS (flames)
https://www.shadertoy.com/view/3ssSD8 (flames)
https://www.shadertoy.com/view/ltBfDt (for nice flame contour effect
https://www.shadertoy.com/view/ttSSWK (flames)
https://www.shadertoy.com/view/XsdBDS (flame with nice effect 2D texture)
https://www.shadertoy.com/view/csyGDz (cool 2D flame toon effect)
https://www.shadertoy.com/view/7tXXDH (multicolor flame)
https://www.shadertoy.com/view/wdtGWn (nice and detailed blue flame, good explanation in the code)
https://www.shadertoy.com/view/MljSWR (multicolor line flame)
https://www.shadertoy.com/view/XdKyDm (fire runes)
https://www.shadertoy.com/view/4dSyWK (speed line effect)
https://www.shadertoy.com/view/XttczX (circle shaking pink flame)
https://www.shadertoy.com/view/NtKGRK (fire ball)
https://www.shadertoy.com/view/tlBGWG (flame contour)

Nice explosions (to end/start the combo for example)

https://www.shadertoy.com/view/7sjfRy (sparkling explosion)
https://www.shadertoy.com/view/XdcyRX (hyperspace explosion)
https://www.shadertoy.com/view/lssfzs (underwater explosion)
https://www.shadertoy.com/view/wldfDr (sparkly explosion)
https://www.shadertoy.com/view/3dcfWj (cartoon style)
https://www.shadertoy.com/view/DsVSzG (radial samuarai explosion)
https://www.shadertoy.com/view/Nlj3zh (toon like explosion)


feat: Min/max version for the tagline

Hi everyone!
The JSON can now provide a min_version and/or a max_version for each news item.
Some examples:

Only max_version: a message to notify there's an update available
min_version only or min_version=max_version: changelog of new features

By version, it's not the version code, but the version name (e.g.: 1.2.3)
In this PR, there's also a fix, where sometimes the Tagline is not visible (mainly at launch) and the DEV Mode status is not refreshing.

Codecov Report
Attention: Patch coverage is 0% with 44 lines in your changes missing coverage. Please review.

Project coverage is 6.59%. Comparing base (4d9c7fc) to head (7e973c3).
Report is 504 commits behind head on develop.

Files with missing lines
Patch %
Lines

...h_app/lib/data_models/news_feed/newsfeed_json.dart
0.00%
29 Missing :warning:

...p/lib/data_models/news_feed/newsfeed_provider.dart
0.00%
9 Missing :warning:

..._app/lib/data_models/news_feed/newsfeed_model.dart
0.00%
5 Missing :warning:

...b/pages/preferences/user_preferences_dev_mode.dart
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #5917      +/-   ##
==========================================
- Coverage     9.54%   6.59%   -2.95%
==========================================
  Files          325     436     +111
  Lines        16411   24563    +8152
==========================================
+ Hits          1567    1621      +54
- Misses       14844   22942    +8098

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Declare interface for module.exports

Cannot declare interface for module.exports

TypeScript Version:  2.4
Code
I have tried:
export {} as X;
export module x implements X {}
export namespace x implementsX {}

etc.
None of them seem to work. How to do this?
I have posted this question on SO:
https://stackoverflow.com/questions/46994615/declare-current-module-as-having-a-particular-interface
Expected behavior:
I would export to be able to declare the interface for which a CommonJS module should adhere.
Actual behavior:
I cannot seem to find a way to declare the interface for a module's exports.

ah, my issue seems related to this one: https://github.com/Microsoft/TypeScript/issues/420


net-ftp isn't bundled in Ruby 3.1 anymore so dep on it

Signed-off-by: Tim Smith<EMAIL_ADDRESS>

https://buildkite.com/chef/chef-chef-main-omnibus-adhoc/builds/794


JVM toolchains support should prioritize ARM over x86 JVMs on ARM environments

Hi! The toolchains support is super awesome, thanks for adding it!
One thing I noticed after adding it is that my build became significantly slower (22s vs 8s). Apparently, the culprit was that it used AdoptOpenJDK x86 build (vs Azul's Zulu ARM). I am on Apple M1, so both work, but the x86 one is getting translated with Rosetta 2 and its performance isn't as good as the ARM build.
Expected Behavior
ARM build is preferred over x86
Current Behavior
AdoptOpenJDK's x86 build gets selected by Gradle
Context

Mac OS X
Apple Silicon M1 processor
Rosetta 2 installed

% ../gradlew javaToolchains

> Task :example:javaToolchains

 + Options
     | Auto-detection:     Enabled
     | Auto-download:      Enabled

 + AdoptOpenJDK 16.0.1
     | Location:           /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
     | Language Version:   16
     | Vendor:             AdoptOpenJDK
     | Is JDK:             true
     | Detected by:        macOS java_home

 + Zulu JDK 16.0.1
     | Location:           /Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home
     | Language Version:   16
     | Vendor:             Zulu
     | Is JDK:             true
     | Detected by:        Current JVM

FTR setting vendor = JvmVendorSpec.AZUL makes it fast again :)

Certainly this is still an issue on Gradle 8.4; additionally it would ideally be possible to specify which architecture should be selected by Gradle, with default to auto-select current architecture, which would allow to optionally use Rosetta when needed (e.g. using x86_64 JavaFX, or cross-building an x86_64 runtime via jlink).


More prominent install action on item pages

Our primary goal is to convert web browsers into performing a positive action on an item page (eg. install, donate, contribution). We have a lot of space in the header with quite small action areas. Even for long app titles like "PulseAudio Volume Control" there's plenty of space.
We should move the donate and install buttons to side by side rather than on top of each other and double the size.

We should move the donate and install buttons to side by side rather than on top of each other and double the size.

Had a designer friend of mine also suggest this. Still not sure why, but I will probably experiment with it at least, if I find the time.

They are side by side now, but there are also potentially up to four buttons there. See https://github.com/flathub/website/issues/536

Looks fine on the website, this issue should be closed in my opinion.