IDL is not emitting struct type with errror "Type not found: {"type":{"defined":"Item"}}

Here is an example program that should be reproducible with a directory structure according to the tutorial (with programs/basic-1/-like structure):
lib.rs
use anchor_lang::prelude::*;
use crate::priority_queue::Globals;

const PRIORITY_QUEUE_MAX_SIZE: usize = 1024;

#[account(zero_copy)]
pub struct PriorityQueue {
    pub items: [Item; 1024],
    pub curr_size: usize,
}

#[account(zero_copy)]
pub struct Item {
    pub data: i64,
}

impl PriorityQueue {
    fn new() -> Self {
        PriorityQueue { items: [Item {data: 0} ; 1024], curr_size: 0, }
    }

    fn is_full(&self) -> bool {
        self.curr_size >= PRIORITY_QUEUE_MAX_SIZE
    }

    fn is_empty(&self) -> bool {
        self.curr_size <= 0
    }

    fn push_item(&mut self, value: Item) {
        let curr_size = &mut self.curr_size;
        self.items[*curr_size] = value.into();
        *curr_size += 1;
    }

    fn try_pop_item(&mut self) -> std::result::Result<Item, ErrorCode> {
        if self.is_empty() {
            return Err(ErrorCode::CannotPopEmptyQueue);
        }

        let curr_size = &mut self.curr_size;

        let last_item = std::mem::replace(&mut self.items[*curr_size-1], Item { data: 0});
        *curr_size -= 1;

        Ok(last_item)
    }
}

////////////////////////////////////////////////////////////////////////////////

#[derive(Accounts)]
pub struct New<'info> {
    #[account(signer)]
    pub authority: AccountInfo<'info>,
}

#[derive(Accounts)]
pub struct SetEvent<'info> {
    #[account(signer)]
    pub authority: AccountInfo<'info>,
}

#[derive(Accounts)]
pub struct PushItem<'info> {
    pub item: Loader<'info, Item>,
    #[account(signer)]
    pub authority: AccountInfo<'info>,
}

#[derive(Accounts)]
pub struct PopItem<'info> {
    #[account(signer)]
    pub authority: AccountInfo<'info>,
}

////////////////////////////////////////////////////////////////////////////////

// For reference: copied from https://github.com/project-serum/anchor/blob/master/examples/zero-copy/programs/zero-copy/src/lib.rs
//
// A separate type is used for the RPC interface for two main reasons.
//
// 1. AnchorSerialize and AnchorDeserialize must be derived. Anchor requires
//    *all* instructions to implement the AnchorSerialize and AnchorDeserialize
//    traits, so any types in method signatures must as well.
// 2. All types for zero copy deserialization are `#[repr(packed)]`. However,
//    the implementation of AnchorSerialize (i.e. borsh), uses references
//    to the fields it serializes. So if we were to just throw tehse derives
//    onto the other `Event` struct, we would have references to
//    `#[repr(packed)]` fields, which is unsafe. To avoid the unsafeness, we
//    just use a separate type.
#[derive(AnchorSerialize, AnchorDeserialize)]
pub struct RpcItem {
    pub data: i64,
}

impl From<RpcItem> for Item {
    fn from(value: RpcItem) -> Self {
        Item { data: value.data }
    }
}

fn auth(globals: &Globals, key: &Pubkey) -> ProgramResult {
    if &globals.authority != key {
        return Err(ErrorCode::UnauthorizedAuthority.into());
    }
    Ok(())
}

////////////////////////////////////////////////////////////////////////////////

#[error]
pub enum ErrorCode {
    #[msg("The given authority is unauthorized to perform this operation.")]
    UnauthorizedAuthority,
    #[msg("Priority queue is full.")]
    MaxCapacityLimitReached,
    #[msg("Cannot pop from an empty priority queue.")]
    CannotPopEmptyQueue,
}

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

#[program]
pub mod priority_queue {
    use super::*;

    #[state(zero_copy)]
    pub struct Globals {
        pub last_item: Item,
        pub authority: Pubkey,
        pub queue: PriorityQueue,
    }

    impl Globals {
        // NOTE: zero-copy state accounts use &mut self
        pub fn new(&mut self, ctx: Context<New>) -> ProgramResult {
            self.authority = *ctx.accounts.authority.key;
            Ok(())
        }

        #[access_control(auth(&self, &ctx.accounts.authority.key))]
        pub fn push_item(
            &mut self,
            ctx: Context<PushItem>,
            item: RpcItem,
        ) -> ProgramResult {
            if self.queue.is_full() {
                return Err(ErrorCode::MaxCapacityLimitReached.into());
            }
            Ok(())
        }

        #[access_control(auth(&self, &ctx.accounts.authority.key))]
        pub fn pop_item(
            &mut self,
            ctx: Context<PopItem>,
        ) -> ProgramResult {
            let item = self.queue.try_pop_item()?;

            self.last_item = item;

            Ok(())
        }
    }
}

////////////////////////////////////////////////////////////////////////////////

#[cfg(test)]
mod tests {
    use std::mem::size_of;
    use crate::{Item};

    #[test]
    fn item_should_be_size_of_data() {
        assert_eq!(size_of::<Item>(), size_of::<i64>());
    }
}

Cargo.toml
[package]
name = "priority-queue"
version = "0.1.0"
description = "Zero-copy initialized priority queue for Solana with Anchor"
edition = "2018"

[lib]
crate-type = ["cdylib", "lib"]
name = "priority_queue"

[features]
no-entrypoint = []
no-idl = []
cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = "0.13.2"

Xargo.toml
[target.bpfel-unknown-unkown.dependencies.std]
feature = []

Generated priority_queue.json
{
  "version": "0.0.0",
  "name": "priority_queue",
  "instructions": [],
  "state": {
    "struct": {
      "name": "Globals",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "lastItem",
            "type": {
              "defined": "Item"
            }
          },
          {
            "name": "authority",
            "type": "publicKey"
          },
          {
            "name": "queue",
            "type": {
              "defined": "PriorityQueue"
            }
          }
        ]
      }
    },
    "methods": [
      {
        "name": "new",
        "accounts": [
          {
            "name": "authority",
            "isMut": false,
            "isSigner": true
          }
        ],
        "args": []
      },
      {
        "name": "pushItem",
        "accounts": [
          {
            "name": "item",
            "isMut": false,
            "isSigner": false
          },
          {
            "name": "authority",
            "isMut": false,
            "isSigner": true
          }
        ],
        "args": [
          {
            "name": "item",
            "type": {
              "defined": "RpcItem"
            }
          }
        ]
      },
      {
        "name": "popItem",
        "accounts": [
          {
            "name": "authority",
            "isMut": false,
            "isSigner": true
          }
        ],
        "args": []
      }
    ]
  },
  "accounts": [
    {
      "name": "PriorityQueue",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "items",
            "type": {
              "array": [
                {
                  "defined": "Item"
                },
                1024
              ]
            }
          },
          {
            "name": "currSize",
            "type": {
              "defined": "usize"
            }
          }
        ]
      }
    },
    {
      "name": "Item",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "data",
            "type": "i64"
          }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "RpcItem",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "data",
            "type": "i64"
          }
        ]
      }
    }
  ],
  "errors": [
    {
      "code": 300,
      "name": "UnauthorizedAuthority",
      "msg": "The given authority is unauthorized to perform this operation."
    },
    {
      "code": 301,
      "name": "MaxCapacityLimitReached",
      "msg": "Priority queue is full."
    },
    {
      "code": 302,
      "name": "CannotPopEmptyQueue",
      "msg": "Cannot pop from an empty priority queue."
    }
  ],
  "metadata": {
    "address": "2YeGb9TEau5AZknjryWAVuEULA8tSNrMMssW823jDk68"
  }
}

     Error: Type not found: {"type":{"defined":"Item"}}
      at Function.fieldLayout (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/idl.js:101:31)
      at Function.fieldLayout (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/idl.js:111:48)
      at /home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/idl.js:126:36
      at Array.map (<anonymous>)
      at Function.typeDefLayout (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/idl.js:125:54)
      at /home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/accounts.js:20:46
      at Array.map (<anonymous>)
      at new AccountsCoder (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/accounts.js:19:38)
      at new Coder (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/coder/index.js:32:25)
      at new Program (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/program/index.js:54:23)
      at /home/atasato/node_modules/@project-serum/anchor/dist/cjs/workspace.js:71:44
      at Array.forEach (<anonymous>)
      at Object.get (/home/atasato/node_modules/@project-serum/anchor/dist/cjs/workspace.js:64:39)
      at Context.<anonymous> (tests/basic.js:10:42)
      at processImmediate (node:internal/timers:464:21)

It appears that the struct type Item is not being emitted into the IDL under the types section which is why it cannot resolve it when trying to run ANY of my tests under my tests/ folder? This seems to interfere with the generation of the client at runtime regardless of what test is being run.

$ solana --version
solana-cli 1.7.8 (src:7aced9e7; feat:2045430982)

$ anchor --version
anchor-cli 0.13.2

The problem is that Item is being marked as an account but it is being used as a type. Try changing it to
#[zero_copy]
pub struct Item {
    pub data: i64,
}

@armaniferrante  met the same issue,  changing #[account]  on #[zero_copy] bring new issue during build step:
#[account]
| ^^^^^^^^^^ the trait BorshSerialize is not implemented for Implant

Do you have Implant type in the code? If so you need implement BorshSerialize for it.

There is a same issue.

AnchorSerialize is not BorshSerialize

@fanatid yes I have, but I actually do not understand what do you mean. Would you able to show an example?

Anyone having same issue, you can solve it using
#[derive(AnchorSerialize, AnchorDeserialize, Clone)]
pub struct HouseOwner {
    pub address: Pubkey,
    pub share: u8, // 0 - 100
}

The issue is sometimes by mistake you declare all struct as #[account] = replace => #[derive(AnchorSerialize, AnchorDeserialize, Clone)]

I'll close since no response from an issue creator.


Unexpected Size Error while installing kibana with apt

While trying to install kibana using apt on a debian 10.1 sytem
I'm running into a File has unexpected size error
apt install opendistroforelasticsearch-kibana
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  opendistroforelasticsearch-kibana
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 131 MB of archives.
After this operation, 463 MB of additional disk space will be used.
Get:1 https://d3g5vo6xdbdb9a.cloudfront.net/apt stable/main amd64 opendistroforelasticsearch-kibana amd64 1.2.0 [131 MB]
Err:1 https://d3g5vo6xdbdb9a.cloudfront.net/apt stable/main amd64 opendistroforelasticsearch-kibana amd64 1.2.0
  File has unexpected size (131112300 != 130832018). Mirror sync in progress? [IP: 2600:9000:200d:d600:5:2612:4f80:21 443]
  Hashes of expected file:
   - SHA512:daac48df089ef2fecd2a373d5c7db66bdd6f9cfe28c3d01d6e01b584d2b0b5bc4ad5ca8e3efbae156a8f356466d4d3341593ba5f6b737e01ddbdcb78a06f3d46
   - SHA256:0e13a486b4ff829d3c40df57799a119532a2fb4c9f339e658c154b779e444d72
   - SHA1:9f6b503129e17d2da37ff1b38df2047502bd7ccf [weak]
   - MD5Sum:3712b6b21f81678304da739053768bfd [weak]
   - Filesize:130832018 [weak]
E: Failed to fetch https://d3g5vo6xdbdb9a.cloudfront.net/apt/pool/main/o/opendistroforelasticsearch-kibana/opendistroforelasticsearch-kibana-1.2.0.deb  File has unexpected size (131112300 != 130832018). Mirror sync in progress? [IP: 2600:9000:200d:d600:5:2612:4f80:21 443]
   Hashes of expected file:
    - SHA512:daac48df089ef2fecd2a373d5c7db66bdd6f9cfe28c3d01d6e01b584d2b0b5bc4ad5ca8e3efbae156a8f356466d4d3341593ba5f6b737e01ddbdcb78a06f3d46
    - SHA256:0e13a486b4ff829d3c40df57799a119532a2fb4c9f339e658c154b779e444d72
    - SHA1:9f6b503129e17d2da37ff1b38df2047502bd7ccf [weak]
    - MD5Sum:3712b6b21f81678304da739053768bfd [weak]
    - Filesize:130832018 [weak]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Closing for now. @creatissimo if you're still looking for help, feel free to post a question to the Open Distro forum.


v-model.lazy doesn`t update input value when I press Enter

Version
2.5.17
Reproduction link
https://jsfiddle.net/NikitaGetman/nrst6hf4/
Steps to reproduce

Open console
Type something in input and press Enter
data updated and getter called but value the same
Type something in input and change focus
It works well!

What is expected?
When you press Enter value have to update too, like in previus version
What is actually happening?
When you press Enter getter called but value the same

It does work...
FYI, lazy change the event listener from input to change, it's not related to enter being pressed. Maybe the browser you are testing is not emitting that event. You should maybe use a form with submit event if you want to detect the enter

I mean input.value, not vue.data
vue.data updates well. But input.value still the same in spite of getter called
In vue 2.2.1 input updates when I press Enter

It does work...
FYI, lazy change the event listener from input to change, it's not related to enter being pressed. Maybe the browser you are testing is not emitting that event. You should maybe use a form with submit event if you want to detect the enter

I mean input.value, not vue.data
vue.data updates well. But input.value still the same in spite of getter called
In vue 2.2.1 input updates when I press Enter

@posva


System.InvalidOperationException when Using Table Splitting

Hi Leonardo,
I'm getting this:
System.InvalidOperationException: 'The property 'LargeBlob.Id' is part of a key and so cannot be modified or marked as modified. To change the principal of an existing entity with an identifying foreign key, first delete the dependent and invoke 'SaveChanges', and then associate the dependent with the new principal.'
I was trying this sample here: https://entityframeworkcore.com/knowledge-base/49470417/ef-core-2-0---2-1---------------------
Do you have an idea if this is a bug or not? is there a workaround for it?
Cheers,
Rico

Forgotten about the CompositionAttribute by the LargeBlob property.


Imply rule of five to CacheReplacement interface

Can you please link the rule of 5, you are talking about. I've looked throw Code form presentation, and could find anything related to this.

https://ru.wikipedia.org/wiki/Правило_трёх_(C%2B%2B)

Thank you. Most of the changes were renaming of the classes, so I was looking for the rule of five somehow related to naming rules.

https://geekshumor.com/wp-content/uploads/2013/09/Code-Refactoring.gif


Federation Runtime not sharing same react context

Describe the bug
I have a external lib that creates a react context.
I'm using that lib in both remote and shell apps.
The shell app is sharing the lib as singleton, but the remote app can't get the same react context.
I'm confusing if it is a issue of Module Federation or not.
Reproduction
https://github.com/douglaszaltron/practical-module-federation
Used Package Manager
pnpm
System Info
System:
    OS: Linux 5.14 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
    CPU: (8) x64 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
    Memory: 6.96 GB / 15.40 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 20.15.0 - ~/.nvm/versions/node/v20.15.0/bin/node
    npm: 10.7.0 - ~/.nvm/versions/node/v20.15.0/bin/npm
    pnpm: 9.5.0 - ~/.nvm/versions/node/v20.15.0/bin/pnpm
  Browsers:
    Chrome: 127.0.6533.88

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

The runtime init has no get or lib attributes. Read the docs. You can't just specify versions of stuff without the getter for the thing itself.

The runtime init has no get or lib attributes. Read the docs. You can't just specify versions of stuff without the getter for the thing itself.

After reviewing the documentation, I couldn't fully understand how sharing works in runtime mode. Do you have an example of usage? It might become clearer with a practical example. Even in this repo, with a code snippet that we can modify.
I'm a bit confused about the sharing between the remote and the shell. 🤔 💭

@zhoushaw I noticed that you had created a runtime app example. Maybe you can help us. In this example, is there anything that we need to modify to make the sharing work? It would be a great addition to the repo, as I believe others might encounter this issue or need this concept.

          const root = ReactDOMClient.createRoot(info.dom);
Another question came up. While reviewing the bridge's source code, I noticed that when using a shared component together, the providers won't be shared because a new React "root" is created in each microfrontend. As a result, the React tree becomes separate, preventing the context from propagating since a new instance will be recreated. Is that correct?
@ScriptedAlchemy @zhoushaw

@douglaszaltron https://github.com/module-federation/module-federation-examples/blob/master/dynamic-system-host/app1/src/App.js

Yes thats correct, since the bridge is a new react app. You can always pass the provider back down again to proxy it back through.

Yes thats correct, since the bridge is a new react app. You can always pass the provider back down again to proxy it back through.

I didn't quite understand the last statement about passing the provider down.
In the examples, I couldn't get the same instance of the provider, as it always recreates the state.
After running some tests, I was able to propagate and use the same instance using runtime, but when used together with the bridge, it didn't work.
Is there any way to recover the instance and propagate the changes using the bridge?

get the context and pass it as props.
parentContext = useContext(parent)

Something like that, you will have to proxy the context through since its another app tree.

Today, I find myself limited when using the bridge because I need to share contexts such as authentication, authorization, user data, and queries. This lack of straightforward sharing hinders my ability to distribute tasks across segmented teams.
It would be highly beneficial if the plugin (SDK) had an option to enable or disable context sharing, allowing the same React tree to be used.

I'll look into a example of cross app context share. The problem in general though is that this might not be possible for us to automate context discovery. Since you mave many providers and since these are implicit dependencies somewhere else, these providers etc are registered internally inside the react instance. When mounting another application, it uses a different instance of react. React doesn't have something like React.getAllContextProvidersInTree so we have no way to know what or where you might put something.

Tks! 🚀


[Mention The Feature]: Implement Toast Notification and Auto-Navigation for Sign Up Button

Is your feature request related to a problem? Please describe.
i think when clicked on signup through toast-notification system it should take to signup page displaying message navigating to sign up page something like that. as that is not functional right now i want to make this modifications

Describe the solution you'd like.
To improve the user experience, I'd like to modify the current system so that when the "Sign Up" button is clicked, instead of showing a basic alert, a toast notification appears. The toast should display a message such as "Navigating to Sign Up page..." and then redirect the user to the signup page after a brief delay.
Proposed Modifications:
Toast Notification: Implement a toast notification system to inform users that they are being redirected to the signup page.
Navigation Delay: Once the "Sign Up" button is clicked, show the toast message and automatically navigate to the signup page after a few seconds.
Non-intrusive Experience: The toast should appear smoothly, enhancing the user experience without disrupting the page flow.
Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

@ananyag309 assigning this issue to you.
Make sure to complete this within 2 days.


ESP32C3 i2s.c and i2s_hal.c don't compile (IDFGH-5365)

esp-idf-v4.3-rc/components/driver/i2s.c:1017: undefined reference to 'rtc_clk_apll_enable'
esp-idf-v4.3-rc/components/hal/i2s_hal.c:273: undefined reference to 'I2S0'
looking at  esp-idf/components/esp_hw_support/port/esp32c3/rtc_clk.c I can see that rtc_clk_apll_enable is not defined in there, which brings me to conclusion that I2S does not work at all on ESP32C3?

Unfortunately I2S support for C3 did not make it into v4.3, but it'll be there for v4.4 (and hopefully on master soon)
The README.md for each example lists which targets are supported, but I agree we need to make this more obvious for users if they are compiling for a non-supported target.

for rtc_clk_apll_enable, according to their unfinished tech reference manual, there is no such thing is Audio PLL. you can create an empty definition to bypass this in %ESP-IDF%/esp_hw_support/port/esp32c3/rtc_clk.c
for I2S0, it should be I2S1 according to the %ESP-IDF%/esp32c3/ld/esp32c3.peripherals.ld file. You can modify the I2S_LL_GET_HW macro in file %ESP-IDF%/hal/esp32c3/include/hal/i2s_ll.h to match the peripherals.Id file. In addition, please make sure that the %ESP-IDF%/soc/esp32c3/include/soc/i2s_struct.h file is also modified to match I2S1 definition instead of I2S0.
Furthermore, there is %ESP-IDF%/soc/esp32c3/i2s_periph.c file that is missing values. Based on %ESP-IDF%/soc/esp32c3/include/soc/gpio_sig_map.h file, it seems to be the following.
.o_bck_in_sig = I2SO_BCK_IN_IDX,
.o_ws_in_sig = I2SO_WS_IN_IDX,
.o_bck_out_sig = I2SO_BCK_OUT_IDX,
.o_ws_out_sig = I2SO_WS_OUT_IDX,
.o_data_out_sig = I2SO_SD_OUT_IDX,
.i_bck_in_sig = I2SI_BCK_OUT_IDX,
.i_ws_in_sig = I2SI_WS_OUT_IDX,
.i_bck_out_sig = I2SI_BCK_IN_IDX,
.i_ws_out_sig = I2SI_WS_IN_IDX,
.i_data_in_sig = I2SI_SD_IN_IDX
After all these changes in esp-idf folder, you should be able to compile your project now.

Have you got it working on C3? This may compile, but perhaps won't work as many definitions are incomplete in:
esp-idf/components/hal/esp32c3/include/hal/i2s_ll.h

attached gist is what I got so far. I have checked their WIP ESP32-S3 (it is using that GDMA as well) tech reference manual too and nothing there can guide us for low level I2S register manipulation. In addition, %ESP-IDF%/soc/esp32c3/include/soc/i2s_struct.h seems to be incomplete/incorrect as well. Please someone enlighten us on how to make this I2S (with GDMA) works.
https://gist.github.com/xw901103/5ff1c37590d2a4659ef09fe2a4babc3d

Exactly, I2S on ESP32-C3 and ESP32-S3 uses GDMA instead of a dedicated DMA, and APLL is useless on these two chips.
Additionally, new I2S will support TDM mode which means you can use up to 16 channels and more flexible slot configurations.
The good news is that the new I2S driver will be available on master soon (I guess won't be more than two weeks).
If you still want to use I2S by yourself anyway, generally,

You should switch to master branch and use GDMA interface to transport data.
Please register  I2S GDMA in i2s_driver_install using gdma_new_channel, gdma_connect and gdma_register_rx_event_callbacks
Remember you should write a new gdma callback function for gdma_register_rx_event_callbacks.
Than use gdma_start to start the GDMA transmition in i2s_start.

It's hard to tell all the details here, also I don't recommend you to use GDMA by yourself, because hardware has been changed due to the new features. My suggestion is waiting for the new I2S driver on the master branch.

Thanks for reporting, this has been implemented at https://github.com/espressif/esp-idf/commit/8131d6f46d690e9cb60cc5cd457863cc5479351f, and will be part of IDF v4.4 release, feel free to reopen. Thanks.


Ansible plugin options not displayed under rundeck's "Add Steps - Node Based"

I am using ansible plugin version "ansible-plugin-2.0.2.jar" for rundeck, after configuring the rundeck project with Ansible Node execution and Ansible File copy options I went-on to create a job in rundeck.
But under the "Add Step" option in rundeck, we normally have "Node Steps Plugins" and "WorkFlow Steps Plugins"
By using this version ("ansible-plugin-2.0.2.jar") of ansible plugin I do not see the Ansible Module and Ansible Playbook plugins listed under "Node Steps" list of plugins, whereas it only gets displayed under the "WorkFlow Steps"
This was not the case with "ansible-plugin-1.3.2.jar".
Please help on this.

This is because this is an actual update to the behavior of the plugin.  It will only appear in the workflow steps.


Logic bug in a pattern used to obtain IDs.

This task is automatically imported from the old Task Issue Board and it was originally created by Keziah Wesley.
Original issue is here.

Some Rust libs are using pointers in ways that are incorrect when the underlying allocations are freed
At least 5 places in the codebase use pointers to create IDs that are intended to be unique and stable, e.g. Id(Rc::downgrade(&self.rc).as_ptr() as *const () as usize).
(The 5 usages can be found in these search results; note that that search also returns two false positives that are not instances of the pattern in question.)
In some runtime circumstances, an ID produced this way can end up identifying a different object than intended, which would cause logically incorrect behavior.
The IDs can be invalid due to weak reference semantics
In some cases, these pointers are obtained using Weak::as_ptr. The value returned by that function is unspecified if the strong count of the Rc is 0. I am not sure if this would cause problems in practice, except when it overlaps with the next issue:
IDs can collide when addresses are reused
Even an ID that is valid when it is generated can later refer to a different object, e.g. if a sequence of events like this occurs:

Some ObjectA is created; its ID is obtained and stored.
The last reference to the Rc holding ObjectA is dropped; its memory is reclaimed.
A new ObjectB is created. It happens to be allocated at the same address as ObjectB was.
Now the ID that originally referred to ObjectA refers to ObjectB!

Address reuse for objects of the same type is likely to occur in practice if there is some timeframe where many objects are being created and destroyed.
Possible solutions
Maybe some IDs could be replaced with (wrapped) weak references
Using pointers for IDs correctly would require ensuring the addresses are unique as long as the IDs are alive; this is exactly what Rc::weak exists to do. While this is a clean solution, the IDs are no longer plain data; they become more expensive to clone, can't be serialized, and would need wrappers to be compared by identity. I don't know if those are important considerations for how these IDs are used.
IDs can be assigned by incrementing a global
This requires adding a new field to references to remember the assigned ID, but this way the IDs would still be Copy types.
Comments:
Keziah Wesley reports a new STANDUP for today (2022-03-18):
Progress: I implemented a sound API for ID generation. It should be finished by 2022-03-18. (Enso Bot - Mar 18, 2022)

**Keziah Wesley** reports a new **🔴 DELAY** for the last Friday (2022-04-01):
Summary: There is 16 days delay in implementation of the Logic bug in a pattern used to obtain IDs. (#181610155) task.
It will cause 0 days delay for the delivery of this weekly plan.
Delay Cause: Latency caused by nullability design issue that came up. Started and finished other tasks before getting back to this.
Possible solutions: Should have reduced back-and-forth about the issue with a quick meeting. (Enso Bot - Apr 4, 2022)

**Keziah Wesley** reports a new **STANDUP** for the last Friday (2022-04-01):
Progress: Examined/measured performance characteristics of safe-ids; investigated a test crash that reveals a little problem with no obvious perfect solutions. Handed off 2nd GL optimization; measured its impact; had a quick look at my next potential target, Graph::new. It should be finished by 2022-04-03.
Next Day: Next day I will be working on the ##181610155 task. TBD after meeting. (Enso Bot - Apr 4, 2022)

Status: postponed until overlarge function that causes compilation problems is refactored. See discussion in PR. (Keziah Wesley - May 26, 2022)

Closing, as it's specific to old GUI


Value of items gained from Miscellania kingdom

**Is your feature request related to a problem? No.
A clear and concise description of what the problem is.
I'd really like to be given the value of the items obtained from miscellania. And, if possible, profit gained based off of what was spent.
Describe the solution you'd like
I just want a notification in the "game" tab regarding the value.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've
considered.
Additional context
Add any other context or screenshots about the feature request here.

If possible an in game calculator for assisting in choosing where to put workers.

That's an excellent idea, Rough-draft. I'm not sure how difficult that would be

Getting the value of the items gained is already tracked in the loot tracker.


Added Mon Lecture 01 notes

You have to have a forked repo that's up to date before you make a pull request.


syringe ops real

About the PR
Ask and ye shall receive. Added the syringe gun and unbitchmade-ified it based on our lord and saviour SS13.
It can now load 15u syringes. The default version can only load one at a time. Theres an unlockable rapid version that takes 6 shots. The CMO gets the rapid version for themselves round start. None of these can penetrate armor. These guns are also large, and take about as much space as a Kammerer.
Theres also a traitor version for 30tc which can penetrate armor, only holds one syringe, and is only purchaseable by medical traitors. It can also fit in pockets.
Did I mention that these inject all of their contents on embed now too? Fun times. Additionally, the CMO has gotten a few new goodies:

A box of pax syringes on their locker to use with the funny gun
Swapped their toolbelt with a webbing with no whitelist that holds a set of advanced surgical tools (a medical analogue to the CE's advanced shit), and their usual round start topicals.

Why / Balance
Medical is fairly defenseless against shitters, tiders and other would-be-evildoers, this gives them a bit more of an edge to defend themselves and potentially validhunt better.  I should've added this one as well but decided to test the waters first.

Media

Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.
[ ] I have added defelinization surgery.

Changelog
:cl: Mocho

add: Added 3 different flavors of syringe guns, 2 obtainable by crew, 1 by traitors
add: CMOs lockers now contain a Rapid Syringe Gun and a box filled with 6 pax syringes. Don't validhunt too much with them will you?
tweak: The CMO now spawns with a webbing filled with advanced surgical instruments along with their usual gear.
tweak: Syringes shot from a syringe gun do not pierce armor unless they are shot from a gun with the necessary components.
tweak: Throwing syringes now embeds them on entities, and transfers 2u of the contents. Doesn't pierce armor.

Summary by CodeRabbit
Release Notes

New Features

Introduced new syringe-based weapons: Syringe Gun, Rapid Syringe Gun, and Dart Syringe Gun, each with unique functionalities.
Added a new SyringeGunComponent for instant injection of syringe contents.
Enhanced injection mechanics for syringes, allowing for varied interactions based on conditions.
New technology entries related to medical defense and advanced treatments.
Added new item to the uplink catalog: Dart Syringe Gun.

Bug Fixes

Improved error handling and control flow in injection processes.

Documentation

Updated catalog entries and descriptions for new items and technologies.

Chores

Added metadata files for new textures and assets related to the syringe guns.

update CL, fix conflicts @gluesniffler

update CL, fix conflicts @gluesniffler

done

How much armor is required to block a syringe? Is ANY outer wear enough?


Use better return types

Small improvement. Change return types from Iterable to list. Usually it's recommend that the return type be as specific as possible since that helps with downstream typing.
Came across this issue while testing a new mypy feature with Home Assistant.

Thanks. So my impression is that it if something takes an input then its still better to accept an iterable input of possible rather than a list, but for a return value being more specific/accurate is better (e.g. so you can use properties of the list)? I think i get it, thanks.

Thank you for the explanation! Very helpful.

Let me know if there is any time frame you want this in HA and I can facilitate.

Let me know if there is any time frame you want this in HA and I can facilitate.

There isn't any rush. The check hasn't been accepted into mypy yet and the next release is at least one month out. No need to do an extra release just for it.

@allenporter Sorry do bug you. The mypy PR was merged today and will be included in the next release. Just wanted to ask if you have an idea when you want to do the release. It would be awesome if it would be fixed by the time I prepare the next mypy update for Home Assistant.

Thanks for the reminder: https://github.com/home-assistant/core/pull/82066

Thanks for the reminder: home-assistant/core#82066

Awesome! Thank you 👍🏻


⚠ RPC server - xDai has degraded performance

In ca5fa2d, RPC server - xDai ($XDAI_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 414 ms

Resolved: RPC server - xDai performance has improved in c006528 after 27 minutes.


Bootstrap does not remember firecloud URL

Bug Report
Expected behaviour
Are you using logstash (true or false)? Previous value:
false
Do you want to enable CWL Viewer in DAG (true or false)? Previous value:
false
Do you want to enable Launch with FireCloud (true or false)? Previous value:
true
What is the Launch with FireCloud base url? Unless it's a staging FC enviornment, it should be https://portal.firecloud.org/#import/dockstore
<previous value>

Actual behaviour
Are you using logstash (true or false)? Previous value:
false
Do you want to enable CWL Viewer in DAG (true or false)? Previous value:
false
Do you want to enable Launch with FireCloud (true or false)? Previous value:
true
What is the Launch with FireCloud base url? Unless it's a staging FC enviornment, it should be https://portal.firecloud.org/#import/dockstore
<blank>

:+1:


'mock sparsity'

I'm new to sparsity. So I'm a little confused by this sentence in the readme :
"We mock sparsity by using binary masks and use dense operations for simulating sparsity. In the longer run, we also plan to provide integration with the jax.experimental.sparse, aim to reduce the memory footprint of our models."
What is meant by 'we mock sparsity'?

It means the sparse parameters are represented as dense matrices together with binary masks of matching shape. I would recommend checking the quick start colab, where you can find these parameters and masks.


chore: Remove locale from docs.microsoft.com links

Quick search for docs\.microsoft\.com/\w{2}-\w{2}/ to find links that still had the locales. Few hits in samples that were ignored.
Many of these are internal to this repo and could also be relative links

@nschonni : Thanks for your contribution! The author, @tamram, has been notified to review your proposed change.

Looks good; merging.


feat: add (almost) full pattern support

Part of #29.
Things that are missing:

Qualified paths in patterns (we don't support them at all)
Macro calls.

Support for #[expandable::pat] has also been added.
I found a cool side-quest while working on this: https://github.com/ferrocene/specification/pull/494.

Stable-only span issue >///<


[Swift 4] Update Heap

Checklist

[x] I've looked at the contribution guidelines.
[x] This pull request is complete and ready for review.

Description
Update Heap To Swift 4
#507

@remlostime
Hey! Great work so far, thanks for doing the migrations. Just a reminder that we use 2 space indents for our code. For future updates / contributions, could you change the indentation to 2 spaces?
FYI - You can format large blocks of code using ctrl + i.

@kelvinlauKL Sure.


Made README file appealing

Issue #71
Changes

Added Socalify element to README.file
Added Copyright Logo at the end
Improved the Contributionidea.md file
Improvised the look to contribution guidlines

I have removed the changes of Contributionidea.md
and resolved the merge conflict
Please review @biratdatta


Import/export waypoint missions

It would be useful to import .txt files created in Mission Planner or APM Planner and export them in the same format.

Please assign this issue to me. Thanks!


Date separator (and new messages bar) shows on new query with use

Both should probably not show

Hmm, I specifically add a date-marker when opening a channel/query because for me that makes sense, otherwise the first time you message someone/join a channel, there would be no date-marker. I won't argue against removing it though if people think it should be removed.
I agree that the new message marker probably shouldn't show up if you started the query though.

I'm not sure the issue?
The date marker is fine for @stepie22's reasons, and it is a new message, isn't it? So the unread marker would make sense as well.

Yeah this is not exactly a bug. Whois info comes after the windows is open, thus the messages are new.

Alright, closing then. @MaxLeiter If you really think it's an issue, re-open and suggest what you would prefer, but I think this is fine.

I felt it was an issue because you "create" the Whois messages and it felt cluttered, but not a big deal


[notebooks] clear output cell information left in notebooks

Remove unnecessary cell output left in notebooks.
Cleaned by running:
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace ./finn_examples/notebooks/*.ipynb
Tip for doing this cleanup automatically when committing code with a hook: https://zhauniarovich.com/post/2020/2020-06-clearing-jupyter-output/

Thanks a lot!


Issue: scorecard to detect Binary Artifacts from local directory in command line (terminal)

Hi Team,
Note: Editing my originally raised issue:
We are trying to use scorecard for Binary Detection. Our aim is to detect binary in local folder. I was able to detect binaries in my personal github repo, however wasn't able to get results while executing on local folder using --local argument. I then built the code locally, added FileBased option in checks/binary_artifact.go init() and generated the build. The Binary Detection was successful. I was able to generate json output with score 9, due to 1 binary in the local folder.
I did added Environment variable for SARIF format as well as "ENABLE_SARIF":"1", however, I am getting below error while generating SARIF format:
"error during command execution: failed to format results: failed to output results: internal error: missing policy for check: Binary-Artifacts"
I have below 2 questions:

Is it fine to change checks/binary_artifact.go by adding FileBased in init(), this indirectly fails the tests in policy_test.go? Can we update it? So that the scorecard tool can be used for local folder Binary Artifact Detection
Any inputs regarding when will the SARIF format be supported in command line? I am trying to add environment variables and run the tool, however i get policy missing error as mentioned above. Is there any way to achieve this pelase?

Thanks in advance,
Shilpa

Hmm, I'm wondering if we can add support locally if we handle the error from ListSuccessfulWorkflowRuns in the locally client gracefully. This may also apply to GitLab @raghavkaul .


URLs or Videos

It would be nice to be able to have URLs for the background "image" so that we can use videos like dynamic dungeons that use MP4
Instead of uploading file, we can past a URL to a video, or image.

Good idea. Not sure how easy that would be, I remember @n1ru4l made some changes to the layers for efficiency purposes. If the canvas is just sent as blackness and the image in the background is just on the lower z-layer, it may be very easy.

https://github.com/dungeon-revealer/dungeon-revealer/pull/1636


"NDS Pokewalker ROM dumper by PoroCYon" Backup

Hello,
The page for the NDS Pokewalker ROM dumper seems to no longer function, would you happen to have a backup of the dumper project? And if so, would you be able to send me the backup?
Thank you.

Literal first result on google: https://gitlab.ulyssis.org/pcy/pokewalker-rom-dumper


Search by column

Hi there!,
i need to be able to search for each column independent from the others and combine the results but I think the method provided only allows to search in the whole table.

+1

@Paucdl
@renerlemes
See pull request #280


Blazor WebAssembly - Authorize Attribute - Is Policy possible?

Is it possible to authorize a Razor page in Blazor WebAssembly using the Policy property on the AuthorizeAttribute?
I assume that Role works because the role is stored in the access token and that is stored client-side and can be evaluated.
However, as Policy is evaluated on the server-side, I'm wondering if there is a way to get this to work.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 17515ff7-32a6-c6f7-0425-535775cd6e28
Version Independent ID: 1416abd7-0b23-ca93-62e7-59d2532d4275
Content: Secure an ASP.NET Core Blazor WebAssembly hosted app with Identity Server
Content Source: aspnetcore/security/blazor/webassembly/hosted-with-identity-server.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @TheMagnificent11 ... Your question doesn't quite make sense written that way ...

authorize a Razor page in Blazor WebAssembly

... a Razor Page IN Blazor WebAssembly isn't a thing.
WRT to use of the AuthorizeAttribute, it's covered here for Blazor WASM (for use in Razor components) :point_right: https://docs.microsoft.com/en-us/aspnet/core/security/blazor/?view=aspnetcore-3.1#authorize-attribute
We don't have the staffing to provide support. Ask about your scenario on a support channel. You'll find devs available 24/7 on ...

Stack Overflow
ASP.NET Core Slack
ASP.NET Gitter

@guardrex, does the page you mentioned (https://docs.microsoft.com/en-us/aspnet/core/security/blazor/?view=aspnetcore-3.1#authorize-attribute) apply only to Blazor Server or does it apply to Blazor WebAssembly as well?

It applies to both. It's the overview topic of the node.


Call this.props.onChange only if it's defined

Prevents errors if you doesn't pass onChange to component

@ar7n if you could switch these all to if (this.props.onChange) like @jquense mentioned I’ll get this merged in and published. Thanks!

@iamdustan i'm done

published as 3.1.3.


CRDs missing

Hello, when i do  kubectl apply -k manifests/default/ to deploy everything i get several messages about missing CRDs e.g
esource mapping not found for name: "mlat-server-sync-map" namespace: "adsblol" from "manifests/default/": no matches for kind "ImageRepository" in version "image.toolkit.fluxcd.io/v1alpha2" ensure CRDs are installed first resource mapping not found for name: "api" namespace: "adsblol" from "manifests/default/": no matches for kind "ImageUpdateAutomation" in version "image.toolkit.fluxcd.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: "history" namespace: "adsblol" from "manifests/default/": no matches for kind "ImageUpdateAutomation" in version "image.toolkit.fluxcd.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: "mlat-server-sync-map" namespace: "adsblol" from "manifests/default/": no matches for kind "ImageUpdateAutomation" in version "image.toolkit.fluxcd.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: "infra" namespace: "adsblol" from "manifests/default/": no matches for kind "Kustomization" in version "kustomize.toolkit.fluxcd.io/v1beta2" ensure CRDs are installed first resource mapping not found for name: "api" namespace: "adsblol" from "manifests/default/": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" ensure CRDs are installed first resource mapping not found for name: "external-readsb" namespace: "adsblol" from "manifests/default/": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" ensure CRDs are installed first resource mapping not found for name: "hub-readsb" namespace: "adsblol" from "manifests/default/": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" ensure CRDs are installed first resource mapping not found for name: "ingest-readsb" namespace: "adsblol" from "manifests/default/": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" ensure CRDs are installed first resource mapping not found for name: "planes-readsb" namespace: "adsblol" from "manifests/default/": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
Is there  a way to deploy all the missing CRDs before the kubectl apply command?
Thank you very much

Installing flux and monitoring is left as an exercise for the user.
You can also avoid applying these manifests. The services will still run.


Port range is not always respected

Allowing users to set even one part of the range for findAPortNotInUse can lead to weird results, unless we manually look at their value. Developers should be able to rely upon portscanner to handle the math for us to ensure the range used is within the range given, regardless of which number happens to be greater.
Assuming that ports 4443 and 4444 are currently in use / "open", this code...
portscanner.findAPortNotInUse(4443, 4440, '<IP_ADDRESS>', function(error, port) {
    console.log('Available port: ' + port);
});

... will log "Available port: 4445"

FYI, I have posted a bounty for this issue on Bountysource.
https://www.bountysource.com/issues/4358248-port-range-is-not-always-respected

So in the example should just ports 4443 and 4440 be checked, or should 4440-4443 ?

The behavior I expect is for portscanner to figure out which number is greater and use it as the max port, while the other gets used as the min port. So in my example, ports 4440-4443 would be checked, as if I called the API that way to begin with.

Solution here:
https://github.com/baalexander/node-portscanner/pull/29

Thanks @kbailey4444, that looks like what I wanted. If @EndangeredMassa accepts your patch, the bounty is yours.

I'm sorry about the delay on this. I've just been added as a new collaborator and would like to get all pending issues sorted out.
My thoughts about this is that it could lead to ambiguity. Someone might expect 4443-4440 to also be checked in that order (highest to lowest), just switching the numbers might make for a bad assumption from portscanner's side.
How about throwing an error instead? This could alert the programmer to use portscanner more correctly.

How about throwing an error instead?

I could live with that.
I had been thinking about String#substring() as an example of argument swapping.

If indexStart is greater than indexEnd, then the effect of substring() is as if the two arguments were swapped; for example, str.substring(1, 0) == str.substring(0, 1).

But it's true that the order of the in-between numbers might matter a bit more to portscanner users if they really wanted to walk them in a special way.
My feelings on this aren't very strong. But another point in favor of swapping vs throwing is that the former can be a semver patch or minor, while the later is typically done as a semver major as it can halt a program.

You're right, it does make more practical sense to just swap, even if at least for now. Maybe in the future we could actually support scanning in the order ranges are supplied. For now I've added swap functionality.
Released a new minor version 1.1.0, please check it out and let me know.

It turns out v1.1.0 broke portscanner in some cases and the changes that broke it were actually the changes required to fix this exact issue. For that reason I've published the new changes as v2.0.0. I'm sorry this fix couldn't make it a minor version. I've addressed the issue here.


[bug]: Disk Metrics Reporting Incorrectly

Prerequisites

[X] I have searched for existing issues that already report this problem, without success.

EmbassyOS Version
0.3.0
Device
Laptop/Desktop
Device OS
Linux
Device OS Version
Arch
Browser
Firefox
Browser Version
96.0.3
Current Behavior
Storage drive usage percentages are still way off.  On this box df reports 50%, which is accurate, but UI reports 79% as shown below;

Another box shows about the same on df ~50%, but UI reports 64% as shown below:

Expected Behavior
Ballpark accurate disk use %age
Steps to Reproduce

Embassy Tab -> Metrics -> Disk
Check df
Compare

Anything else?
Possibly related to #715

@kn0wmad It doesnt appear as thought the frontend does anything to mutate the data provided from the backend.  Im notifying @dr-bonez

I would classify this as very low priority as well.  I only made a ticket for tracking and because beta testers are reporting it as well


bench: add stdlib benchmark old vs new compiler

Creating in draft for early feedback

notice that currently on CI these won't run as the corresponding testdata dir is empty!

pushed a new version. It is likely to break due to old cache IDs. It is currently broken on Windows. My guess is because local, Windows-style paths are not compatible with the Unix-style wasm paths.
e.g. C:\....\testdata\some.file => while ./testdata/some.file is expected

too many issues with paths to write one test case that works also on Windows, I'll return to this later; let's see if it works on CI this way for now.

I suspect the CygWin/MSYS are masking a lot of path conversion issues that are explicit if we just run the cases using go test -bench 🤔

huh potential failure in src/reflect "due" to the perfmap feature, see https://github.com/tetratelabs/wazero/actions/runs/7267487881/job/19801438025?pr=1878
/opt/hostedtoolcache/go/1.21.5/x64/src/reflect ~/work/wazero/wazero
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x22aaa0]

goroutine 1 [running]:
github.com/tetratelabs/wazero/internal/engine/wazevo/wazevoapi.(*Perfmap).Clear(...)
	/home/runner/work/wazero/wazero/internal/engine/wazevo/wazevoapi/perfmap.go:83
github.com/tetratelabs/wazero/internal/engine/wazevo/backend/isa/arm64.(*machine).ResolveRelativeAddresses(0x400014ab40, {0x367df8, 0x579d80})
	/home/runner/work/wazero/wazero/internal/engine/wazevo/backend/isa/arm64/machine.go:452 +0x200
github.com/tetratelabs/wazero/internal/engine/wazevo/backend.(*compiler).Finalize(0x4000071500, {0x367df8, 0x579d80})
	/home/runner/work/wazero/wazero/internal/engine/wazevo/backend/compiler.go:190 +0x6c
github.com/tetratelabs/wazero/internal/engine/wazevo/backend.(*compiler).Compile(0x4000071500, {0x367df8, 0x579d80})
	/home/runner/work/wazero/wazero/internal/engine/wazevo/backend/compiler.go:166 +0x40
github.com/tetratelabs/wazero/internal/engine/wazevo.(*engine).compileLocalWasmFunction(0x2b6da0?, {0x367df8, 0x579d80}, 0x400014ab40?, 0x36fa18?, 0x4000071500?, {0x371120, 0x400014a480}, {0x36fa18, 0x4000071500}, ...)
	/home/runner/work/wazero/wazero/internal/engine/wazevo/engine.go:359 +0x128
github.com/tetratelabs/wazero/internal/engine/wazevo.(*engine).compileModule(0x4000010420, {0x367df8, 0x579d80}, 0x4000082340, {0x0, 0x0, 0x0}, 0x0)
	/home/runner/work/wazero/wazero/internal/engine/wazevo/engine.go:234 +0x3c8
github.com/tetratelabs/wazero/internal/engine/wazevo.(*engine).CompileModule(0x4000082340?, {0x367df8, 0x579d80}, 0x4000082340, {0x0?, 0x0, 0x0}, 0x0?)
	/home/runner/work/wazero/wazero/internal/engine/wazevo/engine.go:133 +0x80
github.com/tetratelabs/wazero.(*runtime).CompileModule(0x4000065bc0, {0x367df8, 0x579d80}, {0x4000180000, 0x87a142, 0x87a143})
	/home/runner/work/wazero/wazero/runtime.go:237 +0x1a8
main.doRun({0x40000100d0, 0x9, 0x9}, {0x366898, 0x4000032030}, {0x367498?, 0x4000032038?})
	/home/runner/work/wazero/wazero/cmd/wazero/wazero.go:327 +0x10d4
main.doMain({0x366898, 0x4000032030}, {0x367498?, 0x4000032038?})
	/home/runner/work/wazero/wazero/cmd/wazero/wazero.go:62 +0x1bc
main.main()
	/home/runner/work/wazero/wazero/cmd/wazero/wazero.go:34 +0x3c

I think this is the best I can do at this point. Unfortunately, CI on Windows has a lot of quirks, it's better just to run the CLI.

redraft: maybe I found something...


ConstantLike op should be foldable

Currently, trying to call hugr-mlir-opt on any example mlir produced by guppy-runner errors out with the following message:
hugr-mlir-opt: /build/mlir-src-18.0.0-git-1a8b36b/mlir/include/mlir/IR/Matchers.h:92:
    bool mlir::detail::constant_op_binder<AttrT>::match(mlir::Operation*) [with AttrT = mlir::Attribute]:
    Assertion `succeeded(result) && "expected ConstantLike op to be foldable"' failed.

Indeed it should, this is resolved in develop by removing ConstantLike from hugr.load_constant. True constants are rewritten to the (implementation detail op) hugr.constant which does have ConstantLike and is foldable.


Add MacPorts to install methods

Feature request
I added nixpacks to MacPorts (https://github.com/macports/macports-ports/pull/15967).
Can I create a pull request to add this method to the documentation ?
Motivation
Some people don't use Homebrew but MacPorts instead.
Contribution
I already forked the repo and pushed the MacPorts install method (7c513cdeea04a3ae7ccb0fd4eeb61c2899a8a5aa)

sure, your pr is much appreciated

Thanks ! Here is it : https://github.com/railwayapp/nixpacks/pull/495


breaks growing cotton seeds on everness soils

Reproduction:
Start new world based on Minetest Game
enable everness and resource_crops mods
place everness:dirt_1
hoe it
place water near it
wait for the soil to become wet
plant cotton seeds on it
observe how the cotton plant quickly breaks -- this is a bug
basically, the replacement farming functions in this mod search specifically for 2 kinds of soil instead of using the specified group like they should:
https://github.com/TwigGlenn4/resource_crops/blob/9b17564e7a068cdc7162baa9038472cc834d5a4b/lib.lua#L66
compare with Minetest Game farming mod:
https://github.com/minetest/minetest_game/blob/77bbcee0cd73ddd2980aadbddb6285550c2735b5/mods/farming/api.lua#L215-L228

I rewrote a big chunk of the code related to growing crops and published the update as v2.0.0. Now instead of overwriting parts of the farming mod I use the API like I probably should have done from the start. In my test world both farming crops (wheat, cotton), and resource crops work on default and everness soil, and theoretically should work on any soil supported by farming. I'm going to mark this as closed, but please let me know if you find any bugs I've missed!


SCSI mount

Trying to set up 1.3.7 cluster using docker-multinode deployment on Ubuntu 14.04. USE_CONTAINERIZED variable is set to true. I'm able to mount successfully an NFS mount point without installing nfs-common to inside kubelet container.
However, iSCSI mount doesn't work in spite I'm able to mount it manually on the node.
~/kube-deploy/docker-multinode# iscsiadm -m session -o show
tcp: [1] <IP_ADDRESS>:3260,257 iqn.2005-10.org.freenas.ctl:kube-mysql
~/kube-deploy/docker-multinode# ls -la /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2005-10.org.freenas.ctl:kube-mysql-lun-0
lrwxrwxrwx 1 root root 9 Sep 22 15:40 /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2005-10.org.freenas.ctl:kube-mysql-lun-0 -> ../../sdb
pod yaml is as follows. Getting the same result with persistent volume claim.
apiVersion: v1
kind: Pod
metadata:
name: iscsi-busybox
spec:
containers:

image: busybox
command:

sh
-c
'tail -f /dev/null'
imagePullPolicy: IfNotPresent
name: busybox
volumeMounts:
name must match the volume name below

name: iscsi-freenas
mountPath: "/mnt"
volumes:

name: iscsi-freenas
iscsi:
targetPortal: <IP_ADDRESS>:3260
iqn: "iqn.2005-10.org.freenas.ctl:kube-mysql"
fsType: ext4
lun: 0
readOnly: false
6m        1m      3   {kubelet <IP_ADDRESS>}          Warning     FailedMount Unable to mount volumes for pod "iscsi-busybox_default(3e71caa4-8105-11e6-aa7a-0050569f23a5)": timeout expired waiting for volumes to attach/mount for pod "iscsi-busybox"/"default". list of unattached/unmounted volumes=[iscsi-freenas]
6m        1m      3   {kubelet <IP_ADDRESS>}          Warning     FailedSync  Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "iscsi-busybox"/"default". list of unattached/unmounted volumes=[iscsi-freenas]

~/kube-deploy/docker-multinode# iscsiadm -m session -o show
iscsiadm: No active sessions.
Adding open-iscsi package into kubelet helps a bit. I can see that previously deleted session and target are back but still getting the same error even though /dev/disk/by-path/ip-<IP_ADDRESS>:3260-iscsi-iqn.2005-10.org.freenas.ctl:kube-mysql-lun-0 -> ../../sdb is created with new session.
Any help or advise would be greatly appreciated.

docker-multinode was removed in #283 so I'm closing this issue as obsolete.


Use annotation defaults when resolving options

Use case is plugins: [AnnotationPlugin], which does not register the elements to defaults and the defaults don't end up in the options.
Would it be possible to register the plugin instead in ng2-charts?

Actually this is probably just fine, because the use case should be supported.


Auction Proxy

Sets the close amount for a 0x order
Fixes #431

Pull Request Test Coverage Report for Build 6944

31 of 31 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 6931:
0.0%

Covered Lines:
1273

Relevant Lines:
1273

💛  - Coveralls


Format String

Summary:
An attacker may control the format string argument to NSLogv() at GDTCORConsoleLogger.m line 36, allowing an attack much like a buffer overflow.An attacker may control the format string argument allowing an attack much like a buffer overflow.
[REQUIRED] Step 1: Describe your environment

Xcode version: 11.3.1
Firebase SDK version: 6.6.7
Firebase Component:  Core,Messaging
Installation method: `CocoaPods

[REQUIRED] Step 2: Describe the problem
Explanation
Format string vulnerabilities occur when:

Data enters the application from an untrusted source.

In this case, the data enters at base64EncodedStringWithOptions:() in GDTCOREvent+NetworkConnectionInfo.m at line 63.

The data is passed as the format string argument to a function like sprintf(), FormatMessageW(), syslog(), NSLog, or NSString.stringWithFormat

In this case, the data is passed to NSLogv() in GDTCORConsoleLogger.m at line 36.

I think you're misreading the code.
The call to GDTCORLogDebug on GDTCOREvent+NetworkConnectionInfo.m line 71 has a fixed format string: @"Error when setting an event's network_connection_info: %@". The untrusted value is passed as the second argument to this function (as an argument to the format itself).
In GDTCORLog, the fixed format string is used to compute an adjusted format string, but the untrusted argument is not a part of this--it's passed as a part of args, which is ultimately used as an argument to NSLogv.


Fear/thumbnail : Home page thumbnail also meta data for SEO and Dynamic thumbnail for blog page

Done with title, URL, image and description for thumbnail
tested with below Screenshot attached

Twitter
Whatsapp
Linkedin

Additionally set Favicon from vite to medium logo
Before after the same link while sharing

Also can add other meta for the author and keywords
The blog page can be edited after the img section added

Please add a screenshot for a specific blog sharing as well

@t007rushi  - tip: You can use this chrome extension to test your meta tags without deployment locally Localhost Open Graph Checker

@t007rushi - tip: You can use this chrome extension to test your meta tags without deployment locally Localhost Open Graph Checker

Thanks for the tips was searching the one ☺

@t007rushi  - Any update on the article sharing link preview  ?

@aadeshkulkarni tried various variations for dynamic meta tag settings from the client side but most suggesting to have server-side rendering cause web crawlers don't look for js look for pre-built rendered static HTML
Tomorrow will try with backend approach for this for setting tags before load inject them before hand when call /blogs listing

@t007rushi Few client side suggestions to consider:

How to add meta tags for sharing particular link in ReactJS

React Helmet is also an alternative.

Tried both react-helmet and react-helmet-async
will try first one stackoverflow post approach 👍  @aadeshkulkarni

@aadeshkulkarni tried both ways still not able to achieve this one
Pushed the code
try if I'm missing something
Last option is to write fs module backend induced meta tag value setting which also pushed commented in index.html
Just backend route left to write
holding for go ahead or not?

@aadeshkulkarni tried both ways still not able to achieve this one Pushed the code try if I'm missing something
Last option is to write fs module backend induced meta tag value setting which also pushed commented in index.html
Just backend route left to write holding for go ahead or not?

Hold on, let me give it a try

@t007rushi  - There are 7 commits on your PR at the moment. I would also urge you to squash all of the git commits into one, it will keep the commit history of the project clean.
Here is an easy 3 min video on how to git squash commits.  Learn Git Squash in 3 minutes

@aadeshkulkarni  ok works

Done @aadeshkulkarni
can you check once

@t007rushi - Looks good. However, there is a merge conflict. Please rebase


Apache commons collections 3 and 4

RDF4J 2.4.1 uses both Apache collections 3 and 4, check if the collections 3 code can be upgraded to 4

At least opencsv 4.6 uses collections 4 directly, but also commons-beanutils, which in turn uses apache collections 3.
Upgrading to opencsv 5.x won't solve this either, because it still has a dependency on commons-beanutils with collections 3...


Abstract type wrapping to a macro

The current TableCollection relies on a stack-allocated tsk_table_collection_t.  Thus, we have to do all this "maybe uninitialized" stuff.  It would be an improvement to take a cue from rust-GSL and offload the necessary boiler plate to a macro:

Pass in the type name, "tskit init" function name, and "tskit free" function name.
Heap allocate the type.
Init.
Implement Drop using the free function.
Provide boiler plate for owning and non-owning wrappers, etc..

The nice thing is that this can all be done w/o breaking user-facing API and we can re-use the macro for other types.

More on this: current use of Box is far superior to malloc.  So let's stick with Box.
Question is how to abstract it out properly?  There's definitely room for a trait that defines an API. One issue is that tskit init functions can take variable numbers of arguments, which can make macros annoying.

The macro idea has a big downside.  It is really annoying to get documentation passed through a macro invocation.


Added prop 'clearButtonEnabled'

This prop allows the component to be used without the clearButton. With 'clearButtonEnabled' set to true, none of the other clearButton props will be used (since the clearButton will not be rendered).

Why do you have to check for the prop? There is no definition for showClearButton in https://github.com/jomla97/react-native-progressive-input/blob/507fc2a0ca923939dc4700f965feacacb0ee3abc/index.js#L13

Sorry, I was in a bit of a rush because I needed the component without the clearButton.. I changed the prop name to something a little more logical that fits in with the rest of the clearButton props. Also added the PropTypes.


CNF-14303: Update deployment configuration

Rename the namespace from oran-o2ims-system to oran-o2ims and increase memory limit to 256Mi

/lgtm


Jr/berks page

Still WIP. Not ready for review

I've updated the email server, so now you just need to add a hidden field with <input type="hidden" name="berks_county" value="1" /> to sign someone up.


Gradle dependency doesn't work.

Thee artifact org.jetbrains.kotlin:dataframe:0.7.3 is not found.
Artifact org.jetbrains.kotlinx:dataframe:0.7.3-dev-275 is found, but its sub dependency com.github.jkcclemens:khttp is again not found.

I'm having the same issue. When I include it as a dependency as shown in the readme, I get the following error:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileKotlin'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find org.jetbrains.kotlin:dataframe:0.7.3.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/dataframe/0.7.3/dataframe-0.7.3.pom
       - https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/kotlin/dataframe/0.7.3/dataframe-0.7.3.pom

Please use the versions and installation instructions from Maven Central:
https://search.maven.org/artifact/org.jetbrains.kotlinx/dataframe/0.7.3-dev-277-<IP_ADDRESS>/jar

You may also need to add jitpack.io maven repository

As mentioned by OP, when you install it that way there is a missing dependency jkcclemens
* What went wrong:
Execution failed for task ':run'.
> Could not resolve all files for configuration ':runtimeClasspath'.
   > Could not find com.github.jkcclemens:khttp:-SNAPSHOT.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/com/github/jkcclemens/khttp/-SNAPSHOT/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/com/github/jkcclemens/khttp/-SNAPSHOT/khttp--SNAPSHOT.pom
       - https://maven.pkg.jetbrains.space/public/p/compose/dev/com/github/jkcclemens/khttp/-SNAPSHOT/maven-metadata.xml
       - https://maven.pkg.jetbrains.space/public/p/compose/dev/com/github/jkcclemens/khttp/-SNAPSHOT/khttp--SNAPSHOT.pom
     Required by:
         project : > org.jetbrains.kotlinx:dataframe:0.7.3-dev-277-<IP_ADDRESS>

It seems like adding jitpack.io solves the jkcclemens dependency. The following seems to work:
repositories {
    mavenCentral()
    maven("https://jitpack.io")
}

dependencies {
    implementation("org.jetbrains.kotlinx:dataframe:0.7.3-dev-277-<IP_ADDRESS>")
}


Remove unnecessary scl stuff from Fedora.

scl-utils package is not needed in Fedora.

Needs to be rebased due to conflicting files in common

[test-openshift]


Added a grunt build process

Added a more complete build process
As part of #101 :
I've created a more complete build process using Grunt, it performs the following steps:

Lints the code via ESLint (the ESLint version was a bit out of date, and had lots of failures, I've done a quick upgrade but have had to turn off quite a few rules in order to make progress)
Runs the browser tests via Karma. I've added the Karma configuration directly to the gruntfile, this just tidies things up a bit. Also, I've removed the HTML test files, these are a duplication / maintenance issue from my perspective!
Wraps up Layout.js into a universal module (UMD), via a simple grunt task that performs inclusion. This is a bit messy, and doesn't scale well if you ever want to split the code up into smaller sub-modules, but is an improvement on what we currently have.
Uses uglify to minify the JavaScript.

The build output sits in the dist folder which is added to git. I'm in two minds about this, typically I'd want to have the build output distributed via npm or a GitHub release, however, this project has transpiled output that is already part of the repo, so this doesn't feel like a pollution.
Open question:

Should the templated / generated C / Java also be moved into dist? This might make it clearer for consumers of this project? e.g. dist/js, dist/java ...

For my next step I want to sort out the build, currently it is part JavaScript / grunt / karma and part make. The Travis build should run everything!
Fixes #102 #103
On another note, having the output minified, I can now submit to CDNJS :-)

Sounds good, feel free to merge when you are ready :)

Thanks, I don't have merge privileges, do you want to merge this in?

Woops, forgot to hit save. Now should be good

Thanks, I'm almost done with unifying the Java and C builds into a single grunt build, feels much better :-)

Thanks for this @ColinEberhardt. I remember playing with css-layout a few months back and it was difficult to get it running. These grunt tasks made it super easy to get up and running.

Thanks for the feedback, glad to hear this helped :-)
On Fri, Aug 28, 2015 at 6:28 pm, facebook/css-layout
<EMAIL_ADDRESS>wrote:
Thanks for this @ColinEberhardt [https://github.com/ColinEberhardt] . I remember playing with css-layout a few months back and it was difficult to
get it running. These grunt tasks made it super easy to get up and running.
—
Reply to this email directly or view it on GitHub
[https://github.com/facebook/css-layout/pull/105#issuecomment-135839507] .[https://github.com/notifications/beacon/ABDBfiHqU4syuvTH1kU7VnxnsMKT-fveks5osJHOgaJpZM4FpwNq.gif]


feature:[loom] replace the usages of synchronized with ReentrantLock

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
To use virtual threads in JDK 21, we need to remove the usage of synchronized to prevent the issue where "a virtual thread cannot be unmounted during blocking operations because it is pinned to its carrier."
Ⅱ. Does this pull request fix one issue?

fixes #6971
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Maybe not including * when importing the package would be more in line with programming standards.

Maybe not including * when importing the package would be more in line with programming standards.

done

The files below saga are handled separately by another pr.


Malformed version number string undefined

Getting the following:
/usr/lib/ruby/vendor_ruby/rubygems/version.rb:216:in `initialize': Malformed version number string undefined (ArgumentError)
	from /usr/lib/ruby/vendor_ruby/rubygems/version.rb:207:in `new'
	from /usr/lib/ruby/vendor_ruby/rubygems/version.rb:207:in `new'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/plugins/plugin_update_manager.rb:29:in `block in show_update_status'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/plugins/plugin_update_manager.rb:26:in `each'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/plugins/plugin_update_manager.rb:26:in `show_update_status'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:45:in `ensure in start'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:55:in `start'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
	from /var/lib/gems/3.0.0/gems/fastlane-2.211.0/bin/fastlane:23:in `<top (required)>'
	from /usr/local/bin/fastlane:25:in `load'
	from /usr/local/bin/fastlane:25:in `<main>'

My script:
- name: Build Android App
  uses<EMAIL_ADDRESS>  with:
    project-path: .
    output-path: MyApp.apk

Hi @oliviadodge, we just released a new version that should fix the problem, could you try it?


[Sema] Fix an issue with existential return types when implicit some is enabled.

Previously, ValueDecl::getOpaqueResultTypeRepr would return the type repr for an any P result type because the result type references protocols. Use collectOpaqueReturnTypeReprs instead, which already knows how to handle ExistentialTypeRepr.

@swift-ci please smoke test

nice save 🏈, approved!


Use python 3

Now that makes sense :D
Update: Can't, cause AWS Lambda only supports 2 :(

AWS Lambda :(


Added ability to cancel a game to the GamesClient.

Pull Request Summary
This pull request introduces several important changes primarily focused on the addition of a new feature that allows games to be cancelled.
New Features

A new method CancelGameAsync has been added to the GamesClient class. This method allows a game to be cancelled given its id, player name, game type, and an optional cancellation token. It sends a PATCH request to the "/games/{id}" endpoint with a new UpdateGameRequest object. If the request is successful, it logs the game cancellation and adds a "GameCanceled" event to the activity. If an HttpRequestException is thrown, it logs the error and adds an error event to the activity. This feature was added to provide users with the ability to cancel games.

The IGamesClient interface has been updated to include the CancelGameAsync method. This ensures that all implementations of the IGamesClient interface will include the new game cancellation feature.

Logging Enhancements

Two new logging methods CancelGameError and GameCanceled have been added to the Log class. The CancelGameError method logs an error message when there is an error in cancelling a game. The GameCanceled method logs an informational message when a game is successfully cancelled. These logging enhancements will improve the visibility of game cancellation events and errors.

Other Changes

A new method GameCanceledEvent has been added to the ActivityExtensions class. This method sets the baggage for the activity with the game id and adds a new event "GameCanceled" to the activity.

Pulled the changes from the 153-jsonserializercontext-for-client-lib-branch, in which the unit tests are already fixed.

Closed in favour of https://github.com/CodebreakerApp/Codebreaker.Backend/pull/170.


failed to fetch jwks_uri on first attempt does not recover

Bug description
We setup istio with requestauthentication resource to validate jwt tokens. The issuer is a URL which causes istiod to try to the OIDC discovery of the well known endpoint to retrieve the JWKS. If an error occurs in the first attempt during the istiod initialization phase it won't recover ever. This is because the failed attempt is stored also for upcoming istiod attempts to resolve the JWKS.
Logs
2020-12-31T14:44:52.737506Z	warn	model	Failed to get jwks_uri for issuer "https://$domain/oauth2/default": Get "https://$domain/oauth2/default/.well-known/openid-configuration": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2020-12-31T14:44:52.737482Z	error	model	Failed to fetch jwks_uri from "https://$domain/oauth2/default/.well-known/openid-configuration": Get "https://$domain/oauth2/default/.well-known/openid-configuration": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

2020-12-31 16:02:32	<IP_ADDRESS>_8080: Issuer 'https://$domain/oauth2/default' in jwt_authn config has invalid local jwks: Jwks RSA [n] or [e] field is missing or has a parse error
2020-12-31T15:02:31.992986Z	error	Failed to fetch jwt public key from "": Get "": unsupported protocol scheme ""
2020-12-31T15:02:31.992972Z	error	model	Failed to fetch public key from "": Get "": unsupported protocol scheme ""
2020-12-31T15:02:31.991866Z	error	Failed to fetch jwt public key from "": Get "": unsupported protocol scheme ""
2020-12-31T15:02:31.991851Z	error	model	Failed to fetch public key from "": Get "": unsupported protocol scheme ""

In the istiod code here is where the problem starts:
https://github.com/istio/istio/blob/080374a27dd16646be2649ab377af49183667ac1/pilot/pkg/model/jwks_resolver.go#L261
       body, err := r.getRemoteContentWithRetry(issuer+openIDDiscoveryCfgURLSuffix, networkFetchRetryCountOnMainFlow)
	if err != nil {
		log.Errorf("Failed to fetch jwks_uri from %q: %v", issuer+openIDDiscoveryCfgURLSuffix, err)
		return "", err
	}

Here I think it should either retry or bail out (panic) because it will store the empty string on error and will result in the errors you can see above.
https://github.com/istio/istio/blob/080374a27dd16646be2649ab377af49183667ac1/pilot/pkg/model/jwks_resolver.go#L214
[ ] Docs
[x] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Steps to reproduce the bug
Reproduce it with having a first attempt failure as described above.
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
$ kubectl version --short
Client Version: v1.18.6
Server Version: v1.18.9-eks-d1db3c
$ istioctl version
client version: 1.8.1
control plane version: 1.8.1
data plane version: 1.8.1 (6 proxies)

How was Istio installed?
istioctl
Environment where the bug was observed (cloud vendor, OS, etc)
AWS eks but it's not environment specific.

cc @yangminzhu

cc @yangminzhu

I looked into how to fix this bug. That said if you wish to see a PR rather than a lot of text please let me know. There is only the question of what behavior would be expected.
Should the JwksResolver retry a couple of times and if the error persists should pilot exit and fail with an error?
Or should the JwksResolver retry to resolve the URI forever and just continue as it does today? Obviously in this case it should continue retrying to resolve the jwks URI and not operate on an empty string.
There is currently already a retry mechanism present but is set to 0 retries so that one single failing attempt results in the unrecoverable problem of not having a URI set and hence also never recovers. An easy fix is to just allow a couple of retries but that could still result in a broken setup if those retries at fail on init.
Also I've seen that there are a few things related to the misbehavior e.g. there is a cache:
// JwksResolver is resolver for jwksURI and jwt public key.
type JwksResolver struct {
	// cache for jwksURI.
	JwksURICache cache.ExpiringCache

Which is only populated once due to some changes done in PR #24719. I think that the cache should go away if it is only used once.

I looked into how to fix this bug. That said if you wish to see a PR rather than a lot of text please let me know. There is only the question of what behavior would be expected.
Should the JwksResolver retry a couple of times and if the error persists should pilot exit and fail with an error?
Or should the JwksResolver retry to resolve the URI forever and just continue as it does today? Obviously in this case it should continue retrying to resolve the jwks URI and not operate on an empty string.
There is currently already a retry mechanism present but is set to 0 retries so that one single failing attempt results in the unrecoverable problem of not having a URI set and hence also never recovers. An easy fix is to just allow a couple of retries but that could still result in a broken setup if those retries at fail on init.
Also I've seen that there are a few things related to the misbehavior e.g. there is a cache:
// JwksResolver is resolver for jwksURI and jwt public key.
type JwksResolver struct {
	// cache for jwksURI.
	JwksURICache cache.ExpiringCache

Which is only populated once due to some changes done in PR #24719. I think that the cache should go away if it is only used once.

Should the JwksResolver retry a couple of times and if the error persists should pilot exit and fail with an error?
Or should the JwksResolver retry to resolve the URI forever and just continue as it does today? Obviously in this case it should continue retrying to resolve the jwks URI and not operate on an empty string.

I think we could merge the ResolveJwksURI to the refresh() function, there will be some refactor but the end result is that 1) we don't need to resolve OIDC discovery in addRequestAuthentication(), and 2) it can reuse the periodic refresh logic already implemented in refresh();
The refresh() currently has a fixed refresh interval of 20m (JwtPubKeyRefreshInterval, this is also being updated by @xulingqing to make it configurable), one more optimization we can do is to retry more frequently when istiod failed to fetch the key, which could be configured by a different flag, e.g. JwtPubKeyRefreshIntervalOnFailure.
@domcyrus I think this is very useful fix and thank you for creating the issue with the detailed analysis, would you like to send a PR for the fix? I will assign to you if you think you could take it. Thanks.

Should the JwksResolver retry a couple of times and if the error persists should pilot exit and fail with an error?
Or should the JwksResolver retry to resolve the URI forever and just continue as it does today? Obviously in this case it should continue retrying to resolve the jwks URI and not operate on an empty string.

I think we could merge the ResolveJwksURI to the refresh() function, there will be some refactor but the end result is that 1) we don't need to resolve OIDC discovery in addRequestAuthentication(), and 2) it can reuse the periodic refresh logic already implemented in refresh();
The refresh() currently has a fixed refresh interval of 20m (JwtPubKeyRefreshInterval, this is also being updated by @xulingqing to make it configurable), one more optimization we can do is to retry more frequently when istiod failed to fetch the key, which could be configured by a different flag, e.g. JwtPubKeyRefreshIntervalOnFailure.
@domcyrus I think this is very useful fix and thank you for creating the issue with the detailed analysis, would you like to send a PR for the fix? I will assign to you if you think you could take it. Thanks.

@yangminzhu Thanks for your suggestion which sounds very good to me. I'll open a PR with the change you've outlined.

@yangminzhu Thanks for your suggestion which sounds very good to me. I'll open a PR with the change you've outlined.

Created #30407

Created #30407


compile problem on mac with clang 12.0.5

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.5 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

make
This error occurs on many places. Is there an fix?
In file included from myforth.cpp:4:
In file included from ../src/miniforth.h:39:
../src/compiled_node.h:53:11: error: union member '_string' has a non-trivial default constructor
        } _string;

I use Arch Linux - where I just tested with clang++ v12.0.0:
$ clang++ -v
clang version 12.0.0
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/10.2.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/11.1.0
Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/10.2.0
Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/10.2.0
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/11.1.0
Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64

$ cd src_x86
$ clang++ -g -I. -I ../src -D PROGMEM="" -D __FlashStringHelper=char -D strcasecmp_P=strcasecmp  -o x86_forth ../src/*.cpp myforth.cpp -fsanitize=address 2>/dev/null

$ echo $?
0

...i.e. successful. I don't know what changed in clang between 12.0.0 and 12.0.5, but in the context of this mini-FORTH, I am quite sure I don't want to spend time tracking it down :-)
Either downgrade, or install gcc - from brew, I guess? (sorry, I am not an OSX guy... I do use a 2012 MBair - which proved to be a magnificent machine, still going strong - but the first thing I did was to install Linux on it)_.


Reports: Progress bar drops behind hierarchy menu

UI issue: On a report with a hierarchy menu: If you scroll while the report is in a loading state, the menu appears in front of the progress bar.

Appears to have been fixed at some point.


[BUG]arc init fails creation of git repository

Describe the bug
I initialize an ARC with arc init in a newly created directory.
arc init fails to create a git repository.
To Reproduce
mkdir my_arc
cd my_arc
git --version
git version 2.25.1
git lfs --version
git-lfs/3.4.0 (GitHub; linux amd64; go 1.20.6; git d06d6e9e)
arc init
Start processing command with the arguments:
	Branch:Field ""
	EditorPath:Field ""
	GitLFSByteThreshold:Field ""
	Owner:Field ""
	RepositoryAddress:Field ""

Start Arc Init
ERROR: GIT: error: unknown switch `b'
GIT: usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]
GIT:
GIT:     --template <template-directory>
GIT:                           directory from which templates will be used
GIT:     --bare                create a bare repository
GIT:     --shared[=<permissions>]
GIT:                           specify that the git repository is to be shared amongst several users
GIT:     -q, --quiet           be quiet
GIT:     --separate-git-dir <gitdir>
GIT:                           separate git dir from working tree
GIT:
Done processing command.

Expected behavior
Git repository is created, no error message.
OS and framework information (please complete the following information):

OS: Ubuntu
OS Version 20.04.6 LTS

Additional context

git version 2.25.1
git-lfs/3.4.0 (GitHub; linux amd64; go 1.20.6; git d06d6e9e)
arc version v0.5.0

Hey @cmohl2013, thank you for the feedback!
If I remember correctly, we had similar issues before. This is most definitely a problem of the git version. Can you update your git installation and try again?

Thank you @HLWeil. I updated git to   2.42, now it works.

Glad to hear it!
I opened an Issue in the Knowledgebase so this information will also find its way there.


Hook Service Generation

Thank you so much for your work on this library, it's really wonderful!
I want to use it to implement the Connect-Web RPC schema on top of Axum. To do that I need to generate code for each service definition, alongside the already generated message types. I see the reflection API which is quite easy to use, and I see the customization callback API, but it doesn't do anything with file/before customization, like this:
struct ServiceGenerator;

impl CustomizeCallback for ServiceGenerator {
    fn file(&self, _file: &FileDescriptor) -> Customize {
        Customize::default().before("THIS IS NEVER ADDED TO THE FILE")
    }
}

I'm happy to PR a change for this if I am correct in reading that it's not yet supported? I'm not sure it fits the current customization API super well though. Maybe it would fit better if service customization was added even though no code is generated for them by default? I can hack around it for now by just reopening the generated files and using the reflection API to gen code at the end of the file, but would also happily contribute support here.

I endued up somewhat hackily working my way around it: https://github.com/AThilenius/axum-connect/blob/main/axum-connect-build/src/lib.rs
Gonna mark this as closed.


Feature request: PureVPN Support

PureVPN Support would be awesome.
OpenVPN files can be found here: https://support.purevpn.com/openvpn-files
A list of regions and the appropriate servers can be found here: https://support.purevpn.com/vpn-servers

I just finished nordvpn yesterday and vyprvpn today! Taking a small openvpn break now, I'll do purevpn in the coming week/weekend. Thanks for your patience

Hello!
I finished up the changes for purevpn, can you please try it? I get some openvpn AUTH_FAILED error (with my garbage credentials) so I think it should be ready for you to use.

Docker image: qmcgaw/private-internet-access:purevpn

Documentation

Example command:
docker run -it --rm --cap-add=NET_ADMIN -e VPNSP=purevpn -e CITY=Hanoi -e USER=xxx -e PASSWORD=xxx qmcgaw/private-internet-access:purevpn

If it works, I'll merge it in the master branch / :latest docker tag.
Feel free to ask any question.
Thanks!

Hey, thanks for working on this. I'm getting a certifiate verification error as follows;
OpenVPN 2.4.9 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020
library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10
TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:53
UDP link local: (not bound)
UDP link remote: [AF_INET]<IP_ADDRESS>:53
VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: C=HK, ST=HK, L=HongKong, O=PureVPN, OU=IT, CN=PureVPN, name=PureVPN<EMAIL_ADDRESS>OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
TLS_ERROR: BIO read tls_read_plaintext error
TLS Error: TLS object -> incoming plaintext read error
TLS Error: TLS handshake failed

Hi, I noticed I got that for a particular city (Sucre) but not other ones. What location are you trying to use? I'll recheck their tls certificates as I assumed they all shared the same, maybe that's not the case.

I was trying London

Ok finally fixed it! It was because PureVPN would have bad subdomains listed on their website...
For example au-sd1-ovpn-udp..pointtoserver.com which is wrong and should be ``au-sd2-ovpn-udp..pointtoserver.com`.
I fixed it manually and now it works everywhere.
Feel free to let Purevpn know that they should fix openvpn urls. Fixes compared to their website are here
Please try again, but it should work from now on.

That seems to work 👍

That seems to work. 👍


add missing test for search bar (87)

Brings back the test coverage

Coverage increased (+0.1%) to 100.0% when pulling 8bd3a98f42927b6985e3fb84a3de125063286770 on 87_testcoverage-fix into a3d6c68b45e5df9e57578a4f9ce660fb37bd86be on dev.


It should return status code was 404 not 500 when docker-file don't exsist

In GitLab by @luotian-github on Sep 11, 2018, 15:37
autoscale db dao

In GitLab by @luotian-github on Nov 8, 2019, 07:58
fixing

In GitLab by @luotian-github on Nov 8, 2019, 07:58
please help to verify fix

In GitLab by @luotian-github on Nov 8, 2019, 07:58
1714

In GitLab by @sokril on Nov 8, 2019, 08:26
closed

In GitLab by @sokril on Nov 8, 2019, 08:26
assigned to @liyanq528


kcl-cli: 0.8.6 -> 0.8.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/kcl-lang/cli/releases.
meta.description for kcl-cli is: A command line interface for KCL programming language
meta.homepage for kcl-cli is: https://github.com/kcl-lang/cli
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.7 with grep in /nix/store/0vg5cmsnpdbq9kcgjri1y1d3z22qvbf7-kcl-cli-0.8.7
found 0.8.7 in filename of file in /nix/store/0vg5cmsnpdbq9kcgjri1y1d3z22qvbf7-kcl-cli-0.8.7

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

kcl-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0vg5cmsnpdbq9kcgjri1y1d3z22qvbf7-kcl-cli-0.8.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/753a2d53faf3032b998d326023ec2e0b38718eb7#kcl-cli

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0vg5cmsnpdbq9kcgjri1y1d3z22qvbf7-kcl-cli-0.8.7
ls -la /nix/store/0vg5cmsnpdbq9kcgjri1y1d3z22qvbf7-kcl-cli-0.8.7/bin

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

1 package built:

kcl-cli

Maintainer pings
cc @Peefy for testing.

LGTM


Add stream in output (stdout/stderr)

I needed that feature to query logs depending of I/O in Kibana

+1

I'm willing to merge this after a rebase.

It took 6 month for me to merge, but it's merged ;-)

Thanks!


Custom Attributes seems not works

Hi, I tried to put custom attributes in models/Users/js,
ex:
attributes: require('waterlock').models.user.attributes({
nickname: {
	type: 'string'
}

}),
the nickname wasn't stored in database, how can I handle custom attributes properly?
and is there any best practise to use waterlock if my clientside is iOS and Android?
Thank you,
Frank

I am running into the same issue, but it seems to me that the semantically best practice is to create the auth-user combo in one operation (which deals with auth-related attributes) and update the application-specific user attributes in a separate operation.


ArraySchema annonation does not work with OneOf

Hi,
I've only started working with Swagger 2.0 a couple days ago but I appear to have found a bug in 2.0.5.
Given
@Operation(responses = {
            @ApiResponse(responseCode = "200", description = "SearchResponse ", content = @Content(
                    mediaType = "application/json",
                    array = @ArraySchema(
                        schema = @Schema(oneOf = {Holiday.class, Car.class})
                    )
            ))})
    public void search(@NotNull @Valid SearchRequest request, @Suspended AsyncResponse response) throws Exception {
...

This serialises to...
"responses": {
    "200": {
        "description": "SearchResponse ",
        "content": {
            "application/json": {
                "schema": {
                    "type": "array"
                }
            }
        }
    }
}

Note the lack of response objects. I traced this to getArraySchema() in io.swagger.v3.core.util.AnnotationsUtils and a fix is as follows...
        if (arraySchema.schema() != null) {
            if (arraySchema.schema().implementation().equals(Void.class)) {
                getSchemaFromAnnotation(arraySchema.schema(), components, jsonViewAnnotation).ifPresent(schema -> {
                    if (StringUtils.isNotBlank(schema.getType()) || StringUtils.isNotBlank(schema.get$ref())
                            || (schema instanceof ComposedSchema && ((ComposedSchema) schema).getAllOf() != null && ((ComposedSchema) schema).getAllOf().size() > 0)
                            || (schema instanceof ComposedSchema && ((ComposedSchema) schema).getAnyOf() != null && ((ComposedSchema) schema).getAnyOf().size() > 0)
                            || (schema instanceof ComposedSchema && ((ComposedSchema) schema).getOneOf() != null && ((ComposedSchema) schema).getOneOf().size() > 0)
                    ) {
                        arraySchemaObject.setItems(schema);
                    }
                });
            } // if present, schema implementation handled upstream
        }

Alternatively, while creating this ticket, I have inadvertently found out that adding type = "object",  to @Schema generates a correct swagger file too - this seems to be completely undocumented however.
    @Operation(responses = {
            @ApiResponse(responseCode = "200", description = "SearchResponse ", content = @Content(
                    mediaType = "application/json",
                    array = @ArraySchema(
                        schema = @Schema(type = "object", oneOf = {Holiday.class, Car.class})
                    )
            ))})

This generates the following which is correct.
"responses": {
    "200": {
        "description": "SearchResponse ",
        "content": {
            "application/json": {
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/Holiday"
                            },
                            {
                                "$ref": "#/components/schemas/Car"
                            }
                        ]
                    }
                }
            }
        }
    }
}

Thanks!

fixed in #3262