How to close off dead end?

I saw in the examples that your rooms was tight (all the outlines have tiles) and when the corridoors connect to it, it would disable the tile at the door's position. I didn't use corridor in my game (it was a 2d side scroller) so how could i achived this? While I testing by having tiles at door's position i noticed that if the room was generated first it would disable the tile at the connection, if not it wouldn't.

Can you please show me an example of a room template from your game?

This is before;

This is after:

I just want to close off dead end so i thought the generator would automated removed the tiles
P/S: The door's mode is specific and the position is at the 2 tiles up and below

If I understand your goal, I'd the the following. In your room templates, add wall tiles to all your door positions. And then create a special corridor room like in the image below. The width of the room is 4 tiles, the height is 2 tiles. Black are walls, red is one door position, pink is another door position (and there should be your purple background tiles under the doors).

The only purpose of this corridor room is that it will correctly connect two adjacent rooms. So it is not really a corridor, but rather a connector.
If you need also a connector in the horizontal direction, just create another corridor room, this time width 2, height 4 and just rotate the design.
Then assign these corridor room templates to your level graph and enable corridor.
Let me know if that works for you.

It keep having this error: InvalidOperationException: Timeout was reached when generating level
The error is happened in: DungeonGeneratorPipelineConfig
And what layer should i draw the corridoor?
Here is the picture (i also made a horizontal one):

This is quite strange. Can you please check that if you disable corridors now, everything works as before?

How many rooms are there in the level graph?
What is you "Timeout" configuration in the Generator component?

Also please check this:

You added corridors to the "Corridor room templates" section in the level graph. The corridors cannot be in the "Default room templates" section.

You kept the same rooms in the level graph as before. The rooms in the level graph do not have to be modified to add corridors. Corridors are automatically added between each pair of adjacent rooms in the level graph.

If i disable corridors it still worked fine
I was testing so there were 6 rooms
10000
I also did that
Yes, i don't change anything

Maybe because the layer that i drawing? Does the tilemap layers matter?

Here is the entire debug text:
InvalidOperationException: Timeout was reached when generating level
Assets.ProceduralLevelGenerator.Scripts.Generators.DungeonGenerator.PipelineTasks.DungeonGeneratorPipelineTask1+<Process>d__0[TPayload].MoveNext () (at Assets/ProceduralLevelGenerator/Scripts/Generators/DungeonGenerator/PipelineTasks/DungeonGeneratorPipelineConfig.cs:72) Assets.ProceduralLevelGenerator.Scripts.Pipeline.PipelineRunner+<GetEnumerator>d__1.MoveNext () (at Assets/ProceduralLevelGenerator/Scripts/Pipeline/PipelineRunner.cs:144) Assets.ProceduralLevelGenerator.Scripts.Pipeline.PipelineRunner.Run (System.Collections.Generic.IEnumerable1[T] pipelineItems, System.Object payload) (at Assets/ProceduralLevelGenerator/Scripts/Pipeline/PipelineRunner.cs:18)
Assets.ProceduralLevelGenerator.Scripts.Generators.DungeonGenerator.DungeonGenerator.Generate () (at Assets/ProceduralLevelGenerator/Scripts/Generators/DungeonGenerator/DungeonGenerator.cs:79)
Assets.ProceduralLevelGenerator.Scripts.Generators.DungeonGenerator.Editor.DungeonGeneratorInspector.OnInspectorGUI () (at Assets/ProceduralLevelGenerator/Scripts/Generators/DungeonGenerator/Editor/DungeonGeneratorInspector.cs:63)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass55_0.b__0 () (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Can you please also show me how the second corridor looks like? Also if you're willing to just zip your Assets folder and send me the project, I can look into that myself.
The error itself is unfortunately useless. It just shows that the underlying algorithm is not able to generate a layout, which really should not happen with such a simple setup.

Oh, I just remembered that there should be a built-in export for the input of the algorithm. In the Generator component, there is an "Advanced" section with a "Export map description" button.  Please click the button and it should create a json file in the root of your project. If you send mi the file, I can try to find the problem.

Github doesn't support json so i send the txt
exportedMapDescription.txt

Okay, thanks. I might know where's the problem. The doors mode of corridors must be "specific" and you must draw the door positions yourself. It seems like you used the simple mode with door length 1. And there was therefore a mismatch if door lenghts. I shoud have been more clear when describing the setup.

Yes that's fix the problem.
Thanks!


Replace Steven & Francisco with Andy.

Proposing that we replace Steven & Francisco with Andy Bartholomew.
Signed-off-by: Steven Hepting<EMAIL_ADDRESS>

sounds like the plan here changed, want to update it?

https://github.com/MobileNativeFoundation/foundation/pull/15


Consumer > Added stop-after-last-message option

This PR allows you to start a consumer, process all messages, and automatically shutdown when the last message is processed.
Useful for testing purposes.

Maybe stop-when-empty ?

Done :)

Thanks @ruudk :)!


Napari integration of SAM for 2D/3D images with everything/semantic/instance seg mode -> Here

Hey all,
We created an integration of SAM for the python-based scientific image viewer Napari. We already extended SAM quite a bit and enable the user to:

Use SAM's everything mode
Click-based semantic segmentations
Click-based instance segmentations
Segment 2D and 3D images with SAM

This is the repo: https://github.com/MIC-DKFZ/napari-sam
It would be nice to get some feedback and suggestions for further extensions as we think that Napari + SAM is a great way to make image annotation more efficient :)
Best,
Karol

Thanks for sharing!


Change labels for GeographicOrigin.stateProvince and GeographicOrigin.county to mirror DwC changes

https://github.com/tdwg/dwc/issues/401

https://github.com/tdwg/cd/issues/141
https://github.com/tdwg/cd/issues/142

Updated in local branch


Does DataHub support  Table and Column level lineage for Apache Hive

@laulpogan @bobelev
Hi, I try DataHub 0.9.2 ,But I find  it does't support Table and Column level lineage for Apache Hive
Does DataHub support  Table and Column level lineage for Apache Hive ?
Or Plan it?

Not currently :(


Using preloaded assets

I have all my files in memory, for various reasons I won't get into ( maybe one is because I wrote a loading module loaddir and tend to use it ), but part of it is re-using code on the front end and back end.

You can provide a custom inputFileSystem to the Compiler instance.

K, searching the codebase for that.  Is there a doc somewhere with what structure it must be in before I dig through all the code?

This issue was moved to webpack/webpack.io#141


Movesim issue

Occasionally the movesim will seem to offset player movement. I've looked into this some with my own build and I don't think this has anything to do with incorrect velocity.
Example: https://www.youtube.com/watch?v=YwZ0HrhWnYY

can relate the grenade launcher will miss bots walking in a straight line

is this with projc nospread?

nah i tested it 2 weeks ago it consistently missed every time still

yea maybe nexttime go after the template makes it easier

There are many bugs with movesim, i vote to remove projectile aimbot entirely :D

@swamptwink can i double inject seownedde so i can have the best cheat in tf2

you can try?

can relate grenade launcher missed a legit spy walking in a straight line
maybe try disabling air/ground strafe pred


Batch dependence of jax.numpy.linalg.solve

Description
There seems to be some batch-dependence to linalg.solve. Specifically, solving a linear system, and solving a batch of identical linear systems gives different results.
The code below reproduces the problem, both on my mac and in a colab notebook.
import jax
import jax.numpy as jnp
import numpy as onp

a, b = jax.random.normal(jax.random.PRNGKey(0), (2, 100, 100))
assert a.shape == b.shape == (100, 100)

a_batch = jnp.stack([a, a], axis=0)
b_batch = jnp.stack([b, b], axis=0)

# Solve with jax, with and without batch dimensions.
sol_jax = jnp.linalg.solve(a, b)
sol_jax_with_batch = jnp.linalg.solve(a_batch, b_batch)

onp.testing.assert_array_equal(sol_jax_with_batch[0, ...], sol_jax_with_batch[1, ...])  # passes
onp.testing.assert_array_equal(sol_jax, sol_jax_with_batch[0, ...])  # FAILS
onp.testing.assert_array_equal(sol_jax, sol_jax_with_batch[1, ...])  # FAILS

# Solve with numpy, with and without batch dimensions.
sol_numpy = onp.linalg.solve(a, b)
sol_numpy_with_batch = onp.linalg.solve(a_batch, b_batch)

onp.testing.assert_array_equal(sol_numpy_with_batch[0, ...], sol_numpy_with_batch[1, ...])  # passes
onp.testing.assert_array_equal(sol_numpy, sol_numpy_with_batch[0, ...])  # passes
onp.testing.assert_array_equal(sol_numpy, sol_numpy_with_batch[1, ...])  # passes

System info (python version, jaxlib version, accelerator, etc.)
Colab notebook, jaxlib 0.4.23

Here are the visualized errors, A @ x - b

import matplotlib.pyplot as plt
plt.figure(figsize=(12, 4))
plt.subplot(131)
plt.imshow((a_batch @ sol_jax_with_batch - b_batch)[0, ...])
plt.colorbar()
plt.title("error\nbatch solve, batch_idx=0")
plt.subplot(132)
plt.imshow((a_batch @ sol_jax_with_batch - b_batch)[1, ...])
plt.colorbar()
plt.title("error\nbatch solve, batch_idx=1")
plt.subplot(133)
plt.imshow(a @ sol_jax - b)
plt.colorbar()
plt.title("error\nnon-batch solve")

Thanks for the report - what backend are you using? If you're on CPU, then the issue may be related to https://github.com/openxla/xla/issues/3891

Thanks for the report - if this is on a CPU backend, then the issue may be related to openxla/xla#3891

Sure thing! I have tried this on CPU and GPU (T4) colab, and it also fails on my M2 macbook.

My gut feeling is that this is working as intended. Adding a batch dimension will allow and encourage XLA to change the order of operations, and floating point computations will not produce bitwise exact results if you change the order of operations. Indeed: that's sort of the point of vmap: we can and will compute things in a different and possibly more efficient order if there's a batch dimension.
(The most common place this surprises people is that adding a batch dimension to a matrix-vector multiplication makes it a matrix-matrix multiplication, which triggers different and sometimes lower precision matmul algorithms especially on GPUs and TPUs. However in this case I don't think that applies.)
The differences seem to be very small here: 1e-13 absolute difference in 64-bit mode. Is there a reason to think that's an unreasonable difference, allowing for different floating point orders of operations?
What do you think?

Thanks @hawkinsp for weighing in.
While the error of 1e-13 in the basic example I provided does not seem significant to me, I do have scenarios where the error appears far more significant.
In the case where I encountered the issue, this error is > 100: below is the output of a test comparing the result of jnp.linalg.solve with a custom solve which uses a python for loop to handle the batch dimension.
AssertionError:
Arrays are not equal

Mismatched elements: 964801 / 1929612 (50%)
Max absolute difference:<PHONE_NUMBER>
Max relative difference:<PHONE_NUMBER>7
 x: array([[[ 3.206806e-04-1.520511e-02j,  1.619071e-03-1.980731e-03j,
         -2.531086e-03-1.379434e-03j, ...,  0.000000e+00+0.000000e+00j,
          0.000000e+00+0.000000e+00j,  0.000000e+00+0.000000e+00j],...
 y: array([[[ 3.206804e-04-1.520511e-02j,  1.619071e-03-1.980731e-03j,
         -2.531086e-03-1.379434e-03j, ...,  0.000000e+00+0.000000e+00j,
          0.000000e+00+0.000000e+00j,  0.000000e+00+0.000000e+00j],...

The custom solve (with inserted code to perform the comparison to directly using jnp.linalg.solve) is as follows:
def solve(a: jnp.ndarray, b: jnp.ndarray) -> jnp.ndarray:
    """A limited version of `linalg.solve` that has no batch dependency."""
    assert a.shape == b.shape
    m = a.shape[-1]
    a_flat = a.reshape((-1, m, m))
    b_flat = b.reshape((-1, m, m))
    results = [jnp.linalg.solve(af, bf) for af, bf in zip(a_flat, b_flat, strict=True)]
    result = jnp.asarray(results).reshape(a.shape)

    # Lines below compare result to `jnp.linalg.solve`
    result_linalg = jnp.linalg.solve(a, b)
    print(jnp.amax(jnp.abs(a)), jnp.amax(jnp.abs(b)))
    print(a.shape, b.shape)
    onp.testing.assert_array_equal(result_linalg, result)

    return result

The printed information about e.g. matrix size is as follows:
# 2654.1815475773055 39.304841915302305
# (3, 802, 802) (3, 802, 802)

For some background, I uncovered the issue when running batch simulations in fmmax; without a batch dimension, results would be accurate, while when running the same simulation twice (in a batch) yielded completely unphysical results. Using the custom solve above remedied the issue.

In case it's helpful, here are plots of the magnitude of elements in a and b in the example above.

A repro of the real problem would be helpful. You should be able to demonstrate the problem with a problematic pair of input matrices?

Sure. The only trick is generating matrices known to be problematic, which (at the moment) I can do using fmmax. Let me know if this is workable or if we need an even more stripped-down repro.  Here is a colab that generates problematic matrices and compares solve results.
https://colab.research.google.com/drive/12eB02zNt3pA2chhVCmIfv7hb0CvBFhtB
Using the generate_problematic_matrices function defined in that colab, we can run the following:
# Generate problematic matrices, with batch size 1 and batch size 2.

# problematic `a, b` with batch size 1 and 2
a1, b1 = generate_problematic_matrices(batch_size=1)
a2, b2 = generate_problematic_matrices(batch_size=2)

# Solve with batch size 1 and batch size 2
x1 = jnp.linalg.solve(a1, b1)
x2 = jnp.linalg.solve(a2, b2)

# Check that input matrices are identical
onp.testing.assert_allclose(a2[jnp.newaxis, 0, ...], a1)  # passes
onp.testing.assert_allclose(a2[jnp.newaxis, 1, ...], a1)  # passes
onp.testing.assert_allclose(b2[jnp.newaxis, 0, ...], b1)  # passes
onp.testing.assert_allclose(b2[jnp.newaxis, 1, ...], b1)  # passes

# Check that results within a batch are identical
onp.testing.assert_allclose(x2[jnp.newaxis, 0, ...], x2[jnp.newaxis, 1, ...])  # passes

# Results with batch size 2 do not match those with batch size 1
onp.testing.assert_allclose(x1, x2[jnp.newaxis, 0, ...])  # FAILS

The failing test has the following message:
AssertionError:
Not equal to tolerance rtol=1e-07, atol=0

Mismatched elements: 80795 / 161604 (50%)
Max absolute difference: 61.684
Max relative difference: 240.05663
 x: array([[[-2.009601e-02-1.928231e-02j,  9.348132e-04-1.573229e-02j,
          9.222653e-05-1.584100e-04j, ...,  0.000000e+00+0.000000e+00j,
          0.000000e+00+0.000000e+00j,  0.000000e+00+0.000000e+00j],...
 y: array([[[-2.009643e-02-1.928224e-02j,  9.347852e-04-1.573259e-02j,
          9.184785e-05-1.591966e-04j, ...,  0.000000e+00+0.000000e+00j,
          0.000000e+00+0.000000e+00j,  0.000000e+00+0.000000e+00j],...

And for reference, the generate_problematic_matrices code is as follows:
!pip install fmmax

from typing import Tuple

import jax.numpy as jnp
import numpy as onp

from fmmax import basis, fmm, pml, scattering, utils

def generate_problematic_matrices(batch_size, approximate_num_terms=400):
    """Generates problematic matrices encountered during an fmmax simulation."""
    width = 20.0  # Simulation unit cell width
    width_pml = 2.0  # Width of perfectly matched layers on edges of unit cell.
    grid_spacing = 0.02

    wavelength = jnp.asarray([0.45] * batch_size)
    in_plane_wavevector = jnp.zeros((2,))
    primitive_lattice_vectors = basis.LatticeVectors(u=width * basis.X, v=basis.Y)
    grid_shape = (int(width / grid_spacing), 1)
    formulation = fmm.Formulation.FFT

    # Generate the expansion, the terms in the Fourier representation (1D here).
    nmax = approximate_num_terms // 2
    ix = onp.zeros((2 * nmax + 1,), dtype=int)
    ix[1::2] = -jnp.arange(1, nmax + 1, dtype=int)
    ix[2::2] = jnp.arange(1, nmax + 1, dtype=int)
    assert tuple(ix[:5].tolist()) == (0, -1, 1, -2, 2)
    expansion = basis.Expansion(
        basis_coefficients=onp.stack([ix, onp.zeros_like(ix)], axis=-1)
    )

    permittivities = [
        jnp.full(grid_shape, 1.0 + 0.0001j),
        jnp.full(grid_shape, 2.4 + 0.0001j),
    ]
    layer_thicknesses = [jnp.ones(()), jnp.ones(())]

    def eigensolve_fn(permittivity: jnp.ndarray) -> fmm.LayerSolveResult:
        permittivities_pml, permeabilities_pml = pml.apply_uniaxial_pml(
            permittivity=permittivity,
            pml_params=pml.PMLParams(num_x=int(width_pml / grid_spacing), num_y=0),
        )
        return fmm.eigensolve_general_anisotropic_media(
            wavelength,
            in_plane_wavevector,
            primitive_lattice_vectors,
            *permittivities_pml,
            *permeabilities_pml,
            expansion=expansion,
            formulation=formulation,
            vector_field_source=jnp.mean(jnp.asarray(permittivities_pml), axis=0),
        )

    layer_solve_results = [eigensolve_fn(permittivity=p) for p in permittivities]

    # Problematic matrices are encountered in the generation of scattering
    # matrices. Code below generates these matrices directly.
    eye = utils.diag(jnp.ones_like(layer_solve_results[0].eigenvalues))
    s_matrix = scattering.ScatteringMatrix(
        s11=eye,
        s12=jnp.zeros_like(eye),
        s21=jnp.zeros_like(eye),
        s22=eye,
        start_layer_solve_result=layer_solve_results[0],
        start_layer_thickness=layer_thicknesses[0],
        end_layer_solve_result=layer_solve_results[0],
        end_layer_thickness=layer_thicknesses[0],
    )

    return problematic_matrices_from_extend_s_matrix(
        s_matrix=s_matrix,
        next_layer_solve_result=layer_solve_results[1],
        next_layer_thickness=layer_thicknesses[1],
    )

def problematic_matrices_from_extend_s_matrix(
    s_matrix: scattering.ScatteringMatrix,
    next_layer_solve_result: fmm.LayerSolveResult,
    next_layer_thickness: jnp.ndarray,
) -> Tuple[jnp.ndarray, jnp.ndarray]:
    """Return problematic matrices encountered in `scattering.extend_s_matrix`."""
    # https://github.com/facebookresearch/fmmax/blob/main/src/fmmax/scattering.py#L251
    s_matrix_blocks = (s_matrix.s11, s_matrix.s12, s_matrix.s21, s_matrix.s22)
    layer_solve_result = s_matrix.end_layer_solve_result
    layer_thickness = s_matrix.end_layer_thickness

    # Alias for brevity: eigenvalues, eigenvectors, and omega-k matrix.
    q = layer_solve_result.eigenvalues
    phi = layer_solve_result.eigenvectors
    omega_k = layer_solve_result.omega_script_k_matrix

    next_q = next_layer_solve_result.eigenvalues
    next_phi = next_layer_solve_result.eigenvectors
    next_omega_k = next_layer_solve_result.omega_script_k_matrix

    a = omega_k @ phi
    b = next_omega_k @ next_phi @ utils.diag(1 / next_q)
    return a, b

It looks like the matrices you are using are minorly ill-conditioned for float32 operations:
>>> print(np.linalg.cond(a1[0]))
14766922.0

This is larger than 2 ** 23 = 8388608, which is the approximate dynamic range of float32 values. Given this, it's not entirely surprising that different routes to solving the same system of equations would lead to different accumulations of floating point error when operating in float32, which JAX does by default. If you need more precision, you might try enabling 64-bit computation: (see JAX Sharp Bits: Double Precision).

I see, I was a bit surprised by the magnitude of difference between the two methods, even knowing that the details of a calculation may differ e.g. when jitting. Thanks for the tips and for looking into this (and for all the great work on jax).


⚠ Bofrost.es has degraded performance

In 596f03d, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1427 ms

Resolved: Bofrost.es performance has improved in b034ff7 after 2 hours, 48 minutes.


[New Feature] exfil

For moving data out of the target environment
Crude proto function implemented in https://github.com/mttaggart/OffensiveNotion/commit/b89c5c3a82f9d5a04ab185671d3fb1eb86d8c0a5

[ ] If file is large, make a sub-page and post to that page
[ ] Pressure test
[ ] Documentation

Closed in favor of s3upload/azupload


Feature/v2 add options for Teamlead self approve & System-Admin

Addresses issue #32 - migration of Teamlead self approve & System-Admin features from v1 branch.
Tested and working well in my environment.

When team lead self-approve is enabled, the team lead will appear in their own 'To Approve' list, and approval option will appear in the 'Approved weeks report' view.
When System-Admin approval feature is enabled, System Admins will appear in the 'To Approve' view and in the 'Approved Weeks Report' view.

Feedback gratefully accepted - apologies for the messy commit history, unsure how to resolve but I assume it can be squashed during merge.

@kevinpapst - you wanted to be additionally reviewer for this PR? If you would like to provide feedback, I would be happy.

Thanks for the PR @sammaclennan 👍
May I ask how you created the PR? From my understanding, you should have been able to cherry-pick the two commits that Katja added. From a quick glance, I can neither see Katjas commits in the history nor do I see the CHANGELOG.md changes, so first question is: what happened?

Perhaps I'm incorrect, but I believe the branches have diverged enough that simply cherry-picking the commits across wouldn't have really worked - but again, I could be wrong about that.
It made the most sense to me to migrate the changes over in a way that was in-line with the functionality already in the branch.
I did forget to add to the CHANGELOG.md - I'll add a commit to remedy that now.


Removed unecessary finalizer in observability resource creation.

Usually adding finalizers is responsibility of the operator that manage it. This seems to confirm it https://github.com/redhat-developer/observability-operator/blob/42d5675fe990d85849f3f2ed46b9bbffa294f167/controllers/observability_controller.go#L91-L96


Handle when no entrypoints are found in the workspace

Currently if no entrypoints are found in the workspace and a user attempts to add a Deployment we show an error:
Cannot read properties of null (reading 'forEach')

which is not great.

Closing as a duplicate of #2032


Instructor Training application - add question about Eventbrite URL and associated filter

Fixes #2562.
Marking draft as need to check with the ITT if this is okay with them as I slightly jumped the gun... (pinging @karenword and I'll link to this on your agenda)
This change will allow preapproved trainees to enter an Eventbrite URL for the event they've registered for, if applicable.
On the admin side, the "All Training Requests" page will display the event ID (from Eventbrite), and this can be searched for using the filters on the left. You can enter the ID or the full event URL for the search.
Side note: You may already know that are a few different forms that Eventbrite event URLs can take (some registrant-facing, some owner-facing). These example URLs all reference the same event with an ID<PHONE_NUMBER>07, and all three forms are handled in this implementation. If there are more forms that you're aware of, please let me know...

"https://www.eventbrite.com/e/online-instructor-training-7-8-november-2023-tickets-711575811407"
"https://www.eventbrite.com/e/711575811407"
"https://www.eventbrite.com/myevent?eid=711575811407"

And here are some screenshots.
Instructor training application form:

All training requests view. The Eventbrite ID is pulled from the URL in the request. Personally I'm not so happy with the increased width of the table since it means more need for horizontal scrolling.

Filter by event ID or URL. Search term in screenshot is https://www.eventbrite.com/myevent?eid=920035475452, could also have used<PHONE_NUMBER>52 or even just a subset of those digits like 5452 to get the same result:

Note that we don't actually need to show the Eventbrite ID in a column in order to use the search filter (but it makes things clearer that the search returns what you wanted).

Thanks @elichad this looks great!
I played with one of our Eventbrite pages, and it looks like the page link in the address bar at the point when trainees are prompted to complete the application looks like this:
https://www.eventbrite.com/e/online-instructor-training-20-23-november-2023-tickets-719778495857?aff=oddtdtcreator
By allowing us to search attendees by event before they have been accepted and matched, this could make a valuable impact on the amount of time spent processing attendance. Thank you!!

I think a couple of other points worth noting for clarity:

the main object for flexibility is on the point at which trainees enter the link. Our search can be specific to the event ID, but we have to expect that they will submit whatever link they find. It is also possible that they may try to submit non-eventbrite links such as the confirmation page or the calendar page header or who knows what else.
we did not discuss the value of displaying the Eventbrite ID in the table, but I agree that expanding the width of the table is not desirable. If we are searching by eventbrite ID, I think it is reasonable to assume that the search won't malfunction, and after applications have been matched the event slug will show, which is more usable information for us anyway.

It is possible that, by asking people to submit a specific event link, we will inadvertently imply that they need to submit a new application whenever they want to cancel & re-register for a new event. We may need new language (either in AMY or in Eventbrite) that deters this behavior.

@karenword

the main object for flexibility is on the point at which trainees enter the link. Our search can be specific to the event ID, but we have to expect that they will submit whatever link they find. It is also possible that they may try to submit non-eventbrite links such as the confirmation page or the calendar page header or who knows what else.

I'll add a check that the URL the trainee enters is pointing to the Eventbrite domain, and some help text to say they can find this link in their confirmation email.
Conveniently, the URL flexibility is the same for both the trainee and the admin, because internally the code tries to pull the ID out of the URL and use that as much as possible. This means that when searching, you can enter a URL like "https://www.eventbrite.com/myevent?eid=719778495857" and it will match a trainee who entered "https://www.eventbrite.com/e/online-instructor-training-20-23-november-2023-tickets-719778495857?aff=oddtdtcreator". (This also means it doesn't matter if either link ends up with extra stuff after the ?, which is quite common).
Theoretically, any other form of URL that Eventbrite could throw at us should work, as long as it contains the 12-digit ID somewhere in it (and no other long strings of digits) - the ones I listed in my top comment are just the ones I've explicitly tested.

we did not discuss the value of displaying the Eventbrite ID in the table, but I agree that expanding the width of the table is not desirable. If we are searching by eventbrite ID, I think it is reasonable to assume that the search won't malfunction, and after applications have been matched the event slug will show, which is more usable information for us anyway.

Do you think you would cross-reference the search results with your Eventbrite registrations anyway? If so, I think it would be okay to remove the column.

It is possible that, by asking people to submit a specific event link, we will inadvertently imply that they need to submit a new application whenever they want to cancel & re-register for a new event. We may need new language (either in AMY or in Eventbrite) that deters this behavior.

Good point. I think we should try to add this text at the point of cancellation if possible as I wouldn't expect people to remember what they read when signing up. Do we have custom text that trainees see when they cancel?

Do you think you would cross-reference the search results with your Eventbrite registrations anyway? If so, I think it would be okay to remove the column.

We will be looking at our Attendance sheets when we match trainees, so I think that should be sufficient cross-referencing so that we don't need -- pinging @klbarnes20 for any further comment

Good point. I think we should try to add this text at the point of cancellation if possible as I wouldn't expect people to remember what they read when signing up. Do we have custom text that trainees see when they cancel?

As it happens, I have an agenda item to look into this question for other reasons. AFAIK we do not currently have a customized cancellation confirmation email. However, I should note that the point at which trainees are prompted by us to complete the application occurs during registration, when they have to check a box in Eventbrite saying they have completed it. So I think that is probably the time point when they should be told not to do it again if they already did it for a previous event. It couldn't hurt to also tell them when they cancel, but they will have to remember it when they are prompted upon re-registration.

However, I should note that the point at which trainees are prompted by us to complete the application occurs during registration, when they have to check a box in Eventbrite saying they have completed it.

Ah, I didn't realise this! I'll take care to avoid creating a loop with the instructions in AMY then. (This should actually work nicely if we ask people to paste the URL of the registration page)

So I think that is probably the time point when they should be told not to do it again if they already did it for a previous event.

I agree.


Still getting "Failed to precompile CPLEX" error in v0.6.2

Seems similar error as https://github.com/JuliaOpt/CPLEX.jl/issues/255 which says it is fixed in v0.6.0.
ERROR: LoadError: CPLEX not properly installed. Please run Pkg.build("CPLEX")
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] top-level scope at /Users/john/.julia/packages/CPLEX/jN28D/src/CPLEX.jl:13
 [3] include at ./boot.jl:328 [inlined]
 [4] include_relative(::Module, ::String) at ./loading.jl:1105
 [5] include(::Module, ::String) at ./Base.jl:31
 [6] top-level scope at none:2
 [7] eval at ./boot.jl:330 [inlined]
 [8] eval(::Expr) at ./client.jl:425
 [9] top-level scope at ./none:3
in expression starting at /Users/john/.julia/packages/CPLEX/jN28D/src/CPLEX.jl:10
ERROR: LoadError: Failed to precompile CPLEX [a076750e-1247-5638-91d2-ce28b192dca0] to /Users/john/.julia/compiled/v1.3/CPLEX/QpT0w_M5Uwh.ji.
Stacktrace:
 [1] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
 [2] _require(::Base.PkgId) at ./loading.jl:1024
 [3] require(::Base.PkgId) at ./loading.jl:922
 [4] require(::Module, ::Symbol) at ./loading.jl:917
in expression starting at /Users/john/dev/optimize/test.jl:4

Using the latest stable Julia, JuMP, and CPLEX 12.9.

Can you give the content of the file /Users/john/.julia/packages/CPLEX/jN28D/deps/build.log or the output of running Pkg.build("CPLEX") ?

Ah, that's what happens when working past my sleep tolerance ;), didn't even look at the first line of the error msg. Running Pkg.build("CPLEX") solved it. Thank you!


Default values behavior is not conforming to the spec

What version of CUE are you using (cue version)?
❯ cue version
cue version v0.4.2 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What did you do?
Validate spec with an example
https://github.com/cue-lang/cue/blob/71e9d033c16ee3684f35022890087f9c3a12acb3/doc/ref/spec.md?plain=1#L735
foo: (string | *"b") & (int | *"a")

What did you expect to see?
According to the spec, it should be evaluated to bottom, i.e.
foo: (string&int) | *("a"&"b") # _|_ | *_|_

What did you see instead?
foo: "a"

This is logically correct since "a" is the only value satisfy both constraints but it seems not conforming to the spec explanation.

What maybe is confusing with the spec representation is that the value CUE syntax a | b translates to a tuple ⟨a|b, b⟩ as used in the spec. In other words v1 in ⟨v1, d1⟩ represents the entire value (the entire disjunction), whereas d1 represents only those disjuncts marked as default.

value CUE syntax a | b translates to a tuple ⟨a|b, b⟩

Do you mean a | *b => ⟨a|b, b⟩?
It still does not look right that (string | *"b") & (int | *"a") => ⟨(string| "b") & (int | "a"), "a"&"b"⟩


Is this approach against Microsoft's own principals?

My understanding was that Microsoft's security principals are to secure the identity, rather than securing the resource. This approach seems to be against that principal as the resource is the thing that is being protected in this instance, not the identity.
In the instance where the resource tenant is a 3rd party which you have no control over, you cannot control whether MFA is required for that identity or not.
Surely as owner of the tenant where the identity resides you should retain full control of the user account & authentication part - so you should have control over what is an acceptable authentication (requiring MFA or not) for that user - not the resource owner.
This to me seems like an loophole that a potential adversary could use to circumvent MFA policies to gain access to that users identity & information? Particularly if the guest invitation emails and permissions are constructed in a manner to trick an end user like most Phishing Scams?
Although I agree with the reasoning outlined in the article above, there is also a different point of view that I have outlined which needs to be considered, and perhaps this functionality needs to be developed to meet both circumstances.

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

ID: baa66805-21c3-2236-594c-ad034314dcb0
Version Independent ID: 604012b9-060a-acb0-21ff-69091331fa78
Content: Conditional Access for B2B collaboration users - Azure Active Directory
Content Source: articles/active-directory/b2b/conditional-access.md
Service: active-directory
Sub-service: b2b
GitHub Login: @msmimart
Microsoft Alias: mimart

@Ashley-Walton
Thanks for your feedback! We will investigate and update as appropriate.

@Ashley-Walton Sorry but I am not sure if I understand you correctly but the inviting tenancy will be always responsible for MFA for users from the partner organization.  Also, if you have any suggestions to improve the feature then you can use product feedback link to submit a new feature request.
This will allow the community to upvote and for the product team to include into their plans.

@SaurabhSharma-MSFT - I understand the behaviour is by design. I'm questioning whether it is in line with Microsoft's security principals. The general approach of Microsoft and the industry is to secure the identity, and this approach appears to be going against that by bypassing controls that are in place for that identity.
When we use our Azure AD SSO platform the authenticate to a 3rd party SaaS app, then the security controls for the identity are used. However if that SaaS app is hosted in Azure (which we have no control over whatsoever) then all of that standard security controls are bypassed.

@Ashley-Walton I believe you can provide this a Product feedback using UserVoice so that product team can look into this.

@Ashley-Walton We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


iOS - Expense report jumps when returning from transaction thread

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: v9.0.22-3
Reproducible in staging?: Y
Reproducible in production?: N
Issue was found when executing this PR: https://github.com/Expensify/App/pull/47096
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to workspace chat.
Submit three expenses with receipt.
Tap on the expense preview to go to expense report.
Tap on the first expense preview to go to transaction thread.
Tap on the back button.

Expected Result:
The expense report will not jump when returning from transaction thread.
Actual Result:
The expense report jumps when returning from transaction thread.
Workaround:
Unknown
Platforms:

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

Screenshots/Videos
https://github.com/user-attachments/assets/d957ea6a-5021-4185-bf67-36e41d6e3dea

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @ishpaul777

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

This is very minor issue, possibly from a PR #47096 @kirillzyusko and me worked on, i dont think this needs be a deployblocker we can work on it as a follow up.

Agreed this is super minor. Removing the label and assigning you @ishpaul777

Also assigning @marcochavezf since you were managing the bug for https://github.com/Expensify/App/pull/47096

@ishpaul777 we need @kirillzyusko to comment here to do so, once done - we will assign

@IuliiaHerets @marcochavezf the revert is done, would you please test on staging and confirm it's fixed?

@neil-marcellini Issue was fixed, not repro already
https://github.com/user-attachments/assets/4b91d5fd-fb00-4121-bc99-de6873360297

we need @kirillzyusko to comment here to do so

Commenting to be assigned 👋

Payment summary:
Contributor+: @ishpaul777 $250 via Upwork
Please apply/request!

Closing this one in favor of https://github.com/Expensify/App/issues/44514


Minimum IoF overlap in RandomCrop Transform

Usecase: support fine control over foreground/background training samples with RandomCrop
When allow_negative_crop == False current behavior returns None when the random crop location does not contain bbox foreground.  This can result in many images being skipped when foreground is sparse and image sizes are large relative to the crop size e.g. when training models for sliding window inference.  Skipping images adds unintended sampling bias towards images with more foreground coverage.  It is also time consuming to load the next image when one is skipped.
It isn't currently possible to use RandomCrop to allow_negative_crop by a probability to enable the model to learn from a balanced sampling of background.
MinIoURandomCrop gives fine control over sampling foreground/background by setting min_ious to replicate a probability of foreground/background.  MinIoURandomCrop does not support different crop types like: 'relative_range', 'relative', 'absolute', 'absolute_range'.  MinIoURandomCrop uses IoU a box center point check rather than IoF.  IoF has the benefit of putting the overlap calculation in terms of the foreground e.g. an image with a minimum .5 IoF threshold will contain an instance with at least half its area within the crop.
If the maintainers have an interest in supporting this functionality in RandomCrop I have an implementation for a PR.
The relevant code is here.

allow_negative_crop takes a bool or float as argument.
When allow_negative_crop is False (either defined as False in the argument or set to False by probability in the code) margin intervals likely to contain instance(s) with the desired min_overlap (IoF) are calculated and randomly sampled from.
The resulting crop window is compared by IoF with the bboxes in a loop
If no foreground is found the method returns None as before

@PeterVennerstrom Thanks a lot for your feedback. we will think carefully.


Inconsistent shell route animation

Is there an existing issue for this?

[X] I have searched the existing package issues
[X] I have read the guide to filing a bug

What package does this bug report belong to?
go_router
What target platforms are you seeing this bug on?
iOS
Have you already upgraded your packages?
Yes
Dependency versions
Details

# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  _fe_analyzer_shared:
    dependency: transitive
    description:
      name: _fe_analyzer_shared
      sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a
      url: "https://pub.dev"
    source: hosted
    version: "61.0.0"
  analyzer:
    dependency: transitive
    description:
      name: analyzer
      sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562
      url: "https://pub.dev"
    source: hosted
    version: "5.13.0"
  args:
    dependency: transitive
    description:
      name: args
      sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  build:
    dependency: transitive
    description:
      name: build
      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  build_config:
    dependency: transitive
    description:
      name: build_config
      sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.0"
  build_resolvers:
    dependency: transitive
    description:
      name: build_resolvers
      sha256: a7417cc44d9edb3f2c8760000270c99dba8c72ff66d0146772b8326565780745
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.6"
  build_runner_core:
    dependency: transitive
    description:
      name: build_runner_core
      sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41"
      url: "https://pub.dev"
    source: hosted
    version: "7.2.10"
  built_collection:
    dependency: transitive
    description:
      name: built_collection
      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  built_value:
    dependency: transitive
    description:
      name: built_value
      sha256: ff627b645b28fb8bdb69e645f910c2458fd6b65f6585c3a53e0626024897dedf
      url: "https://pub.dev"
    source: hosted
    version: "8.6.2"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  checked_yaml:
    dependency: transitive
    description:
      name: checked_yaml
      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  code_builder:
    dependency: transitive
    description:
      name: code_builder
      sha256: "315a598c7fbe77f22de1c9da7cfd6fd21816312f16ffa124453b4fc679e540f1"
      url: "https://pub.dev"
    source: hosted
    version: "4.6.0"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
      url: "https://pub.dev"
    source: hosted
    version: "1.17.2"
  convert:
    dependency: transitive
    description:
      name: convert
      sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.1"
  crypto:
    dependency: transitive
    description:
      name: crypto
      sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
      url: "https://pub.dev"
    source: hosted
    version: "3.0.3"
  cupertino_icons:
    dependency: "direct main"
    description:
      name: cupertino_icons
      sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
      url: "https://pub.dev"
    source: hosted
    version: "1.0.6"
  dart_style:
    dependency: transitive
    description:
      name: dart_style
      sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.2"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  file:
    dependency: transitive
    description:
      name: file
      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.0"
  fixnum:
    dependency: transitive
    description:
      name: fixnum
      sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_lints:
    dependency: "direct dev"
    description:
      name: flutter_lints
      sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  freezed:
    dependency: "direct dev"
    description:
      name: freezed
      sha256: "2df89855fe181baae3b6d714dc3c4317acf4fccd495a6f36e5e00f24144c6c3b"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  freezed_annotation:
    dependency: "direct main"
    description:
      name: freezed_annotation
      sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  frontend_server_client:
    dependency: transitive
    description:
      name: frontend_server_client
      sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.0"
  glob:
    dependency: transitive
    description:
      name: glob
      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  go_router:
    dependency: "direct main"
    description:
      name: go_router
      sha256: "5668e6d3dbcb2d0dfa25f7567554b88c57e1e3f3c440b672b24d4a9477017d5b"
      url: "https://pub.dev"
    source: hosted
    version: "10.1.2"
  go_router_builder:
    dependency: "direct dev"
    description:
      name: go_router_builder
      sha256: "89585f7cf2ddd35a3f05908c5bb54339d3f891fc5aac4f30e2864469d7ddc92b"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  graphs:
    dependency: transitive
    description:
      name: graphs
      sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  http_multi_server:
    dependency: transitive
    description:
      name: http_multi_server
      sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.1"
  http_parser:
    dependency: transitive
    description:
      name: http_parser
      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.2"
  io:
    dependency: transitive
    description:
      name: io
      sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  js:
    dependency: transitive
    description:
      name: js
      sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
      url: "https://pub.dev"
    source: hosted
    version: "0.6.7"
  json_annotation:
    dependency: transitive
    description:
      name: json_annotation
      sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
      url: "https://pub.dev"
    source: hosted
    version: "4.8.1"
  json_serializable:
    dependency: "direct dev"
    description:
      name: json_serializable
      sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
      url: "https://pub.dev"
    source: hosted
    version: "6.7.1"
  lints:
    dependency: transitive
    description:
      name: lints
      sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  logging:
    dependency: transitive
    description:
      name: logging
      sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
      url: "https://pub.dev"
    source: hosted
    version: "0.5.0"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.1"
  mime:
    dependency: transitive
    description:
      name: mime
      sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  package_config:
    dependency: transitive
    description:
      name: package_config
      sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
      url: "https://pub.dev"
    source: hosted
    version: "1.8.3"
  pool:
    dependency: transitive
    description:
      name: pool
      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.1"
  pub_semver:
    dependency: transitive
    description:
      name: pub_semver
      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  pubspec_parse:
    dependency: transitive
    description:
      name: pubspec_parse
      sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
      url: "https://pub.dev"
    source: hosted
    version: "1.2.3"
  shelf:
    dependency: transitive
    description:
      name: shelf
      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
      url: "https://pub.dev"
    source: hosted
    version: "1.4.1"
  shelf_web_socket:
    dependency: transitive
    description:
      name: shelf_web_socket
      sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_gen:
    dependency: transitive
    description:
      name: source_gen
      sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
      url: "https://pub.dev"
    source: hosted
    version: "1.4.0"
  source_helper:
    dependency: transitive
    description:
      name: source_helper
      sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.4"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
      url: "https://pub.dev"
    source: hosted
    version: "1.11.0"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.0"
  timing:
    dependency: transitive
    description:
      name: timing
      sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  typed_data:
    dependency: transitive
    description:
      name: typed_data
      sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
      url: "https://pub.dev"
    source: hosted
    version: "1.3.2"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  watcher:
    dependency: transitive
    description:
      name: watcher
      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  web:
    dependency: transitive
    description:
      name: web
      sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
      url: "https://pub.dev"
    source: hosted
    version: "0.1.4-beta"
  web_socket_channel:
    dependency: transitive
    description:
      name: web_socket_channel
      sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
      url: "https://pub.dev"
    source: hosted
    version: "2.4.0"
  yaml:
    dependency: transitive
    description:
      name: yaml
      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
sdks:
  dart: ">=3.1.0 <4.0.0"
  flutter: ">=3.7.0"

Steps to reproduce
Start the application from the code sample and switch through the tabs
Expected results
Expectation variant 1: No animation when switching tabs
Expectation variant 2: Consistently animating the tab switch by swiping the tabs
Actual results
When switching between the same goRoute (("Tab1" and "Tab2") and (both "+" tabs)) there is no animation, but when switching between two different goRoutes, the old tab is animate to always disappear by going to the left while the new tab is already visible
Code sample
I created a minimal GitHub repository to reproduce the bug
https://github.com/raddatzk/tabbarissue
Screenshots or Videos
https://github.com/flutter/flutter/assets/8616693/bc45abb4-89eb-49ef-8a9a-77baaf033a64
Logs
Logs
https://pastebin.com/kmJTt47u

Flutter Doctor output
Doctor output
https://pastebin.com/9cxCbmRe

Hi @raddatzk. Thanks for filing this. I am able to reproduce this on the latest master and stable channels with the sample provided here.
stable, master flutter doctor -v

[✓] Flutter (Channel stable, 3.13.3, on macOS 13.0 22A380 darwin-arm64, locale
    en-NG)
    • Flutter version 3.13.3 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (5 days ago), 2023-09-06 14:32:31 -0700
    • Engine revision b8d35810e9
    • Dart version 3.1.1
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.81.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (6 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        •
      android-arm64  • Android 14 (API 34) (emulator)
    • iPhone 13 Pro (mobile)      • 14B6FEE4-2F1C-401F-8804-A5115D7A6DA2 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • iPhone 14 (mobile)          • 1A122DE2-0CAB-4C3E-A395-691BF27D626F • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • iPhone 14 Pro (mobile)      • 6548B0D1-7674-4306-9852-198C465F1104 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)             • macos                                •
      darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)                • chrome                               •
      web-javascript • Google Chrome 116.0.5845.179

[✓] Network resources
    • All expected network resources are available.

• No issues found!

I @dam-ease, I set the background color to white for both child widgets and this fixes that I can see the previous child when switching between different widgets, but I still have the two different switching animations

Thanks for your response @raddatzk. Can you share a code sample and a possible screen record of the fix you are referring to?

@raddatzk

Expectation variant 1: No animation when switching tabs

Can you try applying NoTransitionPage to see if it works for this expectation? (looks like you need to build ShellRoute manually instead of using go_router_builder.

Expectation variant 2: Consistently animating the tab switch by swiping the tabs

I think this is WAI as your route structure. You are seeing the transition animation between new routes and tabName routes because they are two separate routes in the same ShellRoute (managed by a ShellRoute). If you want to synchronize animations between routes in a GoRoute, try applying the same transition animation to them. See the example at transition_animations for more info.


Update quickstart-linux.md

Correction in the display connection-string command for it hub

@KishoriPatil03062605 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@KishoriPatil03062605 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@KishoriPatil03062605 Thank you for taking the time to make this pull request, but your changes are out of date. In version 0.9.8 of the IoT CLI extension, the command show-connection-string was deprecated in favor of connection-string show: https://github.com/Azure/azure-iot-cli-extension/blob/dev/HISTORY.rst#098
Please check to make sure that you're running the latest version of the CLI extension: az extension update --name azure-iot
#please-close

@KishoriPatil03062605 Thank you for taking the time to make this pull request, but your changes are out of date. In version 0.9.8 of the IoT CLI extension, the command show-connection-string was deprecated in favor of connection-string show: https://github.com/Azure/azure-iot-cli-extension/blob/dev/HISTORY.rst#098
Please check to make sure that you're running the latest version of the CLI extension: az extension update --name azure-iot
#please-close


applicationinsights-react-js is not compatible with<EMAIL_ADDRESS>

After build, react applications with this version of applicationinsights-react-js throws an error upon mount, due to incompatible versions of the scheduler (v0.13.4 vs v0.15.0) from React

We only see this issue after the react app has been built and deployed via Azure Release. (sidenote: this only occurs in CI, works fine locally 🤔)
After a redeploy of the application without applicationinsights-react-js, everything works fine.
Solution: upgrade react dependencies to version 16.9.0 (including the scheduler).
Temporary workaround: include the sources directly, which inherits the correct React version.

Thanks for your suggestions! I am confused as well, as it is only failing in specific environments.
I'll test out your suggestions 👍

Thanks @markwolff - refreshing the lock file worked! Closing the issue 👍


Configure rabbitmq_management Plugin Capabilities By Default

As a customer, I would like easy access to the rabbitmq_management plugin's abilities for deleting queues.
We should configure this plugin by default in the embedded cookbooks like https://gist.github.com/sean-horn/4b8c37a274b8ce5fb06f
Access to rabbitmqadmin abilities comes in handy when we have issues with an analytics system being offline.

@sean-horn We'd prefer to solve chef/chef-server#103 and not expose these tools to end users.  @metadave any thoughts from the analytics side?

I'm working on a opscode-analytics-cmd to remove queues/check depths without exposing additional rabbitmq commands (via Ruby client). This is mostly for customers who aren't using analytics.
https://github.com/chef/omnibus-analytics/pull/208

Sounds good! Yeah, just the core function is perfectly fine.

@sean-horn It looks like the analytics team has a bug for the core functionality we need this for and that support has a clear procedure for how to enable the plugins in customer installations in the meantime.  Given that, I'm going to close this ticket rather than moving it to the new chef-server repository.  If I am mistaken, please let me know.


Upgrading core to version to 0.21.0.

As a result, also upgrading the umbrella package and all packages to 0.21.0 (since they all depend on core).
I'm a little terrified of release notes, but will take the first stab at it before I ask for help.

Actual changes LGTM.

Speech Release Notes:
## Cloud Speech API

The Google Cloud Speech API allows you to convert audio to text by applying
powerful neural network models in an easy to use API.

Speech methods:
- `sync_recognize()`
- `async_recognize()`
- `streaming_recognize()`

For more examples see: https://googlecloudplatform.github.io/google-cloud-python/stable/speech-usage.html

#2600 caused some breakage in logging that will make a release a bit suboptimal, I think the most "pragmatic" thing to do is release as-is and then get a logging 0.21.1 out ASAP

@dhermes what is broken?

Release notes

Core

Adding HappyBase to the umbrella package. (#2469)
Making max_results part of the base Iterator class. (#2490)
Re-architect Iterator class. (#2531, #2545, #2558, #2564, #2592, #2594, #2617)
Auto-detecting project returns None if key missing from config file. (#2537)
Add Gateway Timeout exception. (#2575)
Re-factoring Operation base class. (#2641)
Passing along credentials from the current Client to GAX / gRPC transports. Fixes #2631. (#2682)
Handle timestamps with no nanoseconds at all. (#2696)
Making base connection module non-public and making connection attribute non-public. (#2703)

BigQuery

Clarify docs on last 5 minutes query (#2461)
Raise from Table.insert_data if schema not set. (#2478)
Capture query attr when loading QueryJob from JSON resource. (#2534)
Updating Client methods list_projects, list_datasets and list_jobs to use Iterator. (#2561)
Add AVRO as a valid source format (#2628)
BigQuery Dataset.list_tables and Table.fetch_data use an iterator. (#2565)
Renaming connection module as _http. Connection is no longer part of the public interface. (#2690)

Datastore

Catching gRPC error in datastore run_query and converting to our error. (#2496)
Remapping (almost) all RPC status codes to our exceptions in datastore. (#2590)
Renaming connection module as _http. Connection is no longer part of the public interface. (#2690)
Migrate datastore query iterator to use base iterator class. (#2706)

Storage

Add Blob.compose API wrapper method. (#2506)
Make encryption_key an attribute of Blob. (#2507)
Add Blob.rewrite API wrapper method. (#2510)
Update Google Cloud Storage bucket classes. (#2571)
Renaming connection module as _http. Connection is no longer part of the public interface. (#2690)

Pub / Sub

Use correct publishTime field name for server-set message timestamp. (#2533)
Add use_gax to Client constructor to explicitly enabling/disable using gRPC / GAX. (#2553)
Using Iterators for list_topics(). (#2602)
Converting Topic.list_subscriptions to use an iterator. (#2618)
Converting Client.list_subscriptions to use an iterator. (#2633)
Renaming connection module as _http. Connection is no longer part of the public interface. (#2690)

Logging

Add use_gax to Client constructor to explicitly enabling/disable using gRPC / GAX. (#2553)
Allowing for arbitrarily nested dictionaries in _log_entry_mapping_pb. (#2589)
Change the version of the Logging API used from v2beta1 to v2 (#2625)
Converting Client.list_entries to use an iterator. (#2636)
Updating list_sinks to Iterator pattern. (#2652)
Updating list_metrics to Iterator pattern. (#2653)
Renaming connection module as _http. Connection is no longer part of the public interface. (#2690)

Vision

Properly encode image content. (#2528)

Language

Add missing argument to annotate_text() docs. (#2543)

DNS

Using Iterator for "list" methods. (#2560)

Runtime Config

Implementation added. (#2485)

Cloud Speech API
The Google Cloud Speech API allows you to convert audio to text by applying
powerful neural network models in an easy to use API.
Speech methods:

sync_recognize()
async_recognize()
streaming_recognize()

For more examples see: https://googlecloudplatform.github.io/google-cloud-python/stable/speech-usage.html

@daspecster #2674 describes the breakage

CircleCI green, Travis hasn't started yet. Merging.

I am going to manually push releases now via:
$ cd ${PACKAGE}
$ python setup.py sdist bdist_wheel
$ twine upload dist/*

Also updated and used https://gist.github.com/dhermes/a4e097f2f80fd490b256fc3aa2b4a46b to release https://pypi.python.org/pypi/google-cloud-natural-language/0.21.0


Unable to launch Windows Terminal Preview from Windows + X

Windows Terminal version
1.12.3472.0
Windows build number
Windows11 22000.438
Other Software
I am using Windows Terminal Preview, but I cannot start Windows Terminal by pressing Windows+X and clicking "Windows Terminal".
Is the Windows+X menu not compatible with Windows Terminal Preview?
Steps to reproduce

Install Windows Terminal Preview from Microsoft Store.
Press Windows+X.
Click "Windows Terminal".

Expected Behavior
Windows Terminal Preview will be launched.
Actual Behavior
Windows Terminal Preview does not start.

I think you're seeing #10595, yea?
You need to make sure that the "App execution alias" for Windows Terminal Preview is turned on in the settings:

That's how the Win+X menu decides which version of the Terminal to launch. Does that fix it?

I already have Windows Terminal Preview turned on.
I've tried switching it on/off, but it doesn't seem to change.

Windows Terminal Preview doesn't start from this menu either.

Gosh, our work tracking system is a lot harder to follow in Windows 11. I can find the fix in builds like 22459, but I have no idea how that actually translates to 22000.xyz nomenclature. Are you on the Insiders channel (or any insiders build)? I know that fix is in Insiders, but I don't think it's been released to Windows 11 stable yet.

[I hope I’m not necroposting]
Was about to start a separate bug report, but then I saw this issue.
For me, my wt.exe executable in the app files appears to do nothing when run. The result is that both the entry in the Win+X menu (Start icon’s right-click menu) and the wt shell command (Start Menu search or PowerToys Run) doesn’t launch Windows Terminal Preview.
Context
I installed my Terminal Preview using the Microsoft Store. I located the file in question by choosing to run as Administrator (applicable for both Win+X and PowerToys Run) and expanding the UAC prompt, and found it at:
"C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.12.3472.0_x64__8wekyb3d8bbwe\wt.exe"

Side thoughts: Why have a separate wt.exe? Why not name the executable itself (WindowsTerminal.exe) as wt.exe?

Side thoughts: Why have a separate wt.exe? Why not name the executable itself (WindowsTerminal.exe) as wt.exe?

There's actually a long history to that issue. There are both bugs in the platform for having the centennial executable's name exactly the same as the execution alias, and different bugs when the exe's have different names. We're working with different names for now. It remains to be seen if this is truly the least buggy path 😕

Also, there's a bug in some powershell versions where, if a package contains a GUI application, it will wait forever for that GUI application to exit. wt is a shim that launches WindowsTerminal and exits, which lets us avoid broken versions of PowerShell :smile:

"C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.12.3472.0_x64__8wekyb3d8bbwe\wt.exe"

FWIW you shouldn't run wt OR windowsterminal directly out of the app package folder. That part of the platform is... very thorny.
If you Repair Terminal in the "All Apps & Features" page of settings, does wt start working again?

FWIW you shouldn't run wt OR windowsterminal directly out of the app package folder. That part of the platform is... very thorny.

Of course, normally I don’t sneak into programs’ backdoors. That path was revealed by the UAC prompt.

If you Repair Terminal in the "All Apps & Features" page of settings, does wt start working again?

For me, I have already tried Repair, Reset and Unïnstall+Reïnstall…

@DHowett i have the same problem windows 11 version 10.0.22000.438.
"App execution alias" for Windows Terminal Preview is turned on in the settings.
Repair does not help.

Sorry for the long turnaround on these. I'm gonna try reaching out to the App Execution Alias team to see if they have more guidance here. If the Terminal can be launched just fine from the Start Menu, but specifically wt.exe doesn't work[1], then there's something outside our control that's going wrong that we'll need some help figuring out.
Usually toggling the app execution alias in the Settings app should fix this. Worst case, repairing the app via the settings app should also help. But for some reason those don't seem to help everyone, so we need to figure out what's wrong when those don't work.
In the meantime, can you share the output of icacls "C:\Program Files\WindowsApps" (from an admin shell?)  Filing feedback on "Developer Platform > Desktop Bridge" might also help get some traces to the folks that own this.

Correct WindowsApps permissions
\Program Files\WindowsApps NT SERVICE\TrustedInstaller:(F)
                           NT SERVICE\TrustedInstaller:(OI)(CI)(IO)(F)
                           S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204:(RX)
                           S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204:(OI)(CI)(IO)(GR,GE)
                           NT AUTHORITY\SYSTEM:(F)
                           NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
                           BUILTIN\Administrators:(CI)(RX)
                           NT AUTHORITY\LOCAL SERVICE:(OI)(CI)(RX)
                           NT AUTHORITY\NETWORK SERVICE:(OI)(CI)(RX)
                           NT AUTHORITY\RESTRICTED:(OI)(CI)(RX)
                           BUILTIN\Users:(Rc,S,RD,REA,X,RA)

As a matter of cross-linking:

#9452 is our bucket for "the permissions are wrong on WindowsApps, and that will break wt.exe
#10149, #12249 and #12204 all seem to be the same "none of the above fixed it" issues. VERY good chance I de-dupe these all.

[1]: The Win+X menu is also powered by wt.exe.

Another debugging question from the AEA team: Do any other App Execution Aliases work from the run dialog or a console window? You can find all of them in the settings app. spotify.exe, snippingtool.exe, winget.exe are all good examples.

@zadjii-msft for me the other aliases are all working.
btw wt.exe is also working for me from the run dialog but it is not working from the windows x menu.

You know, that's a good point. I'm not sure which version of the OS actually was changed to use the alias. Nor do I actually know how they were launching the Terminal prior to making that change. I suspect this will get better with an Insiders update, but like I said, I dunno which version has the change...

icacls "C:\Program Files\WindowsApps"

Better: cacls "%ProgramFiles%\WindowsApps" /s
The SDDL output from cacls.exe (not icacls.exe) avoids localized names and correctly shows conditional entries such as "(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))".

Oh derp.
Okay so MSFT:37092552 seems to imply this will be fixed in 22000.490, which isn't out yet.
If you're hitting this, then can you confirm which version of the Terminal you have installed? If you only have Windows Terminal Preview installed, then Win+X won't work for you.

If you only have Windows Terminal Preview installed, then Win+X won't work for you.

Only Terminal Preview is installed. Wouldn’t be surprised if Terminal release’s wt is fine.

Excuse me for the necroposting, I just wanted to update this issue on the status:
:grapes:. This issue is now technically resolved as unreproducable because the Win+X menu is showing PowerShell instead of WT.
Feedback Hub feedback:
feedback-hub:?contextid=49&feedbackid=62504f60-361b-44b0-9643-efce5c344c3e&form=1&src=1

Funny enough, it will only switch back to "PowerShell" if it thinks Terminal is inaccessible . . . so technically that's working as intended (though admittedly it does insulate users from the root cause...)

it will only switch back to "PowerShell" if it thinks Terminal is inaccessible

If so, the Windows Win+X menu is WAI because the <q>root cause</q> is <q>Terminal is inaccessible</q>, which is WT’s problem…

Windows Terminal version
1.12.3472.0
Windows build number
Windows11 22000.438
Other Software
I am using Windows Terminal Preview, but I cannot start Windows Terminal by pressing Windows+X and clicking "Windows Terminal". Is the Windows+X menu not compatible with Windows Terminal Preview?
Steps to reproduce

Install Windows Terminal Preview from Microsoft Store.
Press Windows+X.
Click "Windows Terminal".

Expected Behavior
Windows Terminal Preview will be launched.
Actual Behavior
Windows Terminal Preview does not start.


Conditional flow in organizers

What would be the ideal standard when I need a conditional flow in an organizer
eg: an user registration organizer involves creation of an user, and sending out a welcome email only if a certain criteria being met.
Also, would having an interactor call within an interactor considered a bad practice? Would it be better to use Organizer to organize the flow? But then again I need the flow to be conditional..

I'm not sure that there is an ideal standard.  I have my opinions, but the answers to your questions depends in part on personal preferences and in part on the specific requirements.  If you want to post some code, however, I'd be happy to give input.

This is the kind of the flow that I've being doing for the moment so that SendWelcome class can be reused.. any suggestions/recommendations?
class UserRegistration
  include Interactor::Organizer

  organize CreateUser, SendWelcome
end

class CreateUser
  include Interactor

  def call
  	# Creates the user
  	context.user = User.create

  	# Some logic to determine if
  	# Welcome email should send
  	context.stop_send = true unless context.user.confirmed?
  end
end

class SendWelcome
  include Interactor

  before do
  	context.fail!(
  	  message: 'Welcome email not required.'
  	) if context.stop_send
  end

  def call
  	# Send out welcome email
  end
end

@mengqing
Is there a case where a newly created user would already be confirmed??  My initial reaction is to skip the checks entirely.  That is, keep user registration as both creating the user and sending a welcome email.  If you need to use SendWelcome in isolation (e.g., to re-send the welcome) or CreateUser in isolation, you still can.  Both could also be re-used in another organizer.
If that doesn't make sense for your requirements, I'd then at least reconsider using context.fail! in favor of a guard clause in SendWelcome (e.g., return if context.user.confirmed?).  If a user registers, is already marked as confirmed?, and therefore does not receive the welcome email, I would not consider that as a failure as it is the expected behavior.

@emilford yes your comment makes sense. What I am trying to avoid is too many guard clauses which may make the code error prone, it would be a lot cleaner in my sense to be able to put guard clause in the organizer.
Also, would it be a bad practise to use an interactor within an interactor? This is so that I don't have to include all possible interactors in an organizer, but conditionally calls one in the interactor itself if needed. But doing this way I would loss the ability to rollback.


Possibly incomplete WM hints

See taffybar/gtk-sni-tray#15
In a stacking WM,

Although the program correctly docks to the top of the screen and prevents maximized programs from overlapping it, it also shows up in the task list as a normal window and is minimizable from there.

@ARR8 What environment are you in where this is causing problems. Can you provide an example of a similar application that behaves as desired?

JWM. Some programs I use which don't appear in the task list are sagb/alttab and kupfer


Installing 1.8 on Debian?

No configure script in the tarball nor instructions for installing.
Binaries would be equivalently good :)

You don't need a configure script, it's just a flat Makefile. Run "make" and then manually install the bin/bossa* binaries to /usr/local/bin or wherever else you want to install.

A list of dependencies would be nice and even if the instructions are simply "run make", its better to be explicit than to have everyone guessing what to do.
I had to install libwxgtk3.0-dev for the makefile to run.  Not sure if there were other deps that I just happened to already have installed.

I think wxgtk and readline are the only dependencies, or at least that's all I have in my Arch PKGBUILD

Hey, I had to install wxgtk and realine like @aswild said:
sudo apt install libreadline-dev libwxgtk3.0-dev
It could be great to add this in some install documentation or juste compile some binaries for linux!
Thanks for your work!

I've whipped up this script to automatically build 1.9.1 from source and install it.
https://gist.github.com/twitchyliquid64/72a0ef3d96ad12a61d3f82dfd4367b5e
Should work on all debian-based systems.

Yes, I concur, it makes for a better install if build instructions are explicit as @thehans mentions, rather than leaving it up to users to figure it out.
Once I found this post here, I was easily able to get the install correct and things working as they should.


Can't backup PostgreSQL in Docker Environment

What happened?
Can't backup PostgreSQL in Docker Environment
I have got a dev environment in Windows (PyCharm), so when I first tried to do a backup or view backups I got /usr/bin/env: ‘bash\r’: No such file or directory.
After running sudo find . -type f -exec dos2unix {} \; in compose folder I now get:
$ sudo docker-compose -f production.yml run --rm postgres backup
Creating site_postgres_run ... done
/usr/local/bin/docker-entrypoint.sh: line 315: /usr/local/bin/backup: Success
ERROR: 1

If I use exec (stated in the docs) nothing happens.
Checking backups works:
$ sudo docker-compose -f production.yml run --rm postgres backups
Creating site_postgres_run ... done
These are the backups you have got:
total 0

What should've happened instead?
Backing up the 'my_project' database...
SUCCESS: 'my_project' database backup 'backup_2018_03_13T09_05_07.sql.gz' has been created and placed in '/backups'.

Additional details
I didn't change any files inside the compose folder. Please let me know which logs would be relevant (I tried running in verbose but it doesn't seem relevant).
* postgres:12.3
* Docker version (if using Docker), run `docker --version`: Docker version 20.10.4, build d3cb89e
* docker-compose version (if using Docker), run `docker-compose --version`: docker-compose version 1.28.6, build 5db8d86f

Trying using ls in place of backup to see if the SQL file is stuck in the Postgres container

Hi @Andrew-Chen-Wang, sorry for the delay. The backups directory is empty.
$ ls -l
total 0

This is an windows issue.
Your remote git repo is on Linux linux line endings. When you check it out, windows converts the line endings to CR-LF.
You can supress the issue if you check out with git clone git@github.com:xxxx/django.git --config core.autocrlf=input

I would suggest adding something like
RUN find /usr/local/bin/maintenance/ -type f -exec  sed -i 's/\r$//g' {}
in the postgres dockerfile to clean up file endings in all maintenance scripts like in the django docker file done with entrypoint and start script.


Cookbook

Hey,
Just though I would ask first before pull requesting / trying to edit the wiki:

There's no mention to the cookbook on the readme - it took me sometime to find it (probably my fault, I keep forgetting github has wiki's, but as so many projects don't use it... )

Can I also edit the wiki to mention this cookbook implementation?

Feel free to both edit the wiki and to make a PR for the ReadMe.  You're absolutely right that the ReadMe should point to the Cookbook.
And I would have no problems if the Cookbook had a section with a title something like "Similar Resources" that listed pages like the one you suggest.

rcb is mentioned here already https://github.com/ramda/ramda/wiki


resize plotly not working as expected

@nandriychuk do you want to take a look at what I'm doing?
Something is going wrong with renderUI(plotlyOutput) [line 57-59]-- the container is the expected size but the plot isn't appearing. The plot itself (output$plot_ae) is rendering fine when not using renderUI.

thank you for working on this @sjlussier! I removed rendwerPlotly() and only kept renderUI() that presvents the table and chart overlap. The height setting is now specified in the ggplotly(). Please take a look and let me know if you have better ideas, it would be nice to find a more elegant solution for the height, but the one we have work for now.

@samussiah, it probably woul make sense to merge this PR first and then https://github.com/SafetyGraphics/safetyProfile/pull/47


fix(dbt-ingest): added node filter to eliminate nodes like test based on dbt config file

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

This PR is to filter out nodes like the test cases from loading as it is failing to load due to long names. Also, it is unnecessary in the datahub lineage process as it is not a real dataset.

Looks like there's a failure due to missing required field:

>   ???
E   pydantic.error_wrappers.ValidationError: 1 validation error for DBTConfig
E   node_filter
E     field required (type=value_error.missing)

pydantic/main.py:406: ValidationError

can we make it optional and give it a default or empty array?

Removing the PR as Remi pushed the bug fix for the same with different approach


Add red to green color scale

See https://github.com/ros-industrial/reach/pull/58
edit: building of CI fails as the mentioned PR is required as a basis

Is red to green a good choice? These colors are commonly difficult to distinguish for color blind people.

You are right, but I don't want to change the default, just give another option.
In my cultural setting (Germany) people typically just expect a range from bad->good being represented by red->green.
Anyway, this PR will be changed based on the discussion here https://github.com/ros-industrial/reach/pull/58


rtl8852au: init at 70bdde2

Description of changes
Add the RTL8852AU driver for some devices that require it, like my WiFi antenna. Source at https://github.com/lwfinger/rtl8852au.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

this works well. I modified it to fetch the 8852bu and that worked too! many thanks.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3622

this probably is a matter of compiling the driver correctly but I get SAE unsupported: rtl8852bu needs CMD_EXTERNAL_AUTH for SAE when I attempt to connect to a hidden network with iwctl

All changes done! sorry for the long wait, I was off the internet!
Ill look into adding the 8852bu next, as many of you confirm it works.

@lonyelon can you change order of commits. otherwise first commit is referencing an attribute that doesn't exist

@lonyelon can you change order of commits. otherwise first commit is referencing an attribute that doesn't exist

Done! <3
I had not even thought about that lol

I changed every '--replace' with '--replace-fail' as asked by @kirillrdy. I also detected an unnecessary replace thanks to it.
All is fixed now.

@lonyelon yes! Would love to test. I was seeing strange issues I'm trying to see if they are related to 8852bu but haven't isolated it yet so would be happy to further test.

I can test the zen, libre and hardened kernels no problem. I have an old thinkpad where I can plug the antenna and check. It just feels weird that it fails on those.

any luck with further testing? I found out my motherboard was dying so that was my issue but I've got a new one now so I can go ahead and help out testing

@K900 asking for review, as I don't have much experience in the nixpkgs kernel area
otherwise, I don't see reasons not to merge it

Do we really have to? This hardware seems to be supported by rtw89 in latest kernels.

Latest as in 6.8? In 6.6 I've had no luck.

Please try 6.8.

is 8852bu also supported in 6.8? I am guessing yes and if so I think we can close this but many thanks @lonyelon regardless

tried 6.8 and testing but doesn't seem to see the usb adapter anymore but perhaps I have a misconfiguration somewhere

Oh I see, the U variants are USB, which is not supported in mainline yet. I guess we have to deal with this for a bit longer then...

Thanks everyone. I'll now start working on the RTL8852BU PR here: https://github.com/NixOS/nixpkgs/pull/306247.


[BUG] Job replication failed with S3 backend

Hi,
Recently we found that job replication with s3 pre-sign url does not work, after some dig, we found that the
Headers of request to S3 has the OAuth token with the key of Authorization, that is not allowed by S3 service. so will you please remove the OAuth  key from request headers? thanks.
Below are the request process:
1.307 | GET http://registry:5000/xxx/blobs/sha256:xxxxxxxx
2.400 | GET http://xxxx.amazonaws.com.cn/xxxx/sha256/xxxx/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxx
Host: xxxx.amazonaws.com.cn
User-Agent: harbor-registry-client
Authorization: Bearer xxxxxxxxxxxxxxxxxxxxx

as you can see above, it has extra Authorization: Bearer xx in the headers which should not belong the request to S3, and that cause S3 service refuse the normal request.

Hi, thanks for reporting this, did you deploy Harbor with S3 as a storage backend?
as for the second request, is it sent by docker client?  Sorry I'm not quite sure how S3 driver of registry works, but if this is the case this seems an issue with cooperation between docker client and S3 driver.

@reasonerjt yes, we config the storage of registry to be the S3, but according the logs, it seems that the job replication matters.
the debug logs are as follow:
jobservice[14304]: 2016-11-02T13:26:49Z [DEBUG] [transport.go:51]: 400 | GET http://xxxx.amazonaws.com.cn/xxxx/sha256/xxxx/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxx
Host: xxxx.amazonaws.com.cn
User-Agent: harbor-registry-client
Authorization: Bearer xxxxxxxxxxxxxxxxxxxxx

as you can see, it is the harbor jobservice make the request, not through the docker engine, and  the User-Agent: harbor-registry-client also prove it.
I think the replication process(Registry-A-->Registry-B) is like this?
Registry-A-->Jobservice-A--->fetch layers of image from local docker registry--->send layers of image to Registry-B
And the problem occurs at JobserviceA fetching layers,  since there is Authorization: Bearer in the headers, which means OAuth authentication, so maybe the harbor code has some state not cleared during job replication?

Good point, sorry I misunderstood, we'll look into that.

thanks :)

Fixed by #1224 .

@ywk253100 the problem still exists, will you please reopen the issue?
I pull the 0.5 release code and merge the diff and build the offline package, but when test with S3 there is still
Authorization: Bearer in the request header which cause S3 api call failed.

The fix is merged into dev branch, you can use the dev code to test it.

ok, i will have a test. thanks.

@ywk253100  it works as expect, thank you very much!!!

the reason is that i use docker-compose up/down manually and forgot to load the packed image.
I should have used install.sh:)


First row issue

I tried to run csv.newRow() << .....
It ran without any problem. Then I tried to save the csv file using csv.writeToFile("foobar.csv", true); It saved file but the first row was blank, every data is saved from the second row.
I need to enter header in the first row and then the data from the second row. How do I do that?
Full Code:
int main()
{
	float x1 = 100.01;
	float y1 = 150.09;

	CSVWriter csv(",");
	csv.newRow() << "this" << "is" << "the" << "first" << "row" << x1 << y1;
	float x2 = 199.09;
	float y2 = 299.09;
	csv.newRow() << "this" << "is" << "the" << "second" << "row" << x2 << y2;
	std::cout << csv << std::endl;
	csv.writeToFile("foobar.csv", true);

	return 0;
}

TIA.

Could you resolve this issue?

I tried to run csv.newRow() << .....
It ran without any problem. Then I tried to save the csv file using csv.writeToFile("foobar.csv", true); It saved file but the first row was blank, every data is saved from the second row.
I need to enter header in the first row and then the data from the second row. How do I do that?
Full Code:
int main()
{
	float x1 = 100.01;
	float y1 = 150.09;

	CSVWriter csv(",");
	csv.newRow() << "this" << "is" << "the" << "first" << "row" << x1 << y1;
	float x2 = 199.09;
	float y2 = 299.09;
	csv.newRow() << "this" << "is" << "the" << "second" << "row" << x2 << y2;
	std::cout << csv << std::endl;
	csv.writeToFile("foobar.csv", true);

	return 0;
}

TIA.

@blankton2  @hiperdyne19015
i hope this commig fixes your issues. The issue wa caused by calling writeToFile with true to append data to a non existing file.


[ZEPPELIN-5438] Add Build profile for spark-3.1

What is this PR for?

Add maven build profile for spark 3.1.
Use spark 3.1 and scala-2.12 as the default build profile
Some code refactoring on spark test code.

What type of PR is it?
[Improvement ]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5438

How should this be tested?

CI pass

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

CI is passed except one known flaky test. Will merge if no more comment


Consider enforcing is null instead of == null

In order to follow the style of ASP.NET Core repo, is null should be used instead of == null.
I'll send a PR, if this design is approved.

Not high priority, but seems like a good thing to do. It should probably also include turning on an analyzer so we get build time feedback if it gets broken in future.

We should wait at least until #1560 is merged to avoid conflicts


[T3A2][T16-A1]ZhaoDingfan

Ready for review.

When encapsulating previously public variables, remember to ensure that any prior references to that variable are updated as well.
@ZhaoDingfan Please close the PR after reading comments.


[BUG] Can't convert MobileVitV2 to CoreML

I've trained mobilevitv2_200_384_in22ft1k on custom dataset. Now trying to convert it to CoreML via coremltools. Get an error Encountered an error while compiling a neural network model: in operation of type reshape: Rank of the shape parameter must be between 0 and 5 (inclusive) in reshape
Versions
torch: 1.12.1
python: 3.8.8
coremltools: 5.2.0
To Reproduce
Steps to reproduce the behavior:

Load model weights

model = (
    torch.load("mobile_vit_last.pth",map_location=torch.device('cpu'))
)
model.eval()

Gather Jit trace

import timm
import torch
from torchvision.transforms import functional as F

from PIL import Image

img = Image.open("sample_image.jpg").convert('RGB')
img = F.resize(
            img=img, size=384, interpolation=F.InterpolationMode.BILINEAR
        )
input_tensor = F.pil_to_tensor(img).float()
input_tensor.div_(255.0)
input_tensor = input_tensor.unsqueeze(0)

with torch.no_grad():
    jit_model = torch.jit.trace(model, input_tensor)

Convert to CoreML

 coreml_model = ct.convert(
            model=jit_model,
            inputs=[
                ct.ImageType(name="input", shape=input_tensor.shape, scale=1.0 / 255.0)
            ],
            convert_to="mlprogram",
        )

Try on sample image

img = Image.open("sample_image.jpg").convert('RGB').resize((384,384))
# Make a prediction using Core ML
out_dict = coreml_model.predict(tensor)

Expected behavior

@zzmicer unforunately you're on your own with this one, I don't have the bandwidth to work with CoreML and I do know it has more limitations right now than say ONNX / tensorrt. The original code might have some extra workarounds / differences for coreml as it's by Apple. This model does export to ONNX.
I'll move to discussions in case anyone else has any input. I don't consider it a bug at this point but a CoreML limitation.