Feat: Add customizable Metrics Analysis to the rollout API

What type of PR is this?
/kind api-change
/kind feature
What this PR does / why we need it:
Providing users with customizable Metrics Analysis enables users to flexibly adjust according to different needs and scenarios, ensuring that users can obtain more accurate analysis results that meet specific business applications, thereby improving the operability of the system and the accuracy of data analysis.
Which issue(s) this PR fixes:
Fixes #681
Does this PR introduce a user-facing change?:
    ......
          trafficAnalysis:
             checkIntervalSeconds: 90
             checkFailedTimes: 2
             metrics:
             - name: request-success-rate
               intervalSeconds: 90
               thresholdRange:
                 min: 99
             - name: my-metric
               intervalSeconds: 90
               thresholdRange:
                 max: 99
               customMetric:
                 provider:
                   type: prometheus
                   address: http://flagger-prometheus.ingress-nginx:9090
                 query: |
                   sum(
                     rate(
                       http_requests_total{
                         status!~"5.*"
                       }[{{ interval }}]
                     )
                   )
                   /
                   sum(
                     rate(
                       http_requests_total[{{ interval }}]
                     )
                   ) * 100
             webhooks:
                 timeoutSeconds: 60
                 command:
                 - "hey -z 1m -q 10 -c 2 http://backend-canary.webapp:9898/"
    ......

/lgtm


Multiorganism triad merges: movement in environment of other organism involved in symbiotic interaction & children

Hello,
I dont think hosts can move in symbionts ?
If this sounds reasonable, I would merge the general terms in te more specific terms 'movement of symbiont in host':

Term
Merge into

'aerotaxis in environment of other   organism involved in symbiotic interaction'
'aerotaxis in host environment'

'aerotaxis in other organism involved in   symbiotic interaction'
'aerotaxis in host'

'aerotaxis on or near other organism   involved in symbiotic interaction'
'aerotaxis on or near host'

'chemotaxis in host environment'
'chemotaxis in environment of other organism involved in symbiotic   interaction'

'chemotaxis on or near host involved in   symbiotic interaction'
'chemotaxis in other organism involved in symbiotic interaction'

'chemotaxis within host'
'chemotaxis on or near other organism involved in symbiotic interaction'

'energy taxis in host environment'
'energy taxis in environment of other organism involved in symbiotic   interaction'

'energy taxis on or near host'
'energy taxis in other organism involved in symbiotic interaction'

'energy taxis within host'
'energy taxis on or near other organism involved in symbiotic   interaction'

'migration in other organism involved in   symbiotic interaction'
'migration in host'

'movement in other organism involved in   symbiotic interaction'
'movement in host'

'movement on or near other organism   involved in symbiotic interaction'
'movement on or near host'

'negative aerotaxis in environment of   other organism involved in symbiotic interaction'
'negative aerotaxis in host environment'

'negative aerotaxis in other organism   involved in symbiotic interaction'
'negative aerotaxis in host'

'negative aerotaxis on or near other   organism involved in symbiotic interaction'
'negative aerotaxis on or near host'

'negative chemotaxis in host environment'
'negative chemotaxis in environment of other organism involved in   symbiotic interaction'

'negative chemotaxis in other organism   involved in symbiotic interaction'
'negative chemotaxis in host'

'negative chemotaxis on or near other   organism involved in symbiotic interaction'
'negative chemotaxis on or near host'

'negative energy taxis in environment of   other organism involved in symbiotic interaction'
'negative energy taxis in host environment'

'negative energy taxis in other organism   involved in symbiotic interaction'
'negative energy taxis in host'

'negative energy taxis on or near other   organism involved in symbiotic interaction'
'negative energy taxis on or near host'

'positive aerotaxis in environment of   other organism involved in symbiotic interaction'
'positive aerotaxis in host environment'

'positive aerotaxis in other organism   involved in symbiotic interaction'
'positive aerotaxis in host'

'positive aerotaxis on or near other   organism involved in symbiotic interaction'
'positive aerotaxis on or near host'

'positive chemotaxis in environment of   other organism involved in symbiotic interaction'
'positive chemotaxis in host environment'

'positive chemotaxis in other organism   involved in symbiotic interaction'
'positive chemotaxis in host'

'positive chemotaxis on or near other   organism involved in symbiotic interaction'
'positive chemotaxis on or near host'

'positive energy taxis in host   environment'
'positive energy taxis in environment of other organism involved in   symbiotic interaction'

'positive energy taxis in other organism   involved in symbiotic interaction'
'positive energy taxis in host'

'positive energy taxis on or near other   organism involved in symbiotic interaction'
'positive energy taxis on or near host'

@mgiglio99 @ValWood @addiehl
Thanks, Pascale

Replaced by #18825 #18819 #18855


use mremap with MREMAP_MAYMOVE for large allocations when sensible

It needs to move the surrounding guard pages with the allocation so it will be necessary to have extra mprotect calls as part of the implementation. It may end up being cheaper to allocate and copy for the smaller range of large allocations, so there could be a threshold determining when to start using mremap. It's important to leave the guard pages intact at the old location before remapping it to avoid having this reduce security compared to before.
This optimization may end up being lost for at least some ranges of allocations when the implementation is more sophisticated, but that's acceptable.

This is implemented by https://github.com/AndroidHardening/hardened_malloc/commit/803811a6ac703b2693499f5f03729dce16617548.


fixing circular import

Stack from ghstack (oldest at bottom):

#83
-> #97
#91

Summary:
was
generate.py -> tp.py -> quantize.py -> eval.py -> generate.py
I remove the link between generate.py and tp.py until runtime when
quantize.py will be fully initialized.
note the try/except is still needed for lm_eval stuff in case it is not
installed
Test Plan:
(with lm_eval 0.3/0.4/not installed)
python quantize.py --mode int8
Reviewers:
Subscribers:
Tasks:
Tags:

note the try/except is still needed for lm_eval stuff in case it is not installed

so what do we need to do to remove this?


Allow installing with PHP 8

@tuupola will you please release a new composer version with this change?

Oh, for some reason I forgot to do it. Will do today.


/replays/paged game_map parameter is ignored?

In the sample url http://hotsapi.net/api/v1/replays/paged?page=1&start_date=2018-09-01&game_map=Hanamura you can clear see maps other than Hanamura. I also tried to put the game_map_id in this field which doesn't work either.
Also while we are on it why we are having game from the future?

Duplicate of https://github.com/poma/hotsapi/issues/78

I think this query will be deprecated once BigQuery dataset will become available, closing for now


Translation to Italian + Offer to Contribute

Hi team,
Thank you for the fantastic work on this app—it's truly impressive :two_hearts: ! One feature I’d love to see added is support for the Italian language.
I’m eager to contribute by helping with the Italian translation. Could someone guide me on how I might get involved in this process? Any instructions or pointers would be greatly appreciated!
Thank you in advance for your help.

Hey @liuktc, thanks for the offer!
Starting with a translation would be great! The way that I've done it with other languages is to create an issue for a new version and ping people on there to help with translation on crowdin.
I've also added Italian on crowdin now.


Updated 1 useful resource

Hey Team,
Just wanted to give you a heads up that I've added a cool resource to the web-developer-roadmap-2023. Now, under "Useful references" section there is one new helpful resource link which is handpicked to make life easier for folks learning about web development. I think that'll be super useful for everyone using the guide. Let me know what you think!
Cheers,
Soham Mukherjee

Closing this, as not found relevant to roadmap


Navigation compass to a location

Question
Hi, I'm trying to implement a sort of compass pointing to a marker. I'm able to use Animated API to animate a big arrow that should indicate the direction.
My first approach was basically calculating the angle between user's coordinates and marker's coordinates. But this approach is weak, because it doesn't take into consideration rotation... I sought a lot for something like this, but I think some feature is missing to determine the angle correctly. Could heading be used to find out the rotation? Do somebody have some example for this or which feature is missing?

I'm solving a similar issue, this is what I learned so far:
You can listen region change event and get the heading there:
					dispatch({ type: 'SET_HEADING', payload: Math.round(camera.heading) });
				});

But this have some problems:

Region change event is not always triggered. I'm not sure but seems it's only triggered when you pan a little and not just rotate
Only fires when gesture ends.

Thank you @neiker, it's a starting. The problems you're highlighting suggest it's not enough to implement a fully functional solution. The pointer should turn based on phone rotation, not just as result of a gesture.

Hi @xn3cr0nx, did you find any solution to this, I have to implement this kind of compass in my application as well.
Thanks

@ahmedtehseen nope, working on other features at the moment. I didn't find the correct manner to proceed

I can't believe this hasn't come up earlier. Seems like an essential feature to have live navigation components for the primary React Native Maps repo.
Closest available solution I could find is this: https://github.com/flyandi/react-native-maps-navigation-example (also referenced here: https://github.com/react-native-community/react-native-maps/issues/3229).
Although with 17 stars and no updates in 2 years, it doesn't give me a great feeling.
Do our users really have to navigate from one point to the next using an overhead view?


JPEG XL support

Support JPEG XL image format for previewing, opening, etc.

With chromium dropping support, not sure we want to go into the effort of supporting it natively ourselves but I believe an extension could add it using a custom editor

We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the VS Code Marketplace. Just in case, in a few simple steps you can get started writing your own extension. See also our issue reporting guidelines.
Happy Coding!


Error When Running warp-plus on Windows 11

Issue: Error When Running warp-plus on Windows 11
Description:
Encountered an error when attempting to run the warp-plus application after successfully cloning and building the repository. The error indicates that the system cannot find the specified path for the wgcf-profile.ini file.

Navigate to the desired directory: cd C:\Users\aliag\Downloads
Clone the repository: git clone https://github.com/bepass-org/warp-plus.git
Navigate into the project directory: cd warp-plus
Build the project: go build
Run the application: warp-plus

Expected Result:
The application should run without errors.
Actual Result:
The application fails with the following error message:
time=2024-05-23T12:33:29.472+03:30 level=INFO msg="using warp endpoints" endpoints="[[2606:4700:d0:0:9d85:fa03:a42d:4204]:8854 [2606:4700:d0:0:9d85:fa03:a42d:4204]:8854]"
time=2024-05-23T12:33:29.472+03:30 level=INFO msg="running in normal warp mode"
time=2024-05-23T12:33:29.478+03:30 level=ERROR msg="open C:\\Users\\aliag\\AppData\\Local\\cache/warp-plus/primary/wgcf-profile.ini: The system cannot find the path specified."

Additional Information:

The error suggests that the application is looking for a configuration file (wgcf-profile.ini) in the directory C:\\Users\\aliag\\AppData\\Local\\cache/warp-plus/primary/.
It appears that either the file does not exist, or the directory structure has not been created.
This issue has only been observed with the most recent commit.

Hi, that was a bug that existed only on that commit, you were unlucky at that moment for building it :laughing: .
Try the latest release, it should be working fine, unless your ISP is blocking it.

Hi
I have the same problem on Ubuntu, currently I am using the latest release
$ ./warp-plus --version
refs/tags/v1.2.0
$ ./warp-plus --cache-dir .
time=2024-05-24T00:39:12.618+04:30 level=INFO msg="using warp endpoints" endpoints="[<IP_ADDRESS>:1014 <IP_ADDRESS>:1014]"
time=2024-05-24T00:39:12.618+04:30 level=INFO msg="running in normal warp mode"
time=2024-05-24T00:39:12.618+04:30 level=ERROR msg="open primary/wgcf-profile.ini: no such file or directory"
$ ls
LICENSE  README.md  warp-plus  warp-plus_linux-amd64.zip

I also get this error on Fedora. I tried to create the wgcf-profile.ini file but I didn't know the format for its entries.

@mahdigh782 @nimbold
try version 1.2.1

Thanks, the new version works!
Cheers


Review and improve our Handle and SafeHandle policies

I understand the need and meaning of SafeHandles as the ones that we need to Close/Destroy after use in order to avoid memory leaks and other memory and referencing problems. They are also good for us to keep people using the right handles on the right functions as they will have more trouble to use it improperly.
This kind of type safety could be used on all other handle referencing APIs, specially if the Windows original API do have a specialized handle type for that. HMONITOR is an example of a handle that does not need to be disposed, as a matter of fact there is not even a way to Close/Destroy them on the public API. We could introduce NotSoSafeHandles to ensure type safety on these calls instead of dealing with IntPtr wich is a big risk of having someone sending wrong values to the APIs.
Also there is a very clever/nice type (HandleRef and an usage sample on MSDN) that can bundle managed types with unmanaged handles so that GC does not clean one of them at one time and the other later, which might be a problem if the unmanaged function/API tries to use it to point to something that was already destroyed on the managed world.
We also have some SafeHandles on Microsoft.Win32.SafeHandles Namespace that we could use, like:

SafeAccessTokenHandle: Provides a safe handle to a Windows thread or process access token. For more information see Access Tokens
SafeFileHandle: Represents a wrapper class for a file handle.
SafeMemoryMappedFileHandle: Provides a safe handle that represents a memory-mapped file for sequential access.
SafeMemoryMappedViewHandle: Provides a safe handle that represents a view of a block of unmanaged memory for random access.
SafePipeHandle: Represents a wrapper class for a pipe handle.
SafeProcessHandle: Provides a managed wrapper for a process handle.
SafeRegistryHandle: Represents a safe handle to the Windows registry.
SafeWaitHandle: Represents a wrapper class for a wait handle.

A little more references for information:

SafeHandle and HandleRef on StackOverflow
IntPtr, SafeHandle and HandleRef - Explained

One of the things to note on Microsoft.Win32.SafeHandles is that it's desktop only for now. The current choice was to re-implement them to keep the same code for both portable and Desktop versions of the SafeHandle.
Regarding NotSoSafeHandles it's a good idea I think and really simple to implement:
public static class User32
{
	[DllImport("user32.dll", SetLastError = false)]
	public static extern HWND GetDesktopWindow();
}

[StructLayout(LayoutKind.Sequential)]
public struct HWND
{
	public readonly IntPtr Hwnd;

	public HWND(IntPtr hwnd)
	{
		Hwnd = hwnd;
	}

	public override string ToString() => Hwnd.ToString();
}

Compatibility wise it's a bigger problem :wink:
BTW I love how the HandleRef sample brushes over the problem with OVERLAPPED they propose 2 different solution that won't work in the async case :) Asychronous APIs tend to disagree strongly when you release memory they will write to when the operation complete :boom: :boom: :boom:

Thanks for the thoughts on this. I think we can develop it into a good solution too. I'd suggest we wait and do it all at once when we're ready to make a breaking change release.

@vbfox, if you don't mind, could you develop a little more the problem you see on the Overlapped problem with Async APIs and, if you do have have an opinion on that, what are the proper approaches to that?

they propose 2 different solution that won't work in the async case :) Asychronous APIs tend to disagree strongly when you release memory they will write to when the operation complete.

See also: https://social.msdn.microsoft.com/Forums/vstudio/en-US/a170a15f-aa4e-4c1b-ad2a-c96259bc3948/pinvoke-signatures-and-intptr-vs-handleref-vs-safehandle?forum=csharpgeneral to consider various options.

@vbfox, if you don't mind, could you explain a little more the problem you see on the Overlapped solution with Async APIs and, if you do have have an opinion on that, what are the proper approaches to that?

The overlapped pointer that is passed IN when the asynchronous operation begin and is kept by the OS and when the asynchronous operation finishes or update, the memory pointed is changed.
The result is that of the 2 examples one can't work and the other is dangerous:

In the case of a "ref struct" we let the OS keep a pointer to part of the stack, that mean that we can't return from the calling function until the async method is finished. Otherwise the OS will at some later point write into our stack and corrupt it. So it will "work" but it's not much of an async method if we can't return from it.
In the case of a class the marshaller allocate memory, copy the content, call the method, copy back the values from the temporary memory and then free that memory. So it will free memory that the OS expects to write to... Never a good idea.

The proper approach is to handle memory by hand either using pointers or IntPtr. The fact is that the memory blob that represent the OVERLAPPED structure must not move and not be freed until the asynchronous operation is marked as finished by the OS.

@vbfox: did you add a comment to the MSDN topic explaining its defect? They'll sometimes correct samples as a result of such feedback.

No but i'll try.

@arlm My suggestion in #302 is to have a base class which can do nothing in ReleaseHandle method.
This adds support for functions like GetCurrentProcess and others such as your example of HMONITOR.

Ohh that sounds great!

I can see a couple of solutions that haven't been mentioned (possibly because they are terrible). In no particular order:
You could theoretically change the library structure so that the primary access point is a singleton instance of a public interface rather than a static class. That would add a bit of overhead, but it would let people define additional PInvoke signatures and attach them to the instance with pass-through extension methods. You could reorganize the whole thing into a toolkit with struct and enum definitions, and a set of pre-made implementation librarys. Big change, not pushing it, just an idea.
You could also provide a compatibility layer package that provides interop between types that exist both in this library and in the standard library. This would cover at least safe handles and Overlapped (though from my experimenting the OVERLAPPED/NativeOverlapped issue can be solved with a pointer cast).

#419

Started a discussion about the overlapped issue here: #419


Wrong video representatin

Why if i use encode_raw my vid is very fast? In blender i have 90000 fps and very big amouth of frames

Please provide the code so I can take a look

use oidn::Quality;
use std::{fs, path::Path, process::Command};
use video_rs::{
    encode::Settings,
    ffmpeg::{format::Pixel, frame::Video},
    Decoder, Encoder,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    video_rs::init()?;

    let device = oidn::Device::cuda().unwrap();

    let mut decoder = Decoder::new(Path::new("video2.mp4"))?;
    let mut encoder = Encoder::new(
        Path::new("denoised.mp4"),
        Settings::preset_h264_yuv420p(1920, 1080, false),
    )?;

    let mut i = 0;
    while let Ok(mut frame) = decoder.decode_raw() {
        i += 1;
        println!("{:?} {i} {:?}", frame.planes(), frame.pts());

        println!("get data {} {}", frame.width(), frame.height());
        let mut data: Vec<f32> = frame
            .data(0)
            .iter()
            .map(|n| *n as f32 / 1000.0 * 3.90625)
            .collect();

        println!("denoise");
        oidn::RayTracing::new(&device)
            .srgb(true)
            .image_dimensions(frame.width() as usize, frame.height() as usize)
            .albedo(&mut data)
            .filter_in_place(&mut data)
            .unwrap();

        if let Err(e) = device.get_error() {
            println!("Error denosing image: {}", e.1);
        }

        println!("save");
        frame.data_mut(0).copy_from_slice(
            &data
                .iter()
                .map(|n| (*n / 3.90625 * 1000.0) as u8)
                .collect::<Vec<u8>>(),
        );

        encoder.encode_raw(frame)?;
    }

    Ok(())
}

and when i playing denoise.mp4 i see that its very very fast in any framerate of original video

why its 90000 fps but file is 7mb instead of million tb

Every frame/packet (when using _raw) implicitly carries timing information in it. This timestamp is just a number i64 (see ffmpeg_next docs here. To determine the actual timestamp, the number is multiplied by the context time_base, the result in seconds. The timebase is a fraction and can differ between decoder, encoder contexts. This is probably the case in your code. So the decoder is probably using a time_base that is larger than the encoder. This will cause the encoder to interpret as if there is very little duration between frames, and thus cause the large output frame rate. To fix this, you must rescale the timestamps. The encoder will use TIME_BASE by default, so you should do something like:
frame.rescale_ts(decoder.time_base(), TIME_BASE);

can i just set time base value in encoder instead of rescaling frames?

and i cant find function rescale ts

ok solution found
        let pts = frame.pts().map(|pts| pts.rescale(decoder.time_base(), TIME_BASE));
        frame.set_pts(pts);

thanks


Add CMS build with Laravel

You just gave me an idea. I'm accepting this PR for now but expect a lot of edits.


FastZip closes not owned stream in method CreateZip

Steps to reproduce

Download and install latest nuget package
Initialize new FastZip and new MemoryStrram
Call method CreateZip with created MemoryStream as argument

Expected behavior
MemoryStream instance is filled with data and is in operable state, not disposed
Actual behavior
MemoryStream instance was disposed after control returned from CreateZip method
Version of SharpZipLib
SharpZipLib.0.86.0
Obtained from (place an x between the brackets for all that apply)

[ ] Compiled from source

branch: _______
commit: _______

[ ] Downloaded DLL from GitHub
[ ] Downloaded DLL from SourceForge
[ ] Downloaded DLL from _______
[ ] DLL included as part of
Package installed using:

[x ] NuGet
[ ] MyGet
[ ] Chocolatey

Is this the NuGet packet you're using: https://www.nuget.org/packages/SharpZipLib/ ? Note that it is way out of date with respect to the GitHub sources.

Can this be closed as a dup of #78?

Yeah!


disappearing cursor when interacting with flops waveform

when resizing flops waveform the cursor will disappear and wont re appear until restart.
OS: Windows 11

While I don't think it's possible to really address this issue (seems like a Max on Windows specific issue, not ppooll), I did add a preference to the "prf" menu for disabling the showing/hiding of the mouse in flop.
If anyone is running into the disappearing mouse issue, they can select "yes" from this menu in ppooll "prf":


Use full-width column for consistence

Line #135 and #136 use full-width columns, so here should also use full-width columns.

謝謝!


AMSI generate alternative.

Hi,
Sorry if this is not related here; but i believe it is;
i have this generation AMSI link:  https://amsi-fail.azurewebsites.net/api/Generate  which is down now; any alternative ? this is my code;
import requests

amsi_bypass = requests.get('https://amsi-fail.azurewebsites.net/api/Generate')

print(amsi_bypass.text.split('\n')[1])

Hey,
I won't re-implement amsi.fail here as cloudflare shut the API down.
I can recommend you to built your own bypass:
https://s3cur3th1ssh1t.github.io/Bypass_AMSI_by_manual_modification/
Greetings


feaT: adDs flaG To COpy reSULtS tO cLIPbOaRd

Using -c flag will copy results to clipboard.

MY bAD, tHiS iS WhAT I GeT FoR swiTCHING bACK tO vScODe

HeY AAron,
lOoKs GoOd, But COuLd yOU PlEase inclUdE A UNIt TEsT TO ACcOmpANY The NEw FUNcTiONaliTy aLonG WiTH SoMe documeNTATiOn foR tHe NeW fEATURe?

AMaZING wOrk HoWevER iT Does NOT fOLLOW ThE CORrECT LiNting GuiDELINeS Of tHE PROJEct, thIS iS stRictLy A no semicoLOn rEPOsItoRy

ThE PrEttIeR CoNFiG hAS BEen AddEd TO The rePoSiTORY To acCOmOdaTe fUturE contrIBUtIOnS

cHANgEd the wRIte cLIPboArd fUnCtIonALIty TO PREfer A SYnChronoUS WRITe TO the CLIPBOArD AnD adDEd two UNIT tESts, OtHeRwISe THIs haS BeeN MErgED and BrinGS A lot To thiS applIcATiOn
meRGeD


FATAL:setuid_sandbox_host.cc(158)

Running the AppImage on TuxedoOS (aka: Ubuntu with KDE) and I get:
[31262:1229/191655.761245:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_ReticuJQ7lJt/chrome-sandbox is owned by root and has mode 4755.

Howdy! There's some previous discussion around this in the Matrix chat.
https://matrix.to/#/!TRaVWNnQhAbvuiSnEK:matrix.org/$JwLq3WF5jGgzEF9Du6e85jrnEtnCFiq3hBECzP9CrN8?via=matrix.org&via=tchncs.de&via=envs.net
I also saw this issue when trying to run the AppImage from CLI, but double clicking it from GUI seemed to launch fine.
If you find a way to resolve this, it would be great to get it fixed properly :)

https://github.com/user-attachments/assets/22170512-8855-4799-9581-7d03f73cb3c4

Thanks for the info. Here's what I've got so far:
If I double click the AppImage (in KDE) it won't run at all. Looks like it's doing nothing.
If I try and run it from the terminal I get the error message in my original post.
If I use AppImageLauncher and double click it it'll ask if I want to run it once, or integrate it.
If I run it once, it does nothing again.
If I click to integrate, then choose it from my KDE menu it will run, but then I get:

Thanks for the info, could you have a read through this one, and check the kernel settings?
https://docs.appimage.org/user-guide/troubleshooting/electron-sandboxing.html
If this doesn't help, I guess the only option is to add that flag to disable the sandboxing... In your screenshot it looks like it gets passed to my python script instead of the electron process.
Let me know if the kernel settings make a difference, if not, I'll look at adding the flag internally.

Yep, my kernel replies with a 1 (as I think it's meant to?)
If I use the terminal to run Reticulum (the gibberish before AppImage is just part of AppImageLauncher) with the -no-sandbox it does run, but like last time it crashes out and I see:
$  ./ReticulumMeshChat-v1.17.0-linux_e1784ecf710d3e9b81182c4c46e6a50b.AppImage -no-sandbox
usage: ReticulumMeshChat [-h] [--host [HOST]] [--port [PORT]] [--headless]
                         [--identity-file IDENTITY_FILE]
                         [--identity-base64 IDENTITY_BASE64]
                         [--generate-identity-file GENERATE_IDENTITY_FILE]
                         [--generate-identity-base64]
                         [--reticulum-config-dir RETICULUM_CONFIG_DIR]
                         [--storage-dir STORAGE_DIR]
                         [--test-exception-message TEST_EXCEPTION_MESSAGE]
                         ...
ReticulumMeshChat: error: unrecognized arguments: -no-sandbox
[13017:1230/114730.271686:ERROR:browser_main_loop.cc(280)] GLib-GObject: ../../../gobject/gsignal.c:2685: instance '0x345000ef6110' has no handler with id '5168'

Cool, thanks for checking that. I will need to spin up a VM to investigate this further. This will likely take me a couple of days. I'll update you once I have a fix :)

Just to add that while the error says:
You need to make sure that /tmp/.mount_ReticuAWHeOM/chrome-sandbox is owned by root and has mode 4755.
I don't see any .mount_Reticu... folder in /tmp/


Don't use the table at all in max() query

I'm having an issue with the following scenario:

I have a single table thing
I have two models Table, Chair extending Thing, and aliasing the table name in find() (resp. table, chair and adding a condition to the where clause.

Currently, the resulting SQL when computing a newly inserted record position is:
SELECT MAX(`thing`.`position`) FROM `thing` `chair` WHERE `chair`.`type`="chair"

which errors:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'thing.position' in 'field list'

I cannot override tableName() in my models as the tables wouldn't exist.
I've seen the problem fixed in #30, and I was thinking, do we really need to specify the table name in the fields list? It's more likely to cause troubles than anything?
This PR fixes my problem and should still works for #30

¯\_(ツ)_/¯


Delete unused function in simulator

This is a continuation of the to-do list from #660.
I propose to delete the following function in simulator that is not being used:
https://github.com/gammasim/simtools/blob/fa72abffcde0b4224e044d76e5c28fa5581f4be4/simtools/simtel/simtel_histograms.py#L47-L57
This would mean also deleting _plot_combined_histograms and also print_histograms. Both functions are not used and for the generation of plots and pdfs we already have the generate_simtel_array_histograms.py application. Is there any problem to delete these that I am not aware of?

I am really surprised to see these functions are not used because I am 100% sure Raul had functionality to print sim_telarray histograms and I think it was within his production.py application. He even showed the histograms in some ASWG meeting.
However, if you have a better implementation, I don't have an objection to remove and replace this implementation.

The base functionality is the plot_one_histogram function from simtel_histograms which is kept. This function is also used by the application generate_simtel_array_histograms to produce the pdfs with the histograms. I think that is all we need. As the application already produces the histograms and save them to file, we dont need to do a similar thing in the module

OK, no problem then


Add a footer

Add a footer that acts a site map, and includes some information about the pod, such as:

Blog
About
Socials
Projects

Hey @NoahCardoza Can you assign this issue to me and @DinuBotan


🐛 .local/bin folder missing from PATH

branch
stable
Architecture
x86_64
Description
I have noticed that my $HOME/.local/bin folder is missing from path (since recently, I am not sure about exact time when it disappeared.) When I manually source /etc/profile.d/home-local-bin.sh it works. But I didn't have to do this manually. Also other functionality in /etc/profile.d might be effected, I haven't checked.
Reproduction steps
Create $HOME/.local/bin folder if it is missing
logout/login or reboot
$HOME/.local/bin sholuld be in $PATH but it is not.

Screenshots
No response
Logs
No response

I think for that to work, we'd have to start foot as a login-shell, which caused other problems. But some things may have changed and probably we could give it another try (original issue: https://github.com/manjaro-sway/manjaro-sway/issues/721)

This is not only foot related. I have some sway bindings that call some scripts from my local bin folder (I don't use full path, just script name), and they don't work also.

Probably we just need to start sway from a login-shell then. Will do a little experiment.

Would you like to give manjaro-sway-settings-git a try?

My shortcuts are working, but still no local bin folder in PATH in foot.

Could you share your  /etc/profile.d/home-local-bin.sh?

Sure, here it is:
case ":${PATH}:" in
:"$HOME/.local/bin":) ;;
*) export PATH="$HOME/.local/bin:$PATH" ;;
esac
And /etc/profile.d/home-local-bin.sh is owned by filesystem 2024.01.19-1

is that posix? I did just use sh, not bash or zsh to load sway.

I have no idea what that is. I have not used posix. It comes from core/filesystem package, and I guess it is installed in all Manjaro installations.

Seems that service unit never came to a final conclusion regarding /etc/profile and honestly I am on the fence here, as I personally don't even use it, but I know this caused issues in that past.
https://github.com/xdbob/sway-services/issues/13


Camera Event Listener Doesn't Reconnect on Socket Disconnect

End result is you stop receiving notifications after a disconnect.
Problem is scoping the camera events (using name, serial or whatever) shouldn't include DISCONNECT events, as it is currently camera wont reconnect. Will submit a PR for this.

@nzapponi I submitted a new PR for this because I still wasn't seeing the cameras reconnect on DISCONNECT, I think I've solved it for real now. The issue was (I think) that the parts of subscribeToEvents that actually ran callback('DISCONNECT') were all wrapped in an else from if (this.socket) { in other words they only ran the first time subscribeToEvents is called, so just for the alarm, not for the cameras. I changed by moving those parts of the event handlers outside the if block.

Merged, thanks for this.


Package List - Filtering

This is how it looks V1 Package List page:

In v2 UI I am using the endpoint /api/v1/purl for populating the table in the UI.

There are 2 main filters I need to implement in V2.

Type Filter:

I am currently using q=type=maven|rpm|npm|oci and it works! So I guess there is nothing to do on that.

Architecture Filter:

I was not able to make it work with q=arch=x86_64|aarch64|ppc64le|s390x|noarch so would you advice me how to filter by Architecture?

I am currently using q=type=maven|rpm|npm|oci and it works! So I guess there is nothing to do on that.

Yay!

I was not able to make it work with q=arch=x86_64|aarch64|ppc64le|s390x|noarch so would you advice me how to filter by Architecture?

Boo! I'll investigate.

@carlosthe19916 when #1073 merges, this should work as you expect: q=type=maven|rpm&arch=x86_64|noarch
Regarding type, keep in mind that type=maven (not pom) for the following purl: pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?type=pom
If we need to query type as a purl qualifier, we'll need to introduce a non-conflicting name for the purl's type, e.g. we use ty in the db.
Speaking of qualifiers, these are the only ones we currently support: arch, distro, and repository_url. But it's trivial to add more.

Awesome! Thanks @jcrossley3 I tested your PR and it worked as a charm.

The UI already have set up the Filtering
https://github.com/trustification/trustify-ui/pull/291 is for adding sorting. Which I tested and also worked

We can close this issue as completed I think


Add docs spec progress to docs status board

What does this PR do?
Add a new running status for docs spec completions to the status lists here: https://datadoghq.dev/integrations-core/meta/status/

Looking good! 👍

Looking good! 👍


How to use modal.jsx

Hello,
I see we have the modal.jsx in our components,
how do i wire it up inside the home/index.js so when i click a button the modal pops up?
Thank you.

Take a look at the admin search pages, specifically the create-new-form.jsx components.
https://github.com/jedireza/aqua/tree/master/client/pages/admin/accounts/search

Reza,
Thank you!
How can I send you money for a coffee?


Fix public headers

Put back the #include <openssl/safestack.h> lines in public headers.
#include <openssl/stack.h> have been omitted or changed since safestack.h includes stack.h.
This follows #4430 which some public headers were changed.

Merged, thanks.


Server Migration

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
If we need to migrate our BookStack server, is it as simple as installing the web server, php, and database packages. Then cloning the project and importing the database and everything beneath /var/www/bookstack to the new server?
Exact BookStack Version
22.09
Log Content
No response
PHP Version
No response
Hosting Environment
Current: Ubuntu 18.04.6
Proposed: CentOS 7

If we need to migrate our BookStack server, is it as simple as installing the web server, php, and database packages. Then cloning the project and importing the database and everything beneath /var/www/bookstack to the new server?

Yeah, pretty much. Might have some permission fixing to do (and selinux playing to do if active), and webserver config tweaks to make. Some details on our backup/restore page may help. Of course, backup everything first for safety and ideally don't delete anything on the old system before ensuring the new system is working.

Yeah, pretty much. Might have some permission fixing to do (and selinux playing to do if active), and webserver config tweaks to make. Some details on our backup/restore page may help. Of course, backup everything first for safety and ideally don't delete anything on the old system before ensuring the new system is working.

Ok, will give it a go. Thanks!

Things went relatively fine. Had to create SELinux policies and apply them and web server user permissions after importing the application files. Then had a little snag on LDAPS authentication, ended up finding out two things that can make or break that functionality:

setsebool -P httpd_can_network_connect 1
/etc/openldap/ldap.conf (along with certificate placement)

All seems stable (knock on wood) and the backup/restore article was gold during this, thank you.


Include Cleaner: support IWYU pragma: export

We have a number of "umbrella headers" in our code base; these are headers that don't provide anything themselves, but only include other headers which are not supposed to be included directly. Including an umbrella header results in an "unused include" warning.
As far as I can see, the only way to silence these warnings right now is to add // IWYU pragma: keep at the include site, which works but is not ideal because it has to be done in hundreds of places.
It would be nicer to be able to add // IWYU pragma: export (or begin_exports/end_exports) to the includes inside the umbrella header, so that this only has to be done in one place.

We support the inverse: // IWYU pragma: private; include "foo.h". Is it possible to use that instead?
The export pragma is a bit unfortunately designed: when the parser sees a symbol's definition the pragma may or may not be visible. (in particular, when you open the private header directly!). And it's also possible for multiple headers to claim ownership of the same header.
Nevertheless, maybe we can add support, or at least say something like "never mark a header as unused if it has any export pragmas".

Oops, I was late with my reply.
The summary of what I wanted to say is this: we looked through some of the most popular pragmas. The most useful ones seem to be keep, private, export/begin_exports and no_include. As you mentioned, we have keep support now and the IWYU pragma private: include "public.h" is in the works (D120306). I expect to land the private pragma patch quite soon, so this would hopefully solve the issue you're describing.
As Sam mentioned, there's ambiguity with export pragmas and we decided to leave it out of the initial implementation (so far we don't have the production-ready version). I think it's doable but just has the lower priority and we already support private but not export for incude insertion (in code competion).

Ah sorry, indeed I meant to say we supporte private today for code completion, and soon for include-cleaner.

private is not going to work for us, unfortunately, for two reasons:

Sometimes the private headers are third-party headers that we would prefer not to modify
Other times the umbrella header is just provided as a convenience, but clients are also allowed to include the more specific ones if they prefer

"never mark a header as unused if it has any export pragmas".

Not really great, but probably better than nothing, so if this is easy to do, it would be greatly appreciated.

private is not going to work for us, unfortunately, for two reasons:

Sometimes the private headers are third-party headers that we would prefer not to modify

Yes, this is also something we're looking into. Third-party is a problem, because realistically when you don't have any control over it it might be too optimistic to expect the pragmas to be correct. We want to make it possible to filter the warnings based on the header paths to disable Include Cleaner for third_party/ internally. That would also be critical for automated clean-ups that we would like to do (see https://discourse.llvm.org/t/rfc-lifting-include-cleaner-missing-unused-include-detection-out-of-clangd/61228).

Other times the umbrella header is just provided as a convenience, but clients are also allowed to include the more specific ones if they prefer

Correct me if I'm wrong, but I was under the impression that this is not how export pragma works. AFAIK from the IWYU standpoint (and Include Cleaner for that matter) that actually means that the exporter is responsible for the symbols of the private header. This model is quite simple and doesn't introduce unexpected results.
For the case you described to work as intended we would also have to make changes to the policy and make it configurable. We're likely to build some configuration mechanism and it might be one of the options to support but this really seems like a niche use-case.

"never mark a header as unused if it has any export pragmas".

Not really great, but probably better than nothing, so if this is easy to do, it would be greatly appreciated.

This being said, we would be happy to support more pragmas and have some flexibility as we understand that different users would want different behavior. However, right now the top priority is driving the tooling to the production state so that we can have at least one consistent policy that would be correct in most cases. Once we reach that, we'll surely start expanding the feature set. Also, right now the code structure is changing rapidly so it might be a bit harder to plug more pragmas in (partially just because it's not totally obvious where some of them would fit in), and reusing the code that we have for include insertion helps us get the prototype running quickly.
This is all to say that contributions are certainly welcome: we might not have the capacity to support the exact use-case you described right now but we'd be happy to have it once the code restructuring is complete.

We want to make it possible to filter the warnings based on the header paths to disable Include Cleaner for third_party/ internally.

Will this help for our concrete situation though? The way you describe it, it sounds like this would only work if the umbrella header is also part of the third-party code. In our case, the umbrella header is our code, outside of third_party/.

Correct me if I'm wrong, but I was under the impression that this is not exactly how export pragma is intended to work. AFAIK from the IWYU standpoint (and Include Cleaner for that matter) export actually means that the umbrella header is responsible for providing the symbols from the private header.

I have no idea to be honest, I haven't used IWYU myself and don't know how it works. From reading the docs, it was my impression that export is treated as if the included header is inlined at that point. In my mental model this should make it possible to include the exported header in several different umbrella headers, and for the client to include any of those without getting a warning. But I'm probably missing a lot about how Include Cleaner works internally.

I think you're right. export isn't really the inverse of private.
If you have

foo.h: int foo();
umbrella1.h: #include "foo.h" // export
umbrella2.h: #include "foo.h" // export

Then we could say any of {foo.h, umbrella1.h, umbrella2.h} are valid to include. (If it were the inverse of private, then foo.h would not be valid).
In include-cleaner, supporting this would achieve:

suppress false unused include warnings for umbrella headers
suppress false missing include warnings for foo.h when an umbrella is included
allow includes of umbrellas to be suggested as a fix, if they're in the translation unit

It would not tell us how to rank/filter suggested includes, whereas private can help with that.
(This is the only question include-insertion cares about, which explains why we historically ignored this pragma).
I think we should probably work out how to support this in include-cleaner.

There seems to be at least some support for this nowadays. The documentation currently says:

IWYU tool offers a set of pragmas. Include Cleaner respects keep, always_keep, private, and export/begin_exports/end_exports.

Is something missing from this support? If so, probably the documentation should be updated; if not, probably this issue can be closed?

There seems to be at least some support for this nowadays. The documentation currently says:

IWYU tool offers a set of pragmas. Include Cleaner respects keep, always_keep, private, and export/begin_exports/end_exports.

Is something missing from this support? If so, probably the documentation should be updated; if not, probably this issue can be closed?

Good point, I think those were added a long while ago now, but the issue wasn't updated.
Documentation clearly mentions it now, so it should be 100% covered by now.
I'm closing the issue, feel free to reopen if something you wanted still isn't working/covered by the current implementation.

(Coming back to this after a bit of delay, sorry for that...)
(It doesn't look like I can reopen the issue, so I'm commenting on it anyway hoping that people will see this.)
With clangd 18.1.3 (or with current snapshots) our umbrella header issue is not solved. It was solved with clangd 16.x, but I suppose this was because it implemented the simpler "never mark a header as unused if it has any export pragmas" logic.
Our scenario is this:
main.cpp:
    #include "umbrella.hpp"

    int main(void) {
      someFunction();
      return 0;
    }

umbrella.hpp:
    #pragma once
    #include "third-party/umbrella.hpp" // IWYU pragma: export

third-party/umbrella.hpp:
    #pragma once
    #include "detail.hpp"

third-party/detail.hpp:
    #pragma once
    void someFunction();

With 18.1.3 this warns in main.cpp that umbrella.hpp is unused; with 16.x it doesn't.
Note that our own umbrella.hpp is the only header that we can add IWYU pragmas to.
While playing with this I noticed that the warning also goes away when I remove the #pragma once from third-party/detail.hpp. Obviously this is not a solution, but maybe it's still interesting.


GEOMESA-2745 Add intToBoolean transform function

Signed-off-by: Walter Schultz<EMAIL_ADDRESS>

Looks like the travis build failed due to a missing license in the new test class. you should be able to run mvn license:format and commit the results to fix that.

Thanks for the PR! I'll merge once the license header and docs format is fixed.


Pdf attachment got corrupted

Hi, i've been searching everywhere for the solutions to fix it but i still can't send email with pdf attachment.
$file_encoded = base64_encode(file_get_contents($attachment));
            $email->addAttachment(
                $file_encoded,
                "application/pdf",
                "another.pdf",
                "attachment"
            );

i'm using this code to attach pdf file but it's not working, please someone help, thank you

Hi @buddyy93,
Could you please send your attachment to<EMAIL_ADDRESS>so that we can try and reproduce the error?
Thanks!
With Best Regards,
Elmer

Hi @buddyy93, it looks like your content get's base64 encoded twice. Just fiddling around with this library to add ICS invite as a attachment. I found out that the content gets encoded twice it it was already encoded, so this should work for you:
$file_encoded = file_get_contents($attachment);
$email->addAttachment(
    $file_encoded,
    "application/pdf",
    "another.pdf",
    "attachment"
);

@rcooo Thank you so much!

They might want to change that in their PHP examples..

Since there has been no activity on this issue since March 1, 2020, we are closing this issue. Please feel free to reopen or create a new issue if you still require assistance. Thank you!


aspire-dashboard Structured logs -> Log entry details -> Resource attributes not always correct/seem cached

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Hi,
when exporting otel logging data from a .NET app to both Seq and Aspire Dashboard (8.0.2 and 8.1.0 show same behavior), aspire dashboard doesn't seem to render attribute values under Structured logs -> Log entry details -> Resource -> attributes correctly at all times (sometimes it seems parts of the attributes get cached).
First of all, displayed values for a specific log entry differ between seq (correct) and aspire dashboard (not correct).
1.) Run the app, attribute foo=value1
2.) Seq and Aspire dashboard display the entry with foo=value1
3.) stop app, change value to foo=newValue
4.) re run app
5.) Seq=>foo=newValue, aspire dashboard (no restart of container) foo=value1
Yesterday, with 8.0.2, I also had issues that some attribute pairs did not show up at all at times in aspire dashboard (not a rendering issue).
Expected Behavior
No response
Steps To Reproduce

asp.net 8 app
builder.Services.AddLogging(logging => logging.AddOpenTelemetry(openTelemetryLoggerOptions => {
openTelemetryLoggerOptions.SetResourceBuilder(
[...]
.AddAttributes(new Dictionary<string, object> {
[...]

Exceptions (if any)
No response
.NET Version info
SDK 8.0.303
Runtime: 8.0.7
AOT publish
Anything else?
Affects aspire-dashboard 8.1.0 and 8.0.2

I think the important part is here:

5.) Seq=>foo=newValue, aspire dashboard (no restart of container) foo=value1

James - this seems like an issue with how we associate resources on each batch to the last. We probably need some kind of hash of all the resource properties to account for potential differences.

@dlosch What do you expect to happen when a resource adds and remove attributes?
For example:
1.) Run the app, attribute foo=true
2.) Seq and Aspire dashboard display the entry with foo=true
3.) stop app, change attribute to bar=true
4.) re run app
5.) ???
Should a resource now display foo and bar, or just bar?

Would prefer option 3 if possible. I only superficially scanned over the open telemetry spec, but my interpretation was that the attributes are effectively scoped to the log entry (at least regarding the output)(?) Are resource attributes transmitted independently (and only if changed) from log entries and then correlated back, or are these attributes attached to each record (when adding a console logger, they are attached to each log entry)?
A quick test showed that Seq behaves as in option 3.
Otherwise, the dashboard is superb, has helped me track down several not obvious issues with aot (logging+metrics).

Seq stores all the resource data on all events - so Option 3.

Sounds like option 3 is the way to go. It will be a non-trivial change but hopefully not too difficult.

Fixed with https://github.com/dotnet/aspire/pull/5526


operator|| missing for const xsimd::batch<int, xsimd::sse3> ||  const xsimd::batch<int, xsimd::sse3>

While refactoring xtensor to use xsimd8 I am getting this compile error:
no match for 'operator||' (operand types are 'const xsimd::batch<int, xsimd::sse3>' and 'const xsimd::batch<int, xsimd::sse3>')

same for &&
 no match for 'operator&&' (operand types are 'const xsimd::batch<int, xsimd::sse3>' and 'const xsimd::batch<int, xsimd::sse3>')


Memory leak in development mode

Versions

nuxt: v2.12.2
node: v13.14.0

Reproduction link
https://github.com/nnvgm/report-nuxt-memory-leak
Steps to reproduce
The reproduction steps and the repo come from this issue #7412
Clone this repo , run npm install and npm run dev ( or yarn alternatives ) to set up the project.
Use ApacheBench or another similar tool to simulate traffic to the development server: ab -n 1000 http://localhost:3000/.
To monitor  the memory usage in real time you can either hook up the Chrome Debugger or use this code snippet from the related issue
// nuxt.config.js
setInterval(() => {
  const { heapUsed: used, rss, heapTotal: tot, external: ext } = process.memoryUsage()
  const f = (value: number) => (!value ? '-' : `${Math.round(value / 1048576)} MB`)

  console.log(
    `[${new Date().toTimeString().substr(0, 8)}] Memory usage: ${f(used)} (RSS: ${f(rss)}) - total heap: ${f(
      tot
    )} - external: ${f(ext)}`
  )
}, 10000)

Additional Details

The application leaks memory in development mode, causing a crash sooner or later, impacting negatively the development experience.
On larger applications, where the memory taken on start up is larger ( mine starts at 1.2gb ), it reaches the maximum ( 2gb ) rather quickly, requiring restarts as often as 30 minutes in.
Since modifying server-side code causes a hard reload of the page, this escalates the memory growth, if I'm working on client-side code, it takes more time to crash, but still does ( very often in less than an hour ).

What is Expected?
It is expected shortly after the requests are processed, the additional memory taken to be freed
What is actually happening?
[10:22:01] Memory usage: 156 MB (RSS: 233 MB) - total heap: 192 MB - external: 6 MB                                                                                10:22:01
[10:22:11] Memory usage: 156 MB (RSS: 233 MB) - total heap: 192 MB - external: 6 MB                                                                                10:22:11
[10:22:21] Memory usage: 135 MB (RSS: 182 MB) - total heap: 142 MB - external: 6 MB                                                                                10:22:21
[10:22:31] Memory usage: 135 MB (RSS: 182 MB) - total heap: 142 MB - external: 6 MB                                                                                10:22:31
[10:22:41] Memory usage: 135 MB (RSS: 182 MB) - total heap: 142 MB - external: 6 MB                                                                                10:22:41
[10:22:51] Memory usage: 200 MB (RSS: 268 MB) - total heap: 225 MB - external: 6 MB                                                                                10:22:51
[10:23:01] Memory usage: 573 MB (RSS: 644 MB) - total heap: 593 MB - external: 6 MB                                                                                10:23:01
[10:23:11] Memory usage: 573 MB (RSS: 644 MB) - total heap: 593 MB - external: 6 MB                                                                                10:23:11
[10:23:21] Memory usage: 573 MB (RSS: 644 MB) - total heap: 593 MB - external: 6 MB                                                                                10:23:21
[10:23:31] Memory usage: 736 MB (RSS: 845 MB) - total heap: 785 MB - external: 6 MB                                                                                10:23:31
[10:23:41] Memory usage: 946 MB (RSS: 1040 MB) - total heap: 977 MB - external: 6 MB                                                                                10:23:41
[10:23:51] Memory usage: 1110 MB (RSS: 1208 MB) - total heap: 1141 MB - external: 6 MB                                                                                10:23:51
[10:24:01] Memory usage: 1254 MB (RSS: 1358 MB) - total heap: 1287 MB - external: 6 MB                                                                                10:24:01
[10:24:11] Memory usage: 1251 MB (RSS: 1464 MB) - total heap: 1386 MB - external: 6 MB                                                                                10:24:11
[10:24:22] Memory usage: 1381 MB (RSS: 1541 MB) - total heap: 1462 MB - external: 6 MB                                                                                10:24:22
[10:24:32] Memory usage: 1493 MB (RSS: 1635 MB) - total heap: 1555 MB - external: 6 MB                                                                                10:24:32
[10:24:42] Memory usage: 1605 MB (RSS: 1734 MB) - total heap: 1651 MB - external: 6 MB                                                                                10:24:42
[10:24:52] Memory usage: 1626 MB (RSS: 1792 MB) - total heap: 1704 MB - external: 6 MB                                                                                10:24:52
[10:25:02] Memory usage: 1721 MB (RSS: 1874 MB) - total heap: 1785 MB - external: 6 MB                                                                                10:25:02
[10:25:12] Memory usage: 1724 MB (RSS: 1879 MB) - total heap: 1791 MB - external: 6 MB                                                                                10:25:12
[10:25:22] Memory usage: 1724 MB (RSS: 1879 MB) - total heap: 1791 MB - external: 6 MB                                                                                10:25:22
[10:25:32] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:25:32
[10:25:42] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:25:42
[10:25:52] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:25:52
[10:26:02] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:02
[10:26:12] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:12
[10:26:22] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:22
[10:26:32] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:32
[10:26:42] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:42
[10:26:52] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:26:52
[10:27:02] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:02
[10:27:12] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:12
[10:27:22] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:22
[10:27:32] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:32
[10:27:42] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:42
[10:27:52] Memory usage: 1684 MB (RSS: 1847 MB) - total heap: 1749 MB - external: 6 MB                                                                                10:27:52
[10:28:02] Memory usage: 1685 MB (RSS: 1848 MB) - total heap: 1749 MB - external: 6 MB

Thank you immensely for the quick work you have done, considering what day it is :)
After a lot of scavenger hunts I suspected that same line of code, eventually, but it was through the discoveries of other people. As I mentioned in my previous issue, there are quite some unanswered questions about discovering memory leaks in nuxt applications.
I don't believe any of you holds any responsibility to actually answer them, but you seem to have the knowledge to find them rather quickly. If you have the time, I think it will be very beneficial for the community if you were to write down somewhere the techniques that you used to diagnose the problem.
Template compilation, vue reactivity trickeries and wrappers and the Nuxt trickeries on top of that - all things combined make it very hard for people without in-depth knowledge ( which I couldn't figure out where to acquire anyway ) to actually find similar bugs in their own code.

Oh, I will find it helpful for sure, but I'm not asking for myself. I'm asking for everybody that's working on a larger application and does not have extensive knowledge on the subject. You can't imagine the frustration of facing an issue in your everyday job and not being able to find relevant information out there. There are a lot of tutorials which show how do find leaks, but the examples are relatively small and the tutors use knowledge of the application ( because its not based off on a framework ) as a guiding point, which is something that does not play out well, at least for me it didn't, in scenarios like this.
Hats off to the guy that came to the exact line of code that you did, presumably without  any knowledge of Nuxt internals.
I do not expect to magically be able to find any memory related issues in the Nuxt library ( there probably aren't that many anyway ), it will be very valuable to have the knowledge to be able, at least to an extent, to track them down in the heapshots, despite them being polluted with framework code ( vue, nuxt or other packages ).
I didn't get to this line of code on my own, I stepped on somebody else's shoulders, and I'd really like to learn how to do it on my own. So, you are guaranteed to have at least one reader, but I am absolutely certain that I'm not going to be the last.

Thank you very much for the quick fix! This problem have been bugging me my team and I for quite some time now!
And thank you @klausXR for keeping this subject alive despite all the closed issues.


vscodeEnv: add parens to fix optionals invocation in vscodeEnv.nix

Somehow operator precedence changed and lib.optionals is receiving the pathExists function as its first argument, unless we add these parens.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@jonringer ping

@SuperSandro2000 ping


java-packages.nix: detect i686 using stdenv.hostPlatform

The problem
java-packages.nix attempts to automatically decide which java to use for bootstrapping.  When this works, it works well.  However when it fails due to the user setting config.allowNonSource=false on a non-x86 platform, the reported failure is extremely confusing and does not mention the NIXPKGS_ALLOW_NONSOURCE=1 option to proceed, or that allowNonSource had anything to do with the eval failure.
Why the problem is happening
Currently, java-packages.nix makes its detection choice based on adoptopenjdk.jdk-hotspot.meta.available.  If the user has set config.allowNonSource=false then the adoptopenjdk-bin packages will all report _.meta.available==false.  If adoptopenjdk.jdk-hotspot.meta.available==false then the detection code will proceed to use callPackage path args, even if that package is also meta.unavailable for end-user-unfixable reasons.
In the case of openjdk8, the path passed is a nix expression that only works on x86.  The user has two options for continuing the build: buy an x86 machine or add an allowNonSource exception for the bootstrap jdk.  The second option is generally preferred, but the user is only offered the first option.
The fix for the problem
The following comment appears above the line in java-packages.nix which does the automatic selection:
/* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */

Since the intent here was to decide based on "i686-ness", let's query the authoritative source for i686ness in nixpkgs: stdenv.hostPlatform.
Things done

Built on platform(s)

[X] powerpc64le-linux
[X] x86_64-linux

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

  Are you okay with it?
Also pinging @taku0 (adoptopenjdk maintainer) and @edwtjo and @asbachb (openjdk maintainers).

Ping...

Resolved merge conflict with #194255.  @Artturin, since you've worked on this part of the code would you be willing to review?


Introduce Radix Colors scale and improve the design

Goal
Improve the design by introducing the color scales from https://www.radix-ui.com/colors by adding the CSS variables for the following colors:

sand
orange

The color tokens were simply copy-pasted from the Scales page:

Main benefit:

the same CSS variables can be used for both light and dark mode
more consistency
the scale is really well documented

Other changes:

Change GitHub and Discord icons to use an "outline" style
Remove hard-coded TailwindCSS colors

How to test
Check the look-and-feel in both dark and light mode:

top header links
project links

Screenshots

More changes

Add a subtile gradient in table headers, in dark mode only
make prev/next buttons in "Featured" section more visible
improve tags (current tags and related tags) in /projects? search pages

I had a catch. some Tailwind classes don't work properly. This is because the color variable is in hex format, so the opacity modifier syntax does not work.
solutions :

remove all opacity modifier syntax classes that refer to hex colors
change color variable from hex to rgb or hsl (Recommended)

Tailwind - Using CSS Variables

Thank you @flamrdevs for the comment.
Yes, I was aware that the reason colors were defined as HSL in shadcn/ui values was to be able to adjust the opacity using the TailwindCSS modifiers (E.g. bg-background/50). However, if we use a whole color scale well defined such as the one provided by Radix Colors (instead of the few colors defined by shadcn/ui), I thought it was better to only pick the tokens instead of adjusting the color opacity by ourselves in the markup, this the reason I didn't convert the Radix Colors from RGB to HSL.
In the codebase the only HSL remaining colors are secondary and destructive but I don't use these variations, we could remove them.

Also, after having checked Radix Themes, I'm very tempted to introduce it as it seems they do everything right, it could make the code cleaner (especially thanks to Box andFlex utilities).
Of course everything is a tradeoff as everything is easy to customize with shadcn/ui components but I like very much how robust Radix Theme component look, I wonder if you have tried them?

Yes, I was aware that the reason colors were defined as HSL in shadcn/ui values was to be able to adjust the opacity using the TailwindCSS modifiers (E.g. bg-background/50). However, if we use a whole color scale well defined such as the one provided by Radix Colors (instead of the few colors defined by shadcn/ui), I thought it was better to only pick the tokens instead of adjusting the color opacity by ourselves in the markup, this is the reason I didn't convert the Radix Colors from RGB to HSL.

So the conclusion is that Radix Colors will still use the hex format. right? And the next step is to delete the class that uses the Opacity Modifier which refers to Radix Colors.

In the codebase the only HSL remaining colors are secondary and destructive but I don't use these variations, we could remove them.

Not only is it secondary or destructive variant, this example class also won't work, because the color in tailwind.config.js refers to radix colors which uses hex format.

Not only is it secondary or destructive variant, this example class also won't work, because the color in tailwind.config.js refers to radix colors which uses hex format.

You can check this in hall-of-fame page

The hover style of Search button not as expected

Of course everything is a tradeoff as everything is easy to customize with shadcn/ui components but I like very much how robust Radix Theme component look, I wonder if you have tried them?

Since I built Klass, I completed the design of this system. In my personal web, I can have Box, Flex, Grid, Container, and other components that use a style system like the one used in Radix Themes, Chakra UI, and Mantine UI.

Thank you very much @flamrdevs for having checked and sorry for the misses!
The primary button used in the Hall of Fame uses the syntax hover:bg-primary/90 to decrease the opacity, when hovered, my bad, I'm fixing...


If user doesn't have enough submissions, highlighting doesn't work.

http://i.imgur.com/pHXzQKv.png

Sorry OP, we won't be fixing this.  It's by design.

Did you just reply to yourself? Or is this for the administration :P


Fix gnav tests

Fix gnav tests due to UI changes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.59%. Comparing base (c8d2bd4) to head (09a8277).

Additional details and impacted files
@@           Coverage Diff           @@
##            stage     #716   +/-   ##
=======================================
  Coverage   89.59%   89.59%
=======================================
  Files          39       39
  Lines        4814     4814
=======================================
  Hits         4313     4313
  Misses        501      501

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


🗑 Deprecation promotion of notEmptyMapOf function to hidden level

📝 Description
We would like to promote the deprecation of the notEmptyMapOf function to a hidden level.
🔗 Dependencies
This issue is blocked by the following ones:

[x] #528

✅ Checklist

[ ] Promote the deprecation of this declaration, update the public API binaries and the unreleased changelog.
[ ] Close this issue as completed and update tracking ones if present.

We are not ready to implement this change.


Houdini: add registerProperty to CSS API page

Add the new method to:
https://developer.mozilla.org/en-US/docs/Web/API/CSS
after the bcd and spec have been populated on
https://developer.mozilla.org/en-US/docs/Web/API/CSS/registerProperty

Hello there,
I've filled up the info (spec) but get the a 'permission denied' when publishing.
Not sure how to proceed... Any ideas? It's the first time I try though.

Thank you santimirandarp
Let me add @chrisdavidmills. He may know why your account isn't working.
Also, the BCD has populated, so I think this ticket can otherwise be closed.

I've finished off the above linked pages; yup, we can close this now!
@santimirandarp Are you saying that you made a change to an article, but then when you pressed Publish, you got an access denied error? This does happen sometimes...can you try editing another page, and letting me know if the error persists?


aur sync -c does not work

After upgrading from aurutils 19-1 to aurutils 19.2-1, aur sync -c doesn't work anymore. No output is produced at all.
See attached logs of:
$ AUR_DEBUG=1 aur sync -c aurutils

aurutils-19.2-1-bad.log
aurutils-19-1-good.log

I'm also can reproduce this issue with aur sync -cu. My mitigation right now is downgrading aurutils version 19.2 to 19.1 and add IgnorePkg=aurutils to /etc/pacman.conf to pin aurutils version.
I'm also attaching debug logs for comparison:
aurutils-19.1.log
aurutils-19.2-fail.log

It makes no sense to me that it would work in 19.1, but not 19.2. The only thing that changed is https://github.com/aurutils/aurutils/commit/6f9181710f616699ef2b6f2a2ba7ac571ea393c9
Does reverting that commit fix the issue?

6f9181710f616699ef2b6f2a2ba7ac571ea393c9 is bork while eb664e70101e72d639d4ef5446d35b55db232deb works fine.

Fixed in 19.3

Cleared the mystery: type -P prints the command name to standard output, and this resulted in aur chroot --status printing six lines instead of the (expected) three. This in turn leads to a SIGPIPE in wait $!: https://github.com/aurutils/aurutils/blob/master/lib/aur-build#L226
Using hash or command -p as suggested on IRC would help, or just redirect standard output to /dev/null. That said, I think adding these diagnostics - when the required commands can easily be retrieved from say, pacman -F - was premature anyway.
I've added an additional error message to avoid future confusion: db906f3cf39efdaeee9406a23986844d969757af


feature: container option

Q
A

Documentation
yes

BC Break
no

New Feature
yes

Description

With this feature, one can provide --container=<path> to provide a PSR-11 container which is not in a file called config/container.php.
The original idea behind this feature is, that I can create a generic PSR-11 container file which then parses the current project for a file ConfigProvider so it can automagically provide a container for that component without having to copy & paste that file to all components while creating a directory called config which has to be added to my global .gitignore.
<?php
declare(strict_types=1);

if (!file_exists('composer.json')) {
    throw new RuntimeException('Missing `composer.json`!');
}

$composer = json_decode(file_get_contents('composer.json'), true, 512, JSON_THROW_ON_ERROR);
$configProviderClassName = $composer['extra']['laminas']['config-provider'] ?? '';
if ($configProviderClassName === '') {
    throw new RuntimeException('There is no laminas `config-provider` configuration within the `composer.json`!');
}

if (!class_exists($configProviderClassName)) {
    throw new RuntimeException('Laminas `config-provider` configuration within the `composer.json` contains invalid class name!');
}

$configProvider = new $configProviderClassName;
if (!is_callable($configProvider)) {
    throw new RuntimeException('Laminas `config-provider` is not callable!');
}

$config = $configProvider();
$dependencies = $config['dependencies'] ?? [];
$serviceManager = new \Laminas\ServiceManager\ServiceManager($dependencies);
$serviceManager->setService('config', $config);
$serviceManager->setAlias('Config', 'config');

return $serviceManager;

This actually works fine in almost all (laminas) components which provide a config-provider information within the composer.json.
I can re-use that file stored wherever I like tho and have a configured service manager (until the components has it either required as production or dev dependency).
Imho, thats super helpful - may I should add this somewhere to the docs aswell?
Thoughts, @michalbundyra @weierophinney?
Fixes #63

@michalbundyra I've reverted the changes you noted. If the changes are fine for you and if @weierophinney gives me the okay, I'd add this to 1.1.0 and ship it.


Target aot_android_asset_bundle failed: IconTreeShakerException: Invalid ConstFinder result.

Steps to Reproduce

Execute flutter build apk -v

Expected results: APK file created
Actual results: Error
Target aot_android_asset_bundle failed: IconTreeShakerException: Invalid ConstFinder result.

I tried different versions of Flutter SDK and always got the same error above. Here are more details
--elf=/Users/borismisic/AndroidStudioProjects/how_flutter_creates_new_project1/.dart_tool/flutter_build/436f5bc7d9abfe781831a5d2c1bf5d27/x86_64/app.so --strip
/Users/borismisic/AndroidStudioProjects/how_flutter_creates_new_project1/.dart_tool/flutter_build/436f5bc7d9abfe781831a5d2c1bf5d27/app.dill
[ +303 ms] [ +313 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[ +198 ms] [ +245 ms] Running command: /Users/borismisic/Developer/SDKs/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/Users/borismisic/Developer/SDKs/flutter/bin/cache/artifacts/engine/darwin-x64/const_finder.dart.snapshot --kernel-file
/Users/borismisic/AndroidStudioProjects/how_flutter_creates_new_project1/.dart_tool/flutter_build/436f5bc7d9abfe781831a5d2c1bf5d27/app.dill --class-library-uri
package:flutter/src/widgets/icon_data.dart --class-name IconData
[+32901 ms] [+32894 ms] android_aot_release_android-x64: Complete
[+1099 ms] [+1047 ms] android_aot_release_android-arm: Complete
[ +699 ms] [ +700 ms] android_aot_release_android-arm64: Complete
[ +101 ms] [  +99 ms] Persisting file store
[        ] [  +10 ms] Done persisting file store
[   +2 ms] [  +23 ms] Target aot_android_asset_bundle failed: IconTreeShakerException: Invalid ConstFinder result. Expected "fontPackage" to be a String, "fontFamily"
to be a String, and "codePoint" to be an int, got: {codePoint: 0, fontFamily: null, fontPackage: null, matchTextDirection: false}.
[   +4 ms]            To disable icon tree shaking, pass --no-tree-shake-icons to the requested flutter build command
[        ]            #0      IconTreeShaker._parseConstFinderResult (package:flutter_tools/src/build_system/targets/icon_tree_shaker.dart:311:9)
[        ]            #1      IconTreeShaker._findConstants (package:flutter_tools/src/build_system/targets/icon_tree_shaker.dart:299:12)
[        ]            <asynchronous suspension>
[        ]            #2      IconTreeShaker._getIconData (package:flutter_tools/src/build_system/targets/icon_tree_shaker.dart:112:45)

I have the same error regardless of what I build: apk, appbundle or ipa.
Flutter build generates all this files if I add option --no-tree-shake-icons. Also I don't have any problem to build debug versions, only release.
I tried everything,
flutter clean
flutter pub get
I created the project from scratch and copied everything relevant from old project to new and still the same error.
Please ask me for more details if you need it.

Logs
`flutter analyze` outputs only info type messages; there are are no errors or warnings

[✓] Flutter (Channel stable, 2.10.5, on macOS 12.4 21F79 darwin-x64, locale en-CA)
    • Flutter version 2.10.5 at /Users/borismisic/Developer/SDKs/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (7 weeks ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/borismisic/Library/Android/sdk
    • Platform android-32, build-tools 32.0.0
    • ANDROID_HOME = /Users/borismisic/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/borismisic/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.67.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (2 available)
    • iPhone 13 Pro Max (mobile) • 0F5D4584-E3CE-4D9D-BDBB-F139A8B12FBA • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 102.0.5005.61
    ! Error: Boris’s iPhone is not connected. Xcode will continue when Boris’s iPhone is connected. (code -13)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Here is the content of my pubspec.yaml file without top part which is irrelevant

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  # cupertino_icons: ^0.1.3
  http: ^0.13.4
  syncfusion_flutter_calendar: 20.1.50
  syncfusion_flutter_datepicker: 20.1.50
  syncfusion_flutter_core: 20.1.50
  intl: ^0.17.0
  flutter_local_notifications: ^9.5.3+1
  provider: ^6.0.3
  sqflite_sqlcipher: ^2.1.1
  visibility_detector: ^0.2.2
  synchronized: ^3.0.0+2
  local_auth: ^2.1.0
  font_awesome_flutter: ^10.1.0
  email_validator: ^2.0.1
  package_info_plus: 1.4.2
  connectivity_plus: ^2.3.2
  device_info_plus: 3.2.3
  crypto: ^3.0.1
  flutter_html: 2.2.1
  url_launcher: ^6.1.2
  flutter_inappwebview: ^5.4.3+7
  html_unescape: ^2.0.0
  signalr_core: ^1.1.1
  collection: ^1.15.0
  firebase_core: 1.12.0
  firebase_messaging: 11.2.6
  flutter_native_timezone: ^2.0.0
  webview_flutter: 2.8.0
  material_design_icons_flutter: ^5.0.6595
  html_editor_enhanced: 2.4.0+1
  encrypted_shared_preferences: ^3.0.0
  jwt_decoder: ^2.0.1
  flutter_native_splash: ^2.0.5
  geolocator: ^8.2.1
#  fk_user_agent: 2.1.0
  flash: ^2.0.3+2
  flutter_chat_bubble: ^2.0.0

dev_dependencies:
  flutter_test:
    sdk: flutter

dependency_overrides:
  # The following honors dependency for local_auth
  # flutter_plugin_android_lifecycle: ^2.0.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - assets/cfg/
    - assets/images/
    - assets/localizations/
  #   - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages
flutter_native_splash:
  color: "#2196F3"
  image: "assets/images/splash-icon.png"

@misici234
Check if this solution helps for your case.

@darshankawar I checked the link above and I don't know how to find those functions. I tried arbitrarily to apply pragma directive but it hasn't made any difference.
It used to work for a long time without this error. I recently started to get it. I guess VM stands for Virtual Machine but I don't know why I should use pragma directive.

FYI, I also removed
font_awesome_flutter: ^10.1.0
material_design_icons_flutter: ^5.0.6595

from my pubspec.yaml file and all references to it but it still didn't make any difference.

Hi @misici234, can you try running the build command like below to see if it works?
flutter build apk -v --no-tree-shake-icons

@danagbemava-nc  yes it works with --no-tree-shake-icons switch.
It doesn't work in release for any of apk, appbundle, ipa builds.
Debug builds are OK.

Hi @misici234, are you by any chance using the IconData class directly in your project?
This error is usually caused by using the IconData class without providing the necessary information. The reason it works in debug mode is because Icon tree shaking doesn't happen in debug mode.

@danagbemava-nc Yes, I'm. I found
IconData(0)
in my project and as soon as I replaced it with Icons.whatever_here, this problem disappeared.
Thank you very much for solving with issue for me!

Glad that helped.
Closing this as solved based on https://github.com/flutter/flutter/issues/105535#issuecomment-1154306373.
Thank you


Build with the changes from pull request 1027

I noticed this while making #1037. It seems like the changes that were merged in #1027 never got built.

Thanks :)


Support configuration of thread counts in Triton

When using ORT configured without OpenMP, Triton needs to expose configuration of thread count. Currently it's hardcoded to 1.


Automated Package Upgrade

:tada: This PR is included in version 25.4.127 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Destroy arrows when updating them

Arrows are destroyed when the map is updated to not show them and cleanup gpu memory.
Signed-off-by: Arnaud Fiorini<EMAIL_ADDRESS>

I need to re-review. Not sure how to unaprove.


Syntax error on dart compile

I'm using the latest version of Dart (1.9.1) and the compiled javascript results to a syntax error on line 49502 of main.dart.js.
49502: ...a,Nf,JCx,OGh,YWs,pHq,LPx]}parseReflectionData(dart)
is missing a semicolon before parseReflectionData:
49502: ...a,Nf,JCx,OGh,YWs,pHq,LPx]};parseReflectionData(dart)

Filed a bug against dart/dart2js:
https://code.google.com/p/dart/issues/detail?id=23042

Until the dart issue is closed, users may manually add this semi-colon, or download the pre-compiled dart output from here:
https://github.com/Netflix/security_monkey/releases/download/lsv0.3.4/static.tar

I'm sorry for that.
It is fixed in bleeding edge (and has been for some time). I just forgot to cherry-pick it into 1.9.
I will see if we can make a 1.9.1 bugfix release (or similar).

I pre-compiled the output with dart 1.8.5 and attached a .tar.gz to the latest release:
https://github.com/Netflix/security_monkey/releases/tag/v0.3.5
Thanks @floitschG for getting this into ~1.9.1.


fix(seprator): add hasRole input to separator

Description
Because the lg-separator is mainly used as a decoration we have decided to have it hidden to screen readers by default with the option of adding the role of separator via the input hasRole.
This change will remove the default role from the element but I don't think it's a breaking change to have the role or not.
Link to the discussion: #139
Storybook link: (once netlify has deployed link provide a link to the component)
Checklist:

[x] The commit messages follow the convention for this project
[x] I have provided an adequate amount of test coverage
[ ] I have added the functionality to the test app
[x] I have provided a story in storybook to document the changes
[x] I have provided documentation in the notes section of the story
[ ] I have added any new public feature modules to public-api.ts
[ ] I have linked the new component to adobe DSM (if appropriate)

May be missing something here, but I'm just wondering if we definitely need this to be an input? Would it still work if we manually added the role to the component when using it, without having it as an Angular input - just a regular HTML attribute?
E.g. <lg-seperator role="seperator"></lg-seperator>
If so, part of me is wondering if this is more intuitive? 🤔

May be missing something here, but I'm just wondering if we definitely need this to be an input? Would it still work if we manually added the role to the component when using it, without having it as an Angular input - just a regular HTML attribute?
E.g. <lg-seperator role="seperator"></lg-seperator>
If so, part of me is wondering if this is more intuitive? 🤔
What do you think?

I thought about that and decided to go with the input instead. Major reason is that if you add the role yourself you will also have to override the aria-hidden="true" that we set by default and I feel like that is an overhead and very prone to errors. Adding the aria-hidden by default seem the right thing to me as it will stop screen readers reading an unnecessary element.


Add shortcut for keybinds script

This is a follow-up of:
Add script to show keybinds

Please add hacktoberfest-accepted label to this PR.


add more CI steps

add tests for C++ versions
add tests ci_cmake_flags, ci_single_binaries, ci_reproducible_tests, ci_non_git_tests, and ci_offline_testdata
only check pushes to default branches

Coverage remained the same at 99.982% when pulling d927f44576ebbffcef7f2085ace9694cb4cbbd93 on ci_matrix into f268035946341113eec63ebed33fedaaecb357d8 on develop.


How can I access a checkbox's value on success?

I want to add some logic that depends on a checkbox (I want to close modals if we don't want to add another). How can I access the checked attribute of my field? The following does not work, as getFieldValue returns undefined (the actual value attribute, not checked):
AutoForm.addHooks(['insertArtistForm'], {
  onSuccess: function(formType, result){
    var addAnother = AutoForm.getFieldValue("addAnother");
    console.log(addAnother);
    if(!addAnother){
      $('.modal').modal('hide');
    }
  }
});

I should mention that I didn't add the checkbox to the Schema of the artist. I don't want it to be saved, so I should not put it in the Schema, right?

You can try
var addAnother = AutoForm.getFieldValue("addAnother", "FormId");

maybe that will work, can't test right now, sry.
Also why not get the value from the 'before' hooks if you use type=update/insert/
AutoForm.addHooks(['insertArtistForm'], {
  before: {
    formType(insert or update): function(doc) {
      var addAnother = doc.addAnother;
    }
  }
});

Or in the 'onSumbit' hook if the form type is 'normal'
AutoForm.addHooks(['insertArtistForm'], ({
  FormId: {
    onSubmit: function (insertDoc, updateDoc, currentDoc) {
      currentDoc = currentDoc.addAnother;
      // or mb var addAnother = AutoForm.getFieldValue("addAnother");
    }
  }
});

I should mention that I didn't add the checkbox to the Schema of the artist. I don't want it to be saved, so I should not put it in the Schema, right?

Does it work?
You can put it in the Schema, add 'optional = true' attribute to the Schema element and remove it from the doc in those before/onSubmit hooks from the doc/form.
Books.attachSchema(new SimpleSchema({
....
  addAnother: {
    ....
    optional = true,
    ....
  },
....
}));

AutoForm.addHooks(['insertArtistForm'], {
  before: {
    formType(insert or update): function(doc) {
      //removedoc.addAnother
    }
  }
});

I ended up with a solution that uses this.event to get to the checkbox. It saves add another as a Session variable in the before hook. In the onSuccess hook it gets it from the Session. I found out that the form will be erased at the onSuccess hook, so you will always end up with addAnother = false. Here's my code:
AutoForm.addHooks(['insertArtistForm', 'insertGenreForm', 'insertProductionForm'], {
  before: {
    insert: function(doc){
      var addAnother = this.event.target.addAnother.checked;
      Session.set("addAnother", addAnother);
      return doc;
    }
  },
  onSuccess: function(formType, result){
    if(!Session.get("addAnother")){
      $('.modal').modal('hide');
    }
  }
});

As you can see I can now use this hook on multiple forms without changing the schemas. Exactly what I want, except for one tiny hickup. Every time I set addAnother to true, it defaults back to false, so I have to set it everytime I want to add another. Now I'm thinking: maybe there's another way that's better. Is there a way to prevent a field from being reset after submit?
Something like the following would be the perfect solution, but I don't know if it's possible:
AutoForm.addHooks(['insertArtistForm', 'insertGenreForm', 'insertProductionForm'], {
  onSubmit: function(formType, result){
    AutoFormgetField("addAnother").preventReset(true);
  }
});

You said before that you didn't add 'addAnother' to the Schema, bc you don't want to add it to the artist Collection, then why not take the checkbox out of the autoform and make a separate checkbox outside with a simple Template event?

If You for some reason need the checkbox in the autoform then You could use 'autoform' type Autoforms (https://github.com/aldeed/meteor-autoform#autoform-1) 'resetOnSuccess' option to turn off the reset of all form fields and the reset all the necessary fields in the 'OnSuccess' hook.

The last solution would defeate my purpose of being able to use this in any form without having to rewrite code. Or is there a way to loop over the fields and reset them if they are not my field?

Perhaps something like the following example:
//test.html

Welcome to Meteor!

  {{> test}}

<template name="test">
  {{> quickForm collection="TestColl" id="testForm" type="insert" resetOnSuccess=false}}
</template>

// test.js

TestColl = new Mongo.Collection('test');
TestColl.attachSchema(new SimpleSchema({
  title: {
    type: String
  },
  anotherElem: {
    type: Number
  },
  checkBox: {
    type: Boolean,
    optional: true
  }
}));

if (Meteor.isClient) {
  AutoForm.hooks({
    testForm: {
      before: {
        insert: function(doc) {
          doc.checkBox = undefined;
          return doc;
        }
      },
      onSuccess: function(formType, result) {
        var keys = _.without(this.ss._schemaKeys, 'checkBox');

        $('#testForm :input').each(function() {
          if(_.contains(keys, this.name)) {
            $(this).val('');
          }
        });
      }
    }
  });
}

(used jquery and underscore)


Direct upgrade from 0.7.x -> 0.10 does not work

In the past, we have been pretty good at supporting upgrades from any version to any version. However, we do state in the docs that minor updates should be done one-at-a-time (see here).
Currently, when upgrading from 0.7.x -> 0.10 you'll see the following errors:
Migrations: Creating database backup

ERROR: select count(distinct posts.id) as aggregate from "posts" where "posts"."visibility" = 'public' and "posts"."page" = true and "posts"."status" = 'published' - SQLITE_ERROR: no such column: posts.visibility

Error: select count(distinct posts.id) as aggregate from "posts" where "posts"."visibility" = 'public' and "posts"."page" = true and "posts"."status" = 'published' - SQLITE_ERROR: no such column: posts.visibility
at Error (native)

I believe that this is caused by the sitemap trying to generate when Ghost boots into maintenance mode whilst the migrations run. This is an oversight, as the API calls should fail (but don't because they are internal rather than HTTP which triggers the middleware). The updates to the sitemap to use visibility in 0.10 are the reason why this is suddenly causing a problem and wasn't before. The sitemap should not initialise until after maintenance mode is finished.
I am not sure that this is a bug that warrants fixing. The workaround is to properly upgrade through the minor versions, from 0.7.x to 0.8 and then 0.9 and 0.10. This is a pain, but we are already working on alternative upgrade strategies for the future. For now, this is probably worth a short investigation to see if there is a quick fix.

will look into quickly

as @ErisDS  has guessed, sitemap generation requests the database before the migration has finished. will create a PR with a fix on sunday/monday. sorry for trouble!

Just hit this exact problem when upgrading from 0.7.1 to 0.10.
As a workaround, upgrading 0.7.1 -> 0.9.0 -> 0.10 worked for me.

Just to reiterate, our official recommendation is always to upgrade through each minor version one at a time (so 0.7.1 -> 0.8 -> 0.9 -> 0.10)
Even more importantly, it is recommended to manually run Ghost using npm start --production the first time, so that you can monitor the progress of each upgrade.