lsp4clj utils

Based on a discussion started in #13, the idea was raised of creating a suite of utils for projects that use lsp4clj. This could either be additional namespaces in lsp4clj or (my vote) a separate project.
Things we could move from lsp4clj to the utils:

liveness-probe, which is used to shutdown automatically when the client closes. This is a useful utility, but unrelated to the core responsibility of handling LSP JSON-RPC messages.
coercer, which is used primarily for conforming the server's responses. I dislike 90% of the coercer. IMO, it's primarily a relic of lsp4j. It was useful when we needed to create Java objects, but now its main utility is for converting keywords to integer enum values. That could just as easily be done by looking up the enum values in a map. To be fair, the conformers do more than handling enums; they also restructure data slightly. But again, I'd rather have helper functions that do the same thing. That said, some project might want to use the coercer. They may even want to have utils that automatically apply conformations based on the method name of the JSON-RPC message.

Things we could move from clojure-lsp to the utils:

The IProducer protocol, which is used to send messages to clients. clojure-lsp needs this protocol so that it can swap in a no-op version in tests, and a version that prints messages to stdout in the API. Other servers may need to do the same thing, or they may want a protocol simply to organize their code and make it easier to find usages of the protocol methods.
The ILogger protocol, which is used to add messages to the log. Again, clojure-lsp needs this so it can swap in no-op versions. Other servers might have similar concerns.
shared tools for

managing files
manipulating uris
other cross-platform utilities

Anything else pioneered by clojure-lsp that other servers find useful.
See also https://github.com/clojure-lsp/clojure-lsp/issues/826 and https://github.com/clojure-lsp/clojure-lsp/issues/818, although those are getting stale.

Thanks for the summary. I don't have a strong preference for namespace vs a new library.
I'd like to move the stuff we have in common with clojure-lsp out of our codebase though since it's difficult to keep it synced especially now that I've built some notebook handling stuff that I'd like to also get into clojure-lsp. But your summary does contain most of the stuff I'd like to aggregate.
I also agree with the coercer ns, although it is useful to check what a response should look like. The problem with it seems to be that it's not obvious what the result of a specific call should even be coerced to, although that did get a lot easier with your move away from lsp4j.

some notebook handling stuff that I'd like to also get into clojure-lsp

Cool! I'll look forward to hearing more about that sometime.

it is useful to check what a response should look like

This is personal opinion, but when I'm trying to learn about response structure, I find the LSP spec website much more informative than coercer. For whatever reason, I find it hard to follow deeply nested s/defs and would rather navigate around the website, especially because it includes documentation.
clojure-lsp doesn't really have unit tests that would exercise the coercer, so I also don't find it to be a good tool to debug whether I've generated a correct response. (We could add this kind of test, but I'm not sure we'd see much benefit for reasons described below.)
I also mistrust the coercer's completeness. I know that the LSP spec allows many keys that aren't mentioned in the coercer. And it defines many methods that the coercer doesn't cover at all.
The coercer also lags behind as the LSP spec evolves. This was a flaw with lsp4j too... to get the latest features from the LSP spec, you had to wait for an lsp4j update. We're getting away from that by dropping lsp4j and letting servers implement whichever methods they like. But we're at risk of reintroducing the problem if we rely too heavily on the coercer. If we move the coercer to a util library we may want to take this into account by including the LSP spec version number in the library's version number.
Taking one step back... I think it's useful to consider what value spec.alpha can provide, and whether we're getting that value.

If you spec input to your system, you can provide feedback when outside developers give you bad data. In clojure-lsp we have only a few input validation specs. This is for two reasons. First, we trust the editors to conform to the LSP spec. And second, the editor isn't a human, so it can't react to feedback. At best, we have to notice the feedback, and pass it on to the editor developers.
If you spec output from your system, you can give your own developers feedback when they generate invalid data. This might be useful while you're first developing a server, so that you can confirm you're sending data to the editors that conforms to the LSP spec. But this has limited long-term value. I've been working on clojure-lsp for 8 months and have yet to see a log line about outputting invalid data. The reason is that at this point, most of the work in clojure-lsp is about adding more refactorings and fixing bugs, not about responding to new LSP methods. Even when we do implement new methods, it's rare to correctly s/def those methods but then fail to output data that conforms to the s/defs.
If you expect your data input to be messy or complicated, conformation can be a nice way to put it into a more understandable structure. The new ::json-rpc.input spec, which classifies JSON-RPC message as requests, notifications, or responses is a decent example of this, IMO. Otherwise, since we don't spec many inputs, we don't get much benefit here.
If you want the data you return to look different from what your consumers ultimately need, conformation can be helpful. Helper functions which do this transformation are another option.
If you want to do generative testing, specs are nice. clojure-lsp doesn't use generative tests.

So in summary, I don't think we're getting much value and don't see much prospect in the future.

it's not obvious what the result of a specific call should even be coerced to

I agree 100%. To enumerate some details about why it's hard to know what a spec applies to:

Does ::code-lenses spec an entire top-level thing? Or is it a key inside another thing? Is it supposed to spec the input to a function, the output, or both?
Do generic words like ::code or ::message really mean the same thing in all contexts?
What is our convention for auto-resolved namespaced keys, like ::message or ::command? The first is a keyword that is used in several different places. The second is a collection of keys (in Clojure land a map and in LSP spec land, an interface).

Many projects that use clojure.spec.alpha suffer from these same problems. I have opinions about how to address some of them (separate specs into input, domain, and output namespaces, use namespaced keys in both your code and your specs, don't use auto-resolved keywords in s/keys specs). But that's a separate discussion and I'd rather not spend time overhauling the coercer.
Anyway, I should stop thinking about how I don't like the coercer and be content with working toward using it less in clojure-lsp. :)

For background, the coercer was created 100% to make building trees of java objects easier. Without that requirement, I imagine it's more confusing/brittle/hard to maintain than useful.

I mostly agree with you on the problems of the coercer. My first PR to clojure-lsp was a bug in the coercer that took forever to find 😢 It did catch a few mistakes I had in when first implementing new message types though, but it's not helpful anymore once you have a basic version of that message.
So yeah, unless someone is super eager to put in the work to overhaul it/keep it up to date, I'm happy with removing it. Just having a few very basic tests that show the usage of the various methods might be more helpful as documentation. It might just be me, but the LSP specification often feels a little cumbersome to read, but you're correct that the spread-out sdef isn't much better. I usually cheat by looking at the clojure-lsp implementation to see a rough shape before building our own version of it.


TTController can't find Battlestation 20 desk LED controller

I'm using a Thermaltake Battlestation 20 desk which has a LED controller built in that's AFAIK identical to the Riing Plus controller.
I installed TTController 0.10.0 alpha and I'm able to manage the service (install successfully, start/stop/restart) but I can't select "Debug" to get information about my connected controller.
Using TT iTake software I can control the LEDs without a problem.
Any idea what I'm doing wrong? I understand the default config file is empty but I thought I can get the necessary controller information from the debug mode...

It is greyed out because the service must be stopped for the debug menu to work.

Thanks for the quick response and yes, I should have realized that myself x-)
But it looks like TTController can't find my controller although it is visible as "USB Input Device" in Windows Device Manager and TT iTAKE software can find it and use it.
Any idea what could be the cause of this?

You cant be running both TTController and any other thermaltake software, so make sure only TTController is running.

Yes, I closed the Thermaltake software before but TTController still can't find the LED controller (see screenshot attached).

Oh, I didnt know they have a rgb desk. It will probably use a different controller because it has a lot of leds. So for now I would say that is unsupported.
Can you post output of Device Manager -> Properties (on the desk usb device) -> Details -> Device Instance Path

Thanks for the super quick answers!
Here is the device manager output:
USB\VID_264A&PID_07D1\8&6DC261&0&1

Dont think this is using Riing controller since it has a lot of leds.
This will not be supported for now but if you want you can help by doing this:

Install Wireshark with usbpcap (you will be asked if you want to install usbpcap in the installer)
Start Wireshark
Double click on USBPCap1 capture on the main screen
Start the official software (without the TTController service running)
After 10s-30s stop the capture in wireshark using the red square button
Save and upload the dump using File -> Save As

I need to see the data the official software sends to the desk, preferably rainbow colors, to check if this is possible to add to TTController.

See attached the Wireshark capture.
battlestation20desk_capture.zip

Try this build: TTController_<IP_ADDRESS>-alpha.3.a03efa6cfb53fdf2d9b260be07d24f5fbad9fc81.zip
Sample config, all leds should be red:
{
  "Profiles": [
    {
      "Name": "Desk",
      "Ports": [
        [9802, 2001]
      ],
      "Effects": [
        {
          "Type": "StaticColorEffect",
          "Config": {
            "Color": {
              "Full": [255, 0, 0]
            },
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
          }
        }
      ]
    }
  ],
  "PortConfigs": [
    {
      "Ports": [[9802, 2001]],
      "Config": {
        "DeviceType": "Level20Desk"
      }
    }
  ]
}

Thanks for the great support!
It seems to mostly work now:

I installed the build you linked.
I made sure no Thermaltake software/service is running.
Installed the TTController service.
Checked in debug that it finds the controller now, see screenshot attached.
When I start the service the table indeed turns red (yay!), see photo attached.

But after a few seconds it falls back to the default rainbow animation (boo!), see photo attached.

Is the issue in 6) just a config issue or something else?

Thats weird, maybe it does not like to be updated that often.
Stop the service and from main menu select "Run in console". Run it until it goes into rainbow and stop it by pressing any key. Post the output or the log file.

hmm it doesn't output anything when it switches from solid back to default animation:
12:55:39.5882: ================================================================ 12:55:39.6242: Initializing... 12:55:39.9283: Loading plugin assembly: TTController.Plugin.DpsgController [<IP_ADDRESS>] 12:55:39.9283: Loading plugin assembly: TTController.Plugin.Level20DeskController [<IP_ADDRESS>] 12:55:39.9283: Loading plugin assembly: TTController.Plugin.RiingController [<IP_ADDRESS>] 12:55:39.9283: Loading plugin assembly: TTController.Plugin.RiingPlusController [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.RiingTrioController [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.AuroraEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.BlinkEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.CopyColorEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.FlowEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.PingPongEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.PulseEffect [<IP_ADDRESS>] 12:55:39.9463: Loading plugin assembly: TTController.Plugin.RawEffect [<IP_ADDRESS>] 12:55:39.9582: Loading plugin assembly: TTController.Plugin.RazerConnectEffect [<IP_ADDRESS>] 12:55:39.9582: Loading plugin assembly: TTController.Plugin.RippleEffect [<IP_ADDRESS>] 12:55:39.9582: Loading plugin assembly: TTController.Plugin.SensorEffect [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.SoundEffect [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.SpectrumEffect [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.StaticColorEffect [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.WaveEffect [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.CopySpeedController [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.DpsgSpeedController [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.PwmSpeedController [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.StaticSpeedController [<IP_ADDRESS>] 12:55:39.9752: Loading plugin assembly: TTController.Plugin.AlwaysTrigger [<IP_ADDRESS>] 12:55:39.9912: Loading plugin assembly: TTController.Plugin.LogicTrigger [<IP_ADDRESS>] 12:55:39.9912: Loading plugin assembly: TTController.Plugin.OneTimeTrigger [<IP_ADDRESS>] 12:55:39.9912: Loading plugin assembly: TTController.Plugin.ProcessTrigger [<IP_ADDRESS>] 12:55:39.9912: Loading plugin assembly: TTController.Plugin.PulseTrigger [<IP_ADDRESS>] 12:55:39.9912: Loading plugin assembly: TTController.Plugin.ScheduleTrigger [<IP_ADDRESS>] 12:55:40.0051: Loading plugin assembly: TTController.Plugin.SensorTrigger [<IP_ADDRESS>] 12:55:40.0051: Creating Config Manager... 12:55:40.0790: Loading config... 12:55:40.2276: Creating DataCache... 12:55:40.2276: Creating Plugin Store... 12:55:40.2276: Creating Sensor Manager... 12:55:40.2276: Initializing Libre Hardware Monitor... 12:55:41.1361: Detected 45 sensors 12:55:41.1361: Creating Device Manager... 12:55:41.2149: Searching for "Dpsg" controllers 12:55:41.2757: Searching for "Level 20 Desk" controllers 12:55:41.3246: Initialized "Level 20 Desk" controller [9802, 2001] 12:55:41.3246: Searching for "Riing" controllers 12:55:41.3246: Searching for "Riing Plus" controllers 12:55:41.3246: Searching for "Riing Trio" controllers 12:55:41.3246: Adding plugin "StaticColorEffect" [Desk] 12:55:41.3455: Creating Timer Manager... 12:55:41.3455: Starting 4 timers... 12:55:41.3455: Initializing done! 12:55:41.3495: ================================================================ 12:55:50.6787: ================================================================ 12:55:50.6787: Finalizing... 12:55:50.6787: Disposing Timer Manager... 12:55:50.6787: Stopping 4 timers... 12:55:50.6928: Applying computer state profile: Shutdown 12:55:50.6928: Disposing Sensor Manager... 12:55:50.6928: Finalizing Libre Hardware Monitor... 12:55:50.7335: Disposing Device Manager... 12:55:50.7335: Disposed devices: 1 12:55:50.7335: Disposing Config Manager... 12:55:50.7335: Disposing Plugin Store... 12:55:50.7335: Disposing plugin "StaticColorEffect" [Desk] 12:55:50.7335: Finalizing done! 12:55:50.7396: ================================================================ Press any key to return to the menu...

Ok, open TTController.Service.exe.Config file and change:
      <logger name="*" minLevel="Info" writeTo="file" enabled="true" />
to
      <logger name="*" minLevel="Trace" writeTo="file" enabled="true" />
Then attach the log file.

Ok, open TTController.Service.exe.Config file and change:
 <logger name="*" minLevel="Info" writeTo="file" enabled="true" />
to
 <logger name="*" minLevel="Trace" writeTo="file" enabled="true" />
Then do the same thing and attach the log file.

See attached
current.log

Oh, right. There is an optimization in TTController where if the colors does not change, it wont try to write it again as this is costly.
For now you just need to use other effects that are not static:
{
  "Profiles": [
    {
      "Name": "Desk",
      "Ports": [
        [9802, 2001]
      ],
      "Effects": [
        {
          "Type": "AuroraEffect",
          "Config": {
            "Length": 1024,
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
          }
        }
      ]
    }
  ],
  "PortConfigs": [
    {
      "Ports": [[9802, 2001]],
      "Config": {
        "DeviceType": "Level20Desk"
      }
    }
  ]
}

Ah too bad ... I'm not a big fan of the animation but at least that explains it, thanks :-)
I ran into another issue when I tried to work around the limitation by trying to use the Razer Chroma Link (which works fine with the Thermaltake sofware):
When I'm using the RazerConnect feature TTController crashes with an unhandled exception:

14:10:18.9367: Searching for "Level 20 Desk" controllers
14:10:18.9808: Initialized "Level 20 Desk" controller [9802, 2001]
14:10:18.9808: Searching for "Riing" controllers
14:10:18.9808: Searching for "Riing Plus" controllers
14:10:18.9808: Searching for "Riing Trio" controllers
14:10:18.9808: Adding plugin "RazerConnectEffect" [Desk]
14:10:19.0016: Creating Timer Manager...
14:10:19.0016: Starting 4 timers...
14:10:19.0096: Initializing done!
14:10:19.0096: ================================================================
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at TTController.Common.Plugin.EffectBase1.IsEnabled(ICacheProvider cache) in H:\.projects\csharp\TTController\Source\TTController.Common\Plugin\Effect\EffectBase.cs:line 32    at TTController.Plugin.RazerConnectEffect.RazerConnectEffect.IsEnabled(ICacheProvider cache) in H:\.projects\csharp\TTController\Plugins\Effects\TTController.Plugin.RazerConnectEffect\RazerConnectEffect.cs:line 20    at TTController.Service.TTService.<DeviceRgbTimerCallback>b__20_1(IEffectBase e) in H:\.projects\csharp\TTController\Source\TTController.Service\TTService.cs:line 441    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func`2 predicate)
at TTController.Service.TTService.DeviceRgbTimerCallback() in H:.projects\csharp\TTController\Source\TTController.Service\TTService.cs:line 439
at TTController.Service.Managers.TimerManager.<>c__DisplayClass3_0.b__0(Object sender, TimerElapsedEventArgs args) in H:.projects\csharp\TTController\Source\TTController.Service\Managers\TimerManager.cs:line 37
at TTController.Service.Managers.TimerManager.Timer.ExecuteTimer() in H:.projects\csharp\TTController\Source\TTController.Service\Managers\TimerManager.cs:line 243
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
C:\Program Files\TTController>

Here is my config:
{
"Profiles": [
{
"Name": "Desk",
"Ports": [
[9802, 2001]
],
"Effects": [
{
"Type": "RazerConnectEffect",
}
]
}
],
"PortConfigs": [
{
"Ports": [[9802, 2001]],
"Config": {
"DeviceType": "Level20Desk"
}
}
]
}

You always need to add some type of trigger:
      {
          "Type": "RazerConnectEffect",
          "Config": {
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
      }

Ah ok, I'm just stupid :-D
Thanks for all the help. I have another issue with the RazerConnect feature (only seems to work for the first LED instead of the whole table) but i'll open a separate issue for that to not confuse things :-)
Would be lovely to see static colors work at some point!
Thanks for the great support!

Try this build: TTController_<IP_ADDRESS>-alpha.6.78de8322289c75658a5445f07b31602b8698234e.zip
Added a way to disable cache optimization:
"PortConfigs": [
    {
      "Ports": [[9802, 2001]],
      "Config": {
        "DeviceType": "Level20Desk",
        "IgnoreColorCache": true
      }
    }
  ]

So now the static color should work fine, but it will update it 30 times per second.
Only the first 4 leds light up because razer effect only provides 4 colors. You need to stretch them to match. See this

Try this build: TTController_<IP_ADDRESS>-alpha.6.78de8322289c75658a5445f07b31602b8698234e.zip
Added a way to disable cache optimization:
"PortConfigs": [
    {
      "Ports": [[9802, 2001]],
      "Config": {
        "DeviceType": "Level20Desk",
        "IgnoreColorCache": true
      }
    }
  ]

So now the static color should work fine, but it will update it 30 times per second.

Nope, still doesnt' work... falls back to default rainbow animation after a few seconds again.

Only the first 4 leds light up because razer effect only provides 4 colors. You need to stretch them to match. See this

Thank you! This worked.
Same issue with static colors (falling back to Rainbow animation) if I configure them in Razer Chroma/Synapse by the way but I guess this is expected :-)

AAAAH it works!

Nice 👍
Thanks for help with implementing this.


Update dependencies

Although when I do npm install it generates a very different package-lock.json.  I may try to delete node_modules sometime today to see if I can do a fresh npm install and not generate a new lock file.


chore: eslint no-unnecessary-condition

:tada: This PR is included in version 4.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Submit project to Devtoberfest GitHub

Added my SAPUI5Course project for teaching UI5 best practices

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.galandd seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I think you have to rename the PR to WEEK2CHALLENGE <uuid>

Hello,
Sorry, I just adapted the title of the pull request, this is the correct title now.
Thank you
Denis

I will add a better open source project.
Regards
Denis


Support schema for List, Set, Map and Array of objects

Issue

Closes ##1480 [BUG] A list of objects is not serialised correctly
Change
DefaultToolExecutor now handles List, Array, Set, Map
General checklist

[X] There are no breaking changes
[X] I have added unit and integration tests for my change
[X] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green
[ ] I have manually run all the unit and integration tests in the core and main modules, and they are all green

[ ] I have added/updated the documentation
[ ] I have added an example in the examples repo (only for "big" features)
[ ] I have added/updated Spring Boot starter(s) (if applicable)

Checklist for adding new model integration

[ ] I have added my new module in the BOM

Checklist for adding new embedding store integration

[ ] I have added a {NameOfIntegration}EmbeddingStoreIT that extends from either EmbeddingStoreIT or EmbeddingStoreWithFilteringIT
[ ] I have added my new module in the BOM

Checklist for changing existing embedding store integration

[ ] I have manually verified that the {NameOfIntegration}EmbeddingStore works correctly with the data persisted using the latest released version of LangChain4j

@Wadimz @langchain4j  Please check and merge.

@gs-snagaraj there are conflicts, could you please check?

@Wadimz @langchain4j  Please check and merge.

@gs-snagaraj since I did not get any answer and I was reworking that part of the code, I will close this PR.
It will be fixed as a part of https://github.com/langchain4j/langchain4j/pull/1668.
Thank you for your PR! BTW, I have copied your tests, it helped a lot!


Issue with Installation

Hello! I'm trying to install apscale_gui, and have all of the dependencies installed.  However, when I run the command apscale_gui, I get the following error message:
INTEL MKL ERROR: dlopen(/Users/alexandriaim/opt/anaconda3/lib/libmkl_core.dylib, 0x0009): tried: '/Users/alexandriaim/opt/anaconda3/lib/libmkl_core.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/alexandriaim/opt/anaconda3/lib/libmkl_core.dylib' (no such file), '/Users/alexandriaim/opt/anaconda3/lib/libmkl_core.dylib' (no such file). Intel MKL FATAL ERROR: Cannot load libmkl_core.dylib.
Any thoughts about what might be causing this?
Thank you so much!

I have not yet seen this error. Could you please tell me what operating system you are using and how you tried to install apscale-gui?


An error occurred getting entities in web UI Datasets tab

After installing Linkedin's WhereHows following the github docs (https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#getting-started), logging into the web UI, and navigating to the Datasets tab, it complains
An error occurred getting entities

SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data

Looking at the developer console in the web browser, can see the error outputs
SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data[Learn More]  vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
	tryCatcher http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
	invokeCallback http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65437:15
	publish http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65422:9
	Queue</Queue.prototype.invoke http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27963:17
	Queue</Queue.prototype.flush http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27848:25
	DeferredActionQueues</DeferredActionQueues.prototype.flush http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28035:25
	Backburner</Backburner.prototype.end http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28169:26
	Backburner/this._boundAutorunEnd http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28131:17
Unhandled promise rejection SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data
Stack trace:
tryCatcher@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
invokeCallback@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65437:15
publish@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65422:9
Queue</Queue.prototype.invoke@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27963:17
Queue</Queue.prototype.flush@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27848:25
DeferredActionQueues</DeferredActionQueues.prototype.flush@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28035:25
Backburner</Backburner.prototype.end@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28169:26
Backburner/this._boundAutorunEnd@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28131:17

Does anyone know what this error means and where to look to investigate further (first time working with wherehows and the given output on its own it not very helpful to my uninitiated self)?
** Note my configuration variables for the Play frontend (https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#frontend-setup) look like
export WHZ_DB_USERNAME="wherehows"
export WHZ_DB_PASSWORD="wherehows"
export WHZ_DB_URL="jdbc:mysql://localhost/wherehows"

export WHZ_ES_DATASET_URL="localhost:9200/wherehows"
export WHZ_ES_METRIC_URL="localhost:9200/_nodes/stats" (honestly don't know if this is correct (don't use elasticsearch much))
export WHZ_ES_FLOW_URL="localhost:9200/wherehows/flows_jobs"

export YOUR_HDFS_BROWSER_LINK="http://node004.myco.local:8888/filebrowser/#"

export WHZ_LDAP_URL="ldap://co.myco.local:389"
export<EMAIL_ADDRESS>export WHZ_LDAP_SEARCH_BASE="ou=mapr access,dc=co,dc=local"

Looking at this github issue seems to dedscribe something similar recent problem (around May 1, 2018) (https://github.com/linkedin/WhereHows/issues/1131#issuecomment-385882867). The response is in chinese, but using google translate it reads:

The latest code has a dao method did not write SQL, throw an exception directly, may be the author has not finished, you can try to use the 1.0.0 this tag, I tried this is no problem

So checking out the commit with tag v1.0.0
git checkout tags/v1.0.0

Adding redoing the parts of the installation that needed redoing (eg. adding the extralibs, setting the frontend configuration variables, starting the front- and backends), I see that error message no longer appears.

I use the tag v1.0.0 , but it alerts error as above when build it.


‘Purifier' object has no attribute 'timer'

I get the following error when adding the integration as well as when restarting Home Assistant.
I am using Home Assistant core and have the coway folder symlinked into my custom_components folder. Using the latest release tag.
I had updated to 2022.3.0 and my Coway integration stopped working, so I decided to try this fork since it is more actively maintained.
I checked the 2022.3.0 release notes for a breaking change that might cause this but don’t see one… maybe I missed it…
Traceback (most recent call last):
  File "/opt/ha/lib/python3.9/site-packages/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
    await asyncio.gather(*tasks)
  File "/opt/ha/lib/python3.9/site-packages/homeassistant/helpers/entity_platform.py", line 521, in _async_add_entity
    original_icon=entity.icon,
  File "/home/ha/.homeassistant/custom_components/coway/select.py", line 75, in icon
    if self.current_option is "OFF":
  File "/home/ha/.homeassistant/custom_components/coway/select.py", line 83, in current_option
    return IOCARE_TIMERS_TO_HASS.get(self.coordinator.data[self._device].timer)
AttributeError: 'Purifier' object has no attribute 'timer'

Turns out this was caused by the actual device being offline.
I guess I was unlucky enough that it went offline around the time I  was upgrading.

Purifiers are set to become unavailable if Coway's servers show the purifier as not being connected to their servers. On rare occasions, as I've found out myself, their servers fail to update some endpoints and show old information - in your case the endpoint that contains info about the purifier's connection to Coway's servers hadn't updated, but the endpoint that returns info about the purifier had updated and correctly showed no info is available.
I'll need to add an additional check to the code for situations such as this one and log that the purifier is potentially offline.

@kvermilion Pushing a release shortly to properly log if a purifier is offline. Thanks for bringing this to my attention.


Use mip/minip cutoff for Volume

Description
Set the cutoffs for discarding fragments in Volume based on contrast limits. The best showcase of why this is useful is explained in the vispy PR that introduced it. This comment here shows the benefit of correctly setting the cutoffs, and this other comment outlines what's causing the issue in the first place.
In practice, this change will lead to less "trippy nonsense" when using mip + translucent + other depth based stuff. For example, see this code before (top) and after (bottom) the change; notice in particular how much black stuff (i.e: low contrast pixels) is covering bright pixels behind.
from skimage import data, feature, filters
import napari

cells = data.cells3d()
nuclei = cells[:, 1]
smooth = filters.gaussian(nuclei, sigma=10)
pts = feature.peak_local_max(smooth)

viewer = napari.view_image(cells, channel_axis=1, name=['membranes', 'nuclei'], blending='translucent', ndisplay=3)

mem = viewer.layers[0]
mem.contrast_limits = 8693.41836734694, 20730.45918367347
nucl = viewer.layers[1]
nucl.contrast_limits = 6687.244897959184, 50154.336734693876
viewer.add_points(pts)

napari.run()

https://user-images.githubusercontent.com/23482191/169536941-793301a8-b9bd-4a46-8336-78304bf2d6ec.mp4
In the future, what we really want is to use transparent-to-color colormaps and discard based on alpha value. At the moment, however, this is the best fix due to vispy's current limitations with transparency.
This PR was supposed to go hand-in-hand with the move to vispy 0.10, but it took a bit longer because I hadn't figure out the trick of using Volume._texture.clim_normalized, and things just seemed broken.
cc @alisterburt @jni

Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Good stuff! Merging now
This example really highlights how composing volumes + points together with depth might generally be wrong but two volumes this way is still probably best... this makes it hard to choose a sane default 😆

Good stuff! Merging now
This example really highlights how composing volumes + points together with depth might generally be wrong but two volumes this way is still probably best... this makes it hard to choose a sane default laughing

Yeah... I still think this points in the direction of having points be the outlier and use no_depth.


Misleading RAM info in README

In the README under supported chips there is this sentence:
Original ESP32 - That being the ESP-WROOM-32 module with ESP32‑D0WDQ6 chip from 2017. This MCU has 520kB of SRAM which is much more than all the recent 'reboots' of the ESP32 such as the S2, S3 etc.

I think this is a bit misleading. The ESP32-S3 has 512kB of SRAM, instead of 520kB. Maybe the wording should be a bit different. The S2 also has 320kB which is less, but i wouldn't say "much less".

The sentence is already correct.
ESP32 (this mcu) > ESP32-S3 (one of recent reboots)
ESP32 (this mcu) > (much more than) ESP32-S2
I think it should be elaborated more clearly.

The sentence is this in short:
`ESP32‑D0WDQ6 has much more SRAM, than reboots such as S2 and S3.
It's true for S2, but S3 has almost the same amount of RAM as ESP32‑D0WDQ6.

Feel free to raise a pull request to update the documentation to wording you think is more appropriate.

Sure will think of something tomorrow. Maybe a table with RAM on supported chips and a full list of unsupported chips (RISC family).

For now, I've removed this text completely.

I think the new wording is fine. Also the supported chips are clear. Should I still add a table of supported chips and their corresponding RAM or do you think it is fine like it is now?

Totally up to you! I'm cool either way.


feat: render named stack traces on ssz type errors

Motivation
Whenever there's an SSZ error, the stack trace looks like this
Error: First offset must equal to fixedEnd 376 != 344
  at readVariableOffsets (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:448:15)
  at ContainerType.getFieldRanges (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:399:21)
  at ContainerType.value_deserializeFromBytes (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:201:30)
  at ContainerType.value_deserializeFromBytes (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:208:36)
  at ContainerType.deserialize (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/abstract.ts:135:17)

which sucks because you wonder, which is the offending property? Where should I go look next?
Would be awesome if the stack trace also included the path of what property is causing the error. Previous attempts:

Add try / catch on every method and concatenate the path of the error, for example: state.executionPayloadHeader.excessGas. However this requires adding tons of boilerplate code + has a serious performance penalty.

But what if instead of rendering ContainerType in stack trace rows it rendered BeaconStateCapella? Well, that's what this PR does
Description
The above error renders with this PR like
Error: First offset must equal to fixedEnd 376 != 344
  at readVariableOffsets (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:448:15)
  at ExecutionPayloadHeaderCapellaType.getFieldRanges (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:399:21)
  at ExecutionPayloadHeaderCapellaType.value_deserializeFromBytes (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:201:30)
  at BeaconStateCapellaType.value_deserializeFromBytes (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/container.ts:208:36)
  at BeaconStateCapellaType.deserialize (/home/lion/Code/eth2.0/lodestar/node_modules/@chainsafe/ssz/src/type/abstract.ts:135:17)

Much nicer! The key here is to force JS to pick up a dedicated "object name" for each class instance. I've tried many hacks to do that dynamically but all fail.

All engines I've tried consider object.name a read-only immutable property
They appear to pick the name of the prototype, not of the instance. So if there are multiple instances of ContainerType they will all have the same name
The only viable option I've found is to declare a new class for each type, so they have a custom name.

Relevant sources on dynamic object names

https://stackoverflow.com/questions/33605775/es6-dynamic-class-names

Drawbacks

This change will cause all SSZ operations to require one extra hop up the prototype chain. I've not seen that to cause any noticeable performance penalties, and modern engine should cache those paths anyway
Typescript compilation seems to take the same time, no observed issue there

Please use something like this:
import {ContainerType, Type} from "@chainsafe/ssz";

export function namedContainer<Fields extends Record<string, Type<unknown>>>(
  name: string,
  fields: Fields,
  opts?: ConstructorParameters<typeof ContainerType>[1]
): ContainerType<Fields> {
  const NamedContainerType = new Function("superClass", `return class ${name} extends superClass {}`)(
    ContainerType
  ) as typeof ContainerType;

  return (new NamedContainerType(fields, opts) as unknown) as ContainerType<Fields>;
}

const BeaconBlockHeader = namedContainer(
  "BeaconBlockHeaderType",
   {
    slot: Slot,
    proposerIndex: ValidatorIndex,
    parentRoot: Root,
    stateRoot: Root,
    bodyRoot: Root,
  },
  {typeName: "BeaconBlockHeader", jsonCase: "eth2", cachePermanentRootStruct: true}
);

@wemeetagain  wow that's a wonderful hack! Much cleaner than my approach. I've upstream this to SSZ, please review there and let's cut a release

https://github.com/ChainSafe/ssz/pull/286

benchmarks wtf

maybe we should deploy this and make sure there's no performance regression :sweat_smile:

It would be good to add a test to ensure naming consistency
eg:

for every type

if the type is only in one fork, that the name of the class matches the exported name of the type
if the type is only in multiple forks, that the name of the class matches the exported name of the type with the fork name appended

I've been trying to get a CPU profile to understand the performance decrease but all profiles return no data, as the application is in idle when running this script
import {generatePerfTestCachedStatePhase0} from "../../../../../../state-transition/test/perf/util.js";
import {getPubkeysForIndices} from "../../../../../src/api/impl/validator/utils.js";
import {linspace} from "../../../../../src/util/numpy.js";

const state = generatePerfTestCachedStatePhase0();

for (let i = 0; true; i++) {
  const indexes = linspace(0, 1000);
  getPubkeysForIndices(state.validators, indexes);

  if (i % 1000 === 0) {
    await new Promise((r) => setTimeout(r, 0)); // yield for tooling to capture data
  }
}

@dapplion I was able to get this running.  See the flamegraph below.  I ran for 1000 iterations.  I included the zip as well.

getPubkeysForIndices-flamegraph.zip

@matthewkeil thank you! However the profile you shared captures the data preparation only (generate state and compute it's root). I upddated the code snippet with comments, could you capture a profile only after the comment // Infinite benchmark?

@dapplion here are two zips.  Both were 1M runs through the loop.  Unstable takes 32s and dapplion/named_types takes 1177s (33x longer).  You can serve them locally with http-server or similar.  I looked at them both and there is a lot of difference and a lot of garbage collection on the named-types branch.  I am going to analyze more deeply and look at the ssz code to try and sort through the differences.  In the viewer webpage there are buttons at the bottom to see the internals/cpp/native etc and turning them all on makes it more apparent what is going on but not clear why its taking so long.  Perhaps your keep eye will be helpful.
npm i -g http-server
cd /folder/with/both/unzipped
http-server

Then open a browser to http://localhost:8080 and navigate to the two flamegraph.html.
unstable_32s_1M_runs.zip
named_types_1177s_1M_runs.zip

closing as stale, discussion can continue in https://github.com/ChainSafe/lodestar/issues/6356, PR can reopen on progress


Parse only what's needed to run the recipe

What problem are you trying to solve?
While trying to run the org.openrewrite.maven.OrderPomElements recipe, I was hoping that it would only parse and process my pom files and apply the transformations needed
What I noticed however is that it seems to be scanning all the source files instead
[INFO] --- rewrite:5.11.0:run (default-cli) @ ---
[INFO] Using active recipe(s) [org.openrewrite.maven.OrderPomElements]
[INFO] Using active styles(s) []
[INFO] Validating active recipes...
[INFO] Project [parent] Resolving Poms...
[INFO] Project [parent] Parsing source files
[INFO] Project [child project 1] Parsing source files
[INFO] Project [child project 2] Parsing source files
[INFO] Project [child project 3] Parsing source files
[INFO] Project [child project 4] Parsing source files

Describe the solution you'd like
In an ideal world, recipes that do not need to modify Java files like this one only parse what is needed. To process and reformat a few XML files, I'd expect the recipe to run in a few milliseconds at most
Have you considered any alternatives or workarounds?
I am not aware of any alternatives
Additional context
The reason I suspect that this scanned my entire source files is that the build took over 5 minutes to complete when changing a few pom files should not take that long
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:11 min (Wall Clock)
[INFO] Finished at: 2023-11-15T15:37:27-05:00

Hi @yeikel ; Thanks for the suggestion! We did this in a distant past, but have stopped doing this as it's nowadays quite common for scanning recipes to operate across file types, for instance only adding a dependency if a particular Java type is used. Such cases make it relatively rare for any recipe to only affect one particular file type, and the logic to track and selectively parse would make this quite complicated quickly. It'll almost certainly have to land in both of the plugins, and since you're using Maven I suggest to close this issue and watch this one for any work towards this:

https://github.com/openrewrite/rewrite-maven-plugin/issues/643#issuecomment-1768639952

Thanks for the feedback. Could this be considered for Maven recipes?
Even if a scan is needed, we know that all maven builds have a single or multiple files with the exact pom.xml name
I am pushing because it feels considerably wasteful to scan and parse Java files when the target is a single file. In this particular example, my project had thousands of java files and 4 pom files
If this alternative is still rejected, would it make sense to add optional parameters to limit recipes to certain files?


feat: Add functor and semigroupal for JsonLDDecoder

Adds implementations for Functor and Semigroupal to allow the mapN syntax enhancement.

Cannot be defined generically for all JsonLDDecoders, bc they work a bit differently if applied to a flattened json.


LIIKUNTA-197 | Show opening hours for selected date

Description
Modifies the InfoBlock for opening hours on the search list to show opening hours for the selected date.
Refactors unified search integration to allow for more accurate typings.
Issues
Closes
LIIKUNTA-197:
Screenshots

Codecov Report

Merging #100 (7621559) into main (fe608c1) will decrease coverage by 1.33%.
The diff coverage is 15.21%.

@@            Coverage Diff             @@
##             main     #100      +/-   ##
==========================================
- Coverage   69.50%   68.16%   -1.34%
==========================================
  Files         106      107       +1
  Lines        1666     1709      +43
  Branches      381      382       +1
==========================================
+ Hits         1158     1165       +7
- Misses        507      543      +36
  Partials        1        1

Impacted Files
Coverage Δ

src/domain/graphql/LiikuntaLoggerPlugin.ts
0.00% <0.00%> (ø)

src/domain/unifiedSearch/unifiedSearchConstants.ts
100.00% <ø> (ø)

src/domain/unifiedSearch/graphql/__generated__.ts
16.27% <16.27%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fe608c1...7621559. Read the comment docs.


Can't separate any song

When extracting the files from the release to the original location where I installed SpleeterGUI, the programs says that there is no input argument, as shown in the image here

I believe you are using an older version of the core Spleeter software, you should be able to update it to the latest version by clicking the "spleeter core upgrade" button under the help menu. They introduced some breaking changes with Spleeter 2.1.0, but this program should work with any later version!


[SPARK-8221][SQL]Add pmod function

https://issues.apache.org/jira/browse/SPARK-8221
One concern is the result would be negative if the divisor is not positive( i.e pmod(7, -3) ), but the behavior is the same as hive.

Merged build triggered.

Merged build started.

Test build #34760 has started for   PR 6783 at commit b18a861.

Merged build finished. Test FAILed.

Test build #34760 has finished for   PR 6783 at commit b18a861.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Build triggered.

Build started.

Test build #34900 has started for   PR 6783 at commit 01a0f3b.

Test build #34900 has finished for   PR 6783 at commit 01a0f3b.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34903 has started for   PR 6783 at commit ca9cc53.

Test build #34903 has finished for   PR 6783 at commit ca9cc53.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34912 has started for   PR 6783 at commit 90e588c.

Test build #34912 has finished for   PR 6783 at commit 90e588c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34963 has started for   PR 6783 at commit 88c63ab.

Test build #34963 has finished for   PR 6783 at commit 88c63ab.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

LGTM except the full type APIs

@adrian-wang @chenghao-intel , wondering what type of api we should reserve regarding to this kind of api  def pmod(leftName: String, r: Integer): Column ?   I guess it would be a good thing that enable such input:  select pmod(columName, 10) .. from ...

@zhichao-li if you are using sql(), even without those APIs, the query will still work. It is just for dataframe api

hum... right . It just give us a convenient way to enable df.select(pmod($"a", 10)) without using verbose literal wrapper. I'll remove it if not too much benefit we can gain from those.

Merged build triggered.

Merged build started.

Adding API is easier, but remove the published API is difficult, let's keep the DF API as simple as much.

Test build #34975 has started for   PR 6783 at commit b5233a2.

Test build #34975 has finished for   PR 6783 at commit b5233a2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Build triggered.

Build started.

Test build #35116 has started for   PR 6783 at commit 372b66c.

Test build #35116 has finished for   PR 6783 at commit 372b66c.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #35203 has started for   PR 6783 at commit 9be7e4c.

Test build #35203 has finished for   PR 6783 at commit 9be7e4c.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest this please.

retest this please.

Merged build triggered.

Merged build started.

Test build #35209 has started for   PR 6783 at commit 9be7e4c.

Test build #35209 has finished for   PR 6783 at commit 9be7e4c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #35231 has started for   PR 6783 at commit a2d55d0.

Merged build triggered.

Merged build started.

Test build #35243 has started for   PR 6783 at commit 6cf6298.

Test build #35231 has finished for   PR 6783 at commit a2d55d0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest this please. Seems like fail by overload.

Merged build triggered.

Merged build started.

Test build #35245 has started for   PR 6783 at commit 6cf6298.

Test build #35245 has finished for   PR 6783 at commit 6cf6298.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Test build #35243 timed out     for PR 6783 at commit 6cf6298     after a configured wait of 175m.

Merged build finished. Test FAILed.

retest this please.

Build triggered.

Build started.

Test build #35514 has started for   PR 6783 at commit 6cf6298.

Test build #35514 has finished for   PR 6783 at commit 6cf6298.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Build finished. Test PASSed.

@chenghao-intel

Merged build triggered.

Merged build started.

Test build #35635 has started for   PR 6783 at commit d903970.

Test build #35635 timed out     for PR 6783 at commit d903970     after a configured wait of 175m.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #35662 has started for   PR 6783 at commit fcd2255.

Test build #35662 has finished for   PR 6783 at commit fcd2255.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #36552 has started for   PR 6783 at commit cbaf9f5.

Test build #36552 has finished for   PR 6783 at commit cbaf9f5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

cc @rxin @davies  could you take a look at this?

Merged build triggered.

Merged build started.

Test build #36879 has started for   PR 6783 at commit 129c993.

Test build #36879 has finished for   PR 6783 at commit 129c993.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Can you rebase the code?

Merged build triggered.

Merged build started.

Test build #37022 has started for   PR 6783 at commit b84b4a1.

@rxin @davies @chenghao-intel  Just rebased the code according to the comment . Could you please take a look if there's anything need to be changed?

LGTM, except a minor comment.

Test build #37022 has finished for   PR 6783 at commit b84b4a1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #37029 has started for   PR 6783 at commit a09ddfc.

Test build #37029 has finished for   PR 6783 at commit a09ddfc.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #37111 has started for   PR 6783 at commit 8e1b478.

Test build #37111 has finished for   PR 6783 at commit 8e1b478.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest it please.

retest this please.

Merged build triggered.

Merged build started.

Test build #37122 has started for   PR 6783 at commit 8e1b478.

Test build #37122 has finished for   PR 6783 at commit 8e1b478.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Test build #1046 has started for   PR 6783 at commit 8e1b478.

@davies , any thought on this? I guess you faced some similar flaky test issues before?
`FAIL: test_time_with_timezone (main.SQLTests)
Traceback (most recent call last):
File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/sql/tests.py", line 718, in test_time_with_timezone
self.assertEqual(now, now1)
AssertionError: datetime.datetime(2015, 7, 12, 23, 23, 33, 412148) != datetime.datetime(2015, 7, 12, 23, 23, 33, 412147)`

#7363 just merged, maybe you need to retest it.

Test build #1057 has started for   PR 6783 at commit 8e1b478.

Test build #1046 has finished for   PR 6783 at commit 8e1b478.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #1057 has finished for   PR 6783 at commit 8e1b478.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Build triggered.

Build started.

Test build #37183 has started for   PR 6783 at commit 63d928c.

Merged build triggered.

Merged build started.

Test build #37189 has started for   PR 6783 at commit 0493dc4.

Test build #37189 has finished for   PR 6783 at commit 0493dc4.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Test build #37183 has finished for   PR 6783 at commit 63d928c.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Build finished. Test FAILed.

retest this please.

Merged build triggered.

Merged build started.

Test build #9 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #37198 has started for   PR 6783 at commit 0493dc4.

Test build #37198 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest this please. Fail by timeout after 1 minute

Merged build triggered.

Merged build started.

Test build #11 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #37208 has started for   PR 6783 at commit 0493dc4.

Test build #9 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Test build #11 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

retest this please.

Merged build triggered.

Merged build started.

Test build #37219 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #13 has started for   PR 6783 at commit 0493dc4.

Test build #37208 has finished for   PR 6783 at commit 0493dc4.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

Test build #37219 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Test build #13 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest this please.

Merged build triggered.

Merged build started.

Test build #18 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #37291 has started for   PR 6783 at commit 0493dc4.

Test build #18 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Test build #37291 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

retest this please.

Merged build triggered.

Merged build started.

Test build #37321 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #20 has started for   PR 6783 at commit 0493dc4.

@zhichao-li this looks pretty good now. Just need to update it to work with the latest type checking framework.

Merged build triggered.

Merged build started.

Test build #37332 has started for   PR 6783 at commit 0493dc4.

Merged build triggered.

Merged build started.

Test build #37334 has started for   PR 6783 at commit 7083eb9.

Test build #37332 has finished for   PR 6783 at commit 0493dc4.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #37335 has started for   PR 6783 at commit 7083eb9.

Test build #20 has finished for   PR 6783 at commit 0493dc4.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Test build #37321 has finished for   PR 6783 at commit 0493dc4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test FAILed.

Merged build finished. Test PASSed.

Test build #37334 has finished for   PR 6783 at commit 7083eb9.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class LDAModel(JavaModelWrapper):
class LDA(object):
trait ImplicitCastInputTypes extends ExpectsInputTypes
abstract class BinaryOperator extends BinaryExpression with ExpectsInputTypes
case class UnaryMinus(child: Expression) extends UnaryExpression with ExpectsInputTypes
case class UnaryPositive(child: Expression) extends UnaryExpression with ExpectsInputTypes
case class Abs(child: Expression) extends UnaryExpression with ExpectsInputTypes
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic
case class BitwiseNot(child: Expression) extends UnaryExpression with ExpectsInputTypes
case class Factorial(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Hex(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Unhex(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Round(child: Expression, scale: Expression)
case class Md5(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Sha1(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Crc32(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Not(child: Expression)
case class And(left: Expression, right: Expression) extends BinaryOperator with Predicate
case class Or(left: Expression, right: Expression) extends BinaryOperator with Predicate
trait StringRegexExpression extends ImplicitCastInputTypes
trait String2StringExpression extends ImplicitCastInputTypes
trait StringComparison extends ImplicitCastInputTypes
case class StringSpace(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class StringLength(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Ascii(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class Base64(child: Expression) extends UnaryExpression with ImplicitCastInputTypes
case class UnBase64(child: Expression) extends UnaryExpression with ImplicitCastInputTypes

Merged build finished. Test FAILed.

Test build #37335 has finished for   PR 6783 at commit 7083eb9.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Pmod(left: Expression, right: Expression) extends BinaryArithmetic

Merged build finished. Test PASSed.

lgtm

Alright I'm merging this. Thanks a lot for working on it.


Instances with no kernel sessions are not shutdown

If a instance/app has no running kernel sessions, it will not be shutdown by the idle timeout.
It looks like this is supposed to happen, but is stubbed out here: https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension/blob/9306dff664bf5ad0581707bae7109fcce9cb8a0e/sagemaker_studio_autoshutdown/idle_checker.py#L138-L141

Same issue here.
It caused a 100% cost increase this month.
BR
/Edgar

Thank you for submitting this issue report. Yes, this is a corner case what we are currently not handling. As it was pointed out, the extension won't find those Studio applications which does not have at least one kernel, hence these apps won't be deleted. For example, this can happen when there is an image terminal is still running in the background.
We are investigating on how to cover this edge case as well. Until then, we updated the documentation to have this limitation highlighted.

We have addressed this issue in v0.1.1. Applications with no kernel or terminal sessions will be terminated after the timeout set (or after 5 minutes, whichever is longer). If there are terminal sessions but no active kernels, you can set if we should keep the terminals running, hence do not shut down the apps or terminate the app anyway.

Will you publish the new release?
BR
/E


Newznab update

Motivation for changes:
Searches on unlisted categories cannot currently be executed. This allows a search across all categories
Detailed changes:

added a third search option besides do_search_movies and do_search_tvsearch. Method is called do_search_all

Config usage if relevant (new plugin or updated schema):
same as before, except it can now accept category: all
To Do:

[ ] Discuss whether we should work on building out the categories

Developement credit to flexget user 'SBan'

@liiight I simply copied the original code and used it for searching all categories. I made the two updates you suggested. Should I go ahead and make those two changes in the original author's methods, as well?

@metaMMA do as you see best, that's pretty much how we operate here. Let us know when to merge :)

@gazpachoking @liiight
I think this one is ready to be merged.

@liiight How's it look, now?

I probably would have left the 'params' dict separate from the config, just a style thing, to keep the user specified 'config' separate from our computed params. Not a big enough deal I think it's a blocker though. LGTM


Comprehensive New Update Available - Update Your Folder Now

A new update is now available
CardCraftableList.json
CardList.json
dllog.txt
ItemID.json
Regulation.json
RegulationIcon.json
RegulationInfo.json
Shop.json
StructureDecks.json
TitleLoop.json
YdkIds.txt
Download the update from zip file.
Extract and copy the contents to your game folder, replacing the old files.
Restart your game to apply the update.
Ensure to backup your game folder before updating. Enjoy the new card data!

If you want to play PvP, please download this folder. https://mega.nz/folder/Nm8RBAxb#QcVe3UQw3b2XuA039IAt0w

Hello, i was replace those files (And CardData folder), but my card list and all packs are gone, i dont know what problem is?

no cards present with the packs in the shop

This does not work, was causing error in "dueling" fixed the "Regulation" made a new list with 12518 cards, the shop still causing problems so I did not add anything, but also see no use in the shop, Just modify the Settings and open all cards and all items.


Notify shipit on deployment

This PR was successfully deployed to production by CircleCI build 78 at 2017-02-13 17:02 GMT.


Pull request close not uninstalling deployment any more

The pull request close action used to run a Helm uninstall and an oc delete (for secrets and pvcs) and this didn't seem to happen any more from my observations today
See on_pr_closed.yaml
AC:

Confirm this observation
When we close a PR it uninstalls the release and removes OCP objects

Discussed with Ivan and investigated, this was my timing mistake with a couple PRs. Due to asynchronisity of the actions what happened was I merged in changes from main and then closed the PR at the same time, so the uninstall and install actions were happening at the same time. The uninstall happens quickly, then the build takes some time and the next deployment happens and re-creates the environment
For example, for 700, see discussion:

I see a delete action at Jul 11 8:39
https://github.com/bcgov/traction/actions/runs/5527303019
But then also a install action Jul 11 8:39
https://github.com/bcgov/traction/actions/runs/5527302327
Maybe I did a rebase new code in and then merged too quickly after
Yeah sorry that might be my bad where I merged in the updated code and then closed Gavin's PR at the same time. So could have been as you said, uninstall and then a reinstall after
No but it was an update to the PR, so that would trigger install/upgrade PR Instance
Likely what happened was I hit
update branch
merge
So the install/upgrade action would have worked away, the delete one completed, then the install do a deploy
Yeah I think just dumb timing on my part

So likely no action needed, will monitor for if we see anything happen again.
Will follow better development practices and actually ensure merges/rebases to branch actually work before merging and closing 😄


fix(script): clear output when exec-if fails

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[x] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Other: Replace this with a description of the type of this PR

Description
Fixes the issue when output is not cleared after exec-if failed.
Related Issues & Documents
Closes #2674
Documentation (check all applicable)

[ ] This PR requires changes to the Wiki documentation (describe the changes)
[ ] This PR requires changes to the documentation inside the git repo (please add them to the PR).
[x] Does not require documentation changes

Oh, I saw that you tried to retarget the PR at the same time ^^


Help with maintaining the repo

Hi,
I can help you with PR and issues...
If like it, add me as a contributor of this repo...
:+1:

Thanks I appreciate your contributions but I'm not currently looking for anyone to help maintain.


Improve developer guide

@danfowler this came from you.

Libraries
Improve the diagram
List of key methods
Example existing implementations
Platforms
Import
Export
Host

Closing in favor of existing #234


[FR] Pictures specify a folder

Describe your request
I can specify the location of the image when embedding the text selected by the rectangular field as an image. Thanks.

Does obsdian offer that feature? It's not what I want, I want to categorize and manage different images for different PDF.

What options do you want to have?

Because my workflow is that PDF files and md files are separate, and all my PDFs are stored in a folder, I want to have a place in that folder where I can store images that are all generated by PDFs, without mixing them up with other attachments.

Did you try "in subfolder under current folder"?

If you have a folder exclusively dedicated to PDF files, then this option will create a subfolder under that PDF folder and PDF++ will save images in the subfolder. I guess you can achieve what you want this way.

I'm not saying PDF++ will not support that option but I'm just proposing a temporary workaround.

Oh wait, I've just realized it's not enough. In our case, "current folder" can refer to the folder that the PDF lives in or the folder the the markdown is put into. So PDF++ should implement a more fine-grained options, like

Vault folder
Same folder as current PDF
Same folder as current markdown
In the folder specified below
In subfolder under current PDF folder

In subfolder under current markdown folder


Failed to Build React-UI - Linting and checking validity of types  ..Failed to compile

It seems like the error message indicates a type error in the route.ts file located at ./src/app/api/upload/route.ts. Specifically, the issue is with the writeFile function call on line 18, where the buffer argument is not compatible with the expected type.

PLEASE ANY HELP TO BYPASS THIS ERROR WILL BE MUCH APPRECIATED.

Thanks for the report, could you please run the
installer_scripts/diagnostics.bat? I'm a bit confused about what versions
could be installed since Node.js is strict about this. Also, is it windows
10 or 11?
You can temporarily bypass it by deleting that route.ts file, but it will
fail to update and launch when the webui gets an update. Also React UI will
be unusable.
On Sun, Oct 6, 2024, 9:50 AM JoeCYPHER @.***> wrote:

It seems like the error message indicates a type error in the route.ts
file located at ./src/app/api/upload/route.ts. Specifically, the issue is
with the writeFile function call on line 18, where the buffer argument is
not compatible with the expected type.
Screenshot.2024-10-06.063906.png (view on web)
https://github.com/user-attachments/assets/44e69512-efb9-4767-aff7-e709b9fa9356
PLEASE ANY HELP TO BYPASS THIS ERROR WILL BE MUCH APPRECIATED.
—
Reply to this email directly, view it on GitHub
https://github.com/rsxdalv/tts-generation-webui/issues/388, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTRXI5LIBHM5OYTYNPKVNLZ2DMS5AVCNFSM6AAAAABPOBPSKSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3DQNBZHEYDMOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


[WIP] Status spin

WIP

This looks like a duplicate of #30, @gildub which do you want to keep?

This is for test, don't worry about it.


Version 8.9 breaks ability to have relative attachment paths

Not sure what the update was that did this, but for now ALL relative attachments fail to be resolved with confluence with the following error:
 FATAL unable to resolve relative links
                              └─ resolve link: "{attatment filename here}"

Version 8.8 and below has no issues with relative attachments.
Looking into a fix and can provide more information if needed.

Thanks for the report!
Do you have a minimal markdown example that you could share?

I have a fix but it looks like it just avoids some new logic.
I have a folder structure as follows:
folder1/folder2/readme.md
folder1/folder2/image.png
readme.markdown lists its attachment:
<!-- Attachment: image.png -->
The last update of the code now passes in the file path base to the ResolveRelativeLinks call from main.
This causes large issues  - previously this image file would stop at link 68 of link.go because ./image.png doesnt exist.
Now however it finds the file, reads it, finds the title as part of a random string in the png file because it is highly likely to do so, and then assigns that to the metadata.title object and tries to find the confluence page for metadata.title.
the title being extracted from my PNGs is usually along the lines of:
extracted metadata: space= title=> <rdf:Description rdf:about=""/> </rdf:RDF> </x:xmpmeta>                                                                                <?xpacket end="w"?>��8Photoshop 3.08BIM8BIM%��ُ��      ���B~���ICC_PROFILE�applmntrRGB XYZ �
This creates a fatal error when trying to find the confluence page.
Not sure if reverting as my attached PR does is the correct solution, but it does work on my end again.

This is the core causing the error specifically:
`		if titleFromH1 && meta.Title == "" {
meta.Title = ExtractDocumentLeadingH1(data)
}
	...

// ExtractDocumentLeadingH1 will extract leading H1 heading
func ExtractDocumentLeadingH1(markdown []byte) string {
h1 := regexp.MustCompile(#[^#]\s*(.*)\s*\n)
groups := h1.FindSubmatch(markdown)
if groups == nil {
return ""
} else {
return string(groups[1])
}
}
`

Thanks for debugging it!
Do you only have the <!--- Attachement: image.png --> or are you referencing it later in the markdown?
I'm not sure if we should try to differ by file extension here, a solution could include https://pkg.go.dev/golang.org/x/tools/godoc/util?utm_source=godoc#IsTextFile so we at least skip binary files.

I would say some do and some do not reference it later in the markdown. I think I am seeing the issue with both.
I liked the godoc https://pkg.go.dev/golang.org/x/tools/godoc/util?utm_source=godoc#IsText solution as we already have the file open and it simplifies needing a vfs.Opener to give to IsTextFile.   Changed my PR to support it - let me know what you think!


Older versions falling

I am running into a situation where I need to support older versions of Terragrunt in various automations, but getting the following error when attempting to install. This version was available as of last night but doesn't seem to show up when I do a tgenv list-remotes.
tgenv: tgenv-install: [ERROR] No versions matching '0.18.7' found in remote

Exited with code exit status 1

I see that tfenv supports basically all older versions when I run a list-remotes. Would it be possible to do this with tgenv?

This breaks us as well.  We have terraform 11 and require 0.18.7 at a minimum, so removing this version broke our production usage of tgenv.

@dg-nthompson Would like to see it fixed here but the forked version seems to work https://github.com/sigsegv13/tgenv.

The fork seems to now be limited to 0.24.0 and newer. I too could use the ability to install 0.17.4 or at minimum 0.18.7

The fork seems to now be limited to 0.24.0 and newer. I too could use the ability to install 0.17.4 or at minimum 0.18.7

This is an issue with GitHub limiting to 100 tags https://docs.github.com/en/rest/reference/git#tags

This is an issue with GitHub limiting to 100 tags https://docs.github.com/en/rest/reference/git#tags

@michaelpporter's fork works for me—thanks Michael. Hopefully they will merge your PR. In the meantime I added this to my script:
# install fork of tgenv that allows installing older versions like 0.23
# (see https://github.com/cunymatthieu/tgenv/issues/16
#  and https://github.com/cunymatthieu/tgenv/pull/15)
wget https://github.com/NixM0nk3y/tgenv/archive/49b096f06f52376ee71743e2eb5d6b1b17e0a8de.zip -O /tmp/tgenv.zip
unzip /tmp/tgenv.zip -d /tmp/tgenv
cp -r /tmp/tgenv/tgenv-* ~/.tgenv
rm -r /tmp/tgenv.zip /tmp/tgenv
# update PATH
echo 'export PATH="$PATH:$HOME/.tgenv/bin"' >> ~/.bash_profile


getComputedStyle is null within an iframe in Firefox

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Firefox has a known issue that within an iframe, getComputedStyle() returns null.
Please see: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
autocomplete.js is indeed calling getComputedStyle() and not working in that arrangement.
If the current behavior is a bug, please provide all the steps to reproduce and a minimal
JSFiddle example or a repository on GitHub that we can npm install
and npm start.
What is the expected behavior?
That either a check is made to see if getComputedStyle works before using its return value, or an alternative approach to getComputedStyle that results in the same behavior.

Internally we use zepto and .show() .hide() methods, could you create a jsFiddle demonstrating the bug so we can work iteratively on this?
Thanks!

https://jsfiddle.net/5h7roa91/1/
Version and OS shouldn't matter, but I'm using Firefox 47.0.1 on Mac OSX.

Updated the example to inject non minified autocomplete.js: https://jsfiddle.net/5h7roa91/2/

This is a not so easy issue because those calls to getComputedStyle are done by zepto internally so I'd rather see the bug fixed on Firefox and use any workaround on the Firefox website for now about the way to hide the iFrame.
We cannot defer the initialisation of the autocomplete.js library, otherwise we would have to detect when the iframe is no more hidden etc.. Not a good solution.
We could detect from the autocomplete.js code before using zepto that getComputedStyle is not good but then what would we do about it?

Agreed, this is a tricky one. It should ideally be fixed within Firefox, but it's been an open bug since 2010-02-24. In other words, it's not looking like anytime soon.
We ended up having to make a workaround on our side. It seems to be working!

We ended up having to make a workaround on our side. It seems to be working!

Purfect, way to go! Thanks


Drop .NET 6

Drop support for .NET 6.
Resolves #3087.
Leaving in draft for now - it's best to ship after a period of stability where we've fixed any known regressions caused by v7.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.57%. Comparing base (6b5633c) to head (fc1ccf6).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3183      +/-   ##
==========================================
- Coverage   83.65%   83.57%   -0.08%
==========================================
  Files          76       76
  Lines        3175     3160      -15
  Branches      536      536
==========================================
- Hits         2656     2641      -15
  Misses        519      519

Flag
Coverage Δ

Linux
83.57% <ø> (-0.08%)
:arrow_down:

Windows
?

macOS
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Please remove all #if NET6_0_OR_GREATER and #if NET7_0_OR_GREATER.
And if these IF statements have ELSE, update check to #if NET8_0_OR_GREATER

No, that's unnecessary code churn that makes no difference.


Split LifecycleWatcher class

Get the LifecycleWatcher class ready for the bidi protocol

LifecycleWatcher does not have a base class


App Service Traffic manager modes integration

added also Premium mode

@wagsousa,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@cephalin, Please review these proposed changes.  Thanks

@wagsousa Looks good. Thanks! #sign-off


Corrected a typo

Corrected a minor typo while going through the documentation.

Glad that I made a small contribution.


MySQL 8 support

Fixes #7 . Switches to shrugging when mysql_install_db is missing, and uses mysqld to find the base directory. Also updated the syntax in a test, since mysql 8 changed the way that setting passwords works, and handled a deprecation warning in py3.7 while I was in there.
Haven't tested against mysql 5.x but did test against my local mysql 8 and seems to be working well!

Not sure what to make of the test failures, but willing to put work in with some direction.

@tk0miya any chances of looking at this PR and releasing a newer version?

@tk0miya any chance you can check on this? I also just bumped into this not working with mysql8.


BUG:geeksforgeeks module does not return json format

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
geeksforgeeks module does not return JSON format as it was updated by one of our fellow mates.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'24 contributor
[X] I want to work on this issue

@nikhil25803  please assign it to me

Go ahead @agastya3636

@nikhil25803 i have resolved this issue in pull request #1004  but I forgot to mention it

could you help me


Crash app when rejecting the connection confirm with alert

Description the bug
Crash app when rejecting the connection confirm with dotinsights.subwallet.app
To reproduce the bug
Steps:

Open the app
Go to Browser tab
Visit to the "dotinsights-preview.subwallet.app"
On the connect popup, click on Reject button

Actual: Crash app
https://drive.google.com/file/d/1L4sNAPWU7Efm8a8LbvHxi-K6Rd-uHKgg/view?usp=sharing
Expected: Rejected successfully

Can't  reproduce the issue on the new UI version


Helm install fails on latest version

Describe the bug
Running the install command with the current latest commit returns
Error: INSTALLATION FAILED: template: scaleway-webhook/templates/deployment.yaml:23:22: executing "scaleway-webhook/templates/deployment.yaml" at <.Values.server.imagePullSecrets>: nil pointer evaluating interface {}.imagePullSecrets

To Reproduce
Steps to reproduce the behavior:
helm install Scaleway-webhook deploy/scaleway-webhook
Expected behavior
The install command installs the web hook
Details (please complete the following information):

Scaleway Cert Manager Webhook version: commit 3445b89
Platform: macOS
Kubernetes version: v1.27.0

Additional context
I pulled a commit before the latest (d344bee143e3ae9ed173b27769c59efe6b3871c2) and this one managed to install fine.

Hey! My bad I merged too quickly without testing, @leinelissen  could you test with feb4a2c8cbffcdb4493ae8e9f87a7f3bb2de6701, should work better ?

Yeah this one works. cheers!

Perfect thanks!


request: preset jql cmds

couldn't find support for extending the commandset
So I fixed this for now using this bash-wrapper
#!/bin/bash
# bash wrapper with preset-support for https://www.npmjs.com/package/jira-cmd

if [[ ! -n $1 ]]; then
  jira | while IFS='' read line; do
    echo "$line"
    [[ "$line" =~ "Works with sprint boards" ]] && { grep ") #" $0 | sed 's/) #//g'; }
  done | grep -vF "[[" # why this last grep?
  exit 0
fi
{
  case "$1" in

    last) #                   Shows issues since last week
          jira jql "created > $(date --date="last week" +"%Y-%m-%d" | tr "[:upper:]" "[:lower:]" ) and created < $(date --date="tomorrow" +"%Y-%m-%d" | tr "[:upper:]" "[:lower:]" )"
          ;;
    *)
          jira "$@"
          ;;
  esac
} | grep -v '─' | more -R

Example

  Usage: jira [options] [command]

  Commands:

    ls [options]           List my issues
    start <issue>          Start working on an issue.
    stop <issue>           Stop working on an issue.
    review <issue> [assignee] Mark issue as being reviewed [by assignee(optional)].
    done [options] <issue> Mark issue as finished.
    running                List issues in progress.
    jql <query>            Run JQL query
    search <term>          Find issues.
    assign <issue> [user]  Assign an issue to <user>. Provide only issue# to assign to me
    comment <issue> [text] Comment an issue.
    show [options] <issue> Show info about an issue
    open <issue>           Open an issue in a browser
    worklog <issue>        Show worklog about an issue
    worklogadd [options] <issue> <timeSpent> [comment] Log work for an issue
    create [project[-issue]] Create an issue or a sub-task
    config [options]       Change configuration
    sprint [options]       Works with sprint boards
--> last                   Shows issues since last week
    With no arguments, displays all rapid boards
    With -r argument, attempt to find a single rapid board and display its active sprints
    With both -r and -s arguments attempt to get a single rapidboard/ sprint and show its issues. If a single sprint board isnt found, show all matching sprint boards

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

but would be nice as a native feature

Hey @coderofsalvation! Thanks for opening this issue :)
Maybe we can put it as a subcommand of jql instead for not adding more noise into the main commands. I really like the idea but this is going to be weird when you have access to more than a project, right?
Maybe another possibility is to create those "filters" in the config file so each individual can set their own. What do you think?
I guess I will get more time soon for keep working on this :)

Agreed, I didn't think about the multiple projects scenario.
I really like your approach.
It reminds me of git, which also has an 'aliases' section in its config file.
Just an idea, but we could specify an object like so:
aliases = {
  "foo": ["jira","jql","somequery"]
}

And then somehow populate the array into process.argv

functionality was added in jira jql "jql command or alias saved in ~/.jira/config.json"
Please feel free to raise a ticket if you are facing any problem.


Option to prevent startup if tag fetching fails

Is your feature request related to a problem? Please describe.
We use --tags-from-ec2-tags to set several tags automatically based on the EC2 instance the agent is running on. One of the tags we set in this way is the queue tag. Recently, one of our agents failed to fetch those EC2 tags on startup (I don't have logs for what the underlying error was unfortunately), but the agent continues to start regardless of this error. This caused our agent to start up in the default queue, which was incorrect and caused us a bit of a headache.
Describe the solution you'd like
Currently, the agent is configured to just log errors when fetching tags. Since that functionality is actually pretty critical to us, I'd love to have an option to actually block startup by erroring/panicking instead.
Blocking startup would be a good safe default, but it's also a breaking change, so just having another config option to enable the "strict" behavior here would work well for us.
Describe alternatives you've considered
Alternatively, if there was a way to configure buildkite-agent to require a queue to be configured, and not to automatically use the default queue, that would work. We tried configuring tags="queue=not-functional-queue" in the config file, with the hopes that it would be "overridden" by the EC2 tag. But it seems that will just cause the agent to listen on both queues.
Or, if there was a way to inspect the config of the Buildkite Agent after it starts, we could use that to verify that the queue was set properly.

Hi @stevenmatthewt , thanks for the details. It seems we are using the API to get the tags and retrying 5 times, so this seems like it would only fail if Amazon's API was having a bad time.
It looks like we could instead use the metadata endpoint to retrieve tags, which should be a lot more reliable and wouldn't be a breaking change.

Yeah, I think using the metadata API would be a pretty reasonable change to make internally. I'd honestly still love a way to make failures block startup, as I think the existing behavior is a little backwards and confusing.


nitric up (unable to find nitric-.yaml)

Describe the bug
after running nitric stack new and going through the workflow, I get a new nitric-dev.yaml file with my configuration. Running nitric up results in this error:
Error: no nitric stack found (unable to find nitric-.yaml). If you haven't created a stack yet, run `nitric stack new` to get started

Expected behavior
Deploys my project.
To Reproduce
run nitric up
Output of nitric info -o yaml:
os: darwin
arch: amd64
goversion: go1.17.7
cliversion: was not built with version info
fabricversion: v0.15.0
containerruntime: docker
containerruntimeversion: |
  platform:
    name: Docker Desktop 4.7.1 (77678)
  components:
  - name: Engine
    version: 20.10.14
    details:
      ApiVersion: "1.41"
      Arch: amd64
      BuildTime: "2022-03-24T01:46:14.000000000+00:00"
      Experimental: "false"
      GitCommit: 87a90dc
      GoVersion: go1.16.15
      KernelVersion: 5.10.104-linuxkit
      MinAPIVersion: "1.12"
      Os: linux
  - name: containerd
    version: 1.5.11
    details:
      GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8
  - name: runc
    version: 1.0.3
    details:
      GitCommit: v1.0.3-0-gf46b6ba
  - name: docker-init
    version: 0.19.0
    details:
      GitCommit: de40ad0
  version: 20.10.14
  apiversion: "1.41"
  minapiversion: "1.12"
  gitcommit: 87a90dc
  goversion: go1.16.15
  os: linux
  arch: amd64
  kernelversion: 5.10.104-linuxkit
  experimental: false
  buildtime: "2022-03-24T01:46:14.000000000+00:00"

Brief description of your project
Just testing a simple serverless function deployment.
Additional context
If I change my file name to nitric-.yaml the nitric up command works as expected.

Hey, you need to specify the name of the stack you are going to deploy. So in your case if your stack is called dev, it will look like so:
nitric up -s dev

We need to make this more user friendly as well I think. If the flag is required we should raise a validation error or have a reasonable default behaviour.

@HomelessDinosaur ahhhh, okay -- that worked as expected. Thank you!


chore: change userRoles from dict to ienumerable

Description
resolved build errors in release/1.5.0-merge-in-dev branch
Why
Build errors occured
Issue
Link to Github issue.
Checklist
Please delete options that are not relevant.

[x] I have followed the contributing guidelines
[x] I have performed a self-review of my own code
[x] I have successfully tested my changes locally
[x] I have added tests that prove my changes work
[x] I have checked that new and existing tests pass locally with my changes
[x] I have commented my code, particularly in hard-to-understand areas

obsolete due to https://github.com/eclipse-tractusx/portal-backend/pull/94


Feature: Synchronized Updates

This is a work in progress specification, not widely used, but looks cute:
https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-updates-spec

FYI, the spec was later updated to include and prefer DEC mode 2026, which is explained in detail in https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036 and was discussed in https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2.