Why GLFW.NET does't see the Vulkan?

Why GLFW.NET does't see the Vulkan?
VulkanSharp can find Vulkan, but GLFW return Vulkan.IsSupported false, and when try get Vulkan instance extensions throw Vulkan: Loader not found
What can I do to make the GLFW.NET see the Vulkan?
System: MacOS Catalina
Framework: Net Core 3.1
Best Regards, Roman S

This wrapper is simply calling the query function in the native GLFW library and returning the result, not actually doing any searching or loading itself.
The GLFW provides a special note for macOS users regarding Vulkan and proper linking here, which states:
macOS: Because the Vulkan loader and ICD are not installed globally on macOS, you need to set up the application bundle according to the LunarG SDK documentation. This is explained in more detail in the SDK documentation for macOS.
Is that helpful at all?

Thanks. It's helped me.
GLFW now Vulkan.IsSupported return true, But when I try now get Vulkan extensions GLFW throw new error - "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

string[] extensions = GLFW.Vulkan.GetRequiredInstanceExtensions();

I find answer. Exception is throw if I invoke GLFW.Glfw.Init();

That indeed seems like an error with this library, I will take a look into it.

That indeed seems like an error with this library, I will take a look into it.

Thanks. I would like to use your binding, because i think is best glfw c# binding now.
Thank you for spending time.

That indeed seems like an error with this library, I will take a look into it.

any updates on this?

Oh, my bad, completely slipped my mind on this. I am literally digging into right now and working on it. Sorry for the delay :/

Well, am kinda already scratching my head on what the issue could be. I don't have Mac to test it on, but on my Arch LInux machine.
Running this code:
static void Main(string[] args)
{
    Glfw.Init();
    Console.WriteLine($"Vulkan: {Vulkan.IsSupported}");
    foreach (var extension in Vulkan.GetRequiredInstanceExtensions())
    {
        Console.WriteLine(extension);
    }
}

...gives me this:
Vulkan: True
VK_KHR_surface
VK_KHR_xcb_surface

I started digging into the code, and ensuring the methods was a proper analog of its C counterpart.
The C methods is pretty straightforward:
const char** glfwGetRequiredInstanceExtensions(uint32_t *count);

You call it, it returns a pointer to a an array of pointers, and writes the number of elements in the array to count so you know how many elements to read without getting a segfault, which would cause the AccessViolationException. The return value is essentially an a pointer to an IntPtr[], where each pointer in the array is a pointer to a null-terminated string.
The C# code of this library appears to handle this properly, even when stepping through it line by line. I annotated it all to explain the logic step-by-step (my process for finding bugs)
public static string[] GetRequiredInstanceExtensions()
{
    // Get the initial pointer where the C array is located in memory, and how many elements there are.
    var ptr = GetRequiredInstanceExtensions(out var count);

    // Create an array with the capacity to hold this many elements.
    var extensions = new string[count];

    // No nothing if it returned 0 result or an invalid address for the pointer to the array.
    if (count > 0 && ptr != IntPtr.Zero)
    {
        // Initialize the offset to 0, which is how far into the the array's address we are reading.
        var offset = 0;

        // Begin looping, breaking once we have process the number of elements in the array.
        // Which each iteration, we increase the offset by the size a pointer (4/8 bytes for 32/64 bit CPU)
        // This will place the offset at the beginning of the next element in the array.
        for (var i = 0; i < count; i++, offset += IntPtr.Size)
        {
            // Get the address stored at this location in the array. This address is to a null-terminated
            // C "string"
            var p = Marshal.ReadIntPtr(ptr, offset);
            // Read the pointer as a string, and store it in our array. This is a copy operation, and the
            // Marshal class stops when it hits a null-byte automatically.
            extensions[i] = Marshal.PtrToStringAnsi(p);

            // Move on to the next.
        }
    }
    // Totally superfluous and overkill (should never actually need to), but we return a copy of our array
    // rejecting any element that is null or empty.
    return extensions.Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();
}

This all appears legit, even in testing, unless I am just missing something obvious (very possible). Would it be possible for you to clone and run this through a debugger with break-points and see exactly where the error is occurring? I am curious if it is not finding the address of the actual function, which causes the segfault, or if it is something in the C# code in that loop and misreading a pointer or something. I am unable to reproduce the error on my end to really be of much help at the moment.

Oh, my bad, completely slipped my mind on this. I am literally digging into right now and working on it. Sorry for the delay :/

Sorry, i didn't see your answer. I think because you ask so fast :)

Well, am kinda already scratching my head on what the issue could be. I don't have Mac to test it on, but on my Arch LInux machine.
Running this code:
static void Main(string[] args)
{
    Glfw.Init();
    Console.WriteLine($"Vulkan: {Vulkan.IsSupported}");
    foreach (var extension in Vulkan.GetRequiredInstanceExtensions())
    {
        Console.WriteLine(extension);
    }
}

...gives me this:
Vulkan: True
VK_KHR_surface
VK_KHR_xcb_surface

I started digging into the code, and ensuring the methods was a proper analog of its C counterpart.
The C methods is pretty straightforward:
const char** glfwGetRequiredInstanceExtensions(uint32_t *count);

You call it, it returns a pointer to a an array of pointers, and writes the number of elements in the array to count so you know how many elements to read without getting a segfault, which would cause the AccessViolationException. The return value is essentially an a pointer to an IntPtr[], where each pointer in the array is a pointer to a null-terminated string.
The C# code of this library appears to handle this properly, even when stepping through it line by line. I annotated it all to explain the logic step-by-step (my process for finding bugs)
The private overload of the method it calls internally, doesn't appear like any problems here.
[DllImport(Glfw.LIBRARY, EntryPoint = "glfwGetRequiredInstanceExtensions", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr GetRequiredInstanceExtensions(out uint count);

The actual method that does the main logic processing.
public static string[] GetRequiredInstanceExtensions()
{
    // Get the initial pointer where the C array is located in memory, and how many elements there are.
    var ptr = GetRequiredInstanceExtensions(out var count);

    // Create an array with the capacity to hold this many elements.
    var extensions = new string[count];

    // No nothing if it returned 0 result or an invalid address for the pointer to the array.
    if (count > 0 && ptr != IntPtr.Zero)
    {
        // Initialize the offset to 0, which is how far into the the array's address we are reading.
        var offset = 0;

        // Begin looping, breaking once we have process the number of elements in the array.
        // Which each iteration, we increase the offset by the size a pointer (4/8 bytes for 32/64 bit CPU)
        // This will place the offset at the beginning of the next element in the array.
        for (var i = 0; i < count; i++, offset += IntPtr.Size)
        {
            // Get the address stored at this location in the array. This address is to a null-terminated
            // C "string"
            var p = Marshal.ReadIntPtr(ptr, offset);
            // Read the pointer as a string, and store it in our array. This is a copy operation, and the
            // Marshal class stops when it hits a null-byte automatically.
            extensions[i] = Marshal.PtrToStringAnsi(p);

            // Move on to the next.
        }
    }
    // Totally superfluous and overkill (should never actually need to), but we return a copy of our array
    // rejecting any element that is null or empty.
    return extensions.Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();
}

This all appears legit, even in testing, unless I am just missing something obvious (very possible). Would it be possible for you to clone and run this through a debugger with break-points and see exactly where the error is occurring? I am curious if it is not finding the address of the actual function, which causes the segfault, or if it is something in the C# code in that loop and misreading a pointer or something. I am unable to reproduce the error on my end to really be of much help at the moment.

Yeah, i will try in nears time debug and try reproduce this exception.

Thanks again for your time!


Extended M3U file is required

I'm trying to setup a .M3U8 playlist with xTeVe but when I enter the address a popup says.. "Invalid M3U file, an extended M3U file is required." The source stream is coming from a Haivision Gateway SRT->HLS. Is there a M3U8 specification/standard playlist that is required?
I'm able to open our test stream with VLC. It was also successful opening up the M3U8 stream with "Restreamer" but not with xTeVe.

xTeVe will only accept a m3u Playlist, however the m3u can contain m3u8 streams.

I know of only one m3u "specification" Looks like this....
#EXTM3U #EXTINF:-1 tvg-chno="34287" tvg-id="" tvg-name="EN - 2-Headed Shark Attack (2012)" tvg-logo="http://logo.protv.cc/images/5Tv02hJx2IJxP1QHLrKXvp672ur_small.jpg" group-title="|EN| HORROR",EN - 2-Headed Shark Attack (2012) http://line.getIPTV.com/movie/XXXXXXXX/XXXXXXXXX/47962.mp4

I find the 7z option interesting because for a game that we play we do not need to delete it and decompress it each time it will remain in a temporary folder finally 50% space saving is not negligible when we has a large game library has a simple 7z extraction would be welcome decompression in a Ramdisk takes little time or an SSD


Add exception of "from:contributor" in stale workflow

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Support for JSON-valued claims

I'm trying to implement the Token Exchange draft, which features JWT claims of the form:
{
    "aud": "https://as.example.com",
    "iss": "https://client.example.net",
    "exp":<PHONE_NUMBER>,
    "scp": ["status","feed"],
    "sub"<EMAIL_ADDRESS>    "may_act":
    {
        "sub"<EMAIL_ADDRESS>        "name": "Admin"
    }
}

When I construct a JwtSecurityToken object, the claims generated for the token above are:
"aud": "https://as.example.com"
"iss": "https://client.example.net"
"exp": "1441910060"
"scp": "status"
"scp": "feed"
"sub"<EMAIL_ADDRESS>"may_act": "\"sub\"<EMAIL_ADDRESS>"may_act": "\"name\": \"Admin\""

Are the separate may_act claims expected? They're created by these lines of code:
https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/b2f7484d3bf6786e355922b113d27ca06d0cc2ba/src/System.IdentityModel.Tokens.Jwt/JwtPayload.cs#L342-L359
As JObject implements IEnumerable{JProperty}, this code creates a separate claim for each JProperty. These claims are not valid/complete JSON objects.
What's the recommended approach here? I can reassemble a JSON object in an IClaimsPrincipal extension method, but I wonder whether JObject should be special-cased in the code above to ensure that only a single (JSON-valued) claim is created in the first place.

@jackwhelpton I have been out for a few days, I will look into this.

@jackwhelpton I would like to get this shorted out before we drop rc2. Can you share you created you JWT? I have experimented with a couple of different ways to add the claims and that affects the result.

In IdentityServer we introduced a ClaimTypeValue.Json.

I've been experimenting with IdentityServer 4, and what @leastprivilege refers to above is exactly the approach I'd taken (within an ICustomGrantValidator).
When debugging I then just used that JWT in string form. There's no sensitive information in it, so here's the exact line:
var jwt = new JwtSecurityToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjIyNTMwIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDoyMjUzMC9yZXNvdXJjZXMiLCJleHAiOjE0NTQwODYzMzYsIm5iZiI6MTQ1NDA4MjczNiwiY2xpZW50X2lkIjoicmFrdXRlbi5jYXRhbG9nIiwic2NvcGUiOiJjb3JlIiwibWF5X2FjdCI6eyJzdWIiOiIxNzQxMjI2IiwibmFtZSI6IjE3NDEyMjYiLCJ0ZXN0LWNvbXBsZXgtcHJvcGVydHkiOnsia2V5IjoidmFsdWUifX19.FEa___lR8uks4R7npuHvOSSw4fbde83z2-9X-ZMgwQPvk1rSbv8dKEgdCuhE16u7rn6oERhJJeyJGJsEJRDDY3gjLlPmWdy2nTlxpnMOwOctrWipKsualVZvr0Jt9P4pMECYrxl434waL6CbVEQri6-fYwnIPrp8fCGl-WxSbF4z1UWKGfYxOhYr9e0zx5kLLWmLM-kBsPPeqO2h0DcF0-kdvTJ1XER5_ev2Sf_RgMkFhC2bMYhFfheMAWLrDdsnEeZfw4X8hkS5lJ_1adas4fEs2ETBBerLf6p2I8Majy0vosybtTAw7XhKSarbDtA7PVmR_vb8mopLvw0tWf4ssQ");

My experimental fix was to add a block like this to the Claims property linked to above:
// Do we have a JSON object?
var json = keyValuePair.Value as JObject;
if (json != null)
{
    claims.Add(new Claim(keyValuePair.Key, json.ToString(), JwtConstants.JsonClaimValueType, issuer, issuer));
    continue;
}

// Do we have a collection of objects?
var values = keyValuePair.Value as IEnumerable<object>;
if (values != null)
{
    ...
    continue;
}

...

I ended up moving to a "continue" pattern as adding another special case like this leads to (what looked to me to be) an excessive level of nesting.

@jackwhelpton @leastprivilege that is a good idea. I am fiddling with it to understand how to think about n/v that have imbedded JSON.
On a separate note, the parsing code that transforms JSON -> .Net Claims is dependent on the serialization engine. I also have remnants from when the .Net JavaScriptSerializer was used.
It seems that if we want support different serializers, we need to account for this. It means some additional extensibility and removing or improving the static JsonExtensions.

Re-opening since this is not fixed in 4.x yet.

Because of the way we create the subtoken, there's no good way to override the claims creation.

Any chance to have a fix ?

@ChenYan98 5.x changed so that
"may_act":
{
"sub"<EMAIL_ADDRESS>"name": "Admin"
}
Would return a single System.Security.Claims.Claim:  {may_act, {<EMAIL_ADDRESS>"name":"Admin"}, JsonClaimValueTypes.JsonArray}. Which is a single claim where the ValueType indicates the string is well formed JSON.
Please investigate the work involved in making this change in 4.x. See: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/test/System.IdentityModel.Tokens.Jwt.Tests/JwtPayloadTest.cs#L284
For example of the test.

If we update Wilson to 5.x in Katana in next few months then I think we are ok with not fixing this for 4.x. @brentschmaltz what is your opinion?

@ChenYan98 We haven't closed on ensuring 5.x will be modified to support Katana. Let's table this until we make that decision.

There may be an update to Katana in the next few months where it could move to 5.x if it didn't impact consumers too much.


Remove references to Portland Playhouse

With the multi-tenancy design for supporting different companies, Wondertix is more of it's own application that is separate from PPH.
Generify the webpage by removing any reference to PPH (the back drop on the main page also needs to be removed/replaced)
Generify the codebase from any references to PPH or write follow up stories to do so.

Would we need to create a WonderTix logo to replace the PPH one?

Shouldn't be necessary but would be cool if you're feeling creative!

Literally started working on one while waiting for an answer

Not exactly professional quality but it should make a solid placeholder

Do I need to get rid of the Copyright statement in the footer, or does it need to stay?

Let's keep the copyright statement for now


Can no longer slice csr_matrix in 1.3.0

I have a code example that works in scipy 1.1.0, 1.2.0, 1.2.1 and has a stack trace in 1.3.0, 1.3.1, 1.3.2.
Reproducing code example:
import pandas as pd
from scipy.sparse import csr_matrix

df = pd.DataFrame({'thing': [1, 1, 2, 2, 2],
                   'score': [0.12, 0.13, 0.14, 0.15, 0.17]})

row_index = df['thing'] == 1
print(type(row_index), row_index)
print(df[row_index])
sdf = csr_matrix(df)
print(sdf[row_index])

Error message:
Traceback (most recent call last):
  File "./foo.py", line 13, in <module>
    print(sdf[row_index])
  File "root/.venv/lib/python3.7/site-packages/scipy/sparse/_index.py", line 59, in __getitem__
    return self._get_arrayXslice(row, col)
  File "root/.venv/lib/python3.7/site-packages/scipy/sparse/csr.py", line 325, in _get_arrayXslice
    return self._major_index_fancy(row)._get_submatrix(minor=col)
  File "root/.venv/lib/python3.7/site-packages/scipy/sparse/compressed.py", line 690, in _major_index_fancy
    np.cumsum(row_nnz[idx], out=res_indptr[1:])
  File "<__array_function__ internals>", line 6, in cumsum
  File "root/.venv/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 2423, in cumsum
    return _wrapfunc(a, 'cumsum', axis=axis, dtype=dtype, out=out)
  File "root/.venv/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 61, in _wrapfunc
    return bound(*args, **kwds)
ValueError: provided out is the wrong size for the reduction

Output of working version (on earlier versions of scipy):
<class 'pandas.core.series.Series'> 0     True
1     True
2    False
3    False
4    False
Name: thing, dtype: bool
   thing  score
0      1   0.12
1      1   0.13
  (0, 0)	1.0
  (0, 1)	0.13
  (1, 0)	1.0
  (1, 1)	0.13
  (2, 0)	1.0
  (2, 1)	0.12
  (3, 0)	1.0
  (3, 1)	0.12
  (4, 0)	1.0
  (4, 1)	0.12

Scipy/Numpy/Python version information:
1.3.0 1.17.3 sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)

See the same info on stackoverflow here.
I'm running in OS X, tried pandas 0.25 and 0.25.3, though I don't know that those matter.

This issue may or may not be related.

I can confirm this issue is present on master (1.5.0.dev0+0a7b39a).

The issue here stems from the use of a pandas Series object as a boolean/logical index array. We check for boolean indices here:
https://github.com/scipy/scipy/blob/0a7b39a3973bf0ed95a497764445ccbaed7e990b/scipy/sparse/_index.py#L279
Since pandas.Series is not a subclass of numpy.ndarray, the indices are not converted to integers, breaking the assumptions in the code that follows.
You can see this in the posted example:
In [29]: sdf[row_index.values]
Out[29]:
<2x2 sparse matrix of type '<class 'numpy.float64'>'
	with 4 stored elements in Compressed Sparse Row format>

To see that the change is taking place in index validation:
In [30]: sdf._validate_indices((row_index, slice(None)))
Out[30]: (array([ True,  True, False, False, False]), slice(None, None, None))

In [31]: sdf._validate_indices((row_index.values, slice(None)))
Out[31]: (array([0, 1]), slice(None, None, None))

So for the time being, you can work around the issue by changing index arrays from Series to plain numpy arrays. A fix for the index validation to be less strict about types when checking for logical index arrays would solve this for good, though.

Thanks!

Instead of checking index array for numpy.ndarray wouldn't it be better if check for the presence of attribute ndim?  Pandas Series object already has attribute ndim. We may get the desired leniency in array type by making this change.

Looks like this was fixed in #11265.  Closing.


Fix includes for vendoring projects

Vendoring projects would previously install glaze directly to /usr/local/include if /usr/local is their install prefix and wish to install glaze themselves.
Example where this could go wrong:
set(CMAKE_SKIP_INSTALL_RULES OFF)
add_subdirectory(third-party/glaze)

And when installing:
$ cmake -B build -DCMAKE_INSTALL_PREFIX=/foo
...
$ cmake --build build -t install
...
-- Installing: /foo/include/glaze.hpp
...

This breaks #include <glaze/glaze.hpp> includes!

Accidentally wrote CMAKE_INSTALL_PATH instead of CMAKE_INSTALL_PREFIX in the commit. Could you please fix that when squash merging? I don't want to rerun CI just for that :)

Oh no! The commit wasn't squashed! Now my shameful lazyness will forever be part of the project's git history 😔

My bad I was a little to trigger happy merging that.

Hopefully someone looking at that commit in the future will find their way back here and discover that the example code is known to use a made up variable by mistake.


Only one message at a time

Is it possible to show only one message at a time? Or maybe to invalidate previous messages when spawning a new one? Thanks!

There is no straightforward solution but you can use
getStorage() to gain access to a full list of messages and then perform a destroy() on old messages if a new one overrides previous. Or you can add some logics above to prevent new messages if storage is not empty (thats your code that emits flashes :)


Output problems with water tagging

Two issues detected when doing water tagging (e.g. atlantic_dye_layer):

I'm tagging two temperature layers. I change FEOTSInitialize.f90 to work with water tagging. The generated Tracer.init.nc has 6 dye tracers (nLayers = 2, nMasks = 3), with DyeTracer_01 = 1 from top to bottom on the boarder, DyeTracer_02 = 0 from top to bottom on the boarder. Similar for DyeTracer_03 and DyeTracer_04 on the southwest boarder and DyeTracer_05 and DyeTracer_06 on the northern board.
I understand the tracer values of Tracer.init.nc is only for double-checking, since they will be hardset anyway during the integration. But it's still strange.

I tested for 320 steps, and dumped output every 80 steps. The water tagging seems to work. But the hardset value on the boarder is 2 instead of 1.

I have uploaded the atlantic_dye_layer folder. Let me know if you want to take a look at Tracer.init.nc and Tracer.0000000320.nc.

And when you run with this new tracer.init.nc, you still have the same problem .... You're right that every five days the hard set values are reset, but it doesn't explain why the hard set values are set to 2... Have you run more than 5 days ? If so, does the hard set value return to 1 after five days ?

I did a few tests with nStepsPerDump = 80, and nTimeSteps = 160, 320, and 480 just now, with this new Tracer.init.nc.
No matter the nTimeSteps number, all three tests give correct output except the last file.
e.g. When nTimeSteps = 160, Tracer.0000000080.nc is correct (board=1), but the boarder of Tracer.0000000160.nc is 2.
When nTimeSteps = 480, all files are correct except for Tracer.0000000480.nc
Interesting. I'm using the old FEOTSDriver (compiled on Jun 27), the new Tracer.init.nc (generated on Jul  3), but getting results different from previous tests which generated boarder=2 at each output file. Any clue?

Do a make clean and make FEOTSDriver ... make sure you have set MPI to yes and OMP to yes ..

I think your last clue may have tipped me off.... I just inserted an MPI_BARRIER at the end of the main time loop. What I think is happening is that all of the ranks, except rank 0, are exiting and the program terminates in the middle of rank 0 writing a file.
Still try with your new driver. It may be a good test also to see if you get the correct answer if MPI=no and OMP=no , just for 80 or 160 timesteps.

If serial works, and your new driver does not, do a git pull, and recompile with MPI and OMP set to yes

make clean
module load gcc openmpi
export OMP=yes
export MPI=yes
export TIME_AVG=yes
make FEOTSDriver
export OMP_NUM_THREADS=3
mpirun -np 7 -x OMP_NUM_THREADS ./FEOTSDriver

I set nTimeSteps = 640. Again, all the output files look good except for Tracer.0000000640.nc.
I'm doing the serial test.

Serial worked. Git pulled. Recompiled with MPI and OMP.
Tested but the problem persist. I'm testing nTimeSteps = 160, Tracer.0000000080.nc is fine. Tracer.0000000160.nc gives boarder = 2.

Ok.. So it's definitely an issue with the parallelization, and the extra BARRIER didn't help


AdvancedMarkers show as standard markers the first time I run the sample

I’m running the sample and tapping on the “Advanced Markers” button, and this is what I’m seeing on a Pixel 4a and Zenfone 10 both running Android 13:

So basically just standard markers, with all the customization happening on AdvancedMarkersActivity not there. The weird thing is, sometimes, if I run it again, then I see what I’m supposed to see:

Every time I run the project for the first time, I always see no custom markers — so basically any time I uninstall the sample and run it again, I’ll see what I’m showing here in the first picture. Then sometimes when running again I see the custom markers, and once I see them they’re there all the time. I know that sounds vague, but I couldn’t narrow it down further, and this is clearly an issue as it’s also happening in my main project, except there I actually never see actual custom markers no matter how many times I run the project.

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.
@tfcporciuncula Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.

Reported here: https://issuetracker.google.com/issues/308840214


[BUG] idleTimeBeforeShutdown property is missing on the Azure Machine Learning Compute Instance

API Spec link
https://github.com/Azure/azure-rest-api-specs/blame/15bffa2a75c58157e218a1f909b254c9350094a1/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-10-01/machineLearningServices.json#L3917-L4083
API Spec version
2023-10-01
Describe the bug
The specification for Azure ML ComputeInstance doesn't contain the idleTimeBeforeShutdown property while it's returned by the actual API. As a result https://github.com/hashicorp/go-azure-sdk doesn't contain this property and https://github.com/hashicorp/terraform-provider-azurerm can't be changed to manage it via Terraform.
Expected behavior
The specs for the ComputeInstance contains the idleTimeBeforeShutdown property
Actual behavior
The idleTimeBeforeShutdown property is missing in the specs for the ComputeInstance
Reproduction Steps
Run
az rest --method get --url https://management.azure.com/subscriptions/xxxx/resourceGroups/xxxx-rg/providers/Microsoft.MachineLearningServices/workspaces/xxxx-mlw/computes/xxxx-test-instance?api-version=2023-10-01

and find the idleTimeBeforeShutdown in the output
Environment
No response

This should unblock the https://github.com/hashicorp/terraform-provider-azurerm/issues/20973 issue.

Any updates on adding this feature?


requirement confilicts for vllm and fast-attn

Hi, I encountered some issues while trying to run it. I attempted to install the dependency package in requirements.txt, but found a version conflict between two packages:
fast-attn requires torch>=1.13.0 and torch<2.0.0
vllm requires torch>=2.0.0.

besides, I also encountered a problem same to #26,
may I ask if you have encountered this problem? thank you!

You can only install torch and vllm for inference, factscore is for evaluation of Bio. Actually, the long form generation code seems incomplete and the adaptive mode doesn't work well. So you can skip factscore installation if you just want to make it run.

thanks, I will give it a shot🤗

Hi @xhd0728 sorry for my late response! As @Loose-Gu mentions, you can create a separate env for factscore if the issue remains. I also had a similar issue when I was working on the project, so I ended up creating a separate environment. I'll update the readme and requirements.txt shortly. Thanks for your patience!

FYI: A new PR is merged to fix the conflicts (Thanks @zlwang-cs!). Please git pull again if you still see the issue.
#32


Small mistakes in microbenchmark code

Going through the Microbenchmarks I notice some small issues:

Microbenchmark 14 microbenchmarks/indirect-call-index-expression/main.wat line 25: Wrong function index inserted into table. Inserted should be $not-reachable instead of $b.
Microbenchmark 20 microbenchmarks/indirect-call-index-expr-load-interprocedural-param/main.wat is missing completely
Microbenchmark 21 microbenchmarks/indirect-call-index-expr-load-interprocedural-result/main.wat comment states function id is $call_indirect but it is actually $index

Thanks for notifying us of the issues (and sorry for the late reply)!

wrt. microbenchmark 14 (I guess you meant indirect-call-expr-const since there is no indirect-call-index-expression): fixed
wrt. microbenchmark 20: source file added back in c3d5e78, that was accidentally removed in a539be0 (I believe @michelledaviest removed the output files of the static analysis tools and the source file accidentally got selected as well)
wrt. microbenchmark 21: fixed


Internal server error on fresh install

I've experienced an issue in every repo I've tried to add this package to and just now had the time to try and reproduce it in a fresh install.
After installing as per the readme but without completing any of the steps under 'Usage' , running pnpm run dev results in an error for every image it finds that is not being handled by svelte-img.
Error output:
[vite] Internal server error: vite-imagetools cannot find image with id "adf11109c3e39fc0f54ebdd0129e7562f997daf9," this is likely an internal error
  at file://{/my-app}/node_modules/.pnpm/vite-imagetools@4.0.18/node_modules/vite-imagetools/dist/index.mjs:97:31
  at call (file://{/my-app}/node_modules/.pnpm/vite@4.2.1/node_modules/vite/dist/node/chunks/dep-79892de8.js:48904:7)
  at next (file://{/my-app}/node_modules/.pnpm/vite@4.2.1/node_modules/vite/dist/node/chunks/dep-79892de8.js:48848:5)
  at Function.handle (file://{/my-app}/node_modules/.pnpm/vite@4.2.1/node_modules/vite/dist/node/chunks/dep-79892de8.js:48851:3)
  at Server.app (file://{/my-app}/node_modules/.pnpm/vite@4.2.1/node_modules/vite/dist/node/chunks/dep-79892de8.js:48716:37)
  at Server.emit (node:events:513:28)

To reproduce:

Install Sveltekit: pnpm create svelte@latest my-app (I chose Typescript, ESLint, and Prettier integrations)
Install svelte-img: cd my-app && pnpm i -D @zerodevx/svelte-img
Edit vite.config.ts as per the readme
Run pnpm run dev

Is it intended behavior that this package doesn't allow users to import an image and NOT use it in an <Img> component? If every imported image is used in an <Img> tag the error(s) go away but doing so is not possible for my use case. Other than this small catch, I love the package! Thanks.

Is it intended behavior that this package doesn't allow users to import an image and NOT use it in an  component?

Under the hood, importing images through the ?run query param generates customised data that should be utilised by the included <Img> component, so yes it comes as a pair.
You can however choose not to use the ?run preset, then behaviour will revert to standard vite-imagetools so you can write your img markup accordingly.

You can however choose not to use the ?run preset, then behaviour will revert to standard vite-imagetools so you can write your img markup accordingly.

This sounds good, but in my experience is not actually the case.
I tested installing imagetools and using it in my project and importing an image without passing it any directives and it doesn't result in any errors. It works exactly as expected: it does nothing.
Just to be clear: in this scenario all of the imports are completely standard and don't have any parameters or even a ?.

Using vite-imagetools as a plugin has no impact; it ignores all image imports since none of them have any directives.
Using svelte-img throws an error for every image being imported, despite the absence of the ?run directive.

Does that make sense? Hope I'm conveying the issue properly. It seems like we're on the same page for expected behavior.

This sounds good, but in my experience is not actually the case.

Perhaps it's because defaultDirectives was set. Try clearing it with something like:
import { sveltekit } from '@sveltejs/kit/vite'
import { imagetools } from '@zerodevx/svelte-img/vite'

/** @type {import('vite').UserConfig} */
const config = {
  plugins: [
    sveltekit(),
    imagetools({
      defaultDirectives: () => new URLSearchParams('')
    })
  ]
}

export default config

My intention was definitely to revert to standard imagetools behaviour if the ?run query param is not used - might refactor to make it do so soon.

That was indeed the issue.
I went ahead and opened a PR as a 'good enough' solution for now, feel free to make any changes you would like or if you would prefer to refactor it yourself later then I'm happy to patch your package locally in the meantime. Thanks!


[opt](index compaction)Avoid get file size when create index reader and remove unnecessary file exists

Proposed changes
Get file size and file exists operations are very expensive in object storage.
Index compaction may have plenty of small files, and the head operation will be a lot time consumption.

run buildall


Update the entire base

The current version of react is already very outdated.
Updating it means having to redo practically all the components and pages, so the basis of the whole website could also be changed.
That is to say to use NextJS or Astro which would be very useful for several sections of the web.
I think that for this case it would be more interesting to use NextJS because there are several quite dynamic parts and for the parts like the wiki it can be generated by SSG.
Advantages of using NextJS in this application:

SEO
Much faster loading speed for static pages such as the homepage and wiki items.

Disadvantages:

Higher server cost, currently it is 0 (Vercel) and I think with NextJS it has a cost.
More complexity, I don't see it as a problem but it is true that it is more complex than loading everything in the client.

To do this, the following actions will be carried out:

Upgrade all components to functional components


Update README.md

Added the findAll method to the Readme.md.

Thanks for this contribution, but we need better docs...
At least answering question about what the difference between manual and automatic cache.

Just published new version with updated docs


Download progress bar is a bit wonky

The progress bar has a two issues with it. The speed of downloading is horribly incorrect and the bar itself resizes a few times during the download.
I need to stop the bar from resizing while maintaining N columns and present an accurate download speed.

Good enough.


Assert failed in the s5 proxy sample.

When the nread is equal to UV_EOF or UV_ECONNRESET, the buf->base is NULL. Please fix the assert.
http://docs.libuv.org/en/v1.x/stream.html#c.uv_read_cb
https://github.com/libuv/libuv/blob/719dfecf95b0c74af6494f05049e56d5771ebfae/samples/socks5-proxy/client.c#L668

I have fixing the assert fail and lots of memory leak. Please look at https://github.com/ssrlive/s5proxy

If you have a fix, please open a pull request and we'll take it from there.

I have changed the code base many points.

I have committed a PR https://github.com/libuv/libuv/pull/1608


Create a new branch dev for the script setup migration

Hello,
@VividLemon, @mariusa , @aceofwings,
Currently, there are many changes to transform all the components to script setup. I think it's a very good thing to switch to script setup, and it's also the way I work on all my projects in vue+typescript
But if you run the dev app npm run dev, there are certain things that don't work anymore and it's not easy to know if it was the case before ... and if it's linked to the migration
Could we create a dev branch for this migration and merge the pull-requests related to the migration on it?
We could also remove all commits related to this migration from main. To be able to do a better review of the migration and to be able to compare with the pre-migration version (using a Pull Request).
You can do this by creating the dev branch from main
git checkout -b dev
git push --set-upstream origin dev

Remove main
git branch -D main

Return to this commit a9f8b95f6636631a8de0 (just before the migration)
git checkout a9f8b95f6636631a8de0

Recreate the main branch from this commit
git switch -c main

Force-push it
git push -f --set-upstream origin main

That would allow us to do a better review of the migration to script setup and compare
I did the test here on my repo fork, then here is the PR of the new dev branch on the main https://github.com/messenjer/bootstrap-vue-3/pull/1/files
What do you think?
Mathieu

I agree Mathieu,
These changes have been bringing in several disruptions. The fact that the library has not been built from errors existing since April  and also affecting documentation. We would then revert main back to the last known successful build or I assume the commit hash you provided is sufficient?
@mariusa I also think we should give window for review, just to make sure things look good. Perhaps keeping pull requests open for 24 hours? Of course this will depend on the Pull Request and what it affects.
I will do the necessary changes once we are all in agreement.

I have no objection to moving to a separate branch. However, some of the various changes to tsconfig, package.json, etc should be kept. Without some of those changes, the library will break down. For example, reverting back to pre- vue-tsc addition, will not allow the library to be built or use npm run dev. Do to the breaking issues on running build, the "prepare" script would not allow one to run npm install. I figured since the library cannot be built anyways, that there is little change. I can continue the work for script setup conversions on a different branch, then deal with the possibility of merge conflicts later. You mentioned some things not working anymore, many of the components do not contain tests so it can be hard to tell when one thing breaks. If you could provide me some examples of components that have stopped working, that would be a great place to start -- since the next list of my work is to make sure everything is working right. @aceofwings you're good to move over some of the more recent changes to a separate branch. But, if you could preserve some of the changes to the config files, that would keep the library in a stable place for anyone else starting to develop.

@mariusa I also think we should give window for review, just to make sure things look good. Perhaps keeping pull requests open for 24 hours?

Ok, good idea!

However, some of the various changes to tsconfig, package.json, etc should be kept.

Right. What would be the remaining effort to complete the migration? I have the sensation that the bulk has been done already.
If so, and considering that the build was broken anyway for some time, personally I'd prefer to focus on completing and getting it working in main, to avoid some double work.

I will do the necessary changes once we are all in agreement.

Whatever you prefer, @aceofwings, I agree.

We can continue on main. How can we help, there are still components to convert like BButton, ... I can try to work 1h per day to convert or test components.

We can continue on main. How can we help, there are still components to convert like BButton, ... I can try to work 1h per day to convert or test components.

As I have noted in some previous PRs. There are some limitations with Vues compiler. It does not allow extending of interfaces. So, I believe bbutton extends blink - if I remember correctly. So, for now, it can stay how it is. There are a few similar cases. The only recommended change I have done in those cases was just to improve the code.
The only remaining things to do is convert those that use render functions, and to fix out any unintentional problems with ones that have already been converted. Once those two things are finished, the library should be buildable and function properly.

there are still components to convert like BButton

To clarify, https://vuejs.org/guide/typescript/composition-api.html#typing-component-props
means that if we were to do:
import SomeInterface from '...'
defineProps<SomeInterface>()

It is not allowed
You can do (I think)
interface BLinkProps {}
interface BButtonProps extends BLinkProps {} // declared in the same file
defineProps<BButtonProps>()

Though, it comes with two drawbacks. 1. It means that the BLinkProps interface would be duplicated, meaning that you would need to change BLinkProps in this file also if you were making a change.
But the real issue in this example comes from trying to get the defaults from BLink
For example
import {BLinkPropDefaults} from '...'
interface A {}
interface B extends A {}
withDefaults(defineProps<B>(), { ...BLinkPropDefaults, foo: 'a' })

This following code errors out, claiming that the "second argument in withDefaults must be an object literal"
So currently, there are some syntax limitations with being able to pull, extend, and use props from multiple components. Hypothetically, you could again duplicate both the props interface, and it's defaults, but that would mean handling multiple files if one needed to be changed. I heard that the import of some fixes for these limitations may be coming in Vue 3.3, but this is speculation. But for now, keeping those complex components in the way that they are is of more benefit.
For now, the only remaining work to be done is to convert the render functions (these are the only ones remaining with errors), and to fix out any issues I may have unintentionally caused. -- A known issue of mine is, as I have been saying, unintentionally making props required=true, when previously they were not explicit. I would estimate that it could probably be a week till everything is stable and buildable.

After https://github.com/cdmoro/bootstrap-vue-3/pull/428 I don't believe I can fix the remaining issues on my own. Some are caused from render functions, which I simply don't know how to fix or convert. Botast/plugin, I don't think I could confidently change, the == error, I'm not sure if setting it to === would be a competent fix, though the other issue I believe is as simple as doing  ?? ''. I really have no idea on how to fix the issue in utils/bvEvent or the one in BNavItemDropdown. There aren't a lot of actual errors there, I am just not confident that I would be able to fix them without introducing a separate issue. So, if someone could help me fix them, or fix them yourselves, that would be great. After that, the library could be buildable, but we would still need to be careful about any unintended, non-erroring issues that I may have caused. I don't think there is many.
Lastly, and sadly, there are more previously unknown issues surrounding defineProps and script setup conversion, that should be eventually fixed. I submitted this issue to Vue/core https://github.com/vuejs/core/issues/6196 . I just wanted to make it known that there is another known issue with using this kind of syntax. It seems like every other day I'm finding another issue with moving to setup 😮💨 It doesn't do anything, beyond expressing a Vue console.warn. It should not break anything. Just can be misleading.

Thank you!

Ill take a stab. Lets merge in the current fixes and go from there

Ill take a stab. Lets merge in the current fixes and go from there

I have some other changes, I was wondering if any prop in the library was actually required. To be honest, I don't think bootstrap vue ever actually required a prop. Turning all props to not be required, causes no errors (besides like two, fixable issues). It seems like all props are treated as if they are not required to use a component. Should I pr to have all props not be required? Or does someone have any better ideas?

Turning all props to not be required, causes no errors (besides like two, fixable issues).
Should I pr to have all props not be required?

Great, let's do this!


Parse :not and :not-join

Part of #239.

Examples of Not and Not Join from Datomic. Do we want to match this here?
Not
[:find ?name
 :where [?eid :artist/name ?name]
        (not [?eid :artist/country :country/CA])]

Not-join
[:find (count ?artist) .
 :where [?artist :artist/name]
        (not-join [?artist]
          [?release :release/artists ?artist]
          [?release :release/year 1970])]

The Datomic docs on not have pretty much exactly the same wording as for or and so we probably need to validate in the same way.

unify the variables.

In not that means ensuring that any variable in the not clause is also represented in the other clauses (?eid in the example above).
In not-join, ensuring that the variables stated in the join list (?artist in the example above) are represented in the other clauses.
In the not-join that the variables in each leg of the not match (?release in the example above`)

Do we want to match this here?

Yes.
Validation and variable extraction of or, which you can reuse here, are in #394; I hope to land those today.
Note that not doesn't have legs/arms in the way that or does. not and not-join simply have a body, so there's no analogue of making sure that each arm is similar. That's nice.
Algebrizing simple not is pretty much equivalent to computing the non-negated changes, wrapping them in a negation, and adding them to the destination CC.
Algebrizing simple not-join with non-exhaustive unification is much the same, but of course bearing in mind the vars that aren't allowed to unify!
Algebrizing complex not — clauses that themselves contain a complex join or generate bindings — involves adding NOT EXISTS to the final query.
https://github.com/mozilla/mentat/blob/master/src/common/datomish/query/clauses.cljc#L178
and
https://github.com/mozilla/mentat/blob/master/src/common/datomish/query/clauses.cljc#L300
and
https://github.com/mozilla/mentat/blob/master/src/common/datomish/query/clauses.cljc#L323
should be a pretty good inspiration.
The algebrizing part will be much easier with my or work to follow, so I recommend you start with parsing once you're satisfied that you understand the concepts!

Do we have to take into account Not And and Not Or?

Yes! The grammar is here:
http://docs.datomic.com/query.html
But the CLJS implementation already gets this right, I think.

For validation purposes, I need to ensure that variables mentioned in the not clause are the same ones that are mentioned in the other where clauses (in the example above, eid). At the point at which we are validating for or, we only have access to the current clause and those it contains. How do I gather the collection of variables for the not's sibling clauses to validate them against?

apply_not_clause is a method on CC. At that point you can say self.column_bindings.keys() (and similar for input bindings) to get iterators over known variables.

There is a validation step that only requires the NotJoin, and that's validating explicit unify vars against the clause itself. To do that you'll need to duplicate some of the var extraction code from the last or-join work I landed.

OK, cool. I was trying to do the CC apply_not_clause validation inside the NotJoin validation. Makes more send this way. I'll just stick with what I've got then.

https://github.com/mozilla/mentat/commit/bd389d2f0de395ef1bc46ea4363def098e2bd687


[deliver,spaceship] Support new screen size (iPhone XS Max)

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

This change enables to upload 1242x2688 (iPhone XS Max) screenshots.
Description

I added necessary constants for uploading screenshots.
I tried it with my app, and then it was successful for uploading screenshots.

when this?

Please let us know if this change requires an immediate release by adding a comment here 👍

I'm in favor of a new release being cut with these changes. The latest release version of fastlane (2.104.0) was unusable for releasing a new version of our app with iPhone XS Max support. Only by referencing the master branch directly from the Gemfile was I able to use fastlane to deliver the new version.

Waiting anxiously for it 🥇


n instead of value ?

Sorry didn't catch the B.radians reference to n is to the outer function constructor scope argument, this issue can be deleted.

Neverm


Use Custome CA and Certificates for Gravity clusters

Feature Request
Instead of having self-signed CA, that is created during the installation time, we need to have our own certificates and CA for all Gravity components
Motivation
Security requirements are preventing us from using any self-signed certificates
Who's it for?
OSS User, Enterprise

This can be achieved with tls key pair resource - does this work for your use-case?


Arc controller deployment shows error if no arcdata extension installed

Don't have arcdata extension installed
Start new arc controller deployment

This error is shown after a bit
Unexpected exit code from command: ERROR: The command requires the extension arcdata. Unable to prompt for extension install confirmation as no tty available. Run 'az config set extension.use_dynamic_install=yes_without_prompt' to allow installing extensions without prompt. (2)

If the extension isn't installed we should detect that on the first page and not run any of the commands on following pages (which is likely where this error is coming from, currently the pages will be created in the background once the wizard is opened even if the pre-reqs aren't met)

@Charles-Gagnon  Just to clarify, by "we should detect that on the first page" you meant the first page of the arc dc deployment wizard (Step 1), not the home page of ADS. And so if we're on Step 1 of the wizard and no arcdata is detected, we should not allow the user to continue to Step 2?

Correct. I filed https://github.com/microsoft/azuredatastudio/issues/16519 specifically for that. This one is more of a general issue where the fact that azdata isn't installed is causing an error to be thrown from a later page - which is confusing to the user.
(this is a general problem with the wizard though - but currently most wizards don't have logic like this one does to run commands in the background so you don't see it show up in the others typically)


How to access input element nested in Field?

I use GoogleMaps API and its address autocomplete feature for one of my projects.
I have a Field for the address, but I need to provide its corresponding nested input form element to GoogleMaps API.
With Redux Form <6 this was doable because it didn't require to use a Field wrapper component. Using React-Bootstrap, I could simply get the input through the refs chain e.g. this.refs.addressField.refs.input.
With Redux Form 6, I have a component wrapper around React-Bootstrap <Input/> that is passed to the component prop of my address Field component.
import { Input } from 'react-bootstrap';

class InputField extends Component {
  render() {
    const { type, placeholder, input, children } = this.props;
    return (
      <Input type={type} ref="bootstrap" placeholder={placeholder} value={input.value} onChange={input.onChange}>
        {children}
      </input>
    );
  }
};

...
import { Field } from 'redux-form';

<Field
  component={InputField}
  ref="address"
  type="text"
  name="address"
/>

Everything works well except I can't access the nested input from outside the InputField component, more specifically in my form component. The only way I found feels hackish, I wrap a span with an id address around the Field component and access the DOM directly.
// form-control is set by react bootstrap
document.getElementById('address').getElementsByClassName("form-control")[0]

It works but I'm wondering if there is not a simpler solution to the problem. Thanks!

+1

You could try(untested)
<Field
  component={InputField}
  ref="address"
  type="text"
  name="address"
  withRef="true"  <== add this
/>

this.refs.address.getRenderedComponent().refs.input

getRenderedComponent() indeed worked 👍

In case if anybody is interested in this topic, there is another way to achieve that:
import { TextInput } from 'react-native';

class TextField extends Component {
  render() {
    const { input, refName, ...rest } = this.props;
    return (
      <TextInput
        ref={refName}
        value={input.value}
        onChange={input.onChange}
        {...rest}
      />
    );
  }
};
...

<Field
  component={TextField}
  name="address"
  refName={(ref) => this.input = ref}
/>

this.input  // <--- here we go!

And for topickstarting example it will look like:
this.input.refs.input

The trick here is to don't use ref name for property will be passed to underlying input component.

Also, we can use
`
import {findDOMNode} from 'react-dom'
...
<FIeld component = {SomeCustomComponent} {...otherProps} ref = {this.getInputRef} />
...
getInputRef = (ref) => {
if (ref) {
const node = findDOMNode(ref)
this.input = node.nodeName.toLowerCase() === "input" ? node : node.querySelector("input")
}
}
...
`


RuntimeWarning: invalid value encountered in distance

When running the code:
edgeDistances = {geom:nodeGeom.distance(geom) for geom in edgeGeoms}
I get the RuntimeWarning
C:\miniforge3\envs\GAT\lib\site-packages\shapely\measurement.py:74: RuntimeWarning: invalid value encountered in distance
  return lib.distance(a, b, **kwargs)

The warning is uninformative and that line of measurements.py just refers to . lib which I can't seem to find.
Expected behavior and actual behavior.
I expected to get a dictionary of edges with their distances and no warnings because I've confirmed that the point and all the edgeGeoms are valid geometries in meters.
Because it is just a warning, and I seem to get the closest point anyway, I just suppressed the warning for now.
Steps to reproduce the problem.
I've tried this in various locations within my data and it always happens, so it seems not related to the particular geometries, but I haven't tried to replicate it with hand-made geometries or other countries, etc.
Operating system
Windows 10
Shapely version and provenance
'2.0.1' installed from condaforge

I'm having the same issue and I've got GEOS 3.11.2. I'm using poetry to manage the project. How do I update GEOS to 3.12?

I'm having the same issue and I've got GEOS 3.11.2. I'm using poetry to manage the project. How do I update GEOS to 3.12? Do GEOS updates coincide with shapely updates as well?
Note that it computes the results fine. But it's weird to get the error.

I just gave it a try with GEOS 3.12.1, and then the warning isn't given. I've never used poetry, but I suppose it should be possible to specify geos with its version as an explicit dependency?

Gotcha, ok I will wait until shapely 2.1 then. Thanks for your help


Skip some flaky tests with parallel executer

With parallel executer, some tests with assertTasksExecutedInOrder
may fail. Skip them.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Delete local image if not in use anymore

Delete locally uploaded images if their parent post (or the entire thread) is deleted (forever).
Editing the post and removing the image would also leave the image on the server, wasting disk space.

Yes that was the whole idea of storing them to the database as well. Feel free to PR the necessary changes, because right now Flagrow is in hibernation until further notice.


User cannot claim proceeds (Claim button not clickable)

From email:

I’m experiencing a very odd issue while trying to claim proceeds on a market. The market has resolved,
the UI shows that I have outstanding returns, and it also says “Proceeds Available April 13, 2019 10:43 PM (UTC -4)” which was several days ago, but the "Claim Proceeds" button is not functional. That button is grey and can’t be clicked on.
The market is the following:https://cloudflare-ipfs.com/ipfs/QmZ6kwTnc3G6mx5Jxuu8fRZZvrzwhq3yPXndnmwxqkQyrj/?ethereum_node_http=https%3A%2F%2Feth-mainnet.alchemyapi.io%2Fjsonrpc%2F7sE1TzCIRIQA3NJPD5wg7YRiVjhxuWAE&augur_node=wss%3A%2F%2Faugur-node.augur.casino#!/market?id=0xc9f0006902b67a7a8ef0e94f9140493243bd3019

Followed by:

Hey all,
I was able to solve the (immediate) problem I emailed you about last week, so no rush in responding, but I think I’ve stumbled on the root issue, which may still be a bug. I think the essential problem is that sometimes the “clock” in the app seems to get stuck, and can’t be reset by simply quitting and relaunching the app.
You might remember that a while back I emailed about a similar issue, saying the dispute window “clock" wasn’t moving forward, and somehow I resolved that issue by a combination of restarting computer, restarting router, etc. I think this most recent problem was essentially the same problem. I say this because I was continuing to browse around the app and I noticed the dispute window “clock” was stuck again (it said the dispute window closed in something like three days, which is obviously wrong). That made me think the problem I was having claiming proceeds is tied to the problem with the dispute window “clock” which I previously emailed you about.
So I went ahead and restarted my computer, my router, and tried again. When I opened up the app this time, I could click the Claim Proceeds button and the dispute window “clock” was providing an accurate countdown again.

and then

Doing some more digging, I think I found someone who might have experienced an issue similar to mine (though a long time ago), passing along in case helpful:
https://www.reddit.com/r/Augur/comments/99nmme/unable_to_claim_proceeds_of_resolved_market/

This could be an issue with Augur Node not properly calculating the dispute window, or the UI not getting the event that tells it that the dispute window has opened, or something else in that general area.
Thoughts?

@pgebheim this will be addressed with 1.13, not specific code is needed. What do you want to do with this tix?

@Chwy5 @bthaile -- I think this moves to 1.14

I have never seen this work incorrectly....I am wondering if it was in the 3 day waiting period and they didnt see the countdown clock....either way we should remove the claim button if it is within that time period....we can investigate further in 1.14

Agreed. I actually think the user was having something flakey with the AN subscriptions and didn't get the notification that the market state had changed.
Seems it was fixed by a restart which would indicate something like that.
Paul
<EMAIL_ADDRESS>
From: Chwy5<EMAIL_ADDRESS>Sent: Saturday, April 27, 2019 4:30:43 AM
To: AugurProject/augur
Cc: Paul Gebheim; Mention
Subject: Re: [AugurProject/augur] User cannot claim proceeds (Claim button not clickable) (#1710)
I have never seen this work incorrectly....I am wondering if it was in the 3 day waiting period and they didnt see the countdown clock....either way we should remove the claim button if it is within that time period....we can investigate further in 1.14
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/AugurProject/augur/issues/1710#issuecomment-487278233, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAAU76TONA6Q5F254PDISYTPSQ2OHANCNFSM4HGXRBOQ.

closing - can't reproduce, looks like a v1 error regardless


Piece hapiness

Can we have a visual representation of "piece happiness"?

See also https://github.com/Siderite/lichessTools/issues/639


feat(metrics): add blocked and unblocked counter metrics to screener

Description
A clear and concise description of the features you're adding in this pull request.
Additional context
Add any other context about the problem you're solving.
Metadata

Fixes #[Link to Issue]

Summary by CodeRabbit

New Features

Introduced metrics tracking for blocked and unblocked addresses in the screener functionality.

@golangisfun123 did we stage?


ResponseCacheAttribute behavior is different between ASP.NET Core  2.0 and 2.1 Razor Pages apps.

I have a Page on which I am displaying a number of widgets. Each widget is a razor page and has its own method (..cshtml.cs) . Each Razor Page method sends a random request to the API (every time the page refreshes) and ofcourse a different response comes every time from the API according to request (because I am using random input values for the request) for each widget.
Anyways, my goal of caching data for each widget on client side has been achieved using [ResponseCache(Location = ResponseCacheLocation.Client, Duration = 30)] on each Razor Page method.
I have the same project on ASP:NET Core 2.0 and I want to do the same thing for it as well. When I tried the same thing on that project, it is not caching the widgets. May be because Response caching in Razor Pages is available in ASP.NET Core 2.1 or later only? What is the alternative of it in ASP.NET Core 2.0?
Thanks

Support for the ResponseCacheAttribute with Razor Pages was added in 2.1.0 (See https://github.com/aspnet/Mvc/issues/6437). Given that 2.0 went out of support late last year (see https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018), I'd recommend upgrading your application to 2.1


Add PaymentSplitterFactory

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 8 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/PaymentSplitter.sol
0
2
0.0%

contracts/PaymentSplitterFactory.sol
0
6
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
790

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 8 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/PaymentSplitter.sol
0
2
0.0%

contracts/PaymentSplitterFactory.sol
0
6
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
790

💛  - Coveralls


Support of sexagesimal variable type

A 'show command' may report a counter value in the form of a sexagesimal value.
E.g : mm:ss , hh:mm:ss
This should be converted to integer : hh*3600+60*mm+ss  in the database, so graphing can be performed.
at present in the open-ntyi.py file
def eval_variable_value(value,**kwargs):
only process integer or string types.

Hi @blourdel
Could you please tell me which command are you trying to collect that contains timestamp?  I'll try to check what options do we have.
Regards

Hi,
I am issuing :
regress@hongkong> show system processes extensive
........
PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
10 root        4 155 ki31     0K    64K RUN     3 431.0H 390.19% idle
9738 root        1  34    0   725M 12044K select  0   0:12   5.18% python
5280 root        4  20    0  5194M  4255M kqread  1 145:33   0.29% rpd
I am after the TIME column :  0:12 145:33
a potential value is 431.0H as well but not sure if we can deal with it.

Yes you're right, that field changes it format across time,  at the beginning of this thread I though you were asking other timestamp fields in other junos commands, in those cases I use the xml attribute junos:seconds as a feasible workaround, but sadly is not your case
 <date-time junos:seconds="1481112868">2016-12-07 13:14:28 CET</date-time>

FYI, I'm working on a big refresh of the netconf collector, I think this enhancement could be done as part of this effort.
Hopefully I'll have more to share in 1 week


Notepad++ Version?

I'm just curious if you ever attempted or you know of a similar mapping or plugin  for "Notepad++"?

Hi
As far as I know, there is no such keymap for Notepad++. And there are no plans to implement it. But thanks for asking.
Regards
Guy


AllowMultiple boolean. Stop players from getting the same item twice

Added Vault softdepend
Added AllowMultiple option for prizes. If false, then it will give a blacklist permission "crazycrates.blacklist." when the player gets the prize.

This is already a thing with BlackList perms. The prize just needs to give the player a blacklist perm (could be made up as it can be anything) when they win it. Not sure I see why this would need to add an option into CC as its already possable.

I know, but my guy was complaining about having to make hundreds of custom blacklist permissions. This way seemed like less work.

@badbones69 So, you're just not going to accept the pull request? This change is completely optional, disabled by default, and saves a lot of time configuring custom blacklist permissions

Thanks for the pull request. I don't think ill accept it because it can be done already just by running the permission command to give the user the blacklisted permission.


Regenerate Container client

This PR was generated using Autosynth. :rainbow:
Here's the log from Synthtool:
synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py.
synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace gcr.io/cloud-devrel-public-resources/elixir16 scripts/generate_client.sh Container
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/metadata.py", line 63, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/Container/synth.metadata'

Leaving this open. It looks like it's renaming this function back and forth (See #1210)


I could not see any 4.2.1 on the release branch,  not sure why has happened.

npm landing page suggests that latest version is 4.2.1

https://github.com/assaf/zombie/commit/d07867ddabce6aaec8731a35550b533c4e79f53b

Looks like the latest release tagged in git is 4.0.13. Will future releases be tagged?

I'll try to tag future released in git.


[Batch] Release Microsoft.Batch Data Plane 2024-07-01

Data Plane API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[ ] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Schedule a data plane REST API spec review

Getting help

First, please carefully read through this PR description, from top to bottom.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Suppression Justification:  This PR adds a suppression because there were two new apis added, /pools/{poolId}/nodes/{nodeId}/start and /pools/{poolId}/nodes/{nodeId}/deallocate, which return 202 without having a x-ms-long-running-operation: true.  These 2 new api follow the same pattern as 14 other existing api's in this service so it was a case of this services design forces this behavior.


Split release/dist_release makefile rules in two, reorganize and document makefiles

What have you changed? (mandatory)
The main thing this patch does is to modify the default cargo release profile to use thinLTO instead of full LTO, and to turn debuginfo off. This reduces full build time by 25%, and partial build time by 30%.
It makes the various release and dist_release rules independent of each other. Now the dist_release rules rely on the scripts/run-cargo.sh script to put a special .cargo/config in place that contains the "real" release profile. This script requires the use of the unstable -Zcargo-profile flag.
One thing to note about this arrangement is that if any of the dist_release commands are interrupted they will leave .cargo/config in place. Subsequent cargo commands print a warning about cargo profiles being unstable, and effectively ignores the config file. I expect this to not be encountered by most contributors as they are not encouraged to run the dist_release targets by hand.
In the process it deletes all of the experimental x-foo makefile rules, leaving only one in place for dist.
As part of this work I restructured and documented the entire makefile. All pre-existing rules remain, they just might be in a different order. The build_release rule, which does the dist release without the extra testing and file moving, is renamed to build_dist_release for consistency, and build_release left in with a note to use build_dist_release.
I have confirmed @BusyJay that even with debuginfo off perf reports symbol names in profiles. Whether this is sufficient for practical profiling I don't know. We'll find out.
Despite weakening the LTO, I expect the runtime performance to still be excellent, and reasonable to use for benchmarking, as long as the comparison is done between two thinLTO builds. That means one should avoid comparing release builds to the actual released binaries; instead always make two release builds to compare, and only as a final sanity check, do dist_release builds.
Locally:
full before
    Finished release [optimized + debuginfo] target(s) in 29m 08s
partial before
    Finished release [optimized + debuginfo] target(s) in 18m 18s
full after
    Finished release [optimized] target(s) in 21m 51s
partial after
    Finished release [optimized] target(s) in 12m 41s

Fixes https://github.com/tikv/tikv/issues/4674
What are the type of the changes? (mandatory)

Improvement (change which is an improvement to an existing feature)

How has this PR been tested? (mandatory)
Scripted timing tests and months of experiments.
Does this PR affect documentation (docs) or release note? (mandatory)
No.
Does this PR affect tidb-ansible update? (mandatory)
No.
Refer to a related PR or issue link (optional)
https://github.com/tikv/tikv/issues/4674
Benchmark result if necessary (optional)
See above.
Add a few positive/negative examples (optional)

Great @brson
Have we already fixed the problem that removing debuginfo from RocksDB?

I pushed commits to address feedback @siddontang .

Have we already fixed the problem that removing debuginfo from RocksDB?

No. There are two problems related to debuginfo in RocksDB. They aren't fixed, but they are also not related specifically to the release profile:

https://github.com/tikv/tikv/issues/4711 - In dev mode, RocksDB always has debuginfo on. This is relatively easy to fix by hacking the rocksdb build script, and harder to fix properly in cmake-rs. I intend to fix this soon.

https://github.com/tikv/tikv/issues/4894 - There isn't a single way to turn debuginfo back on for both Rust and C/C++. Right now this is addressed by educating developers to use RUSTFLAGS + CXXCFLAGS in the README. I don't know a good technical fix for this.

I am with this change
PTAL @nrc @breeswish

This looks great, @brson , thanks for organizing this confusing file.


Geodesic line drawing produced a line across the map

Hello, Im using this library so I can produce geodesic line and polygons on a map. Though when testing the linestring I noticed this issue. I was wondering if you were aware of this and have a plan to fix it any time soon?
Ive attached a picture and a gif of said issue below, a similar thing occurs when using polygons.

Hi, this is a common issue with all mapping libraries that allow repeating the world, because defining whether a long line should be drawn in eastwards or westwards direction is not standardized. What would be the expected result for your case?

Hi, thanks for the speedy reply. The coordinates I used were:
[[-82.2685688977058, 35.20429746474875],
[-65.27209029717348, -76.11022740266773],
[-215.05355796436305, -41.928433349134174]]

It only ever appears when crossing the 180th meridian east bound but when plotted there any additional plots on east of that point will produce the same issue though if you go west bound of the 180th meridian it wont appear. Ill upload a gif showing what I mean.

@MacaScull Thanks for the coordinates. It helped me to track down the bug in my calculations. Fixed in https://github.com/zakjan/mapbox-gl-draw-geodesic/commit/38023aecee57434d995920841ac6ef76f185a97a and released as 2.1.1. Could you confirm it works for you?

Closing as fixed, please let me know otherwise.


rPackages.HDF5Array: fix build

Motivation for this change
Fix the build of HDF5Array by specifying zlib as a build time dependency.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 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.

ZHF: #144627

@ofborg build rPackages.HDF5Array

Thanks for the contribution!
This was already fixed in the r-updates branch (https://github.com/NixOS/nixpkgs/commit/74aa5fc758cc1d07069d7e3b302a54c60c139ece#diff-c5bd73865d2247e00b3f9c7114f2a739324a6b69aa6981514ec922f740c25872) and building correctly on hydra https://hydra.nixos.org/eval/1719036?filter=hdf5array&compare=1718935&full=. R-updates is currently staging the R 1.4.2 and BioC 3.14 release and will be merged into master soon.
We are currently formalising and documenting the staging process at #141229. In future please merge bugfixes into r-updates as that branch is checked by hydra and regularly merged into master.


nsswitch.conf returned a non-zero code: 1

docker build Error
[ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf  returned a non-zero code: 1

Your test construct evaluates to false which gives an exit code of 1, and since it's not captured by an if/then statement its output is captured by the Docker builder and it exits.
If you put it in an if/then statement the evaluation can be false without the whole line being false.
The example below: If the test construct is false it will echo its exit code which is 1, and then getting the actual exit code of the whole command is 0 because there's no error, the loop exited cleanly
$ echo test > file
$ if [ ! -e file ]; then echo 'changed' > file; else echo $?; fi
1
$ echo $?
0

http://tldp.org/LDP/abs/html/testconstructs.html

An if/then construct tests whether the exit status of a list of commands is 0 (since 0 means "success" by UNIX convention), and if so, executes one or more commands.

If you have further questions you should try asking the Docker Community Forums, the Docker Community Slack, or Stack Overflow. Since these repositories are for issues with the image and not necessarily for questions of usability


Encountered issues with flutter doctor.

Steps to reproduce
When I plug in a potentially non-standard adb device (modified adb), flutter doctor crashes and shows an error.
Expected results
List of devices attached
20080411	device
Actual results
crashed
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
[☠] Connected device (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us
know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Invalid UTF-8 byte (at offset 69)
• #0      _Utf8Decoder.convertChunked (dart:convert-patch/convert_patch.dart:1852:7)
#1      _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:304:28)
#2      _Utf8ConversionSink.add (dart:convert/string_conversion.dart:300:5)
#3      _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:69:18)
#4      _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)
#5      _rootRunUnary (dart:async/zone.dart:1407:47)
#6      _CustomZone.runUnary (dart:async/zone.dart:1308:19)
#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1217:7)
#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#10     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#11     _StreamController._add (dart:async/stream_controller.dart:658:7)
#12     _StreamController.add (dart:async/stream_controller.dart:606:5)
#13     _Socket._onData (dart:io-patch/socket_patch.dart:2447:41)
#14     _rootRunUnary (dart:async/zone.dart:1415:13)
#15     _CustomZone.runUnary (dart:async/zone.dart:1308:19)
#16     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1217:7)
#17     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#18     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#19     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#20     _StreamController._add (dart:async/stream_controller.dart:658:7)
#21     _StreamController.add (dart:async/stream_controller.dart:606:5)
#22     new _RawSocket. (dart:io-patch/socket_patch.dart:1936:33)
#23     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1379:14)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#25     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#26     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#27     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)

[✓] Flutter (Channel stable, 3.16.7, on macOS 14.2 23C64 darwin-arm64, locale zh-Hans-CN)
• Flutter version 3.16.7 on channel stable at /Users/liyuyang/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ef1af02aea (12 小时前), 2024-01-11 15:19:26 -0600
• Engine revision 4a585b7929
• Dart version 3.2.4
• DevTools version 2.28.5
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
• Android SDK at /Users/liyuyang/Library/Android/sdk
• Platform android-33, build-tools 33.0.2
• ANDROID_HOME = /Users/liyuyang/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15C500b
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.1)
• 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.7+0-17.0.7b1000.6-10550314)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 77.1.3
• Dart plugin version 232.10286
[✓] VS Code (version 1.85.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension can be installed from:
🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[☠] Connected device (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us
know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Invalid UTF-8 byte (at offset 69)
• #0      _Utf8Decoder.convertChunked (dart:convert-patch/convert_patch.dart:1852:7)
#1      _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:304:28)
#2      _Utf8ConversionSink.add (dart:convert/string_conversion.dart:300:5)
#3      _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:69:18)
#4      _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)
#5      _rootRunUnary (dart:async/zone.dart:1407:47)
#6      _CustomZone.runUnary (dart:async/zone.dart:1308:19)
#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1217:7)
#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#10     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#11     _StreamController._add (dart:async/stream_controller.dart:658:7)
#12     _StreamController.add (dart:async/stream_controller.dart:606:5)
#13     _Socket._onData (dart:io-patch/socket_patch.dart:2447:41)
#14     _rootRunUnary (dart:async/zone.dart:1415:13)
#15     _CustomZone.runUnary (dart:async/zone.dart:1308:19)
#16     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1217:7)
#17     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#18     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#19     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#20     _StreamController._add (dart:async/stream_controller.dart:658:7)
#21     _StreamController.add (dart:async/stream_controller.dart:606:5)
#22     new _RawSocket. (dart:io-patch/socket_patch.dart:1936:33)
#23     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1379:14)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#25     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#26     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#27     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)
[✓] Network resources
• All expected network resources are available.

When I plug in a potentially non-standard adb device (modified adb), flutter doctor crashes and shows an error.

Can you provide more information on this?


Rename withCollectionView param to collectionView in IGListAdapterUpdaterDelegate.

Changes in this pull request
Issue fixed: #466
Checklist

[x] All tests pass. Demo project builds and runs.
[ ] I added tests, an experiment, or detailed why my change isn't tested.
[x] I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
[x] I have reviewed the contributing guide

@Malecks Sorry, this one dups with #491

Looks perfect! #491 beat you to the punch and already landed internally, but this is great.

@rnystrom Thanks for taking the time to have a look! Will find another issue to work on :)


Endpoint to fetch exercises in progress, completed, available etc

@angiemugo I believe this is done right?


[tests-only][full-ci] Backport refactored acceptance test code to store response data related to public shares on single store

Description
This PR backports https://github.com/owncloud/ocis/pull/6930
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

@PrajwolAmatya Please, rebase


windows: bash-style eval shown in cmd.exe/powershell

←[34mINFO←[0m[0000] Creating SSH key...
←[34mINFO←[0m[0002] Creating VirtualBox VM...
←[34mINFO←[0m[0025] Starting VirtualBox VM...
←[34mINFO←[0m[0030] Waiting for VM to start...
←[34mINFO←[0m[0066] "docker-vb" has been created and is now the active machine.
←[34mINFO←[0m[0066] To point your Docker client at it, run this in your shell: $(docker-machine env docker-vb)

the last line doesn't make much sense as cmd.exe/powershell won't support it. We must find the windows equivalent (can't tell from off the top of my head) or tell people what to do instead.

Thanks!  I think, for now at least, we recommend that users install msysgit which gives them bash I believe and this works.  I agree with you we need to get to supporting cmd.exe/powershell at some point.

@ehazlett I am hoping to help with that in the long term. I wasn't aware of msysgit recommendation since I haven't seen it in the docs https://docs.docker.com/machine/

@ahmetalpbalkan ugh well then it was removed from the readme.  It was in there at one point.  I'll get it back.  Thanks!

and thanks for helping!  it is greatly appreciated!

The console on windows bothers me. Perhaps we can have console adapters, especially one for windows.

Perhaps depending on the parent process docker-machine.exe could show a different hint for the user.
For a cmd.exe this does the trick:
To point your Docker client at it, run this in your shell:  for /f "tokens=2" %i in ('docker-machine env docker-vb') do set %i

There should be a similar solution running from a powershell, but I haven't tried it yet.

There are still bunch of weird ssh-keygen/openssl bugs with mingw/cygwin installations and almost nobody can get it working right at this point. Telling people to just use set x=y (on cmd.exe) or $env:x=y (on ps) is probably fair enough at this point.

@ahmetalpbalkan perhaps we could brainstorm the best way to support windows clients?  I would like to get a "recommended" path for windows users (shell, env, etc).

@ehazlett definitely, if this works out of the box on cmd.exe or msys very easily, that'd be nice.

I'd be keen to help with powershell support - right now I have a powershell function that parses the export lines and sets variables accordingly, but it's not a good solution - I'd much rather docker-machine recognised it was in powershell and actually set the variables for me.

@silarsis I recently tackled this problem in boot2docker shellinit:
https://github.com/boot2docker/boot2docker-cli/pull/356
Unfortunately there is no way to find out if we are running on cmd or powershell. (Unless we done win32 api calls and try to find name of parent process, which is very hacky).
However we were able to support this for powershell:
boot2docker shellinit | Invoke-Expression

Because I couldnt find an easy way to eval things in cmd.exe and I decided making powershell output the only stdout is good enough.

I don't even mind if there's no automatic recognition - docker-machine env --powershell would be fine.
I'm new to powershell - is it possible to set env variables in a sub-process, or is that restricted the same way bash is? I ask because I'm wondering if the docker-machine env | Invoke-Expression pattern is appropriate, or if docker-machine can just set the variables and be done with it...?

I don't know PowerShell at all. At this point, I'd settle for something that works exactly like Boot2Docker for Windows with Client Hyper-V replacing VirtualBox. If that's not possible, I'll probably end up rolling my own.
On a Windows system, you have three mutually exclusive options:

Buy a VMWare Workstation license,
Use the open source licensed subset of VirtualBox, or
For Windows 8 or later, turn on Client Hyper-V.

You can only pick one, and right now, the second option is the only one that works.

@silarsis setting environment variables in sub-processes doesn't due to the way operating systems work, probably not specific to bash or powershell. :) Piping it to Invoke-Expression seems like a good way to go.
@znmeb (1) probably won't work (2) is what we have today (3) only ships in Windows Professional SKUs and is not enabled by default. And (2)-(3) cannot coexist on the same machine (i.e. you can't use VBox while Hyper-V is enabled). Today we have machine drivers for Hyper-V and VirtualBox and I believe both works just fine on windows and I'm not sure how all these are related to the shelinit discussion here? :smile:

@silarsis also, I liked the idea of something like shellinit --shellname. Not only we can do best effort when the argument is omitted (esp. on posix), we can print cleaner output for ps and cmd cases.

+1 for shellinit --<shellname>. Seeing this in other places too and seems pretty intuitive. If <shellname> is omitted one could still default to auto-detecing / guessing

+1 for env --shellname as well and auto-detecting if missing.

@ehazlett just remembered you were asking me about this on IRC. did you write code for it or should I submit a PR?

@ahmetalpbalkan PR - https://github.com/docker/machine/pull/1033 -- would love your feedback :)

@ehazlett I see PR #1033 is merged, but it only addresses powershell. I still see the 'bash'-oriented suggestion with standard Windows cmd.exe.

#ehazlett I see PR #1033 is merged, but it only addresses powershell. I still see the 'bash'-oriented suggestion with standard Windows cmd.exe.

@ewindisch is SHELL or TERM set in your windows console? If so that's gonna print bash output.

I think this should be pretty well-rounded now, but please open a new issue if there are unexpected workflow consequences.

for /f "tokens=2" %i in ('docker-machine env docker-vb') do set %i
The command above (suggested by https://github.com/docker/machine/issues/733#issuecomment-84394185) works for me, but I also get these two errors:
> set Run
Environment variable Run not defined

> set FOR
Environment variable FOR not defined

@jmauerhan The docker-machine 0.6.0 binary shows a little different command if you just run docker-machine env docker-vb from a CMD.exe shell.
FOR /f "tokens=*" %i IN ('"docker-machine.exe" env dev') DO %i

This "executes" the REM comment lines without an error.


AsyncCommand: How to set CanExecute to a delegate which includes AsyncCommand.Executing

I have a viewmodel for a sign-in form (in Xamarin.Forms). I want the following:

Submit button disabled when text fields are empty or when busy signing in
Text fields deactivated when signing in

Simplified, the viewmodel (which doesn't work properly) is defined like this:
    // skipping INotifyPropertyChanged implementation for user/pass for brevity
    public string Username { get; set; }
    public string Password { get; set; }

    public IAsyncCommand SignInCommand { get; set; }

    public SignInPageModel()
    {
        SignInCommand = new AsyncCommand(SignInAsync, SignInCommandCanExecute);
        PropertyChanged += delegate { ((AsyncCommand) SignInCommand).OnCanExecuteChanged(); };
    }

    private async Task SignInAsync(object _)
    {
        // actual sign-in process here
        await DoSomeWork();
    }

    private bool SignInCommandCanExecute(object _)
    {
        return !string.IsNullOrEmpty(Username) &&
               !string.IsNullOrEmpty(Password) &&
               !((AsyncCommand SignInCommand).Executing;
    }

What I'm mainly wondering is how I should change this to implement requirement 1. When the command is invoked, there is no way I can call OnCanExecuteChanged so that SignInCommandCanExecute returns the correct value. If I call OnCanExecuteChanged just before and after await DoSomeWork() (which is the earliest and latest I can do it AFAIK, at least without mucking around in the UI codebehind), then the command (and the button that binds to it) is disabled just a tad bit late, and not re-enabled at all (because it's still executing as long as SignInAsync is running).
Unless I have missed an obvious solution, I suggest you fix this by calling OnCanExecuteChanged during the command execution process whether or not CanExecute is set when instantiating the AsyncCommand (i.e., https://github.com/StephenCleary/Mvvm.Async/blob/master/src/Nito.Mvvm.Async/AsyncCommand.cs#L126-L127 and later in that method).
Furthermore, for requirement 2, the obvious solution is to bind the text fields' IsEnabled to SignInCommand.Executing. However, the command is of type IAsyncCommand and needs to be cast to AsyncCommand in order to access the Executing property. Do I really have to make a ValueConverter just for this, or is there a simpler/more elegant way?

I am working on an easier way to work in this scenario, but for now the best solution is to have your own SignInExecuting property, set and unset inside SignInAsync:
    // skipping INotifyPropertyChanged implementation for user/pass for brevity
    public string Username { get; set; }
    public string Password { get; set; }
    bool SignInExecuting { get; set; }

    public IAsyncCommand SignInCommand { get; set; }

    public SignInPageModel()
    {
        SignInCommand = new AsyncCommand(SignInAsync, SignInCommandCanExecute);
        PropertyChanged += delegate { ((AsyncCommand) SignInCommand).OnCanExecuteChanged(); };
    }

    private async Task SignInAsync(object _)
    {
        SignInExecuting = true;
        // actual sign-in process here
        await DoSomeWork();
       SignInExecuting = false;
    }

    private bool SignInCommandCanExecute(object _)
    {
        return !string.IsNullOrEmpty(Username) &&
               !string.IsNullOrEmpty(Password) &&
               !SignInExecuting;
    }

Regarding IAsyncCommand.Execute, the IAsyncCommand  is literally just an async equivalent of ICommand, so I really avoid adding any more requirements than that. If you want to data-bind to Executing, I'd recommend making your command property of type AsyncCommand (it's possible to cast in a binding expression, but it's not pretty).

for now the best solution is to have your own SignInExecuting property, set and unset inside SignInAsync

That is, in fact, exactly what I'm currently doing. :)
How do you envision this working in the future? And do you have an (order-of-magnitude) ETA?

One part of it is that I'm planning to enhance CalculatedProperties so that it can take regular (NotifyChanged-style) property changes as input to a calculated expression.
Another part of it is a fixing of the (horrible) CanExecute pattern with a true CanExecute property. This part would need to be nicely convertible to the existing pattern, and it should work equally well for synchronous and asynchronous commands.
You'd still have to change the command type to AsyncCommand, which I think is the right solution. You would also still need your own SignInExecuting, which I'm not sure is the right solution. I'm definitely open to persuasion on that one.

So if I understand correctly, you want something like a CanExecute calculated property, i.e., a CanExecute property whose value is determined by a delegate? How is this different from the current CanExecute pattern, where the value is also determined by a delegate?
In short, can you give an example (based on the above) of how would a developer would use AsyncCommand with the new functionality?
Note that I have only actually worked as a software developer (and with C#) for a few months, so I might be missing stuff that's obvious to more experienced developers.

Another possibility might be to use the bound functions from issue #5, or more generally to call CanExecuteChanged from a property notification callback.

Oops issue #3 not 5.