Quartz Rebrand

Pull Request
Description
Update logo and branding to match new Quartz name/style.
Fixes #362
How Has This Been Tested?
Tested on Vercel staging preview deployment
Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my code and corrected any misspellings

would you be able to do the full QA?

Will do first thing Wednesday morning @peterdudfield 👍 unless @rachel-labri-tipton fancies running through the UAT in my absence tomorrow - but I would not blame anyone for not jumping to do it... 😂

hey @peterdudfield and @braddf, I'd be willing to walk through the QAT today as a pre-flight check to flag anything before @braddf does the final sign off tomorrow. Is the checklist just the list in the original issue #362?

oh good point @rachel-labri-tipton - I had forgotten there was that list on the issue also, definitely that one needs "checking off", but I was thinking of the full UAT thing we use on releases usually, a la Dashboard Mode PR for reference - is that what you meant as well @peterdudfield or..?

@rachel-labri-tipton @peterdudfield have just done the UAT and all looks good! Fixed a couple of bits, some of which were actually broken/missing for a long time before (maybe pre-Brad tbh haha)
Permission to merge? 🙏


Send logs to a remote service

From the thoughtbot deployment playbook -- https://playbook.thoughtbot.com/#log-collection
The free option is the way to go.

I spun up a heroku logentries (tryit version, so free as hell) for our staging and prod environments. Not sure that they're working yet but I'll keep an eye on them tonight and see what happens.

We're in business. Closing.


Godot 4.0 Editor: Debug instances crashed

Godot version
v4.0.beta.custom_build.972242d66
System information
Windows 11, Vulkan
Issue description
I'm debugging multiplayer with 4 instances. When I run the project, it often created 2 or 3 sometimes 1 instance.

I have debugged the editor. I found the editor succeed to create instances but these instances may crash immediately with logs:
================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.0.beta.custom_build (972242d6644ccd65160c919867b58e90bac415c2)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
[0] GetHotPatchInfo
[1] GetHotPatchInfo
[2] GetHotPatchInfo
[3] GetHotPatchInfo
[4] GetHotPatchInfo
[5] GetHotPatchInfo
[6] LoadLibraryExA
[7] LoadLibraryA
[8] embree::TaskScheduler::removeScheduler
[9] embree::TaskScheduler::removeScheduler
[10] <couldn't map PC to fn name>
[11] <couldn't map PC to fn name>
[12] embree::TaskScheduler::removeScheduler
[13] <couldn't map PC to fn name>
[14] <couldn't map PC to fn name>
[15] <couldn't map PC to fn name>
[16] <couldn't map PC to fn name>
[17] <couldn't map PC to fn name>
[18] <couldn't map PC to fn name>
[19] embree::TaskScheduler::removeScheduler
[20] BaseThreadInitThunk
-- END OF BACKTRACE --
================================================================

I'm not digging into the stack. These logs look like that it failed to create vulkan environment. Debug instances may be created too fast.
So I appended a delay (100ms) after create instance. Then the problem is gone:
File Path: /editor/editor_run.cpp:272
	int instances = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_instances", 1);
	for (int i = 0; i < instances; i++) {
		OS::ProcessID pid = 0;
		Error err = OS::get_singleton()->create_instance(args, &pid);
		ERR_FAIL_COND_V(err, err);
		pids.push_back(pid);
		OS::get_singleton()->delay_usec(100000);

Steps to reproduce
Just press the Run Project button.
Minimal reproduction project
Don't need

I was going to say you're most likely running out of VRAM, but then you said a delay fixes it...?

I was going to say you're most likely running out of VRAM, but then you said a delay fixes it...?

I have 32 GiB physical memory and it only used <= 10 GiB.

@kdada Please upload a minimal reproduction project to make this easier to troubleshoot.

@Calinou uploaded a 2D project. The problem still exists.
More info:
CPU: Intel i9 12900KF
RAM: 32GiB
Disk: 1TiB NVMe
GPU: GTX1060 3GiB

@Calinou I bypassed the problem by adding a new project setting to set the interval at which instances are created. But I don't know if you will accept it.
https://github.com/kdada/godot/commit/f46817c7220e8cda7ec3900666ac2bdf13cde319

================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.0.beta.custom_build (069fcee7e17160af033f6871f27633129d764234)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
[0] GetHotPatchInfo
[1] GetHotPatchInfo
[2] GetHotPatchInfo
[3] GetHotPatchInfo
[4] GetHotPatchInfo
[5] GetHotPatchInfo
[6] LoadLibraryExA
[7] LoadLibraryA
[8] volkInitialize (C:\Users\Kira\Documents\GitHub\godot\thirdparty\volk\volk.c:48)
[9] VulkanContext::initialize (C:\Users\Kira\Documents\GitHub\godot\drivers\vulkan\vulkan_context.cpp:2055)
[10] DisplayServerWindows::DisplayServerWindows (C:\Users\Kira\Documents\GitHub\godot\platform\windows\display_server_windows.cpp:3826)
[11] DisplayServerWindows::create_func (C:\Users\Kira\Documents\GitHub\godot\platform\windows\display_server_windows.cpp:3927)
[12] DisplayServer::create (C:\Users\Kira\Documents\GitHub\godot\servers\display_server.cpp:871)
[13] Main::setup2 (C:\Users\Kira\Documents\GitHub\godot\main\main.cpp:1967)
[14] Main::setup (C:\Users\Kira\Documents\GitHub\godot\main\main.cpp:1848)
[15] widechar_main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:164)
[16] _main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:203)
[17] main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:217)
[18] WinMain (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:231)
[19] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[20] BaseThreadInitThunk
-- END OF BACKTRACE --
================================================================

I've dug into this issue. But couldn't find the reason. I'm documenting my troubleshooting journey for others to refer to.
First, according to the log of the program crash, I found the code (at the same time I added some log code):
# /godot/thirdparty/volk/volk.c:48
printf("try to load vulkan-1.dll");
HMODULE module = LoadLibraryA("vulkan-1.dll");
printf("loaded vulkan-1.dll");

This points to the vulkan-1.dll library. I found the code of vulkan: https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/loader_windows.c#L94
As far as I know, LoadLibrary calls DllMain, so I added log codes in DllMain:
# /loader/loader_windows.c:94
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) {
    switch (reason) {
        case DLL_PROCESS_ATTACH:
            printf("vulkan-1.dll attach ===> %p %d <===\n\n", hinst ,reason);
            loader_initialize();
            printf("vulkan-1.dll attach ===> %p %d <===\n\n", hinst ,reason);
            break;
        case DLL_PROCESS_DETACH:
            printf("vulkan-1.dll detach ===> %p %d %p<===\n\n", hinst ,reason, reserved);
            if (NULL == reserved) {
                loader_release();
            }
            printf("vulkan-1.dll detach ===> %p %d %p<===\n\n", hinst ,reason, reserved);
            break;
        default:
            // Do nothing
            break;
    }
    return TRUE;
}

Then run Godot, and from the logs, DllMain seems to be running normally. The program crashes after DllMain, before LoadLibrary returns.
The log is as follows（3 instances and 1 of them crashed）:
Godot Engine v4.0.beta.custom_build.89e4fdfb0 - https://godotengine.org
try to load vulkan-1.dllvulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

vulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

try to load vutlrkya nt-o1 .ldolald vulkan-1.dllvulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

vulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

vulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

=====vulkan-1.dll attach ===> 00007FFDE73D0000 1 <===

===========================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.0.beta.custom_build (89e4fdfb021eb7e5d510210820553984ba51ceea)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
loaded vulkan-1.dllloaded vulkan-1.dllVulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1060 3GB
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1060 3GB
[0] GetHotPatchInfo
[1] GetHotPatchInfo
[2] GetHotPatchInfo
[3] GetHotPatchInfo
[4] GetHotPatchInfo
[5] LoadLibraryExA
[6] LoadLibraryA

[7] volkInitialize (C:\Users\Kira\Documents\GitHub\godot\thirdparty\volk\volk.c:49)
[8] VulkanContext::initialize (C:\Users\Kira\Documents\GitHub\godot\drivers\vulkan\vulkan_context.cpp:2055)
[9] DisplayServerWindows::DisplayServerWindows (C:\Users\Kira\Documents\GitHub\godot\platform\windows\display_server_windows.cpp:3826)
[10] DisplayServerWindows::create_func (C:\Users\Kira\Documents\GitHub\godot\platform\windows\display_server_windows.cpp:3927)
[11] DisplayServer::create (C:\Users\Kira\Documents\GitHub\godot\servers\display_server.cpp:871)
[12] Main::setup2 (C:\Users\Kira\Documents\GitHub\godot\main\main.cpp:1967)
[13] Main::setup (C:\Users\Kira\Documents\GitHub\godot\main\main.cpp:1848)
[14] widechar_main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:164)
[15] _main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:203)
[16] main (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:217)
[17] WinMain (C:\Users\Kira\Documents\GitHub\godot\platform\windows\godot_windows.cpp:231)
[18] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[19] BaseThreadInitThunk
-- END OF BACKTRACE --
================================================================

From the log, every time vulkan-1.dll is loaded, DLL_PROCESS_ATTACH is executed twice. But due to Windows mechanism, DllMain will be called very many times depending on the number of threads.
Then I wrote a simple program to verify that LoadLibrary is called in a single thread. Launch multiple instances at the same time without crashing.
#include <Windows.h>
#include <stdio.h>

void main() {
printf("load vulkan\n");
HMODULE module = LoadLibraryA("vulkan-1.dll");
printf("loaded vulkan\n");
Sleep(1000000);
}

@echo OFF
FOR %%x IN (1 2 3 4 5 6 7 8 9) DO start main.exe
PAUSE
````n. I record the


[YUNIKORN-966] Retrieve the username from the SparkApp CRD

What is this PR for?
get the user label on the SparkApp CRD objects
What type of PR is it?

[ ] - Bug Fix
[x] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/projects/YUNIKORN/issues/YUNIKORN-966
How should this be tested?
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

@craigcondit Thanks for your review.
I would like some clarifications.
I have no idea how to test GetProxyUser().

With the changes that we have made for user retrieval via YUNIKORN-1306 I think we need to rethink what we do here. Can the change to retrieve the user from the CRD be rolled into the admission controller?

We need to rethink this approach inline with the changes that we have made for user retrieval via YUNIKORN-1306
Closing


FBX format (deserialize)

I came to ask instructions on implementing custom "parsers", I did not look closely in an IDE, but by glancing on GH I'm not sure how the loaders resolve to one type or another. Could you give pointers?
Thanks, I just started using three-d and I love its flexibility

Thank you for the kind words 🙏 Sounds great you want to give it a go and yes, you found the right spot. And I think you should not worry too much about wasm. Of course there are some limitations on web (no threads for example) but if it works on native, it should be straight forward to get it to work on web.

Nice I got a very basic version working (no object transforms, no materials) using the fbxcel crate.
I just found Amient's implementation: https://github.com/AmbientRun/Ambient/tree/main/crates/model_import/src/fbx
It looks quite feature complete and I will take inspiration from it for the materials this weekend! I'll propose a PR then or early next week


Which license is used for XCC

First of all, thanks for this project. For my particular WASM use case, I've been looking for something between the lightning fast but outdated TCC and the unbearingly slow but solid LLVM. XCC seems to meet most requirements and is super fast!
I couldn't find a LICENSE file in the repository or in the repository details though. I just wanted to clarify under which OSS license this project is released.
The package.json file seems to mention MIT:
https://github.com/tyfkda/xcc/blob/bdddc1c75e0026887e037454fda23dcac7d67208/package.json#L24
Does this mean the entire codebase is MIT licensed?

@ijsf Thank you for your interest in my project.
I forgot to specify the license until now.
I have added the MIT license file, so please take a look.

Excellent, thanks!


NEXT-9188 - Add empty state to sw-property-search result list

1. What does this change do, exactly?
Shows an empty state in the sw-property-search when no results are found.
2. Describe each step to reproduce the issue or behaviour.

Visit the product edit page in the Administration.
Click on tab 'property assignment'
Search for the 'Available properties'
Type a non-existing searchphrase.

3. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

This is how it looked:

This is how it looks now:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

You need to sign in the CLA.


React's ComponentProps type issues in TypeScript 5.6.2

🔎 Search Terms
react, forwardRef, component props, ComponentProps
🕗 Version & Regression Information

This changed between versions 5.5.4 and 5.6.2 - but in version 5.5.4 there are other related bugs 🤷♂

⏯ Playground Link
https://www.typescriptlang.org/play/?jsx=4&ts=5.6.2#code/JYWwDg9gTgLgBAbwLACg5xgTzAUzgUQBscQcA7GAFWxwBpV0tc4BhCcCM8mABSgjABnemgw1W7SFwp8BggOrAYACwgBXGACUcAMxGNxbDtKo19cHdADuAQygATbTrg3BcAEaucAMWt3HuuZMeL5Qtg5O2mT2OFDeamQAxjDAnEHiTiIAvhb8IHAA5FA4NskFANyoqDoJyalkFn4RugA8lLRwPAB8ABQMcImSnNwAXHA9YPxCYzwdxTpjTm1dAJRwALxdcNqlMAB0O8kAchAxIitjE1OCM3AAZIjzAPyLrZRdWWub2yXJB78wE4xRD9YowNRQBqeQQ+JoBHR9UToQbGbguNwJADWZAgVgarjgoXC8KiMTitRSnBaWJxeI6NNxZC65hWlRQWSqKGCElRFEUKiJ-icsiEbTgOAAHjByPY3EQSNxqLgtut+kYpNwRQolKoNEt3vcQUiBoRXIIjjZSC84IIYFBgGQAOZs9DoVzWyhwAA+cASMR0Dpw9hdcCybNQgzItp5Gr5OsFzWc60aYSFukR6DFkul0TlxFIFCVeGTBUEYBsZAKvX66EmcjG6uGcYFcOF12W5nQ81eOhaAAlKABZAAy8oLMGZ-S+W2QxrBEIaZDUhEIIay53DXPElBwtuWGzgnuzMrcCBRsZg1odOliMabMA5oied5M4qlJ5fipoLQrmC6NbgZ9GxMLUWmA7h-2NMYuAAN1ifpoJwOCoE3bltEEZcYAARgPcCZHbYIIGcPCYH5ZQE3hLpyjgAB6GiMGUPBigwwh4GANwrBwYAHGoqxlEwOAAAMAHkQCUH8yEwDoil0KtBKeVA0N3TCACYDx3PczyGEwxkI4jtO4MiKKcLIqNo+iVCY5TWLgdiBmgYpkjGc971LOBoGAR0HRsQg4DrIQ4AAajgeY-KmPZUCAA
💻 Code
I noticed that when using custom forwardRef function (I use it so my generic components are typed correctly), I get different results in these two situations:
import {
  type ElementType,
  type ComponentProps,
  type ComponentPropsWithoutRef,
  type ComponentType,
  forwardRef as baseForwardRef,
  type ForwardRefRenderFunction,
  type Ref,
} from 'react';

// setup code
function forwardRef<T, P>(
  component: (props: P, ref: Ref<T>) => React.ReactNode,
): (props: P & {ref?: Ref<T>}) => React.ReactNode {
  return baseForwardRef(
    component as unknown as ForwardRefRenderFunction<unknown, unknown>,
  );
}

type FooProps<T extends ElementType> =
  ComponentPropsWithoutRef<T> & {
    className?: string;
    as?: T | undefined;
  };

const Foo = forwardRef(
  <T extends ElementType = 'span'>(
    props: FooProps<T>,
    ref: Ref<HTMLElement>,
  ) => {
    return null;
  },
);

type Test<T> = T extends infer Component
  ? Component extends ComponentType<any>
    ? ComponentProps<Component>
    : never
  : never;

type Result1 = ComponentProps<typeof Foo>; // the result is weird: why `Omit<any, 'ref'>`?
type Result2 = Test<typeof Foo>; // the result is correct: Foo's original props + ref prop.
import {
  type ElementType,
  type ComponentProps,
  type ComponentPropsWithoutRef,
  type ComponentType,
  forwardRef as baseForwardRef,
  type ForwardRefRenderFunction,
  type Ref,
} from 'react';

function forwardRef<T, P>(
  component: (props: P, ref: Ref<T>) => React.ReactNode,
): (props: P & {ref?: Ref<T>}) => React.ReactNode {
  return baseForwardRef(
    component as unknown as ForwardRefRenderFunction<unknown, unknown>,
  );
}

type FooProps<T extends ElementType> =
  ComponentPropsWithoutRef<T> & {
    className?: string;
    as?: T | undefined;
  };

const Foo = forwardRef(
  <T extends ElementType = 'span'>(
    props: FooProps<T>,
    ref: Ref<HTMLElement>,
  ) => {
    return null;
  },
);

type Test<T> = T extends infer Component
  ? Component extends ComponentType<any>
    ? ComponentProps<Component>
    : never
  : never;

// ⚠ different results
type Result1 = ComponentProps<typeof Foo>; // the result is weird: why `Omit<any, 'ref'>`?
type Result2 = Test<typeof Foo>; // the result is correct: Foo's original props + ref prop.

🙁 Actual behavior
Type Result1 is wrong:
type Result1 = Omit<any, "ref"> & {
  className?: string;
  as?: ElementType | undefined;
} & {
  ref?: Ref<HTMLElement> | undefined;
}

and Result2 is correct:
type Result2 = PropsWithoutRef<ComponentProps<T>> & {
  className?: string;
  as?: T | undefined;
} & {
  ref?: Ref<HTMLElement> | undefined;
}

🙂 Expected behavior
Types Result1 and Result2 are same:
type Result = PropsWithoutRef<ComponentProps<T>> & {
  className?: string;
  as?: T | undefined;
} & {
  ref?: Ref<HTMLElement> | undefined;
}

Additional information about the issue
No response

Result2 is not correct. It leaks T and that shouldn't happen. It's the other result that is correct, you can double-check that on 5.4 by checking the types resolved based on the result of your custom forwardRef call and based on the results of "the same" inlined type (I copy-pasted its computed definition): TS playground
As we can see here, all 4 results are:
type Result = Omit<any, "ref"> & {
    className?: string | undefined;
    as?: ElementType | undefined;
} & {
    ref?: Ref<HTMLElement> | undefined;
}

If we now switch this playground to 5.6.2 then we'll see one of those going rogue (the one that you assumed is correct): TS playground

A reasonable self-isolated repro: TS playground

Huh, interesting. Thank you for the investigation.

`` ceb4951646b978c517240e7bf43517a53d969c25

We'd really need a much shorter repro to be able to prioritize this

additional repro:
function withP3<P>(p: P) {
  const m =
    <I,>(from: I) =>
    <I2,>(from2: I2) => ({ ...from, ...from2, ...p });
  return createTransform(m);
}

const addP3 = withP3({ a: 1 });
const addedSome3 = addP3({ b: '' });
const added3 = addedSome3({ c: true });

const addP3_other = withP3({ foo: 'bar' });
const addedSome3_other = addP3_other({ qwerty: 123 });
const added3_other = addedSome3_other({ bazinga: true });

We can see here { a: number } leaking from the first "chain" of instantiations into the second "chain".
I have a fix for both here: https://github.com/microsoft/TypeScript/pull/59972 :)

Great job as usual, thank you @Andarist!

- [ ]

Details

Vv


feat: Adding support for ALPN policies

Description
I have a project on my company where we needed to be able to set ALPN policies for the target group attachments since we support some legacy apps. I added the Ability to add that value inside the map that you send to the module:
{
    action_type        = "forward"
    port               = 443
    protocol           = "TLS"
    target_group_index = 2
    certificate_arn    = "arn:aws:acm:us-west-2:1234567890:certificate/b123456789...."
    alpn_policy        = "HTTP2Optional"
 }

Motivation and Context
It adds capacity to map ALPN policies to target groups.
How Has This Been Tested?

I tested this change in my enviornment and it is working as expected using NLB's.

The plan now outputs to this when the alpn_policy is set:
https_listeners = [
  {
    action_type        = "forward"
    port               = 443
    protocol           = "TLS"
    target_group_index = 2
    certificate_arn    = "arn:aws:acm:us-west-2:807760185374:certificate/b2966644-3dfc-4fc7-b84a-522012a5feb1"
    alpn_policy        = "HTTP2Optional"
  }
]

  + resource "aws_lb_listener" "frontend_https" {
      + alpn_policy       = "HTTP2Optional"
      + arn               = (known after apply)
      + certificate_arn   = "arn:aws:acm:us-west-2:807760185374:certificate/b2966644-3dfc-4fc7-b84a-522012a5feb1"
      + id                = (known after apply)
      + load_balancer_arn = (known after apply)
      + port              = 443
      + protocol          = "TLS"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }
    }

https_listeners = [
  {
    action_type        = "forward"
    port               = 443
    protocol           = "TLS"
    target_group_index = 2
    certificate_arn    = "arn:aws:acm:us-west-2:807760185374:certificate/b2966644-3dfc-4fc7-b84a-522012a5feb1"
  }
]

  # aws_lb_listener.front_encrypted[0] will be created
  + resource "aws_lb_listener" "frontend_https" {
      + arn               = (known after apply)
      + certificate_arn   = "arn:aws:acm:us-west-2:807760185374:certificate/b2966644-3dfc-4fc7-b84a-522012a5feb1"
      + id                = (known after apply)
      + load_balancer_arn = (known after apply)
      + port              = 443
      + protocol          = "TLS"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }
    }

Thanks, @dbgoytia !
I reverted to lookup to keep it more in-style with the rest of the module.
v6.2.0 has been just released.

Hey @antonbabenko!! Haha yes, probably that explains why I had to upgrade my Aws provider 🤔 jejeje. Awesome, thanks a lot for accepting the PR 😄


Add FedRamp support

Adds FedRamp URL to the list of allowed URLs.

This will address Issue #6

Thanks for your submission @sup3rmark!  I really appreciate the submission, and the work you've put in.  I've incorporated this into release File Upload Utility 4.1.0, which should resolve Issue #6, and has a few new feature to boot.


Add a circular  loader in the tasklist page  till the tasks have not been fetched

A circular loader will run till the api fetch call to get task lists get the data .
Hint : You can use useState and set its value to false in side .then()

i want to work on this issue under jwoc

@03amir  i have assigned the issue to you ,just add a circular loader from material UI which will stop showing when the data is fetched .


TemplateEditor replace carbon with patternfly

https://github.com/open-cluster-management/backlog/issues/11446

@dhaiducek thanks for the review. Opened following issues:
https://github.com/open-cluster-management/backlog/issues/11469
https://github.com/open-cluster-management/backlog/issues/11470
https://github.com/open-cluster-management/backlog/issues/11471


Feature request: building relative urls

Library should be able to create relative urls:
$url = new \Purl\Url('/events');
$url->query->set('param1', 'value1');
echo $url->getUrl();

Expected output should be:
/events?param1=value1

+1 for this also

:+1: Anyone willing to implement this?

Can #52 be merged into master?

@jwage can we merge this?

@jwage Any update on this?
I needed to do relative URL manipulation, came across this package, now just waiting for the PR merge.

@jszobody I don't think anyone has stood up to implement this yet. Let me know if you are interested in working on it. Thanks, Jon

Sorry nevermind, I missed PR #52. Looking at it now.

This issue has been fixed and it can be closed.


signal.lti: Remove deprecated cross-system properties

Cross-system properties/setters have been deprecated in version 0.18 with commit 6939e33b11dda6815fd851b9ca943625ab606971. This commit follows up with removing the deprecated code for the 1.0 release.

Thanks @befelix, looks good to me. Will leave this open for a little to give others time to comment.

@e-q do you have time to look?

Sorry, I've been buried under thesis writing for a while. From a quick glance this all looks straightforward and good.

Okay, in it goes. Thanks @befelix, all.

Sorry, I've been buried under thesis writing for a while.

Good luck with that Eric!


allow vector arguments for ordered_logistic

From @bob-carpenter on December 9, 2014 15:46
We need to supply array first arguments for ordered_logistic.   We should have the mechanisms already in place to handle array of integer arguments (they should be in Poisson, etc.)
Copied from original issue: stan-dev/stan#1162

From @chmullig on March 30, 2015 0:55
A :+1: for this. For Gelman's survey course we're doing a bunch of mulitlevel ordered logistics and doing them one case at a time is painfully slow, even with n = ~800.

From @rtrangucci on April 27, 2015 23:57
@bob-carpenter I've found the current implementation to be pretty slow as well. Not good for our stan_lmer implementation. I'll create a branch for this.

From @tmalsburg on April 27, 2015 2:7
FWIW, I would like to see this feature as well.

Closing this as it'll get rolled into #97 along with all the other multivariates.


Add swagger links to docs

We may have the links somewhere, but I don't think so? We can either link the codex and xmidt/webpa swagger pages on their overview pages or add redirect pages to the left navigation under the correct projects.

swagger links:
https://swagger.webpa.comcast.net/
http://swagger.codex.comcast.net/
folders:
https://github.com/xmidt-org/docs/blob/master/content/docs/webpa/
https://github.com/xmidt-org/docs/blob/master/content/docs/codex/
I think adding a page in each folder called swagger.md that has metadata that redirects to the swagger pages would be perfect.
An example of the metadata:
https://github.com/xmidt-org/docs/blob/master/content/docs/codex/fenrir.md
For ordering in the navigation, I think the swagger docs should be right below the "overview" page.

I would like to take this one too.

Codex done in https://github.com/xmidt-org/docs/pull/37
Still need to figure out the path forward for the XMiDT and WebPA swagger pages.

Task: add opensource swagger page for webpa and xmidt (same style as codex's)


Allow multi-line CSV header

I came across a bug where the CSV extractor assumes the header is a single line (it uses fgets when parsing the header).
Using the following CSV file:
Column 1,Column 2,"Multi-Line
Column 3"
Value 1,Value 2,Value 3

Running the following code:
(new Etl())
    ->extract(new Csv(), __DIR__.'/test.csv')
    ->load($loader, '', ['index' => 'Column 1'])
    ->run();

I get the following notice when the extractor tries to parse the first row (which is actually the second line of the header):
Notice: Undefined offset: 1

Thanks for the hard work on this library. I'm happy to make a pull request if you're open to that.

@jnbeaver I did a quick fix, but sure if you see any ehancement or bug fix in the future, we are open to pull requests :)

Sounds good, thanks!


!!js/function parameter destruction issue

foo: !!js/function "({ a, b }) => {  const obj = { f: 1, k: 2}; const { f, k } = obj; return a +b; }"

in this case, the parsed function would be:
function anonymous(
) {
 const obj = { f: 1, k: 2}; const { f, k } = obj; return a + b;
}

so, it would fail trying to get inputs in desctrution format

JS parser does not support new features. And there are no plans to support those. You could store code in strings and evaluate after load as you wish. Or write your own custom type instead of built-in.

Currently, js-yaml handle the parameters of js function as follow:
  function constructJavascriptFunction(data) {
  /*jslint evil:true*/

  var source = '(' + data + ')',
      ast    = esprima.parse(source, { range: true }),
      params = [],
      body;

  if (ast.type                    !== 'Program'             ||
      ast.body.length             !== 1                     ||
      ast.body[0].type            !== 'ExpressionStatement' ||
      (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
        ast.body[0].expression.type !== 'FunctionExpression')) {
    throw new Error('Failed to resolve function');
  }

  ast.body[0].expression.params.forEach(function (param) {
    params.push(param.name);
  });

  body = ast.body[0].expression.body.range;

  // Esprima's ranges include the first '{' and the last '}' characters on
  // function expressions. So cut them out.
  if (ast.body[0].expression.body.type === 'BlockStatement') {
    /*eslint-disable no-new-func*/
    return new Function(params, source.slice(body[0] + 1, body[1] - 1));
  }
  // ES6 arrow functions can omit the BlockStatement. In that case, just return
  // the body.
  /*eslint-disable no-new-func*/
  return new Function(params, 'return ' + source.slice(body[0], body[1]));
}

Could it te like this:
the main idea is to use esprima as a validator and use eval() to return new function
function constructJavascriptFunction(data) {
  /*jslint evil:true*/

  var source = '(' + data + ')',
      ast    = esprima.parse(source, { range: true }),
      params = [],
      body;
 // **just use esprima to check and validate the function string**
  if (ast.type                    !== 'Program'             ||
      ast.body.length             !== 1                     ||
      ast.body[0].type            !== 'ExpressionStatement' ||
      (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
        ast.body[0].expression.type !== 'FunctionExpression')) {
    throw new Error('Failed to resolve function');
  }
  // **Coud it use 'eval' to get a new function**
  return eval(data);
}

I don't like idea of direct raw string eval. I can not explain why js fn tag was added at all :), but i certainly don't like move into this direction in core.
But, this parser is pluggable, and you can use your own implementation of tag independent on my opinion.


feat: implement of repo collection [OSPP 2023]

Brief Information
This pull request is in the type of (more info about types):

[ ] build
[ ] ci
[ ] docs
[x] feat
[ ] fix
[ ] perf
[ ] refactor
[ ] test

Related issues (all available keywords):

resolve #653

Details

Currently, the Repo Collection button has been added to the github page. After clicking, the collection list will pop up. Click Delete in the list to delete the corresponding collection.

Similarly, a button has been added to the settings bar of the hypercrx-icon, but the design of the style has yet to be adjusted.
The next thing that needs to be implemented is to save the user's Repo Collection locally and complete the development of the main display board of the Repo Collection.

PS: There is a small problem at present is that I want this button to be closer to the Edit Pins, that is, to the right.

Things to be done:

[ ] adjust style of the dropdown opened throuth hypercrx-icon
[x] save the user's Repo Collection locally
[ ] main display board of the Repo Collection
[ ] i18n
[ ] other more

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA

Others

I used the components of ant design to complete it, and welcome your valuable suggestions!

Hi, I have changed the base branch for this PR. Since you and wj are working this feature together, we cannot merge your work one by one. So, I create a feature branch so that you can work closely together and develop in a relative fast pace.
For this PR, please implement Frame 1, 2, 3. It is okay to ignore styles and unrelated features for this PR.
Thanks!

It is not completely finished yet and has encountered some status management problems. The following is the situation of the two interfaces.

Time is tormenting me...

At present, the button function of the repository page has been initially implemented, and you can check which collection the repository belongs to when you click it for the first time. After clicking edit, you can enter the checkbox list and add it to a new collection.
Clicking on the collection to pop up the modal in the repository interface has not yet been implemented, but it can capture the parameters that need to be transmitted.
In addition, click collection on the pop-up interface (it is blocked in the video), and the modal can pop up. The top of the modal is composed of tabs named after the collection. The left side displays the repository information contained in the collection.
The demo video is shown below：
https://github.com/hypertrons/hypertrons-crx/assets/50283262/a6b30e27-8872-446d-a01a-694ceda95cee
The problem currently encountered is that sometimes when managing the state of an object, the value of the object cannot be changed. (However, it is possible to increase a certain attribute of an object, but not to decrease it, which is confusing...)

I have initially implemented the function of calling the modal from the button in the dropdown under the repository left yesterday.
The demo video is shown below：
https://github.com/hypertrons/hypertrons-crx/assets/50283262/65542933-7c3d-40ca-9ca5-7053d8a49e9b

The demo video is shown below：
https://github.com/hypertrons/hypertrons-crx/assets/50283262/a86d02fd-7e77-4652-abc1-371c283898be

Hi there~ I have come back from Wuhan. Now I will continue to improve the code. 💪

@andyhuang18 @tyn1998 Could you please close review conversation if it is resolved. You guys are working hard and there are so many messages in this PR. Thanks again for your hard working!

Sure！

https://github.com/hypertrons/hypertrons-crx/assets/50283262/7c5b5fd8-c6fd-4774-b903-f0b73061eb50

This is the button interface：

This is the modal interface, the middle part is the chart：

This is the modalEditor interface, which can edit collection and repository：


Remove Standard Bounties

Not token smart contract

This registry is not only for tokens. Having standard bounties is useful when interacting with GitCoin, for example.


Dismount spell stop

When you dismount the magic action stops.  where is the line of code related to this?

Seems a big exploit, you can increase Magery with a dismount macro after you cast the spell. Mana will not be consumed, the spell will not create any effect but magery will increase!

The exploit works like this:
When then player dismounts while casting a spell the  ACTARG1 value (The spell ID) is overwritten by this line of code in
the Horse_Unmount method:
 m_atRidden.m_uidFigurine.InitUID();
Because m_uidFigurine is stored in ACTARG1 this will ovewrite the spell ID and when  we reach the Skill_Magery success stage the spell ID will be considered as -1 and because there is no check for controlling if the spell is valid or not (only a nullptr check)  the spell will succesfully triggers the skill success but this will not cause the spell to have any effect because the new spell ID is -1 (thus consuming no mana and so on).

Edit:
The nullptr check  is enough because a spell with ID -1 is considered null, so it's return 0 inside the nullptr check that causes the problem:
if (tSpell == nullptr) 			return 0;
I think we can replace it with -SKTRIG_ABORT

Or we should allow to continue casting a spell after dismount?

What you say drk84 is true and we had big issue like this about the attack!  You attack someone with a bow and at the same time a macro mount Dismount at 0.1 sec.  So you launch an arrow each 0.1 sec!!!!  We added a script function when dismount toggle war mode.
I think your issue is link to that.

Its possible when unmount it change nothing?  Continue casting?

When you get off the mount, the magic application should continue.  It can be turned off optionally from this script.  this is a usual war dynamic.

Should be fixed


[Question]Design Horizontal/Vertical extra line label in LineChartData

Is there any way of designing the label with size, circular radius and so?

Unfortunately not yet.

Please pick a good title and explain more about your issue.

Hi @imaNNeoFighT,
thanks a lot for answering!
I wish to add an external horizontal line to my line chart and I want to add a label to it. By now, I can only control the label's alignment and color and define the text style, but it gives me only a colored rectangle, with no ability to have a circular radius or to change the label's size/label's text padding as I wish.
By now I found a trick to define the text style's background property by Paint widget, using a very big stroke width and rounded stroke join which is not perfect as I wanted but good for now:)
Hope I explained it well and clear enough.
Here's some pictures to illustrate-


Optimize api_private_country_overview

Example query that takes a while:
EXPLAIN ANALYZE
SELECT COUNT(DISTINCT input_no)
FROM measurement JOIN report ON report.report_no = measurement.report_no
WHERE
confirmed = TRUE
AND probe_cc = 'RU'
AND test_start_time >= current_date - interval '31 day'
AND test_start_time < current_date;

Aggregate  (cost=7322027.57..7322027.58 rows=1 width=8) (actual time=98101.711..98101.712 rows=1 loops=1)
  ->  Hash Join  (cost=31935.33..7322006.32 rows=8500 width=4) (actual time=8542.890..98090.342 rows=10916 loops=1)
        Hash Cond: (measurement.report_no = report.report_no)
        ->  Seq Scan on measurement  (cost=0.00..7277824.17 rows=3243152 width=8) (actual time=0.068..94213.345 rows=2943709 loops=1)
              Filter: confirmed
              Rows Removed by Filter: 270246667
        ->  Hash  (cost=31667.55..31667.55 rows=21422 width=4) (actual time=582.661..582.662 rows=30318 loops=1)
              Buckets: 32768  Batches: 1  Memory Usage: 1322kB
              ->  Bitmap Heap Scan on report  (cost=10303.89..31667.55 rows=21422 width=4) (actual time=192.863..551.256 rows=30318 loops=1)
                    Recheck Cond: ((test_start_time >= (('now'::cstring)::date - '31 days'::interval)) AND (test_start_time < ('now'::cstring)::date) AND (probe_cc = 'RU'::bpchar))
                    Rows Removed by Index Recheck: 184069
                    Heap Blocks: exact=9564
                    ->  BitmapAnd  (cost=10303.89..10303.89 rows=21422 width=0) (actual time=190.713..190.713 rows=0 loops=1)
                          ->  Bitmap Index Scan on report_test_start_time_idx  (cost=0.00..3458.88 rows=266443 width=0) (actual time=50.336..50.336 rows=374187 loops=1)
                                Index Cond: ((test_start_time >= (('now'::cstring)::date - '31 days'::interval)) AND (test_start_time < ('now'::cstring)::date))
                          ->  Bitmap Index Scan on report_probe_cc_idx  (cost=0.00..6834.06 rows=657150 width=0) (actual time=137.638..137.639 rows=661587 loops=1)
                                Index Cond: (probe_cc = 'RU'::bpchar)
Planning time: 10.618 ms
Execution time: 98102.491 ms

Implemented in https://github.com/ooni/backend/issues/437


debian packaging

Since @rustybird does not wish to merge distribution specific stuff of distributions he does not use (https://github.com/rustybird/corridor/pull/2#issuecomment-44758409), I am only opening this as an issue, not as a pull request.
Work in progress:

https://github.com/adrelanos/corridor/tree/debian_new
https://github.com/rustybird/corridor/compare/master...adrelanos:debian_new?expand=1

There is one issue that Debian will complain about.
W: corridor: executable-not-elf-or-script usr/sbin/corridor-load-config

That script if not executable does not belong there.

Can we move it to a more appropriate location?
Alternatively, can we make it executable and useful instead? When manually executed it could work as a config file sanity tester, i.e. just sourcing the config files in verbose -x mode and then exit with an "success" if that did not result in an error.

Would you like to ship a man folder with manuals in ruby-ronn format in rustybird/corridor master?

https://github.com/Whonix/tor-ctrl/tree/master/man
https://github.com/Whonix/tor-ctrl/blob/master/man/tor-ctrl.8.ronn

I guess I could contribute the original, basic man pages.
(The Debian packaging that I am using would convert them during package build to proper man pages compatible with gnu man. Much better than learning and writing the roff format.)
That would help Debian lintian (package checker) no longer complain about missing man pages. The man pages shipped at upstream rustybird/corridor seems more useful than in downstream adrelanos/corridor.

Alternatively, can we make it executable and useful instead? When manually executed it could work as a config file sanity tester, i.e. just sourcing the config files in verbose -x mode and then exit with an "success" if that did not result in an error.

Sounds good, done.

What about the man pages? I think I could also write them in markdown, then convert them roff and eventually send a pull request here.
They are looking quite okay, I think. You can see one created that way in action in Whonix. Example:
man tor-ctrl

What about the man pages?

What do you think about a combined manpage (i.e. man corridor, symlinked to the individual command names)? It could show how everything fits together, and would probably avoid some redundancy.

I think I could also write them in markdown, then convert them roff and eventually send a pull request here.

Either way would be fine, I'd check in both your source and the generated output anyway. Like it's often done for configure.ac and configure.

They are looking quite okay, I think.

Yeah, even the generated roff code doesn't look terrible. I like it!

I don't know if a combined man page would be acceptable by Debian policy or otherwise. I will ask.

Debian request for packaging feature request:
RFP: corridor - a Tor traffic whitelisting gateway

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829740
http://lists.alioth.debian.org/pipermail/pkg-privacy-maintainers/Week-of-Mon-20160704/000814.html

Perhaps for getting this into official Debian, I would have to become upstream. I'd be maintaining a Debian friendly fork of corridor. This is because for getting this packages, I patched the makefile and added an additional dependency, genmkfile. Let's see what pkg-privacy-maintainers say and how supportive they are.

I am not wiser about the combined manpage yet. Will ask in another place.
What however would work would be having just one corridor binary in /usr/sbin/corridor which would just be a stub calling the others scripts from /usr/share/corridor/{forwarding-init,...}. Then a combined manpage would certainly be possible. Whether this is a good idea is another question.

W: corridor: executable-not-elf-or-script usr/sbin/corridor-load-config

Fixed:

https://lists.debian.org/debian-mentors/2016/07/msg00228.html
https://github.com/adrelanos/corridor/commit/90663fe092ea4cd4ccba717bfa1cecda19e7dcc3

I am not wiser about the combined manpage yet. Will ask in another place.

Asked:
https://lists.debian.org/debian-mentors/2016/07/threads.html

A combined manpage is permissible.

As of https://github.com/adrelanos/corridor/commit/e9907c96ffc0264139c48625b6688a160f1d934c:
git diff --stat rustybird/master

 Makefile                        |  43 ++------
 Makefile_orig                   |  37 +++++++
 README.debian                   |   5 +
 changelog.upstream              | 844 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 debian/changelog                |  12 ++
 debian/compat                   |   1 +
 debian/control                  |  37 +++++++
 debian/copyright                |  31 ++++++
 debian/corridor.links           |  10 ++
 debian/corridor.postinst        |  43 ++++++++
 debian/corridor.postrm          |  36 ++++++
 debian/gain-root-command        |   7 ++
 debian/rules                    |  17 +++
 debian/source/format            |   1 +
 debian/source/lintian-overrides |   2 +
 debian/watch                    |   7 ++
 make-helper-overrides.bsh       |  25 +++++
 17 files changed, 1127 insertions(+), 31 deletions(-)

Nice! Some things I've noticed:

README.debian can be deleted now
From my cursory understanding of git-based Debian packaging, it sounds like all Debian specific files should go into debian/ and the top level directory be unchanged
Is the custom Makefile and the genmkfile dependency still needed?
Seems strange to ship almost a thousand lines of upstream.changelog in the same git repository it is generated from. Maybe it could be a line in debian/rules.
The ruby-ronn dependency might be unnecessary, installation uses the precompiled version

Rusty Bird:

Nice! Some things I've noticed:

README.debian can be deleted now

Done.

From my cursory understanding of git-based Debian packaging, it sounds like all Debian specific files should go into debian/ and the top level directory be unchanged

Usually yes.

Is the custom Makefile and the genmkfile dependency still needed?

Yes.

Seems strange to ship almost a thousand lines of upstream.changelog in the same git repository it is generated from. Maybe it could be a line in debian/rules.

If is required for Debian packaging. Not strictly required, but then the
package is free of any lintian --pedantic warnings.
Used in debian/rules:
override_dh_installchangelogs:
        dh_installchangelogs changelog.upstream upstream

If upstream does not provide an upstream changelog, this is a legitimate
way to generate one.
It could be automatically created during package build in theory, but
Debian source packages are spare out the '.git' folder. So the Debian
source package already has to include the upstream tarball.
This situation will likely improve when debian/source/format 3.0 (git)
GitSrc is ready. Good that I am reminded.
asked on debian-mentors mailing list:
What is the status of debian/source/format 3.0 (git) GitSrc?

The ruby-ronn dependency might be unnecessary, installation uses the precompiled version

Done.

If you are wondering, why I am using genmkfile... genmkfile's make help.
make help
   Show this help.
make dist
   Create package-version.tar.gz from source files in $DISTDIR (default "..").
make undist
   Delete package-version.tar.gz from source files in $DISTDIR (default "..").
make debdist
   Create debian.tar.gz from source files in $DISTDIR (default "..").
make undebdist
   Delete debian.tar.(gz|xz) from source files in $DISTDIR (default "..").
make manpages
   Create man page from man source folder, which will be stored in debian/tmp-man folder.
make uch
   Store upstream changelog from git log in changelog.upstream.
make install
   Copying the files from the source tree to system-wide directories.
make installsim
   Simulate copying the files from the source tree to system-wide directories.
make deb-build-dep
   Install build dependencies listed in debian/control under Build-Depends using apt-get.
   Various environment variables supported.
make deb-pkg
   Create a deb, which will be stored in parent folder.
make deb-pkg-install
   Create a deb, which will be stored in parent folder, and install it.
make deb-install
   Install deb from parent folder.
make deb-icup
   Combination of make deb-pkg, make deb-pkg-install and make deb-pkg-cleanup.
make deb-remove
   apt-get remove make_source_package_name
make deb-purge
   apt-get purge make_source_package_name
make deb-clean
   Delete temporary debhelper files.
make deb-cleanup
   Same as make deb-clean and deletes debuild artifacts from parent folder.
make dput-ubuntu-ppa
   Upload to Ubuntu ppa. Requires functional .dput.cf.
make clean
   Currently same as make deb-clean.
make distclean
   Currently same as make clean.
make checkout
   Fetch from git.
make installcheck
   Check if source files match installed files.
make uninstallcheck
   Check if make uninstall removed all files.
make uninstall
   Delete all installed files.
make uninstallsim
   Simulate what make uninstall would do.
make deb-chl-bumpup-manual
   Manual upstream version number in debian/changelog.
make deb-uachl-bumpup-manual
   Combination of make uch and make deb-chl-bumpup.
make deb-chl-bumpup-major
   Major bump upstream version number in debian/changelog.
make deb-uachl-bumpup-major
   Combination of make uch and make deb-chl-bumpup.
make git-tag-sign
   git tag (-s) sign latest pkg_version_with_revision from debian/changelog. Only a repository sanity check. Not for security purposes!
make git-tag-verify
   git tag (-v) verify latest pkg_version_with_revision from debian/changelog. Only a repository sanity check. Not for security purposes!
make git-tag-check
   Check if current git head is a signed git tag. Only a repository sanity check. Not for security purposes!
make git-commit-verify
   Check if current git head is a signed git commit. Only a repository sanity check. Not for security purposes!
make git-verify
   Combination of tag-check and commit-verify. Only a repository sanity check. Not for security purposes!
make git-tag-push
   git push latest pkg_version_with_revision from debian/changelog. (Environment variable make_git_tag_push_targets, that defaults to 'origin'.)
make git-tag-push-latest
   git push most recent git tag. (Environment variable make_git_tag_push_targets, that defaults to 'origin'.)
make reprepro-add
   Add main deb package using reprepro wrapper (Environment variable make_reprepro_wrapper, that default to 'reprepro'.)
   to repository (Environment variable make_reprepro_codename, that defaults to 'developers'.).

(Some of that is broken for corridor.)
It somewhat standardizes packaging trivially packageable stuff. (I am not saying corridor is trivial! Just sh/bash/scripts that do not require compilation are intrinsically easy to package.) It helps me with questions such as:

"What was the command to generate a deterministic upstream tarball again?" I could make this a local shell alias, but I find that intransparent. I prefer having this command public. It could be implemented per project, I could write a feature request "please provide a make dist" target
Among other handy stuff that I need for packaging, builds, repository generation.
This allows me to maintain a big number of packages with more ease / time efficient since these are all very similar.


Added ridge Extensions

After un-soldering and re-soldering a cable that I had going through a case just to be able to test out new cases I decided to add a way to do a local shift to the split so that you make any opening on the sides of the case be half in the lid and half in the base.
![i
`//===================================================================
//  *** Ridge Extension ***
//    Extension from the lid into the case for adding split opening at various heights
//-------------------------------------------------------------------
//  Default origin = yappCoordBox: box[0,0,0]
//
//  Parameters:
//   Required:
//    (0) = pos
//    (1) = width
//    (2) = height : Distance below the ridge : Negative to move into lid
//   Optional:
//    (n) = { , yappCenter }
//    (n) = { yappLeftOrigin,  } // Only affects Top(lid), Back and Right Faces
// Note: use ridgeExtTop to reference the top of the extension for cutouts.
// Note: Snaps should not be placed on ridge extensions as they remove the ridge to place them.
//-------------------------------------------------------------------`

The cutout can be above (negative height) or below the base (positive height) as shown above.
Then any cutout can be placed centered on the "new" joint.

Great new future!!!
Thanks

@rosenhauer, Dave,
I'm working on the documentation. Would you care to review what I have done so far?
I have committed a few changes to the repo.
During the documentation process I found some pecularities.
cutouts default to CoordBox in stead of CoordPCB
Why did you choose to default Box coördination for the cutouts?
The whole idea of the YAPP is that everything is referenced by the position of the PCB (at least where it is applies)... and now it is not anymore!
Would it be possible to make the PCB coördinates default (again) for cutouts??
Labels yappTop and yappBottom in stead of yappLid and yappBase
Why did you choose yappTop and yappBottom for labels? In all the documentation the top shell is referred to as "Lid" and the bottom shell as "Base".
Is it possible to change those keywords to "yappLid" and "yappBase" (like "yappRight" etc.)?
hookLidInside() and hookLidOutside()
The modules hookLidInside() and hookLidOutside() are never called.
The modules hookLidInsidePre() and hookLidOutsidePre() are, but I thought we would remove them as it was in v2.0 (but far more better as the hookOutside does not fill inside the box and the hookInside does not extend outside the box)!
gapAbovePcb
Can you change this into gapAbovePCB with PCB in uppercase as it is with CoordPCB and the like?
(maybe it is only in the comments and not used as a variable in the code. I'm not sure)?

@rosenhauer,

I'll make pcbStands, connectors, cutouts, lightTubes, pushbuttons all default to PCB Coordinates.

yes!

The baseMounts, snapJoints, and labels will default to the case.

Yes!

Yes, I should be able to (change yappTop and yappBottom) if you want. Let me know

Please do (if possible)!
Please reactivate hookLidInside() and hookLidOutside().
It is ok to leave the Pre versions. I will not show them in YAPP_Template but the real diehards will find them in the YAPPgenerator code.
to do thingies
[1]
What do you think of the idea to make the CoordBox [0,0,0] be the inside of the box (it is now the outside)?
Zero posX and posY would than be wallThickness from the openscad [0,0,0] and posZ will be basePlaneThickness.
The benefit would be that if you change the wall- or basePlaneThickness every object with the CoordBox would nice move with it.
[2]
Would it be useful to make it possible to have mounts on the Lid? Some people want connectors with screw holes in the Lid. Having mounts (the name should change to something generic) do both with a yappBase or yappLid option you can simply create a box upside down.

[1] I could do that.  But then for centering you would have to remember to
use shellInsideLength,  shellInsideWidth and  shellInsideHeight (currently
doesn't exist).  There is a shellPCBTop2Lid that is the inside height but
the name indicates something else it's not referenced anywhere in the
library. Not sure if anyone uses it in their scripts.
Would you be OK with adding that as a third Option yappCoordBoxInside? Then
you could use whatever one you wanted to.
[2] I think I can add that as an option. Along with the distance away from
the box option that GreenElipse had worked up.
I just sent a pull request to change the default Origins and add origin
options to the ridge extensions.
On Tue, Dec 5, 2023 at 11:51 AM mrWheel @.***> wrote:

@rosenhauer https://github.com/rosenhauer,
I'll make pcbStands, connectors, cutouts, lightTubes, pushbuttons all
default to PCB Coordinates.
yes!
The baseMounts, snapJoints, and labels will default to the case.
Yes!
Yes, I should be able to (change yappTop and yappBottom) if you want. Let
me know
Please do (if possible)!
Please reactivate hookLidInside() and hookLidOutside().
It is ok to leave the Pre versions. I will not show them in YAPP_Template
but the real diehards will find them in the YAPPgenerator code.
to do thingies
[1]
What do you think of the idea to make the CoordBox [0,0,0] be the inside
of the box (it is now the outside)?
Zero posX and posY would than be wallThickness from the openscad [0,0,0]
and posZ will be basePlaneThickness.
The benefit would be that if you change the wall- or basePlaneThickness
every object with the CoordBox would nice move with it.
[2]
Would it be useful to make it possible to have mounts on the Lid? Some
people want connectors with screw holes in the Lid. Having mounts (the name
should change to something generic) do both with a yappBase or yappLid
option you can simply create a box upside down.
—
Reply to this email directly, view it on GitHub
https://github.com/mrWheel/YAPP_Box/pull/38#issuecomment-1841317433, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIBTUKHKCAVHQR62BUVWC73YH5NKLAVCNFSM6AAAAABAHB4OZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBRGMYTONBTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Dave


Add VLS (for vlang)

https://github.com/vlang/vls
https://vlang.io/

Requires that V is already installed and on the PATH

Cool! Added a few comments.
Also, the return function (name, root_dir) ... end thingy is really confusing, I know. The reason it's needed is because all core installers are instantiated here, via the factory function they provide.

Thanks for the review! I'll update when I get the chance

Thanks for the review! I'll update when I get the chance

No worries! Let me know if you want me to push these changes directly to this branch if you're unable to look into them!


docs: refresh admonition design

refreshes admonition design (to not use docusaurus icons, which don't match the Hiro brand well)
replaces > **_NOTE: syntax (which is neither a GitHub flavored markdown nor a docusaurs style) to match the docusaurs admonitions
change font display style, to maybe reduce layout shift

icon preview: (smaller and more on Hiro theme, imho) in the future, we could still add more Hiro-style icons

LGTM


Changelog timetravel fix

Thanks, fixed in https://github.com/ajdavis/mongo-mockup-db/commit/5eccc54bd665c5f56f70b653e12d9e126f4dfc71


Documentation on Plotly Charts customization

Description
We have been asked few times on how we can customize the plotly charts in atoti's visualization or web application.
It would be nice to have some documentations on how we can achieve it, just as described in https://github.com/atoti/atoti/issues/104

On one hand I don't like this way of customizing the widgets as I think it is really hard to use and impossible to discover. This can scare new users by making atoti looks hard to use and configure.
On the other hand this is the only way to do it at the moment so we might as well document it to make it less difficult to use.
What I think is difficult at the moment:

finding the state editor: this is not a place people usually look at.
finding where to edit in the JSON: this is really not user friendly
finding which parameter can be used: one have to search and read the plotly documentation

On the long run I think we should have tools to cover most of the basic use cases (color, size, font of text, width and shape of lines...) and keep this JSON editing mode for advanced use cases only

Also if we document the JSON edition as the official way to customize the widget we can think about making it more accessible/discoverable than to Property inspector tab then Advanced tools.
For instance I am thinking about adding a button on the chart to directly open this pannel, or including the JSON editor in the atoti tab (for example in the "Style" pannel)

I agree it would be nice to have a function on the chart to perform the customization instead of going to the cell properties. This way, there's less things users have to pay attention to.


Improved plot labels in zmnam

Hello, I am opening this pull request for an improvement of the zmnam recipe.
In the previous version, due to a known bug with cartopy and matplotlib (see e.g. here https://stackoverflow.com/questions/49048411/cartopy-north-pole-stereographic-contour-plot-does-not-plot-correctly-even-with) the labels were not rendered correctly. After some more tests, I have been able to adjust the plot so that labels are now more legible.
CMIP5_MPI-ESM-MR_amip_r1i1p1_1979-2008_25000Pa_mo_reg_new.pdf
CMIP5_MPI-ESM-MR_amip_r1i1p1_1979-2008_25000Pa_mo_reg_old.pdf
The plots for the 'old' and 'new' version are attached. Please also note that for this PR I have updated my e-mail address in the references file. Looking forward to feedback on this. Thanks

The last commits fix some codacy issues, particularly around the manipulation of the contour labels list.


Pagination

As in the GitHub API, see https://developer.github.com/guides/traversing-with-pagination/

Beware of this limitation in Virtuoso: https://github.com/silk-framework/silk/issues/31


[Feat] Sign up button is going out of the frame in customer sign up page.

Description
Sign up button is going out of the frame in customer sign up page. There should be proper space between signup button and card.
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

There is the same problem in seller sign up page too.
It needs to be fix very soon.

Please assign this issue to me.


apparmor problem for TB 8.0 on Debian 9.5

Hello,
I have package torbrowser-launcher 0.2.9-3~bpo9+1 installed.
After TB updated itself to the new 8.0, it no longer started.
After adding these 3 lines to /etc/apparmor.d/local/usr.bin.torbrowser-launcher TB starts again:
/usr/bin/dirname ix,
owner @{torbrowser_home_dir}/abicheck ix,
owner @{torbrowser_home_dir}/firefox.real ix,
I do not know if this is the proper apparmor config file to put them in or if this is a secure/an optimal configuration change, but it works.
The lines are needed for calls in the sh script @{torbrowser_home_dir}/firefox (the same folder where start-tor-browser is located):
Otherwise the call to dirname is denied and the variable basedir becomes empthy; the commands abicheck and firefox.real are also denied.

Addendum:
There is some problem with using /usr/bin/lsb_release and reading /etc/ld.so.conf.d/ as well. Typical complaint in /var/log/syslog is:
audit: type=1400 audit(1536672858.855:175): apparmor="DENIED" operation="open" profile="torbrowser_firefox" name="/etc/ld.so.conf" pid=17372 comm="firefox.real" requested_mask="r" denied_mask="r" fsuid=xxxx ouid=0
audit: type=1400 audit(1536672858.867:176): apparmor="DENIED" operation="exec" profile="torbrowser_firefox" name="/usr/bin/lsb_release" pid=17392 comm="firefox.real" requested_mask="x" denied_mask="x" fsuid=xxxx ouid=0
audit: type=1400 audit(1536672858.955:177): apparmor="DENIED" operation="open" profile="torbrowser_firefox" name="/etc/ld.so.conf" pid=17372 comm="firefox.real" requested_mask="r" denied_mask="r" fsuid=xxxx ouid=0

Symptom: when you download a file and when you in the save-to-file dialog click OK button TB crashes.
In syslog you then see:
audit: type=1400 audit(1536673154.475:181): apparmor="DENIED" operation="open" profile="torbrowser_firefox" name="/usr/share/glib-2.0/schemas/gschemas.compiled" pid=17372 comm="firefox.real" requested_mask="r" denied_mask="r" fsuid=xxxx ouid=0
traps: firefox.real[17372] trap int3 ip:7fe54c5ca261 sp:7fff46978c80 error:0 in libglib-2.0.so.0.5000.3[7fe54c57a000+112000]
Chrome_~dThread[17487]: segfault at 0 ip 00007f58a16493b6 sp 00007f589febcb10 error 6 in libxul.so[7f58a11cd000+56bc000]
Chrome_~dThread[17443]: segfault at 0 ip 00007fc6d0cfc3b6 sp 00007fc6cf56fb10 error 6 in libxul.so[7fc6d0880000+56bc000]

I've read somewhere that TB should use libgtk 3, maybe that is the problem...
Adding things like:
/etc/ld.so.conf r,
/usr/bin/lsb_release rix,

or:
/etc/ld.so.conf r,
/usr/bin/lsb_release rux,

does not help.

@greymuse I think you're using stretch, so just try to apt update and upgrade.
I uploaded 0.2.9-5~bpo9+1 three days ago.
Or you may try the latest 0.3.0-1~exp1 in experimental repo [1].
[1] https://wiki.debian.org/TorBrowser#Debian_.22experimental.22

Hi,
Yes, I run stretch. But I use a bpo kernel, package linux-image-4.14.0-0.bpo.3-amd64.
That is the only bpo package that is relevant, otherwise my stretch is pretty "clean" (I have 4 bpo packages in total).
With torbrowser-launcher 0.2.9-5~bpo9+1 TB still crashes. The program firefox.real is denied, and the kernel reports a trap error for libglib-2.0.so.0.5000.3 and segfaults for libxul.so.
I'll investigate some more (boot into kernel 4.9) and test your experimental package. I'll be back.

@greymuse please try to install:
apt install -t stretch-backports linux-image-amd64 gnupg

reboot to latest kernel and then try TBB again.

Hello,
Thank you for the reply.
I removed my additions under /etc/apparmor.d/local.
Yes, with your "implied" upgrade to kernel package linux-image-4.18.0-0.bpo.1-amd64 (version 4.18.6-1~bpo9+1) together with package torbrowser-launcher 0.2.9-6~bpo9+1 TBB 8.0.1 and 8.0,2 now start OK and I can save downloaded files. (The old bpo linux-image package still doesn't work.)
TBB also works with kernel linux-image-4.9.0-8-amd64 (version 4.9.110-3+deb9u5).
So problem is fixed. Thank you very much!


2.0.1 flutter cant run ios14.4 device

my flutter project cant run by Android studio 4.1  , but it can run ios14.4 device by xcode。 It was ok when dart is 1.14 version。but it cant work when I upgrade dart.
Running Xcode build...
Xcode build done.                                           38.3s
Installing and launching...
Error launching application on 石的 iPhone.
shi@shideMac-mini ywt % flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.1, on Mac OS X 10.15.6 19G2021 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.49.1)
[✓] Connected device (2 available)

1 warning generated.
    /Users/pratikbaid/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/webview_flutter-2.0.2/ios/Classes/FlutterWebView.m:385:23: warning: 'mediaPlaybackRequiresUserAction' is deprecated: first deprecated in iOS 9.0 [-Wdeprecated-declarations]
            configuration.mediaPlaybackRequiresUserAction = true;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          mediaTypesRequiringUserActionForPlayback
    In module 'WebKit' imported from /Users/pratikbaid/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/webview_flutter-2.0.2/ios/Classes/FlutterWebView.h:6:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h:211:28: note: 'mediaPlaybackRequiresUserAction' has been explicitly marked deprecated here
    @property (nonatomic) BOOL mediaPlaybackRequiresUserAction API_DEPRECATED_WITH_REPLACEMENT("mediaTypesRequiringUserActionForPlayback", ios(8.0, 9.0));
                               ^
    /Users/pratikbaid/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/webview_flutter-2.0.2/ios/Classes/FlutterWebView.m:392:23: warning: 'mediaPlaybackRequiresUserAction' is deprecated: first deprecated in iOS 9.0 [-Wdeprecated-declarations]
            configuration.mediaPlaybackRequiresUserAction = false;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          mediaTypesRequiringUserActionForPlayback
    In module 'WebKit' imported from /Users/pratikbaid/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/webview_flutter-2.0.2/ios/Classes/FlutterWebView.h:6:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h:211:28: note: 'mediaPlaybackRequiresUserAction' has been explicitly marked deprecated here
    @property (nonatomic) BOOL mediaPlaybackRequiresUserAction API_DEPRECATED_WITH_REPLACEMENT("mediaTypesRequiringUserActionForPlayback", ios(8.0, 9.0));

This is what I am getting

@SZLCode
If I understand this issue correctly, you are unable to run your flutter project from Android Studio on iOS 14.4 device ?
Can you provide flutter run --verbose to get full log that shows issues in it, if any ?

Application launched on the device. Waiting for observatory port.
[+30017 ms] Installing and launching... (completed in 54.6s)
[        ] Error launching application on Your iPhone.
[   +6 ms] "flutter run" took 122,352ms.
[  +11 ms]
#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:644:9)

#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1157:12)

#3      FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1009:27)

#4      AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#5      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#6      CommandRunner.runCommand (package:args/command_runner.dart:197:13)

#7      FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:278:9)

#8      AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#9      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:234:5)

#11     run.. (package:flutter_tools/runner.dart:64:9)

#12     run. (package:flutter_tools/runner.dart:62:12)

#13     AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#14     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#15     runInContext (package:flutter_tools/src/context_runner.dart:73:10)

#16     main (package:flutter_tools/executable.dart:90:3)

[ +119 ms] (lldb) process detach
[ +240 ms] ensureAnalyticsSent: 243ms
[   +2 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 1

@SZLCode
Can you try by running from terminal itself instead of from IDE ? Do you get same error ?
Also, the verbose log doesn't show any explicit error / exception, so tough to identify the root-cause.

it is ok when i running from terminal ，my project can work and no crash , but  this is log info .

[        ] (lldb)     connect
[  +28 ms] (lldb)     run
[ +371 ms] success
[        ] Application launched on the device. Waiting for observatory port.
[+30013 ms] Installing and launching... (completed in 53.3s)
[   +1 ms] Error launching application on 石智力的 iPhone.
[   +5 ms] "flutter run" took 122,868ms.
[   +7 ms]
#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:644:9)

#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1157:12)

#3      FlutterCommand.run.
(package:flutter_tools/src/runner/flutter_command.dart:1009:27)

#4      AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#5      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#6      CommandRunner.runCommand (package:args/command_runner.dart:197:13)

#7      FlutterCommandRunner.runCommand.
(package:flutter_tools/src/runner/flutter_command_runner.dart:278:9)

#8      AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#9      AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:234:5)

#11     run.. (package:flutter_tools/runner.dart:64:9)

#12     run. (package:flutter_tools/runner.dart:62:12)

#13     AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#14     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)

#15     runInContext (package:flutter_tools/src/context_runner.dart:73:10)

#16     main (package:flutter_tools/executable.dart:90:3)

[   +5 ms] (lldb) process detach
[ +252 ms] ensureAnalyticsSent: 254ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 1

@SZLCode
Does it run from Xcode ?
Can you also share your project through github so that we can clone it and run from our end to verify this issue ?

I've built a new project and still can't run on  ios14.4 of device from Android studio.But It can run from Xcode. And I tired to run  on iOS14.0  of device  from Android Studio , it is ok. I'm crazy！

This developer should have the same problem as me。

And  this . https://github.com/flutter/flutter/issues/78333

Tagging @pedromassangocode to verify this on iOS 14.4

This developer should have the same problem as me。

#78345

Yes, looks like the same issue, here's my logs after running flutter run --verbose:
FlutterLogs.txt

@darshankawar If nothing else helps, do you think deleting /ios folder and recreating it again can fix an issue like this?
Also, after migration I have another issue with my iOS build: EXC_BAD_ACCESS (78402)

@oligazar https://github.com/flutter/flutter/issues/78345 isn't the same issue.  @SZLCode is hitting a timeout where the build and install succeeds, but the app doesn't launch in a reasonable amount of time.  You are hitting an issue where the app isn't building.

@SZLCode
Tried a new Flutter project on latest stable and ran it on iOS 14.4.1 iPhone device on Android Studio, which compiled and ran properly without any issues.

AS log
Launching lib/main.dart on Darshan's iphone in debug mode...
Found saved certificate choice "Apple Development: Darshan Kawar (HJWLFNL782)". To clear, use "flutter config".
Signing iOS app for device deployment using developer identity: "Apple Development: Darshan Kawar (HJWLFNL782)"
Running Xcode build...
Xcode build done.                                           20.0s
Installing and launching...
[VERBOSE-2:FlutterObservatoryPublisher.mm(101)] Failed to register observatory port with mDNS with error -65555.
[VERBOSE-2:FlutterObservatoryPublisher.mm(103)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartobservatory._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions
[VERBOSE-2:FlutterObservatoryPublisher.mm(101)] Failed to register observatory port with mDNS with error -65555.
[VERBOSE-2:FlutterObservatoryPublisher.mm(103)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartobservatory._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions
Debug service listening on ws://<IP_ADDRESS>:57492/tsvASyrknX8=/ws
Syncing files to device Darshan's iphone...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.2, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.0.2 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 8962f6dc68 (6 days ago), 2021-03-11 13:22:20 -0800
    • Engine revision 5d8bf811b3
    • Dart version 2.12.1

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

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

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

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 89.0.4389.90

! Doctor found issues in 1 category.

Can you provide your complete flutter doctor -v along with flutter run --verbose in properly formatted text ?

Thank you，I updated to 14.4.1 ，it can work and  no crash from Android Studio.

Closing this as resolved based on your comment.


[BUG] Issue with batching

Describe the bug
When using batching for SOCInterpolatedHealth objects that are batched, the get_value method returns incomplete results.
To Reproduce
Steps to reproduce the behavior:

Create an ECM A-SOH with batched R0

from moirae.models.ecm.advancedSOH import ECMASOH
asoh = ECMASOH.provide_template(has_C0=False, num_RC=0, R0 = [[1,2,3], [4,5,6]])
assert asoh.r0.batch_size == 2

Try to get values of at SOC of 0. (which should be an array similar to [1., 4.]) and at 0.5 (which should be an array similar to [2., 5.])

r0_vals = asoh.r0.get_value(soc=[0., 0.5])

Instead, we end up with array([1., 5.])

Expected behavior
When the SOCInterpolatedHealth object is batched, we expect the get_value(soc=soc_1darray) method to return an array of shape (batch_size, len(soc_1darray))
Desktop (please complete the following information):

OS: macOS Sonoma 14.6.1
Version [e.g. 0.0.1]

Tagging @WardLT for discussion.

Part of the problem here is ambiguity of 1D arrays. The current implementation gives you is the value at 0 for the first batch member, and the value at 0.5 for the second batch member. When making a fix, either eliminate support for 1D arrays (my preference) or make it super clear how a 1D array should be interpreted

Looking back at the code, I believe our reasoning was that the SOC, if batched, must match the size of the SOCInterpolatedHealth batch. If they have different batch sizes, we would need to return a 3D array.

Let's hope we don't have a case with different batch sizes.

Solve by https://github.com/ROVI-org/auto-soh/pull/96


Gpl 216 edit study bugs

Steps to reproduce the bug:

Start with a study where the data release strategy is 'Not Applicable'
Click Edit Study
Change the data release strategy to 'Open' or 'Managed'
Observe that nothing seems to happen on the page, and the following error appears in the JS console:
"An invalid form control with name='study[study_metadata_attributes][data_release_delay_approval]' is not focusable."

This change fixes the above bug. The key line that fixes it is the following:
// only enable input if it's not hidden - could be beneath a hidden element in the DOM
if(!$(this).is(':visible')) return;

The problem was that it was removing the disabled attribute from inputs that were nested under hidden divs, which meant that the validation fired on save but could not find the field to display the validation message against.
All the other changes are refactoring to try to make it more readable, because I found it quite hard to figure out what was going on!
This javascript file is rendered by the following line in _study.html.erb:
<% metadata_fields.finalize_related_fields %>
The other key file to look at to understand this form is form_builder.rb, which seems to be a custom form builder to replace Rails's default one.
P.S. The form still has major validation issues, so the steps to reproduce still produce an error - however, now it is a server side error.

Thanks for the detail!


How to deal the error about org.apache.baremaps.stream.StreamException

When I use the example provided by the document to import osm data, the console reports an error: org.apache.baremaps.stream.StreamException: java.lang.NullPointerException: Cannot invoke "java.util.List.stream()" because "refs " is null

@Perdjesk @Tzuhany The decision to log warnings (rather than errors) was made to allow the user to fix invalid openstreetmap objects by their id. In planet osm we encounter a couple of similar exceptions and it helps fixing the dataset upstream.
Do you think we should reconsider this behavior? For instance, we could log a message instead of an error or a warning. The warning/error could be too alarming at a first glance.

@bchapuis Sorry, I was confused when I first saw this error and thought that the import process was terminated due to the error, so I did not check the database.

No problem, thank you for reporting this. I guess other people get the same impression and without reporting it. Let's fix this in the next release.


Use JSON.mapping for Generators

I believe we should be using JSON.mapping to simplify our Generator classes and make the code a bit cleaner.  We can simply map the canonical_data.json and create our Generator/Test Cases.
Example:
class HelloWorldGenerator < ExerciseGenerator
  JSON.mapping(
    exercise: String,
    version: String,
    cases: Array(HelloWorldTestCase)
  )
end

class HelloWorldTestCase < ExerciseTestCase
  JSON.mapping(
    description: String,
    property: String,
    expected: String
  )

  def workload
    "HelloWorld.hello.should eq(\"#{expected}\")"
  end

  def test_name
    description
  end
end

I saw that in the last PR you made. I think that makes a lot of sense.
I'm all for it!

I believe all generators were updated to use JSON.mapping.


American "Labor Day" should be spelled the American way

For other countries that have a "Labour Day", using the British/Canadian/Australian/etc spelling makes sense.
However, in the USA, the spelling should be "Labor Day".
I would make a PR for this, except that I'm not sure what is the best way to handle it:

I would put it in Yasumi\Provider\USA since I think Americans should see the other countries' version with a "u" and other countries should see the American holiday without a "u", but that requires also duplicating data/translations/labourDay.php as data/translations/laborDay.php.
I thought of just adding a line 'en_US' => 'Labor Day' to the translation file, but that would make other countries' Labour Days also spelled the American way when viewed by an American, and that's not what we want.

@kohenkatz Thank you for noticing this. The way to handle this by Yasumi is to add translations of a holiday in the respective file (in this case labourDay.php (Not that the filename just represents the internal name used by Yasumi and not it's translations)
For displaying the correct spelling depending on the user, you can pass a locale parameter with the getName() method. This accepts an array of locales to be searched for translations. E.g if ['en_US', 'de_AT'] is provided, the following lookup priority is used: en_US → en → de_AT → de.
So. simply adding the en_US translation to the labourDay file is sufficient to allow for any possible situation :)
Cheers! Sacha

@kohenkatz I've added a correct spelling in the 'dev' branch. It will be part of the upcoming 2.3.0 release.

Fixed in 2.3.0


updated the terra-toolkit dependency

Summary
testing TerraWDIOTestDetailsReporter on terra-core

Closing, the associated issue being tested has been merged.


Added PnP PowerShell script for Adding multiple folders.

Pull request for the issue https://github.com/pnp/script-samples/issues/207

Hey @Jitenparmar , thank you!! 👏 - I have made some small adjustments to help with rendering of the sample and to credit yourself. This should be live shortly 😊

Thank you so much @pkbullock


Determine best RPK Baseline

...one option for a reliable source:
Chart 2 in IATA 12-2023 Air Passenger Market Analysis
You can extract data using the WebPlotDigitizer.

You can close this issue if you're happy with the baseline you extracted from IATA.

@dodedic:

You can close this issue if you're happy with the baseline you extracted from IATA.

This can be closed, yes! (Don't have permission to close it myself)


Marker::copy seems to do nothing

No matter how I call Marker::copy I get undefined returned.
See https://discuss.atom.io/t/marker-copy-question/15150
Windows 8.1
atom 184

The current implementation is:
return this.displayBuffer.getMarker(this.bufferMarker.copy(properties).id);

I believe this alternative implementation will work:
return this.displayBuffer.markBufferRange(this.getBufferRange(), properties);

This still seems to be a problem. /cc @benogle @maxbrunsfeld for :eyes:

Ahhh, this seems to be happening for markers which are associated with selections. MarkerStore.destroyMarker gets called right after the marker was copied, because TextEditor is merging selections:

In other words, it seems that it's not possible to copy markers which are associated with selections. (As far as I can tell, this problem doesn't happen with non-selection markers). Not really sure what to do here, but perhaps we could update the docs for the Marker.copy method? /cc @nathansobo
Currently, the docs say this:

Essential: Creates and returns a new {Marker} with the same properties as this marker.

Which is a bit misleading since there are cases when a new marker might not be returned? :thought_balloon:

One thing you could do to avoid this when copying a selection's marker is to change the type of the marker so it's not considered a selection.
marker.copy({type: null})

Maybe it's worth documenting this?

One thing you could do to avoid this when copying a selection's marker is to change the type of the marker so it's not considered a selection. Maybe it's worth documenting this?

:+1: I like that idea, @nathansobo.


SWDEV-00004 - system hung when tvm tuning

Aug 23 19:48:42 loris systemd[1]: Finished Record System Boot/Shutdown in UTMP.
Aug 23 19:48:42 loris systemd[1]: Started Network Time Synchronization.
Aug 23 19:48:42 loris systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.
Aug 23 19:48:42 loris systemd[1]: Reached target System Time Set.

When your Ubuntu system hangs while running TVM's AutoTVM, it can be challenging to determine the exact cause. However, there are several steps you can take to diagnose and potentially resolve the issue. Here are some steps to help you troubleshoot:
1. Monitor System Resources
High resource usage (CPU, memory, disk I/O) can cause the system to hang. Use monitoring tools to check the system's resource usage.
Tools to Use:

htop: A more interactive and user-friendly version of top.
iostat: For monitoring disk I/O.
vmstat: For monitoring system performance.
free: For checking memory usage.

Install these tools if you don't have them:
sudo apt-get install htop sysstat

Example Usage:

htop: Run htop in a terminal to see real-time CPU, memory, and process information.
iostat: Run iostat -x 1 to see detailed disk I/O statistics.
vmstat: Run vmstat 1 to see system performance metrics.
free: Run free -h to see memory usage.

2. Check System Logs
System logs can provide valuable information about what might be causing the hang.
Logs to Check:

/var/log/syslog: General system log.
/var/log/kern.log: Kernel log.
/var/log/dmesg: Boot and hardware-related messages.

Example Commands:
tail -f /var/log/syslog
tail -f /var/log/kern.log
dmesg | tail

3. Use TVM's Debugging Tools
TVM provides some debugging tools that can help you understand what's happening during the AutoTVM process.
Enable Debug Logging:
Set the logging level to DEBUG to get more detailed output from TVM:
import logging
logging.basicConfig(level=logging.DEBUG)

4. Limit Resource Usage
If the issue is due to high resource usage, you can limit the resources used by AutoTVM.
Limit the Number of Trials:
Reduce the number of trials in your tuning options:
tuning_option = {
    'log_filename': 'tuning.log',
    'tuner': 'xgb',
    'n_trial': 100,  # Reduce the number of trials
    'early_stopping': 50,
    'measure_option': autotvm.measure_option(
        builder=autotvm.LocalBuilder(),
        runner=autotvm.LocalRunner(number=10, repeat=1, min_repeat_ms=1000),
    ),
}

Limit CPU Usage:
Use the taskset command to limit the CPU cores used by the process:
taskset -c 0-3 python your_script.py

This command will limit the script to use only the first four CPU cores.
5. Use a Swap File
If your system runs out of memory, it can hang. Adding a swap file can help mitigate this issue.
Create a Swap File:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Make the Swap File Permanent:
Add the following line to /etc/fstab:
/swapfile none swap sw 0 0

6. Profile the Code
Use profiling tools to identify bottlenecks in your code.
Use cProfile:
import cProfile
cProfile.run('your_function()')

Use line_profiler:
Install line_profiler:
pip install line_profiler

Add the @profile decorator to the functions you want to profile and run the script with kernprof:
kernprof -l -v your_script.py

7. Check for Hardware Issues
Sometimes hardware issues can cause the system to hang. Check for hardware errors using tools like smartctl for disk health and memtest86+ for memory tests.
Check Disk Health:
sudo apt-get install smartmontools
sudo smartctl -a /dev/sda

Run Memory Test:
Reboot your system and select the memory test option from the GRUB menu.
Summary

Monitor system resources using tools like htop, iostat, vmstat, and free.
Check system logs for any errors or warnings.
Enable debug logging in TVM to get more detailed output.
Limit resource usage by reducing the number of trials and limiting CPU usage.
Use a swap file to prevent out-of-memory issues.
Profile the code to identify bottlenecks.
Check for hardware issues using tools like smartctl and memtest86+.

By following these steps, you should be able to diagnose and potentially resolve the issue causing your system to hang while running TVM's AutoTVM.

taskset -c 0-3 python your_script.py  not work

32 GB still fail to build.


In case of errors, fallback to proxied images

closes #353

Coverage decreased (-0.09%) to 69.48% when pulling 4221d7c52dcf0470ac00ebd363447e55c6d9f83c on proxy-images-cors into ce20597a02614449d7089c7601cb00e85cf591f3 on master.


Add a license

This is great, can you please add a license so others can contribute or use in their projects?

https://choosealicense.com/
https://choosealicense.com/non-software/

Done, Thanks for letting me know!
On Fri, Jan 20, 2023 at 2:56 AM Justin Dorfman @.***>
wrote:

This is great, can you please add a license so others can contribute or
use in their projects?
https://choosealicense.com/
—
Reply to this email directly, view it on GitHub
https://github.com/Pranieth95/Sample-Secret-Keys/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJLYNAXD3EQN3NTCI2H3SSDWTGWRXANCNFSM6AAAAAAUA2MMOY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

LGTM thanks!


jQuery undefined in pages admin

I'm getting the following error when browsing the pages admin:
Uncaught TypeError: undefined is not a function  tree_component.js:476

I'm trying to get django-cms working along django-grappelli, which defines django.jQuery, which breaks tree_component.js.
A fix I found was to simply move the load jstree block after loading cms.base.js in https://github.com/divio/django-cms/blob/master/cms/templates/admin/cms/page/tree/base.html:
<!-- load jstree was here -->
<!-- load changelist -->
<script src="{% static "cms/js/modules/jquery.ui.custom.js" %}"></script>
<script src="{% static "cms/js/modules/cms.base.js" %}"></script>
<script src="{% static "cms/js/modules/cms.changelist.js" %}"></script>
<!-- load jstree moved here -->
<script src="{% static "cms/js/jstree/_lib/_all.js" %}"></script>
<script src="{% static "cms/js/jstree/tree_component.js" %}"></script>

I'm not too comfortable with all those jQuery noConflict dependencies, but that seems relatively safe, and could help with other modules that may define django.jQuery.
Side note: I think it could be nice to make jQuery and jQuery UI urls / loading configurable. Would allow to load them from CDN instead, and not have different versions loaded in the same page by different apps.

As a developer I'm not a big fan of a CDN solution. This is because the software shall be self-contained and runnable without requiring any connection to the Internet.
On the other side, I also dislike the bad practice to add files into your own repository, which are revisioned in another repository.
Therefore my suggestion is to add a file bower.json to the repository. It contains all the non-Python dependencies in a reproducible manner.
A developer cloning django-cms from GitHub, then must checkout these external dependencies with bower install --require. For normal installations, these files safely can be added to the egg or wheel package.
Side note: In https://github.com/jrief/djangocms-cascade first I started with adding external JS/CSS to my repo. Then I moved over to a CDN solution and had big trouble during development when I was without Internet. My final approach to the problem is to use the http://bower.io/ solution.

@mobula : I think your work around is safe enough, not 100% sure though, didn't follow latest front-end development. But AFAIK, it is a known fact that the project is not compatible with grappelli.
Regarding the CDN topic, sorry @jrief but I disagree, usage of a CDN has nothing to do with development and access to a connection ... The fact that you don't use a CDN when developing (which is what I do as well) shouldn't stop you from using one when going in production. Having an option to link to a CDN version of the big common libraries used in the project like jquery makes total sense.
Though I agree that having an external tool for fetching dependencies in development mode, keeps your git history safe from big static files diffs you don't care about.

@johnraz I'am not opposed to CDNs. But it still is more important to have a self-contained app. With a bower.json file this is possible; referring to files located on a CDN it is not. Consider, that some CMSs are located in Intranets with no access to a CDN.
If you can show us a DRY solution where you can switch between files hosted locally and the same files hosted on a CDN, I'd be very interested. Unfortunately I didn't find any.
Since bower used GitHub to download the packages, maybe we could use that information to refer to the corresponding file via https://rawgit.com/. But I haven't found any app yet.
BTW: django-bower is not an option.

Well, important it is for your specific use case, but there are plenty of scenarios where relying on a CDN is more important than relying on a local file, especially for high traffic websites.
Html5 boilerplate shows one solution here, for jQuery: https://github.com/h5bp/html5-boilerplate/blob/master/src/index.html#L25
Bower doesn't specifically use github to download its file ... it uses whatever is referenced in the bower.json file, and can be as unreliable as any link on the web ;-)
Anyway, having js files uncompressed and not concatenated in production is definitely not a best practice. Having plenty of files loaded separately should be avoided.

I like approaches such as that used in https://github.com/dyve/django-bootstrap3/blob/develop/bootstrap3/bootstrap.py

@mobula

bower.json seems like an interesting approach, but I'm not familiar enough with it (it obviously hasn't been adopted in the Django world).

Using bower.json in Django projects is very straight forward and I do it all the time. Here is how it works:
In the project's settings.py add
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
    ('bower_components', os.path.join(PROJECT_ROOT, 'bower_components')),
)

Then in all templates, includes externally manages files with something such as
<script src="{% static 'bower_components/jquery/dist/jquery.min.js' %}"></script>

By keeping a bower.json file in your repository, you can avoid to add files to your repository which have been revisioned by another package. The latter by the way, is an anti-pattern in software development.