Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Andrew Arnott
    @AArnott
    So Length will get you that, since your T=byte
    Aleksander Heintz
    @Alxandr
    Yep
    Andrew Arnott
    @AArnott
    I'll fix that. Great feedback.
    Aleksander Heintz
    @Alxandr
    Now to figure out how azure functions collators work... :p
    Andrew Arnott
    @AArnott
    @neuecc I have a couple active PRs and more in queue. Would you like to review them before I complete? I'd like to get 2.0 stable and released within a couple weeks.
    if you get to the two active PRs today, the next one (which builds on one of the active PRs) is AArnott/MessagePack-CSharp@80ea990.
    Ikiru Yoshizaki
    @guitarrapc
    @AArnott Hi, Andrew. @neucc ask me take care about azure pipeline issues.
    Can I clarify what need to be done?
    1. add your MSA account to Azure DevOps MessagePack Project.
    2. add privilege to add custom agent. (for custom build agent.)
    3. add privilege to add Release Pipeline. (to create release for NuGet)
    Aleksander Heintz
    @Alxandr
    @AArnott I'm not seeing v2 of messagepack in the nuget feed you posted btw. Only Cake.GitVersioning, nbgv and Nerdbank.GitVersioning are available.
    Andrew Arnott
    @AArnott
    @guitarrapc Yes, those would all be great.
    @Alxandr It sounds like you're only displaying stable packages. Make sure you display unstable/prerelease packages and the new MessagePack v2 ones should come up.
    Aleksander Heintz
    @Alxandr
    @AArnott Ofcause. You're absolutely right :)
    Ikiru Yoshizaki
    @guitarrapc
    @AArnott alright, will you plz let me know MSA account to add?
    Andrew Arnott
    @AArnott
    Ikiru Yoshizaki
    @guitarrapc
    invited and assigned permissions.
    Aleksander Heintz
    @Alxandr
    @AArnott do you see any obvious reason why this would give me an error:
                Span<byte> data = stackalloc byte[12];
    
                if (!BitConverter.TryWriteBytes(data, nanos))
                    throw new InvalidOperationException("Failed to write nanoseconds.");
    
                if (!BitConverter.TryWriteBytes(data.Slice(4), seconds))
                    throw new InvalidOperationException("Failed to write seconds");
    
                writer.WriteExtensionFormatHeader(new ExtensionHeader(typeCode: -1, length: 12));
                writer.WriteRaw(data);
    CS8350 This combination of arguments to 'MessagePackWriter.WriteRaw(ReadOnlySpan<byte>)' is disallowed because it may expose variables referenced by parameter 'rawMessagePackBlock' outside of their declaration scope
    Aleksander Heintz
    @Alxandr
    Ah. Damn. I'd say this is an API error
    You can't accept Spans in that method
    The MessagePackWriter should be a readonly struct
    Andrew Arnott
    @AArnott
    Yes regarding the error: dotnet/roslyn#23433
    We can accept Spans in the method I think, but they can't be stack-allocated, by the description in the issue.
    @Alxandr would you like to file an issue to track what you'd like to do and your suggestion that we make it a readonly struct? It looks like from a quick view of the type that it's not out of the question.
    Aleksander Heintz
    @Alxandr
    @AArnott making it a readonly struct would solve this issue at least. And you're right, it's only with stack-allocated spans. I'm currently using memory pools instead, but asking the memory pool for 12 bytes feels a bit silly :P
    Andrew Arnott
    @AArnott
    Also MemoryPool<T> always allocates ~12 bytes anyway for every rental. Use ArrayPool<T> instead since it doesn't have that overhead.
    Aleksander Heintz
    @Alxandr
    Sure. But I don't like ArrayPools :p
    Cause I have to make sure to free them
    Using statements is so much cleaner
    Andrew Arnott
    @AArnott
    You can write up a struct and an extension method so you can use the using block with array pools and still be alloc free.
    These are all just general suggestions ... your suggestion to make the MessagePackWriter readonly is still a possibility.
    Aleksander Heintz
    @Alxandr
    Oh. Never thought about that struct idea
    I might do that
    Andrew Arnott
    @AArnott
    @neuecc Can you configure "integrations" on this gitter channel so that we see issue/PR and other events from the github in the activity feed in the right panel?
    Andrew Arnott
    @AArnott
    It looks like Azure Pipelines' default for releases is to auto-trigger, so I inadvertently started pushing all builds to nuget.org. I've unlisted the few that got listed unintentionally and turned off the auto-trigger.
    Andrew Arnott
    @AArnott
    @neuecc Can you review my latest changes in the next few days and see if you have any further API feedback? I want to lock down on a stable 2.0 API soon, and that of course needs your feedback.
    Yoshifumi Kawai
    @neuecc
    @AArnott
    Ok, maybe I will post some issues.
    Andrew Arnott
    @AArnott
    @guitarrapc Thanks for the added permissions on the Azure Pipelines account. But I need one more thing: I need administrator permission on the Default agent pool in order to add an agent to it. https://dev.azure.com/ils0086/MessagePack-CSharp/_settings/agentqueues?queueId=1&view=security
    never mind. I had permission to create a new pool so I did that.
    Andrew Arnott
    @AArnott
    Woot! It's working. We have Unity builds as part of CI/PR builds on Azure Pipelines. Yay.
    https://dev.azure.com/ils0086/MessagePack-CSharp/_build/results?buildId=141
    But GitHub still only shows one status instead of two (1 for Windows and 1 for Unity). So both are building, but if either fails, the user will only see the one status failure instead of 1 pass and one fail. We can improve this by installing the Azure Pipelines GitHub App to the ils0086 account. @guitarrapc or @neuecc can either of you arrange that?
    image.png
    Yoshifumi Kawai
    @neuecc
    Now, we're in a holiday, we'll check tomorrow.

    By the way, Could you revert this PR?
    neuecc/MessagePack-CSharp#491

    Page's first-view should show all the information.
    Because users who does not know this lib(first visited users) see readme and does not click next pages.
    We have to tell them the value of this library, forcefully.
    Separated to many files are clean, but it is wothless.

    Microsoft official library no need to think because microsoft-fans uses it without thinking.
    But user created OSS is not.
    Although this library is a latecomer and not to fluent in English, it is used by many people.
    This is one of the reasons why I have successfully made OSS (I have 6 repositories of over 1000 stars).

    Andrew Arnott
    @AArnott
    Thanks for your reply, @neuecc. Yes, I'll merge docs back into the README. I tried to keep the sales pitch at the top of the README in anticipation of your concern that we "sell" the library on the first page, but I guess I didn't keep (nearly) enough.
    Rather than revert the PR, I'll re-merge the docs, since amidst the PR I made a lot of small edits to update.
    Question though: can you see room to leave (or in the future, create) any docs outside the README itself? The reason is I find it very hard to navigate the README with it so large. I find an index into documentation that is short and to the topic to read about much easier to parse.
    Kevin Streicher
    @NoxMortem
    @neuecc Absolutely. The readme on all of your OSS projects was a huge driving factor of getting, e.g. our attention when we used it.
    Andrew Arnott
    @AArnott
    I've re-merged the docs back into README
    Yoshifumi Kawai
    @neuecc
    I've added Azure Pipelines GitHub App to my account.
    Yoshifumi Kawai
    @neuecc
    I've added issues #502 to #514 . Not yet reviewed completely for Unity, but once this is all.
    Andrew Arnott
    @AArnott
    Great. I'll take a look at those.
    Yoshifumi Kawai
    @neuecc
    thanks for reviewing of my issues.