Softfail on optional dependencies

Is your feature request related to a problem? Please describe.
Yes, when polybar is built with an optional dependency, that optional dependency becomes a hard dependency. This is really bad for anyone trying to distribute binaries (ex. distros).
Why does polybar need this feature?
So that polybar could be available distribution repos.
Describe the solution you'd like
Instead of trying to blindly launch a module, check if the dependencies are present first.

Our current build setup links the shared libraries for the optional dependencies at compile time which makes the whole executable not start, if the libraries it was linked against are missing. The problem is not that we blindly launch a module, if the dependency is not present, the while polybar executable won't start.
There is a way to load shared libraries during runtime but it would be a major PITA to manually load every library function before we call it.
We had people having issues, because they removed an optional dependency after compilation, before so I'd also like to do this. However, I don't think there is a way to do this without either manually loading the library functions or major architectural changes.
@NBonaparte do you know of any other way to do this?
You can still package polybar for a distro, but you'll have to list the dependencies for all enabled features as hard dependencies.

Why not changing to a plugin architecture? An object would be compiled for each module and then the main executable would try loading it. Your module structure seems relatively easy to port to something like that.

That's what I meant when I was talking about major architectural changes. I don't think it would be that easy to port. We would need to create some way for polybar to interface with the modules and a way for modules to use helper functions inside polybar.
This is definitely something I'd like to see in the long run because it would make it easier to create more complex plugins and would also lessen the burden on us to create those plugins.

I don't think it'll actually be that bad, but I could easily be underestimating the difficulty here.
I think the refactoring steps would be:

Update the CMake config to compile each module as a separate shared library, each of which links in whatever optional dependencies it requires. Then, make the polybar executable link in every (enabled) module's shared library.
Update make_module() to use the "self-registering class" pattern (this will be a nice cleanup step anyway) where we instead look up a factory function from a singleton map<string, std::function<module_interface*(const bar_settings&, string)> rather than hard-coding the list of available modules. The basic idea here is to have some statically initialized class within each module's shared library whose constructor registers that module by name with the factory.
Update the CMake config to no longer link in each of the module libraries at compile time and instead dlopen them somewhere during the creation of the controller. On a successful dlopen, the module should be automagically registered with the factory by the statically initialized registration class; on a failure we can warn about a module not being supported, and polybar will gracefully exit with an error about an unknown module.

I can try to take a stab at this sometime this week.

We currently list xcb-util-{cursor, xrm} as normal dependencies in the AUR packages, so we could probably just make them that way. These dependencies are pretty lightweight anyways so it shouldn't hurt that much.
@skystrife's method is the way I'd do it as well. make_module() is quite messy and is sorely in need of refactoring.

Yeah, I am totally fine with the xcb dependencies. I would like to not make the user install i3 and all of it's dependencies just to run polybar though :/
Regarding the implementation, I understand it's not easy but once we have a working plugin model it's just refactoring the code, mainly, and overall it doesn't seem that hard.


[BUG] Mascot/ Logo incorrectly aligned

Description
In the "Profile not found" error page, the mascot is incorrectly aligned to the left, center alignment seems more natural and symmetrical.
Screenshots

Additional information
No response

Hi! I'd like to work on this issue! Can you assign it to me?

@ishaanbedi sorry, the person who raised the issue has already submitted a pull request


Hi i am facing issues, while installing email-finder app at my local Windows PC

This is what i am facing after installing it throug:
npm install
then
npm run
i also fixed some issues using
npm audit fix
and
npm audit fix --force
but still facing issue, please help.

Can you drop all your command line from start ( i mean step by step till installing) lets see what is wrong.

I ran into the same issue. I fixed it by modifying my package.json file.
Change
"scripts": {     "start": "DEBUG=index node index.js",
For
 "scripts": {     "start": "set DEBUG=index & node index.js",
Hope it helps.


Handle version branches

Branches that branch off main and are never merged back

This one seems obvious enough that I'll call it a bug. Shouldn't be difficult to get done.
Possibly I'll add an opt-out option, if there's somehow a reason you don't want to have to wait for the other branches to migrate or you don't want to have to delete branches you don't care about.


Inconsistent server response when using JWT bearer tokens to authenticate

From @nicklundin08 on September 20, 2018 15:30
I have been noticing inconsistent behavior with my web api ever since upgrading it to asp.net core. The relevant components of the project are

An asp.net core authentication server (implemented via identity server 4)
A web api (recently migrated from .net framework 4.5.1 to asp.net core)

Use Case 1

Client sends an unauthenticated request to the resource server without a token
Server responds with a 401 and no content

Use Case 2

Client retrieves a valid token using the client credentials grant flow from the auth server
Client sends an authenticated request to the resource server with the token
Server responds with a 200 and access to the protected resource

This worked consistently when the web api was on .net framework. However since the switch to .net core, the behavior is as follows

Client sends an unauthenticated request to the resource server without a token

Server responds with either:

200 and no content
401 and no content

Client retrieves token using the client credentials grant flow from the auth server

Client sends an authenticated request to the resource server with the token

Server responds with either:

200 and access to the protected resource
401 and no content
200 and no content (odd because the api would never return no content)

There doesn't seem to be any sort of pattern to the server responses.
The startup is posted below. I have tried replacing the .AddIdentityServerAuthentication with
.AddJwtBearer, but the behavior was not affected.
I do not believe this is an issue with the authentication server project because no code was changed and the exact same steps to obtain a token were used on the .net framework and the asp.net core versions of the web api project.
I do not believe this is an environmental issue as I have seen it in a dev environment, UAT environment, and on my local machine.
The only logs I have been able to grab so far has been from our transaction log because I don't believe any exception gets thrown
I realize this a very generic issue, but I am having a hard time debugging it because it appears most of this is happening in the middleware. If there is any other info I can provide please let me know. Thank you in advance for your time.
dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.301
 Commit:    59524873d6

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.301\

Host (useful for support):
  Version: 2.1.1
  Commit:  6985b9f684

.NET Core SDKs installed:
  1.1.0 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.104 [C:\Program Files\dotnet\sdk]
  2.1.200 [C:\Program Files\dotnet\sdk]
  2.1.301 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

//                     LOGS                                  //

**no token 200**

2018-09-20 10:24:24.954 -05:00 [INF] Request starting HTTP/1.1 GET http://localhost:50107/api/v4/category
2018-09-20 10:24:24.954 -05:00 [INF] Route matched with {action = "GetAll", controller = "CategoryV4", page = ""}. Executing action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost)
2018-09-20 10:24:24.955 -05:00 [INF] Authorization failed.
2018-09-20 10:24:24.955 -05:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
2018-09-20 10:24:24.955 -05:00 [INF] Executing ChallengeResult with authentication schemes ([]).
2018-09-20 10:24:24.955 -05:00 [INF] AuthenticationScheme: Bearer was challenged.
2018-09-20 10:24:24.955 -05:00 [INF] Executed action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost) in 0.5895ms
2018-09-20 10:24:24.955 -05:00 [INF] Request finished in 1.17ms 200

**no token 401**

2018-09-20 10:24:23.478 -05:00 [INF] Request starting HTTP/1.1 GET http://localhost:50107/api/v4/category
2018-09-20 10:24:23.532 -05:00 [INF] Route matched with {action = "GetAll", controller = "CategoryV4", page = ""}. Executing action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost)
2018-09-20 10:24:23.544 -05:00 [INF] Authorization failed.
2018-09-20 10:24:23.545 -05:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
2018-09-20 10:24:23.548 -05:00 [INF] Executing ChallengeResult with authentication schemes ([]).
2018-09-20 10:24:23.912 -05:00 [INF] AuthenticationScheme: BearerIdentityServerAuthenticationJwt was challenged.
2018-09-20 10:24:23.912 -05:00 [INF] AuthenticationScheme: Bearer was challenged.
2018-09-20 10:24:23.915 -05:00 [INF] Executed action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost) in<PHONE_NUMBER>0000003ms
2018-09-20 10:24:23.917 -05:00 [INF] Request finished in 439.4776ms 401

**with token 401**

2018-09-20 10:25:20.177 -05:00 [INF] Request starting HTTP/1.1 GET http://localhost:50107/api/v4/category
2018-09-20 10:25:20.178 -05:00 [INF] Route matched with {action = "GetAll", controller = "CategoryV4", page = ""}. Executing action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost)
2018-09-20 10:25:20.178 -05:00 [INF] Authorization failed.
2018-09-20 10:25:20.178 -05:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
2018-09-20 10:25:20.178 -05:00 [INF] Executing ChallengeResult with authentication schemes ([]).
2018-09-20 10:25:20.178 -05:00 [INF] AuthenticationScheme: Bearer was challenged.
2018-09-20 10:25:20.178 -05:00 [INF] Executed action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost) in 0.4509ms
2018-09-20 10:25:20.178 -05:00 [INF] Request finished in 0.773ms 401

**with token 200 with content**

2018-09-20 10:25:53.738 -05:00 [INF] Request starting HTTP/1.1 GET http://localhost:50107/api/v4/category
2018-09-20 10:25:54.203 -05:00 [INF] Successfully validated the token.
2018-09-20 10:25:54.211 -05:00 [INF] Route matched with {action = "GetAll", controller = "CategoryV4", page = ""}. Executing action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost)
2018-09-20 10:25:54.212 -05:00 [INF] Authorization was successful.
2018-09-20 10:25:54.267 -05:00 [INF] Executing action method Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost) - Validation state: "Valid"
2018-09-20 10:25:54.346 -05:00 [INF] Executed action method Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 74.5571ms.
2018-09-20 10:25:54.357 -05:00 [INF] Executing ObjectResult, writing value of type 'System.Linq.Enumerable+SelectArrayIterator`2[[System.Object, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Clarity.Api.v4.Category_v4, Clarity.Api, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]'.
2018-09-20 10:25:54.394 -05:00 [INF] Executed action Clarity.WebHost.Controllers.v4.CategoryV4Controller.GetAll (Clarity.WebHost) in<PHONE_NUMBER>0000002ms
2018-09-20 10:25:54.396 -05:00 [INF] Request finished in 658.2099ms 200 application/json; charset=utf-8

//                   STARTUP                                     //

Startup
public class Startup
{
	public IConfiguration Configuration { get; }

	public IConfigSettings ConfigSettings { get; set; }

	public Startup(IConfiguration configuration)
	{
		Configuration = configuration;

		ConfigSettings = configuration.BuildClarityConfigSettings();
	}

	// This method gets called by the runtime. Use this method to add services to the container.
	public virtual IServiceProvider ConfigureServices(IServiceCollection services)
	{
		services.AddAuthentication(options =>
			{
				options.DefaultScheme = IdentityServerAuthenticationDefaults.AuthenticationScheme;
				options.DefaultAuthenticateScheme = IdentityServerAuthenticationDefaults.AuthenticationScheme;
				options.DefaultChallengeScheme = IdentityServerAuthenticationDefaults.AuthenticationScheme;

			})
			.AddIdentityServerAuthentication(options =>
			{
				options.Authority = ConfigSettings.AuthServerAddress;
				options.RequireHttpsMetadata = false;
				//options.ApiName = "clarity-stock";
			});

		services
			.AddMvc();

		return services.BuildClarityServiceProvider(ConfigSettings);
	}

	// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
	public virtual void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
	{
		app.UseAuthentication();

		app.UseMvc();

		//initialize static stuff that depends on service registration
		if (app.ApplicationServices.GetService<WorkerConfig>().ChannelFactoryType == typeof(DirectChannelFactory))
		{
			app.ApplicationServices.GetService<IWorkerServer>().Start();
		}

		EventDispatcher.Raise(new ApplicationStartedEvent(app.ApplicationServices)).GetAwaiter().GetResult();
	}
}

Copied from original issue: aspnet/Identity#1971

@Tratcher

Can you share a minimal project on github that reproduces this? Preferably without IdentityServer.

@EddieEt that's the Authentication setup, but the problem you describe sounds like it's happening at a higher level with the Authorization logic. Can you share a minimal project on github that reproduces this?

@Tratcher I found the issue, it was in the IoC library I was using which wasn't handling scopes correctly. This caused AuthenticationHandlerProvider to be registered as a pseudo-singleton, re-using the same handler and authentication result for every request.

Makes sense, glad you figured it out.


Doesn't work anymore after 1.1.1 release

Hi, when clicking "Show" button from the pop-up - the PiP window appears for less than second in the bottom right corner, then disappears and no more happens, so the extension at the moment is unfortunately unusable 😕

Hi @jaklan , thank you for reporting this. I'll have to take a look. The popup on the page is meant to be a temporary solution while I work on a proper way to initiate PiP windows. Basically I will move the list of users from the extension popup UI directly into the Google Meet page itself, since opening a PiP window now requires a user gesture.
So sorry for this inconvenience. This behavior you encountered when clicking on "Show" was not something I found while testing this temporary solution. When you get the chance to try it again, can you help me check in your DevTools console if there are any errors logged? Thank you very much!

@arnellebalane maybe I'm doing sth wrong, but I have opened that view:

also turned on "Collect errors", but when I interact with the extension during the meeting - I see no logged interactions.

@jaklan In the DevTools console in the Google Meet page while you're on a call, do you see any errors related to PiP in there?

@arnellebalane no error, only this:

and when I hover over it - the "end call" button is highlighted.

I guess there's sth wrong here, because reading the code:
function enableHangupControl() {
  var control = getHangupControl();
  console.log(control);
  navigator.mediaSession.setActionHandler('hangup', function () {
    exitPictureInPicture();
    control.click();
    setTimeout(function () {
      var hangup = getHangupDialogControl();
      hangup.click();
    }, 500);
  });
  return function () {
    navigator.mediaSession.setActionHandler('hangup', null);
  };
}

I should get some "hangup control", but it seems the only thing I get is exitPictureInPicture();.

And if you find it helpful - that's my setup of icons in GMeet (maybe it's different in corporate GMeet or sth):

Hi @jaklan , and when you saw the button logged in the DevTools console, you still have the PiP window appear for a while and disappear right away?

@arnellebalane right, this log message and the quick "blink" of the PiP window happen almost at the same moment.

@jaklan Thanks for taking your time to check 🙏

Hi @jaklan , v1.2.0 of the extension is now published (#20). Hopefully it resolves your issue. Thank you! 🙇

@arnellebalane seems to work! 🎉

@arnellebalane today I tested it during the actual meeting with other participants - and unfortunately nothing changed, it still doesn't work - the PiP window appears for less than second in the bottom right corner, then disappears and no more happens. The difference is this time I don't get any logs from the extension.

@arnellebalane can I help with the debugging in any way? I'm really missing the working extension, I used to use it on a daily basis 😕


update local dependencies versions

Motivations
When we bump the version of a local package, the other packages that depend on it should bump its version, too.

This PR might be useful

Actually cargo-edit does it.
https://github.com/killercup/cargo-edit/blob/21ee19ad15966e6d7c4a4bc16767143db7db8e43/src/bin/set-version/set_version.rs#L178


[Top Bar] ISSUE NAME HERE

How can we reproduce this bug?

Step one
copy paste top bar code
Step two
add href where the link should point
Step three
loading in browser, link does not work when clicked

What did you expect to happen?
I expect a link to open
What happened instead?
it does not open on click, however it opens if I right click --> Open in new tab
Test case
Give us a link to a CodePen or JSFiddle that recreates the issue.
https://codepen.io/alinariskute/pen/VeZROg

That pen doesn't have the Foundation JS loading on my end, can you double check and get back to me when it works?

Looks like this is just an issue with codepen, just tested it out on my local and it works, but on codepen they're blocking opening in the iframe.


MacOS Support

Hello!
I don't think this is possible to add or it is in your interest, but can it be added somehow?
The MacOS support refers to both arm and x86-64 platforms.
Thanks!

I'll try, but I can't guarantee or test functionality i don't own a MacOS machine

The gh workflow output looks promising
https://github.com/HexaEngine/Hexa.NET.DirectXTex/actions/runs/10092645833

Packages are now online:
https://www.nuget.org/packages/Hexa.NET.DirectXTex/1.0.2
https://www.nuget.org/packages/Hexa.NET.DirectXTex.Standalone/1.0.1

Wow, I didn't expect this to be fast, let alone possible. Once again, thanks a lot! If there are any issues I will let you know


⚠ SceneTime has degraded performance

In bacaeda, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2371 ms

Resolved: SceneTime performance has improved in 35b7787 after 6 minutes.


Use Rubocop configuration

For some cops, such as LineLength, could make sense to use Rubocop configuration, Metrics/LineLength maximum in this case . As I think it is a normal case to want that this two values are the same.
We could have something like:
linters:
  LineLength:
    max: rubocop

🤔  We would have to maintain a list of cops that correspond to linters. That could be tricky to maintain because the RuboCop team has a tendency to rename their cops every so often.

@michaelherold but there are not that many cops where we can have this option. And I think that cop names for old cops don't usually change.

They do when they change namespaces (like when they introduced the Layout namespace of cops). I think this is a good idea, but wanted to lay out the difficulties we'll have!

could we implement something directly in Rubocop that makes easier to introduce this here?
a command to get the new name of a cop giving it the old one, or an id per cop that doesn't change. Maybe we can directly ask them and they have any a good idea to make this easier.

Would it be possible, that haml-lint works as a rubocop plugin, similar to rubocop-rspec?


IpcMain.RemoveAllListeners(string) is not removing the listeners

Version: 7.30.2
Target: .Net Core 3.1

In the C# lib, IpcMain.RemoveAllListeners(string) is not removing the listeners. After executing this function, my event listeners are still firing.
Steps to Reproduce:

Register a listener using IpcMain.On(channel_name)
Wait for the event to be fired at least once from javascript
Now in C# after the event, call `IpcMain.RemoveAllListeners(channel_name)
Fire the event again within javascript
The listener registered at step 1 still fires

I tested it with the current version and there were no problems. Possibly. your code will not be executed with RemoveAllListeners or it is due to the new Electron 8 version. Our latest update in version 8.31.1 will be released in the next few days.

Did you find a solution to your problem? I am having the same issue.

I have the same problem, I have electron and React and when you are using the app for a log time it becomes slow because the number of imports using ipc renderer. I tried to remove al listeners but it continues sending requests.


Update ififuncs.py - Syntax (Python 3.8+)

Replace ( is ) with ( == ) and ( is not ) with ( != )

Do not merge until tested :)

Ha, great call doing this. Might stop all those pesky warnings. Let me know if you need help testing.

Thanks so much for the offer! Testing was successful. Ready to merge :)

Noice!

Lol actually merged this time, soz!

Hahah no worries :D


[BUG]: fatal error using gemma-2-2b-it

Description
Using gemma-2-2b-it-GGUF (e.g. bartowski/gemma-2-2b-it-GGUF, Q6_K) in the InstructModeExecute example, the following fatal error occurs and the process dies:
D:\a\LLamaSharp\LLamaSharp\src\llama.cpp:11741: fatal error
The model runs fine in llama.cpp b3506 and this error did not happen LLamaSharp 0.14.0.
full logs attached: logs.txt
Reproduction Steps
Load gemma-2-2b-it-GGUF mentioned above in the example InstructModeExecute.
Environment & Configuration

Operating system: Windows
.NET runtime version: dotnet 8.0
LLamaSharp version: 0.15.0
CPU device: Intel

Known Workarounds
unknown

I found a workaround by replacing the native llama.cpp DLLs (CPU) from the LLaMaSharp 0.15.0 NuGet package with the latest llama.cpp DLLs (e. g. llama-b3565-bin-win-avx2-x64).
It is most likely a bug of the native DLLs in the LLaMaSharp 0.15.0 NuGet. Using more recent version works.

Just a note that in general using binaries from the wrong version of llama.cpp is not expected to work! There are frequent breaking changes in the c-api that might lead to crashes (if you're lucky) or just incorrect behavior.

It's fixed in the latest release 0.16.0.


[Bug]: wildcard certificate for *.shuttleapp.rs does not cover base domain shuttleapp.rs

What happened?
https://shuttleapp.rs/ on Chrome currently yields a certificate error. The certificate appears to be for "*.shuttleapp.rs" which does not include "shuttleapp.rs".
The certificate appears to be from "Let's Encrypt". Its been a while but I think I remember being able to include the base domain when creating a wildcard certificate with "Let's Encrypt".
Version
n/a
Which operating systems are you seeing the problem on?
Windows
Which CPU architectures are you seeing the problem on?
No response
Relevant log output
No response
Duplicate declaration

[X] I have searched the issues and there are none like this.

Chrome

Firefox appears to get the same error (check the network monitor) then on its own initiative redirect to https://www.shuttleapp.rs/.

Hey @iulianbarbu I think I've got the code written for this. https://github.com/shuttle-hq/shuttle/pull/968
I'm having issues testing it though. I'm trying to follow the steps from https://github.com/shuttle-hq/shuttle/blob/main/admin/README.md#how-to-test-custom-domain-certificates-locally
(will edit with logs)

Have you created an admin user and logged in before, per the CONTRIBUTING.md guide?
docker compose --file docker-compose.rendered.yml --project-name shuttle-dev exec auth /usr/local/bin/service --state=/var/lib/shuttle-auth init --name admin --key dh9z58jttoes3qvt

cargo run --bin cargo-shuttle -- login --api-key "dh9z58jttoes3qvt"

@iulianbarbu yes.
Longer answer: I hadn't done it since last remaking the images. Running the docker command now however I get a "UNIQUE constraint failed" error, so the container still has the admin user saved. Checking ~/.config/shuttle/config.toml I see the api key listed above. So I think I'm already good on this step.


How to add conditions to Faster RCNN region proposal function?

I'm trying to add 2 or 3 simple conditions (if statement) to the faster_RCNN network structure so it would produce less regions based on these conditions. I don't know how the entire code works exactly and I just wanted to know where (which file) exactly am I supposed to add the conditions.
There is  prepare_roidb function in tf-faster-rcnn/lib/roidb.py file, where the sizes of rois are defined:
def prepare_roidb(imdb):
  """Enrich the imdb's roidb by adding some derived quantities that
  are useful for training. This function precomputes the maximum
  overlap, taken over ground-truth boxes, between each ROI and
  each ground-truth box. The class with maximum overlap is also
  recorded.
  """
  roidb = imdb.roidb
  if not (imdb.name.startswith('coco')):
    sizes = [PIL.Image.open(imdb.image_path_at(i)).size
         for i in range(imdb.num_images)]
  for i in range(len(imdb.image_index)):
    roidb[i]['image'] = imdb.image_path_at(i)
    if not (imdb.name.startswith('coco')):
      roidb[i]['width'] = sizes[i][0]
      roidb[i]['height'] = sizes[i][1]
      ...

Also there is the filter_roidb function in tf-faster-rcnn/lib/model/train_val.py file which is like this:
def filter_roidb(roidb):
  """Remove roidb entries that have no usable RoIs."""

  def is_valid(entry):
    %# Valid images have:
    %#   (1) At least one foreground RoI OR
    %#   (2) At least one background RoI
    overlaps = entry['max_overlaps']
    %# find boxes with sufficient overlap
    fg_inds = np.where(overlaps >= cfg.TRAIN.FG_THRESH)[0]
    %# Select background RoIs as those within [BG_THRESH_LO, BG_THRESH_HI)
    bg_inds = np.where((overlaps < cfg.TRAIN.BG_THRESH_HI) &
                       (overlaps >= cfg.TRAIN.BG_THRESH_LO))[0]
    %# image is only valid if such boxes exist
    valid = len(fg_inds) > 0 or len(bg_inds) > 0
    return valid

  num = len(roidb)
  filtered_roidb = [entry for entry in roidb if is_valid(entry)]
  num_after = len(filtered_roidb)
  print('Filtered {} roidb entries: {} -> {}'.format(num - num_after,
                                                     num, num_after))
  return filtered_roidb

I want to define some conditions so that it won't produce any regions with width or height more than a value like max_length. I don't know where exactly I should add these conditions.

check functions under: tf-faster-rcnn/lib/layer_utils/.


Readme uses dev for all links

This needs to be updated to use the useDev setting to match the generated HTML.

In merging #36, we no longer show links in the readme, so this is "fixed" as a happy coincidence.


Rendering stops after entering WebXR with Godot 4.2-beta4

Godot version
v4.2.beta4.official [93cdacbb0]
System information
Chromium-based browsers (Brave & Oculus Browser)
Issue description
When exporting the Godot XR Tools demo for web using Godot 4.2-beta3, everything works fine!
However, when exporting with Godot 4.2-beta4, the demo appears to stop rendering (completely black screen) after clicking the "Enter VR" button. There are no errors or messages in the console providing any hints.
I haven't had a chance yet to bisect and find which change is causing this regression.
UPDATE: Git bisect points to PR https://github.com/godotengine/godot/pull/83649 as the cause of the regression
Steps to reproduce

Download the Godot XR Tools demo
Open with Godot 4.2-beta4
Export for web
Open in your browser and click the "Enter VR" button

Minimal reproduction project
Use the Godot XR Tools demo

Git bisect points to PR https://github.com/godotengine/godot/pull/83649 as the cause of the regression

I've narrowed it down to this line in renderer_viewport.cpp:
bool can_draw_2d = !p_viewport->disable_2d && p_viewport->view_count == 1; // Stereo rendering does not support 2D, no depth data

If I change that to this:
bool can_draw_2d = !p_viewport->disable_2d;

... then WebXR rendering works again.
I'm not sure why WebXR depends on 2D rendering happening? I'll try to dig into it when I get a chance.
/cc @BastiaanOlij

Ah, a new piece of information: this appears to only break running WebXR in a desktop browser. Everything appears to work fine when using the Oculus Browser running standalone on the Meta Quest 2.

I just posted PR https://github.com/godotengine/godot/pull/84267 which seems to fix it in my testing, despite not really seeming like it should fix anything :-)


Added readme to the tilt tutorial and fix some makefile bug

What kind of PR is this?
Bug and Documentation
Why this PR is needed / What this PR do?
The PR consist of the readme for ruuning titl on kpng, and a minor fix on makefile and tiltfile
Which issue(s) this PR fixes?
Fixes #490
Additional information about this PR
N/A

/lgtm
/approve
Since it fixes a issue . Usually we don't do minor readme fixes but sounds like.this fixes a glaring hole in the docs .. thanks adenyi!


fix(crypto): panic: encoding: unsupported key {0xc015dcc0c0}

Closes #3699

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use unclog to manage our changelog)
[x] Updated relevant documentation (docs/ or spec/) and code comments
[x] Title follows the Conventional Commits spec

#go-api-breaking


ignition-firstboot-complete.service: Run as part of basic.target

See: https://github.com/openshift/installer/pull/2554
Basically the OpenShift installer on vSphere injects a service which reboots
the first time, but I believe this could easily race with ignition-firstboot-complete.
Let's mark the boot complete much earlier.

We've talked in the past about moving this into the initramfs like it is on CL. Any reason not to move it there?

I can't think of a reason not to do that.  Though it'd break https://github.com/coreos/ignition-dracut/pull/117 (since zipl isn't in the initramfs) but we could probably address that by just adding it.

So...let's get this easy fix in first though?


Use cli services

Description

Uses drashland/services CLI services
DRYs code
Changes the rhum command to the following: rhum [command] [options] [directory|file]. previously it was rhum [options] [directory|file]
Commands:

rhum make
rhum test
rhum help
rhum version

Oh actually another thing i forgot, maybe it's best to have --version and --help to be consistent? though then again.. it feels like 50/50 most of the time for cli tools


Idea: Add contributors

Hi,
First of all, thank you for your awesome work 👍
There is a section about author. This would be cool to have a section about contributors too. all-contributors is a specification about recognizing contributors. They also have a tool that edit README.md to add contributors.

Hi @frinyvonnick
Thanks for opening this issue !
I don't know how it could be done exactly yet but I ❤the idea.

@frinyvonnick and @kefranabg  would love to work on this.

Sure, could you share with us how you think it would work before starting development ?
Just to make sure it goes in the right direction 😉

Hi @kefranabg
I've come up with a good implementation for this idea, may I try this issue?

Hi @dexterastin , sure ! Could you first explain what's your implementation idea?

While I was looking for the github API, I found an API that could get the list of contributors in the repository.
It's like this.
https://api.github.com/repos/{user}/{repo}/contributors
ex: https://api.github.com/repos/kefranabg/readme-md-generator/contributors
So I thought maybe I could page this API and get the list and show it to you. The contributors we received includes bot like greenkeeper, but we can check the value of each element's type element and filter it out. I'll get you a pretty good list of contributors if I show you the sort of contributors list.
We've now marked various elements in the contributors section of this repository, but we still don't know how to do anything else, and we can fix the user blog page by calling the api.

@dexterastin are we ok that this feature is for readme-generator users, not for this repos right? 😉


CH - brand view styling

Description
Describe change or new feature here.
Type of change

[ ] Styling edit/update

Checklist
Remove any items which are not applicable.

[ ] I have performed a self-review of my own code
[ ] My code follows the style guidelines of this project
[ ] My changes generate no new warnings

Link to Trello card

 Styling Fix  (Tech Debt)


Make use of the same API versions for DaemonSet/Deployment/Statefulset

What this PR does / why we need it:
Make use of a the same API version for all objects (since 1.9 all used Kinds are in GA: https://kubernetes.io/blog/2017/12/kubernetes-19-workloads-expanded-ecosystem). I changed all extensions/v1beta1 to apps/v1.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

/ok-to-test

/hold

/hold cancel

/test cloud-provider-openstack-acceptance-test-e2e-conformance-stable-branch-v1.12

/approve
/lgtm

/test cloud-provider-openstack-acceptance-test-e2e-conformance-stable-branch-v1.10


ci(wasmcloud): run host tests outside Nix sandbox

Feature or Problem

As host tests are growing, they are making more and more assumptions and so it's becoming increasingly more difficult to run them in hermetic environments like Nix sandbox, move host tests outside the sandbox to simplify maintenance
Related Issues

https://github.com/wasmCloud/wasmCloud/pull/1152
Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

test failed, since the CI machine is slow and unlike within Nix sandbox, we build in development profile here (which is slow to execute)
Possible solutions are:

Increase timeout for actions
Build in release (potentially very slow if we cannot cache the build)


Still getting "No active DM on the scene"

Describe the bug
Players can't interact with sheet because it still says no active DM is on the scene.
To Reproduce
Steps to reproduce the behavior:

Drop loot token.
Players double click
No looting allowed.
Red error message

Expected behavior
Players should be able to loot the sheet
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: macOS
Browser Chrome
Version 3.2.5

Additional context
All modules EXCEPT Loot Sheet are disabled.

What means "still" was their an issue before?
Which Foundry Version do you use? The module AFAIK needs Foundry Version 0.8.x (update to 0.9 will follow)
When you open the sheet as a GM after dropping a token, are the permissions set on observer - "eye"?
How is Foundry hosted/run (local on the mac, dedicated server/...) ?

In my local dev environment I only sporadically encountered this error when I used several browsers.
Had to make sure to go back to the GM window to let foundry know the GM is active in that scene.
Also you may want to wait a day until we changed to foundry listing to pick up the new master with version 3.3.81.
Not sure if this actually solves the issue. But the new master is a huge refactoring/rewrite of the module. So please test again with that version as soon as it is available via FoundryVTT modules listing or use https://raw.githubusercontent.com/jopeek/fvtt-loot-sheet-npc-5e/master/module.json to install it manually.
The new version also comes with 2 pre packed Macros in a compendium. These macros allow updating permissions on a token/on several tokens.

What happens if you open the dev console in chrome while using foundry and paste the following code?
game.users.forEach((u) => {
            if (u.isGM && u.active && u.viewedScene === game.user.viewedScene) {
                targetGM = u;
            }
        });

It should result in something like

Its normal that targetGM would be undefined first but has a value when you type it afterwards.

Thanks very much for your thoughtful reply! When i paste that code, I just get "undefined" and nothing else.

@ctbritt could you test the latest version of the module?
I really would like to fix this if possible.
With the marcos from my first reply.
And players active the sheet should look (mostly) like this when you open it.

drop a token on the map*
add some loot manually / lootpopulator / per GM sidebar.
Have an encounter or let players meet the ncp.
decide to make NPC lootable.
use the macro while having the token selected.
should have a chest symbol over the token now
in the sheet the players should all have an eye symbol (observer permissions) so they can loot/buy

@ctbritt could you test this in your console?
targetGM = game.users.filter((u) => {
            return u.isGM && u.active && u.viewedScene === game.user.viewedScene
        });

targetGM?.[0] || false;

running it as a gm it should always return a User
running as a player/user

when in the same scene it should return the user
when in a different scene it should return false

In the attached Screenshot you see GM to the left and player to the right

@ctbritt could you test this in your console?
targetGM = game.users.filter((u) => {
            return u.isGM && u.active && u.viewedScene === game.user.viewedScene
        });

targetGM?.[0] || false;

running it as a gm it should always return a User
running as a player/user

when in the same scene it should return the user
when in a different scene it should return false

In the attached Screenshot you see GM to the left and player to the right

Hi, I've updated to the latest version -- I'm on 3.4.1 and foundry v9.238 -- with only LootSheet and Find the Culprit modules enabled.
As GM I can open the token I've set to open in a loot sheet, but I still can't bulk change permissions. I have to do it one by one, which involves clicking, opening the window again, clicking, etc.
As a player logged into the same scene, when I double-click the token, just the basic DnD5e sheet opens up. It's not a loot sheet document.
When I paste your macro into the console, in the GM window, I get a user object returned. When I paste it in the window where I'm logged in as a player, I get "false" returned.
I'm at a bit of a loss on this.

Hi, I've updated to the latest version -- I'm on 3.4.1 and foundry v9.238 -- with only LootSheet and Find the Culprit modules enabled.
As GM I can open the token I've set to open in a loot sheet, but I still can't bulk change permissions. I have to do it one by one, which involves clicking, opening the window again, clicking, etc.
As a player logged into the same scene, when I double-click the token, just the basic DnD5e sheet opens up. It's not a loot sheet document.
When I paste your macro into the console, in the GM window, I get a user object returned. When I paste it in the window where I'm logged in as a player, I get "false" returned.
I'm at a bit of a loss on this.

So, i've updated to lootsheet v<IP_ADDRESS>, and I'm still getting the "no GM on this scene" error.

So, i've updated to lootsheet v<IP_ADDRESS>, and I'm still getting the "no GM on this scene" error.

@ctbritt thanks for testing.
If you can, please try to get hold of me on the FoundryVTT discord message me directly.
Would like to debug this with you.
The linked branch will bring fixes and optimizations for permissions again.
The GM issues still is weird.
A thing I almost always have to to while testing looting with the sheet.
Is to reload both windows. And make sure to click into the canvas /map for the gm.
Otherwise the missing GM info will popup.
With two Screens it could look like this.
Not quite sure if both windows have to be "not minimized" or other things that might influence the status of a user beeing in a scene.

In the UI it should look like this. When both the GM and the user are in the same scene.


Replace GET requests with POST method

Purpose
Replace the GET http requests with POST methods when sending events and visitor data to the backend.
This change applies to both event tracking and visitor identification.
Note that we set the connectTimeout to 5 seconds and readTimeout to 10 seconds
Result
All the data should be sent to the backend as before.
Verification
Make sure you test both push() and trackEvent(). For example,
// Kotlin
val tracker = Woopra.getInstance(application).getTracker("<yourDomain>")
tracker.setVisitorProperty("name", "<yourName>")
tracker.setVisitorProperty("property1", "value1")
tracker.push()

tracker.setVisitorProperty("property2", "value2")
val event = WoopraEvent("event")
event.setProperty("key", "value")
tracker.trackEvent(event)

nits: We have to modify Constants.kt and modify the schema of endpoints from http to https.


suggestion: Detecting matter amount in spawner.

The matter beamer should stop transmitting matter once the spawner is full of that matter, or make it possible to detect how much of a certain matter in the spawner. To make automation possible without spawning a ludacris amount of mobs at once.

This is part of the challenge. Note also that RFTools Control has ways to accurately automate this (it can see how much matter there is). But even without that you can still do the calculations and make sure to transfer the right amounts

it`s already the spawner that requires the most setup to use, why make the automation extra difficult? most other spawners only need RF, just to use the RFTools spawner you need a farm for living matter, a way to collect bulk matter(can be done thru a builder but requires a lot of power) and key matter you get from the mob you spawn, why make it require an add-on mod to automate it? It should be in the base mod. That's the way I see it anyway.

You can do it in the base mod already by keeping track of what you inserted. Additionally if you have a mass production of living matter (which is easy to get) you can just feed it in without worrying of feeding in too much


sequel integration fix

fixing fetching default state from db column (:de…fault is db, :ruby_default is ruby)
This was generating an unnecessary warning. This is because sequel (I don't know since when, but long ago) loads column info defaults in db format and ruby format

Can this be merged? It is generating unnecessary warnings for me as well. Example on a state column with default value "Draft". Postgresql returns 'Draft'::text, so this is what is returned and being use to compare against "Draft". Which is not correct. :ruby_default indeed returns the proper value.


GDScript access to Control under mouse cursor or at specific point

I've exposed a way to get Viewport::gui.mouse_over and call Viewport::gui_find_control to GDScript to facilitate being able to implement the following features:

Gamepad control of mouse where speed of mouse should slow down when the cursor is over certain types of controls
Allowing for a generic service that can provide contextual help based on the Control under the mouse cursor

From GDScript, the following can now be done to get the control under the mouse cursor (or possibly at another location):
var mouse_over_control = get_viewport().gui_get_mouse_over()
var found_control = get_viewport().gui_find_control(get_global_mouse_position())

You'd also need to add documentation for these methods (in Viewport.xml, you can run with --doctool option to regenerate docs taking new bindings into account).

Thanks, I'll go back and do that.

I seem to have messed up the set of files changed here when I tried to rebase and push the updated Viewport,xml file. The only files I changed and committed were viewport.h, viewport.cpp, and Viewport.xml. I seem to have somehow pulled in some other changes into my branch when I did the rebase and amended commit, and I'm not really sure how to unwind that. Can I just recreate my set of changes on a new, clean pull request and then close this one with a comment pointing to the new one?

You've indeed included several fixes, to fix this use git rebase -i master and remove the unwanted commits by following the instructions in the rebase

I seem to have messed up the set of files changed here when I tried to rebase and push the updated Viewport,xml file. The only files I changed and committed were viewport.h, viewport.cpp, and Viewport.xml. I seem to have somehow pulled in some other changes into my branch when I did the rebase and amended commit, and I'm not really sure how to unwind that. Can I just recreate my set of changes on a new, clean pull request and then close this one with a comment pointing to the new one?

No need to open a new PR, you can fix it in here. See the docs for how to rebase (I suggest reading the whole page if you haven't already). Note that a single commit is preferred per PR anyway. Looking at the current commits you'd just need to drop these 8 unneeded commits when rebasing.

You've erased existing changes, please remove unrelated reverting commits

Sorry, I obviously need to go back and learn how to do git rebases properly. I believe I have my local branch fixed up properly now and will attempt to push that back up. If this doesn't do it right, I believe we should probably close this current pull request until I go back and learn to use git properly.

Alright, I think everything is in order now. It's now showing up as a single commit with only my changes, and I ran --doctool and updated the documentation entries in Viewport.xml.

It looks like another change has now been merged in that exposes a method to get the mouse_over control. That was the main purpose of this pull request, so I'm going to withdraw this pull request and reconsider submitting the remaining changes to get a control at specific coordinates.

Ah, sorry about that. Indeed, your PR was accidentally superseded by https://github.com/godotengine/godot/pull/85966. Thanks for your contribution nevertheless!

Thanks. Here's the gamepad controlled cursor I was working on with regards
to using this:
https://github.com/Vortex-Basis-LLC/Godot-VBG-Samples-GamepadCursor
It 99% works with the new ability to get the Control under the cursor. The
last remaining issue I'm seeing is if you start with the cursor outside of
the game window and move the mouse over the game window with the gamepad,
then the cursor will not update until you move the cursor with the mouse
(then the gamepad movement and cursors work as expected). If you move
outside the game window and then back into the game window again, then the
same behavior is seen. This has only been tested on a Mac (M1) so for.
If someone is able to point me in the right direction on that, it would be
most appreciated (I assume I need to go look for where mouse events are
being handled to start with).
I resubmitted the other change for gui_find_control() as a pull request
here:
https://github.com/godotengine/godot/pull/86343
Thanks,
Caleb
On Tue, Dec 19, 2023 at 6:26 AM Yuri Sizov @.***> wrote:

Ah, sorry about that. Indeed, your PR was accidentally superseded by
#85966 https://github.com/godotengine/godot/pull/85966. Thanks for your
contribution nevertheless!
—
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/84909#issuecomment-1862585328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATYQEVYPZF3ZZ3PR76QVPDLYKF2WPAVCNFSM6AAAAAA7LMV7PKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRSGU4DKMZSHA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Ensure PlatformBenchmark is compiled for .NET Core 3.0

/cc @sebastienros not sure you use it on earlier frameworks?

Whoops, this one fell through the cracks. I learned my lesson though. Respinning the build and will merge after that's done.

Though @sebastienros I'd appreciate a confirm from you that this is OK.

/azp run

The build doesn't handle this project. But you need it to see enable the merge button 😒
We only run this one on 3.0. TE has its own version for 2.2.

Soooo, OK with you?


updated the balanceOf logic

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 52.462%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
244

Relevant Lines:
430

💛  - Coveralls


Typo in Movies Example docs

here: http://docs.vulcanjs.org/example-movies.html#The-User-Resolver
is:

typeName: 'User'

should be:

type: 'User'

@DavOnGit  already done here: https://github.com/VulcanJS/vulcan-docs/commit/1e5c6418a3199aed889b2df549227a7c53ef111e
docs need to be rebuild to apply the change.


https://github.com/tusen-ai/SST/blob/main/configs/ctrl/ctrl_cyc_12e.py#L140

Cyclist and Pedestrian‘s train config should set corner_loss_only_car=False?

I think it should be True as in the provided config. Do you have any motivation to set it to False?


getting rid on 7.3 when updating

i just updated to 7.4 MacVim, but when I type "vim" in my terminal it says my version is 7.3. when I click on the macvim app it shows 7.4.  I just want to uninstall 7.3. Thanks

You don't need to uninstall 7.3.
Open MacVim as usual and do "h: mvim", then you'll get an instruction to open that app from a terminal,
(I think the most preferable place of questions like yours is MacVim's mailing list, not here.)

You don't need to uninstall 7.3.

Indeed, you don't want to remove 7.3, either, as that's the system vim.

please keep the issue for bugs and patches. Discuss user support on the appropriate forum, e.g. vim-use maillinglist or in your case macvim specific forum.


Update remaining projects to spring boot 3.2

What does this PR do?
For some reason dependabot failed to upgrade tex existing spring boot 3.1.5 versions to 3.2.0, so doing it manually now.
Checklist

[x] This is something else

[ ] ~I have updated CHANGELOG.asciidoc~

@mergifyio refresh


Make exploration their own department

20/03/2024

Currently includes Pilot, Basin Tech, and expeditioneer


[OTHER]: Interoperability Issue: Same C++ Class Across Different Nanobind Modules

Please don't use.
Issue Description
I'm encountering type compatibility issues when trying to use the same C++ class across different nanobind modules. While the underlying C++ class is identical, Python treats the bound classes as different types.
Minimal Example
Global C++ Class and Binding
// global_class.hpp
class GlobalClass {
    // definitions
};

// binding.hpp
void bind_global(nb::module_& m) {
    nb::class_<GlobalClass>(m, "GlobalClass")
        .def(nb::init<>())
        // ... other bindings
        ;
}

Module A
// module_a.cpp
NB_MODULE(nbA, m) {
    bind_global(m);
}

Module B
// module_b.cpp
NB_MODULE(nbB, m) {
    bind_global(m);
}

Python calls
# This fails with type error
obj = nbA.create_obj()
nbB.use_obj(obj)  # TypeError: use_obj(): incompatible function arguments.
                  # Expects nbB.GlobalClass but received nbA.GlobalClass

Expected Behavior
I expect to be able to pass objects created from one module to functions in another module, since they represent the same underlying C++ class.
I noticed that your projects like Mitsuba3 and DrJit (which both use nanobind) successfully handle cross-module type compatibility. For example, you can create a vector in DrJit and process it in Mitsuba3.
Questions

What is the recommended approach to achieve cross-module type compatibility with nanobind?
Are there specific binding patterns or configurations needed to enable this functionality? (for example, the data must be an array or simple data type)

Any guidance or examples to address this issue would be greatly appreciated!

Just like in pybind, nanobind has the macro NB_EXPORT which makes your symbol visible. You can define it like
// global_class.hpp
class NB_EXPORT GlobalClass {
    // definitions
};

Thank you for the insight! I am using GCC on Linux, so NB_EXPORT isn’t the reason. Finally, I discovered that the FREE_THREADED flag used when creating the target was the reason.
My Python version is 3.12, and according to the README, this flag should be ignored. Interestingly, it causes the symbol to be separated between modules.
Once I removed that flag, I made the inter-module method calls to work.


[fix] fix vllm import error

What does this PR do?
This PR is try to fix the vllm import error relaxed to the https://github.com/huggingface/text-generation-inference/issues/1325.

According the discussion in https://github.com/huggingface/text-generation-inference/issues/1325. Close this pr.


Added ability to specify path of input to unpack_mrg.py and _unmzx.py

This now includes the fix for the issue I mentioned this morning. The only problem is that I had to set the output to cp932 because python refused to handle the encoding correctly.


[WIP] Added initial helm chart

This commit adds initial support for installing the KubeDirector
Deployment via Helm.  Values are provided to override the number of
replicas, the CRD names, image name/tag, and the service account names.
This chart is configured to pull from bluek8s/kubedirector:unstable from
the master branch and should be updated in other release branches.
Related to #63

Thanks @vosmith; we'll get some folks to take it for a test drive.

Hey @vosmith, just checking back in to say we'll be looking at this more now that we have some of the other fundamentals taken care of.
One thing that I'm wondering about is how we can best avoid duplication of information. For example when the schema for KubeDirectorApp gets updated, we don't want to be required to carefully make equivalent changes to both deploy/kubedirector/crd-app.yaml and also chart/kubedirector/templates/crd-app.yaml . I think we would need a way to generate one from the other, or generate both from some common source... something like that. (And KubeDirectorApp isn't the only instance of this concern.)


Add pgsql specific table builder method typings

I created PostgreSqlTableBuilder and PostgreSqlAlterTableBuilder interfaces, similar to the existing MySQL counterparts MySqlTableBuilder and MySqlAlterTableBuilder.
They include the currently missing inherits() method.

@davidspiess Thank you for your contribution! Sorry it took so long to review it, somehow it slipped through the cracks. Could you please resolve conflicts?

@kibertoad no worries! I rebased my commit on the latest master.

Thanks!

Released in 0.18.0-next2


New version: Grassmann v0.3.3

Registering package: Grassmann
Repository: https://github.com/chakravala/Grassmann.jl
Created by: @chakravala
Version: v0.3.3
Commit:<PHONE_NUMBER>a523f551f9be27c74efc9e271520e4
Reviewed by: @chakravala
Reference: https://github.com/chakravala/Grassmann.jl/commit/5559506914a523f551f9be27c74efc9e271520e4#commitcomment-35752721

@ChrisRackauckas could you please merge this as soon as possible?

@ChrisRackauckas could you please merge this as soon as possible?

@chakravala Why not just add the compat entries? Then it will be automerged very quickly.
[noblock]

Why do I need an upper bound for those already? seems unnecessary at the moment

@DilumAluthge it seems like a bad idea to stop automatic merging due to an upper bound?
It doesn't make sense at all, since I don't know ahead of time when an incompatibility happens, if ever?
Currently, there is no upper bound projected for those packages, so I will not create an upper bound.
Please merge this as soon as possible, as there are no upper bounds for those compat entries.

@DilumAluthge you could have just merged it? why didn't you?
I will not be adding upper bounds until a time comes when it is needed... obviously, requiring it before it is needed is a mistake it seems

@DilumAluthge you could have just merged it? why didn't you?

I do not have merge permissions.

Alright, well, I guess I will use version ">=0 for those then

A compat entry of the form Foo = ">=0" does not have an upper bound.
The easiest way to add compat entries is as follows:

If your package is compatible with Foo version 0.1, add this compat entry: Foo = "0.1"
If your package is compatible with Foo version 0.1, 0.2, and 0.3, add this compat entry: Foo = "0.1, 0.2, 0.3"

[noblock]

Also, please note that if you want your PR to be automerged, you need to make sure that any comments posted on this PR include the text [noblock].
If there are any comments posted on this PR that do not include the text [noblock], the PR will not be automerged.
[noblock]

Please discontinue the requirement for upper bounds, it is incorrect to specify one already.

Thank you for the feedback. Unfortunately, we will not be modifying the automerge guidelines at this time.
[noblock]

If you do not want automerging, you can wait for a human to manually review this PR. But please be advised that this may lead to a significant delay.

Note that the guidelines are only required for the pull request to be merged automatically. However, it is strongly recommended to follow them, since otherwise the pull request needs to be manually reviewed and merged by a human.

[noblock]

[noblock]
I would like auto-merging, but I will not be adding bounds unless they are necessary
therefore, I will probably never rely on the automerging system, since it looks like a mess
please have this merged as soon as possible :)

Please fix the compatibility bounds for the next release such that it will be automatically merged.


Make ActiveExecutors a singleton

It was only used by one class that's singleton itself, so no harm done for now. But this is how it should be, in case it will be injected to more than one instances later.

Pull Request Test Coverage Report for Build 4137

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

Files with Coverage Reduction
New Missed Lines
%

azkaban-exec-server/src/main/java/azkaban/execapp/JobRunner.java
2
76.67%

Totals

Change from base Build 4131:
0.0%

Covered Lines:
10497

Relevant Lines:
29181

💛  - Coveralls

Thanks


How to map localhost:port to domain name

#21 and https://github.com/Wodby/docker4drupal/blob/master/README.md recommend using different port numbers for different sites.
That works, but if you work with 3 or more sites it starts to get confusing.
Is there a quick way to assign domain names instead of localhost:port via docker-compose.yml?
Perhaps by using a local IP address which then can be mapped via the hosts file.

... PHP_SITENAME: mysite.com ... NGINX_SERVER_NAME mysite.com ...
then add to your hosts
<IP_ADDRESS>    mysite.com
But you still have to use port forvarding and access site by mysite.com:8000 because 80 ports is already taken by another process (by docker, as I understand).
And use PHP_SITENAME because there is typo in source files for the corresponding image.

And use PHP_SITENAME because there is typo in source files for the corresponding image.

By the way, this issue has been fixed in #43.

Can't we have one more nginx container that will act as a proxy in a separate project.
In the proxy configs, you will bind the domain:port mappings, using base ports ranges for name-spacing.
Proxy will work on port 80 and 443 (for SSL).
Like so:
Project 1 -> 7XXX ports, project 2 -> 8XXX and so on.
In the proxy you have:
mysyte1.local goes to localhost:7XXX
mysyte2.local goes to localhost:8XXX
.. And so on.
When starting new project:

Only once - add definition in your local proxy configuration and hosts file
( this will be a centralized thing to be actively used for all projects)
You prepare everything (with custom ports in your composer file)
Have fun :)

@ndobromirov's idea sounds good. It would also be a solution for #21.

I am currently using jwilder/nginx-proxy container to get name resolving but Pavel has already said something about using containous/traefik in #50

@macmladen can you elaborate on how you are using nginx-proxy a bit (e.g. give some sample configs) ... I've been trying to get this working for a bit without success. This workaround seems promising but having some examples would be great!!

You can now use docker4drupal with domains http://docs.docker4drupal.org/en/latest/domains/

@macmladen can you elaborate on how you are using nginx-proxy a bit (e.g. give some sample configs) ... I've been trying to get this working for a bit without success. This workaround seems promising but having some examples would be great!!

That's quite straightforward you can see example block below:
server {
    listen 80;
    server_name yourdomainname.com;
    root /pathtoyourapp;

    index index.html index.htm; #Include your dydnamic script index here e.g. index.php

    location / {
                proxy_pass http://<IP_ADDRESS>:8000;
        }

# Your dynamic script processor and other configs

}


fix: workaround for aggregates in datafusion

Currently plans generated by ibis-substrait containing an aggregate can't be run on datafusion. After a bit of a trial and error, I used datafusion's internal sql-to-substrait converter to see what kind of plans datafusion itself generates. Seems like datafusion always expects a projection node to follow after an aggregation node.
This PR introduces a dummy projection node that basically remaps aggregate output columns and does nothing. Targeting a specific consumer in a compiler sounds bad, but since it's an easy "fix" and still generates a valid plan for other consumers, I thought a temporary workaround was worth it.

Hey @tokoko -- is it clear whether or not Datafusion considers their behavior a bug or not?
I'm willing to merge this as a temporary fix if:

There's an upstream issue that we're tracking and can link to this PR
We have a test that doesn't add the dummy projection that currently xfails on Datafusion so we know when we can remove this behavior.

There's an upstream issue that we're tracking and can link to this PR

I haven't looked on datafusion side yet, tbh. The closest which I think is related is this one in substrait. @EpsilonPrime probably can shed more light..

We have a test that doesn't add the dummy projection that currently xfails on Datafusion so we know when we can remove this behavior.

Makes sense, but how would one do that? The compiler itself either adds the projection or it doesn't, right? We will have to somehow pass some configuration to translate function to enable/disable the workaround if we want to do that. Are you fine with that approach?

Are you fine with that approach?

Maybe instead we just have a hand-crafted (simple) substrait plan that aggs and doesn't project that we execute against datafusion?

There is a bug filed for Datafusion's project behavior.  I'm not aware of one for the aggregate behavior.  It's odd that remapping would be required given that aggregates only output the new fields.  I suppose there could be an issue with multiple grouping sets as that does add an additional column.

Oh, I know what this is.  Datafusion only allows references to be aggregated.  If you have an expression with a calculation X+1 that needs to be projected first (I refer to this an interior calculation in the tests).  If you have an expression such as sum(X)/sum(Y) the two fields need to be aggregated first and then projected and divided later (I call this an exterior calculation).  Here are my tests:
https://github.com/voltrondata/spark-substrait-gateway/blob/main/src/gateway/tests/test_dataframe_api.py#L2578
And here is the implementation (bound up in the Spark to Substrait conversion):
https://github.com/voltrondata/spark-substrait-gateway/pull/75

Datafusion only allows references to be aggregated. If you have an expression with a calculation such as X+1 that needs to be projected first and then aggregated

Sounds similar, but not entirely sure this is the cause. Looking into datafusion-produced plans, I saw that it needed an extra project node after an aggregate, not before. plus, if an aggregate itself was a last node in the query, everything seemed to work fine, but once you add another actual projection after it, things seemed to break down.
I'll take another look and test this out.

A known bug in both Datafusion and DuckDB is the way that projects emit fields.  They don't include the input fields (only the new proejcts).  That's described in this issue.
There are a few other cases where Datafusion doesn't appear to honor emits (such as on join relations).  I've heard there is a desire to add the validator to Datafusion so the generated plans can be validated.

I looked closer and seems like this is a separate issue. Datafusion simply can't execute plans that have an aggregate as the last node. Doing any sort of noop after an aggregate fixes the issue. For example a substrait plan generated from this ibis expression: table.group_by("city").aggregate(sales=filter_table["order_id"].count()) throws an error, while both of the following work:

Adding a noop filter node:

table.group_by("city").aggregate(sales=filter_table["order_id"].count()).filter(ibis.literal(1) == ibis.literal(1))

Adding a noop projection:

table.group_by("city").aggregate(sales=filter_table["order_id"].count()).select("city", "sales")

since this is a simple "fix" from ibis expression side, I'll simply amend the existing tests with the workaround (.filter(ibis.literal(True)) instead of changing the compiler and add a failing test to alert us whenever it's fixed on the datafusion side. I'll also open a new ticket on their side. Closing this. thanks for the discussion.

FYI Fixed by 12875 in datafusion. I'll get rid of the empty filter workaround after the fix is incorporated in the next release.


Update: 7zip.7zip.Alpha.msi version <IP_ADDRESS>

Original Installer URLs are 404

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.2 schema?

@wingetbot waivers Add Validation-Unapproved-URL


[help]stopEvent in overlay and pointermove ?

Hi
I can not find how to stop the pointermove above an overlay
the stopEvent (in overlay) is at true (by default) so the click is stopped but not pointermove ?
In the example below the popup and tooltip are both overlays ...
both build function (OpenPopup and voirinfo) detect feature(s) with map.forEachFeatureAtPixel ...
one function is called by  map.on("click", OpenPopup);
the other is called by map.on("pointermove", voirInfo);
So how to avoid that the markers below de popup overlay answer to the pointermove ?
What i miss ?
Thanks
https://user-images.githubusercontent.com/328101/144411294-52adef92-d909-4704-8317-dfa63c0957dc.mov

This can be achieved by standard DOM event handling. Simply register a pointermove listener on the popup container, and call stopPropagation() on the event:
container.addEventListener("pointermove", (e) => e.stopPropagation());

Here is a working example: https://codesandbox.io/s/popup-forked-bo1z0?file=/main.js:359-430

@ahocevar many thanks
work fine now
arghh it was so simple ! ;-(


Continuous Integration

Need to setup Travis CI as the Open Source CI

Shall we Github Actions instead? 🥳

Main point of this is automated unit tests and integration test checks on every PR

Yes, I agree. Github Actions is better because we can monitor the CI in the same platform as the SDK itself

@stanleynguyen can you help on this one? Since you are more familiar with Github actions


Upgrade base image

I'm considering, as @julianu mentioned today, to upgrade the base image to the latest Ubuntu LTS version, 16.04. @BioDocker/contributors , any comments on that?

As I mentioned it, I obviously vote for doing this :+1:

I would wait some 3 months just until the first patches come in.

I also don't see an urgent need to upgrade.

@all I don't see the needs for the upgrade we have pending things such as the manuscript, the examples, the integration with other pipelines etc.

the upgrade will be in a couple of months


Background Color change in the Feedback Form

Background color and icon color change in the Feedback Form section to black and blue to maintain consistency and follow the website color theme.
@vivekvardhan2810 Could you please assign this issue to me under gsscoc and hactober fest?.
Thank You!

@Wangmo-inn make sure to complete this issue within 2 days, i will add hacktoberfest label at the time you have created the Pull Request.

I would like to work on this issue by making it more enhanced and attractive for users pls assign me this @vivekvardhan2810

Hlo sir,
I would like to chage the background more effective and attractive to maintain consistency over the website.
Could you please assign me this task


Revert "Dynamic serviceaccount/role/rolebinding creation"

This reverts commit 250d1a4ee69f6d4fe4ad2e523d6db7d6b7b14225.
The kuttl test is failing with the following error: pe: InputReady
+  - lastTransitionTime: "2023-05-04T18:48:45Z"
+    message: IronicRabbitMqTransportURL disabled
+    reason: Ready
+    status: "True"
+    type: IronicRabbitMqTransportURLReady
+  - lastTransitionTime: "2023-05-04T18:48:45Z"
+    reason: Init
+    status: Unknown
+    type: KeystoneServiceReady
+  - lastTransitionTime: "2023-05-04T18:48:45Z"
+    message: NetworkAttachments not started
+    reason: Init
+    status: Unknown
+    type: NetworkAttachmentsReady
+  - lastTransitionTime: "2023-05-04T18:48:45Z"
+    message: 'Service config create error occurred error create/updating configmap:
+      template: tmp:36:24: executing "tmp" at <.KeystonePublicURL>: map has no entry
+      for key "KeystonePublicURL"'
+    reason: Error
+    severity: Warning
+    status: "False"
+    type: ServiceConfigReady

The error is still occurring, so this commit is unrelated


Rename Master to Main

Renaming the Master branch to main.

any particular reason why you want to rename this?

:) as mentioned

yep can't rename yet as I'm currently not working directly with this repo

Sure, no rush


Replicate rootDiskController behavior to dataDiskController.

Description
The bus type to data disk volumes is hardcoded to virtio or scsi, when using virtio-scsi (or, based on the template type). Therefore, there is no way to specify the bus type to data disk volumes (as we have for root disks).
This PR intends to replicate the rootDiskController behavior to dataDiskController, allowing the definition of the controller.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[x] Major
[ ] Minor

How Has This Been Tested?
It has been tested locally.

@blueorangutan package

@blueorangutan package

@RodrigoDLopez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@RodrigoDLopez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✔centos8 ✔debian. JID-2527

Packaging result: ✔centos7 ✔centos8 ✔debian. JID-2527

@blueorangutan test

@blueorangutan test

@RodrigoDLopez thanks for asking.
Actually the process is quite similar as which you described.
I made the whole process via GUI.

I created an instance.

With it stopped, I created a volume and attached to it.

I setted the dataDiskController setting as ide and started the instance.

After that, I checked if the detail informed was in the dump XML of the instance.
What I got was <target dev = 'hda' bus = 'ide' />, which was what I expected.

@RodrigoDLopez thanks for asking.
Actually the process is quite similar as which you described.
I made the whole process via GUI.

I created an instance.

With it stopped, I created a volume and attached to it.

I setted the dataDiskController setting as ide and started the instance.

After that, I checked if the detail informed was in the dump XML of the instance.
What I got was <target dev = 'hda' bus = 'ide' />, which was what I expected.

@blueorangutan test

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3388)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32743 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4569-t3388-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Smoke tests completed. 86 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-3388)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32743 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4569-t3388-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Smoke tests completed. 86 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

one concern; the default used to be virtio and now it is null? otherwise the code looks good

@DaanHoogland
The method getDataDiskModelFromVMDetail returns null if the dataDiskController setting is not configured.
If the method returns null, then it will keep the same behavior as before, so the default still is virtio.

one concern; the default used to be virtio and now it is null? otherwise the code looks good

@DaanHoogland
The method getDataDiskModelFromVMDetail returns null if the dataDiskController setting is not configured.
If the method returns null, then it will keep the same behavior as before, so the default still is virtio.

@GutoVeronezi you are right, i read with crooked eyes.

@GutoVeronezi you are right, i read with crooked eyes.


when load CogVideoX-5b model, it gets error as : TypeError: load_checkpoint_and_dispatch() got an unexpected keyword argument 'strict'

Does the work support the CogVideoX-5b model?

that seems package version problem

that seems package version problem

when I upload transformer model, it gets this problem. Do you think it relate to the diffusers module version or other modul?

we have restrict diffuser and transformer version in requirements, have you followed that? and can you provide more detail trace of the error?

we have restrict diffuser and transformer version in requirements, have you followed that? and can you provide more detail trace of the error?

Yes, I run the code in path: VideoSys-pab/examples/cogvideox/sample.py
and follow the requirements.txt as the git provided. I also download the CogVideoX-5b model from the CogVid git which link to Modelscope website.  Finally, we got the error below:
(videosys_wujx) root@dl-fa1f0874ec163affbe764b191d3922bb-r0-57f513f54c62-0:~/work/filestorage/wujx/VideoSys-pab/examples/cogvideox# python sample.py
Traceback (most recent call last):
  File "/root/work/filestorage/wujx/VideoSys-pab/examples/cogvideox/sample.py", line 42, in <module>
    run_base()
  File "/root/work/filestorage/wujx/VideoSys-pab/examples/cogvideox/sample.py", line 8, in run_base
    engine = VideoSysEngine(config)
  File "/root/work/filestorage/wujx/VideoSys-pab/videosys/core/engine.py", line 21, in __init__
    self._init_worker(config.pipeline_cls)
  File "/root/work/filestorage/wujx/VideoSys-pab/videosys/core/engine.py", line 63, in _init_worker
    self.driver_worker = self._create_pipeline(
  File "/root/work/filestorage/wujx/VideoSys-pab/videosys/core/engine.py", line 71, in _create_pipeline
    pipeline = pipeline_cls(self.config)
  File "/root/work/filestorage/wujx/VideoSys-pab/videosys/pipelines/cogvideox/pipeline_cogvideox.py", line 142, in __init__
    transformer = CogVideoXTransformer3DModel.from_pretrained(
  File "/root/.local/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File "/root/.local/lib/python3.10/site-packages/diffusers/models/modeling_utils.py", line 886, in from_pretrained
    accelerate.load_checkpoint_and_dispatch(
TypeError: load_checkpoint_and_dispatch() got an unexpected keyword argument 'strict'
(videosys_wujx) root@dl-fa1f0874ec163affbe764b191d3922bb-r0-57f513f54c62-0:~/work/filestorage/wujx/VideoSys-pab/examples/cogvideox#

We also the check the diffuser version of  CogVid and found that ti require the version of diffusers>=0.31.0; however, in Videosys it requires the diffusers==0.30.0.  We also try to update the diffusers version but it seems not work.

Hope you can give us support, thanks ahead.

https://github.com/black-forest-labs/flux/issues/134 maybe this will help

black-forest-labs/flux#134 maybe this will help

It works!!!  Thank you!

pip install accelerate -U


Support ratatui v0.23

#46

merged, but not officially released yet. Will do as soon as I have time.

Published 0.9.6


Should we expect OSQP_NON_CVX on all non-convex problems?

OSQP is happy to minimize -x^2 and return 0 as the optimal solution. Is this expected or should it detect non-convexity?
using OSQP
m = OSQP.Model()
OSQP.setup!(m, P=spdiagm([-1.0]))
OSQP.warm_start_x!(m, [2.0])
results = OSQP.solve!(m)
@show results.info.status

The check on the current branch works when the residuals diverge. It is a bit naive.
@gbanjac added a proper check in branch 0.4.1. It works when the factorization is performed.
Would you be able to try it? I believe it should detect the nonconvexity.

The new check that @bstellato mentioned is done during the setup phase. The LDL factorization of the matrix (see here) should produce a diagonal matrix D with n positive and m negative diagonal entries given that P+sigma*I is positive definite. The check is based on counting the positive entries in D.
Note that this check will not work when P is not PSD and P+sigma*I is PD. However, the default value of sigma is 1e-6 and this should happen only when the distance between P and the PSD cone is very small.
I guess the only reliable way to detect non-convexity would be to compute the eigenvalue decomposition of P, but this is not what we want to do within OSQP.

Would you be able to try it?

Sorry, I haven't gotten to trying it yet because there are few manual steps to getting the Julia wrapper building an upstream branch instead of a release.

Note that this check will not work when P is not PSD and P+sigma*I is PD. However, the default value of sigma is 1e-6 and this should happen only when the distance between P and the PSD cone is very small.

That's a reasonable check. What are the possible statuses reported when P is not PSD but P+sigma*I is PD? Could OSQP still return a solution that it reports is optimal but is not?

There might be cases where this test does not detect a matrix with a slightly negative eigenvalue. As @gbanjac mentioned, this happens when that eigenvalue is in absolute value less than 1e-06. I think the only way to detect a non PSD matrix in 100% of the cases would be to perform an eigenvalue decomposition inside OSQP. However, we do not want to do that because it can be very slow.
Do you have QPs with these characteristics? Would it be possible for you to check if the problem is convex when you are building it? From which language are you calling OSQP?

Do you have QPs with these characteristics? Would it be possible for you to check if the problem is convex when you are building it? From which language are you calling OSQP?

The issue is more about documentation than a specific instance/language interface. The discussion of solver statuses is confusing on a few points:

(Obvious) It's missing OSQP_NON_CVX. But anyway for the points below let's take the documentation from the source code as "problem non convex".
Does providing a non-convex problem to OSQP imply that OSQP_NON_CVX will be returned? Given the discussion above, the answer is "No, but it will be detected unless the smallest negative eigenvalue is greater than X." This should be documented somewhere.
What happens in the edge case that's not detected? From the discussion above it sounds like OSQP could report OSQP_SOLVED and return a solution that's not globally optimal. This should be documented somewhere.

This is meant only as constructive feedback about API issues that I expect other users will run into. Thanks for the responses so far :)

I do not think that is necessary to compute the full eigenvalue decomposition since we only want to know the most negative eigenvalue.
I think one could proceed as follows:

Compute the LDL decomposition of the KKT matrix and check the matrix inertia.   If it is as expected, then the smallest eigenvalue of P is not lower than $-\sigma$ (i.e. it is a certificate that P + \sigma I \succ 0).   If it is not, then fail with an error (this is what we do now).

Otherwise, set $H = - (P+\sigma I) + (trace(P) + n\sigma)*I$.   This should be positive semidefinite since (P+\sigma I) has all positive eigenvalues and $(\trace P + n\sigma)$ is their sum.   The eigenvector associated with the largest eigenvalue of $H$ is also the eigenvector associated with the smallest (i.e. most negative) eigenvalue of $P$.

Compute the dominant eigenvector / eigenvalue of $H$ using the power method or a related method.

That said, I don’t really like the idea of using this on every solve if it takes a lot of time.   Ideally one would employ the above procedure only when the inertia of the KKT factorisation looks ‘suspicious’, i.e. when the entries of D in the LDL factorisation appear too close to zero.   However, there is no obvious way that I can see to lower bound the positive entries of D given a lower bound on the eigenvalues of the PD part of the KKT matrix.
On 5 Sep 2018, at 22:11, Bartolomeo Stellato <notifications<EMAIL_ADDRESS>wrote:
There might be cases where this test does not detect a matrix with a slightly negative eigenvalue. As @gbanjachttps://github.com/gbanjac mentioned, this happens when that eigenvalue is in absolute value less than 1e-06. I think the only way to detect a non PSD matrix in 100% of the cases would be to perform an eigenvalue decomposition inside OSQP. However, we do not want to do that because it can be very slow.
Do you have QPs with these characteristics? Would it be possible for you to check if the problem is convex when you are building it? From which language are you calling OSQP?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/oxfordcontrol/osqp/issues/86#issuecomment-418883034, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGhaqVOs-NTlqgKEVKKQDXc7H1dzXajlks5uYD4SgaJpZM4WM1Pu.

Thank you @mlubin for the suggestions! It is definitely good to add something more clear in the docs. I agree with @goulart-paul that the 100% sure detection would take too much time.
I have added a comment to OSQP_NON_CVX in the docs so that the users know there is some kind of detection, but it is not supersafe: 2e5815a0646544df. It will be merged to the master branch with the new release.


Pandas pct_change() function results in nan loss when training

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below):  v2.4.0-rc4-71-g582c8d236cb 2.4.0
Python version: Python 3.7.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: Running on CPU
GPU model and memory:

Describe the current behavior
When training a model with data from a pandas DataFrame, the model trains fine unless I use the df.pct_change() pandas function on it. If I do so, the loss is always nan. I specifically made sure to remove any NaN or inf values from the dataset but the problem persists. I don't know if I'm just missing something obvious and the issue is on my end.
I created a simplified jupyter notebook to demonstrate the issue.
Describe the expected behavior
The loss should be a real number in the last cell of the notebook (after I remove all NaN and inf values) but it is still nan.
Standalone code to reproduce the issue
Here is the notebook:
https://drive.google.com/file/d/1k3dHHtFI4tGTKswF0d0TJdj9TfaqfBnX/view?usp=sharing
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

Figured out the answer on my own. Stupidly, the example code I wrote out above is exactly the issue, haha.
Indeed, the model will train fine on the actual data, and indeed the model will not train fine on any data that has NaN or inf values in it.
But if you try to train on data with NaN or inf values, then the model will never stop having a nan loss, despite if you train it with new, clean data.
Start training the model only when you know there are no NaN or inf values in your data.

Figured out the answer on my own. Stupidly, the example code I wrote out above is exactly the issue, haha.
Indeed, the model will train fine on the actual data, and indeed the model will not train fine on any data that has NaN or inf values in it.
But if you try to train on data with NaN or inf values, then the model will never stop having a nan loss, despite if you train it with new, clean data.
Start training the model only when you know there are no NaN or inf values in your data.


feat(backend): Gate api methods

Motivation
When we split the backend into two canisters, we will need to disable APIs gradually and selectively:
timeline
    title Data Migration
    Now : backend (user data read-write, eth read-sign)
    Pre-migration : backend (user data read-write, eth read-sign)
       : new_backend (all user-facing APIs disabled)
    In-migration : backend (readonly)
       : new_backend (all user-facing APIs disabled)
    Data transfer completed : backend (readonly)
       : new_backend (user data read-write)
    UI uses new backend
       : backend (signing read-sign)
       : new_backend (user data read-write)

Note:

When threshold keys are readonly, users will be able to get their Ethereum public key and so see their balances but will not be able to transact.
When user data is readonly, users will be able to see their tokens as usual but not be able to create new accounts or edit their accounts.

Changes

Add init args to selectively disable API methods.
Apply guards to all user facing methods that access either user data or threshold signatures.

Tests

Unit tests are included to  ensure that the enums behave as expected.

TODO

PR with an API method that enables or disables features without reinstall.
Test that after signing is disabled, the new canister will indeed not provide public keys or sign anything.

If I understand correctly, this architecture allows for the Oisy BE migration to occur while Oisy is still live - but read-only - is this the idea behind it ?

This does support readonly during migration but the API toggles are needed with or without.  For example, if reads are still enabled on the signer or signing on the backend after migration and we call the wrong canister because a user hasn't refreshed so is using an old client, we are in a worse state than before.

Agreed!  At least, I didn't test but it looks that way based on this option: https://github.com/dfinity/cdk-rs/blob/59795716487fbb8a9910ac503bcea1e0cb08c932/src/ic-cdk-macros/src/export.rs#L12  No idea whether changing the option to a vec would "just work" or whether more is needded.  I see no hints either way in the macro attribute code.


Error Printer Image

It does not print an image, an error occurs and a completely wrong impression comes out.

I had problem with printing images too. You need to change in this line the number 576 to your printer head dots .
https://github.com/mtmsuhail/ESC-POS-USB-NET/blob/ff50466659fdbba2208c50b109c2511888560da4/ESC-POS-USB-NET/Epson Commands/Image.cs#L16
For e.g. I got Chinese (clone?) MPT-II , which have 48mm active print area (ribbon 57/58mm) and 384dots (203dpi), so I had to change this to 384.


Prettyprinter fails in Karma 0.10 when Mac OS terminal window is too narrow

When the Mac OS X terminal window is narrower than Karma's output, Karma prints multiple lines as tests run:
$ node_modules/.bin/karma run
[2013-09-03 13:03:55.640] [DEBUG] config - Loading config /Users/jshore/Documents/Projects/spikes/karma_prettyprint_bug/karma.conf.js
Safari 6.0.5 (Mac OS X 10.8.4): Executed 1 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 2 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 3 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 4 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 5 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 6 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 7 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 8 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 9 of 10 SUCCES
Safari 6.0.5 (Mac OS X 10.8.4): Executed 10 of 10 SUCCE
Safari 6.0.5 (Mac OS X 10.8.4): Executed 10 of 10 SUCCESS (0.574 secs / 0.503 secs)

I added the linefeeds above for clarity. The actual output contains no line feeds, but looks like it does, because each line is exactly the width of the window. Here's the actual output:
$ node_modules/.bin/karma run
[2013-09-03 13:03:55.640] [DEBUG] config - Loading config /Users/jshore/Documents/Projects/spikes/karma_prettyprint_bug/karma.conf.js
Safari 6.0.5 (Mac OS X 10.8.4): Executed 1 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 2 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 3 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 4 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 5 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 6 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 7 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 8 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 9 of 10 SUCCESSafari 6.0.5 (Mac OS X 10.8.4): Executed 10 of 10 SUCCESafari 6.0.5 (Mac OS X 10.8.4): Executed 10 of 10 SUCCESS (0.574 secs / 0.503 secs)

Reproduced in Karma 0.10. Works in Karma 0.8. I'm not sure if this is specific to the Mac Terminal app.
Here's the (Mocha) test I used to reproduce the issue:
describe("Example", function() {

	var DELAY = 100;

	it("sync test 1", function() {});
	it("sync test 2", function() {});
	it("sync test 3", function() {});
	it("sync test 4", function() {});
	it("sync test 5", function() {});

	it("async test A", function(done) { setTimeout(done, DELAY) });
	it("async test B", function(done) { setTimeout(done, DELAY) });
	it("async test C", function(done) { setTimeout(done, DELAY) });
	it("async test D", function(done) { setTimeout(done, DELAY) });
	it("async test E", function(done) { setTimeout(done, DELAY) });
});

Closing in favor of #1411


Reproducible Maven Build

I'm happy to update the POM file to explicitly version plugins etc so that heapothesys can have repeatable builds.  The downside is a larger pom.

That's a fair trade-off, please submit a PR.

#16


Remove unused or duplicated imports

Description
Removed unused imports. Fix #1863
How was this patch tested?
No code changes
Does this PR introduce any user-facing changes?
No

@allisonport-db @vkorukanti, let me know if this is something we are interested on, please. Then I can rebase it.
I'll need a quick review, or it will always have conflicts.


Parameter names for append_without_duplicates function

We're currently using p_keys as the variable name.  Perhaps cols or compound_key_cols would be better.  Not sure.  Want to try to use the correct terminology everywhere, but it's tough.
def append_without_duplicates(
        delta_table: DeltaTable, append_df: DataFrame, p_keys: List[str] = None
):

We should generally agree on a common terminology. I am using "columns" currently, Delta / Spark internally uses "cols".


The DXA_1.2_Release tag is not on the release/1.2 branch.

The DXA_1.2_Release tag is not on the release/1.2 branch. Also the release/1.2 is missing some webapp-java pom fixes from the DXA_1.2_Release tag branch.

Fixed in https://github.com/sdl/dxa-modules/pull/13

release/1.2 branch currently represents the DXA 1.2.1 hotfix release. Is this issue still relevant or can it be closed?


Latest blog post on nix flakes: Link to PR in nixpkgs is wrong

cf
https://github.com/Xe/site/blob/05379c9b4c55bb996c175bf50a01e1d46531a760/blog/nix-flakes-2-2022-02-27.markdown?plain=1#L299
Very nice post for the rest :)

Fixed earlier today


Request for documentation for email CRUD functionality

Hello,
I still looking for documentation to use this soap api to send simple and with attachment email, get all email list and all others basic email CRUD functionality .

i need documentation functionality this lib :(


Bump allure version

https://github.com/kochetkov-ma/allure-server/blob/863173e37d0206119a2577419a2c4b1e400b2d0c/gradle/dependencies.gradle#L18
to the latest 2.13.8

Good suggestion!
Will update the dependencies in the next release

Good suggestion!
Will update the dependencies in the next release

done. check please https://github.com/kochetkov-ma/allure-server/releases/tag/v2.8.0

done. check please https://github.com/kochetkov-ma/allure-server/releases/tag/v2.8.0