Vite client warm up cost too much time

Vite is known by its blazing fast startup time and HMR time.
Now Docus usually takes tens of seconds to startup, it's almost unbearable. More suprisingly, no one raised an issue like this. My behemoth Java backend project takes only 10 seconds to start up, while Docus takes amlost 1 minute. Is this even normal?
Perhaps I should keep embracing vitepress(even it's still alpha) rather than this immature framework.

Thanks for your kind words @KyleRicardo 🥰
You are free to use any framework you want, this is open source and all the work you use is free to remember.
It starts in 10s on my computer though, but seems that we may have some issues with Windows 🤔
Could you check on https://stackblitz.com/github/nuxt-themes/docus-starter to see how long it starts on your computer?

Also, can you run with DEBUG=1 npm run dev and spot what lines takes the most time?
We are really sorry about this experience and we will find a fix ASAP

npx nuxi info output:
Nuxi 3.0.0                                                                                20:54:48
                                                                                20:54:49
RootDir: C:/Users/kyler                                                                                20:54:49
Nuxt project info:                                                                                20:54:49

------------------------------
- Operating System: `Windows_NT`
- Node Version:     `v18.12.1`
- Nuxt Version:     `0.0.0`
- Nitro Version:    `-`
- Package Manager<EMAIL_ADDRESS>- Builder:          `webpack`
- User Config:      `-`
- Runtime Modules:  `-`
- Build Modules:    `-`
------------------------------

pnpm-lock.zip

DEBUG=1 run would help, yeah.
From the output of your screenshots, Vite build seem to be taking 7000ms, which is fairly normal for Docus project.
Running in debug mode and providing the output would be really helpful as well to find out what is taking so much time.

Tried to run DEBUG=1 npm run dev but this is amusing. I'm using Windows...note that.
In powershell I need to use $env:DEBUG=1;pnpm dev.
I will post the output here:
[nuxt] modules:before: 0.104ms                                                                                20:52:59
[nuxt] kit:compatibility: 2.546ms                                                                             20:52:59
[nuxt] kit:compatibility: 2.686ms                                                                             20:52:59
[nuxt] kit:compatibility: 2.821ms                                                                             20:52:59
[nuxt] kit:compatibility: 3.066ms                                                                             20:52:59
[nuxt] kit:compatibility: 3.193ms                                                                             20:52:59
[nuxt] kit:compatibility: 3.172ms                                                                             20:52:59
[nuxt] kit:compatibility: 3.318ms                                                                             20:52:59
[nuxt] kit:compatibility: 3.411ms                                                                             20:52:59
[nuxt] kit:compatibility: 0.01ms                                                                              20:52:59
[nuxt] kit:compatibility: 0.109ms                                                                             20:52:59
[nuxt] kit:compatibility: 0.227ms                                                                             20:52:59
[nuxt] pinceau:options: 0.079ms                                                                               20:52:59
[nuxt] kit:compatibility: 0.218ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.011ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.146ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.168ms                                                                             20:53:00
[nuxt] component-meta:transformers: 0.008ms                                                                   20:53:00
[nuxt] kit:compatibility: 0.169ms                                                                             20:53:00
[nuxt] kit:compatibility: 17.391ms                                                                            20:53:00
[nuxt] kit:compatibility: 5.011ms                                                                             20:53:00
[nuxt] content:context: 0.327ms                                                                               20:53:00
[nuxt] kit:compatibility: 0.009ms                                                                             20:53:00

 ERROR  (node:30220) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

[nuxt] kit:compatibility: 0.007ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.006ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.01ms                                                                              20:53:00
[nuxt] kit:compatibility: 0.542ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.632ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.804ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.896ms                                                                             20:53:00
[nuxt] kit:compatibility: 0.986ms                                                                             20:53:00
[nuxt] kit:compatibility: 1.077ms                                                                             20:53:00
[nuxt] kit:compatibility: 1.165ms                                                                             20:53:00
[nuxt] kit:compatibility: 1.25ms                                                                              20:53:00
[nuxt] kit:compatibility: 1.337ms                                                                             20:53:00
[nuxt] imports:sources: 5.521ms                                                                               20:53:00
[nuxt] imports:dirs: 0.048ms                                                                                20:53:00
[nuxt] imports:extend: 0.074ms                                                                                20:53:00
[nuxt] modules:done: 0.007ms                                                                                20:53:00
[nuxt] nitro:config: 30.221ms                                                                                20:53:00
[nuxt] nitro:init: 52.467ms                                                                                20:53:00
[nuxt] ready: 0.006ms                                                                                20:53:00
[nuxt] listen: 0.005ms                                                                                20:53:00
[nuxt] prepare:types: 1.853ms                                                                                20:53:00
[nuxt] components:dirs: 1.301ms                                                                               20:53:00
[nuxt] app:resolve: 3.776ms                                                                                20:53:00
[nuxt] components:extend: 0.222ms                                                                             20:53:00
[nuxt] app:templates: 17.401ms                                                                                20:53:00
[nuxt] pages:extend: 3.905ms                                                                                20:53:00
[nuxt] app:templatesGenerated: 0.007ms                                                                        20:53:00
[nuxt] build:before: 0.007ms                                                                                20:53:00
[nuxt] vite:extend: 32.691s                                                                                20:53:34
[nuxt] vite:extendConfig: 0.273ms                                                                             20:53:34
[nuxt] vite:serverCreated: 3.029ms                                                                            20:53:34
[nuxt] server:devHandler: 2.059ms                                                                             20:53:34
[nuxt] vite:extendConfig: 0.97ms                                                                              20:53:34
[nuxt] pages:extend: 4.288ms                                                                                20:53:34
[nuxt] build:manifest: 8.947ms                                                                                20:53:34

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

[nuxt] vite:serverCreated: 0.016ms                                                                            20:53:38

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+elements<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

 WARN  Sourcemap for "F:/Blog/blog/node_modules/.pnpm/@nuxt-themes+docus@1.0.1_nuxt<EMAIL_ADDRESS>points to missing source files

i Vite client warmed up in 4032ms                                                                             20:53:38
[nuxt] nitro:build:before: 0.006ms                                                                            20:53:38
[nitro] rollup:before: 0.012ms                                                                                20:53:38
√ Nitro built in 1490 ms                                                                                nitro 20:53:39
[nitro] compiled: 0.428ms                                                                                20:53:39
[nuxt] build:done: 1.537s                                                                                20:53:39
[nitro] dev:reload: 603.01ms                                                                                20:53:40
[nuxt] builder:watch: 0.343ms                                                                                20:56:53
[nuxt] builder:watch: 0.033ms

Apparently vite:extend took 32s to complete. Maybe this is the problem.

My bad, I divided the milliseconds number by 100 to get seconds. But the result is just the time I need to get it to run(like, 50s or so).🤣

I'll dig into this on my Windows setup soon.
Thanks for reporting.
I suspect some path issue or loop somewhere.
I don't have much knowledge over Windows file system, but I can tell that my boot time was less that 10 seconds the last time I successfully booted it with Git Bash on Windows.

Understandable. I used to use Git Bash too but since Microsoft has released Windows Terminal, I embraced it, with Oh My Posh.
Git Bash is basically built on MinGW, its filesystem is more like linux rather than Windows.
Thanks for your efforts. Hope you guys can work it out.

Do we have a way to trace/debug vite:extend hook @danielroe ?

We can see how long nuxt hooks take by running DEBUG=true npx nuxi dev. For inspecting vite plugins transform times we should be able to use https://github.com/antfu/vite-plugin-inspect - will need to confirm whether that works with Nuxt out-of-the-box.

Not sure about it, but this might be related:
https://github.com/nuxt-modules/icon/issues/30

Oh, I see the logs already (missed that first time round). Will see if I can replicate on windows.

I'm working on a theme that uses some of Docus, I have a boot time of around 1 minute as well for Linux.
There are many logs, so I won't post it all at this stage, can make a minimal reproduction later.
The main 'pause' seems to be between build:before and vite:extend (45 seconds). Not sure if this is just because the vite:extend isn't called until the build is finished?
------------------------------
- Operating System: `Linux`
- Node Version:     `v16.16.0`
- Nuxt Version:     `3.0.0`
- Nitro Version:    `1.0.0`
- Package Manager<EMAIL_ADDRESS>- Builder:          `vite`
- User Config:      `extends`, `modules`, `css`, `colorMode`
- Runtime Modules<EMAIL_ADDRESS>- Build Modules:    `-`
------------------------------

[nuxt] build:before: 5.785ms                                                                                23:37:39
[nuxt] vite:extend: 45.684s                                                                                23:38:25
[nuxt] vite:extendConfig: 0.273ms                                                                                23:38:25
vite:config no config file found. +0ms                                                                                23:38:25
vite:esbuild init tsconfck (root: /home/harlan/sites/harlanzw.com) +0ms                                                                                23:38:25
vite:esbuild init tsconfck (root: /home/harlan/sites/harlanzw.com) +1ms                                                                                23:38:25
vite:esbuild init tsconfck end +589ms                                                                                23:38:26
vite:esbuild init tsconfck end +0ms                                                                                23:38:26
vite:config using resolved config: {                                                                                23:38:26

Last time I tried vite-plugin-inspect with prior RC's it seemed to work, can give it a spin tomorrow if you haven't made any progress.

The thing that's taking the most time is this plugin: https://github.com/nuxtlabs/nuxt-component-meta/blob/main/src/unplugin.ts.

Releasing a new version of Docus (1.0.2) with the fix:
Before (22s):
http://volta.s3.fr-par.scw.cloud/Clean_Shot_2022_11_29_at_18_45_12_bf60702dab.mp4
After (6s):
https://volta.s3.fr-par.scw.cloud/Clean_Shot_2022_11_29_at_18_45_46_c5b81b4ad9.mp4

Thank you, How exactly did this event fixed? Which library is it from ?

Thanks for your effort. It's much quicker now.

It came from nuxt-component-meta that is used in order to document the props of the components, but it is not yet used, so we disabled it in dev for now.


Accessibility

I can't find an overarching issue for this topic, so I'm creating this epic here.
Useful resources:

https://www.w3.org/standards/webdesign/accessibility
https://www.w3.org/TR/html-aria/

Pastebin snippet from a conversation about my use case https://pastebin.com/T9d1XaWK

This is almost certainly going to be an undertaking but it's something I care about a lot and would like to try working towards.


Module version mismatch returns

Hi. So I'm getting this error on both osx and raspberry pi. I have tried uninstalling and re-installing noble via NPM, I am unsure how to re-build the bluetooth-hci-socket? It was suggested to do that in a different thread, how do you do it?
OSX is using node version 8.13 on High Serria, and on the raspberry pi its also 8.13 on stretch. I'm using NVM to manage node.
Anyone got a step by step guide for this?
Because I'm feeling:
¯_(ツ)_/¯
Thanks.
raspberry pi:
Error: Module version mismatch. Expected 46, got 57.
    at Error (native)
    at Object.Module._extensions..node (module.js:434:18)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/pi/node_modules/bluetooth-hci-socket/lib/native.js:3:15)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)

OSX
Error: The module '/Users/ace_lab/node_modules/xpc-connection/build/Release/binding.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 59. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (module.js:682:18)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/ace_lab/node_modules/xpc-connection/index.js:3:15)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)

so as an update, npm rebuild fixes this for OSX.
On the Rpi so far I've tried:
removing any other nodes via nvm and only having 8.13
npm rebuild
npm rebuild bluetooth-hci-socket
reinstalling the dependencies via apt-get
rm -rf all the node modules, doing npm update, and also re-installing noble
I am still getting the module version mismatch error.

Alrighty so apparently you HAVE to do sudo setcap cap_net_raw+eip $(eval readlink -f 'which node') for things to work.
I thought that was optional. I have another pi install where using sudo node will run things.
Guess that's solved.


Implement percentage style validation.

    /// TODO: Implement percentage style validation.

https://github.com/microsoft/picologging/blob/f3eedeb49c627248b3861a7f0d21c2b2dc764cda/src/picologging/formatstyle.cxx#L119

can you explain litle more about it what are the conditions for validation ?


Build evaluation and training framework for multiple tasks

all related work has been migrated to another PR, this PR may be closed and discarded.


fix truncated packet, rig up PyO3

See individual commits below.
Some thoughts on the next steps:

One thing that's slightly annoying about having multiple smoltcp interfaces is that we need to route server.tcp_send(connection_id=42, data=b"...")

to the correct smoltcp interface. Maybe it's easier to just use one interface here and map from IPs to peers on the WireGuard side.
I haven't quite figured out what's the best way to get the raw TCP events out without intertwining everything. I'll keep going on that.

If you want to coordinate on chat, send me an email with what works best for you (ideally Slack, Discord). Alternatively we can stay to mail. :)

Looks great, thanks for the PR!

fix truncated packet error

d'oh! Good catch.

Maybe it's easier to just use one interface here and map from IPs to peers on the WireGuard side.

Yeah, that's one of the reasons why I originally planned to only have one interface instead of one interface per peer. Remembering which source IP address was routed to which peer is easy, so sending outgoing packets to the peer
for the correct destination IP should be pretty easy to wire up.

If you want to coordinate on chat, send me an email with what works best for you (ideally Slack, Discord). Alternatively we can stay to mail. :)

Both work for me. I'll follow up with an e-mail.


Make sections in MaterialPopupMenu public

I want to be able to modify the UI elements in the popup menu when the user clicks on them, however I can't do this right now because they private.
I think it would be better if they were public so that we could modify them or offer users a different way to modify them.

Hi @SasLuca,
I'm not sure if I understand this. Would like to be able to update the popup menu while it's still displayed without closing it? If so, how would it look like? What kind of modification do you have in mind?

Yeah, I would like to update the popup menu while it's still displaying without closing it. I now realise that is a bit harder to do.
Maybe there could be a refresh() function for MaterialPopupMenu that you would call within a callback like such:
var ct = 0

val popupMenu = popupMenu()
{
    section()
    {
        item()
        {
            label = "Counter: $ct"
            callback =
            {
                ct++
                label = "Counter: $ct"
                popupMenu.refresh()
            }
        }
    }
}

If you would like to refresh an individual label when clicked you could use a custom item, get a reference to a textview in that View and update it accordingly when clicked. Or do you have something else in mind?


Integrate with coveralls-io

Example: https://github.com/jqno/equalsverifier

This commit is also related to this task: https://github.com/dynamic-builder/dynamic-builder/commit/39f50e187aeae4105f42fdeb05fbd5aa6b65551b

Coveralls now shows coverage data:
https://coveralls.io/github/dynamic-builder/dynamic-builder

Badge appears to be showing now as well on the readme file so I am closing this issue.


DSS anda NanomethViz

Hello, I would like to know how to use the files generated by DSS, within the NanoMethViz function.
I would be grateful for the help!

Which particular file do you have in mind? Did you use DSS on Nanopore long read data or BS-Seq data?

Hello, thanks for the reply! I used DSS  for Nanopore long reads data. I have the callDMR.txt files as well as the nanopolish methylation calls! Can I view this data in NanoMethViz?

You may be able to use it to annotate regions using the anno_regions function in the plot_genes() function. It would be helpful if you could copy in the first few lines of callDMR.txt so I know what information it contains.

Thanks for the answer! Would I use the function for the callDMR.txt file generated by DSS?
The first two lines of the callDMR.txt file are:
chr start end length nCG meanMethy1 meanMethy2 diff.Methy areaStat
NC_071502.1 34119813 34120183 371 24 0.191503162830865 0.0102306134088378 0.181272549422028 68.4118706848033
Thank you very much in advance for the help

Sorry I forgot to get back to this. The table you described should be able to be put into the anno_regions argument when using plot_gene() or plot_region() functions. This will cause a section to be highlighted in the line graph of average methylation profiles.


Fix -Wdeprecated-copy compiler warnings from GCC

This PR fixes -Wdeprecated-copy warnings which appear when compiling Lomse with GCC 10. The reason of the warnings is that some classes contain declarations only for one of copy constructor or copy assignment operator, but the other declaration was missing (but actually used by the library's code). Therefore a compiler is forced to generate the missing constructor/operator itself but this is deprecated in such situation since C++11 and actually should not normally happen since this violates the rule of three. Therefore in order to avoid the warning (and potential issues related to this situation) copy constructor and copy assignment operator should either both be user-defined (or deleted) or not defined at all so both their definitions will be defined by a compiler if needed.
In Lomse code the warnings result from manually defining copy constructor or assignment in two ways:

Exactly that way as it would be defined by a compiler (that is, just copying/assigning all members of this class and invoking base classes' copying/assignment if needed)
Defining them almost that way: copy constructors for ImoLineStyle, ImoSystemInfo and ImoPageInfo differ from the default definition in parameters of the base class constructor, but this doesn't seem to be necessary from these classes' semantics, and these copy constructors are actually never used (which can be verified by deleting these copy constructors with = delete).

Since the copy constructors or assignment operators in question are either identical to the default ones or unused, I went for removing them in both cases, so they can be defined by a compiler in the default way. This fixes the related warnings and should hopefully make semantics of these operations more clear.
The only case which is not covered by this PR is about PathAttributes class which needs to have user-defined copy constructor and assignment operator (since it has to copy its fill_gradient by creating a new instance of that gradient) but is used only in agg::pod_bvector container which does not honor destructor of this class. However I wonder whether pod_bvector can be replaced there by vector or deque from STL, so this class could manage lifetime of that gradient without relying on other objects to delete it?

Thanks for this PR.
I will review it as soon as possible and answer your question about replacing pod_bvector by STL containers.

Thanks for this PR and your explanations.

The only case which is not covered by this PR is about PathAttributes class which needs to have user-defined copy constructor and assignment operator (since it has to copy its fill_gradient by creating a new instance of that gradient) but is used only in agg::pod_bvector container which does not honor destructor of this class. However I wonder whether pod_bvector can be replaced there by vector or deque from STL, so this class could manage lifetime of that gradient without relying on other objects to delete it?

You are right that deleting GradientAttributes in BitmapDrawer::delete_paths() is quite dirty. Also there is a risk of memory leaks if PathAttribute is not used to render something. But your suggestion of replacing pod_bvector by an STL container will require to analyse how AttrStorage is used and to ensure that agg methods expecting a pod_bvector will receive the right container. I do not fell confident to do that analysis now but feel free to do it and to fix this dirty code by using an STL container or with any other solution.
Meanwhile, as a bypass to fix the compiler warning, I would suggest to just remove the destructor and move the comment to the line allocating the GradientAttributes object, something as:
{
    if (attr.fill_gradient)
        fill_gradient = LOMSE_NEW GradientAttributes(attr.fill_gradient);

    //AWARE: fill_gradient will be deleted **only** if this PathAttributes
    //       object is used to render something. It will be deleted in
    //       BitmapDrawer::delete_paths().
    //TODO: Fix this to avoid memory leaks if PathAttributes is not used
}

The changes looks OK to me, unit tests pass and regression tests also pass so it is OK to me to merge this PR. But I will wait in case you have any comments.

Thanks for your comments! I will review this case once more and try to replace the container if possible. From what I have briefly seen this pod_vector is not used in any AGG-specific API but I could possibly miss something here.

Meanwhile, as a bypass to fix the compiler warning, I would suggest to just remove the destructor and move the comment to the line allocating the GradientAttributes object, something as:

This warning does not consider destructors (because of a large number of "false positive" warnings if destructor is empty or something like that), and the warning in this case is about PathAttributes having user-defined copy constructor but not a copy assignment operator. I couldn't neither remove the constructor nor define the operator= in a way which would be logical (with copying its GradientAttirbutes) since both these options break the current PathAttributes semantics. That's why I didn't do any changes about it.
Anyway it would probably be better to handle PathAttributes separately so feel free to merge this PR if the current changes are OK.

Ok, thank you. I'm going to merge this.


[Question] What is the correct way to get ab-av1 to convert an 8-bit source to x265 10-bit when doing a crf-search command?

Sorry if this is a question only a simpleton would ask, I'm not very adept at CLI based programs.
I would like to do a crf-search command on an input that is an x264 8-bit source that I will eventually encode with x265 10-bit. I searched in the source code of ab-av1 since there are a lot of great comments which detail what certain arguments do and how to use them, but can't get the 10-bit part working.
Here is what I tried with no luck as I'm definitely doing something wrong with the syntax:
ab-av1 crf-search -e libx265 -i input_file.mkv --vfilter pix_fmt=yuv420p10le --preset 6 --min-vmaf 95 --crf-increment 1.0 --enc x265-params=profile=main10
I checked stackoverflow and the ffmpeg documentation to see how you'd normally encode something in x265 10-bit without a GUI program like HandBrake and I found this line "-pix_fmt yuv420p10le" which would seem to be the way to convert a non-10-bit source to be 10-bit, but when I try using that in ab-av1 it does not work.
Any guidance would be appreciated.

After some more trial and erroring eventually I input something which resulted in ab-av1 printing out all the possible arguments in my command prompt which revealed the answer for me: --pix-format <PIX_FORMAT>


Suggestion for log event levels

Currently, the severity of an application event is defined by Microsoft.Extensions.Logging.Abstractions.LogLevel, which specifies a few common log event levels along with their value as integer. Since this is an 'abstraction' assembly, one might expect that the defined log event levels are applicable to every possible implementation of those abstractions. However this is not the case since every logging framework interprets log event levels and severities in a different way. It is very confusing that the severity Debug might result in Trace, depending on the underlying logging facility.
My suggestion: Turn the LogLevel enumeration into a struct containing a 'value' integer (similar to Java enums), allowing to define an arbitary range of log event levels.
public partial struct LogLevel : IEquatable<LogLevel>, IComparable {

    public int Value { get; }

    public LogLevel(int value) {
        Value = value;
    }

}

and then (maybe predefined...)
public static readonly LogLevel Trace = new LogLevel(int.MaxValue);
public static readonly LogLevel Debug = new LogLevel(int.MaxValue);
public static readonly LogLevel Information = new LogLevel(10000);
// etc.

That way, one can define its own log levels (by extending the partial implementation) or define completely new ones. Log levels are mapped to logging providers by range (e.g. in Serilog, Verbose is lowest, so everything below 10000 maps to Verbose).
Worth considering?
Edit
I want to add that the concept of 'log levels 'is fairly old and might be outdated. In the 'age' of semantic logging, log levels are nothing more but metadata - so why make it an essential part of the logging facility?

Having completely arbitrary log levels seems like it will make this interface/abstraction be incompatible with almost every logging system out there. A goal of logging is to preserve fidelity as much as reasonably possible. Does anyone really need four billion log levels? It's nearly guaranteed to lose fidelity when logging this data to any real logger. Another problem is that there could be multiple loggers registered with the system (this is entirely common - e.g. ConsoleLogger + Serilog + Debug) - I would hope that they each report/render/display/store/save very similar log levels. Plus, these log levels are just big conceptual buckets. Log level 649825601 and 649825602 seems a bit extreme.
I think the current choice of a handful of extremely common log levels will cover the 99.99% case. If an application needs more fine grained control then it can use other techniques to capture that data, such as using categories, event ids, or structured log data.

@Eilon

I would hope that they each report/render/display/store/save very similar log levels

This is exactly the issue I wanted to address. With the current implementation, a log rendering of the Microsoft.Extensions.Logging.LogLevel.Trace level looks like this:

Framework
Mapped level

NLog
Debug

Loggr
Verbose

Elmah
Debug

serilog
Debug

The Microsoft.Extensions.Logging package defines 'Trace' as "Logs that contain the most detailed messages", which is equal to 'Verbose'. However for debug we've got "Logs that are used for interactive investigation during development." Tracing is therefore clearly different from debugging and more 'severe', yet 3 of 4 implementations treat it the other way round. And this is mostly what's going to be rendered within the log outputs. Confusing. isn't it?
The intention of my approach wouldn't be to provide an 'arbitary' amount of log levels or allow to more fine-grain the log severity (yep, it could be a nasty side-effect, tho), but to allow multiple 'log level names' to be mapped to the same severities or close ranges and then implementations could pick the range up that fit's most to the one provided.
After all, and already mentioned, one might argue that it's questionable to have log levels in the abstraction/framework at all. The idea of log levels was just to have a flag that decides: 'Who might be interested in this event?'. With a constant shift towards out-of-process logging, structured logging etc, filters etc., they are just meta-information that can be treated the same way as event ids, categories and other log properties, as you mentioned. :)
Since I don't have a recipe ready to fix the problem of losing fidelity with arbitary log levels (which I strongly agree upon!), this issue can be closed.


Let ScriptingJitCompiler resolve assemblies, which are passed as references

This is improved version of https://github.com/UiPath/CoreWF/pull/243
In this version;

Resolved references are sought among assemblies passed as referencedAssemblies. This should lead to consistent assembly resolution between compilation and compiled method invocation (results.ResultType.GetMethod("CreateExpression")!.Invoke(null, null))
AppDomain can contain (possibly obsolete) assemblies, which were loaded to AssemblyLoadContext which is already unloaded, what could lead to unexpected results. This version narrows the scope of search to assemblies explicitly designated as  references.
Explicit unload of temporary AssemblyLoadContext was added.

The issue which generated this PR was found to be in Studio and fixed there.


Fix Okta OAuth2 API URL

Python social auth says to use /oauth2 instead of /oauth2/default: https://python-social-auth.readthedocs.io/en/latest/backends/okta.html
We also required this URL when setting up Okta OAuth2 with Dojo. In our testing /oauth2/default didn't work, and /oauth2 did 👍

Hi @rc-mattschwager, please do a rebase of your branch to a current dev branch. This will fix the problems with the checks.

Done!


[ace] Add patch to fix Visual Studio 2019 16.5 internal compiler error

What does your PR fix? Fixes https://github.com/microsoft/vcpkg/issues/11430

Fix internal compiler error by changing some ACE code

Which triplets are supported/not supported? Have you updated the CI baseline?

Supported are now:

ace:arm64-windows

ace:x64-windows-static

ace:x64-windows

ace:x86-windows

Looks the osx error is something on azure, not related to my changes

/azp run

@jwillemsen
Thanks for your notice.
You can ignore the error. We will try to solve it.

Any updates @NancyLi1013

/azp run

Looks the arm64_windows failure is not related to my changes

@jwillemsen
The failure on arm64-windows is not related with this PR. You can ignore it. We will resolve it later.
All features have passed with the following triplets:

x86-windows
x64-windows
x64-widnows-static

Any update on when this would get merged?

@strega-nil
Could you please help review and merge this PR?

Is there anything I could do to get this merged?

@strega-nil
Could you please help review if there is anything needed to be done for this PR?

LGTM


I would love to have a follow-up to the current active block or note placed in the folder/file window.

Hey, I am in love with the Multiple Notes Outline Plugin with File & Folder view. However, I would love to see a follow-up to the notes while we scroll, or to see the active file, heading, or bullet side in the bar of the window. It might be too much to ask, but I love the way it works. Anyways, I have seen the same feature with the Quiet Outline plugin, which has the same functionality Which I am expecting for.
Sorry if I am providing a lack of information. It is a weak or vague explanation. Also, thank you so much for the awesome plugin! :)

Thank you for using the plugin!
The display of the active file (perhaps with a title or background color change)  was one of the features I wanted to implement eventually!
I hadn't thought about displaying the outline element at the cursor position, but I will look into it to see if it is possible.
I will also look at the plugin you mentioned as an example. I hope you can wait a while.

Reading it again, I am not sure I understand your intent correctly.
I thought your FR was something like "visually highlight the currently active note or outline element at the cursor position in MNO view", but if I am wrong, I would appreciate more details.

Reading it again, I am not sure I understand your intent correctly. I thought your FR was something like "visually highlight the currently active note or outline element at the cursor position in MNO view", but if I am wrong, I would appreciate more details.

Yes, exactly what I meant. I would like it to be positioned where I am currently located with text cursor. I don't mind if the mouse cursor position is not available, and it is not required for the purpose. We already have a quiet outline for the mouse cursor position, which could become janky/laggy with long documents. However, the keyboard/text cursor is the only thing required. The mouse cursor might be too much for huge documents, but it would be amazing to have it placed right where our keyboard is positioned. It would be truly mind-boggling.
Summary & Clarification: I would love to have a keyboard and text cursor, and the mouse cursor is not required, There is already a quiet outline for mouse cursor.
Sorry for the vague content and confusion. ❤

Thank you for the clarification 😄
I would like to visualize the active file, but I'm not sure if I can visualize the outline element at the cursor position... I feel that there are performance issues with constantly monitoring the cursor movement and rewriting the view. I would like to try visualizing the active file first.


ListView with addRepaintBoundaries and addSemanticIndexes both set to false crashes

Steps to reproduce
When you create a ListView with addRepaintBoundaries and addSemanticIndexes both set to false and you have a StatefulWidget in it that rebuilds into a different widget it will trigger an exception.
Expected results
On rebuild the StatefulWidget contained in the list should simply change to its newly built widget.
Actual results
The application crashes.
Code sample
Dartpad: Example
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(
    Directionality(
      textDirection: TextDirection.ltr,
      child: ListView(
        addRepaintBoundaries: false,
        addSemanticIndexes: false,
        children: [
          TapToToggle(),
        ],
      ),
    ),
  );
}

class TapToToggle extends StatefulWidget {
  @override
  _TapToToggleState createState() => _TapToToggleState();
}

class _TapToToggleState extends State<TapToToggle> {
  bool showText = false;

  void toggleDisplay() {
    setState(() {
      showText = !showText;
    });
  }

  @override
  Widget build(BuildContext context) {
    if (showText) {
      return Text('Crashed', style: TextStyle(fontSize: 24));
    }
    return GestureDetector(
      onTap: toggleDisplay,
      child: Container(
        height: 100.0,
        color: Colors.white,
        child: Center(child: Text('Click me to Crash!', style: TextStyle(fontSize: 24)))
      ),
    );
  }
}

Screenshots or Video
No response
Logs
Logs
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building TapToToggle(state: _TapToToggleState#87ac2):
'package:flutter/src/widgets/sliver.dart': Failed assertion: line 1149 pos 12:
'_currentlyUpdatingChildIndex != null': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

The relevant error-causing widget was:
  TapToToggle TapToToggle:file:///home/user/flutter/examples/testing/lib/main.dart:11:11

When the exception was thrown, this was the stack:
#2      SliverMultiBoxAdaptorElement.removeRenderObjectChild (package:flutter/src/widgets/sliver.dart:1149:12)
#3      RenderObjectElement.detachRenderObject (package:flutter/src/widgets/framework.dart:6611:37)
#4      Element.detachRenderObject.<anonymous closure> (package:flutter/src/widgets/framework.dart:4199:13)
#5      ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5533:14)
#6      Element.detachRenderObject (package:flutter/src/widgets/framework.dart:4198:5)
#7      Element.detachRenderObject.<anonymous closure> (package:flutter/src/widgets/framework.dart:4199:13)
#8      ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5533:14)
#9      Element.detachRenderObject (package:flutter/src/widgets/framework.dart:4198:5)
#10     Element.deactivateChild (package:flutter/src/widgets/framework.dart:4375:11)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:3832:9)
#12     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5506:16)
#13     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5644:11)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:5197:7)
#15     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2905:19)
#16     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1136:21)
#17     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5)
#18     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1392:15)
#19     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1313:9)
#20     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1171:5)
#21     _invoke (dart:ui/hooks.dart:312:13)
#22     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#23     _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)

════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.22.0-18.0.pre.48, on Ubuntu 20.04.6 LTS 5.4.0-182-generic, locale en_US.UTF-8)
    • Flutter version 3.22.0-18.0.pre.48 on channel master at /home/user/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f9933b6994 (5 weeks ago), 2024-04-27 01:41:24 -0400
    • Engine revision 20fb62ba14
    • Dart version 3.5.0 (build 3.5.0-105.0.dev)
    • DevTools version 2.35.0-dev.8

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/user/Android/Sdk
    • Platform android-33, build-tools 34.0.0
    • Java binary at: /opt/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.6
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2022.3)
    • Android Studio at /opt/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.1)
    • IntelliJ at /snap/intellij-idea-ultimate/497
    • 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

[✓] VS Code (version 1.89.1)
    • VS Code at /snap/code/current/usr/share/code
    • Flutter extension version 3.88.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.6 LTS 5.4.0-182-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 123.0.6312.105

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

• No issues found!

I think a simple solution to this problem could be to wrap the child widgets that result from SliverChildDelegate.build in some cheap RenderObjectWidget when both of those properties are set to false. This is to prevent the child Elements from directly removing their RenderObjects from the SliverMultiBoxAdaptorElement when they are deactivated.

I think we should just remove this check. The check is added in the assumption that the removeChildRenderObject must be called as part of performRebuild, and this may not be the case in your example.

I was able to replicate the reported behavior in latest versions.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.22.0, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.22.0 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (5 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.23.0-13.0.pre.21, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.23.0-13.0.pre.21 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b295c86b2e (32 minutes ago), 2024-05-30 00:29:41 -0400
    • Engine revision 19707e811b
    • Dart version 3.5.0 (build 3.5.0-203.0.dev)
    • DevTools version 2.36.0-dev.10
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

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

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

This bug is very unfortunate because of this bug: #24772
There is currently no way to manually use KeepAlive widgets without crash. I really think this other bug should be fixed too. It has been open since 2018 :(


My feature

The PR diff shows modifications and additions in several files. The following files have been modified:

src/core/MusicPlayerCore/index.ts
src/core/VueMiniPlayerCore/index.ts

The following files have been added:

src/core/VueMiniPlayerCore/index_2.ts
src/core/VueMiniPlayerCore/new-index.ts

The PR diff provided shows changes in these files compared to their original state. Please let me know how you would like to proceed.


Request to send keep-alives on idle connections

Dear team,
We have deployed our push service using a2 into production, but we are frequently observing ConnectionReset errors on http2 connections.

Our service is multi-tenant and the traffic is a steady stream of messages with idle periods and bursts in between.
Although we are working around these connection resets by retrying it. I was thinking if we could do something like sending periodic keep-alive messages over the open connection.
The pushy library already does something like this: https://github.com/jchambers/pushy/pull/266
I read through the hyper documentation, and the default is to not send any keep-alives

I opened a PR to send the PING every 1 hour as per the recommendation by the APNs docs. Nothing though that there may be other factors causing connection resets (e.g. APNs closing the connection or network problems) so you should still deal with reconnects.
https://github.com/WalletConnect/a2/pull/87

Connection resets have stopped now. Thanks for a quick fix


wrong in documentation

hi
in link below
https://github.com/Raizlabs/DBFlow/blob/master/usage2/GettingStarted.md
in Creating a Database
public static final String VERSION = 1;
it should be int not string

its in develop right now. this will be fixed in next release.


What is the license and copyright of the source code?

Hi,
What is the license and copyright of python and shell script source code you distribute? This is pertinent since various organizations won't be able to use or contribute to the project if the license or copyright is unclear. Also, you appear to be using algorithms and/or source code from Facebook (Meta) which is copyright Facebook;

Copyright (c) 2019-present, Facebook, Inc.
All rights reserved.
This source code is licensed under the license found in the
LICENSE file in the root directory of this source tree.

(This text is found in the source code file of the URL you paste in your source code: https://github.com/facebookresearch/XLM/blob/9e6f6814d17be4fe5b15f2e6c43eb2b2d76daeb4/src/model/transformer.py#L529)

Hi, thanks for the reminder! We've added the Apache-2.0 license in our repo!


Allow Rng to be ?Sized, impl for &mut R and Box where R: ?Sized + Rng

Allow Rng to be ?Sized, impl for &mut R and Box where R: ?Sized + Rng

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

This is sort of a misguided PR! What I actually need is Rng implemented for &mut R where R: Rng. In my mind that was conflated with allowing Rng trait objects, but in reality it's not necessarily so.
I guess that the partition of ?Sized vs Sized methods in Rng requires critical review, it's hard to change later.
(Is this a breaking change?)

r? @huonw

I believe this is backwards compatible because all existing implementors of the Rng trait are sized and this should only enable more functionality other than that. I'm also fine with the list of methods that don't have where Self: Sized for now.
Thanks!

Great!


Adding size causing lag

I have a multiplayer browser game with lots of balls, and when there are lots of players adding size and removing size from their character which seems to be causing lag after a while. Is this a known issue or could the lag be stemming from something else

It really depends on what code you've written, I'll need more info here to help.


Add armeria plugin

Which module is your feature request related to?
Plugin
Is your feature request related to a problem?
No
Describe the solution you'd like
Add line/armeria plugin

/cc @trustin
I don't know the details yet, but I'm going to try this. 🤔

That's an awesome news! I hope you enjoy the contribution process and eventually convince the team to migrate to Armeria. 😉

Hello, @heowc
Many people are looking forward to it.

could  the community plan to support this feature?

could  the community plan to support this feature?

@eonezhang
Pinpoint has no plans to support this yet.
@heowc
Please let us know progress of this issue.

@eonezhang
Pinpoint has no plans to support this yet.
@heowc
Please let us know progress of this issue.

@heowc
Please let us know progress of this issue.

I've been very busy recently and the response was late. 😭
As I just said, I'm very busy lately, so I don't think I can proceed with this issue. Sorry.

@heowc
Please let us know progress of this issue.

I've been very busy recently and the response was late. 😭
As I just said, I'm very busy lately, so I don't think I can proceed with this issue. Sorry.

@heowc  Thanks for having checked it. :)


fix(schema): Correctly set draft version

This commit introduced the uri-reference format in favor of uri.
uri-reference is a JSON Schema draft 06 change, so in order for this schema to continue to be valid the schema version must also be increased.

Here is the changelog from JSON Schema outlining the addition of uri-reference in favor of uri for draft 06.

Thanks @elliotttf! Sorry this took forever to get merged in, but I'm happy to have it for the 1.1 release.


Installation issue

Hello I am getting this error when installing with MAC OSX

InstallationError: Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/pyspotify

The full install log is:
/usr/local/bin/pip run on Mon Jul  6 16:14:54 2015

Downloading/unpacking pyspotify

  Getting page https://pypi.python.org/simple/pyspotify/

  URLs to search for versions for pyspotify:

  * https://pypi.python.org/simple/pyspotify/

  Analyzing links from page https://pypi.python.org/simple/pyspotify/

    Skipping https://pypi.python.org/packages/cp27/p/pyspotify/pyspotify-2.0.0-cp27-none-macosx_10_6_intel.whl#md5=fabeb7104f3692e8705b1f9dd848aa08 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp27/p/pyspotify/pyspotify-2.0.0a1-cp27-none-macosx_10_6_intel.whl#md5=95f351debc8cb2a158e651cc80a6d1ca (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp27/p/pyspotify/pyspotify-2.0.0b1-cp27-none-macosx_10_6_intel.whl#md5=eda6b5db5b30cc55f69f328cec136e63 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp27/p/pyspotify/pyspotify-2.0.0b2-cp27-none-macosx_10_6_intel.whl#md5=5697e4555fbc23aa61c7a0e04bde01c3 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp33/p/pyspotify/pyspotify-2.0.0a1-cp33-cp33m-macosx_10_6_intel.whl#md5=03d1d6cc6d7905e98381e91788f53495 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp33/p/pyspotify/pyspotify-2.0.0b1-cp33-cp33m-macosx_10_6_intel.whl#md5=45a49ab164088295d420c31b3e156b92 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp33/p/pyspotify/pyspotify-2.0.0b2-cp33-cp33m-macosx_10_6_intel.whl#md5=7dc4e995c2f31353a667dffdd904e80a (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp34/p/pyspotify/pyspotify-2.0.0-cp34-cp34m-macosx_10_6_intel.whl#md5=27c9146abbce6af85bd810673400c8c2 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp34/p/pyspotify/pyspotify-2.0.0a1-cp34-cp34m-macosx_10_6_intel.whl#md5=f9ffdb9d2d05eea47a5fccd5d67558a5 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp34/p/pyspotify/pyspotify-2.0.0b1-cp34-cp34m-macosx_10_6_intel.whl#md5=d68993571efebba80db2af80798bc14f (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Skipping https://pypi.python.org/packages/cp34/p/pyspotify/pyspotify-2.0.0b2-cp34-cp34m-macosx_10_6_intel.whl#md5=f0f5774ab59ea7938537bd762f809a41 (from https://pypi.python.org/simple/pyspotify/) because it is not compatible with this Python

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.1.tar.gz#md5=ea894bf2ed866618d8c11f067f0a00fb (from https://pypi.python.org/simple/pyspotify/), version: 1.1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.10.tar.gz#md5=ff013983c360a263e6f50eeb19b4ac6f (from https://pypi.python.org/simple/pyspotify/), version: 1.10

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.11.tar.gz#md5=ffedc7261885f3416b2c37d51ed978c2 (from https://pypi.python.org/simple/pyspotify/), version: 1.11

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.12.tar.gz#md5=ce47484df6011ad9a3eeb37368f30880 (from https://pypi.python.org/simple/pyspotify/), version: 1.12

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.2.tar.gz#md5=17d5d27c7582785fb8e0fb9f963e0d3a (from https://pypi.python.org/simple/pyspotify/), version: 1.2

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.3.tar.gz#md5=1df2037ee31651a6113f1c646c6c83a1 (from https://pypi.python.org/simple/pyspotify/), version: 1.3

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.4.tar.gz#md5=40679703afab49667f03cc77fa39fbfb (from https://pypi.python.org/simple/pyspotify/), version: 1.4

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.5.tar.gz#md5=2e93ae359c3f16e64794c2b18a1b99bc (from https://pypi.python.org/simple/pyspotify/), version: 1.5

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.6.1.tar.gz#md5=88b3bb16a061d4c3868d5ffdee0d61fd (from https://pypi.python.org/simple/pyspotify/), version: 1.6.1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.6.tar.gz#md5=1c4ff2791fdd6579d27b626c0331ff5a (from https://pypi.python.org/simple/pyspotify/), version: 1.6

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.7.1.tar.gz#md5=043dfbf7ad01e7235538fbd3ab127872 (from https://pypi.python.org/simple/pyspotify/), version: 1.7.1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.7.tar.gz#md5=4f6aabc319172b4bd369c47ab164830e (from https://pypi.python.org/simple/pyspotify/), version: 1.7

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.8.1.tar.gz#md5=27af14cef03f9640f8f5a128f0e970fd (from https://pypi.python.org/simple/pyspotify/), version: 1.8.1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.9.1.tar.gz#md5=11cb3b1ddccd792b625f6d813833e713 (from https://pypi.python.org/simple/pyspotify/), version: 1.9.1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-1.9.tar.gz#md5=add0e40ae592a56b6650f6dbfd1cbb41 (from https://pypi.python.org/simple/pyspotify/), version: 1.9

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0.tar.gz#md5=bbe4b1dfadfc8eecb713f2ff5903f750 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0a1.tar.gz#md5=636565439239600ce26f194e3d089fb4 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0a1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b1.tar.gz#md5=69786e466f19faa86e22a43d3f687226 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0b1

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b2.tar.gz#md5=e4d47065b549b9f2811bc49be8ff96de (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0b2

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b3.tar.gz#md5=d48bae331095094fc61b2833c1963f95 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0b3

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b4.tar.gz#md5=0ee5ed3e1101e025774cf0558a496e96 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0b4

    Found link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b5.tar.gz#md5=54727c834fd90cd3d9a0e3e8efab1136 (from https://pypi.python.org/simple/pyspotify/), version: 2.0.0b5

    Skipping http://github.com/mopidy/pyspotify/tarball/develop#egg=pyspotify-dev (from https://pypi.python.org/simple/pyspotify/) because it is externally hosted.

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0a1.tar.gz#md5=636565439239600ce26f194e3d089fb4 (from https://pypi.python.org/simple/pyspotify/), version 2.0.0a1 is a pre-release (use --pre to allow).

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b1.tar.gz#md5=69786e466f19faa86e22a43d3f687226 (from https://pypi.python.org/simple/pyspotify/), version 2.0.0b1 is a pre-release (use --pre to allow).

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b2.tar.gz#md5=e4d47065b549b9f2811bc49be8ff96de (from https://pypi.python.org/simple/pyspotify/), version 2.0.0b2 is a pre-release (use --pre to allow).

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b3.tar.gz#md5=d48bae331095094fc61b2833c1963f95 (from https://pypi.python.org/simple/pyspotify/), version 2.0.0b3 is a pre-release (use --pre to allow).

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b4.tar.gz#md5=0ee5ed3e1101e025774cf0558a496e96 (from https://pypi.python.org/simple/pyspotify/), version 2.0.0b4 is a pre-release (use --pre to allow).

  Ignoring link https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0b5.tar.gz#md5=54727c834fd90cd3d9a0e3e8efab1136 (from https://pypi.python.org/simple/pyspotify/), version 2.0.0b5 is a pre-release (use --pre to allow).

  Using version 2.0.0 (newest of versions: 2.0.0, 1.12, 1.11, 1.10, 1.9.1, 1.9, 1.8.1, 1.7.1, 1.7, 1.6.1, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1)

  Downloading from URL https://pypi.python.org/packages/source/p/pyspotify/pyspotify-2.0.0.tar.gz#md5=bbe4b1dfadfc8eecb713f2ff5903f750 (from https://pypi.python.org/simple/pyspotify/)

  Running setup.py (path:/private/tmp/pip_build_root/pyspotify/setup.py) egg_info for package pyspotify

    _configtest.c:1:1: error: thread-local storage is not supported for the current target

    __thread int some_threadlocal_variable_42;

    ^

    1 error generated.

    Note: will not use '__thread' in the C code

    The above error message can be safely ignored

    ld: library not found for -lbundle1.o

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Traceback (most recent call last):

      File "<string>", line 17, in <module>

      File "/private/tmp/pip_build_root/pyspotify/setup.py", line 47, in <module>

        'Topic :: Software Development :: Libraries',

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup

        _setup_distribution = dist = klass(attrs)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 261, in __init__

        self.fetch_build_eggs(attrs.pop('setup_requires'))

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 286, in fetch_build_eggs

        replace_conflicting=True,

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 632, in resolve

        dist = best[req.key] = env.best_match(req, ws, installer)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 872, in best_match

        return self.obtain(req, installer)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 884, in obtain

        return installer(requirement)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 337, in fetch_build_egg

        return cmd.easy_install(req)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 613, in easy_install

        return self.install_item(spec, dist.location, tmpdir, deps)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 643, in install_item

        dists = self.install_eggs(spec, download, tmpdir)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 833, in install_eggs

        return self.build_and_install(setup_script, setup_base)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1055, in build_and_install

        self.run_setup(setup_script, setup_base, args)

      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1043, in run_setup

        raise DistutilsError("Setup script exited with %s" % (v.args[0],))

    distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1

    Complete output from command python setup.py egg_info:

    _configtest.c:1:1: error: thread-local storage is not supported for the current target

__thread int some_threadlocal_variable_42;

^

1 error generated.

Note: will not use '__thread' in the C code

The above error message can be safely ignored

ld: library not found for -lbundle1.o

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/private/tmp/pip_build_root/pyspotify/setup.py", line 47, in <module>

    'Topic :: Software Development :: Libraries',

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup

    _setup_distribution = dist = klass(attrs)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 261, in __init__

    self.fetch_build_eggs(attrs.pop('setup_requires'))

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 286, in fetch_build_eggs

    replace_conflicting=True,

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 632, in resolve

    dist = best[req.key] = env.best_match(req, ws, installer)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 872, in best_match

    return self.obtain(req, installer)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources.py", line 884, in obtain

    return installer(requirement)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 337, in fetch_build_egg

    return cmd.easy_install(req)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 613, in easy_install

    return self.install_item(spec, dist.location, tmpdir, deps)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 643, in install_item

    dists = self.install_eggs(spec, download, tmpdir)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 833, in install_eggs

    return self.build_and_install(setup_script, setup_base)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1055, in build_and_install

    self.run_setup(setup_script, setup_base, args)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1043, in run_setup

    raise DistutilsError("Setup script exited with %s" % (v.args[0],))

distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1

----------------------------------------

Cleaning up...

  Removing temporary dir /private/tmp/pip_build_root...

Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/pyspotify

Exception information:

Traceback (most recent call last):

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main

    status = self.run(options, args)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run

    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/req.py", line 1229, in prepare_files

    req_to_install.run_egg_info()

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/req.py", line 325, in run_egg_info

    command_desc='python setup.py egg_info')

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/util.py", line 697, in call_subprocess

    % (command_desc, proc.returncode, cwd))

InstallationError: Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/pyspotify

Any help is GREATLY appreciated!

I think the important part of the error message is:
ld: library not found for -lbundle1.o
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

Googling this error, it seems that "reinstalling" Xcode is the solution. To do that, run:
xcode-select --install


Android section README doesn't match code

Today, this projects README doesn't match the code, and doesn't provide a way for new users to build and run this app.
For example, the code refers to a file called debug_creds.properties, but that file does not exist in the repository or instructions.

Additionally, the README for Android says "Open /Android/gradle.properties and add environment variables", but this should be "Open /Android/app/build.gradle and add environment variables (AppID and token)."


NuGet package

Hi,
Mind submitting this to NuGet?
thanks

I went ahead and published this at https://www.nuget.org/packages/BeeSchema . Let me know if you want to share ownership of the NuGet package. Hope this doesn't become YAAP.


[BEAM-3228] Fix flaky KinesisMockReadTest

The actual cause of flaky test is related to ShardReadersPoolTest (not to KinesisMockReadTest directly) which creates new instance of ShardReadersPool  in every test and then starts new thread pool and runs shard readers threads.
Seems like when we run Kinesis tests in parallel through maven-surefire-plugin  and KinesisMockReadTest or KinesisMockWriteTest (they also use ShardReadersPoolTest) runs after ShardReadersPoolTest  then we can have a deadlock. It's easy to reproduce running two tests in this order.
To avoid it, we have to stop all running threads and release all resources by stopping shard reader pool after using.
After that, we don't need to set forkCount=1 in maven-surefire-plugin anymore.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand:

[x] What the pull request does
[x] Why it does it
[x] How it does it
[ ] Why this approach

[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Hi @kennknowles @pawel-kaczmarczyk , can you please take a look?

Great, it LGTM!

run java gradle precommit

retest this please

Run Java Gradle PreCommit

Thanks @aromanenko-dev !


Multiple instance support

Perhaps it is clear in the docs, however can you spell out (if my thinking is correct, I was hoping I'd got it wrong) that the DNS service can only provide a 1 to 1 mapping with 1 instance of an application.
That is to say, I wouldn't be able to use this approach with more than 1 instance of the same application deployed across multiple nodes.
Instead I'd need:

a load balancer and or/ reverse proxy for  external access or
a reverse proxy alone for internal only access

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

ID: d273a891-b7f9-81db-bfc5-044e6755541f
Version Independent ID: dc9f17bb-64af-d4b5-186f-7647c0a0c511
Content: Azure Service Fabric DNS service
Content Source: articles/service-fabric/service-fabric-dnsservice.md
Service: service-fabric
GitHub Login: @msfussell
Microsoft Alias: msfussell

@aljo-microsoft @msfussell could either of you confirm on this one?

@aljo-microsoft @msfussell  @MicahMcKittrick-MSFT   Any ideas? Anyone?

@colindooley11
My assumption is you are confusing a named Application (I.E. Object) instance with an ApplicationType (I.E. Class).
Each registered ApplicationType can include many SFPKG version (I.E. Different Code, Config, or Data Packages).
A named application is a unique instance of a ApplicationType, at a specific version.
I.E.
Example Cluster State:
MyApplicationType == MyApplication
my clusters Image Store has the following two versions registered:
MyApplication_v1.sfpkg == ApplicationType version 1 or Green Version or Stable Prod
MyApplication_v2.sfpkg == ApplicationType version 2 or Blue Version or Canary Prod
MyApplication_v1_Instance1 == Named Application instance running in my cluster using ApplicationType version 1; a stable production version.
Most users would:
Start a standard monitored rolling application upgrade, with appropriate health policies, so that roll back is automatic if health fails your policies; this would allow traffic to be routed to both your Green and Blue version, and automatically roll back if something fails (ideally succeeding, and zero downtime upgrading your application to version 2). This is change is implemented safely by applying it one Upgrade Domain at a time.
However, if I wanted two named Application instances running parallel in my cluster, using either the same ApplicationType version or different version; then I simply need to give unique names to each instance of my Application.
Use case for using the same version is higher density packing: I.E. Same version of Application or Service Type instance running on the same node in a cluster, to optimize utilization of provisioned infrastructure, due to some implementation detail of your application or service that doesn't allow it to scale a single service instance to the nodes capacity. (1 named Service Instance of a name Application per Node. More than 1 named Service Instance on the same node is only possible if they belong to different uniquely named Application's).
Use case for using different versions: I.E. Different named version of Application or Service Type instances mapped to a business logic, like a named service instances per your applications end customer (although not security bound isolated from the cluster administrator), to provide some kind of customer partitioning.
The later allows a user to route traffic to both Application and Service Type versions, by provisioning uniquely named Application and Service instances; without removing accessibility of named Application and Services instances running ApplicationType version 1 after Upgrade Domain Changes have been applied.
Using the documented steps to map to DNS:
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-dnsservice
I could then map a named service instance from a named application instance to a DNS record.
The referenced documentation shows that the Application model (Manifests) expose properties to map a named Service instances (Same concept as Application and is a named Instance) to a DNS record.
@MicahMcKittrick-MSFT
If the user is satisfied with the answer, please close this.

I understand the typical deployment pattern.
The high density approach I also understand the 2 ways we can do this.
I think I can just about wrap my head around having different versions per customer using named applications or services.
I think then the DNS service could be used (in the example above) to have part of the DNS name have some customer identifying part.
I understand the different between an application type, an instance, a service instance type and a named service instance.
However,  I think I may have asked my question wrongly by not qualifying that, by instance I mean "Named service/ Named service type instance"
I guess, more specifically,   I want to understand the interaction between the DNS Service and the Naming Service,  when the "Named service/ Name service type instance" is deployed say on 5 nodes.
If I was to make a request to the DNS service and (for the purposes of this example say  instances don't move nodes)    Would each request  always go to 1 node (i.e. would the naming service return the IP address of Node 1 to the DNS service)
Is there a resolve loop built into the DNS service?

@colindooley11
So effectively you are trying to load balance requests from a client to cluster named Service B instances; and need to decide what service should you use to achieve that.
This is documented here:
https://docs.microsoft.com/azure/service-fabric/service-fabric-connect-and-communicate-with-services
and here:
https://docs.microsoft.com/azure/service-fabric/service-fabric-reverseproxy#reaching-microservices-from-outside-the-cluster
If its an external client (not a cluster named service A like in your example), then you would configure your Load Balancer to route traffic through NAT to your clusters named Service B Instances; "The default external communication model for microservices is an opt-in model where each service cannot be accessed directly from external clients. Azure Load Balancer, which is a network boundary between microservices and external clients, performs network address translation and forwards external requests to internal IP:port endpoints."
Given your example is a cluster internal client (a cluster named service A instance) that needs to  Resolve, Connect, and Retry with another cluster internal named service B instances; The user has two additional services to choose from to resolve and connect to cluster internal services: DNS Service or Reverse Proxy.
Deciding which one to use is based on:

Whether you have a pre-existing URL.
Whether your architecture decision is to optimize for portability of your Application or for simplicity of your application code.

If you don't have pre-existing URL's, and optimize for the simplicity of your application code; then you should choose ReverseProxy:
"
The reverse proxy greatly simplifies calling other services and their methods by having a specific URI format and handles the resolve, connect, retry steps required for one service to communicate with another using the Naming Service. In other words, it hides the Naming Service from you when calling other services by making this as simple as calling a URL.
"
https://docs.microsoft.com/azure/service-fabric/service-fabric-reverseproxy#reaching-microservices-from-outside-the-cluster
If your application constraints include pre-existing URL's or your are optimizing for portability, then using standard DNS protocol is supported; Something recommended for Containerized workloads to enable portability throughout all Azure's container hosting services.
Please let me know if this is what you where looking for?

Yes load balancing in a word!
Existing URLs are needed so it rules out the SF proxy.
DNS service is  OK. But the  distribution algorithm is very basic and also distinguished names to pick out a named service for a business capability is not a requirement. So....
It might seem like heresy but we've plumped on hitting a load balancer internal to the subnet the cluster sits in.
We get a better distribution ( the DNS resolve loop impl seems limited ) .

...note this is Interim we are likely to have Traefilk in there eventually.


Sample code in Divider API docs doesn't match the image

The image in the Divider sample API docs says (and there's a picture showing this) that it's a "vertically centered black line that is 5 logical pixels thick [...] indented by 20 logical pixels", but the actual code (and the preview that the code generates itself) is actually centered and not black.

Also while we're fixing this we should add a link to VerticalDivider in the "see also" section.
Also VerticalDivider has a similar error in its description of the sample code.

What will be the best "fix the code" or "update the screenshot"?

What will be the best "fix the code" or "update the screenshot"?

It would be best to fix the code, to maintain consistency and cover all the properties of the API. Also, Adding an image to the VerticalDivider would go a long way!
@nitishk72 Would you be resolving this?


43 404 page

The Error component was in order to display a message in case of an error; I think that not all errors have been handled, but the component is easily configurable. So it has been integrated to a part of the application (list and reference card). Other errors have also been treated, like the Home that displays -1 on the counters.
The Button component has been modified to simplify the navigation; when the 404 component is called, it was impossible to go back without rewriting the same code. So I thought we could call this component with shortcuts :

home
back
categories
themes

I tried to indicate an error with the home page counters by indicating -1 on the counters in case of error, because 0 could be a real result.
I didn't manage to format correctly the error message on the 404 page; I formatted it directly for the moment, if a solution could be found before the merge

A new style file for the Error component has been created to format the text


Examples in the help files

Some things I noticed while looking at the help files:

extract_proximity has no example
extract_prox does not exist, but is in your readme file?
Why do you have ##not run in the plot_prox file?

Moreover it maybe would be good to have links to other functions in the help file. (See also section).
Some functions like e.g. randomforest_dist are not easy to find, maybe they could be linked somewhere. (or maybe you do not want to show them as they are "unsupported"?)

Ok thanks. Yes I want randomforest_dist to be omitted. I might remove it entirely. I made all of the other changes you suggested.
I also restructured the repo so that there is a package folder which I'll submit to cran. cran requires me to have the license formatted the way i did before.

feel free to close this if you think i satisfied all your requests here.

The bad thing is, that you now cannot install it anymore with devtools via
devtools::install_github("zmjones/edarf")
cause the package is in the folder.

there is a subdir argument. i will say how to use this in the readme. devtools::install_github("zmjones/edarf", subdir = "pkg").
i don't think there is another way around that. cran requires i have the license setup differently.

devtools::install_github("zmjones/edarf/pkg")
is also possible, this is not a big problem.


Move no-client-renegotiation test

@mattcaswell pointed out in https://github.com/openssl/openssl/pull/15184#issuecomment-840617351 that a better place to do the test is not in test_renegotiation but in test/ssl-tests/17-renegotiate.cnf.in
Doing this could remove the -client_renegotiation flag from s_server but that could be seen as an API change.

It's a new API for 3.0, so not quite locked in as something we have to support, though.

#15415 moved the test to the right spot, so closing.


fix Blob/RCTBlobManager.m dependency RCTWebSocket subspec file RCTWeb…

Motivation
fix bugs
Test Plan
step 1:
find node_modules/react-native/Libraries/WebSocket -name ".[h,m]" | xargs grep Blob
find node_modules/react-native/Libraries/Blob -name ".[h,m]" | xargs grep WebSocket
step:2
find node_modules/react-native/Libraries/WebSocket -name ".js" | xargs grep Blob
find node_modules/react-native/Libraries/Blob -name ".js" | xargs grep WebSocket
Blob depend on WebSocket in iOS files
WebSokect depend on Blob in JavaScript files
React.podspec describe iOS dependences
Release Notes
fix Blob/RCTBlobManager.m dependency RCTWebSocket subspec file RCTWebSocketModule.h
[CATEGORY] [TYPE] [LOCATION] - MESSAGE
[IOS] [BUGFIX] [React.podspec] - fix Blob/RCTBlobManager.m dependency RCTWebSocket subspec file RCTWebSocketModule.h

Well, RCTBlob depends on RCTWebSocket? Why? Conceptually, that even does not sound right.
Which problem are we solving?

@shergin Yes，it does not sound right。But actually，_RCTBlobContentHandler implements RCTWebSocketContentHandler protocol in RCTBlobManager.m


Add examples of CI environment variable values

Not sure if you're interested in this; if not, I'll just keep it for my own reference.
I find it useful when writing build scripts because sometimes the exact way a value is formatted is not obvious, and you have to run a test job to find out.
Drone has something similar, but in a much less convenient form, spread over dozens of pages:

https://docs.drone.io/pipeline/environment/reference/drone-commit/
https://docs.drone.io/pipeline/environment/reference/

etc.

Then let's hear more opinions - @woodpecker-ci/maintainers


LGTM.com - false positive This statement makes ExprStmt unreachable.

LGTM in general doesn't seem to enjoy switch statements in c++.
Not really sure why it flags every single case-statement here as unreachable:
https://lgtm.com/projects/g/sandsmark/freeaoe/snapshot/bb4ecd90c328b27a29eec3db7b06ae26c52e9490/files/src/core/ResourceMap.h#xdfaa351901d06e8e:1
It's very reachable (and it works...).

Thank you for the report. There's something wrong with how we parse the code in your project. Let's use https://github.com/Semmle/ql/issues/3012 as the central place to track the parsing issue. If the particular FPs reported in this issue don't go away when #3012 is fixed, then please reopen.


IPFS deploys for Console

Following on from #126, which configured the how, this ticket involves getting trading hosted on IPFS.
Tasks

[x] Create site on ⚡fleek
[x] Test a deploy, ensure CSS/etc loads properly
[x] Repoint hostname to ⚡fleek

Marked as blocked, waiting for https://github.com/vegaprotocol/frontend-monorepo/milestone/1 to be more complete

Marked as blocked - I think @dexturr had a reason not to set this up right away

https://vega-fairground-console.on.fleek.co/ is deploying, but the DNS for console.fairground.wtf has not been repointed.
There are some situations in which this app specifically fails to load correctly:

Subdomain-based IPFS gateways work fine
Path-based IPFS gateways don't load the assets correctly due to the way next.js export references static assets in the exported output.

Currently this is acceptable, as there's no straightforward workaround (next.js effectively expects you to know where the content is being served from, which we can't guarantee here), but this is tolerable. Path-based gateways have security implications that don't map well on to Trading while it is using Wallet API v1 anyway.

This was switched over, but is now back on Netlify due to a report from Dan that deeply nested routes do not work:
https://console.fairground.wtf/markets should not show an IPFS folder index

Blocked by https://github.com/vegaprotocol/frontend-monorepo/pull/1921 currently


kn/ejson

Worthy of first commit
Add actual generator
Tweak pubspec.yaml for bette PANA score
move ejson project into ejson folder

I think it is in a state where I'm starting to feel I have a good sense of direction. I can de-/serialize fairly complex stuff including generics (Fx List<int> vs List<String>, but even complex stuff like Map<String, List<Map<String, Object>>> .. which is not important for realm just yet, but will be once all variants of collection in collections land).  It also handles the relaxed mode of EJSONv2, unlike .NET.
Tons of stuff is missing (BSON has some very special types), but all the ordinary stuff is there, and branch coverage is around 70%, so I feel confident the bases are covered.
What remains (in my head) is the actual build_runner tool that handles custom types. There is an example Person class and a hand-written person.g.dart that illustrates what I'm aiming for.
I don't think we need to support all BSON types from the get go, as long as we support realm types it should be okay, and I don't think we need to support serializing to the binary format (hence I call the package ejson, not bson).
Anyway, I guess it is a good time to spend a bit time with it to see if you feel confident in the direction I have taken.

I think we should also make sure to add docs to all exported/public members (would be nice if there was some lint rule that we could enable for this) or hide them if they're not supposed to be used.

Yes, I'll add in a separate PR.

Finally, I'm wondering if we should move some functionality to static methods, similar to Newtonsoft.Json. I know right now it's modeled after the jsonEncode/Decode functions, so probably it's more geared to dart developers than to me, but it feels a bit more organized to have all public API on the same class - e.g.:

I see where your point, but it does feel a bit foreign in Dart. Also, the EJson class is already used for the annotation.. but I guess we could dual purpose it for this 🤔


arm/qemuv7a: Modify link script

Summary

Modify to map to the specified memory, CONFIG_FLASH_START and CONFIG_RAM_START
Add explanation README.TXT

Impact
All configurations under qemev7a have been specified with CONFIG_FLASH_START CONFIG_FLASH_SIZE, CONFIG_RAM-START, and CONFIG_RAM_SIZE
Testing
No

[Experimental Bot, please feedback here]
No, this PR does not meet the NuttX requirements.
Missing Information:

Summary:

Lacks a clear explanation of why the change is necessary. Is it a bug fix, performance improvement, or new feature?
Doesn't specify what functional part of the code is being changed.  Mention specific files or modules.
How does the mapping to CONFIG_FLASH_START and CONFIG_RAM_START actually work? What code is modified?
Are there related NuttX issues?

Impact:

While it states all configurations are impacted, it's unclear what the user-facing consequences are. Will applications behave differently? Are there potential compatibility issues?
Will the build process change for any boards?  Provide specifics if yes.

Testing:

Unacceptable:  "No" is not sufficient.  You must provide testing evidence.
List the specific host operating systems, compilers, target architectures, and boards used for testing.
Include relevant log snippets demonstrating the problem before the change and the correct behavior after the change.

Recommendations:

Expand the Summary: Clearly articulate the problem or need this PR addresses. Provide more context on the code being modified and the mechanics of the change.
Detail Impact: Go beyond stating configurations are affected. Explain the consequences for users, build processes, and potential compatibility concerns.
Provide Thorough Testing Information:  Testing is crucial! List all host and target environments, and include log snippets showing before/after behavior.

Without these improvements, it's difficult for maintainers to assess the PR's validity and safety.

Hold for fix the knsh error

Related changes have been merged into other patches


[orga] try to make the buttons in schedule editor clearer

The schedule editor already looks great, but the buttons on the top kind of confused me. I tried to give them better names. Please note that this is only a suggestion, feel free to make or request any changes you want :)

Thank you very much! UI testers who write their own PRs are the best UI testers. :bee:


Support proxy settings between hub and managed cluster

When a cluster joining to a hub, user is allowed to specify the HTTP/HTTPS proxy with additional CAs.
Clusteradm should create the bootstrap kubeconfig with 'proxy-url' configured and add the additional CAs into the CA bundle of the kubeconfig, which ensure all communication from kulusterlet agents to hub kube-apiserver go through the specified proxy server.

/close