Debian packaging: typo patch

Dear all, please accept this typo patch.
Best regards, Maxime
This is a matter in your clr directory of :
patch < file.patch

From: Maxime Chambonnet<EMAIL_ADDRESS>Date: Sat, 1 Jan 2022 22:28:54 +0100
Subject: ROC CLR typos

Forwarded: yes

---
 clr/device/device.cpp          | 2 +-
 clr/device/devprogram.cpp      | 4 ++--
 clr/device/devwavelimiter.cpp  | 4 ++--
 clr/device/rocm/rocprogram.cpp | 2 +-
 clr/device/rocm/rocvirtual.cpp | 4 ++--
 clr/os/os_posix.cpp            | 2 +-
 clr/platform/runtime.cpp       | 2 +-
 7 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/device/device.cpp b/device/device.cpp
index d651784..0176e6a 100644
--- a/device/device.cpp
+++ b/device/device.cpp
@@ -1098,7 +1098,7 @@ bool ClBinary::setElfOut(unsigned char eclass,
       delete elfOut_;
       elfOut_ = nullptr;
     }
-    LogError("Creating ouput ELF object failed");
+    LogError("Creating output ELF object failed");
     return false;
   }

diff --git a/device/devprogram.cpp b/device/devprogram.cpp
index 1514262..646b795 100644
--- a/device/devprogram.cpp
+++ b/device/devprogram.cpp
@@ -349,7 +349,7 @@ bool Program::linkLLVMBitcode(const amd_comgr_data_set_t inputs,
   amd_comgr_language_t langver;
   setLanguage(amdOptions->oVariables->CLStd, &langver);
   if (langver == AMD_COMGR_LANGUAGE_NONE) {
-    DevLogPrintfError("Cannot set Langauge version for %s \n",
+    DevLogPrintfError("Cannot set Language version for %s \n",
                       amdOptions->oVariables->CLStd);
     return false;
   }
@@ -407,7 +407,7 @@ bool Program::compileToLLVMBitcode(const amd_comgr_data_set_t compileInputs,
   amd_comgr_language_t langver;
   setLanguage(amdOptions->oVariables->CLStd, &langver);
   if (langver == AMD_COMGR_LANGUAGE_NONE) {
-    DevLogPrintfError("Cannot set Langauge version for %s \n",
+    DevLogPrintfError("Cannot set Language version for %s \n",
                       amdOptions->oVariables->CLStd);
     return false;
   }
diff --git a/device/devwavelimiter.cpp b/device/devwavelimiter.cpp
index 4180cfd..beec1bc 100644
--- a/device/devwavelimiter.cpp
+++ b/device/devwavelimiter.cpp
@@ -125,9 +125,9 @@ void WLAlgorithmSmooth::outputTrace() {
   traceStream_ << "[WaveLimiter] " << manager_->name() << " state=" << state_ <<
     " waves=" << waves_ << " bestWave=" << bestWave_ << " worstWave=" << worstWave_ << '\n';
   output(traceStream_, "\n adaptive measure = ", adpMeasure_);
-  output(traceStream_, "\n adaptive smaple count = ", adpSampleCnt_);
+  output(traceStream_, "\n adaptive sample count = ", adpSampleCnt_);
   output(traceStream_, "\n run measure = ", runMeasure_);
-  output(traceStream_, "\n run smaple count = ", runSampleCnt_);
+  output(traceStream_, "\n run sample count = ", runSampleCnt_);
   traceStream_ << "\n % time from the previous runs to the best wave: ";
   float min = static_cast<float>(adpMeasure_[bestWave_]) / adpSampleCnt_[bestWave_];
   for (uint i = 0; i < (MaxWave + 1); ++i) {
diff --git a/device/rocm/rocprogram.cpp b/device/rocm/rocprogram.cpp
index 32aed3d..dda17e0 100644
--- a/device/rocm/rocprogram.cpp
+++ b/device/rocm/rocprogram.cpp
@@ -250,7 +250,7 @@ bool LightningProgram::saveBinaryAndSetType(type_t type, void* rawBinary, size_t
   }
   else {  // handle LLVM binary
     if (llvmBinary_.empty()) {
-      buildLog_ += "ERROR: Tried to save emtpy LLVM binary \n";
+      buildLog_ += "ERROR: Tried to save empty LLVM binary \n";
       return false;
     }
     rawBinary = (void*)llvmBinary_.data();
diff --git a/device/rocm/rocvirtual.cpp b/device/rocm/rocvirtual.cpp
index 93d9155..efd8a41 100644
--- a/device/rocm/rocvirtual.cpp
+++ b/device/rocm/rocvirtual.cpp
@@ -395,10 +395,10 @@ hsa_signal_t VirtualGPU::HwQueueTracker::ActiveSignal(
         signal_list_[current_id_]->release();
         signal_list_[current_id_] = signal.release();
       } else {
-        assert(!"ProfilingSignal reallocaiton failed! Marker has a conflict with signal reuse!");
+        assert(!"ProfilingSignal reallocation failed! Marker has a conflict with signal reuse!");
       }
     } else {
-      assert(!"ProfilingSignal reallocaiton failed! Marker has a conflict with signal reuse!");
+      assert(!"ProfilingSignal reallocation failed! Marker has a conflict with signal reuse!");
     }
   }
   ProfilingSignal* prof_signal = signal_list_[current_id_];
diff --git a/os/os_posix.cpp b/os/os_posix.cpp
index 04b2f71..2befe14 100644
--- a/os/os_posix.cpp
+++ b/os/os_posix.cpp
@@ -372,7 +372,7 @@ const void* Os::createOsThread(amd::Thread* thread) {
   // We never plan the use join, so free the resources now.
   ::pthread_attr_setdetachstate(&threadAttr, PTHREAD_CREATE_DETACHED);
   if (!AMD_CPU_AFFINITY) {
-    ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Reseting CPU core affinities");
+    ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Resetting CPU core affinities");
     cpu_set_t cpuset;
     if (processorCount_ > 0) {
       CPU_ZERO(&cpuset);
diff --git a/platform/runtime.cpp b/platform/runtime.cpp
index 63dfa37..88fc666 100644
--- a/platform/runtime.cpp
+++ b/platform/runtime.cpp
@@ -74,7 +74,7 @@ bool Runtime::init() {
   if (!Flag::init() || !option::init() || !Device::init()
       // Agent initializes last
       || !Agent::init()) {
-    ClPrint(LOG_ERROR, LOG_INIT, "Runtime initilization failed");
+    ClPrint(LOG_ERROR, LOG_INIT, "Runtime initialization failed");
     return false;
   }

Thanks Maxime, I send this for internal review, it should get mirror back here shortly after it's reviewed.

I just merged this internally, I'm not sure how long it will take to mirror onto github :)

Hi, thanks for having applied Maxime's patch.  I could remove the corresponding debian patch while working on bumping hipcc to ROCm 5.2.3.  Note I caught the below typo in the meantime:
--- a/compiler/lib/utils/OPTIONS.def
+++ b/compiler/lib/utils/OPTIONS.def
@@ -319,7 +319,7 @@
         "I", NULL, \
         PP_I, \
         0, 0, 0, NULL, \
-        "Add directroy dir for header file search")
+        "Add directory dir for header file search")

 // -create-library
 OPTION(OT_BOOL, \

in hope this helps,
Have a nice day!  :)

Hi, thanks for having applied Maxime's patch. I could remove the corresponding debian patch while working on bumping hipcc to ROCm 5.2.3. Note I caught the below typo in the meantime:
--- a/compiler/lib/utils/OPTIONS.def
+++ b/compiler/lib/utils/OPTIONS.def
@@ -319,7 +319,7 @@
         "I", NULL, \
         PP_I, \
         0, 0, 0, NULL, \
-        "Add directroy dir for header file search")
+        "Add directory dir for header file search")

 // -create-library
 OPTION(OT_BOOL, \

in hope this helps, Have a nice day! :)

Thanks! I'll sent this patch for review.

FYI, this was merged internally, I expect it to be mirrored on here on the develop branch within the next few weeks.
I think they sync the develop branch when a new release comes out.


multiple protocol https: appended request.url in client.request

Not sure how to describe this issue since I've very new to using pyswagger.
When I run client.request multiple times, the first time it runs fine, each successive time an https: gets appended to the URL.
Here's a reproducible scenario and hopefully you can tell me where I'm going wrong
from pyswagger import SwaggerApp
from pyswagger.contrib.client.requests import Client
app = SwaggerApp._create_('https://esi.tech.ccp.is/latest/swagger.json')
client = Client() # No auth

market_order_operation = app.op['get_markets_region_id_orders'](
    region_id=10000002,
    type_id=34,
    order_type='all',
)

item_order = client.request(market_order_operation)

In [28]: item_order.status
Out[28]: 200
This runs fine.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Now just call the client.request again and an https: is appended to the URL
client.request(market_order_operation)

/usr/local/lib/python2.7/dist-packages/pyswagger-0.8.26-py2.7.egg/pyswagger/contrib/client/requests.pyc in request(self, req_and_resp, opt)
62         )
63         rq = self.__s.prepare_request(rq)
---> 64         rs = self.__s.send(rq, stream=True, **self.__send_opt)
65
66         resp.apply_with(
/usr/lib/python2.7/dist-packages/requests/sessions.pyc in send(self, request, **kwargs)
551
552         # Get the appropriate adapter to use
--> 553         adapter = self.get_adapter(url=request.url)
554
555         # Start time (approximately) of the request
/usr/lib/python2.7/dist-packages/requests/sessions.pyc in get_adapter(self, url)
596
597         # Nothing matches :-/
--> 598         raise InvalidSchema("No connection adapters were found for '%s'" % url)
599
600     def close(self):
InvalidSchema: No connection adapters were found for https:https://esi.tech.ccp.is/latest/markets/10000002/orders/?type_id=34&order_type=all&page=1&datasource=tranquility'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Now just call the client.request a 3rd time  https:https: is appended to the URL
client.request(market_order_operation)

InvalidSchema                             Traceback (most recent call last)
 in ()
----> 1 client.request(market_order_operation)
/usr/local/lib/python2.7/dist-packages/pyswagger-0.8.26-py2.7.egg/pyswagger/contrib/client/requests.pyc in request(self, req_and_resp, opt)
62         )
63         rq = self.__s.prepare_request(rq)
---> 64         rs = self.__s.send(rq, stream=True, **self.__send_opt)
65
66         resp.apply_with(
/usr/lib/python2.7/dist-packages/requests/sessions.pyc in send(self, request, **kwargs)
551
552         # Get the appropriate adapter to use
--> 553         adapter = self.get_adapter(url=request.url)
554
555         # Start time (approximately) of the request
/usr/lib/python2.7/dist-packages/requests/sessions.pyc in get_adapter(self, url)
596
597         # Nothing matches :-/
--> 598         raise InvalidSchema("No connection adapters were found for '%s'" % url)
599
600     def close(self):
InvalidSchema: No connection adapters were found for https:https:https://esi.tech.ccp.is/latest/markets/10000002/orders/?type_id=34&order_type=all&page=1&datasource=tranquility'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Each time you run client.request another https: gets appended

market_order_operation is actually (pyswagger.Request, pyswagger.Response), which is only for one-time usage. So based on current design, you need to call app.op'xxxxx' again to get another pair of (pyswagger.Request, pyswagger.Response) for next request.
To make it reusable, i need to add a "prepared" flag in pyswagger.Request, and reset what cached in pyswagger.Response.

Thank you for your quick response.  I really appreciate it.
I can confirm that recalling:
app.op['get_markets_region_id_orders'](
    region_id=10000002,
    type_id=34,
    order_type='all',
)

And recalling
client.request(market_order_operation)

Does work.  This is a nice work around and I would be nice to make it reusable
Thank you again.

This issue is fixed for all builtin clients and would be available in next release.


Always load fstartaclib

This commit makes it so that F* will always attempt to load fstartaclib. Currently it only tries to do that if the --load flag was given for some module.
The advantage of this is that native tactics in ulib will automatically run natively for users. Notably, typeclass resolution and the canonicalizers.
The code change is simple, but there is some changes to avoid a race condition in the build, F* where F* would attempt to load a partial cmxs file and hence explode.
1- Do not rebuild (and reinstall) the libraries multiple times
2- Install them atomically
Either of the two fixes the race, I think, but both are good to have.
I looked for a way to detect from within OCaml if a cmxs file partial, so we should skip trying to dynlink it, but couldn't find one.  It would be great to have that too.

I've measured about 0.2s and 10MB increased time/ram with this change per F* invocation, which I think is well worth it. Not even noticeable unless it's for prims or similar. Merging.


Request for Assistance with Parameter Tuning in Patchwork++ for Ground Segmentation in ROS1

Hi, Your work on Patchwork++ is outstanding, and I want to thank you very much for open-sourcing this project.
I tried using Patchwork++ in ROS1 to process data from two scenarios, but I found that it couldn't accurately segment the ground in slope scenario.
Can Patchwork++ handle these types of scenarios, and would it require parameter adjustments? I hope to get your assistance on this.
Could you please share some tips or experiences on tuning the parameters?
Scenario 1: An 80-line LiDAR (without intensity) with people, uphill slopes, and curbs (about 15 cm high), the robot moves forward in the negative Y-axis direction of the LiDAR.
Expected behavior: Points other than the curbs (those whose height is generally not lower than the curb) and all points of people should be identified as non-ground, while the uphill slopes should be identified as ground points. You can clearly see two straight lines (the curbs) along the sides of the road.
Below are my dataset and parameter file.
pointcloud topic is '/hesai/pandar_points', Fixed Frame is 'PandarSwift'
scenario_1.zip
This is a picture of the real scenario:

The test results are as follows:

Scenario 2: A 16-line LiDAR (with intensity) on a road with uphill and downhill slopes, and curbs (about 20 cm high), the robot moves forward in the positive X-axis direction of the LiDAR..
Expected behavior: Points other than the curbs (those whose height is generally not lower than the curb) should be identified as non-ground, and the uphill and downhill slopes should be identified as ground points. You should clearly see two straight lines (the curbs) along the sides of the road as you walk along.
Below are my dataset and parameter file.
pointcloud topic is '/velodyne_points', Fixed Frame is 'bigrobot2/vehicle_frame'
scenario_2.zip
The test results are as follows:

It seems they cannot handle curb scenarios even in the demo video and the pic in the paper.


add tasks to setup Stonith (fencing)

@alexsander-souza can we close this now that #108 and #109 have landed?


Fix Poppler with Qt >= 5.7

Motivation for this change
The build is broken.
Things done

[x] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Packages that depend on Qt >= 5.7 must build using the C++11 standard.

The Travis build timed out. Since this is essentially a new package (no passing builds), I'm content to commit without further testing.


Hold the Control key while clicking delete does not bypass confirmation

There is a tip on confirmation dialog about how to skip confirmation
Tip: Hold the Control key while clicking delete to bypass this confirmation

Holding control key does not bypass confirmation as mentioned in the message

To reproduce:

Open Dashboard -> Cluster -> Cluster Tools -> CIS Benchmark -> Install (for example)
Click trash can to uninstall CIS benchmark
There is a confirmation dialog with information how to skip it (by holding ctrl)
Click trash can (while holding ctrl)

Result: Dialog is not skipped when holding ctrl key and clicking trash
Tested on: master-head (c1151f6)
Tested browsers: Firefox 86.0.1, Chrome 91.0.4472.106

This is an issue with the generic PromptRemove modal for a resource. Either hide the message when the modal hasn't come from a standard list or implement the ctrl + click to skip concept everywhere this is used outside of lists

Works fine:
Tested by:

install cis-benchmark in dashboard DO infra provider cluster
go to installed apps
click delete button while holding ctrl - confirmation dialog is skipped
click delete button without ctrl - confirmation is displayed

Tested on:

rancher master-head (8073489)
google-chrome 91.0.4472.114


add osx ci build

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 99.594%

Files with Coverage Reduction
New Missed Lines
%

godal.go
3
99.46%

Totals

Change from base Build 985791385:
0.0%

Covered Lines:
2451

Relevant Lines:
2461

💛  - Coveralls


Resources.Load corrupts json data by adding extra symbols to null values

Tested versions

Reproducible on v4.2.1.stable.mono.official [b09f793f5]

System information
Godot v4.2.1.stable.mono - macOS 14.3.1 - Vulkan (Forward+) - integrated Apple M3 Max - Apple M3 Max (16 Threads)
Godot v4.2.1.stable.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; <IP_ADDRESS>29) - 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz (16 Threads)
Issue description
Godot.Json Resource corrupts the original json data by adding extra symbols like <> to null values.
Deserialization of a valid json with null values, which was loaded by Resources.Load<Json>(resPath) results in exception:
System.Text.Json.JsonException: '<' is an invalid start of a value.

The below serializers are unable to deserialize the json:

System.Text.Json.JsonSerializer
Newtonsoft.Json.JsonConvert

Reading with `Resources.Load fails:
var json = ResourceLoader.Load<Json>(resPath);
var sample2 = JsonSerializer.Deserialize<SampleModel[]>(json.Data.AsString());

The loaded json becomes corrupted:
[
    {
        "Id": 10,
        "Items": [
            "Item 1",
            "Item 2"
        ],
        "Sounds": [
            "Sound 1",
            "Sound 2"
        ]
    },
    {
        "Id": 11,
        "Items": <null>,
        "Sounds": <null>
    }
]

Reading with C# System.IO ok:
using var fs = File.OpenRead(ProjectSettings.GlobalizePath(resPath));
var sample1 = JsonSerializer.Deserialize<SampleModel[]>(fs);

Loaded json is valid, as the original file:
[
    {
        "Id": 10,
        "Items": [
            "Item 1",
            "Item 2"
        ],
        "Sounds": [
            "Sound 1",
            "Sound 2"
        ]
    },
    {
        "Id": 11,
        "Items": null,
        "Sounds": null
    }
]

Stumbled upon this while trying to embed json resources into the build. Because Json files are now treated as resources, there should be at least a property in the Godot.Json class to access the raw data of the original file without having those unexpected extra modifications from the Engine's side.
Steps to reproduce

Obtain a valid json file with array null values inside
Load the json using Resources.Load<Json>("res://data/sample.json")
Deserialize the loaded json contend at json.Data.AsString() with System.Text.Json.JsonSerializer.Deserialize()
Observe System.Text.Json.JsonException: '<' is an invalid start of a value. thrown

Minimal reproduction project (MRP)
JsonCorrupt.zip

You must use the JSON stringify API to get a valid JSON string. Data.AsString() just converts the variant (in this case a dictionary) to godot-native string syntax, which is similar but not compatible with JSON.
Also you might want to use FileAccess API to load the file as string directly, since right now you're doing a roundtrip from string -> godot JSON -> string -> C# JSON

The thing is that the json was produced by the above mentioned serializers in a tool separate from the engine with the default serialization options, don't see how Json.Stringify() helps here.
According to the Json spec null values are serialized as null, not <null> so null is valid for any mainstream consumer.
The workaround I use is indeed using FileAccess directly:
FileAccess.Open("res://data/sample.json", FileAccess.ModeFlags.Read);
var sample = JsonConvert.DeserializeObject<SampleModel[]>(json.GetAsText());

I think the purpose of Godot.Json (leastwise in C#) becomes a bit vague at this point. To me, the naming suggests that this is the right way to work with jsons and one would expect to have access to the original unmodified data by either .RawData or .ToString()

If you access the JSON.Data dictionary fields directly, you'll see they're parsed as null properly. It's just turning that into a string via Godot's Variant API that turns it to <null> since it was never the intent of that API to be used with JSON compatibility.
The purpose of importing JSON resource files is to retrieve fields directly, without any library interop (GDScript). I noticed a method to retrieve the original JSON string get_parsed_text but according to its docs, it needs a parameter in the parse method set, over which you have no control when using the resource loader.
But yeah either way, this is not a bug. Either it's a proposal to allow configuring that flag I mentioned, or you might just use FileAccess to get the file and handle it yourself.


WebView on Windows Server 2016

I am trying to run the WebView control based project on Window Server 2016 but i don't find any resource with Prerequisites for Windows Server 2016

The FAQs on the WebView page address this: Is WebViewControl available on Windows Server?
Short answer: using the WebView on Windows Server is not supported and that's why there aren't any resources for it.

Closing this issue now since the answer has been provided with the link.


add recruit management

Add job management for managers and admin, currently available for adding jobs (for candidates to choose in job applicance page).


Add SPM support

Swift Package Manager definition file
Tested as dependency in Xcode 11 beta

@dstranz thanks!
Maybe you want add info to Readme?

@ivanvorobei Added.


CreateMockVulkanContext() should become a test harness class

Proposal
Create a proper gTest-harness that creates and tears-down a ContextVK instead of calling CreateMockVulkanContext().
Background
In https://github.com/flutter/engine/pull/45654, I ran into test environment failures manifesting themselves as SIGABORTs:

After some debugging (h/t @cbracken), I found out the problem was that ~ContextVK() was being destroyed implicitly on the worker thread, which is not valid (you can't join yourself). You can observe this problem by adding a FML_DCHECK:
ResourceManagerVK::~ResourceManagerVK() {
+  FML_DCHECK(waiter_.get_id() != std::this_thread::get_id());
  Terminate();
  waiter_.join();
}

After further explanation from @jonahwilliams, as-per this amazing whiteboard drawing:

Whiteboard Drawing

... I found out the fix was manually shutting down the ContextVK to make sure the destructor works as intended:
TEST(CommandPoolRecyclerVKTest, GetsTheSameCommandPoolOnSameThread) {
  auto const context = CreateMockVulkanContext();

  auto const pool1 = context->GetCommandPoolRecycler()->Get();
  auto const pool2 = context->GetCommandPoolRecycler()->Get();

  // The two command pools should be the same.
  EXPECT_EQ(pool1.get(), pool2.get());

+  context->Shutdown();
}

The Playground does something similar:
void Playground::TeardownWindow() {
  if (context_) {
    context_->Shutdown();
  }
  context_.reset();
  renderer_.reset();
  impl_.reset();
}

@gaaclarke Wanted to see if you had thoughts about this before going ahead.

My first thought is that requiring a call to Shutdown() before destroying an object is the wrong design.  I'd have to play with it to see if we could tease that out.  We still want to be the ones that call MockVulkanContextBuilder().Build() because there is important setup happening there that you want to show up inside of your test.


onShouldQuit

Should return the cb's return value, currently:
https://github.com/parro-it/libui-node/blob/df1eefdd71d41356e9eaefc1d312d32c3739c861/src/Ui.cc#L6-L10
How it's used by libui (pseudocode):
if (uiShouldQuitCb())
	uiQuit();

We cannot let libui call uiQuit alone, because we have to call our stopLoop method instead (it call uiQuit after it had cleaned up other things).
So we can implement the same semantic, but always return 0.
Also, we'll have to implement this on JS side, because we also have to unpatch global timers functions.


Incorrect file opens in quick picker

Does this issue occur when all extensions are disabled?: Yes/No

When I utilize the quick picker, it opens the wrong file. In the video below, you can observe me opening modes/longitudinal/index.js, but instead of that, it leads to another file from modes/tmtv/index.js.
Version: 1.88.0 (Universal)
Commit: 5c3e652f63e798a5ac2f31ffd0d863669328dc4c
Date: 2024-04-03T13:28:18.899Z
Electron: 28.2.8
ElectronBuildId: 27744544
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Darwin arm64 22.6.0
MacOS 13.6.6 (22G630)
Steps to Reproduce:

Have some files that are similar in path
Open one, and see the other is opened

https://github.com/microsoft/vscode/assets/7490180/fda5cfa5-7724-468d-9f36-da1d1f309f6a

Hmm I can't repro this... can you please provide a minimum repro so I can get to the bottom of this?

It is indeed about a files with same file name, might be a mono repo related issue, I have lerna, here is my code base that this happens https://github.com/OHIF/Viewers/

This bug has been fixed in the latest release of VS Code Insiders!
@sedghi, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version 5ae5a741bdb676abb667fd4896dc2a40e313db3a of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!


Component to download data as excel

Hello,
Is there any in built component to get data from the database as excel file.

Hello and welcome to SQLPage !
The csv component allows you to download the data as CSV, which can be opened in excel (and other spreadsheet software).

We now also have a spreadsheet component: https://github.com/lovasoa/sqlpage-spreadsheet/


Please add phar files to each release

The last 2.x release to have one was 2.0.1.
It's not really clear which version of deployer.phar is linked from the deployer.org website. It would be good if each release had one so we could grab it from github.

Also perhaps have two links on the website. One to latest 3.x and one to latest 2.x

Now deployer.org has two links: one for beta http://deployer.org/beta/deployer.phar and one for stable: http://deployer.org/deployer.phar

Does GitHub has API for automatically upload files to releases?

The Stable Link is not working

A bug :beetle: Sorry. Now fixed.

np btw nice tool :+1:

Thanks! :beer:

The last 2.x release to have one was 2.0.5.  Currently the phar file are 2.0.2 version

This is mistake. Version is 2.0.5, need to fix version number.


testing: streaming output loses parallel subtest associations

Normal go test prints output like this for parallel subtests:
$ go test -run=Testdata/MIT
--- FAIL: TestTestdata (0.51s)
    --- FAIL: TestTestdata/MIT-0.t1 (0.00s)
        license_test.go:138: testdata/MIT-0.t1:1,3: diff -want +have:
            - 93.5%
            + 97.4%
            - MIT-0 100.0% 74,$
            + MIT-0 100.0% 26,$
    --- FAIL: TestTestdata/MIT-0.t2 (0.00s)
        license_test.go:138: testdata/MIT-0.t2:2,4: diff -want +have:
            - 100.0%
            + 0.0%
            - MIT-0 100.0% 0,$
    --- FAIL: TestTestdata/MIT.t3 (0.00s)
        license_test.go:138: testdata/MIT.t3:2,4: diff -want +have:
            - 100.0%
            + 0.0%
            - MIT 95.8% 0,$
    --- FAIL: TestTestdata/MIT-Header.t1 (0.00s)
        license_test.go:138: testdata/MIT-Header.t1:1,3: diff -want +have:
            - 86.9%
            + 0.0%
            - MIT-Header 100.0% 83,$
FAIL

My memory is that we made a change to try to print output earlier for -v, but this is completely breaking the output for parallel subtests. There is no obvious way to tell which test printed:
$ go test -v -run=Testdata/MIT
=== RUN   TestTestdata
=== RUN   TestTestdata/MIT-0.t1
=== PAUSE TestTestdata/MIT-0.t1
=== RUN   TestTestdata/MIT-0.t2
=== PAUSE TestTestdata/MIT-0.t2
=== RUN   TestTestdata/MIT-Header.t1
=== PAUSE TestTestdata/MIT-Header.t1
=== RUN   TestTestdata/MIT.t1
=== PAUSE TestTestdata/MIT.t1
=== RUN   TestTestdata/MIT.t2
=== PAUSE TestTestdata/MIT.t2
=== RUN   TestTestdata/MIT.t3
=== PAUSE TestTestdata/MIT.t3
=== CONT  TestTestdata/MIT-0.t1
=== CONT  TestTestdata/MIT.t1
=== CONT  TestTestdata/MIT-0.t2
=== CONT  TestTestdata/MIT.t3
=== CONT  TestTestdata/MIT.t2
=== CONT  TestTestdata/MIT-Header.t1
    TestTestdata/MIT-0.t1: license_test.go:138: testdata/MIT-0.t1:1,3: diff -want +have:
        - 93.5%
        + 97.4%
        - MIT-0 100.0% 74,$
        + MIT-0 100.0% 26,$
    TestTestdata/MIT-0.t2: license_test.go:138: testdata/MIT-0.t2:2,4: diff -want +have:
        - 100.0%
        + 0.0%
        - MIT-0 100.0% 0,$
    TestTestdata/MIT.t3: license_test.go:138: testdata/MIT.t3:2,4: diff -want +have:
        - 100.0%
        + 0.0%
        - MIT 95.8% 0,$
    TestTestdata/MIT-Header.t1: license_test.go:138: testdata/MIT-Header.t1:1,3: diff -want +have:
        - 86.9%
        + 0.0%
        - MIT-Header 100.0% 83,$
--- FAIL: TestTestdata (0.52s)
    --- FAIL: TestTestdata/MIT-0.t1 (0.00s)
    --- FAIL: TestTestdata/MIT-0.t2 (0.00s)
    --- PASS: TestTestdata/MIT.t1 (0.00s)
    --- PASS: TestTestdata/MIT.t2 (0.00s)
    --- FAIL: TestTestdata/MIT.t3 (0.00s)
    --- FAIL: TestTestdata/MIT-Header.t1 (0.00s)
FAIL

In this case, the subtest name happens to be echoed in the message, but that's because of a print in the test; the testing framework has failed at its job and omitted the information.
In contrast, here is Go 1.12:
$ go1.12 test -run=Testdata/MIT -v
=== RUN   TestTestdata
=== RUN   TestTestdata/MIT-0.t1
=== PAUSE TestTestdata/MIT-0.t1
=== RUN   TestTestdata/MIT-0.t2
=== PAUSE TestTestdata/MIT-0.t2
=== RUN   TestTestdata/MIT-Header.t1
=== PAUSE TestTestdata/MIT-Header.t1
=== RUN   TestTestdata/MIT.t1
=== PAUSE TestTestdata/MIT.t1
=== RUN   TestTestdata/MIT.t2
=== PAUSE TestTestdata/MIT.t2
=== RUN   TestTestdata/MIT.t3
=== PAUSE TestTestdata/MIT.t3
=== CONT  TestTestdata/MIT-0.t1
=== CONT  TestTestdata/MIT.t1
=== CONT  TestTestdata/MIT.t2
=== CONT  TestTestdata/MIT-Header.t1
=== CONT  TestTestdata/MIT-0.t2
=== CONT  TestTestdata/MIT.t3
--- FAIL: TestTestdata (0.57s)
    --- PASS: TestTestdata/MIT.t1 (0.00s)
    --- FAIL: TestTestdata/MIT-0.t1 (0.00s)
        license_test.go:138: testdata/MIT-0.t1:1,3: diff -want +have:
            - 93.5%
            + 97.4%
            - MIT-0 100.0% 74,$
            + MIT-0 100.0% 26,$
    --- PASS: TestTestdata/MIT.t2 (0.00s)
    --- FAIL: TestTestdata/MIT-Header.t1 (0.00s)
        license_test.go:138: testdata/MIT-Header.t1:1,3: diff -want +have:
            - 86.9%
            + 0.0%
            - MIT-Header 100.0% 83,$
    --- FAIL: TestTestdata/MIT.t3 (0.00s)
        license_test.go:138: testdata/MIT.t3:2,4: diff -want +have:
            - 100.0%
            + 0.0%
            - MIT 95.8% 0,$
    --- FAIL: TestTestdata/MIT-0.t2 (0.00s)
        license_test.go:138: testdata/MIT-0.t2:2,4: diff -want +have:
            - 100.0%
            + 0.0%
            - MIT-0 100.0% 0,$
FAIL
exit status 1
FAIL	github.com/google/licensecheck	0.882s
$

And here is current go with the t.Parallel call commented out:
$ go test -run=Testdata/MIT -v
=== RUN   TestTestdata
=== RUN   TestTestdata/MIT-0.t1
    TestTestdata/MIT-0.t1: license_test.go:138: testdata/MIT-0.t1:1,3: diff -want +have:
        - 93.5%
        + 97.4%
        - MIT-0 100.0% 74,$
        + MIT-0 100.0% 26,$
=== RUN   TestTestdata/MIT-0.t2
    TestTestdata/MIT-0.t2: license_test.go:138: testdata/MIT-0.t2:2,4: diff -want +have:
        - 100.0%
        + 0.0%
        - MIT-0 100.0% 0,$
=== RUN   TestTestdata/MIT-Header.t1
    TestTestdata/MIT-Header.t1: license_test.go:138: testdata/MIT-Header.t1:1,3: diff -want +have:
        - 86.9%
        + 0.0%
        - MIT-Header 100.0% 83,$
=== RUN   TestTestdata/MIT.t1
=== RUN   TestTestdata/MIT.t2
=== RUN   TestTestdata/MIT.t3
    TestTestdata/MIT.t3: license_test.go:138: testdata/MIT.t3:2,4: diff -want +have:
        - 100.0%
        + 0.0%
        - MIT 95.8% 0,$
--- FAIL: TestTestdata (0.54s)
    --- FAIL: TestTestdata/MIT-0.t1 (0.00s)
    --- FAIL: TestTestdata/MIT-0.t2 (0.00s)
    --- FAIL: TestTestdata/MIT-Header.t1 (0.00s)
    --- PASS: TestTestdata/MIT.t1 (0.00s)
    --- PASS: TestTestdata/MIT.t2 (0.00s)
    --- FAIL: TestTestdata/MIT.t3 (0.00s)
FAIL
$

Rolling back the change for parallel subtests would be unfortunate, since it would make the output placement dependent on use of t.Parallel. (It's already unfortunate that the output placement is dependent on -v but that ship has sailed.)
Perhaps the best fix would be to print a new === CONT line each time the test generating output changes (before the output).

Isn't the TestTestdata/MIT-0.t1: prefix in the parallel output the full subtest path?

	TestTestdata/MIT-0.t1: license_test.go:138: testdata/MIT-0.t1:1,3:
	↑ subtest name         ↑ source location    ↑ start of user-generated message

I didn't notice the prefix. Having that prefix on every line is pretty noisy. It's turned the output into something that requires a machine to read. I think we should change this output again. I know we just did in Go 1.14, but the current output is simply not human-friendly. The prefix is stuttering, and "file:line:" should always be at the start of a line.
$ cat x_test.go
package main

import "testing"

func Test(t *testing.T) {
	for i := 0; i < 10; i++ {
		t.Log(i, "->\n", i)
	}
}
$ go test -v x_test.go
=== RUN   Test
    Test: x_test.go:7: 0 ->
         0
    Test: x_test.go:7: 1 ->
         1
    Test: x_test.go:7: 2 ->
         2
    Test: x_test.go:7: 3 ->
         3
    Test: x_test.go:7: 4 ->
         4
    Test: x_test.go:7: 5 ->
         5
    Test: x_test.go:7: 6 ->
         6
    Test: x_test.go:7: 7 ->
         7
    Test: x_test.go:7: 8 ->
         8
    Test: x_test.go:7: 9 ->
         9
--- PASS: Test (0.00s)
PASS
ok  	command-line-arguments	0.075s
$ go1.12 test -v x_test.go
=== RUN   Test
--- PASS: Test (0.00s)
    x_test.go:7: 0 ->
         0
    x_test.go:7: 1 ->
         1
    x_test.go:7: 2 ->
         2
    x_test.go:7: 3 ->
         3
    x_test.go:7: 4 ->
         4
    x_test.go:7: 5 ->
         5
    x_test.go:7: 6 ->
         6
    x_test.go:7: 7 ->
         7
    x_test.go:7: 8 ->
         8
    x_test.go:7: 9 ->
         9
PASS
ok  	command-line-arguments	(cached)
$

Let's replace the prefix with tracking what test name has been printed in an === line most recently, and print a new === line if needed to change the "currently printing" test.

This will change the work done for #24929
CC @jadekler @randall77

One consequence of #24929 (streaming t.Log output) is that test2json wasn't updated with any understanding of streaming output and how it would affect parallel subtests. FWIW, PR #38189 (for issue #38050) attempts to correct that oversight. This comment is a friendly reminder to include the test2json utility in whatever changes result from this issue.

I spent time looking into this today, and am working on a cl that implements @rsc's suggestion: https://go-review.googlesource.com/c/go/+/229085. Russ, your solution seems reasonable. Here's what that looks like:
Before
$ go test . -v
=== RUN   TestFoo
=== RUN   TestFoo/SubTest-2
    TestFoo/SubTest-2: foo_test.go:23: This is a t.Log from sub-2 (message-0)
    TestFoo/SubTest-2: foo_test.go:23: This is a t.Log from sub-2 (message-1)
=== RUN   TestFoo/SubTest-0
    TestFoo/SubTest-0: foo_test.go:23: This is a t.Log from sub-0 (message-0)
=== RUN   TestFoo/SubTest-1
    TestFoo/SubTest-1: foo_test.go:23: This is a t.Log from sub-1 (message-0)
    TestFoo/SubTest-2: foo_test.go:23: This is a t.Log from sub-2 (message-2)
    TestFoo/SubTest-0: foo_test.go:23: This is a t.Log from sub-0 (message-1)
    TestFoo/SubTest-2: foo_test.go:23: This is a t.Log from sub-2 (message-3)
    TestFoo/SubTest-0: foo_test.go:23: This is a t.Log from sub-0 (message-2)
    TestFoo/SubTest-1: foo_test.go:23: This is a t.Log from sub-1 (message-1)
    TestFoo/SubTest-2: foo_test.go:23: This is a t.Log from sub-2 (message-4)
    TestFoo/SubTest-1: foo_test.go:23: This is a t.Log from sub-1 (message-2)
    TestFoo/SubTest-1: foo_test.go:23: This is a t.Log from sub-1 (message-3)
    TestFoo/SubTest-0: foo_test.go:23: This is a t.Log from sub-0 (message-3)
    TestFoo/SubTest-1: foo_test.go:23: This is a t.Log from sub-1 (message-4)
    TestFoo/SubTest-0: foo_test.go:23: This is a t.Log from sub-0 (message-4)
--- PASS: TestFoo (0.00s)
    --- PASS: TestFoo/SubTest-2 (0.00s)
    --- PASS: TestFoo/SubTest-1 (0.00s)
    --- PASS: TestFoo/SubTest-0 (0.00s)

After
=== RUN   TestName
=== RUN   TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-0)
        sub_test.go:571: This is a t.Log from sub-2 (message-1)
=== RUN   TestName/SubTest-0
=== RUN   TestName/SubTest-1
    === TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-0)
    === TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-0)
    === TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-2)
    === TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-1)
        sub_test.go:571: This is a t.Log from sub-0 (message-2)
    === TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-1)
    === TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-3)
    === TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-3)
    === TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-2)
        sub_test.go:571: This is a t.Log from sub-1 (message-3)
        sub_test.go:571: This is a t.Log from sub-1 (message-4)
    === TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-4)
    === TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-4)
--- PASS: TestName (0.00s)
    --- PASS: TestName/SubTest-1 (0.00s)
    --- PASS: TestName/SubTest-2 (0.00s)

Does this look right? As you can see, it's quite a bit more chatty when there's a high degree of interleaving, which could be a bummer. On the other hand, it does separate subtests better.
If so, happy to continue on that CL and figure out a real way to implement this, instead of my hacky way. 🙂 (I also figured out a better way to capture and test subtest output, so minimally I'd like to get that into the testsuite)

The indented === lines look wrong. They have no verb and they are indented.
Also, how is it even possible to be running multiple tests without a === PAUSE line?

OK, I looked at the CL test. Starting a subtest inside a kicked-off goroutine is non-standard to say the least. The important part is that the output should not require any changes to test2json. Test2json expects === lines to be unindented and contain a verb. The obvious verb here is "CONT" for continue, so that no new verb is needed either.
Instead of introducing the output redirect in package testing, I'd rather see a test script in cmd/go, testing both go test -v and go test -json. Then the diff should be very small.
That is, I think the output should be:
=== RUN   TestName
=== RUN   TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-0)
        sub_test.go:571: This is a t.Log from sub-2 (message-1)
=== RUN   TestName/SubTest-0
=== RUN   TestName/SubTest-1
=== CONT  TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-0)
=== CONT  TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-0)
=== CONT  TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-2)
=== CONT  TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-1)
        sub_test.go:571: This is a t.Log from sub-0 (message-2)
=== CONT TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-1)
=== CONT  TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-3)
=== CONT  TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-3)
=== CONT  TestName/SubTest-1
        sub_test.go:571: This is a t.Log from sub-1 (message-2)
        sub_test.go:571: This is a t.Log from sub-1 (message-3)
        sub_test.go:571: This is a t.Log from sub-1 (message-4)
=== CONT  TestName/SubTest-2
        sub_test.go:571: This is a t.Log from sub-2 (message-4)
=== CONT  TestName/SubTest-0
        sub_test.go:571: This is a t.Log from sub-0 (message-4)
--- PASS: TestName (0.00s)
    --- PASS: TestName/SubTest-1 (0.00s)
    --- PASS: TestName/SubTest-2 (0.00s)

Starting a subtest inside a kicked-off goroutine is non-standard to say the least.

t.Parallel was blocking for some reason, so after some investigation I threw my hands up and went with the easy out to get at what I wanted. And, it was a prototype CL, so wasn't too concerned. But good to know that's unexpected for future tests!

Instead of introducing the output redirect in package testing, I'd rather see a test script in cmd/go, testing both go test -v and go test -json. Then the diff should be very small.

SG, thanks for the direction! That helps me orient.

That is, I think the output should be:

SG, thanks for the output. I'll work on updating the CL. 👍

I've updated https://go-review.googlesource.com/c/go/+/229085:

I've put the test in cmd/go/testdata/script. (still need a benchmark test, and a -json test)
I've updated the implementation to work correctly when FAIL and PASS occurs.
I've removed some of the old prototype stuff.

I'm not in love with the solution, though. It seems not-great to lock, record, and unlock everywhere we print. That seems like something that's easy to forget to do in the future. I explored adding a writer that keeps track of the test name on all outgoing writes, but quickly realized it would have to interpolate each outgoing line to figure out test name (no way to pass test name through io.Writer.Write AFAICT), which doesn't seem great.
Would love thoughts if there's a better approach. (also on anything else, but particularly that)

I explored adding a writer that keeps track of the test name on all outgoing writes, but quickly realized it would have to interpolate each outgoing line to figure out test name (no way to pass test name through io.Writer.Write AFAICT), which doesn't seem great.

Don't do it as a generic Writer. Could you implement it as a method that takes a prefix, name, suffix format, and suffix args?

Don't do it as a generic Writer

Done. I've created a non-io.Writer writer (called testPrinter).

that takes a prefix

What would a prefix look like? Something like mytest.go:17?

name

Done.

suffix format, and suffix args

I've just used fmt.Sprintf at the call site. Is that bad? Should I have Fprintf and Printf methods?

Change https://golang.org/cl/232157 mentions this issue: testing: reformat test chatty output

Ignore this, bad mail :)

I’ll add the release blocker label for Go1.15.

@jadekler (and anyone else): Checking in on the status of this as an issue blocking the Go 1.15 beta.

@toothrot AFAICT this is ready, just waiting for a +2. I have a +1 from bcmills already.

@gopherbot, please backport to Go 1.14: the 1.14 output format breaks go test -json for parallel subtests, and backporting the fix to the output format is likely to be more maintainable than a one-off test2json fix that is only used for the 1.14 branch.

@jadekler, I noticed some awkwardness remaining with this fix using gotip. The --- PASS lines for one test may interrupt the output lines of another, without emitting another === CONT line, and then as a reader it's a bit difficult to figure out which test emitted the line immediately after the --- PASS.

Ack - sounds like some test cases missing. Could you show some output? Bonus: if you have a test on hand that demonstrates this, that'd be nice too. :)

@jadekler, I'm not sure how to do it without a time.Sleep, but https://play.golang.org/p/AG_HK5UQFQX reproduces it reliably for me.

Thanks @bcmills. Got some free cycles today - taking a look.

https://go-review.googlesource.com/c/go/+/235997


docs(home): add discord invitation link

Issue number: #154
Summary
Changes

Please provide a summary of what's being changed

Replace occurrences of Slack invitation links with links to the new Discord space.
User experience

Please share what the user experience looks like before and after this change

N/A
Checklist
Please leave checklist items unchecked if they do not apply to your change.

[x] Meets tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

View rendered README.md
View rendered docs/index.md

@sliedig do you want the second link next to the invitation link or do you want to replace the invitation link? I think the channel link will only work, if you have an account already, corret?

@sliedig do you want the second link next to the invitation link or do you want to replace the invitation link? I think the channel link will only work, if you have an account already, corret?

Ah, yeah fair enough. Maybe we'll leave it for now.


YAML: Extra indentation when writing key: value lines

Steps to reproduce

Set the following vimrc:

filetype plugin indent on
autocmd! FileType yaml setlocal autoindent smartindent expandtab sw=2 ts=2 sts=2

Edit a yaml file and write a key: value, then press enter to move to the next line.
The cursor is indented an extra level. (| is cursor)

key: val
  |

Expected behaviour
The cursor maintains the correct level of indentation.
key: val
|

PR https://github.com/vim/vim/pull/10328 describes this exact behavior, which was closed in favor of commit https://github.com/vim/vim/commit/f4f579b46b27f5e1689912a3e84c6a2a96efd143. This was back in 2022. However, I've experienced this behavior for a few years... I only just now decided to try and get to the bottom of it.
I want to note that the new line will automatically indent itself properly once you finish the new key name with :, but this will prevent autocomplete from working if using something like ansible-language-server or yaml-language-server with a schema.
Version of Vim
9.1.016
Environment
OS: Fedora 39
Terminal: GNOME Terminal 3.50.1
$TERM:  xterm-256color
This is a completely clean installation of F39. I also see the same behavior in Debian 12, openSUSE Tumbleweed, etc
Logs and stack traces
No response

that is surprising. If I see that correctly, this search pattern: \v%(%\x\x) (ignoring the rest of the line) would cause a syntax error.

Reverting the diff is definitly wrong. The diff from v9.0.0379 fixes a syntax error. Try and search for it, you will get the following error:  /\v%(%\x\x) : E678: Invalid character after %[dxouU].
Guessing from the yaml.vim indent script, where it goes wrong it is this one here:
https://github.com/vim/vim/blob/02d7a6c6cfceb3faf9c98fcb7c458760cd50d269/runtime/indent/yaml.vim#L145-L151
As mentioned in the comment below, this is trying to match the following item:
Mapping with: value
        that is multiline scalar

which is what is happening in your case (and seems to be correct).
I think this is intentionally, and once you type : the cursor position will jump back to the beginning of the line. So I think the current behaviour is right.
So it seems there is just a misunderstanding about whether or not the yaml.vim indent script should try to match a multiline scalar or whether it shouldn't. But given the work-around, that : dedents the line again, I would think the current behaviour is okay just perhaps a bit unexpected.
Having said all that, I haven't heard from @ZyX-I in a long time. So if anybody wants to volunteer to maintain this, please stand up :)
But be warned, that are some crazy Vim regexes here.

I want to disable that smart multiline indentation. I want my cursor to be on the same level as previous line. It is driving me crazy.

remove those two lines from your copy then

Frightening regexes for sure! My two cents is that writing multiline scalars is less common than writing consecutive key-value pairs, so it seems odd to indent for them as the default behavior.
Either way, good to know what exactly is going on behind the scenes and which lines to modify.

Let me add a configure switch for people to opt-in into the multiline detection and include it.


Question: x:Bind functions, return, and casting?

x:Bind seems to want to require a specific type returned on a function.
If I'm creating a general function which may work on multiple data types, I may want to cast the result of the function to match the property I'm binding to.
The docs say:

The path to the function is specified like other property paths and can include dots (.), indexers or casts to locate the function.

Which seems to indicate cases should work in function bindings, but the docs don't go into further detail.
I was expecting I could do one of the following to cast the result as the proper type:
<TextBlock Foreground="{x:Bind local:MyClass.MyFunction(SomeValue), Mode=OneWay}"/> <!-- Expect object can just be accepted, but get XamlCompiler error WMC1121: Invalid binding assignment : Function return type 'System.Object' must match binding target type 'Windows.UI.Xaml.Media.Brush' -->

<TextBlock Foreground="{x:Bind (media:Brush)local:MyClass.MyFunction(SomeValue), Mode=OneWay}"/> <!-- XamlCompiler error WMC1110: Invalid binding path : Functions are only supported at the end of the bind path. -->

<TextBlock Foreground="{x:Bind local:MyClass.MyFunction(SomeValue).(media:Brush), Mode=OneWay}"/> <!-- XamlCompiler error WMC1110: Syntax error at ')' -->

Where MyFunction currently returns type of object. I kind of expected if it returned object it should just be able to bind anywhere anyway, but none of the scenarios work with different errors.
Is there a different syntax I should use? This also ties into the scenarios and reasons for #2407 (and I believe questions like this about binding certain properties to other types of general objects like SelectedItem)
I tried also using a no-op converter, but that provides the same error message about mismatched types as if not using a converter.

I think the expected behavior should be that the casting is done automatically by the codes generated from x:Bind. Maybe it's a bug of the XAML compiler?

@RealTommyKlein FYI

Think this ties into more general improvements to x:Bind like #2508 and #7888

From my viewpoint, the XAML compiler could make a static cast, which is also mentioned by Path to the function.

The argument types need to match the data being passed in – we don’t do narrowing conversions
The return type of the function needs to match the type of the property that is using the binding

But it seems it also works for me. Could you please show a minimal, reproducible sample without private information?
As far as IValueConverter Interface is concerned, it works for me.
<Page
    x:Class="App2CSharp.Page1"
    ...>

    <Page.Resources>
        <local:BooleanToValueConverter x:Key="booleanToValueConverter" />
    </Page.Resources>
    <GridView>
        <TextBlock Text="{x:Bind local:Page1.Page1_TEST, Mode=OneWay, Converter={StaticResource booleanToValueConverter}, ConverterParameter='Jane Doe' }"/>
        <TextBlock Text="{x:Bind local:Page1.Page1_TEST1}"/>
    </GridView>
</Page>

namespace App2CSharp
{
    public sealed partial class Page1 : Page
    {
        ...

        public static bool Page1_TEST
        {
            get
            {
                return true;
            }
            set
            {
                ;
            }
        }

        public static object Page1_TEST1
        {
            get
            {
                return "TEST";
            }
            set
            {
                ;
            }
        }
    }
}

public sealed class BooleanToValueConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        return ((bool)value) ? parameter : null;
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        throw new NotImplementedException();
    }
}


Re-enable egui-winit for egui-glow on web

I tried this myself, and I do not think there is any reason to block the winit feature from egui-glow on wasm platforms.

winit don't support IME on wasm32 platform so we have to use own eframe's implementation.
If we disable IME we can't type Chinese Japanese Korean languages.


Subshells

Support for subshells, e.g. :echo "In $(!pwd)"
The current parser rules don't support nesting, which might be a blocker (see #198), but I wanted to open a PR with this before it got too huge.
(Specs pass locally, Travis is suffering from the usual Readline segfault shenanigans)

Thanks for the review, Joe. Finally merging this now that 0.9 is out; I'll prioritise fixing nested subshells for the next release.


kernel: Check for polling events

Before traversing the events linked list, do a NULL check. In some scenarios observed that events are all cleared already causing a NULL de-reference.

This doesn't seem right... All in-tree calls to z_handle_obj_poll_events() pass the poll_events element of various kernel objects, and that element is not a pointer but an actual struct. Are you creating custom types using polling which has a chance to pass NULL pointer?

I agree with @dcpleung, could you please provide some examples of these scenarios?
Either it is an incorrect use of the z_handle_obj_poll_events() API or we have a bug somewhere. Hide that bug by just returning make more harm than good.

I agree with @dcpleung, could you please provide some examples of these scenarios?
Either it is an incorrect use of the z_handle_obj_poll_events() API or we have a bug somewhere. Hide that bug by just returning make more harm than good.

This doesn't seem right... All in-tree calls to z_handle_obj_poll_events() pass the poll_events element of various kernel objects, and that element is not a pointer but an actual struct => so it will never be NULL. Are you creating custom types using polling which has a chance to pass NULL pointer?

The events passed to z_handle_obj_poll_events is a Linked list (sys_list_t), so, it can be NULL if the z_handle_obj_poll_events is called twice and the first invocation consumes all events. In my scenarios, its k_sem_give.

I agree with @dcpleung, could you please provide some examples of these scenarios? Either it is an incorrect use of the z_handle_obj_poll_events() API or we have a bug somewhere. Hide that bug by just returning make more harm than good.

I am seeing a crash in a forked version, and I havent' fully root caused yet, so, don't know how the double-free is being invoked. Nonetheless we should:

Add a NULL check for events in z_handle_obj_poll_events
Add a NULL check in sys_dlist_is_empty before de-referencing the NULL pointer
Root cause and fix the double invocation, and if its a bug, we can fix that.

This doesn't seem right... All in-tree calls to z_handle_obj_poll_events() pass the poll_events element of various kernel objects, and that element is not a pointer but an actual struct => so it will never be NULL. Are you creating custom types using polling which has a chance to pass NULL pointer?

The events passed to z_handle_obj_poll_events is a Linked list (sys_list_t), so, it can be NULL if the z_handle_obj_poll_events is called twice and the first invocation consumes all events. In my scenarios, its k_sem_give.

sys_dlist_t is typedef struct _dnode sys_dlist_t; which means it is NEVER a pointer. Only the elements inside struct _dnode can be NULL since they are pointers. That means if you pass, e.g. &sem->poll_events, it is passing the pointer to a struct, which will never be NULL. Note that if there are no events to be consumed, sys_dlist_get() returns NULL.

let's establish that z_handle_obj_poll_events() is not a public API and should not be used outside of the kernel. I will be removing this from kernel.h in an upcoming PR.

This doesn't seem right... All in-tree calls to z_handle_obj_poll_events() pass the poll_events element of various kernel objects, and that element is not a pointer but an actual struct => so it will never be NULL. Are you creating custom types using polling which has a chance to pass NULL pointer?

The events passed to z_handle_obj_poll_events is a Linked list (sys_list_t), so, it can be NULL if the z_handle_obj_poll_events is called twice and the first invocation consumes all events. In my scenarios, its k_sem_give.

sys_dlist_t is typedef struct _dnode sys_dlist_t; which means it is NEVER a pointer. Only the elements inside struct _dnode can be NULL since they are pointers. That means if you pass, e.g. &sem->poll_events, it is passing the pointer to a struct, which will never be NULL. Note that if there are no events to be consumed, sys_dlist_get() returns NULL.

You are right, I missed the definition of sys_dlist_t, thanks. And I think I root caused the issue, due to a bug in socketpair free, k_sem_give gets an address after NULL pointer de-reference, making the events as NULL. I am testing the fix, will raise a PR and then can close this.

stablish that z_handle_obj_poll_events() is not a public API and should not be used outside of the kernel. I will be removing this from kernel.h in an upcoming PR.

Sure, but this wasn't the case here, it looks like a bug in socketpair free.


Fixes drop on wire issues

The Pyflow documentation describes the drop on wire functionality. However, this does not work in the current version. This commit fixes the problem by making additions to the mouseReleaseEvent of the BlueprintCanvas class.

@AbdelazizSharaf001 do you mind reviewing this PR ?

I noticed this morning that it's actually not a fix, but a new feature. My code adds the functionality Drop on Wire from nodes that are already on the canvas and are dragged onto a wire. In the video documentation Drop On Wire is shown from the nodebox onto a wire, which unfortunately does not work either. For this I have coded an actual fix (see my fork). In my fork, Drop on Wire works out of Canvas and out of Nodebox. In addition, there is now also Drop On Pin, which you can not see at all in the video documentation :)
@AbdelazizSharaf001 If requested, I will be happy to create a pull request with the mentioned additions.

In my fork of AnimationFreeCAD to be precise: https://github.com/j8sr0230/AnimationFreeCAD. Just let me know if you want me to put it in the PyFlow upstream.

Seems you are better than me @j8sr0230
I tested the drop on wire fix for standalone, and it works out of the box
But I should note that you are using hard coded path for macro dir, we need it to run on every platform so this should be able to change depending on the os type
Thanks for adjusting btn order, I was going modify it and add a merge request, but I see you did here

Interesting, actually I only wanted to make a pull request regarding the drop on wire functionality. All other commits I did in my own fork of PyFlow. I didn't know that all commits are sent upstream. Is there any way to prevent this so that I only push my changes into my fork initially?

@AbdelazizSharaf001 Thanks for rating. I have done some more research. As long as a pull request is open, all further commits in my fork are automatically merged. Of course, that was not my intention. The clean solution is to create a separate branch for each pull to control exactly what should be merged. For this reason, I am closing this pull and continuing to work in my own fork until I have enough input for a meaningful pull request.


Add persist support for firewalld rules

Current firewall-cmd --direct add rule does not apply the rule permanently. Once restart occurred, all the applied rules will be lost.
Use firewall-cmd --permanent --direct to add permanent rules
We need to consider to apply this change to other types of firewall, e.g. ufw or iptables

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

Is there any reason you can't use the firewall resource with the :save action to achieve this same effect?

I am not sure if using :save is a safe way here. It is actually saving the current firewall status into persistent location, which may not be fully controlled by this cookbook. For example, if user has done some customization rules, or there are other daemon processes to dynamically adding rules to firewall, these changes will be saved as well, but they're not added by this cookbook. It will also cause the results between 2 runs of Chef client NOT idempotent.
But anyway, if we have only Chef to control the firewall in the system, this method should work.

Most chef resources work this way -- they are only idempotent when they are fully managed by Chef. Chef will generally overwrite file contents, change permissions, and re-adjust system services, regardless of if they have been changed by the user.

Assuming this workaround/solution provided will work.


Similarity in code differs from paper?

In the paper, Context Clustering is as follow:

Create $P_s$ from input points $P$: it is x = self.f(x) right?
Then centers are created by applying AdaptiveAvgPooling on $P_s$ which is x, it is center right?
Then sim should be calculated using pairwise_cos_sim (according to paper), but in line 151, sim is calculated as $sig(\alpha s_i + \beta)$

It is same as paper. Cos similarity is s_i. Please check Eq1 and Eq2 in the paper.

It is same as paper. Cos similarity is s_i. Please check Eq1 and Eq2 in the paper.

The paper stated that: "We then calculate the pair-wise cosine similarity matrix $S ∈ R^{c \times n}$ between $P_s$ and the resulting set of center points", and "the similarity between the $m$ points and the center is $s ∈ R^m$ (a subset in $S$)". So the similarity $s$ should be calculated using pairwise_cos_sim no?

s is calculated using pairwise_cos_sim. Feel free to double-check the code and paper, they are aligned.


⚠ Bofrost.lu has degraded performance

In 5320e22, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1462 ms

Resolved: Bofrost.lu performance has improved in ef03d99 after 13 minutes.


where can I find the installed-version of an extension

install
https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans

I can not find where is the version  information

It is usually at the end of the title - which looks like it is off screen on your image.
Alternatively, if you click Uninstall/Install Another Version it should show you which is your current version.

It is usually at the end of the title - which looks like it is off screen on your image.

ok， and maybe we should move the version information to another place

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


[code-infra] Refactor setupJSDOM to TS

Experiment with options to unblock ESM <-> CJS incompatibility problems when running tests on https://github.com/mui/mui-x/pull/11875.

Found the root cause: https://github.com/mui/mui-x/pull/11875/commits/32c243f744e42dacc9cff4d324999ba1d64b9e5c
Closing this experiment as it proved problematic.


np.kron fails to compile under njit with call signature

[ -] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[- ] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

The following fails to compile
@nb.njit("b1[:, :](b1[:])")
def f(x):
    y = np.atleast_2d(x)
    return np.kron(y, y.T[:])

yet it compiles without the call string
@nb.njit
def f(x):
    y = np.atleast_2d(x)
    return np.kron(y, y.T[:])

Thanks for the report, I can reproduce. The issue here is that when supplying the signature, the type of x is seeded by b1[:], which is saying "this is a 1D array of boolean type and unknown layout", i.e.:
eval('b1[:]', numba.types.__dict__)

gives:
array(bool, 1d, A)

as a result of this, np.atleast_2d(x) leads to y being of type array(bool, 2d, A) and then the implementation of np.kron uses .reshape() which is not supported for the unknown layout. Admittedly the error message could be easier to understand!
In the case of with no supplied signature, nothing actually get's compiled until a call is made with real inputs, and it's the type of these inputs that seed type inference and compilation will specialise to those. You can create the same error without the signature like this:
import numpy as np
from numba import njit, typeof

@njit
def f(x):
    y = np.atleast_2d(x)
    return np.kron(y, y.T[:])

z = np.empty((10,), np.bool_)[::2]
print(typeof(z)) # prints array(bool, 1d, A)
f(z)

and a slightly different error like this, here, the y.T[:] is sliced which again produces the "unknown array layout" as input to np.kron/.reshape:
import numpy as np
from numba import njit, typeof

@njit
def f(x):
    y = np.atleast_2d(x)
    return np.kron(y, y.T[:])

z = np.empty((10,), np.bool_) # now contiguous
print(typeof(z))
f(z)

whereas this:
import numpy as np
from numba import njit, typeof

@njit
def f(x):
    y = np.atleast_2d(x)
    return np.kron(y, y.T)

z = np.ones((10,), np.bool_)
print(typeof(z))
print(f(z))

does what you probably want.
Hope this helps.

Going to mark this as a bug because I think np.kron should be able to raise a TypingError to catch the input it can't handle.


[SMALLFIX] Supply the name of variable to Preconditions.checkNotNull in alluxio/core/common/src/main/java/alluxio/metrics/Metric.java#Metric

Supply the name of variable to Preconditions.checkNotNull in alluxio/core/common/src/main/java/alluxio/metrics/Metric.java

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3433/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3434/
Test PASSed.

alluxio-bot, merge this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3537/
Test PASSed.


Updates 2.x branch with opensearch-spark changes

Description
Merge main commits to 2.x
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Can ignore DCO failure, it is because email difference
ebf9dab471d9bb727d8882876b123d1e0fc0348e    Can not find "Paul Sebastian<EMAIL_ADDRESS>in ["Paul Sebastian<EMAIL_ADDRESS>


Avoid LOD generation crash.

Fixes: https://github.com/godotengine/godot/issues/80431
The code is a bit ugly, looking for improvement.

Duplicate of https://github.com/godotengine/godot/pull/80467


[FLINK]Support Celeborn with Hybrid mode

What changes were proposed in this pull request?
Create a new Celeborn tier plugin to work with Flink Hybrid Shuffle mode
Why are the changes needed?
Support Celeborn with Hybrid mode
Does this PR introduce any user-facing change?
no.
How was this patch tested?
Tested it in local mac and in the real cluster.

Sorry for any confusion. I mistakenly initiated a PR in the community repository in advance.
At present, the feature is still in the internal testing stage. Once it has been validated, we will then open up discussions in the community.


[cxx-interop] Tweak C++ type semantics detection

CxxRecordSemanticsKind::ExplicitlyUnsafe and CxxRecordSemanticsKind::UnsafePointerMember were never directly used, and those do not indicate semantics: they indicate safety of the type when used from Swift, which should be handled by another request IsSafeUseOfCxxDecl instead of CxxRecordSemantics.
Having ExplicitlyUnsafe and UnsafePointerMember as semantics indicators was problematic, for instance, for types that are move-only and store a pointer at the same time. Swift allowed the usage of these types (under the rules for UnsafePointerMember types) when move-only types are disabled, and did not apply the move-only attribute on such types when move-only types are enabled.
rdar://110644300

@swift-ci please smoke test


[Question] Can this be used for scheduling background tasks for Android/iOS like Workmanager ?

Can this be used for scheduling background tasks for Android/iOS like how workmanager does ?
Also , if this is not meant for it, which flutter package do you suggest for that?
Any help would be really appreciated

Not sure what package you're talking about, this is a mono-repo with multiple packages.
If it's neat_periodic_task I would think not, it's not a package targeting Flutter. It's mainly aimed at running periodic tasks on a server or in a background process like a cron job..


feat(prettier): support longer source in ImportExpression

Current dependencies on/for this PR:

main

PR #1478   👈

PR #1479

This stack of pull requests is managed by Graphite.

Merge activity

Nov 21, 4:21 AM: @Boshen started a stack merge that includes this pull request via Graphite.


(856b) Edit/update participation course

Context

We can currently add a new course participation by selecting a course, then access the participation details page, but we can't edit the course for a course participation
Changes in this PR

Allow editing/updating a course participation's course

This PR has a couple of significant abstractions and some minorly complicated describe.each work going on, but hopefully the order and content of the commits makes them understandable. Happy to do a run through of the PR if it would help the review process!
Release checklist
Release process documentation
As part of our continuous deployment strategy we must ensure that this work is
ready to be released once merged.
Pre-merge

[x] There are changes required to the Accredited Programmes API for this change to work...

[x] ... and they have been released to production already

Post-merge

[ ] This adds, extends or meaningfully modifies a feature...

[ ] ... and I have written or updated an end-to-end test for the happy path in the Accredited Programmes E2E repo

[x] This makes new expectations of the API...

[x] ... and I have notified the API developer(s) of changes to the contract tests (Pact), or the API is already compliant

[ ] Manually approve release to preprod
[ ] Manually approve release to prod

 Add page for editing a previous programme's name (M)


ArgoCD upgrade&cleanup and new NFS Addon

Upgrading ArgoCD to the latest version
Fixing incomplete cleanup (ArgoCD Custom Resources)
(optional) Conditional deletion of "argocd" namespace. Preventing accidental removal of all other Argo components sharing the same namespace. Oftentimes e.g. ArgoCD Image Updater or Argo Notifications share the same namespace with ArgoCD. Current version of deletion script may destroy complete Argo stack (regardless whether the other components are deployed as Addons or manually). Copy-pasting of this logic to further Argo Addons can even increase the danger.
Fixes: #50

Small glitch:

When microk8s has added community repo and my forked repo in parallel,
$ microk8s addons repo list
REPO       ADDONS SOURCE
core           17 (built-in)
mycommunity     17 https://github.com/jkosik/microk8s-community-addons@0f1081
community      17 /snap/microk8s/current/addons/community@854c00

installation of my fork:
$ microk8s enable mycommunity/argocd

results in false reporting of installed Addons:
ubuntu@master:~$ microk8s status
...snipped...
addons:
enabled:
argocd               # (community) Argo CD is a declarative continuous deployment for Kubernetes.
community            # (core) The community addons repository
dns                  # (core) CoreDNS
ha-cluster           # (core) Configure high availability on the current node
helm3                # (core) Helm 3 - Kubernetes package manager
argocd               # (mycommunity) Argo CD is a declarative continuous deployment for Kubernetes.

Seems as just reporting issue with colliding Addon names, since forked Addon was properly installed. Disabling Addon removes both clones from the list.
Worth issuing a bug?
BTW, great job with Microk8s!!!

This NFS addon seems to support storage from one node. This is not acceptable on HA setup. The OpenEBS addon if it will be refactored should already provide NFS with HA out of the box.

@madalinignisca, right, by default storage from one Node. It addresses current limitations of hostpath-storage and HA/anti-affinities on Pod level, not HA on Storage level. So not competing with OpenEBS, just different use-case and works already.
However (with some added complexity) NFS Provisioner can be hooked to e.g. external EBS, and get HA on Storage level as well (and also avoiding expensive EFS). It is more a question, how rich the Addon portfolio is planned to be.

Should be well documented that by default will not offer HA and people hopping for an out of the box solution should try the alternative like OpenEBS. I will make a pool request with improved OpenEBS, including OpenEBS NFS component.

Finished the new install. Need to do a better uninstall, exiting if there are pv(c)s in use.
I am interested also in this separate nfs provisioner. With hostpath could help some scenarios where HA is not required, but lower ram usage is critical (rpi4?)
OpenEBS with jiva and nfs adds 400mb from start on each node. Acceptable for my work.
I wanna get Longhorn also working. Seems since MicroK8S 1.22 is not working anymore.

@neoaggelos sure, PR split was planned, my bad. I will do so asap.
Ad nfs-csi-provider, correct "This driver requires existing and already configured NFSv3 or NFSv4 server". For NFS Server Provisioner there is no prereq...as said before, just another use-case, different pros/cons.

@neoaggelos, PR updated, currently deals only with ArgoCD. Btw, Issue on NFS already exists #50


troubles with angular seed and ui.router

Hello
I am trying to make part of your angular seed work with ui.router and i am getting the same error over and over. Reading past issues, i thought there were no trouble anymore about angular-loader and seed and ui.router, are they still some? of something is wrong in async loading order?
I am using Chrome Version 52.0.2743.82 m.
angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module oxapp due to:
Error: [$injector:modulerr] Failed to instantiate module ui.router due to:
Error: [$injector:modulerr] Failed to instantiate module ui.router.state due to:
Error: [$injector:modulerr] Failed to instantiate module ui.router.router due to:
Error: [$injector:modulerr] Failed to instantiate module ui.router.util due to:
TypeError: forEach is not a function
    at new $UrlMatcherFactory (https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js:1573:3)
    at Object.instantiate (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4733:14)
    at provider (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4547:36)
    at Object.provider (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4539:16)
    at runInvokeQueue (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4611:35)
    at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4619:11
    at forEach (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:321:20)
    at loadModules (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4601:5)
    at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:4618:40
    at forEach (https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js:321:20)....

my code is :
Index.html
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<!-- ox styles -->
	<link rel="stylesheet" href="/css/style.css">
	<style>[ng-cloak] {display: none;}</style>
	<!-- scripts -->
		<script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-loader.js'></script>
	<script>
		/*!
		 * $script.js v1.3
		 * https://github.com/ded/script.js
		 * Copyright: @ded & @fat - Dustin Diaz, Jacob Thornton 2011
		 * Follow our software http://twitter.com/dedfat
		 * License: MIT
		 */
		!function(a,b,c){function t(a,c){var e=b.createElement("script"),f=j;e.onload=e.onerror=e[o]=function(){e[m]&&!/^c|loade/.test(e[m])||f||(e.onload=e[o]=null,f=1,c())},e.async=1,e.src=a,d.insertBefore(e,d.firstChild)}function q(a,b){p(a,function(a){return!b(a)})}var d=b.getElementsByTagName("head")[0],e={},f={},g={},h={},i="string",j=!1,k="push",l="DOMContentLoaded",m="readyState",n="addEventListener",o="onreadystatechange",p=function(a,b){for(var c=0,d=a.length;c<d;++c)if(!b(a[c]))return j;return 1};!b[m]&&b[n]&&(b[n](l,function r(){b.removeEventListener(l,r,j),b[m]="complete"},j),b[m]="loading");var s=function(a,b,d){function o(){if(!--m){e[l]=1,j&&j();for(var a in g)p(a.split("|"),n)&&!q(g[a],n)&&(g[a]=[])}}function n(a){return a.call?a():e[a]}a=a[k]?a:[a];var i=b&&b.call,j=i?b:d,l=i?a.join(""):b,m=a.length;c(function(){q(a,function(a){h[a]?(l&&(f[l]=1),o()):(h[a]=1,l&&(f[l]=1),t(s.path?s.path+a+".js":a,o))})},0);return s};s.get=t,s.ready=function(a,b,c){a=a[k]?a:[a];var d=[];!q(a,function(a){e[a]||d[k](a)})&&p(a,function(a){return e[a]})?b():!function(a){g[a]=g[a]||[],g[a][k](b),c&&c(d)}(a.join("|"));return s};var u=a.$script;s.noConflict=function(){a.$script=u;return this},typeof module!="undefined"&&module.exports?module.exports=s:a.$script=s}(this,document,setTimeout)
		// load all of the dependencies asynchronously.
		$script([
		  'https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js',
		  'https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js',
		  '/js/oxapp.js'
		], function() {
		  // when all is done, execute bootstrap angular application
		angular.element(document.getElementsByTagName('head')).append(angular.element('<base href="' + window.location.pathname + '" />'));
		angular.bootstrap(document, ['oxapp']);
		});
	  </script>
</head>
<body ng-cloak></body>
</html>

and oxapp.js
(function() {
'use strict';

	var oxapp = angular.module('oxapp',['ui.router']);

 	var stateProvider;

	oxapp
	.config(['$stateProvider', '$urlRouterProvider','$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) {
		// For any unmatched url, redirect to /state1
		$locationProvider.html5Mode(true);
		stateProvider = $stateProvider;
		$urlRouterProvider.deferIntercept();
	}])
	.run(($http, $urlRouter) => {
		// get routes
		$http.get('/js/states.json').then(resp => {
			// got routes; register them with the state provider
			resp.data.forEach(state => stateProvider.state(state));
			// tell ui-router to sync the url and listen for changes
			$urlRouter.listen();
			$urlRouter.sync();
		});
	})

})(); //function end

This is an issue with ui.router. It seems that it is not compatible with angular-loader, because it assumes that angular.js will have been loaded before angular-ui-router.js.
You should open an issue on their repo (feel free to ping me if they need additional info).
--
I am going to close this, since it is not related to angular-seed.

well i did !
but is angular loader not supposed to load things according dependencies ?
and why not maybe add an option to angular-loader to load angular by default on internet ?
(i mean if not loaded with

for followup : https://github.com/angular-ui/ui-router/issues/2898

What angular-loader does, is enabling to download all your scripts (including angular.js) asynchronously. Without the loader, you would have to load angular.js first (which is usually the largest file) and then start downloading your other scripts. With the loader, you can download all the script asynchronously (which means several smaller scripts would be downloaded simultaneously with angular.js).
Tbh, the current best practice is bundling everything is a couple of scripts, so the loader isn't relevant any more (but HTTP/2 might change that :wink:).


Support _netrc files for windows

It is quite strange but on Windows the .netrc file has the name _netrc.
Please add add _netrc support.
Sources:
https://stackoverflow.com/questions/6031214/git-how-to-use-netrc-file-on-windows-to-save-user-and-password
https://www.labkey.org/Documentation/wiki-page.view?name=netrc
https://github.com/curl/curl/blob/6e4b7abfd3bef38130598b7f62289881f448a13c/docs/cmdline-opts/netrc.md?plain=1#L28

Ok

Curl:

On Windows two filenames in the home directory are checked: .netrc and _netrc, preferring the former.

Select each one will be correct. when both available, _netrc preferred.


widget doesn't refresh

As the title says, neither automagically every 30 minutes or by tap-ping the widget.
I have to tap the settings icon, must reenter the (same) location and select "add widget". This is on a Samsung Galaxy Note 4, Android 6.0.1.

Enhancement wish: a store for more locations, make them selectable.

Enhancement wish: Could you be more specific with the name? I have now 3 weather apps, all called "Wetter" in a german UI.

Thank you

I can reproduce the issue of not refreshing on the dark widget, but not the light widget. That seems to work and may be a workaround for now. I am going to fix it.

Moved your enhancement wishes to separate issues.
#11 and #12 .


Rack tests are non-deterministic

Description of the bug
Rack tests are non-deterministic. It is trivial to reproduce -
Good run:
opentelemetry-ruby-contrib/instrumentation/rack on  ahayworth/rack-test-ordering-failure [?] via 💎 v3.0.4 took 2s
zsh ❯ bundle exec rake test SEED=1
/Users/andrew/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/yard-doctest-0.1.17/lib/yard-doctest.rb:57: warning: `&' interpreted as argument prefix
Run options: --seed 1

# Running:

.................................................

Finished in 0.014089s, 3477.8905 runs/s, 6813.8262 assertions/s.

49 runs, 96 assertions, 0 failures, 0 errors, 0 skips

Bad run:

opentelemetry-ruby-contrib/instrumentation/rack on  main via 💎 v3.0.4
zsh ❯ bundle exec rake test SEED=6372
/Users/andrew/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/yard-doctest-0.1.17/lib/yard-doctest.rb:57: warning: `&' interpreted as argument prefix
Run options: --seed 6372

# Running:

F................................................

Finished in 0.015968s, 3068.6373 runs/s, 5323.1463 assertions/s.

  1) Failure:
OpenTelemetry::Instrumentation::Rack::Instrumentation::when rack gem does not exist#test_0001_skips installation [/Users/andrew/projects/opentelemetry-ruby-contrib/instrumentation/rack/test/opentelemetry/instrumentation/rack/instrumentation_test.rb:45]:
Expected nil (NilClass) to respond to #empty?.

49 runs, 85 assertions, 1 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (1)
/Users/andrew/.rbenv/versions/3.0.4/bin/bundle:23:in `load'
/Users/andrew/.rbenv/versions/3.0.4/bin/bundle:23:in `<main>'
Tasks: TOP => test
(See full trace by running task with --trace)

It seems as if the tests in test/opentelemetry/instrumentation/rack/instrumentation_test.rb are run first, then the instrumentation's config hash is always empty (and thus further assertions on the hash keys fail). It seems to be related to how we are resetting the instrumentation in that test with an explicitly empty config hash - the defaults aren't getting loaded as we expect.
cc @arielvalentin - I think this change started failing after #356

Oh, whoops this is a duplicate of #372 🤦


adding v1 of the arcgis experience builder widget demo

adding v1 of the arcgis experience builder widget demo

@emma-steuer FYI!


Add applicable classes (checklists/extensions) back into docs

Add the Applicable classes (modified to be Applicable checklists or extensions) section back into the MIxS slot documentation pages.
Here is an example screenshot of how this section would look on GitHub pages.

Closing this PR because there has been additional activity on add-applicable-classes section which is becoming challenging to resolve in this PR given the merge conflicts.


Adding Arm64 Support

Any interest in adding support for Arm64? Specifically Amazon's Graviton2/3 CPUs. If no one has started working on or unwilling to share, I wouldn't mind tackling this and submitting a PR.

Do you mean the C++ Pixel Streaming plugin generally? Or speaking the servers and frontend contained in this repo, or both?

To answer your question too, Arm64 is not on our roadmap right now.

Closing due to lack of reply from OP - but we are willing to accept such a PR.


Remove dangerouslySetInnerHTML in StackTraceMessage component

Druid sometimes returns error message that are contained in "<>", as in
<urlopen error [Errno 61] Connection refused>. Since Superset's
approach is often to bubble up messages coming from external library,
it's impossible to predict whether it will contain special characters.
There are some cases where our error handling does return some html
(presto?),
but we should manage that upstream. Plus the current setup has security concerns,
so let's move away from that.

🐑


Expected '' elements to have 'v-bind:is' attribute

Hi, I got a error message while trying the example about custom nodes:
Expected '<component>' elements to have 'v-bind:is' attribute

then I fixed it by changing line 13
<component is="style">

into
<component :is="'style'">

don't know if this is a bug or just my environment issue? thanks!

oooops sorry it's related to my eslint setting, I will close this issue now.


Modifying responses from proxied requests

Is it possible to modify the response from a proxied request? For instance, if I am implementing a level 3 REST API which returns hypermedia as part of the response, and certain endpoints use YARP to proxy the request to a microservice API, can YARP update the returned hypermedia to use the hostname of the main API rather than the hostname of the microservice?
So, imagine I call my REST API using GET https://my.api.com/get-some-data, this gets proxied through to http://service-a.internal.network/get-some-data (because I am SSL terminating at the load balancer), which returns:
HTTP/1.1 200 OK
{
  "id": 12345,
  "links": {
    "self": { "href": "http://service-a.internal.network/get-some-data/12345" }
}

I would like YARP to be able modify the response so that it becomes:
HTTP/1.1 200 OK
{
  "id": 12345,
  "links": {
    "self": { "href": "https://my.rest.api/get-some-data/12345" }
}

Modifying the response body is not directly supported and would be discouraged for this scenario regardless.
https://microsoft.github.io/reverse-proxy/articles/middleware.html#what-not-to-do-with-middleware
Instead, use https://microsoft.github.io/reverse-proxy/articles/transforms.html#x-forwarded to generate the correct urls in the destination app.


Roboto Mono Regular Font does not display

Issue Type
Bug
Description
I cannot use the Roboto Mono Regular with VS Code, albeit the font being properly installed and working in any other part of the OS so far. Medium and Light weights work just fine.
Since Roboto Mono Regular is set as default mono font of my OS, I also tried
"editor.fontFamily": "'Roboto Mono Regular', 'monospace', monospace",

in my config. It then falls back to Hack somehow (which is the out-of-the-box mono font for my distro).
Issue is reproducible with extensions disabled and config unaltered.
VS Code Info
VS Code version: Code 1.20.0 (c63189deaa8e620f650cc28792b8f5f3363f2c5b, 2018-02-07T17:10:15.949Z)
OS version: Linux x64 4.15.0-1-MANJARO

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz (8 x 1720)

Load (avg)
1, 1, 1

Memory (System)
11.73GB (7.62GB free)

Process Argv
/opt/visual-studio-code/code

Screen Reader
no

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

html-snippets
abu
0.2.1

project-manager
ale
0.24.0

vscode-eslint
dba
1.4.5

auto-close-tag
for
0.5.5

atom-keybindings
ms-
3.0.4

debugger-for-chrome
msj
4.1.0

vetur
oct
0.11.7

Ruby
reb
0.16.0

vscode-icons
rob
7.19.0

vscode-todo-highlight
way
0.5.11

JavaScriptSnippets
xab
1.5.0

(1 theme extensions excluded)

Reproduces without extensions

From Google Fonts it seems the correct value is Roboto Mono (no regular).


[FEA] Qualification tool should mark WriteIntoDeltaCommand as supported

Is your feature request related to a problem? Please describe.
This is a special request to consider the WriteIntoDeltaCommand as supported exec

CC: @kuhushukla, @viadea


This issue can be resolved by deleting the existing bedrock-init image from Docker and restarting the node.


Fix #834: Do not remove trailing slash from Safe app url

Closes #834: Do not remove trailing slash from Safe app url

cleanedAppUrl (url without trailing slash) should only be used for loading the manifest.json  and the icon. Else relative paths (required for ipfs) in the Safe app will break.
The cleanedAppUrl is still used for the id (afaik is expects the url without the slash at the end to load the icon in the transaction list). Maybe this should be adjusted (see #836 )

Travis automatic deployment:
https://pr839--safereact.review.gnosisdev.com/app

Travis automatic deployment:
https://pr839--safereact.review.gnosisdev.com/app

Travis automatic deployment:
https://pr839--safereact.review.gnosisdev.com/app

Travis automatic deployment:
https://pr839--safereact.review.gnosisdev.com/app

The issue with the "/" was solved. now you can't enter the same app twice.
I've tried adding https://thegerman.de/ several times, but it recognized it was already introduced
I didn't had any issues with the long url apps. I tried adding the Transaction builder again with this URL: https://ipfs.io/ipfs/QmTgnb1J9FDR9gimptzvaEiNa25s92iQy37GyqYfwZw8Aj/ and it worked just fine
Note:
For the duplicated, the validation check's the URL, not its content, so technically you can add the Transaction builder twice if you first use the long URL and then the short URL.
I was told that nothing can be done about this, but still worth mentioning that this situation exists.
Looks good to me

@rmeissner could you take a look at the last commits I pushed?


Links in pdf page are not enabled

I also try to enable annotation (.enableAnnotationRendering(true)) but internal pdf hyperLinks still not work... there is way to make them work?
Thanks in advance.
Alessandro

No, unfortunately links are not implemented

Do you know any way to implement it (also using other renderer)? I absolutely need them for my project. Thanks.

If I know how do it, it would be implemented ;)


#16 button to clear all items at once

Fixes #16
This PR implements the changes requested in #16. I have added the button to clear all items at once. The button calls a clearAllItems function.

#16 needs to be further clarified, before checking this issue.


Suspicious code in LazyFutureStream.lazyFutureStream()

The method has two identical sequential conditionals with different logics. Most likely the second is incorrect.
static <T> LazyFutureStream<T> lazyFutureStream(Stream<T> stream) {
        if (stream instanceof LazyFutureStream)
            return (LazyFutureStream<T>) stream;
        if (stream instanceof LazyFutureStream)
            stream = ((LazyFutureStream) stream).toQueue()
                                                .stream(((LazyFutureStream) stream).getSubscription());
        LazyReact react = new LazyReact(
                                        ThreadPools.getCurrentThreadExecutor(), RetryBuilder.getDefaultInstance()
                                                                                .withScheduler(ThreadPools.getSequentialRetry()),
                                        false, new MaxActive(
                                                             1, 1));
        return new LazyFutureStreamImpl<T>(
                                           react, stream);

    }

Looks redundant, probably orphaned code from a refactoring.
It should never be called from what I can see. Do you want to remove the second instance check and submit a PR?

@johnmcclean-aol yes, would be great.

@johnmcclean-aol
I tried gradle test and it has failed with lots of:
~/cyclops-react/src/main/java/com/aol/cyclops/control/Matchable.java:1573: error: incompatible types: cannot infer type-variable(s) T,V,X
                                         .inCaseOfManyType(predicate, i -> then.get(), predicates)).withType(clazz);
                                                          ^
    (argument mismatch; Function<CAP#1,CAP#2> cannot be converted to Function<? super Object,? extends CAP#3>)
  where T,V,X,R are type-variables:
    T extends Object declared in method <T,V,X>inCaseOfManyType(Predicate,Function<? super T,? extends X>,Predicate<V>...)
    V extends Object declared in method <T,V,X>inCaseOfManyType(Predicate,Function<? super T,? extends X>,Predicate<V>...)
    X extends Object declared in method <T,V,X>inCaseOfManyType(Predicate,Function<? super T,? extends X>,Predicate<V>...)
    R extends Object declared in class CheckValues
  where CAP#1,CAP#2,CAP#3 are fresh type-variables:
    CAP#1 extends Object super: Object from capture of ? super Object
    CAP#2 extends CAP#3 from capture of ? extends CAP#3
    CAP#3 extends R from capture of ? extends R

Do I miss anything?

Most likely upgrading to a later version of Java. We make very heavy use of generics and type inferencing. There has been a lot of JDK bug fixes and enhancements that enable that.


remove arm-specific exlusion for mssql healthcheck

Motivation
the exclusion was here because the tool was not present in the image previously used.
Since #3082 , we use a new image, and that one has the right tool, so we can run the healthcheck on all platforms.
Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[ ] If PR title starts with [<language>], double-check that only <language> is impacted by the change
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team

the 3 CI failures are the same as the ones on main, and have no link with the change being done here

Sorry for asking, but better be safe than sorry 😃 : did you tested on arm ?

yes I ran the scenario INTEGRATION on my (arm64) mac with the healthcheck enabled and it worked fine :)


add support for ai

used openrouter gemma to give response of flashcards in json to the fron-end #2 https://github.com/MungaSoftwiz/recalla/issues/2

Good feature implemented. This will contribute torwards the final product. Thanks.


Using hive mind with overseer

https://github.com/jpillora/overseer
Overseer can run a process but also upgrade it by polling to an external server for new binaries. In so doing it does not drop connections because of its forking style. You read about this on the main page.
Hivemend seems to more of a process manager and so it seems that the two can be combined together really nicely.
You should not to change either library.
Raising this for discussion as I have tried this out and it seems to work.
Have not tried with overmind / tmux yet.

As far as I understand, overseer is more about forking the main process. I don't think hivemind needs this feature because there are no frequent critical releases that are needed to be downloaded asap. And maintaining a server for hivemind binaries doesn't sound good to me.


Director shot linkage to camera shots either not saved or loaded.

How to reproduce issue:

Create new director shot
Generate all camera shots
(Optionally) move director shot and observe working linkage.
Save project
Exit Application and restart it.
Load project
Move director shot, observe that they are no longer linked.

Fixed by #163