Request "add" and "remove" methods for easier external value changes

Hi,
Correct me if I'm wrong but I've found no easy way to add/remove an item to/from an existing selection from the outside of select2. In my use case, clicking on pictures adds/removes people in the list.
What I do right now is :
var ids = el.select2('val');
ids.push(newId);
el.select2('val', ids).trigger('change')
The item is added but the first problem is, this code does not trigger a nice "change" event like the one when you select an item from the dropdown list, which tells you what has been added with the "added" custom property. I bind on the "change" event to manage more things from there. To achieve consistency, I currently have to forge my "change" events myself with the same "val" and "added" properties as the ones generated by select2 : not a great idea.
The second problem is, there is no "select2-selecting" event triggered. The select2-selecting handler is used as a filter function to authorize some selections and not others, but this filter function is not applied on values submitted from outside select2.
In the end to solve this, I would be happy to see simple methods like these, that would trigger the same events and go through the same filters as a manual selection/removal from inside the select2 field :
el.select2('add', newId);
el.select2('remove', oldId);
Also, an array of ids/objects could be provided to the methods instead, and I would expect the "change" event to be triggered once for each of them.
Anyway, thanks for the great work guys.

Given the lack of :+1:'s on this ticket, I don't think it's going to be happening.

About the lack of +1, I guess that few people build complex apps that try to get the best of the library. But I do have complex scenarios, and I wish select2 had methods for consistent manipulation.
But I understand that it would represent some work. I've looked at the source code to contribute and I was quickly discouraged by the mass of code. I would personnaly try to split it and make it more modular if I had time, maybe some day. Thank you anyway for your work.

I would personnaly try to split it and make it more modular if I had time, maybe some day.

4.0 is completely modular. :)
https://select2.github.io/

Great, I'll definitely check it out, thanks :)


Update requirements.txt

The repository expects to have pycocotools installed but it's not part of the requirements:
ego4d/research/util/masks.py", line 6, in <module>
    from pycocotools import mask as mask_utils
ModuleNotFoundError: No module named 'pycocotools'

Happens if you run things like this:
from ego4d.research.readers import PyAvReader, TorchAudioStreamReader
from ego4d.research.util.masks import blend_mask, decode_mask

Thanks


[#93705168] Upgrade terraform to version 0.5.3

Registry uses GCS on GCE
What
Install terraform version 0.5.3 with google cloud storage support.
Who should review this PR

Anyone on the core team.

NB: Homebrew doesn't have 0.5.3 yet, so some of us might need to change our installation method.


Add partial OpenSharedHandle support

This commit is about issue #1199.
Thanks

I will update the source to fix clang and gcc, hold on

I will update the source to fix clang and gcc, hold on

I think that change is good, thanks. You have some formatting issues in the newest code and I've noted a couple of issues, but otherwise this is about ready.

btw, do what you think is best regarding squashing/merging, since I don't have github locally, I don't seem to have access to that online.

No problem. Squashing is likely available in whatever git client you're using under 'rebasing', as that allows you to merge multiple commits together. I'll just squash everything together when merging.

Manually squashed and merged.


feat: added fair launch claim

Close: #101

Hi, @codynhat
Why did I get _auctionStart and _auctionEnd both 0:
  const _auctionStart = await claimerContract.auctionStart(); // 0
  const _auctionEnd = await claimerContract.auctionEnd();     // 0

The current deployment has them set to 0. But we can change it. Do you need me to change it for testing?

Got it, no need to change it, I can handle this situation.

Hi, @codynhat
2 questions:
a. what's the block here:
https://github.com/Geo-Web-Project/core-contracts/blob/bb6b1d0e12c03615e1ab21dc7d5e6d19abfb9cc4/contracts/FairLaunchClaimer.sol#L84
b. and the Claim action needs to do the same thing with Simple Claim View?


Fix typo :)

s/multuple/multiple/
s/impliment/implement/
s/makee/make/
s/currenly/currently/
s/sepcific/specific/
s/retreiving/retrieving/

Coverage remained the same at 89.82% when pulling df89332e6ab02a20708a79476b2789669c2e2a52 on uncovertruth:master into 4a6ef4f70a595e56d4e82f5d9bbf700b230e0f2c on JBKahn:master.

Coverage remained the same at 89.82% when pulling 107cbcd9348db57aadda23842919846373f0e6e4 on uncovertruth:master into 4a6ef4f70a595e56d4e82f5d9bbf700b230e0f2c on JBKahn:master.

Coverage remained the same at 89.82% when pulling eb6a5f9d0345758f5064097562088f654d862eac on uncovertruth:master into 4a6ef4f70a595e56d4e82f5d9bbf700b230e0f2c on JBKahn:master.

Coverage remained the same at 89.82% when pulling 6ad382251183f59cc58066521ecf31e171f18bbc on uncovertruth:master into 4a6ef4f70a595e56d4e82f5d9bbf700b230e0f2c on JBKahn:master.


Discord invite on the docs page is invalid

...title says it all.

Here is an active link:
https://discord.gg/YVgwp48Tcm
Default is to expire after 7 days. I will get this fixed. Thank you!


Build problem on OSX with JDK10 due to new version numbering

The old version sceme in Java was: java version "1.8.0_161"
With JDK10 they changed it: java 10 2018-03-20
See resulting problems below.
./gradlew ios:launchIPhoneSimulator
Downloading https://services.gradle.org/distributions/gradle-2.14.1-bin.zip
FAILURE: Build failed with an exception.

What went wrong:
Could not determine java version from '10'.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

java --version
java 10 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)

This is a limitation of the old Gradle versions. It is fixed in newer versions of Gradle, but these cannot be used as it breaks IDE integration (see other related issues on this tracker). For now, java 10 is not supported officially, you are welcome to update your gradle wrapper version yourself, but there is no official support from us for it.

No problem for me. Just something I noticed and thought I let you guys know.
Gradle 2.14.1 is probably a limitation of only the Android build? Or the iOS build as well?

If you are on command line only, all versions of Gradle are compatible with all the builds. The problem lies with IDE integration.

Yes...only cli.
I am pretty sure though that even the most basic libgdx project won't build with Gradle 4.6 for: gradle android:assemble
FYI. Doesn't matter to me. I stick to the wrapper.

Ah yes, I meant that with a few version tweaks its fine. Latest Gradle versions need a bump of the android plugin. But build should still be the same.

Great work btw...you and a few others rescued RoboVM and kept libgdx alive. I hope keeping RoboVM up-to-date is doable in the long run.


Open Source our blog

Let's open source our blog so that other people can benefit from it :-)

done :-)

spam


fix: eliminate crashes when dealing with recursive data structures

fixes #327
Gapic::ResourceLookup#message_resource_types would go into infinite recursion if handed a recursively defined message. These do exist and are legal. Fixed the method, and added a test case in the garbage protos with a recursive type.

@quartzmo Could you approval stamp this?


.tabs_are_draggable(false) makes tabs not clickable

Describe the bug
Calling StyleBuilder.tabs_are_draggable(false) makes tabs not selectable, essentially breaking egui_dock because tabs can't be clicked between.
To Reproduce

Create a new DockArea and set its style
Call StyleBuilder.tabs_are_draggable(false)
Run the app and try to switch between tabs

Example:
egui_dock::DockArea::new(&mut self.tree)
    .style(
        StyleBuilder::from_egui(ctx.style().as_ref())
            .tabs_are_draggable(false)
            .build(),
    )
    .show(ctx, &mut TopbarTabViewer);

Expected behavior
I expect tabs not to be draggable (as explained in the function description), but I still want to be able to switch between the tabs by clicking on them.
Additional context
I am on version 0.3.1 of egui_dock, 0.20.1 of egui, and 0.9.1 of bevy.

Thanks for reporting this, seems like a critical bug. I'll put fixing it on my priority list.


using face detection in flutter to enhance security

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #6775

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

@paulodhiambo renamed
closed the other one

@karehnikita rename content/articles/Using-Face-Detection-in-Flutter-to-Enhance-Security/ to content/articles/using-face-detection-in-flutter-to-enhance-security

@paulodhiambo
Im seeing this is a duplicate - therefore if any more (major) edits are needed we will be closing this PR.

@hectorkambow the article is perfect

jumping on this one

@karehnikita
👏 Very well done 🚀
Be sure to see your live published article on the site (it should be live within 30 mins).
To give your article a boost in page engagement - share it across your social site (LinkedIn/Twitter) and tag the EngEd program so we can also share it and give it some traction as well!

If you have not done so already - consider adding a skill section to your author page. This will go a long way for potential future employers.


Documentation: json.config   environment path set to "$PATH...."

Brief Issue Summary
A documentation error on the page https://vector-of-bool.github.io/docs/vscode-cmake-tools/debugging.html
In the sample launch.json file, the line which reads
          "value": "$PATH:${command:cmake.launchTargetDirectory}"

should read
          "value": "${env:PATH}:${command:cmake.launchTargetDirectory}"

VSCode does not expand $PATH on launch; the environment in the target executable contains the literal text "$PATH", unexpanded; but ${env:PATH} does the job nicely.
Tested with
Visual Studio Code 1.65.0
Raspberry Pi OS (64-bit)
Linux raspberrypi 5.10.103-v8+ # 1530 SMP PREEMPT Tue Mar 8 13:06:35 GMT 2022 aarch64 GNU/Linux

CMake Tools Diagnostics
n/a
Debug Log
n/a

Thank you for reporting this.  Unfortunately, we do not own that website, but we did update our own documentation for this a while back.  https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/debug-launch.md


AWS lambda

stopped working, loading forever ...

No errors? Are you using a basic example for testing?
Mine does this weird thing where sometimes at random I get a connection failed.


Speed up reflective comparison

Second iteration of https://github.com/joel-costigliola/assertj-core/pull/1973
Only introduces method cache w/o changing comparison algorithm

Integrated thanks @AndreyNudko!


Improvements to istioctl get to show key fields

Currently _istioctl get type shows NAME/TYPE/NAMESPACE.  I'd rather see:
istioctl get gateways
NAME			    HOSTS	AGE
guestbook-gateway	     *               3d

istioctl get virtualservices
NAME		GATEWAYS		   HOSTS   HTTP 	TCP		AGE
guestbook	guestbook-gateway          *       1       0            3d

istioctl get destinationrule
NAME			HOST                 SUBSETS                                   AGE
helloworld-service	helloworld-service  version-1-0; version-2-0	3d

istioctl get serviceentry
NAME				HOSTS				PORTS         AGE
googleapis			*.googleapis.com             443              2d

I think this will be very useful.  My vote is to support both single and plural, e.g.
$ kubectl get virtualservice
NAME        AGE
guestbook   56m
$ kubectl get virtualservices
NAME        AGE
guestbook   56m

@rshriram When I created this work item I noticed there was no way to label it as "istioctl" specific.  So I created the label and labeled this myself.  From your comments elsewhere it seems I shouldn't have done that.  Shall I remove the "area/cli" labels I added?  I was trying to keep track of CLI-specific issues.

For "legacy" types, and types with no special listing format, I recommend two changes.
Show "AGE" like kubectl does.  (I am almost ready with code for this.)
Ensure there is a space between columns.  Currently we show something like this:
$ istioctl get gateways
NAME		KIND					NAMESPACE
bookinfo-gatewayGateway.networking.istio.io.v1alpha3	default

It is difficult to parse that output in a script because of the lack of whitespace between "bookinfo-gateway" and Gateway.

@esnible , what is the current implementation state of this issue? What is left?

@ozevren All that was left was merging the AGE column.  That was done yesterday and I am closing this item.


Broken pipe [system:32]

I got a error
terminate called after throwing an instance of 'boost::wrapexcept<boost::system::system_error>'
  what():  Broken pipe [system:32]

And my stack is here
(gdb) bt
#0  __pthread_kill_implementation (threadid=281474814308608, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x0000fffff6ebf254 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x0000fffff6e7a67c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x0000fffff6e67130 in __GI_abort () at ./stdlib/abort.c:79
#4  0x0000fffff716527c in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#5  0x0000fffff7162a5c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000fffff7162ac0 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#7  0x0000fffff7162a48 in std::rethrow_exception(std::__exception_ptr::exception_ptr) () from /lib/aarch64-linux-gnu/libstdc++.so.6
#8  0x000000000057295c in boost::asio::detail::thread_info_base::rethrow_pending_exception (this=0xfffff651e5d0)
    at /boost/boost/asio/detail/thread_info_base.hpp:234
#9  0x000000000057f8b8 in boost::asio::detail::scheduler::do_run_one (this=0x1bbeeb0, lock=..., this_thread=..., ec=...)
    at /boost/boost/asio/detail/impl/scheduler.ipp:494
#10 0x000000000057e540 in boost::asio::detail::scheduler::run (this=0x1bbeeb0, ec=...) at /boost/boost/asio/detail/impl/scheduler.ipp:210
#11 0x0000000000580538 in boost::asio::io_context::run (this=0x1bbee90) at /boost/boost/asio/impl/io_context.ipp:64
#12 0x0000000000fc6068 in <lambda()>::operator()(void) const (__closure=0x1bbf018) at /io_context_pool/HttpIoCtxPool.cpp:49
#13 0x0000000000fc7d94 in std::__invoke_impl<void, MINDIE::MS::HttpIoCtxPool::Run()::<lambda()> >(std::__invoke_other, <lambda()> &&) (__f=...)
    at /opt/buildtools/gcc_7.3.0/include/c++/7.3.0/bits/invoke.h:60
#14 0x0000000000fc76f4 in std::__invoke<MINDIE::MS::HttpIoCtxPool::Run()::<lambda()> >(<lambda()> &&) (__fn=...) at /opt/buildtools/gcc_7.3.0/include/c++/7.3.0/bits/invoke.h:95
#15 0x0000000000fc8cc4 in std::thread::_Invoker<std::tuple<MINDIE::MS::HttpIoCtxPool::Run()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x1bbf018)
    at /opt/buildtools/gcc_7.3.0/include/c++/7.3.0/thread:234
#16 0x0000000000fc8bdc in std::thread::_Invoker<std::tuple<MINDIE::MS::HttpIoCtxPool::Run()::<lambda()> > >::operator()(void) (this=0x1bbf018) at /opt/buildtools/gcc_7.3.0/include/c++/7.3.0/thread:243
#17 0x0000000000fc8b44 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<MINDIE::MS::HttpIoCtxPool::Run()::<lambda()> > > >::_M_run(void) (this=0x1bbf010)
    at /opt/buildtools/gcc_7.3.0/include/c++/7.3.0/thread:186
#18 0x0000fffff719224c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#19 0x0000fffff6ebd5c8 in start_thread (arg=0x0) at ./nptl/pthread_create.c:442
#20 0x0000fffff6f25edc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79

I find the answer from web

How to prevent this execption? How to catch it?

Exceptions can be handled by catching them. In this case, you might catch it by surrounding the run() call with an appropriate try/catch
 try {
        ioc.run();
 } catch(boost::system::system_error const& se) {
       std::cerr << "Handled the error " << se.code().message() << std::endl;
 }

See also https://stackoverflow.com/questions/44500818/should-the-exception-thrown-by-boostasioio-servicerun-be-caught
It is usually more productive to catch closer to where the error is being raised. In your debugger, find when the exception is thrown (or analyze the IO operations to see which one likely throws this)

Consider using the APIs which indicate errors using error_code

Exceptions can be handled by catching them. In this case, you might catch it by surrounding the run() call with an appropriate try/catch
 try {
        ioc.run();
 } catch(boost::system::system_error const& se) {
       std::cerr << "Handled the error " << se.code().message() << std::endl;
 }

See also https://stackoverflow.com/questions/44500818/should-the-exception-thrown-by-boostasioio-servicerun-be-caught
It is usually more productive to catch closer to where the error is being raised. In your debugger, find when the exception is thrown (or analyze the IO operations to see which one likely throws this)

Is there any other way to solve this problem? I don't want io_context to stop running.

Consider using the APIs which indicate errors using error_code

If you show actual code we can help you with the specific code. But really it all comes down to just handling exceptions (or avoiding them)

Consider using the APIs which indicate errors using error_code

I use tcp stream with async_write and async_read. I had bind handler function but the exception is still been thrown. My code is a little complicated. I made it with boost example async_server and chat_server.

Yes:

Consider using the APIs which indicate errors using error_code

If you show actual code we can help you with the specific code. But really it all comes down to just handling exceptions (or avoiding them)

I use tcp stream with async_write and async_read. I had bind handler function but the exception is still been thrown. My code is a little complicated. I made it with boost example async_server and chat_server.

Assuming that you mean to imply you somehow cannot show the code, I suggest again to figure out where the exception is thrown from using a debugger.
If the code is based on the two small Asio examples, I'd think it shouldn't be too big to show. You could also put it into a gist or something.

issues/2908  My code is here

Assuming that you mean to imply you somehow cannot show the code, I suggest again to figure out where the exception is thrown from using a debugger.
If the code is based on the two small Asio examples, I'd think it shouldn't be too big to show. You could also put it into a gist or something.

hah, I have gone home. I will upload my
new code tomorrow.

I'm a bit confused by the complexities. Allow me to introduce the buffers_generator concept which can be used to abstract different types of responses.
To generate buffers for the standard Beast http::response message types use http::message_generator.
Next, add error handling around the shutdown call. This self-contained simplified version of your code works well for me: https://gist.github.com/sehe/9c48b7089eafaae05ffef16a5587af22
#include "HttpServer.h"

int main() {
    HttpServer    server(10, 60, 4);
    ServerHandler sh;

    sh.RegisterFun(http::verb::get, "/", [&server](Connection conn) {
        conn->SendRes(http::status::ok, "text/html",
                      "
Hello, World!
Connections: " +
                          std::to_string(server.GetConnectionsCount()) + "\r\n");
    });

    RequestHandler echo = [](Connection conn) {
        auto& req = conn->GetReq();
        LOG("Handling '/echo' %s\n", http::to_string(req.method()).data());
        std::ostringstream oss;
        oss << req;
        http::response<http::string_body> res{http::status::ok, req.version(), oss.str()};

        res.set(http::field::content_type, "text/plain");
        res.keep_alive(req.keep_alive());
        res.prepare_payload();
        conn->SendRes(std::move(res));
    };
    sh.RegisterFun(http::verb::put,     "/echo", echo);
    sh.RegisterFun(http::verb::get,     "/echo", echo);
    sh.RegisterFun(http::verb::post,    "/echo", echo);
    sh.RegisterFun(http::verb::delete_, "/echo", echo);

    sh.RegisterFun(ServerHandler::HandlerType::REQ_ERROR, [](Connection conn) {
        LOG("Handling error\n");
        conn->SendRes(http::response<http::string_body>{http::status::internal_server_error, 10,
                                                        "Internal Server Error"});
    });
    server.Run("<IP_ADDRESS>", "8989", sh);
}

With local demo:
Screencast from 2024-09-21 00-10-29.webm


Added new features, to map Account Numbers to Account Nicknames.

Map Account Numbers to Account Nicknames
and replace 4 spaces with 2 spaces to have the Lambda function zip file inside 4096 characters ranges.
Issue #, if available:
None identified, as of now. Please report it in the repo, if you find anything.
Description of changes:
When the GuardDuty alerts coming in Slack, we do see all AWS Account Number which is very raw to identify which account. So added a feature to have Account Nicknames, so you can easily identify which account is having issues.

This change also included some whitespaces cleanup (Find and replaced four whitespaces into two whitespaces on the indentation to solve the zip file limitation issues).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Adding an account name to number mapping doesn't scale well in a template.  We will look to add this natively to the findings instead.


no_mixed false positive

This code (it is from PHPMailer) gives a mixed variable warning about $configurator->configure(), but the type should be already known there.
public static function mailer(string $dsn, bool $exceptions = null): PHPMailer
{
    static $configurator = null;

    if (null === $configurator) {
        $configurator = new DSNConfigurator();
    }

    return $configurator->configure(new PHPMailer($exceptions), $dsn);
}

Report is correct. The $configurator can be anything, e.g. "notAnOjbect" string :)
This should be fixed:
    if (! $configurator instanceof Configurator) {
        $configurator = new DSNConfigurator();
    }

$configurator already initialized in static variable, and values is always DSNConfigurator on usage, I think this should be skipped, see https://3v4l.org/OZ9YI

it seems phpstan bug see
https://phpstan.org/r/e29dd2fe-4416-44c7-a08d-dbddf3731d22
vs
https://phpstan.org/r/10bf3731-bf06-44ea-9627-2801fe56f546
so it needs to be solved in phsptan first.

Thanks guys, I didn't like PHPMailer's source code in general, but couldn't tell why. This was a good example for bad type checking, instanceof definitely is the proper method to use here. I need some time to get back on track with PHP after skipping it for almost 15 years. And I will replace PHPMailer with Symfony Mailer.


Fix track-sel doc. for Run 3 analyses.

Linked to O2Physics PR #1839

@TimoWilken the related PR in O2Physics has just been merged, can we do the same for this PR here? Thanks

Merged, thanks @mfaggin!


Document updating component upon user events

As a beginner new to Neovim autocommands, configuring heirline.nvim with a plugin that requires updatin a component upon a user event was a challenge.
For example, I created an LspMessages component with heirline.nvim that relies on linrongbin16/lsp-progress.nvim for the provider and needs to be updated when the LspProgressStatusUpdated user event is emitted:
local LspMessages = {
  provider = require('lsp-progress').progress,
  update = {
    'User',
    pattern = 'LspProgressStatusUpdated',
    callback = vim.schedule_wrap(function()
      vim.cmd('redrawstatus')
    end),
  }
}

The only example of update with a pattern in the cookbook is a builtin event for refreshing a cmoponent when the mode changes:
update = {
    "ModeChanged",
    pattern = "*:*",
    callback = vim.schedule_wrap(function()
        vim.cmd("redrawstatus")
    end),
},

The mistake I made was extrapolating the builtin event example for the user event:
local LspMessages = {
  provider = require('lsp-progress').progress,
  update = {
    'LspProgressStatusUpdated', -- ❌ Needs to be 'User'
    pattern = '*:*', -- ❌ Needs to be 'LspProgressStatusUpdated'
    callback = vim.schedule_wrap(function()
      vim.cmd('redrawstatus')
    end),
  }
}

The error you get with the above is "Invalid 'event': 'LspProgressStatusUpdated'".
I'm sure those more familiar with autocommands in Neovim wouldn't make this mistake, but for beginners an example for user events might be helpful!

Thank you again. heirline.nvim is very cool for building a customized statusline! :sunglasses:

hi @gbroques, also please pay attention that default 'lsp-progress' will handle the escaping of '%' char, e.g. double the '%'.
see: https://github.com/linrongbin16/lsp-progress.nvim/blob/cabf7fde50cc0dad367a03a1542d9670d1118bd0/lua/lsp-progress/defaults.lua#L83
and: https://github.com/linrongbin16/lsp-progress.nvim/blob/cabf7fde50cc0dad367a03a1542d9670d1118bd0/lua/lsp-progress/defaults.lua#L88
these two lines will transfer '%' to '%%'. also see related discuss why I am doing it: https://github.com/linrongbin16/lsp-progress.nvim/issues/98
also it's super welcome if you could submit PR to give people a sample, share how you integrate lsp-progress with heirline.

hi @gbroques, also please pay attention that default 'lsp-progress' will handle the escaping of '%' char, e.g. double the '%'.
see: https://github.com/linrongbin16/lsp-progress.nvim/blob/cabf7fde50cc0dad367a03a1542d9670d1118bd0/lua/lsp-progress/defaults.lua#L83
and: https://github.com/linrongbin16/lsp-progress.nvim/blob/cabf7fde50cc0dad367a03a1542d9670d1118bd0/lua/lsp-progress/defaults.lua#L88
these two lines will transfer '%' to '%%'. also see related discuss why I am doing it: linrongbin16/lsp-progress.nvim#98
heirline could have different behavior from lualine.

Thank you for note about the % escaping behavior!

also it's super welcome if you could submit PR to give people a sample, share how you integrate lsp-progress with heirline.

Sure! I'll consider submitting a PR for that then. Thanks again! :)


[BUG] PazerOP is a Power Hungry Virgin Loser Advertising a Blatant Ineffective Malware

Describe the bug

The title says it all. It's also bloated and sidetracks to unrelated marks that are not cheater or bot, so also false advertisement disguised as a 'solution' for gullible people not able to tell a cheater/bot and a real player apart believing random dudes that are not to be trusted if you do a little research so Matt Haynie can blackmail people he doesn't like.

Expected behavior

Follow my project https://github.com/Tututerok/TF2-Bigot-Detector-Preventer (i actually know how to code unlike some child enthusiast)

Additional context

https://www.youtube.com/watch?v=b0RrEE6q7sA&lc=UgzAax-jfWIW1tUG_ql4AaABAg

look, cheater got angry, point and laugh at him

look, cheater got angry, point and laugh at him

Sorry you got angry at me spittin' facts.


Wrong height for elements

Hello,
The height of my element in the grid isn't what I am expecting. I have a rowHeight of 3 and the element has 10 as h in it's layout but the element is rendered with height 120px..
I would expect a height of 30px?
Please see the following link for the example code: https://codesandbox.io/s/musing-cdn-74p60?file=/src/App.js
What I am missing?
Thanks!
Ben

Hi, @ben-elsen I am also facing a similar problem, after going through the library code a bit I see that the formula used for the calculating height of a grid item is
colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx        // react-grid-layout/lib/calculateUtils.js

where
gridUnits = h
colOrRowSize = rowHeight
marginPx = 10 // default margin={[10, 10]} and marginPx = margin[1]

so in your case, it is becoming
colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx
= 3 * 10 + Math.max(0, 10-1) * 10
= 30 + 9*10
= 120

I don't understand why this has been done. I am thinking of reopening a new issue.


Submitting niching slides

Hi! Thanks for submitting your slides here. It looks like you might have forgotten to commit the slides themselves though -- I'm just seeing the change in the readme.


Universal App

Great project! Is this lib compatible with WinRT / Windows Universal App ? I plan using it into Windows Phone 10

Thanks! I'm afraid most likely not just now..  I hope to get a v3 going which would be though. I've started a branch but will need help.

Right, I'll try giving you a hand

Thanks! Much appreciated :+1:


No line for "show advanced options" description localization

Was translating ALVR, found a not ttranslatable line.
"show advanced options" description for "toggleAdvanced" toggle in main.js
Same issue for all localizations.

I removed the tooltip


MP Config 2.0 spec release

[x] Specification name and version:
MicroProfile Config 2.0

[x] Add a label from one of: Creation Review, Plan Review, Progress Review, Release Review

[x] Naming conventions for artifacts:

[x] Specification PDF in the form of microprofile-project-spec-version.pdf
[x] Specification HTML in the form of microprofile-project-spec-version.html
project is the microprofile specification short project name (config, health, ...)
version is the two digit x.y version of the specification

[x] The Nexus Staging links (orgeclipsemicroprofile-NNN where NNN is the staging repository id) which contain all the binaries and relevant documentation:

[x] Staging Repo
[x] Spec PDF
[x] Spec HTML
[x] Javadoc
[x] API Jar
[x] TCK Jar

[x] A link in the Eclipse downloads sections is still available for specs and apidocs:

[x] https://download.eclipse.org/microprofile/microprofile-config-2.0-RC10/
[x] An apidocs directory containing the javadoc associated with the API jar.

[ ] Release Review

[x] Follow governance process and create/update release record

Component Release Record

[ ] Email to PMC
[ ] Start release review by emailing EMO (Track the bug issue created by EMO after the email)
[ ] send microprofile-wg for voting
[x] Summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification.

Compatible Implementation TCK Run
Compatible Implementation TCK Report

Having the extra "pdf" and "html" in the spec file names should not be a requirement.  Maven already allows the same file name with different type extensions.  Let's clean that up.

In order to push both .pdf and .html under the same dir, we have to use classifier to differentiate. We had a lengthy conversation here

Hum, actually I had a better look I think that the attach plugin supports it. Let me give it a try.

Hum, actually I had a better look I think that the attach plugin supports it. Let me give it a try.

Thanks, @radcortez.  This should be doable.

For the Compatible Impl and TCK section, should we reference a version of your compatible-certification-request.md template?  But, we need to indicate that this is filed against the Specification Component repo (ie. microprofile-config), not the microprofile-wg repo.

I made several updates to the top level Comment with the hope that my other comments and suggestions hold...  I think this is getting very close to translating to a template.

https://github.com/eclipse/microprofile-config/pull/652 should remove the classifier names in the spec files. I'm not going to rerelease just yet. We may need additional changes.

For the Compatible Impl and TCK section, should we reference a version of your compatible-certification-request.md template? But, we need to indicate that this is filed against the Specification Component repo (ie. microprofile-config), not the microprofile-wg repo.

Is this required also for the Release Review? Or only for additional implementations after the compatible implementation submitted for the Release Review? Because some of this information is already included in the spec release information. If required, we can add missing information.

BTW, what do you think is missing so we can proceed with an actual MP Config 2.0 release?

For the Compatible Impl and TCK section, should we reference a version of your compatible-certification-request.md template? But, we need to indicate that this is filed against the Specification Component repo (ie. microprofile-config), not the microprofile-wg repo.

Is this required also for the Release Review? Or only for additional implementations after the compatible implementation submitted for the Release Review? Because some of this information is already included in the spec release information. If required, we can add missing information.

I think in order to release a spec, we need at least one compatible implementation. We will need to craft a web page to store the compatible implementation lists in the individual spec repo after the release.

eclipse/microprofile-config#652 should remove the classifier names in the spec files. I'm not going to rerelease just yet. We may need additional changes.

@radcortez can you perform a release so that the links to the pdf/html/javadoc are workable for tomorrow's meeting? We can always do further changes based on the meeting.

BTW, what do you think is missing so we can proceed with an actual MP Config 2.0 release?

I think we will run through the list and confirm on tomorrow's call to see whether this is the checklist we should use for all specs and then allow specs to release their final RCx, followed by final release.

@kwsutter @radcortez I have tidied up this issue to refer to the latest MP Config 2.0-RC10 and all links are good. We can run through this issue on our Live hangout this week.

RC-10: https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-1358/
Specs: https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-1358/org/eclipse/microprofile/config/microprofile-config-spec/2.0-RC10/

This is looking very good!  I found a couple of items that will need to be addressed (but not before our meeting today)...

The javadoc does not have a reference to the EFSL.  The normal convention is to have this available in this location: doc-files/speclicense.html.
The Eclipse download item says that this isn't used anywhere...  But, don't we use this for the github release page?  That's what I would recommend.
For the Release Review section, should we indicate that these steps are only used for the "final" release review.  That is, we don't want everyone to be sending in the emails, ip logs, etc for these RC releases.

Thanks for working through these items.  I think we're in good shape for the meeting today.

This is looking very good! I found a couple of items that will need to be addressed (but not before our meeting today)...

The javadoc does not have a reference to the EFSL.  The normal convention is to have this available in this location: doc-files/speclicense.html.

We can add this.

The Eclipse download item says that this isn't used anywhere...  But, don't we use this for the github release page?  That's what I would recommend.

Sorry, what we meant here is that the link is available, but not published, in the sense that you can only access it if you know the direct link, since it is not reference in anywhere at this point. The GH Release page will only reference it after the approval.

For the Release Review section, should we indicate that these steps are only used for the "final" release review.  That is, we don't want everyone to be sending in the emails, ip logs, etc for these RC releases.

Yes. This was to dry run as it was a final release, but we didn't complete these steps for the reason you point out :)

    The Eclipse download item says that this isn't used anywhere... But, don't we use this for the github release page? That's what I would recommend.

Sorry, what we meant here is that the link is available, but not published, in the sense that you can only access it if you know the direct link, since it is not reference in anywhere at this point. The GH Release page will only reference it after the approval.
I think we can omit this link as we use staging repo for approval.

@Emily-Jiang and @radcortez, We need to get the EFSL licenses figured out before we can go forward with this ballot.  The Specs need to have the EFSL in the generated docs (both pdf and html) and the Javadoc needs to have a link available in the footer.  Here's an example (look at spec pdf, html, and javadoc links):
https://deploy-preview-252--jakartaee-specifications.netlify.app/specifications/platform/9/

Here are some additional items that we check for with Jakarta EE...  I've deleted many of the items from our checklist that are specific to Jakarta EE.  These are the remaining items...  For reviewing purposes, where should we put this type of checklist?
Still not clear on how thorough we're going to be with the TCK...  As far as User Guides, etc.  But, we do need the EFTL license, I suppose...
Spec Review Checklist

Spec Issue

[x] Issue uses template
[x] PDF of form {spec}-spec-x.y.pdf ("-spec" preferred but not required)
[x] HTML of form {spec}-spec-x.y.html ("-spec" preferred but not required)
[x] Staging repository link of the form https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-1357/org/eclipse/microprofile/config/
[x] EFTL TCK link of the form http://download.eclipse.org/.../+.zip
[x] Compatibility certification link of the form .github/ISSUE_TEMPLATE/compatible-certification-request.md

javadocs

[x] Footer contains Eclipse copyright and link to license
[x] ESFL license is included, usually as doc-files/speclicense.html
[x] no META-INF directory in PR
[x] javadocs-jar artifact matches apidocs (optional for this release)

Spec PDF

[x] Correct spec title
[x] Version number of the form x.y, not x.y.z (exception for Platform and Web Profile specs)
[x] Correct Eclipse copyright line
[x] No DRAFT or SNAPSHOT
[x] Correct Logo

Spec HTML

[x] Same as PDF

TCK zip file

[x] README file (optional for this release)
[x] EFTL license file, preferably named LICENSE.md
[x] User's Guide (or equivalent documentation)
[x] How to test the Compatible Implementation(s) listed in _index.md above with the TCK (may be in UG)

TCK User's Guide (or equivalent documentation)

[x] Software requirements listed
[x] Installation and configuration described
[x] How to run tests
[x] Where to file challenges

Compatibility certification request

[x] Request follows template
[x] SHA-256 fingerprint matches staged TCK zip file
[x] Request issue has certification label.

TCK results summary

[x] Page is hosted by Compatible Implementation project
[x] Includes all information from certification request
[x] Summary includes number of tests passed, failed, errors
[x] SHA-256 fingerprint matches staged TCK zip file on cert request

@Emily-Jiang and @radcortez, We need to get the EFSL licenses figured out before we can go forward with this ballot. The Specs need to have the EFSL in the generated docs (both pdf and html) and the Javadoc needs to have a link available in the footer. Here's an example (look at spec pdf, html, and javadoc links):
https://deploy-preview-252--jakartaee-specifications.netlify.app/specifications/platform/9/

Ok, I'll have a look into this tomorrow.

Still not clear on how thorough we're going to be with the TCK... As far as User Guides, etc. But, we do need the EFTL license, I suppose...

Usually the TCK module as a README or some other documentation file with the instructions. For instance: https://github.com/eclipse/microprofile-config/blob/92e5af2e7c0c4bc9c066470a16ee9002c3cd46ca/tck/running_the_tck.asciidoc. Is this enough? Should this be generated in some sort of pdf / html and added to the TCK dist binary?

@Emily-Jiang and @radcortez, We need to get the EFSL licenses figured out before we can go forward with this ballot. The Specs need to have the EFSL in the generated docs (both pdf and html) and the Javadoc needs to have a link available in the footer. Here's an example (look at spec pdf, html, and javadoc links):
https://deploy-preview-252--jakartaee-specifications.netlify.app/specifications/platform/9/

Ok, I'll have a look into this tomorrow.

The Config pdf and html has the following copyright already in the body
Specification: Configuration for MicroProfileVersion: 2.0-RC9Status: DraftRelease: November 04, 2020Copyright (c) 2016-2018 Contributors to the Eclipse FoundationLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
The javadoc has the EFSL on the footer
Copyright © 2020 Eclipse Foundation. All rights reserved.

Still not clear on how thorough we're going to be with the TCK... As far as User Guides, etc. But, we do need the EFTL license, I suppose...

Usually the TCK module as a README or some other documentation file with the instructions. For instance: https://github.com/eclipse/microprofile-config/blob/92e5af2e7c0c4bc9c066470a16ee9002c3cd46ca/tck/running_the_tck.asciidoc. Is this enough? Should this be generated in some sort of pdf / html and added to the TCK dist binary?

We should be fine with the user guide. We do have Apache Lience v2 and EF copyright on both the jar level and source file level. @kwsutter
I think MP Config 2.0 can go for a final release. Thoughts?

The Config pdf and html has the following copyright already in the body

What we have is the Apache License. This raises another question. Do we need to change the license and move to EF based licenses?

The javadoc has the EFSL on the footer. See here
Copyright © 2020 Eclipse Foundation. All rights reserved.

This is just the copyright. There is no link for any license, either EF or Apache.

I think MP Config 2.0 can go for a final release. Thoughts?

I think we need to clear this License question. @kwsutter can you help?

@radcortez btw, we don't need to change the license from Apache v2 to EF, which was set when MicroProfile moved to EF. As for the javadoc, as I mentioned in the previous notes, the license used is also Apache V2, which are listed in the source files. I think one question is whether we can add a link to the footer. @kwsutter?

@radcortez and @Emily-Jiang
The license for the specification source is Apache v2.  That's fine and should be left that way.  But, the generated Specification has to be EFSL licensed.  The Apache v2 license is not sufficient for the generated Specification (pdf and html).  So, this has to be updated before we are ready.
Similar comment for the Javadoc.  The Java source code is Apache v2 licensed.  But, the generated Javadoc has to be EFSL licensed.  This is easily done by updating the footer for the javadoc.  Here's an example of how we do this for Jakarta EE specs:
https://github.com/eclipse-ee4j/jakartaee-api/blob/211785b901de26bd3b708112fd0055ca70dadc86/pom.xml#L268
As far as the TCK user's guide...  As long as the TCK zip file contains the user's guide in whatever format (html, pdf, asciidoc, whatever), that is sufficient.  There are requirements for this user's guide to contain information for setup, configuration, passing criteria, challenges, etc.
Hope this helps!

@kwsutter Thanks. One more thing: Should the spec keep the ASF license or the EFSL will replace it?

It ought to keep both Licences. 🥋

It ought to keep both Licences. 🥋

Actually, that is not the case.  The source keeps the Apache v2 or EPL or whatever license is used for developing the spec.  But, the generated Spec should only only contain the EFSL.  As an example, most all of the Jakarta EE specs source are EPL.  But, the EPL is replaced with the EFSL when generating the PDF or HTML versions of the final specs and javadoc.

Thank you @kwsutter for the clarification! I took a look at the Jakarta spec ascii doc for JMS and got an idea to how to proceed. We need to update the spec docs to add the EFSL. Let me open an issue in MP Config to fix the javadoc and generated specs.

Kevin,
Please copy/paste your explanation. It is actually correct about the PDF. Only EF is authorized to distribute the code when generating the spec.  really easy to miss that formality. thank you!

I mean, document it within the process. :)

I mean, document it within the process. :)

I was talking to @Emily-Jiang about this yesterday... We need an "operations guide" for the MicroProfile specification process.  We have one for Jakarta EE, but our MP operations will be slightly different and, thus, we should have a separate "ops guide".  Would you like to start one?  I just don't have the cycles to do that at this time. Thanks!

@kwsutter Kevin,
I am happy to own the task if Emily cannot own it but only after I am done completing the final drafts for the MPWG:

Budget (wiki and everything included)

MPWG website page

Members onboarding wiki

Q&A for all MPWG lessons learned <> go hand to hand with documentation with includes Operation on it own wiki! :)

I know about cycles... :) fun yet we must conserve key-strokes to not overcommit & be "flickers".
As usual, I love the candidness of our exchanges Kevin! :) cheers

@kwsutter MP Config 2.0-RC15 should have addressed all of the comments in this issue. Can you take a further look at the issue description, which I have updated accordingly to see whether more updates are needed?

Let's close this Issue out to avoid confusion with the "real" Config 2.0 Spec Release issue.

I don't have permissions to do it.
This is something else we need to discuss. Because this repo is on another GH org, MP member, don't have the same permissions / visibilities they have on the EF repos.

closed.


Feature Request: Copy Button

Hello!
It would be optimal to include a copy button that will copy all the contents of the selected chat message.
Thank you!

PR #171 for this feature is ready, welcome for feedbacks!

PR #171 for this feature is ready, welcome for feedbacks!

That was fast. I tested it using markdown and table format unfortunately the copy button does not work properly and only copied the first word. You can try it by generating a dummy table.

I can copy the whole message if I refreshed the page.

Great catch! let me fix that

@saliksik Fixed, mind testing for me.
One thing I would love know is if it's ideal to copy the message in Markdown format, or would it make more sense to copy the content after striping out the Markdown syntax.
Or maybe we should have both option?

I have tested it and it is now working properly. Regarding the message you copied, I recommend not stripping the markdown syntax. This is because, in my use case, when generating long-form content with markdown and table format, copying and pasting the message onto Notion is a great productivity enhancement.

That's a good point 👍

I've noticed that the PR was merged at https://github.com/mckaywrigley/chatbot-ui/commit/14fe29c03aeb6f737811055064803f71f3f731cd, however, I can't seem to locate the copy button on the chat messages.

Fixed: https://github.com/mckaywrigley/chatbot-ui/commit/71d7e44bcee2564a9a4301df3d0dc46c5eb53e40

Copy Button and Copy code Button not working for me (macOS, Firefox). It just doesn't copy anyhting.


#160 Meeting announcement created from ephemeral to get posted in RHS

Command responses don't get posted in the RHS #153
Added meeting if from Context (request) to the startMeeting

Hey is there a way to add test for ServeHTTP methods??

Hi @tw-ayush , I am not sure how this change the behaviour to add the meeting in the right place. Care to explain?
Regarding adding tests, feel free to open a PR to add the tests needed, or just add them in this PR if you think they are relevant to this change.

Hi @tw-ayush , I am not sure how this change the behaviour to add the meeting in the right place. Care to explain?
Regarding adding tests, feel free to open a PR to add the tests needed, or just add them in this PR if you think they are relevant to this change.

hey apologies for the incorrect code earlier, this Issue has been a bit of a confusing pease of work for me.
Check if the changes are correct now.

The idea is good, but you need to somehow add the information in the StartMeetingFromAction structure. Probably the best place is to add the rootID to the context of the actions declared in "askMeetingType".

The idea is good, but you need to somehow add the information in the StartMeetingFromAction structure. Probably the best place is to add the rootID to the context of the actions declared in "askMeetingType".

I've added this change in the PR, do i also need to add this in request from someplace in the Repo ??

I'm not sure what you mean. Could you please elaborate?

I'm not sure what you mean. Could you please elaborate?

I've used the RootId from request context but haven't made any changes in the code base to add it there. Is there anyplace where i need to add this rootId in request data?

You would need to add the rootid in server/plugin.go, in the function askMeetingType, in the context of every action that needs it (I think all of them).

You would need to add the rootid in server/plugin.go, in the function askMeetingType, in the context of every action that needs it (I think all of them).

You would need to add the rootid in server/plugin.go, in the function askMeetingType, in the context of every action that needs it (I think all of them).

that's already been done in another ticket.

You would need to add the rootid in server/plugin.go, in the function askMeetingType, in the context of every action that needs it (I think all of them).

that's already been done in another ticket.

@tw-ayush Are you still working on this?

@tw-ayush Are you still working on this?

this was pending for merge.. Changes are there.
Or maybe i'm missing the context here..

@dipak-demansol Could you please review this PR?


net: ban obsolete nodes

Related to https://github.com/NAVCoin/navcoin-core/issues/166
This patch bans nodes with obsolete versions instead of keeping the socket open.
Issue was solved in my own environment.
Testing and confirmation in other systems required.

https://github.com/NAVCoin/navcoin-core/blob/master/src/main.cpp#L1942
Missbehaving() does log

Cool. How should we test this? Download the latest 4.1.2 build and run it to see if it bans older nodes?
How do we define an obsolete version?

a node with protocol version < 70017 will be considered obsolete
70020 will be min. protocol version when cfund becomes active
important to test if a clean install of the wallet is able to sync with mainnet

testing now...


Delete a folder from the explorer pane doesn't work

VSCode Version: 1.4.0
OS Version: Windows Server 2008 R2

Steps to Reproduce:

Right-click on a folder that contains one or more files and folders, and select 'Delete'
(You'll be prompted to move to recycle bin)
Click 'Move to recycle bin'
(Notice that the folder doesn't show up in the explorer anymore)
Click the refresh button

Observed:

The folder comes back, it was never moved to the recycle bin

Note: Deleting a single file works, but deleting a folder doesn't.
After looking more into it... it seems that if there is a problem deleting the folder (due to permissions), VSCode doesn't let the user know, so the problem is about reporting a problem deleting a file/folder.

@jeromu I assume you are using TypeScript?

No, I'm using purely all Javascript (ES6), but I do have a 'typings' directory, since that seemed to improve the auto-completion of not only typescript files, but also javascript files.

This is still a problem with the tsserver since it is used for JS files as well. The issue in TS land is: https://github.com/Microsoft/TypeScript/issues/7762

@dbaeumer,
I would like to propose reopening this one because the core problem is the lack of a warning that a folder is locked for deletion and the disappearance of the (not actually deleted) folder from the vscode Explorer tree, not that there is a common scenario (tsserver) that causes folders to be incorrectly locked.
I came to this issue because I noticed certain files in my build folder that weren't supposed to be there anymore. I though, well, if I delete the whole build folder and run my build process again, the files will disappear. I tried this, and it didn't work. I scoured my project looking for any reference to these ghost files, but I couldn't find any. After killing half an hour or so on this, it finally occurred to me to hit refresh after deleting the build folder. This is when I realized the build folder only looked like it was being deleted but actually wasn't. I then viewed the folder in Windows explorer and tried deleting it from there. This time, I got a proper warning and was able to diagnose that one of the files was open in another application. Had vscode given me the same warning and not hidden the folder, I would have saved a lot of time and aggravation.

@bpasero please see @devuxer comment.


Switch BigQuery queries from using old vacancies table to vacancy table

Jira ticket URL:
https://dfedigital.atlassian.net/browse/TEVA-458
Changes in this PR:
The production dataset in BigQuery used to contain a vacancies table which was written to via the BigQuery API. Now we export all tables, including 'vacancy', into Google Cloud Storage as CSVs and then import them into BigQuery that way. This PR moves SQL queries in BigQuery across from using the old vacancies table to using the new vacancy table in BigQuery to allow the code writing to the vacancies table to be removed in future.

I've just rebased this against develop and force-pushed the update to get the CI fixes in and the tests passing.


Shallow clone using git to build images.

This will make the cloning way faster by downloading only the most recent commit in the repo's history, rather than downloading the whole history.
Signed-off-by: David Calavera<EMAIL_ADDRESS>

Oh, that's interesting!
There are a few tests failing:
--- FAIL: TestBuildApiLowerDockerfile (0.06s)
	docker_api_containers_test.go:434: Build failed: received status != 200 OK: 500 Internal Server Error
		"Error trying to use git: exit status 128 (Cloning into '/var/lib/docker/tmp/docker-build-git250078911'...\nfatal: dumb http transport does not support --depth\n)\n"
--- FAIL: TestBuildApiBuildGitWithF (0.05s)
	docker_api_containers_test.go:465: Build failed: received status != 200 OK: 500 Internal Server Error
		"Error trying to use git: exit status 128 (Cloning into '/var/lib/docker/tmp/docker-build-git346876690'...\nfatal: dumb http transport does not support --depth\n)\n"
--- FAIL: TestBuildApiDoubleDockerfile (0.04s)
	docker_api_containers_test.go:496: Build failed: received status != 200 OK: 500 Internal Server Error

Other than that:

I think it requires design review as it might be breaking some (weird) use cases
I'm +1 as long as it's properly documented, because I'd be surprised people rely today on getting the whole history.

As far as I know, there is no way to hijack the build process to manipulate the repo, is there? there are high chances that I'm mistaken :smile:

@calavera Well, it's the context, so technically you can!
$ docker build -t foo https://github.com/icecrime/PoC_-12502.git
[...]
 I'm going to close this PR, it might cause more trouble than good.

@calavera users desiring what @icecrime demonstrated could simply do a 'git fetch' to pull the rest of their history. I think that's more reasonable than having everyone do a deep pull.

@ewindisch I think I agree with you, but I'm not sure how to keep this change backwards compatible, or if  we event want to. I can restore the branch and open it again for further discussion if people really want this behavior.

I don't think the current behavior is so common a use-case that the workaround won't be sufficient. Of course, we can have that conversation with anyone that might deem to protest the change!

Okay, reopened for further discussion. Now I "just" need to figure out how to hook git's smart http protocol in those tests that fail :grimacing:

@icecrime, @ewindisch I ended up adding a check to make sure old git http transports still work, although there should not be infrastructure out there using it. It's easier to keep our integration tests using dumb git http than trying to migrate to the smart protocol.

I've added some tests to make sure we still send the right arguments. Let me know what you think.

LGTM

I'm +1 for this

+1 here too -- if someone needs more explicit control over how the repo is
cloned, they should clone it directly instead of letting Docker clone it
for them IMO :+1:

LGTM

I'm pushing this to 3-needs-docs-review because I'm pretty sure there is some documentation impact.

@icecrime, @LK4D4 do you mind to review the code again? #12670 made me realize that the logic is duplicated between daemon and client. I've extracted it to a utils function.

LGTM

@moxiegirl I've fixed the documentation, thanks for your corrections!

LGTM


Top result not working properly with mature content setting

Have mature content on

was fixed in https://github.com/lbryio/lbry-desktop/pull/5388

was fixed in https://github.com/lbryio/lbry-desktop/pull/5388


Adding a first draft of the JSON creation of widget, via WidgetCanvas

There is a list of documentation error you need to fix before merging this PullRequest :

Sparkle/src/widget/spk_widget_canvas.hpp:28
Compound spk::WidgetCanvas is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:39
Compound spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/math/spk_vector2.hpp:91
Member IVector2(const spk::JSON::Object &p_object) (function) of interface spk::IVector2 is not documented.

Sparkle/src/math/spk_vector3.hpp:90
Member IVector3(const spk::JSON::Object &p_object) (function) of interface spk::IVector3 is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:31
Member Instanciator (typedef) of class spk::WidgetCanvas is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:85
Member WidgetCanvas(const std::filesystem::path &p_canvasFilePath, Widget *p_parent=nullptr) (function) of class spk::WidgetCanvas is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:86
Member WidgetCanvas(const std::string &p_name, const std::filesystem::path &p_canvasFilePath, Widget *p_parent=nullptr) (function) of class spk::WidgetCanvas is not documented.

Sparkle/src/widget/spk_widget.hpp:207
Member findChild(const std::string &p_name) (function) of class spk::Widget is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:32
Member classInstanciatorLambda (variable) of class spk::WidgetCanvas is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:42
Member Type (enumeration) of struct spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:59
Member Value(const spk::JSON::Object &p_object) (function) of struct spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:53
Member active (variable) of struct spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:54
Member type (variable) of struct spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:55
Member value (variable) of struct spk::WidgetCanvas::Geometry::Value is not documented.

Sparkle/src/widget/spk_widget_canvas.hpp:56
Member formulaValue (variable) of struct spk::WidgetCanvas::Geometry::Value is not documented.


Electron 141: fix on url validation issue on installer

Problem
During the installation, there is no validation currently done on the pod url which is leading to bad installations leading to users having to manually change the pod url in the global config file.
Solution Approach
On mac, we have events to listen on and add validations and let the user continue / not continue to the next screen in the InstallerPanel. And, that is implemented as per the below screenshot.

On windows, we don't have any such events to listen on a text box, so, we've had to use the "Next" button to perform the validation and show another screen for verification purpose and perform the validation there by disabling the "Install" button as per the below screenshot.

@VikasShashidhar @lneir Please review.

LGTM 👍

@lneir I've removed the dll dependency as I was finally able to get it working with JScript in AIP.
This should be good to go now. Please review.
CC: @VikasShashidhar @KiranNiranjan


feat: added hover animation

Description
Added hover animation to the cards in the "Why we need this" section
Fixes #308
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change)

How Has This Been Tested?
When go to "Why we need this" section we can see the cards showing hover animation
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

@Anshgrover23 fixed the check failing. Kindly check once.


Interactive window creation fails after a restored one for the same document was closed

repro steps

set "interactiveWindow.restore": true
run a cell from a .py file to create an interactive window
reload VScode
close the restored IW
run a cell from that same file
:bug: creation fails sometimes:

Actually, whether or not you close the previous window, running a cell from a .py file will fail with that error message

@amunger you wanna take a look at how it fails (with the content provider for interactive)?


Use BigDecimal instead of usize for count

Every field dealing with a number of counting something like events should be represented as BigDecimal.

I don't think this is a good idea. Structured makes use of many low-level techniques for memory efficiency and processing speed. Using BigDecimal instead of a primitive type with a known size, e.g., f64, would force structured to replace many of those techniques, and thus require more memory and more CPU time.
If an application needs to use, BigDecimal, I recommend that it keep Structured's data structure (Table or Array) as much as possible, and convert values to BigDecimalonly when BigDecimal must be used.

Got it.


Does not load object list if app.json contains applicationInsightsKey

Receiving following error message:
An error occured in ALPanel.update() method. Details: \app.json: Unexpected token   in JSON at position 1384

AL Object Designer extension version 0.2.3 and 0.2.4


Find choco msys mingw

4c835c4 introduced an effort to find mingw if installed as part of the msys2 chocolatey package. Unfortunately that change worked only for one specific user (me) who had set environment variable %ChocolateyToolsLocation% to a prefix in that path. Instead, reference the environment variable to try to find it. Usually we don't like environment variables, but this one actually makes the lookup less system-specific, as it extracts the best possible guess where chocolatey has put the files on that system (it has a default value, so is unlikely to ever be unset).
Also moved the CHANGES.txt entry matching the referenced change, that had gotten merged listed under an earlier release (submission of that PR had been before 4.5 went out)
Contributor Checklist:

[ ] I have created a new test or updated the unit tests to cover the new/changed functionality.
[X] I have updated CHANGES.txt (and read the README.rst)
[ ] I have updated the appropriate documentation

RELEASE.txt please. ;)

@mwichmann Should the ChocolateyToolsLocation addition for mingw be added for vswhere in vc.py as well?
Current SCons\Tool\MSCommom\vc.py:
VSWHERE_PATHS = [os.path.join(p,'vswhere.exe') for p in [
    os.path.expandvars(r"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"),
    os.path.expandvars(r"%ProgramFiles%\Microsoft Visual Studio\Installer"),
    os.path.expandvars(r"%ChocolateyInstall%\bin"),
]]

Full disclosure: I'm not a Chocolatey user and know nothing about the installation options.

I'd like to keep things aligned where it makes sense (we seem to have two diverging sets of mingw paths), but nothing is needed here.  Choco packages are a variety of different things, but the driving piece is a nupgk (from Nuget, Chocolatey being a bit of a joke on Nuget as in Nougat).  That package could be a complete installer, but often isn't - and it may just be information to drive a normal install, which is what happens if you try to install Visual Studio or Build Tools, or vswhere, through choco: it handles downloading the correct bundles and invoking them the right way and collecting any feedback from the installation.  They may put what are essentially links into a common place - that's why a Chocolately install of vswhere leaves something in C:\ProgramData\chocolatey\bin (or other if the user chose to change %ChocolateyInstall%: since that path is guaranteed to be in your PATH if you've installed Chocolatey at all.  The msys problem was because the bulk of msys goes to a different path, driven by%ChocolateyToolsLocation% - that's not used by the vswhere installation.
Clear as mud, I'm sure.


Marker animation is removed when you zoom in or out

Hi!
As you can see in the video, the marker animation (bounce animation in this case) is removed once you zoom in or out. After I zoom in, markers that haven't been added to clusters lose their animation, meanwhile, the markers that get revealed from clusters have their animation, but once I zoom in again, they lose it too.
https://www.youtube.com/watch?v=n1S9Kx3UocI

@mikeartix Please add a code sample

@amuramoto here you go
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Demo</title>

Thanks for this! I think I've identified the issue. We switched to SuperCluster as the default renderer, which converts the markers to GeoJSON for its clustering algorithm then converts that back to Marker instances, so some of the marker options don't get carried across. Haven't yet determined if there's a good solution to this, but I'm looking into it.

Thanks for looking into it!


Changing platform specifier

When building/installing via setup.py, how should a user change the platform specifier, as used by build_pyd_embedded_exe()? My intention is to change the build directory name and the filename of the library being built, e.g. change
build/lib.linux-x86_64-3.7/hello.cpython-37m-x86_64-linux-gnu.so
to
build/lib/hello.cpython-37m.so
I tried editing the initializer options parameters in support.py but it doesn't seem to affect the filenames. Also I believe you can change them from the command line? If so, how?

After delving into the distutils source and better understanding how pyd subclasses distutils, I see that build_pyd_embedded_exe is not the class I meant to edit. I possibly need to subclass the 'install' Command and attach it to the arguments passed to base_setup() in support.py.


Add reprojection notebook

GitHub isn't letting me comment inline, so a few notes:

Change imports like from rasterio.crs import CRS as RioCRS to just import rasterio.crs and use the full name
Hide the <matplotlib.image.AxesImage at ...> output with a semicolon for plots
Hide the axes on the plots, or make the tick labels nicer if they're relevant.
The urls have SAS tokens in them. They expire quickly, but we still shouldn't have them in the notebook output (Out[7])
I think it's worth explicitly stating that these methods only work on datasets that fit in-memory on a single node.
https://corteva.github.io/rioxarray/stable/examples/reproject.html has a simpler example of rioxarray.open_rasterio(...).rio.reproject(...), as an alternative to the WarpedVRT. Is the motivation for using the WarpedVRT to keep the memory footprint down? I wonder if rioxarray.open_rasterio would benefit from a crs option, to do that in the background.

Thanks for the comments.

1, 2, 4, 5 are resolved.
3, the axes are relevant as they show coords of the DataArrays. Not sure how it would change at the moment.
6, the idea of using WarpedVRT and stackstac.reproject_array is to have reprojection work with Dask. But we already call .compute() before doing reprojection with stackstac.reproject_array though..

One thing that I think is worth explaining here. IIUC, there are four combinations of reprojection that we might consider. They differ by the input (file(s) from disk or a data structure) and the toolchain (rioxarray / rasterio / GDAL vs. stackstack). The 4 are

Reproject while loading with rioxarray / rasterio / GDAL using a WarpedVRT:

    with rasterio.open(url) as src:
        with rasterio.vrt.WarpedVRT(src, crs="EPSG:4326") as vrt:
            rds = rioxarray.open_rasterio(vrt)
            rds.sel(band=1).plot.imshow()

Reproject an in-memory DataArray (using something like .rio.reproject, .rio.reproject_match, rasterio.warp.reproject). Unlikely to ever work on a large distributed dataset

xds_lonlat = xds.rio.reproject("EPSG:4326")

Reproject while loading with stackstack

ds = stackstac.stac(items, epsg=epsg, resolution_xy=..., ...)

Reproject an in-memory array with stackstac.reproject_array (currently only works on a single-machine, would require some work to scale)

stackstac.reproject_array(arr, spec)

If the above sounds correct (does it?) then I think we should be able to answer the question "Which one is best?", or at least "Which one should I use when?".

If possible, it's preferable to do the reprojection while loading the data (so option 1 or 3). IIUC this will have a lower memory footprint, and works on large datasets today.
If you can't do the reprojection while reading (any example why you wouldn't be able to?) then how would you choose between 2 and 4? Just toolchain preference (you're used to GDAL, etc.)?

https://nbviewer.jupyter.org/gist/TomAugspurger/9c55691894395f7140249f99b0f05e5f has a notebook exploring options 3 and 4 (stackstac). That links to a neat notebook from Caleb showing a workflow using option 1 (WarpedVRT) with NAIP and NLCD: https://github.com/microsoft/ai4eutils/blob/master/geospatial/notebooks/Example - Reproject NLCD to NAIP tile boundaries.ipynb

Your idea made the story much more seamless and clear, really appreciate it. I've updated the notebook accordingly and we'll release a new version of xarray-spatial to update true_color function so that user can tune some params to change the contrast and brightness of output image.

Thanks for the update. I realized after posting https://github.com/microsoft/PlanetaryComputerExamples/pull/24#issuecomment-866933726 that stackstac does use GDAL. So the two axes to differentiate along are

Data source (in-memory vs. while reading from storage). Prefer reprojecting while reading if possible.
Scale (single-cog vs. many cogs). Use stackstac if you're working with a large, distributed dataset.

Actually... there's a third component: whether or not you have STAC items available. If you don't have STAC items, then stackstac isn't an option.
I've pushed an update reflecting that if you could take a look. I add to remove the th argument to one of the true_color calls, it wasn't available on xrspatial main. I suspect we'll use the same arguments for all the plots once they're available?

I think reprojecting an in-memory array with stackstac.reproject_array does not use GDAL as stated in its docstring. Only while-loading reprojection uses GDAL I believe.

Ah, you're correct. Thanks for catching that.

Thanks all, looks great!


Not a class error for generated constructor in nested class when using ECJ (and lombok)

See this reproducer: code-with-quarkus.zip
Run ./mvnw -e clean package
[ERROR] Failed to execute goal io.smallrye:jandex-maven-plugin:3.0.1:jandex (make-index) on project code-with-quarkus: Not a class -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.smallrye:jandex-maven-plugin:3.0.1:jandex (make-index) on project code-with-quarkus: Not a class
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)
    ...
Caused by: java.lang.IllegalArgumentException: Not a class
    at org.jboss.jandex.MethodInfo.asClass (MethodInfo.java:609)
    at org.jboss.jandex.Indexer.rebuildNestedType (Indexer.java:1418)
    at org.jboss.jandex.Indexer.resolveTypePath (Indexer.java:1244)
    at org.jboss.jandex.Indexer.resolveTypeAnnotation (Indexer.java:1113)
    at org.jboss.jandex.Indexer.resolveTypeAnnotations (Indexer.java:950)
    at org.jboss.jandex.Indexer.indexWithSummary (Indexer.java:2323)
    at org.jboss.jandex.maven.JandexGoal.indexDirectory (JandexGoal.java:191)
    at org.jboss.jandex.maven.JandexGoal.execute (JandexGoal.java:158)
    ...

(looking at the code involved, it's a bit funny that Indexer was about to throw an exception anyway)
I debugged a bit and it seems it stumbles upon the constructor of AfterCommittedSynchronization (see @RequiredArgsConstructor).
The generated constructor receives @SuppressFBWarnings(justification = "generated code") via lombok.
Context
I'm running the "old" jboss jandex plugin 1.2.3 just fine in a Quarkus 2.13.3.Final project.
Now that Quarkus 2.14.0.Final is available and is using Jandex 3.0.1, it was time to me to switch to the new coordinates and update.
That's when I ran into this issue. This AsyncEventSender is 1:1 from my actual project.
I wasn't able to reproduce this error with vanilla compiler setup, I had to use ECJ (eclipse compiler) instead!
I guess lombok is not even required to provoke this error, but I wanted to keep closer to my real-world setup.
If required, I can try to kick lombok out of the reproducer.

One more note: This is with ECJ 3.30.0 (transitive dep of plexus-compiler-eclipse:2.12.1), but latest 3.31.0 doesn't make a difference.

Type annotations are tricky, so thanks for providing a reproducer. I should have time to look at it next week.

So here's a minimal reproducer:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>jandex-repro</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <maven.compiler.release>17</maven.compiler.release>

        <version.jandex>3.0.1</version.jandex>
        <version.maven-compiler-plugin>3.10.1</version.maven-compiler-plugin>
        <version.plexus-compiler>2.12.1</version.plexus-compiler>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${version.maven-compiler-plugin}</version>
                <configuration>
                    <compilerId>eclipse</compilerId>
                    <compilerArgs>
                        <arg>-parameters</arg>
                    </compilerArgs>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-compiler-api</artifactId>
                        <version>${version.plexus-compiler}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-compiler-eclipse</artifactId>
                        <version>${version.plexus-compiler}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-compiler-manager</artifactId>
                        <version>${version.plexus-compiler}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>io.smallrye</groupId>
                <artifactId>jandex-maven-plugin</artifactId>
                <version>${version.jandex}</version>
                <executions>
                    <execution>
                        <id>make-index</id>
                        <goals>
                            <goal>jandex</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

package com.example;

@interface MyAnnotation {
}

public class TopLevelClass {
    private class InnerClass {
        @MyAnnotation
        public InnerClass() {
        }
    }
}

I added a little bit of debugging info and the exception indeed points to the InnerClass constructor.
Interesting observation: if I comment out <maven.compiler.release>17</maven.compiler.release>, it works fine.
The reproducer is so simple I'd very much expect existing tests to catch the problem. There are CI runs with ECJ, except they seem to target very old Java bytecode. Changing maven.compiler.release to 8 still reproduces the problem, while removing it seems to produce class files with version 51.0 (= Java 1.7). Interestingly, it is Java 1.8 where type annotations were introduced. So in addition to type annotation parsing issue, CI needs to be fixed too.

Actually here's the truly minimal reproducer:
@Target(ElementType.TYPE_USE)
@interface MyAnnotation {
}

public class TopLevelClass {
    private class InnerClass {
        @MyAnnotation
        public InnerClass() {
        }
    }
}

This causes indexing failure even with stock javac. The reason why the original reproducer only fails with ECJ is that ECJ is buggy -- it treats a non-type annotation as a type annotation. If the annotation is explicitly made a type annotation, the indexing problem persists -- and that is because the type annotation is present on type TopLevelClass.@MyAnnotation InnerClass, but Jandex uses void as the constructor type.

Oh wow, so I "found" a real gem here. :wink:

Indeed you did :-) Fortunately, the really tricky methods all work fine once supplied with a synthetic ClassType instead of VoidType, so both 2 and 3 are just a few lines of arranging the correct constructor return type.

I'm looking at the details again and a type annotation may have a non-empty path in 3 cases:

in an array type, a component of the array may be annotated;
in a parameterized type, a type argument or a bound of a wildcard bound may be annotated;
in a nested type, several components of the name may be annotated.

In case of constructors, the type of the constructor is always the type of the declaring class, so cases 1 and 2 do not apply. Further, even if the declaring class is nested, the outer components of the class name cannot be denoted [in the constructor name], so case 3 always collapses to a type annotation on "the type itself". So option 2 above actually doesn't lose any information and we can safely put the type annotations on the VoidType.
Will submit a PR shortly.

Done. I will release 3.0.2 tomorrow, unless something proves horribly broken.

@Ladicek cool, thanks! Is suppose Quarkus also needs this update, not just the Maven plugin?

I believe if you index the JAR with Jandex 3.0.2 (once I'm able to release it...), you should be able to use it with Quarkus 2.14. But I'll update Quarkus to Jandex 3.0.2 anyway, and probably even propose a backport to 2.14.x.

Yeah, success finally! :-) Jandex 3.0.2 is in Central now.


Jamie/10-filters-ngrx-conversion

:nut_and_bolt: Description: What code changed, and why?
The Global Projects Dropdown filter was built using a two way binding, ngModel pattern, however we would prefer a one way binding, ngrx pattern.  This branch modifies the Global project filter dropdown to use a one way binding ngrx pattern.
:chains: Related Resources
https://github.com/chef/automate/pull/2671
:+1: Definition of Done
ngModel is gone from the global project dropdown and and ngrx pattern takes its place
:athletic_shoe: How to Build and Test the Change
To build:

build components/automate-ui-devproxy && start_all_services
make serve

To test:

if you do not have projects, go to https://a2-dev.test/settings/projects and create several projects
Click on the top right dropdown that will read something like "All Projects"
In the dropdown, type some letters and watch your projects filter.

:white_check_mark: Checklist

[x] I have read the CONTRIBUTING document.
[x] Tests added/updated?
[ ] Docs added/updated?
[x] All commits have been signed-off for the Developer Certification of Origin.

:camera: Screenshots, if applicable

Couple comments below.
But as I thought about it, do we actually need the ngrx added here?
If you just delete the ngModel entirely and do not reset the field to empty upon escape--the only place it was trying to send data back--doesn't that work with the original code? 🤔

I'm not sure why I didn't catch that in the first place... I just opened a new PR here (https://github.com/chef/automate/pull/2779)  and will close this one based on whether or not you agree.  Seems way simpler to not have ngrx or ngModel....

Agreed; go ahead and close this one. ✔

Closed in favor of https://github.com/chef/automate/pull/2779


CMake Error: The source directory ".../KaHIP/build" does not appear to contain CMakeLists.txt

Hi,
After the recent commit 3f7071e4e update the compile_withcmake.sh fails with the mentioned error.
The error happens when the "ADDITIONAL_ARGS" is empty (no option specified via $1 to the script).
./compile_withcmake.sh
which is the same as
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release ""

no error in case
./compile_withcmake.sh BUILDPYTHONMODULE
The previous(below) version where the -B and -S were specified works without any issue.
mkdir build
cmake -B build/ -S . -DCMAKE_BUILD_TYPE=Release ""

cmake version 3.22.0

Sorry! That really shouldn't have happened.
Does it work for you now?
I will setup a Github runner to prevent this kind of mistakes in the future.

Yes, it works. Thanks for quick response & fix.


Update README.md to include Deeper Integration fish instructions

Fixes https://github.com/nvm-sh/nvm/issues/2203

crap, this wasn't supposed to happen :-/

@jaredramirez sorry about this; would you mind opening up a new PR with this change? I tried to automate npm run doctoc for you, and it seems to have messed up the PR :-)

Sure thing

Done here: https://github.com/nvm-sh/nvm/compare/master...jaredramirez:patch-2


Variable isn't countable

https://github.com/FaaPz/Slim-PDO/blob/d6c82ddc50480f58404647f79ec60d2459ccc078/src/PDO/Statement/StatementContainer.php#L514
I sometimes get an error from this line, because $value isn't a countable variable. I changed it to 1 for now to get around it.
The error is:
PHP Warning:  sizeof(): Parameter must be an array or an object that implements Countable in /Users/stevevance/Sites/Chicago Cityscape/vendor/slim/pdo/src/PDO/Statement/StatementContainer.php on line 514

My query looks like this:
$fields = [
			"pin",
			"city",
			"address",
			"township",
			"property_description_16 AS property_description",
			"property_class_16 AS property_class",
			"property_class_15 AS property_class_15",
			"property_description_15 AS property_description_15",
			"ST_AsGeoJSON(ST_Transform(ST_ForceRHR(geom), 4326), 5) AS geojson"
		];
$statement = $pdo->select($fields)
							->from("property_parcels_table")
							->whereIn('pin', $this->pins);

This error for all "->whereIn"

Not dead, 1.x maybe dead.

This was just fixed in #117


0.4.0 lm-evaluation-harness

Hi!
Your benchmarks are functioning well with version 0.3.0 of lm-evaluation-harness. Are there any plans to update and support version 0.4.0?

Yes, there are! :) stay tuned!

Do you have any particular expectations for improvements with the upgrade to the 0.4.0+ backend?

@LSinev Hi,
Looks like vllm engine which supported in 0.4.0 works faster than hf engine

will give more information next week, or may be even branch for playing/testing work in progress

new_harness_codebase — "work in progress" branch with submoduled patched (waiting for PR to be merged) lm-evaluation-harness.
All scores will change. Leaderboard will not publish these yet, but you can use for private scoring. Baseline models scoring should be done by you. Changes to model running code (lm-evaluation-harness side) should be done at their repository to be supported here.

Hi @LSinev,
I noticed that the tasks from the 0.4.x branch of the lm-evaluation-harness repository do not include the MERA tasks. I checked the link you provided here, and it seems they are indeed missing.
Could you please confirm if the MERA tasks will be added to this branch, or if there is another location where they might be available?
Thanks!

I checked the link you provided here, a

This link goes to fork of lm-evaluation-harness. In this fork there is a code needed for RuTiE task, which is PRed in lm-evaluation-harness, but not yet approved and merged.
There is no plans yet to submit MERA tasks directly into lm-evaluation-harness.
new_harness_codebase is using 0.4.x code, but tasks are not in fully yaml format yet (will be, but not yet, just like, for example, SQUADv2 task in lm-evaluation-harness). MERA tasks are stored in https://github.com/ai-forever/MERA/tree/update/new_harness_codebase/benchmark_tasks as new code allows to use tasks from external directory.


[Cosmos] Consider replacing runtime dependency "debug" with "@azure/logger"

In Track 2, most packages changed from using debug to @azure/logger for runtime logging.  Should @azure/cosmos do the same?

cc @bterlson

Steve and I chatted about this some time ago, I think there's an uber issue someplace tracking this. Yes, cosmos should switch, but it's not as easy as just swapping the dependency. Cosmos is doing a similar-but-different thing layering on top of debug and it would be a breaking change to adopt @azure/logger. Hopefully we can do this as part of the next major update.

Thanks @bterlson
@mikeharder I would recommend closing this issue. In the next major update for cosmos, we will anyway be making an inventory of things to change to bring it closer to Track 2. The logger would be taken care of then


More flexible handling of java version

Allow the java version used to be specified as a command line flag.  Addresses issue #1038; may make PR #1050 obsolete.
With this change, you can use --openjdk_version=8 to specify java 8 when running with ubuntu1604.

LGTM


Cache Views in DOM

when the Discover and UserPage views are navigated away from, instead of removing the views, keep them in memory for a limited time
a method of saving UserPage views by ID will need to be added, so more than one can be held in memory
if the Discover or UserPage view is loaded again, and the limited time has not expired, show the existing view instead of loading data and re-rendering it (for the UserPage, only if the ID is the same)
this is an experimental issue, it should be prototyped first to see if this approach is feasible

i'm on it.


cups-filters: 1.25.6 -> 1.25.11

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/cups-filters/versions.
meta.description for cups-filters is: '"Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"'.
meta.homepage for cups-filters is: '"http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.25.11 with grep in /nix/store/7kvlsjkhf27c16l4brg17jnyms5gy4lz-cups-filters-1.25.11

directory tree listing: https://gist.github.com/a57e17ac5ffb6013aa8f5004920ff86c

du listing: https://gist.github.com/fbf6365932f1de937faf4b6e81b57ab0

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
cups-filters
splix
system-config-printer

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7kvlsjkhf27c16l4brg17jnyms5gy4lz-cups-filters-1.25.11 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A cups-filters https://github.com/r-ryantm/nixpkgs/archive/ee3b5982696f86173109140996e9ce085b0bdaad.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7kvlsjkhf27c16l4brg17jnyms5gy4lz-cups-filters-1.25.11
ls -la /nix/store/7kvlsjkhf27c16l4brg17jnyms5gy4lz-cups-filters-1.25.11/bin

Can this be merged into release-19.09?  Upstream fixed several bugs which prevent network printers from working as intended in some cases.


HACS

Hi @pszafer,
Is it an idea to publish this component in HACS? (https://hacs.xyz/)
I think it makes your component more widely known and used.
Also it makes it a lot easier to do upgrades :)
Best regards, Stefan

I will try to do it next week if latest release is working for you all.

Should be finally added to HACS soon: https://github.com/hacs/default/pull/766

Should be finally added to HACS soon: https://github.com/hacs/default/pull/766


Heap buffer overflow in Log Flush

=================================================================
==106949==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000b480 at pc 0x7ffff6a0b0e6 bp 0x7fffeea6d440 sp 0x7fffeea6d430
READ of size 4 at 0x60200000b480 thread T4 ([LOG_FLUSH])
    #0 0x7ffff6a0b0e5 in EventNotify::signal() /root/trafficserver/src/tscore/EventNotify.cc:73
    #1 0x555555d49f08 in LogObject::_checkout_write(unsigned long*, unsigned long) /root/trafficserver/proxy/logging/LogObject.cc:409
    #2 0x555555a41a61 in LogObject::force_new_buffer() /root/trafficserver/proxy/logging/LogObject.h:250
    #3 0x555555d4cad6 in LogObject::check_buffer_expiration(long) /root/trafficserver/proxy/logging/LogObject.cc:762
    #4 0x555555d4f2cb in LogObjectManager::check_buffer_expiration(long) /root/trafficserver/proxy/logging/LogObject.cc:1067
    #5 0x555555ce714e in Log::periodic_tasks(long) /root/trafficserver/proxy/logging/Log.cc:234
    #6 0x555555cf1e8f in Log::flush_thread_main(void*) /root/trafficserver/proxy/logging/Log.cc:1356
    #7 0x555555cf3500 in LoggingFlushContinuation::mainEvent(int, void*) (/usr/local/trafficserver/bin/traffic_server+0x79f500)
    #8 0x5555559f6825 in Continuation::handleEvent(int, void*) /root/trafficserver/iocore/eventsystem/I_Continuation.h:190
    #9 0x5555560d75d7 in EThread::execute() /root/trafficserver/iocore/eventsystem/UnixEThread.cc:318
    #10 0x5555560d3c45 in spawn_thread_internal /root/trafficserver/iocore/eventsystem/Thread.cc:92
    #11 0x7ffff53116da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
    #12 0x7ffff44f788e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e)

0x60200000b480 is located 0 bytes to the right of 16-byte region [0x60200000b470,0x60200000b480)
allocated by thread T0 ([TS_MAIN]) here:
    #0 0x7ffff6ef9970 in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xef970)
    #1 0x555555cef90d in Log::create_threads() /root/trafficserver/proxy/logging/Log.cc:1023
    #2 0x555555cef633 in Log::init_when_enabled() /root/trafficserver/proxy/logging/Log.cc:1007
    #3 0x555555cef275 in Log::init(int) /root/trafficserver/proxy/logging/Log.cc:980
    #4 0x555555a64869 in main traffic_server/traffic_server.cc:1886
    #5 0x7ffff43f7b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)

Thread T4 ([LOG_FLUSH]) created by T0 ([TS_MAIN]) here:
    #0 0x7ffff6e54a8f in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x4aa8f)
    #1 0x5555560d34fd in ink_thread_create ../../include/tscore/ink_thread.h:159
    #2 0x5555560d3d75 in Thread::start(char const*, void*, unsigned long, std::function<void ()> const&) /root/trafficserver/iocore/eventsystem/Thread.cc:109
    #3 0x5555560dd5b6 in EventProcessor::spawn_thread(Continuation*, char const*, unsigned long) /root/trafficserver/iocore/eventsystem/UnixEventProcessor.cc:491
    #4 0x555555cefb62 in Log::create_threads() /root/trafficserver/proxy/logging/Log.cc:1049
    #5 0x555555cef633 in Log::init_when_enabled() /root/trafficserver/proxy/logging/Log.cc:1007
    #6 0x555555cef275 in Log::init(int) /root/trafficserver/proxy/logging/Log.cc:980
    #7 0x555555a64869 in main traffic_server/traffic_server.cc:1886
    #8 0x7ffff43f7b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)

SUMMARY: AddressSanitizer: heap-buffer-overflow /root/trafficserver/src/tscore/EventNotify.cc:73 in EventNotify::signal()

Thread 1 "traffic_server" hit Breakpoint 1, LogObject::LogObject (this=0x60e00000abc0, format=0x7fffffffb990, log_dir=0x604000041290 "/usr/local/trafficserver/var/log/trafficserver",
    basename=0x7fffffffc640 "squid", file_format=LOG_FILE_BINARY, header=0x7fffffffc5c0 "", rolling_enabled=Log::ROLL_ON_TIME_ONLY, flush_threads=86400, rolling_interval_sec=0, rolling_offset_hr=10,
    rolling_size_mb=0, auto_created=false) at LogObject.cc:91
91	LogObject::LogObject(const LogFormat *format, const char *log_dir, const char *basename, LogFileFormat file_format,

@randall Could you please have look with that. It seems the LogObject params are mismatched. and it might relate to https://github.com/apache/trafficserver/commit/82d564486e058ead160bfb8ad15e40b0507ff8aa.

@scw00 I think this fixes it https://github.com/apache/trafficserver/pull/5390

closes via #5390