Re-order Imprint Location filter choices so they follow natural numerical order

V.2 should be before V.12, etc

Some filter choices are combined in the drop-down; each term needs to be treated separately.


include zola/gutenberg env vars in Pages > Build Configuration

This PR updates the Pages > Build Configuration page to include the environment variables needed for Gutenberg and Zola. These tools are not installed by default and are only available if their corresponding environment variables are specified in your project's build settings.

@1000hz would you mind adding the latest version number instead of (requires environment variable for consistency with the others?

The reason for that bit of text is that the build image doesn't install these two tools unless you have that environment variable set. There is no "default" version included. Putting the latest version of the tools in that column would be misleading.

ah i see what you're saying. we started out having that column be named "latest version" but it felt a bit silly since that's what the platform should just use (pending pages-11).
but that makes sense, thanks for that clarification


Replace kwik with kotest - deprecate spek

spek will be replaced by kotest over time.
also removing the need for jcenter.

resolved


fix: (IAC-1091) Prevent Jump VM cloud-init from overwriting existing file permissions/ownership

Changes:
When a new jump server vm is created, it sets file ownership and permissions for the mounted NFS location which allows Viya services to initialize successfully. Importantly, the file system settings should only be applied once and not repeatedly in the event that the jump vm is destroyed and recreated in the same cluster. This change checks if the ${jump_rwx_filestore_path}/pvs folder already exists and skips creating the folder and recursively setting ownerships and permissions if it does. If the jump vm is being created for the first time when the pvs folder is absent, creating the folder and setting permissions and ownership will occur an initial time and not thereafter.
Tests:
Executed the following workflow to verify that file permissions and ownership was not modified on Jump VM recreation
Steps:

Created cluster using viya4-iac-gcp
Verify infrastructure created successfully

Checked initial permissions and ownership of files of mounted files system on Jump VM

Deploy Viya4 using DaC
Verify Viya deployment is stabilized

Checked permissions and ownership of files mounted on the Jump VM that were created by the Viya deployment

Stop Viya.
Start Viya Start a SAS Viya Platform Deployment
Check deployment/pods status verify all Viya pods, services and applications stabilize and are accessible.

Checked that permissions and ownership of files mounted on the Jump VM that were created by the Viya deployment were not changed upon the rerun of the cloud init script.

This is fine and I know we recently did this for one of the other providers, we now have to ensure that if this directory exists that we document that on its initial run the permissions need to be set to 777 and the owner/group needs to be modified as nobody:nogroup as we now cannot guarantee this. So doc will be needed here and in the other provider or providers we've updated with this code check.

Hey @thpang, on this line in the cloud-init https://github.com/sassoftware/viya4-iac-gcp/blob/IAC-1091/files/cloud-init/jump/cloud-config#L34 we document the new functionality. Would making this section a bit more verbose to describe the updated behavior more clearly be what you are looking for?


feature request: file path operations (like vinegar)

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
Vinegar has 2 cool features regarding to file path operations:

Press . on a file to pre-populate it at the end of a : command line. This is great, for example, to quickly initiate a :grep of the file or directory under the cursor. Type .!chmod +x and get :!chmod +x path/to/file.
Press y. to yank an absolute path for the file under the cursor.

Would it be possible to implement these features in oil.nvim?
Thank you in advance.
Provide background
No response
Additional details
No response

Have you looked at :help oil-actions? There are some built-in actions that should do what you want (and you can bind them to whatever key you want in setup()). I believe that open_cmdline and copy_entry_path are the two that you're asking for.

Ups, sorry about that, and thank you for the clarification.


TestNg not generating reports in case of timeout

Hi,
We are trying to run testNg suite programmatically in java. We have defined our custom timeout check where we loop through to check if the timeout has reached. Once the timeout is reached we exit with status code 1. However, we find that no testNg report gets generated. Is there any method that we can call to make sure that the reports gets generated ?
Thanks

Hi! Thanks for the report. Could you share a sample?

Adding the relevant Google forum thread : https://groups.google.com/forum/#!topic/testng-users/6cPkg9Hga0Y

Example from Google thread but still unclear for me:
public class ExecIdTestNG {

	private int executeTests() {
		int status = 0;
		final ExecutionIdRunner runner = new ExecutionIdRunner();
		runner.start();
		long start = System.currentTimeMillis();
		// 10 mins timeout
		while (System.currentTimeMillis() - start < 600000) {
			// do nothing
		}

		if (runner.isAlive()){
			status = 1;
		}
		return status;
	}

	private static class ExecutionIdRunner extends Thread {

		@Override
		public void run() {
			final TestNG testNg = new TestNG(false);
			// added few listeners
			// added few reporters
			final XmlSuite suite = new XmlSuite();
			suite.setParallel("classes");
			suite.setThreadCount(40);
			suite.setVerbose(10);
			suite.setAllowReturnValues(false);
			suite.setPreserveOrder("false");

			final List<XmlSuite> suites = new ArrayList<XmlSuite>();
			suites.add(suite)
			testNg.setXmlSuites(suites);
			testNg.run();
		}
	}

	public static void main(final String[] args) {
		final ExecIdTestNG tests = new ExecIdTestNG();
		int status = tests.executeTests()
		Systme.exit(status);
	}
}


Could we pass the msg.Document() into the message handler?

https://github.com/FerretDB/FerretDB/blob/bb0d0fef1aac1ca460f271342948fe7351cbf74d/internal/handlers/handler.go#L147
https://github.com/FerretDB/FerretDB/blob/bb0d0fef1aac1ca460f271342948fe7351cbf74d/internal/handlers/shared/msg_dropdatabase.go#L30
Hello,
Many message handlers will invoke document, err := msg.Document() again,  could we pass document from Handler.handleOpMsg ?

Probably. I have more ideas more refactoring, but let's re-evaluate them a bit later.

Let's keep it open as reminder

Let's keep it open as reminder

OK.


New permission for wiki space

Based on your ideas and our needs, we have implemented the missing permission feature. @BreadGenie  Please review it and indicate your acceptance. Thank you.
https://github.com/frappe/wiki/issues/60

Dear @BreadGenie
Hopefully, my teammate has fixed all the requested issues. Could you please take a look? Is it good to merge like this, or should we open a new PR? Thank you

@BreadGenie please do not forget to check our last commit. Thank you

Dear @BreadGenie , we pushed a new code, hopefully everything is fixed now. Please take a look! https://github.com/frappe/wiki/pull/217/commits/7b7dcfb320fd8f59d98c454932d77ad806ae7287
Thank you for your support

Excited for this!

Dear @BreadGenie can we help you somehow? I think we have done our part, unfortunately, we are not as good as you. Hopefully, our work gives you some idea and you have time finally to finish and merge this to the next release/update.
thank you

@monolithonadmin have you tried piping your change through an AI review?
There are a couple of (relatively) obvious code smells that the AI would certainly catch, probably increasing your chances of a merge.

Dear @blaggacao thank you for your nice words and tips. Unfortunately, we cant do this anymore. We pushed till we can, I'm just hoping it's enough.

I see and understand. Sometimes there's still "no deal" on good and valuable features like this one. And that's a pitty.
Maybe you could close it then, as this would signal to others that "this is not being worked on further" so the chances of somebody taking this up and pushing it over the finish line ever so slightly increase.
It's relatively rare that someone would take over an unfinished PR, in my experience.

PS: If you end up changing your mind and want to push this over the finish line, count on a thorough review from my part after putting in the little bit of extra effort asked.

Hello!
I’m interested in the feat
I will take on the PR and made the changes accordingly

Hi @BreadGenie & @monolithonadmin,
I hope you're both doing well. I've refactored the previous commits to minimize raw SQL usage, opting for ORM wherever possible. Additionally, I've eliminated nested loops.
I look forward to your review and the potential merge of this PR.
Thank you!!

Hello @BreadGenie and @monolithonadmin,
In Commit ID 20d0e93, I added additional functionality to enhance permission handling in the WikiPage module of the Frappe Wiki app. During testing, I discovered some bugs and realized that administrators should have unrestricted access to all wiki pages without needing to go through permission checks. I've implemented this change along with the following updates:

Stricter permission checks for normal users to ensure they only access authorized Wiki pages.
Administrators now have full access to all Wiki pages without restriction.
Enhanced user feedback with more descriptive error messages when access is denied.

Thank you!!

Can you add a feature flag in Wiki Settings to enforce permissions? It should default to false.

Hello @BreadGenie, Can you please explain a bit more your thoughts that will help me to quickly implement this for wiki?
Thank you!!

Hello @BreadGenie, Can you please explain a bit more your thoughts that will help me to quickly implement this for wiki?

We don't want the permission to be applied by default for every user (say for a fresh installation of Wiki). Once someone enables this feature via Wiki Settings then only it should apply the permissions IMO.
Also I'm not sure about simply throwing an error if user doesn't have the necessary permission. Since the user might not see the error thrown and it might confuse them and they may think that something broke (take a look at what the user see if they don't have perms). This can be thought again later.

Hello @BreadGenie @monolithonadmin, I am here with latest changes cab8d49
PR Title:
Enhance Wiki Page Visibility and Permissions Handling
PR Description:

Guest User Access:

Implemented logic to show pages to Guest Users if the Allowed Guest setting is enabled.

Revision Handling:

Adjusted revision logic to prevent errors when no previous revisions exist. Now, if no revisions are found, the page simply won't display any revisions.

Context Optimization:

Consolidated context updates for improved performance and code readability.

Custom Permissions:

Added a new setting in Wiki Settings (Enable Custom Permissions). By default, this setting is False. When enabled, it enforces custom permission checks for wiki pages.

Hello @BreadGenie, We look forward to hear from you. Thank you!!

@Z4nzu Apologies for the imprecisions in my review. I mentioned, I was on the phone, trying to gain your candid reading :smile:
I was mainly looking at it from a performance point of view (just in the diffs I saw), as this is public facing code.
Granted, the overall impact might be minor or it might not have been obvious, but if we can avoid two consecutive database calls, why wouldn't we then?

@Z4nzu Apologies for the imprecisions in my review. I mentioned, I was on the phone, trying to gain your candid reading :smile:
I was mainly looking at it from a performance point of view (just in the diffs I saw), as this is public facing code.
Granted, the overall impact might be minor or it might not have been obvious, but if we can avoid two consecutive database calls, why wouldn't we then?

Hello, I understand your concern and I will fix it as soon as I can 😉.

Hello @blaggaca @BreadGenie, Could you please review and accept requested changes? As, I already did those changes.

Hi @Z4nzu , Could you please list the steps a user has to follow to get the permissions to work? I couldn't implement it properly.


Add a non-interactive function to use softioc in deamon mode

I propose adding the non_interactive_ioc function to allow the use of softioc in daemon mode. This mode can, for example, be used with systemd. It is compatible with asyncio and cothread.
To ensure that information is correctly logged in the journal, it is recommended to execute the Python script with the -u option or to set the environment variable PYTHONUNBUFFERED=TRUE.
Here is an example of a service:
[Unit]
Description=IOC
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt
ExecStart=/opt/softioc/bin/python -u /opt/example.py
Environment="PATH=/opt/softioc/bin"
Restart=always

[Install]
WantedBy=multi-user.target

And an example of a script:
# Import the basic framework components.
from softioc import softioc, builder
import cothread

# Set the record prefix
builder.SetDeviceName("MY-DEVICE-PREFIX")

# Create some records
ai = builder.aIn('AI', initial_value=5)
ao = builder.aOut('AO', initial_value=12.45, on_update=lambda v: ai.set(v))

# Boilerplate to get the IOC started
builder.LoadDatabase()
softioc.iocInit()

# Start processes required to be run after iocInit
def update():
    while True:
        ai.set(ai.get() + 1)
        print(ai.get())
        cothread.Sleep(1)

cothread.Spawn(update)

if __name__ == "__main__":
    softioc.non_interactive_ioc()

Apologies, there's another PR under discussion at the moment that will significantly change the AsyncioDispatcher: https://github.com/dls-controls/pythonSoftIOC/pull/138. It would probably be best to wait until that one is merged before thinking about this one, as it will require refactoring.

Noted. I'm waiting for merger #138.
Do you think there will be many changes to make following the merger?

The other PR has now been merged. There is a conflict that will need fixing.

Hello, @AlexanderWells-diamond
I created another pull request (#156) following merger #138


Add color inversion OSL shader

This shader is an OSL implementation of RenderMan's PxrInvert node:
https://rmanwiki.pixar.com/display/REN22/PxrInvert
It allows to invert individual or all color channels of an input color with selectable color model. Output is a RGB color.

Thanks for the speedy review!


Hi! :) Issue with retreiving font from button.

I am creating a GUI class, based on the idea by lemasato but using the HWND of the elements to catalogue everything.
I am at the point where I am attempting to integrate your newer version of the library with this one. I am having some issues though, and was wondering if you could give some feedback.
First, in the method to add a new element: If I used the value inserted into the hwndHWND from the GUI control, it says that it fails to find the font
---------------------------
Icarus.ahk
---------------------------
GUI: "MainMenu"
Error: "Couldn't get button's font!
0
0
-905312327"

Control: "0x34289e" - Control Handle: "2042052"
Options: "w200 h50"
ImageButton Style: "[{"1":0,"2":"0x274554","3":"","4":"0xebebeb","7":"0xd6d6d6"},[0,"0x355e73"],[0,"0xffffff"]]"

---------------------------
OK
---------------------------

But if I instead use the HWND returned from DllCall("GetParent", "UInt", HWND)
It no longer says that it fails to find the font, and instead the creation fails altogether:
---------------------------
Icarus.ahk
---------------------------
Failed to create control.

Message: 1
Extra:

GUI Label: TestButton2
GUI HWND: 0x312898
Control type: ImageButton
Options: w200 h50
Content: Text
CtlColor:
Font: Segoe UI 10 Green
---------------------------
OK
---------------------------

This is the testbench I am using to try this class with:
; Create Menu
Gui.New("MainMenu","Icarus Main Menu","+AlwaysOnTop")
Gui.FontInit("Segoe UI","10","Green")
ButtonHWND := Gui.Add("Button","TestButton","Text","w200 h50","This Button is Not Active")
Gui.SetControl(Gui.GetHWND("TestButton"),"This is new text")
Gui.BindMethodToControl(Gui,ButtonHWND,"TooltipToggle")
Gui.TooltipUpdate(ButtonHWND,"This button toggles tooltips")
Gui.SetHover(ButtonHWND,"Segoe UI","16","FF8000","Replaced With This")

specialBtnStyle := [ [0, "0x274554", "", "0xebebeb", , , "0xd6d6d6"] ; normal
		               , [0, "0x355e73"] ; hover
		               , [0, "0xffffff"] ] ; press
; Gui.FontSet("Segoe UI","24","808010")
ButtonHWND := Gui.Add("ImageButton","TestButton2","Text","w200 h50","This Button is Also Not Active",,,specialBtnStyle)
Gui.SetControl(Gui.GetHWND("TestButton2"),ButtonHWND)

Gui.Add("Edit","My Edit Field","This is the text that will occupy the field"
,"w200 r6 -Theme",App.Lang.English["My Edit Field"])

Gui.Show("MainMenu","w1000 h500 x800 y250")

The button just becomes blank instead of completing the process

I am trying to simplify the process, and still having the same issue on a much simpler configuration.
Gui, New

Gui, Add, Button, hwndHWND, My Button

specialBtnStyle := [ [0, "0x274554", "", "0xebebeb", , , "0xd6d6d6"] ; normal
		               , [0, "0x355e73"] ; hover
		               , [0, "0xffffff"] ] ; press

If !ImageButton.Create(HWND,specialBtnStyle){
	MsgBox % "Failed with Error: " ImageButton.LastError
}

Gui, Show

ExitApp

#Include, %A_ScriptDir%\lib\CLASS_ImageButton.ahk

Now using this code, it states that either the button font cannot be access, or if I change to DllCall("GetParent", "UInt", HWND) as the provided HWND handle, it instead tells me that the control must be a pushbutton.
What am I doing wrong, or what step is required for me to get this working?

the thing that is puzzling me, where does it assign a value to This.Font? I cannot find where its referenced for assignment at all XD
I already have the values for the font saved in my GUI object, so I could pass this into the class like older versions, but I wanted to use your new improvements :)

At the rist of sounding desperate for an answer, I am back. I want to move on with my project so I can begin work on the actual content and not with the interface :D This step and getting Ctl_Colors to work properly within my class are the last two steps I need to finish, and you designed both! :D
If I can ask a more simple question, what content is the Font that is returned, so that I might provide it instead?

I was looking for possible differences, and was wondering if its possible that I am not initializing GDIP the same method that you are?
I was initializing it with the Gdip_Startup() helper function in Gdip.ahk
Gdip_Startup()
{
	if !DllCall("GetModuleHandle", "str", "gdiplus")
		DllCall("LoadLibrary", "str", "gdiplus")
	VarSetCapacity(si, 16, 0), si := Chr(1)
	DllCall("gdiplus\GdiplusStartup", "uint*", pToken, "uint", &si, "uint", 0)
	return pToken
}

While in your example you have:
UseGDIP(Params*) { ; Loads and initializes the Gdiplus.dll at load-time
   ; GET_MODULE_HANDLE_EX_FLAG_PIN = 0x00000001
   Static GdipObject := ""
        , GdipModule := ""
        , GdipToken  := ""
   Static OnLoad := UseGDIP()
   If (GdipModule = "") {
      If !DllCall("LoadLibrary", "Str", "Gdiplus.dll", "UPtr")
         UseGDIP_Error("The Gdiplus.dll could not be loaded!`n`nThe program will exit!")
      If !DllCall("GetModuleHandleEx", "UInt", 0x00000001, "Str", "Gdiplus.dll", "PtrP", GdipModule, "UInt")
         UseGDIP_Error("The Gdiplus.dll could not be loaded!`n`nThe program will exit!")
      VarSetCapacity(SI, 24, 0), NumPut(1, SI, 0, "UInt") ; size of 64-bit structure
      If DllCall("Gdiplus.dll\GdiplusStartup", "PtrP", GdipToken, "Ptr", &SI, "Ptr", 0)
         UseGDIP_Error("GDI+ could not be startet!`n`nThe program will exit!")
      GdipObject := {Base: {__Delete: Func("UseGDIP").Bind(GdipModule, GdipToken)}}
   }
   Else If (Params[1] = GdipModule) && (Params[2] = GdipToken)
      DllCall("Gdiplus.dll\GdiplusShutdown", "Ptr", GdipToken)
}

Is it possible this is related to why I am receiving the error?

ok, so my conclusions after getting this working. It is not compatible with the standard GDIP library and must load the dll like you have shown in your sample. The error that it cannot find the font only happens when this dll is not loaded properly.

Thanks a ton for talking to yourself here, don't know if you'll ever see this message but you really helped me out.


SPOP since 3.2 supports a count but that's not represented in library

I'm not sure the plan for what version cut off that this library aims to support, but being able to supply a count to spop would be great to have.

PR is welcome.
Tasks list:

[ ] add count parameter to spop.
[ ] add new tests
[ ] update docstrings.

I'll do this within next few days

@KostSvitlana


Add InTransactionRetry helper

Proposal
Implement  InTransactionRetry function that would use InTransaction with the given retry in case the transaction failed.
Details: In principle, we need to retry the transaction only if there is a pgerrcode.UniqueViolation, pgerrcode.DuplicateObject, or a similar error.
We can define a special error to be returned in such cases. For example, an error could be something like:
// errTransactionConflict is returned when one of the queries in the transaction returned an error because
// of an unexpected conflict. The caller could retry such a transaction.
var errTransactionConflict = fmt.Errorf("transaction can't continue due to a conflict")

And then InTransactionRetry would be something like:
func (pgPool *Pool) InTransactionRetry(ctx context.Context, f func(pgx.Tx) error, maxRetries int, delay time.Duration) (err error) {
	for retry := 0; retry < maxRetries; retry++ {

		// TODO: Maybe check if context is done

		err := pgPool.InTransaction(ctx, f)

		switch {
		case err == nil:
			return nil
		case errors.Is(err, errTransactionConflict):
			time.Sleep(delay)
		default:
			return err
		}
	}
}

With that, the places where we check for pg errors could be like:
	switch pgErr.Code {
	case pgerrcode.UniqueViolation, pgerrcode.DuplicateObject:
		//<EMAIL_ADDRESS>		return errTransactionConflict
	default:
		return lazyerrors.Error(err)
	}

Definition of done

Implement InTransactionRetry
Modify at least one handler (for example, msg_create) to use InTransactionRetry in case of a pg conflict

Looks good! Do we need this to create schemas and collections, or are there is other potential usages intended?

@w84thesun schemas and collections are the cases we have now, yes. Plus there are also some statistics-related queries (e.g. when we query the size of a table and the table is deleted from a concurrent request). I hope we won't have more cases :)

Thanks for this! Is timeout something we would want to consider for retry?

I update the code example a little bit to mention context.

Yeah it's just about context cancel, yep sounds good :+1:

@AlekSi please check if implementation proposal looks reasonable to you

maxRetries int, delay time.Duration

That forces the caller to think about those parameters every time. I think they should be constants.

(err error)

The named result is not being used.

// TODO: Maybe check if context is done

That's already done by InTransaction

time.Sleep(delay)

ctxutil.Sleep(ctx, delay)

return err

That probably should be wrapped with lazyerror.
case pgerrcode.UniqueViolation, pgerrcode.DuplicateObject:
		return errTransactionConflict

I think we lose information about the original error that is useful. So we either should log it everywhere or make a new error type that wraps the original error instead of the new sentinel error value.
Finally, InTransactionRetry function doesn't have a return after the loop. It will not compile.


Add exceptions for mac-os

On mac-os I get:
o.n.a.s.SameDiff - Step: 1; Executing op dynamic_partition for node [dynamic_partition]
Bad number of bytes requested for allocation: 0
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
Raver gets a runtime exception like this on Windows:
o.n.a.s.SameDiff - Step: 1; Executing op dynamic_partition for node [dynamic_partition]
Bad number of bytes requested for allocation: 0
o.n.l.c.n.o.NativeOpExecutioner - Failed to execute. Please see above message (printed out from c++) for a possible cause of error.

cc @raver119


Request for new "WP OAuth" provider

I have been trying to implement a provider for WP OAuth, an OAuth server plugin for WordPress, so far without success.  I have an MVC 5 project and I am trying to setup a single sign-on solution.
https://wp-oauth.com/
I am not sure if this request is appropriate on GitHub, but I would like to see if anyone would like to help me with this on a paid basis.
Thanks,
Mark

Nevermind.  I finally got it working.

👍 glad you got it working!


Ikea -  The number of jobs posted on solr.peviitor.ro (0) is not the same as the number of jobs posted on the company's website (10)

ENVIRONMENT: production
URL: https://solr.peviitor.ro/
Browser: Microsoft Edge
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Execute Query for "Ikea" company
Chech the number of jobs
Open https://jobs.ikea.com/en/search-jobs/Romania/22908/2/798549/46/25/50/2
Chech the number of jobs

EXPECTED RESULTS:
The number of jobs posted on  solr.peviitor.ro is the same as the number of active jobs on the company website
ACTUAL RESULTS:
The number of jobs posted on solr.peviitor.ro (0) is not the same as the number of jobs posted on the company's website (10)

Fixed!


Icons for submenu indicators are missing

Issue Type: Bug
With latest Insiders update arrow (chevrons) are missing for menu items that have submenu.

I guess that this is regression introduced in https://github.com/microsoft/vscode/commit/5854f63f43c464dbf27c43a05c66948f6cd6f080
/cc @misolori
VS Code version: Code - Insiders 1.42.0-insider (cbeff45f80213db0ddda2183170281ed97ed3b12, 2019-12-13T07:08:57.560Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.72GB (15.23GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Looks fine if I remove font-size: 60%;
.monaco-workbench .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
    /* font-size: 60%; */
    padding: 0 1.8em;
}

This must be a difference in the order of how our styles are bundles when building locally vs our builds (fyi @joaomoreno @bpasero). When I run this locally, the font size rules are above:

But when it's built the other styles have higher priority:


Comments are not properly compiled

protobuf-ts does not properly convert comments to JSDoc format.
For example, the following proto code:
message PortSet {
  optional int32 game_port = 1; // It is extremely important that you do not use port 0 for this field or the universe will implode.
  optional int32 base_port = 2;
}

Get compiled to this:
/**
 * @generated from protobuf message SC2APIProtocol.PortSet
 */
export interface PortSet {
    /**
     * @generated from protobuf field: optional int32 game_port = 1;
     */
    gamePort?: number; // It is extremely important that you do not use port 0 for this field or the universe will implode.
    /**
     * @generated from protobuf field: optional int32 base_port = 2;
     */
    basePort?: number;
}

As you can see, the comment annotation for the game_port field is not included in the JSDoc comment. Instead, it is stuck on the side as a "normal" comment.
This is a problem, because in VSCode (the most common IDE for TypeScript), when I mouse over the gamePort field, all I see in the mouseover documentation is the JSDoc comment. Non-JSDoc comments are never included in the mouseover documentation, which means that in this case, this extremely important information is hidden from me and all of my end-users who consume this interface, and the fate of the universe is in the balance.
Instead, protobuf-ts should convert // comments to JSDoc comments, and add to the existing JSDoc comment if it exists.

protobuf-ts takes the leading (and leading detached) comments for a JSDoc block:
message PortSet {
  // It is extremely important that you do not use port 0 for this field or the universe will implode.
  optional int32 game_port = 1;
  optional int32 base_port = 2;
}

Will be:
    /**
     * It is extremely important that you do not use port 0 for this field or the universe will implode.
     *
     * @generated from protobuf field: optional int32 game_port = 1;
     */
    gamePort?: number;

Trailing comments (line comment to the right of a symbol) are kept as trailing comments.

Thanks for the quick response.

Trailing comments (line comment to the right of a symbol) are kept as trailing comments.

Would you consider re-thinking this behavior?
Consider the following proto file:
message Fruit {
  // Has illegal values of 1, 2, and 3
  int32 apple = 1;
  // Has illegal values of 5, 6, and 7
  int32 pear = 2;
  // Has illegal values of 12, 13, and 14
  int32 banana = 3;
}

With this format, protobuf-ts would helpfully convert all of these comments into JSDoc so that the end-user can see them when hovering over the properties in an IDE.
However, I submit to you that not very many people would type out a proto file like this.
Instead, I think it would be more common to type out the file like this:
message Fruit {
  int32 apple = 1;  // Has illegal values of 1, 2, and 3
  int32 pear = 2;   // Has illegal values of 5, 6, and 7
  int32 banana = 3; // Has illegal values of 12, 13, and 14
}

This is more compact and much easier to read!
However, now we have a problem: proto-ts creates different output for this format. All of this helpful information in the comments is "soft-destroyed". By "soft-destroyed", I use the term "soft-destroyed" because the information is not really destroyed - it's still there in the source code for the generated TypeScript file. But it is effectively hidden: no-one would know that it is there, because no-one typically reads through auto-generated-code-from-tooling.
To fix this problem, I propose that proto-ts generates equivalent output for both of these hypothetical proto files, always generating JSDoc comments to "preserve" as much as information as possible.

Thanks for your thoughts, @Zamiell. I think your Fruit example is about the worst case you could have, because none of the comments end up in JSDoc.
What do you suggest to do in case users have specified both leading and trailing comments?

What do you suggest to do in case users have specified both leading and trailing comments?

That's an interesting case. I think the two options would be to:

The leading comment will win, and that will get converted to JSDoc while the trailing comment is ignored.
The leading comment is combined with a newline + the trailing comment when converting to JSDoc.

Between these two options, I prefer the latter, but I leave that to you.


unreal_asset: store version instead of guessing

quite a small one in comparison to last 😅. Just a change to AssetData which stores the engine version so getting the engine version of the asset doesn't guess and sometimes give the wrong thing. This makes fixes like this unnecessary

Wouldn't it be better to fix the guessing algorithm instead? I think it's better to determine the engine version from object versions rather than storing it

Well if the version is given at the start and the object versions are derived and stored from it why not also store the original? That's like if you only stored the engine version and then had to get the object version every call to get object version


Update to latest egui and miniquad

EDIT: it works well now. Will look into keyboard input tomorrow.

Reproduced, and for me this
     pub fn meta() -> ShaderMeta {
         ShaderMeta {
-            images: vec![],
+            images: vec!["u_sampler".to_string()],
             uniforms: UniformBlockLayout {
                 uniforms: vec![UniformDesc::new("u_screen_size", UniformType::Float2)],
             },

fixed it, got the UI!

Reproduced, and for me this
     pub fn meta() -> ShaderMeta {
         ShaderMeta {
-            images: vec![],
+            images: vec!["u_sampler".to_string()],
             uniforms: UniformBlockLayout {
                 uniforms: vec![UniformDesc::new("u_screen_size", UniformType::Float2)],
             },

fixed it, got the UI!

Well spotted @not-fl3 ! Now I just gotta fix the blur too.

Well spotted @not-fl3 ! Now I just gotta fix the blur too.

high_dpi blocked by https://github.com/not-fl3/miniquad/issues/169

high_dpi blocked by https://github.com/not-fl3/miniquad/issues/169

This works rather well now!
Still TODO (for this or later PRs):

[ ] Copy/paste (can use the clipboard for that)
[ ] Hyperlinks (can use the webbrowser for that)
[ ] Touch input
[ ] Test on web
[ ] Wrap the required state (egui context, egui input and the painter) in a struct for easier reuse
[ ] Rename crate egui_miniquad and publish to crates.io

Then all that is really lacking is some way to set a cursor in miniquad

This works rather well now!
Still TODO (for this or later PRs):

[ ] Copy/paste (can use the clipboard for that)
[ ] Hyperlinks (can use the webbrowser for that)
[ ] Touch input
[ ] Test on web
[ ] Wrap the required state (egui context, egui input and the painter) in a struct for easier reuse
[ ] Rename crate egui_miniquad and publish to crates.io

Then all that is really lacking is some way to set a cursor in miniquad

Copy/paste (can use the clipboard crate for that)

miniquad itself has clipboard support. Unfortunately it is implemented on web, windows and linux but not mac :(
https://github.com/not-fl3/miniquad/blob/master/src/clipboard.rs#L60

Copy/paste (can use the clipboard crate for that)

miniquad itself has clipboard support. Unfortunately it is implemented on web, windows and linux but not mac :(
https://github.com/not-fl3/miniquad/blob/master/src/clipboard.rs#L60


Part1  doc improvement

Fixes: Issue #648 (https://github.com/appsmithorg/appsmith/issues/648)
All the changes mentioned are completed!

@Nikhil-Nandagopal @mohanarpit I have raise th PR please review it once!

@Nikhil-Nandagopal I have made the required changes.

@Nikhil-Nandagopal what about the hacktoberfest swags?...

@Hard-Coder05 Thanks for contributing! Could you fill out your information in this form? https://airtable.com/shrZNbhUJyoVkYVws We'll be shipping swag in a couple of weeks.


Use contract's BEEFY commitment ID in relayer when possible

Refactored the relayer BEEFY store's test suite as part of this PR after finding a bug in the store's GetItemByCompleteVerificationTxHash method.

added some commits with minor fixes and to change the complete tx to actually use the nonce. i think this is good to merge now.


fix issue #4779 - grey vs gray variables and classes

Issue Titles
[Variables] Added @gray and associated variants
[Various] class .gray works just like grey
Closed Issues
#4779
Description
Grey is the English spelling, but is not consistent with CSS. Therefore, to avoid confusion, gray should be default, whilst still supporting grey for existing users.

This would create a breaking change, the best option here is to have grey and gray as options.

I made them both options

I did actually do that, it appears I just haven't built the css. Will do now.

@hammy2899 Built. This should not be a breaking change now

You have a merge conflict.

Yes I see that. I didn't touch RELEASE-NOTES.md, nor do I know how it's supposed to be structured so perhaps you could advise on that.
Are you satisfied that that the change is no longer a breaking change though?

Yes, the change is fine now.
Replace the release notes file with the one from the next branch that should solve the conflicts also try and remove the dist files from the commit.

Thanks, got rid of a load of unintended diffs.


_is_incomplete_option incorrectly processes last_option in loop

The _is_incomplete_option function in the Click library has a logic issue in its loop that sets the last_option variable. The function does not break the loop after assigning last_option, which leads to wrong shell completion.
Replication:
See https://github.com/msaipraneeth/click-tuple-param
RCA:
We can reproduce issue If we have flag option before tuple option
Environment:

Python version: 3.11
Click version: 8.1.7

Possible solution :
Once we identify the last option we have the break the loop in _is_incomplete_option function
def _is_incomplete_option(ctx: Context, args: t.List[str], param: Parameter) -> bool:
    """Determine if the given parameter is an option that needs a value.

    :param args: List of complete args before the incomplete value.
    :param param: Option object being checked.
    """
    if not isinstance(param, Option):
        return False

    if param.is_flag or param.count:
        return False

    last_option = None

    for index, arg in enumerate(reversed(args)):
        if index + 1 > param.nargs:
            break

        if _start_of_option(ctx, arg):
            last_option = arg
            break  # <-------------------------------------------------- break the loop on finding the option

    return last_option is not None and last_option in param.opts

@msaipraneeth Thanks for looking into this


Trouble understanding how this library works.

Hi, I can't fire remotetrackadded in any way. i have a working socket connection between the peers, but it just doesn't work. I added the stream to the peers and started as caller and callee respectively.

@jiornojiovanni Could you maybe provided some code snippets ?

webrtc.component.html
<button (click)="click()">Click here</button> <video #videoElement></video>
webrtc.component.ts
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import { CallService, PeerConnectionClient, PeerConnectionClientSettings, StreamService, StreamType } from 'ngx-webrtc';
import * as io from 'socket.io-client';

@Component({
  selector: 'app-webrtc',
  templateUrl: './webrtc.component.html',
  styleUrls: ['./webrtc.component.scss']
})
export class WebrtcComponent implements OnInit {
  socket;
  peerClient!: PeerConnectionClient;
  @ViewChild('videoElement', { static: false }) videoElement!: ElementRef;

  constructor(private callService: CallService, private streamService: StreamService) {
    this.socket = io.io("https://<IP_ADDRESS>:8080");
  }

  async ngOnInit() {
    const settings: PeerConnectionClientSettings = {
      peerConnectionConfig: {
        iceServers: [
          { urls: 'stun:stun.l.google.com:19302' },
         { urls: 'stun:stun.ekiga.net' },
         { urls: 'stun:stun.schlund.de' },
         ],
      },
      debug: true
    };
    this.peerClient = await this.callService.createPeerClient(settings);
    this.socket.on('message', m => {
      this.peerClient.receiveSignalingMessage(m);
    });

    this.peerClient.signalingMessage.subscribe((m: any) => {
      this.socket.emit('message', m);
    });

    this.socket.on('start', async m => {
      this.peerClient.startAsCallee();
      const stream = await this.streamService.tryGetUserMedia();
      this.peerClient.addStream(stream);
    });

    this.peerClient.remoteTrackAdded.subscribe((track: { kind: StreamType; track: MediaStream | MediaStreamTrack; }) => {

      if (track.kind === StreamType.Video) {
        this.streamService.setStreamInNode(this.videoElement.nativeElement, track.track);
      }
    });

    //Idk about this
    this.peerClient.negotiationNeededTriggered.subscribe(() => {
      this.peerClient.createOffer();
    });
  }

  async click() {
    this.socket.emit('start');
    const stream = await this.streamService.tryGetUserMedia();
    this.peerClient.addStream(stream);
    this.peerClient.startAsCaller();
  }
}

Server code socket-io section:
const io = new Server(server,{
    cors: {
      origin: "*",
      methods: ["GET", "POST"]
    }
  });

io.on('connection', (socket) => {
    console.log('a user connected');
    socket.on('message', (msg) => {
        socket.broadcast.emit('message', msg);
    });

    socket.on('start', (msg) => {
        socket.broadcast.emit('start', msg);
    });
});

this is the console of the browser. Maybe the problems is with the candidates? I don't understand how to use them

@jiornojiovanni i might be wrong but i think the issue is in socket-io.

As far as i can see , for ngx-webrtx you dont need socket-io.
Your socket-io instance is not using websockets instead it uses http polling , this you can see from this here this.socket = io.io("https://<IP_ADDRESS>:8080"); by default socket-io uses http

@jiornojiovanni nice , glad i could help :)

Thank you @rubenCodeforges. I still have to document the process and setup in any case.


Gem is not accepting expert_commentary parameter

The pubid-bsi gem that has been released is not accepting expert_commentary as a parameter
The code on this repository does, but since there is no indication of release or even release tag on this repository, I have no way of seeing on the repository which version of the code has been released as the current gem. The released gem, on inspection, is not parsing that parameter.
Please consult @CAMOBAP on how Ribose gems are released through github. Release tags must be used, so we can tell what code is being used in what version of the gem.
Please release current version of pubid-bsi, so that I can continue with https://github.com/metanorma/metanorma-bsi/issues/385

For @opoudjis :

The pubid-bsi gem that has been released is not accepting expert_commentary as a parameter

The expert_commentary part is currently being re-worked into a DocumentType. It is not ready.
Also, the v0.1.1 release did not include any expert_commentary support, it was merged in 17ed97c94c8e562f9dd13dc58cb4d0928820e840 which is a few days after v0.1.1 was released.
For @mico:
All pubid-* gems are meant to be released through the release.yml workflow by using new Git tags such as v0.1.1.
Currently, this gem is released via a manual trigger of release.yml:

https://github.com/metanorma/pubid-bsi/actions/workflows/release.yml

I have tagged the v0.1.1 release with the corresponding commit for that release.


Feature/regtest address

add regtest support

Thanks for submitting the PR.
I don't understand why we need to add the "regtest" parameter in many of the methods.  I use this library with the regtest network as-is.
For example:
https://github.com/simpleledgerinc/cpp_slp_graph_search/blob/766da4714524a57ba260f179556961eef30d11cb/regtest-bchn/test/helpers/rpcwallet.ts#L64
Can you please explain why these changes are needed and what can't be achieved as-is?

@jcramer Because many methods requires regtest flag to discern between regtest and testnet address
e.g. decodeAddress function won't be able to recognize the difference between regtest and testnet address because they have the same version byte.
https://github.com/simpleledger/bchaddrjs/pull/1/commits/df683dce53472b72d025aae17472cd3c234e047b#diff-fc46f429a15c48e36f14a8c98ee2897d741be553acaf266d17ec4c915caabd14R172


Fix loss of data warnings when calling check_match and slide_hash_chain

Fixes https://github.com/zlib-ng/zlib-ng/issues/1760
Fixed in the dotnet/runtime repo copy of zlib-ng: https://github.com/dotnet/runtime/pull/105433
WD4242 and WD4244 are compiler warnings that should not be suppressed because the warn about possible loss of data.

WD4242 shows up in /arch/*/slide_hash*.c files and comes from the arguments passed to the slide_hash_chain method.
WD4244 happens in Windows when building in Debug configuration, in various deflate*.c files, and comes from the arguments passed to the check_match method.

Fixed by:

Adding asserts to verify the values are below the maximum allowed for their type.
Casting them the proper type before passing them as arguments to their methods.

The datatype changes in some of the slide_hash functions would need to be checked for performance impacts.
As a side note, wsize cannot be bigger than 32768 without breaking with the Deflate format (Deflate64 however can be ~64k, but we don't support that). So we could in theory make s->window_size an uint_16 as well and avoid some checking, although that would have to be investigated as it could present challenges other places, and could end up costing us performance instead.
What do you think @nmoinvaz?

unsigned short and unsigned char are slower than unsigned int. That's why we originally changed from using Pos in some places to using unsigned int. It also helped with aligning struct members. The issue with non-inlined function is that either compiler does the casting of function parameter implicitly or the developer does it explicitly.

Changing s->window_size to uint32_t might be a good optimization.

Changing s->window_size to uint32_t might be a good optimization.

At the cost of halving the throughput of slide_hash, though.

Sorry, I meant uint16_t, I was responding to @Dead2.

These commits should be squashed and commit message cleaned up, maybe use the same name as this PR.

Sorry, I meant uint16_t, I was responding to @Dead2.

Ah.  Yeah making it a 16 bit field would at least eliminate the branch at the top of the function.  And it'd shrink the struct to boot.  So long as we aren't violating API compatibility I don't see a reason not to do that.

@nmoinvaz @Dead2 @mtl1979 - I'm updating dotnet/runtime to 2.2.1 and I found a few more loss of data bugs. Before squashing as requested by @nmoinvaz, I would like to include the fixes for the new data loss issues in this same PR.
Here is the PR updating dotnet/runtime to 2.2.1 https://github.com/dotnet/runtime/pull/105771  . The errors are:
C:\Users\calope\source\repos\runtime\src\native\external\zlib-ng\deflate.c(207):
    warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
C:\Users\calope\source\repos\runtime\src\native\external\zlib-ng\arch\generic\crc32_braid_c.c(195):
    error C4242: '=': conversion from 'z_word_t' to 'uint32_t', possible loss of data
C:\Users\calope\source\repos\runtime\src\native\external\zlib-ng\deflate_p.h(81):
    error C4242: '=': conversion from 'uint32_t' to 'uint16_t', possible loss of data
C:\Users\calope\source\repos\runtime\src\native\external\zlib-ng\deflate_p.h(82):
    error C4242: '=': conversion from 'uint32_t' to 'unsigned char', possible loss of data

Now I'm wondering: Is zlib-ng might be suppressing C4242 and C4334? Why aren't these errors being caught in this repo?

Changing s->window_size to uint32_t might be a good optimization.

Sorry, I meant uint16_t, I was responding to @Dead2.

Ah. Yeah making it a 16 bit field would at least eliminate the branch at the top of the function. And it'd shrink the struct to boot. So long as we aren't violating API compatibility I don't see a reason not to do that.

Can someone else please take care of these improvements after this PR gets merged?

I squashed all the commits, and I included extra fixes from similar problems found in v2.2.1 coming from crc32_braid_c.c, deflate_p.h and deflate.c.

Sorry, I meant uint16_t, I was responding to @Dead2.

Ah. Yeah making it a 16 bit field would at least eliminate the branch at the top of the function. And it'd shrink the struct to boot. So long as we aren't violating API compatibility I don't see a reason not to do that.

It will alter the alignment of the following struct members, so extra padding is required. It will also slow down access a lot as I already mentioned. In some of the supported architectures copying less than 32 bits to a register needs explicit zeroing of the unused bits.

It will alter the alignment of the following struct members, so extra padding is required. It will also slow down access a lot as I already mentioned. In some of the supported architectures copying less than 32 bits to a register needs explicit zeroing of the unused bits.

So move where it's declared in the struct?  I'm sure there are several 8 bit fields or other 16 bit fields to put it near that could result in the same sized struct or even smaller.  Inflating the padding up to 7 bytes doesn't really seem like nearly as much a net loss as removing a branch for this function every time.

It will alter the alignment of the following struct members, so extra padding is required. It will also slow down access a lot as I already mentioned. In some of the supported architectures copying less than 32 bits to a register needs explicit zeroing of the unused bits.

So move where it's declared in the struct?  I'm sure there are several 8 bit fields or other 16 bit fields to put it near that could result in the same sized struct or even smaller.  Inflating the padding up to 7 bytes doesn't really seem like nearly as much a net loss as removing a branch for this function every time is a gain.

The structs were originally optimized for 32-bit pointers, so things get ugly if we want the layout be clean for both 32-bit and 64-bit targets. In worst case we need only 4 bytes of padding.

I did a quick test with just changing s->window_size to be uint16_t, but at least on my x86-64 test this resulted in a noticeable reduction in performance and an increased code size. So that probably means it increased the need for casts elsewhere, and it could perhaps be fixed by finding those regressions and improve the related code.
@carlossanlop This is certainly not something we expect you to do. We just sometimes have ideas for further/deeper improvements and we encourage freely sharing and discussing those. It can make the PR discussions a little more cluttered, but usually it is ok.
This PR is looking pretty good so far, but after the last changes it throws an error
[ 17%] Building C object CMakeFiles/zlib.dir/deflate.c.o
In file included from /home/runner/work/zlib-ng/zlib-ng/deflate.c:52:
/home/runner/work/zlib-ng/zlib-ng/deflate_p.h:82:19: error: use of undeclared identifier 'UCHAR_MAX'
    Assert(len <= UCHAR_MAX, "len should fit in unsigned char");
                  ^
1 error generated.

I did a quick test with just changing s->window_size to be uint16_t, but at least on my x86-64 test this resulted in a noticeable reduction in performance and an increased code size. So that probably means it increased the need for casts elsewhere, and it could perhaps be fixed by finding those regressions and improve the related code.
@carlossanlop This is certainly not something we expect you to do. We just sometimes have ideas for further/deeper improvements and we encourage freely sharing and discussing those. It can make the PR discussions a little more cluttered, but usually it is ok.
This PR is looking pretty good so far, but after the last changes it throws an error
[ 17%] Building C object CMakeFiles/zlib.dir/deflate.c.o
In file included from /home/runner/work/zlib-ng/zlib-ng/deflate.c:52:
/home/runner/work/zlib-ng/zlib-ng/deflate_p.h:82:19: error: use of undeclared identifier 'UCHAR_MAX'
    Assert(len <= UCHAR_MAX, "len should fit in unsigned char");
                  ^
1 error generated.

That's maybe a little surprising but it might have to do with the fact that going from a 32 bit value to a 16 bit is virtually free on x86 but in the opposite direction it requires an explicit move as 16 bit writes I think leave the second half of a register alone.  I suspect you're correct that in changing every access to be 16 bit will fix that.

@carlossanlop This is certainly not something we expect you to do. We just sometimes have ideas for further/deeper improvements and we encourage freely sharing and discussing those. It can make the PR discussions a little more cluttered, but usually it is ok.

Noted, and thank you for the clarification. Then feel free to discuss all you want, hope the final decisions bring fruitful results!

This PR is looking pretty good so far, but after the last changes it throws an error
[ 17%] Building C object CMakeFiles/zlib.dir/deflate.c.o
In file included from /home/runner/work/zlib-ng/zlib-ng/deflate.c:52:
/home/runner/work/zlib-ng/zlib-ng/deflate_p.h:82:19: error: use of undeclared identifier 'UCHAR_MAX'
    Assert(len <= UCHAR_MAX, "len should fit in unsigned char");
                  ^
1 error generated.

@Dead2 Where are you seeing this error? In the dotnet/runtime repo, the PR CI passed without failures, and the build also passed in my local machine. We do have the warnings enabled in that repo.
Related question: are we suppressing the warnings in this repo somewhere? I am assuming that whatever I fix and push here, won't show up as a warning or error in the local build or in the CI, hence why I kept catching them in the dotnet/runtime repo. What cmake change should I make to make sure we get those build warnings and errors from now on?

I did a quick test with just changing s->window_size to be uint16_t, but at least on my x86-64 test this resulted in a noticeable reduction in performance and an increased code size. So that probably means it increased the need for casts elsewhere, and it could perhaps be fixed by finding those regressions and improve the related code.

That's maybe a little surprising but it might have to do with the fact that going from a 32 bit value to a 16 bit is virtually free on x86 but in the opposite direction it requires an explicit move as 16 bit writes I think leave the second half of a register alone. I suspect you're correct that in changing every access to be 16 bit will fix that.

As I said before, only 32-bit operations zero the upper bits automatically, explaining why 32-bit operations have smaller performance penalty than 8- and 16-bit operations... Also, some operations will widen implicitly if used with narrower than 32 bits. Shifts will widen to largest possible bit width that can handle the whole expression, not just operands of the shift itself.

Last remaining suggestion addressed. If this is ready, feel free to approve and merge.

And hopefully we can consider enabling the warnings so they do show up in this repo. It could become too time consuming (and even unsafe) to keep addressing the issues in the dotnet/runtime repo every time we upgrade (weeks or months after a new release comes out), and then have to come back here to submit the upstream fix.

And hopefully we can consider enabling the warnings so they do show up in this repo. It could become too time consuming (and even unsafe) to keep addressing the issues in the dotnet/runtime repo every time we upgrade (weeks or months after a new release comes out), and then have to come back here to submit the upstream fix.

We currently use /W3 for Visual C++, we don't treat any warnings as errors... It will be easy to make a pull request that treats some common warnings as errors to avoid introducing regressions. Just enabling certain warnings will result in most of developers just ignoring them as they don't read the CI logs if the build passes.

Just enabling certain warnings will result in most of developers just ignoring them as they don't read the CI logs if the build passes.

Yep. This is one of the reasons why we now treat all warnings as errors in the dotnet/runtime repo.

Just enabling certain warnings will result in most of developers just ignoring them as they don't read the CI logs if the build passes.

Yep. This is one of the reasons why we now treat all warnings as errors in the dotnet/runtime repo.

I've been developer for over 40 years... I'm not afraid to say aloud things that I think help make certain project look more professional. That doesn't mean I always suggest the best course of action or that I don't make mistakes... The whole point of open-source community is that there is always other people to review changes and suggest improvements. zlib-ng pretty much started as one-man project, but after few years it made the stock zlib look like something written by child in kindergarten. Last few months there has been a lot of activity in stock zlib, but that doesn't change the fact that it was unmaintained for over 5 years.

That doesn't mean I always suggest the best course of action or that I don't make mistakes... The whole point of open-source community is that there is always other people to review changes and suggest improvements

I fully appreciate what you guys have achieved with zlib-ng. The impact of this project has been impressive to say the least. I became such a big fan of zlib-ng when I discovered it that I brought it to the attention of the .NET team so we would consider switching to it instead of stock zlib, and it makes me very happy to say that we are finally going to include it in our next release.
I'll try to help with improvements whenever possible, and for the things I am unable to help with (due to lack of time or knowledge), I will always make sure to mention it in the comments or open issues so other maintainers become aware.


Evidence page returns no data in main

Problem with evidence not returning data in any evidence page in main.
Example: https://main--platform-app.netlify.app/evidence/ENSG00000134460/Orphanet_169100

Ticket closed as issue resolved for 21.06 release and evidence page displaying all relevant data


ci: fix release.yml, update generated-files-bot.yml

Coverage remained the same at 92.105% when pulling 4eb524a2061fbd3cb5d6bac38ad5341c99528546 on changeset-final-final-fix into 99cf0dbf6c7524b8a115404ba0b234dccb3ffb79 on main.


Copy / Paste is inconsistant

Steps to reproduce
In chrome on windows copy and paste is inconsistent it appears to be linked if there is special text inputs. Steps to reproduce are when copying from the url bar but I have found this behavior across many applications and use cases.
This behavior seems to go away if you copy and paste from the source to notepad and then copy from notepad and paste into powershell.
Scenario 1
Chrome:
F6 -> right click -> Copy

PowerShell:
Right Click Title Bar -> Edit -> Paste

Scenario 2
Chrome:
F6 -> right click -> Copy

Notepad.exe:
Right click -> paste -> ctrl + A -> right click -> copy

PowerShell:
Right Click Title Bar -> Edit -> Paste

Expected behavior
Scenario 1
http://someurl.com
Scenario 2
http://someurl.com
Actual behavior
Scenario 1
// nothing
Scenario 2
http://someurl.com
Environment data

> $PSVersionTable | fl

Name  : PSVersion
Value : 4.0
Name  : WSManStackVersion
Value : 3.0
Name  : SerializationVersion
Value : <IP_ADDRESS>
Name  : CLRVersion
Value : 4.0.30319.42000
Name  : BuildVersion
Value : 6.3.9600.16406
Name  : PSCompatibleVersions
Value : {1.0, 2.0, 3.0, 4.0}
Name  : PSRemotingProtocolVersion
Value : 2.2

Windows 7

I believe your scenario is related to conhost - the process that handles the pasting - and not PowerShell. I would expect you'll see the same thing in cmd.
Assuming this is the case, you could report the issue here, though I will note that I couldn't repro on Win10.

I also could not repro on Win10 using PowerShell v6.0.0-alpha.10.

OK - I'm closing the issue then. I do think it's not a PowerShell issue, so tagging it as external.


Cover image shows too large on Chrome, Firefox

I have a book with the following markup for the cover page:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en-gb" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Everybody Matters</title>
<link rel="stylesheet" type="text/css" href="../styles/9780802712103.css"/>
</head>
<body>
<div>
<svg:svg viewBox="0 0 1053 1600">
<svg:image xlink:href="../images/9780802712103.jpg" transform="translate(0 0)" width="1053" height="1600" />
</svg:svg>
</div>
</body>
</html>

When I view this page on IE (IE 11) the cover image is scaled so that the entire image appears on the page;  When I view the page on Chrome and Firefox, the image is much larger and only the top portion of the cover is visible.
I'm not sure if this is a readium issue, or if this is an issue with the way the document's markup is constructed; but since the behavior is different between browsers, I thought at least I'd post the issue.

Update:
On IE, the complete image is scaled to fit the screen.
On Firefox, the image is scaled to take up the entire width of the screen; the image is cut off at the bottom (only the top portion of the image is displayed) and when you move to the next page, readium advances to the next chapter.
On Chrome, the image is scaled to take up the entire width of the screen, like Firefox; when you move to the next page, you see the middle section of the title page image; moving to the next page shows the bottom portion of the title page image; and then you finally move to the following chapter.
So it's not consistent among the three browsers.

Is there anything new regarding this issue? Maybe some kind of workaround?
Is this related to https://github.com/readium/readium-shared-js/issues/267 or is the cover rendering a separate topic?

The wrapping div (the first child of the  tag does not have a sizing css property.  If I manually add "height: 100%" then the cover image scales correctly on all browsers I've tested.
Of course, this breaks pages other than the cover, but it's a start.


No data on Option API component returned by mountSuspended

Environment

Operating System: Linux
Node Version:     v18.18.0
Nuxt Version:     3.9.3
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-ddvycp
Describe the bug
const wrapper = await mountSuspended(OptionAPIComponent)

wrapper.vm.$data is empty
wrapper.setData({...data}) will result into error:
TypeError: Cannot add property, object is not extensible

Furthermore, I cannot call any method of the component instance:
TypeError: wrapper.vm.myMethod is not a function

Additional context
Component written in composition api doesn't have this issue.
@vue/test-utils doesn't have this issue.
Logs
No response

I see the same issue, however, my component is written with the composition API.

I see the same issue, however, my component is written with the composition API.

Did you guys found a solution? i'm having the same issue in nuxt 3 app

I'm having the same issue with mountSuspended, but it works when I use mount from @vue/test-utils.


video2midi: <IP_ADDRESS> -> 0.4.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for video2midi is: Youtube synthesia video to midi conversion tool
meta.homepage for video2midi is: https://github.com/svsdval/video2midi
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.4.8 in filename of file in /nix/store/4klix5wa1dn6f3f2zvq53by2garx0c7l-video2midi-0.4.8

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

video2midi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4klix5wa1dn6f3f2zvq53by2garx0c7l-video2midi-0.4.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A video2midi https://github.com/r-ryantm/nixpkgs/archive/cc7488ac8d5139a3c999a1f3948d3bd991c0766a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/cc7488ac8d5139a3c999a1f3948d3bd991c0766a#video2midi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4klix5wa1dn6f3f2zvq53by2garx0c7l-video2midi-0.4.8
ls -la /nix/store/4klix5wa1dn6f3f2zvq53by2garx0c7l-video2midi-0.4.8/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

video2midi

Maintainer pings

Result of nixpkgs-review pr 310816 run on x86_64-linux 1

1 package built:

video2midi


prefer_socket doesn't work when connect OceanBase with prisma

Bug description

OceanBase is a MySQL compatible database and doesn't support @@socket variable. https://github.com/oceanbase/oceanbase/issues/1936
When connect OceanBase with prisma, prefer_socket is configured and doesn't work with following error:

Error: Schema engine error:
Unknown system variable 'socket'

Related prisma issue:

https://github.com/prisma/prisma/issues/18508
https://github.com/prisma/prisma/issues/6207

How to reproduce

Clone reproducible repo: https://github.com/dengfuping/prisma-oceanbase-test
isntall node and npm: https://nodejs.org/en
run script npm install
Configure oceanbase connect string in .env.local file
run script npx prisma migrate dev --name init

Expected behavior
prefer_socket works and connect OceanBase with prisma should be success.
Prisma information

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
}

// Add your code using Prisma Client

Environment & setup

OS:  macOS
Database:  MySQL
Node.js version:  v21.6.2

Prisma Version
5.12.1

Hi @dengfuping
Could you fill an issue template and specify how to reproduce the issue in terms of prisma behavior? I am not sure what the screenshots of our code supposed to signify and I can very much assure you that we have not reverted one of our key components to it's 2021 state in latest Prisma version. Lockfile does not have a link to a commit in quaint repository because there is no separate quaint repository anymore - it is now part of prisma/prisma-engines.

Hi @dengfuping Could you fill an issue template and specify how to reproduce the issue in terms of prisma behavior? I am not sure what the screenshots of our code supposed to signify and I can very much assure you that we have not reverted one of our key components to it's 2021 state in latest Prisma version. Lockfile does not have a link to a commit in quaint repository because there is no separate quaint repository anymore - it is now part of prisma/prisma-engines.

Sorry, I just added more information about the error and reproducible steps.
As expected, the issue should be fixed in https://github.com/prisma/prisma/issues/6207, but it occurs again.

@SevInf A OceanBase connection string is available for testing.

@SevInf I have sent an OceanBase connection string to your email with my mail<EMAIL_ADDRESS>so that you can test it. Thanks a lot.

Hey @dengfuping, would you mind testing with MySQL just for us to confirm whether this is Oceanbase specific ? Thank you 🙏

With the provided oceanbase connection string, I can confirm that the Prisma schema engine indeed fails with Error: Unknown system variable 'socket'.

Oceanbase has acknowledged this and is working on a fix: https://github.com/oceanbase/oceanbase/issues/1936#issuecomment-2073954930

oceanbase/oceanbase#1936 (comment)

Yeah, it's indeed a MySQL compatibility issue for OceanBase. But it will take a long time to fix according to oceanbase/oceanbase#1936 (comment).
The expected behavior with ?prefer_socket=false for prisma is not to query @@socket variable. That will be a workaround to avoid connection error.
By the way, other databases maybe face the same problem as #6207 shows. So it will be useful and appreciated if ?prefer_socket=false is supported.

prefer_socket=false not working might be a problem in our underlying MySQL driver: https://github.com/blackbeam/mysql_async/issues/253 + https://github.com/blackbeam/mysql_async/releases/tag/v0.33.0

prefer_socket=false not working might be a problem in our underlying MySQL driver: blackbeam/mysql_async#253 + https://github.com/blackbeam/mysql_async/releases/tag/v0.33.0

When it will be updated to version 0.33.0? I notice that Prisma maintains a version of mysql_async.

prefer_socket=false not working might be a problem in our underlying MySQL driver: blackbeam/mysql_async#253 + https://github.com/blackbeam/mysql_async/releases/tag/v0.33.0

Hi, any progress or plan to fix this issue?

Hi @janpio , any updates on this issue. This is a blocker issue for me, really looking forward to using prisma in oceanbase database.

Same here. It would be tremendously appreciated if prisma supports oceanbase

@janpio @Weakky

Prisma is using prisma/mysql_async/tree/vendored-openssl that diffs a lot with lackbeam/mysql_async. So I cherry pick https://github.com/blackbeam/mysql_async/pull/254 only to reduce the scope of influence.
Looking forward to receiving a response for PR https://github.com/prisma/mysql_async/pull/5.

Another simple solution is https://github.com/prisma/mysql_async/pull/6

Another simple solution is [Plan B] fix(connection): prefer_socket=false should work, fix prisma/prisma#24010 mysql_async#6

@janpio @Weakky Hi, could you help to review this PR?

When will this pull request be accessible?

Another simple solution is [Plan B] fix(connection): prefer_socket=false should work, fix prisma/prisma#24010 mysql_async#6

@janpio @Weakky Looking forward to receiving a response for this PR, thanks!

Latest reply from official support: #25195

Temporary solution:

Add env variables below to ~/.bashrc or ~/.zshrc (depends shell you are using):

export PRISMA_ENGINES_MIRROR=https://oceanbase-prisma-builds.s3.ap-southeast-1.amazonaws.com
export BINARY_DOWNLOAD_VERSION=96fa66f2f130d66795d9f79dd431c678a9c7104e

reinstall node_modules

rm -rf node_modules && tnpm i

connect to db:

npx prisma db pull


gives obscure traceback

Thanks for sharing this.
It installed nicely on mac when I guessed brew install go and followed brew's advice to set up a GOPATH. (The readme could link to a go install how-to for new go-ers.)
I had problems running it. Here's what I tried:
$ into-ledger -j ~/src/hledger/data/sample.journal -csv ~/src/hledger/data/sample.csv -a assets:checking -o t.j
Opening file: /Users/simon/.into-ledger for reading key mappings
File /Users/simon/.into-ledger doesn't exist. Creating empty shortcuts
2016/11/02 16:38:21 strconv.ParseInt: parsing "": invalid syntax
main.check
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:59
main.parseTransactionsFromCSV
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:280
main.main
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:673
runtime.main
	/usr/local/Cellar/go/1.7.3/libexec/src/runtime/proc.go:183
runtime.goexit
	/usr/local/Cellar/go/1.7.3/libexec/src/runtime/asm_amd64.s:2086
$ ls -l ~/.into-ledger
ls: /Users/simon/.into-ledger: No such file or directory
$ touch ~/.into-ledger
$ into-ledger -j ~/src/hledger/data/sample.journal -csv ~/src/hledger/data/sample.csv -a assets:checking -o t.j
Opening file: /Users/simon/.into-ledger for reading key mappings
2016/11/02 16:38:38 strconv.ParseInt: parsing "": invalid syntax
main.check
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:59
main.parseTransactionsFromCSV
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:280
main.main
	/Users/simon/.go/src/github.com/manishrjain/into-ledger/main.go:673
runtime.main
	/usr/local/Cellar/go/1.7.3/libexec/src/runtime/proc.go:183
runtime.goexit
	/usr/local/Cellar/go/1.7.3/libexec/src/runtime/asm_amd64.s:2086

I also tried adding the -d option, but didn't figure out the right date format syntax. Dates in my journal and csv file are both in Y/M/D format.

I think you're missing the -ic option. It seems like the program is trying to parse a column which doesn't have any data. You can tell it to ignore certain columns (starting from index 0), like so: -ic "1,4". This would ignore the 1st and the 5th column.

The files are minimal:
$ cat ~/src/hledger/data/sample.csv
"2012/3/22","TRANSFER TO SAVINGS","-10.00"
"2012/3/23","SOMETHING ELSE","5.50"
~/finance$ cat ~/src/hledger/data/sample.journal
; A sample journal file.
;
; Sets up this account tree:
; assets
;   bank
;     checking
;     saving
;   cash
; expenses
;   food
;   supplies
; income
;   gifts
;   salary
; liabilities
;   debts

2008/01/01 income
    assets:bank:checking  $1
    income:salary

2008/06/01 gift
    assets:bank:checking  $1
    income:gifts

2008/06/02 save
    assets:bank:saving  $1
    assets:bank:checking

2008/06/03 * eat & shop
    expenses:food      $1
    expenses:supplies  $1
    assets:cash

2008/12/31 * pay off
    liabilities:debts  $1
    assets:bank:checking

;final comment

Actually, there was a bug in the code. Fixed it. https://github.com/manishrjain/into-ledger/commit/2b671ce4ea654f28cd75fa8ed6cf8244c996175f

Now it gives:
2016/11/02 17:05:15 Unable to parse txn for [[2012/3/22 TRANSFER TO SAVINGS -10.00]]. Got: {Date:0001-01-01 00:00:00 +0000 UTC Desc:TRANSFER TO SAVINGS To: From: Cur:-10 CurName: Key:[221 11 16 103 67 24 245 79 157 253 25 82 34 113 235 235] skipClassification:false}

What is the syntax for -d ? I read the linked go time page but I'm afraid I'm no wiser.

-d 2006/1/2 was what I needed.

It fails to parse my actual hledger journal, but that's expected. One last question, does it use ledger or a home-rolled parser ?

ledger, I see. That gives me an idea of what it will accept. Thanks!

Yeah. Uses ledger csv command to parse the ledger journal. I thought hledger format was the same, I haven't used hledger myself though. If there are differences, feel free to file an issue. I will be happy to investigate how to make this work for hledger.

Thanks! I opened #3.

Awesome. Please close this issue after verifying.


Execution reverted: Invalid proof!

Hello Guys
i did test everything before. all was fine. but now i have a big problem. whitelist sale is open now, but i cant mint. it shows me a bug:
Execution reverted: Invalid proof!

I have no idea what to do right now :/

on local server it works perfect, but not on public :/

I had the same problem. Close the Whitelist (yarn whitelist-close --network truffle) and then reopen your Whitelist (yarn whitelist-open --network truffle).

Hi @nftkk issues should be used to report bugs so I ask you to always provide the requested information or the issue will be marked ad invalid and closed.
That said, in this case, please make sure you always rebuild your dApp and upload it again to your host every time you make any change to the whitelist.json file. Also, the merkle tree root hash must be updated on the contract... but I think you already did that since you said it's working in your local environment.


onOffsetChange is called twice for every value change

Many thanks for making such wonderful widget,,,,
I just found that when onOffsetChange callback is provided, it will be called twice for every offset change. the value for first time is the actually offset, the second one is always 0.0
something like this:
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 4.798828125
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 6.436287938352312
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 7.056008353202189
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 8.279895111571708
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 10.102863667832974
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 10.71637066511515
I/flutter (21869): offset- 0.0
I/flutter (21869): offset- 12.527152715015323
I/flutter (21869): offset- 0.0
............................
is it possible to just make it called once for single value change?
Best

will not use this callback


A11y_Visual Studio Code Client_Installation_Screen Reader: Jaws is not announcing any status message about the installation progress.

[Check out Accessibility Insights!]- Identify accessibility bugs before check-in and make bug fixing faster and easier.
GitHubTags:
#A11yWCAG2.1; #A11yTCS; #A11ySev2; #DesktopApp; #Win32; #Visual Studio Code Client; #BM-VisualStudioCodeClient-Win32-Jan2024; #WCAG4.1.3; #Status Message; #JAWS; #NVDA; #A11yMAS;
Environment and OS details:
Visual Studio Code insider version 1.86.0
Microsoft Windows 11 Enterprise 22H2 Build 22621.3007
Repro Steps:

Open URL ' https://code.visualstudio.com/insiders/'
Download Visual Studio Code Insiders setup for Windows and save it.
Double click on the "vscodesetup-stable.exe" to start installation.
Select "Run" to start installation process.
Installation window will appear TAB till "Next" button and press ENTER.
Accept the agreement and TAB till "Next" button and press ENTER.
Select any folder if you want else TAB till "Next" button and press ENTER.
Select any folder if you want else TAB till "Next" button and press ENTER.
Select the additional task you want to setup for installation and TAB till "Next" button and press ENTER.
Start JAWS and TAB till "Install" button and press ENTER.
Observe that Jaws is not announcing any status message about the installation progress.

Actual Result:
Jaws is not announcing any status message about the installation progress.
This issue is not observed with NVDA.
Expected Result:
Jaws should announce status messages appearing on to the screen about the installation progress.
User Impact:
Screen reader only users will not be able to get any information about the installation progress.
Attachment:

Given that this works with NVDA, closing as this is an issue with JAWS. Please create an issue for them.


Fatal error: Can't use "Object" as a class name anymore since PHP 7.2

PHP Fatal error:  Cannot use 'Object' as class name as it is reserved in /var/www/gitlist/vendor/klaussilveira/gitter/lib/Gitter/Model/Object.php on line 14
The solution is rename the class and all references to it to Objekt or something similar.
See: http://php.net/manual/en/reserved.other-reserved-words.php

Not an issue anymore. I assumed the version on gitlist.org was the latest but it isn't.

I'm on 1.0.1 and get that error with php 7.2

That's correct. 1.0.1 is the latest build release and it has that error, however, the latest source in master is ahead of that build and pulls in a later version of  Gitter.

I was hoping to avoid using docker or using something other than the latest stable

well it doesn't seem so bad, running composer to install the dependencies. One error is replaced with another


Updating README.md to point to latest copy of button-async-button

Thanks for taking the time to update this!


fix: hyprlands window-rewrite

Resolves: https://github.com/Alexays/Waybar/issues/2718 found during testing another feature in pipeline. The window rewrites work on boot for me and no issues dragging between monitors anymore.
cc @Syndelis

Although this would solve the issue, I feel like getting the clients information for every update seems overkill. The problem seems to appear when a window is dragged to a workspace that doens't exist in tha same bar it originated from. A less performance-intensive solution would be to check if the icon is empty when the window is moved to another workspace here. I'll see what I can hack together tomorrow and will get back here.

Oh yeah, it's definitely not the most elegant... I was just excited to finally see the bar function the way I had hoped finally..

Sorry for being late, @khaneliman ! I've opened #2817 which should hopefully fix this problem as well. Could you verify that works for your setup?

closing with work being done in https://github.com/Alexays/Waybar/pull/2817


About Djinni feature support

Currently, I use Djinni for our project. Djinni is a great opensource project. But i met some problems.

Djinni Interface could not support class hierarchy. Swig or Jinjia can support that, but Djinni more convenience to define interface.
Example: I have a base class & two subclasses, How can i use IDL file to define them.
Do you have a plan to support this feature & when?
Especially, Object-Oriented language without such feature can make code more complex.

I use 'interface +c' to define interface, the interface will be implemented in c++ & can be called from any language. But if i use 'interface +j +o' to define interface, the interface will be implemented in Java or Objective-C & can be called from C++. Most of time, Such interface is mainly used for c++ call specific platform features. For iOS, the generated objc file use 'protocol' to define interface, but for Android, why use 'abstract' to define abstract class, not use 'interface' to define interface. In Java, the class can not support multiple inheritance, only interface can support multiple inheritance. I think Java can keep the same semantic with iOS.

If Djinni can support above features, it can become more perfectly opensource project in the world.

There have been prior discussions on both of these features.  I encourage you to join the Slack community mentioned in the README.md file for further discussion.
Brief answers:

Inheritance is a common feature request, and I'm in favor of adding it.  There's no particular schedule for doing so, though.  It's a matter of someone needing it enough to spend the time to implement it.  Pull Requests are welcome.
The generated Java uses classes not interfaces because it needs a place to put static methods (not allowed in interfaces in Java until very recent versions) and the inner class for proxying +c implementations (which would be relevant for your use case if +c +j was used).  In theory, it would be possible to re-structure things to put those extra elements into a separate helper class, letting the primary class turn into an interface, but doing so would be a breaking change since people would need to change how they call static methods.  I wouldn't be against doing this, but again, it's a matter of someone wanting it enough to spend time on it. :)

I'm going to close out this issue since it's not really a good one for feature-request tracking, since it's 2 separate features.  If you want to submit two separate issues for the two feature requests, go ahead, and they can serve as a reminder and a place for future users to discuss.


Challenge http://www.freecodecamp.com/challenges/waypoint-change-the-color-of-text has an issue

Clicking on "Go to my next challenge" leads to waypoints in Basic Algorithm Scripting instead of waypoints in "Basic HTML5 and CSS"

I'm unable to reproduce this issue in chrome and firefox. We tightened up some loose code, but if this happens again please reopen the issue.


DD_SITE Set to us3.datadoghq.com, but process-agent and security-agent Still Try to Connect to non us3 endpoints

Describe what happened:
Deployed datadog-agent (container) with DD_SITE set to us3.datadoghq.com. However, authentication is still being attempted against non us3 endpoints.
CLUSTER | ERROR | (pkg/forwarder/transaction/transaction.go:344 in internalProcess) | API Key invalid, dropping transaction for https://orchestrator.datadoghq.com/api/v1/orchestrator
PROCESS | ERROR | (pkg/forwarder/transaction/transaction.go:344 in internalProcess) | API Key invalid, dropping transaction for https://process.datadoghq.com/api/v1/collector
SECURITY | WARN | (pkg/logs/client/http/destination.go:162 in unconditionalSend) | failed to post http payload. code=403 host=runtime-security-http-intake.logs.datadoghq.com response={}
Describe what you expected:
Auth should happen against us3 endpoints.
Steps to reproduce the issue:
Deploy Datadog agent and cluster agent with DD_SITE variable set to us3.datadog.com
Additional environment details (Operating System, Cloud provider, etc):
Azure Kubernetes Service (Ubuntu)
gcr.io/datadoghq/agent:7.29.1
gcr.io/datadoghq/cluster-agent:1.13.1

Well, we figured it out. The DD_SITE variable needs to be set to the respective endpoint for each container - process, trace and security.


CSS Cleanup V2

I cherry picked my commits to fix the weird history I was getting on #48. See that pull request for the full details.
I'll let you merge this @kognise because we'll need a new release for cdnjs to get these files to work. Otherwise, the docs will be telling users to use files that don't exist on cdnjs yet.

The biggest change would be in file size, so there's no breaking change. Users using the latest dark.css/light.css will just get a larger version until they switch to dark.min.css/light.min.css.


fix(chat): adjust buttons hover color on prompt preview modal (Issue #1327)

Description:
Adjust buttons hover color on prompt preview modal
Issues:

Issue #1327

UI changes
after fix:

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review