angular2 with ui-router and typescript examples not running and throwing errors

I have just created the Hello World and landing page example and both trigger JS errors in console:
ERROR in /Users/matti/www/angular2/node_modules/ui-router-ng2/ng2/uiRouterNgModule.d.ts
(3,10): error TS2305: Module '"/Users/matti/www/angular2/node_modules/@angular/core/index"' has no exported member 'NgModuleMetadataType'.

ERROR in ./src/app/routes.ts
(19,42): error TS2345: Argument of type '() => TransitionPromise' is not assignable to parameter of type 'string | (($injector: $InjectorLike, $location: LocationServices) => string)'.
  Type '() => TransitionPromise' is not assignable to type '($injector: $InjectorLike, $location: LocationServices) => string'.
    Type 'TransitionPromise' is not assignable to type 'string'.

ERROR in ./src/app/index.ts
(13,3): error TS2345: Argument of type '{ imports: typeof BrowserModule[]; declarations: typeof MainComponent[]; providers: (any[] | Type...' is not assignable to parameter of type 'UIRouterModuleMetadata'.
  Object literal may only specify known properties, and 'imports' does not exist in type 'UIRouterModuleMetadata'.
Child html-webpack-plugin for "index.html":
         Asset     Size  Chunks       Chunk Names
    index.html  2.89 kB       0

Also the 'npm run serve' just shows a 'loading...' screen on localhost:3000
Any idea what is going on?
I choose:
Angular2
Typescript
Browsersync
ui-router

Same problem. My build is:
Angular2
Typescript
Webpack
ui-router

A little late, but I had the same issue. For Error TS2305, seems that the ui-router version that is installed was beta.2, which is causing that issue. Check you package.json to see which version of ui-router you are using. You should remove ui-router and make sure that you are using the beta.3 version and that fixed it for me. Source: https://github.com/FountainJS/generator-fountain-webapp/issues/142

This issue is still present. However, currently the version of UIRouter installed is 1.0.0-beta4 and the errors are slightly different:
ERROR in ./src/app/routes.ts
(17,14): error TS2339: Property 'urlRouterProvider' does not exist on type 'UIRouter'.
ERROR in ./src/app/index.ts
(16,45): error TS2345: Argument of type '{ states: Ng2StateDeclaration[]; configClass: typeof MyUIRouterConfig; }' is not assignable to parameter of type 'RootModule'.
Object literal may only specify known properties, and 'configClass' does not exist in type 'RootModule'.
ERROR in ./~/ui-router-ng2/lib/uiRouterNgModule.js
Module not found: Error: Can't resolve '@angular/router/src/router_config_loader' in '/{local_path}/node_modules/ui-router-ng2/lib'
@ ./~/ui-router-ng2/lib/uiRouterNgModule.js 6:0-66
@ ./~/ui-router-ng2/lib/index.js
@ ./src/app/index.ts
@ ./src/index.ts
Switching to 1.0.0-beta3 helps.

This issue is still present. However, currently the version of UIRouter installed is 1.0.0-beta4 and the errors are slightly different:
ERROR in ./src/app/routes.ts
(17,14): error TS2339: Property 'urlRouterProvider' does not exist on type 'UIRouter'.
ERROR in ./src/app/index.ts
(16,45): error TS2345: Argument of type '{ states: Ng2StateDeclaration[]; configClass: typeof MyUIRouterConfig; }' is not assignable to parameter of type 'RootModule'.
Object literal may only specify known properties, and 'configClass' does not exist in type 'RootModule'.
ERROR in .//ui-router-ng2/lib/uiRouterNgModule.js
Module not found: Error: Can't resolve '@angular/router/src/router_config_loader' in '/{local_path}/node_modules/ui-router-ng2/lib'
@ .//ui-router-ng2/lib/uiRouterNgModule.js 6:0-66
@ .//ui-router-ng2/lib/index.js
@ ./src/app/index.ts
@ ./src/index.ts
Switching to 1.0.0-beta3 helps.

change this line from
configClass: MyRootUIRouterConfig
to
config: MyRootUIRouterConfig
dont ask me why wouldnt compile until i did this and then it started working

fixed in https://github.com/FountainJS/generator-fountain-webapp/issues/201


Mongolian 300 synthetic STT data + others

https://github.com/tugstugi/mongolian-nlp#datasets

h/t @tugstugi :+1:

300 hours dataset is not Mongolian but Kalmyk (Western Mongolian language).

thanks for correcting me, @tugstugi !


Blog for plugin-helper and e2e-skeleton

From https://github.com/vmware-tanzu/sonobuoy/issues/1412 and TGIK #170
Once we flush out a bit more of the plugins (can we get the after test hooks the way we want them to support progress reports) this would make a great blog post and help document

Closed via #1514


Miss import package

There is some miss firebase.ui modules and android modules not imported in the program
Like the View of android
Snapshot in the firebase.ui
can fix by myself

@kroikie sounds like we maybe forgot some import statements in the start version.


Individual page for topic

1440px

1024px (Not a fan of the space between the items in the carousel but thats life)

720px

375px

Looks normal to me


Removing git dependencies for deepmerge and react-simpletabs in favor…

It seems there are two dependencies in package.json reliant on github. This causes issues when used on a build server without internet access.
Since both of these dependencies have suitable npm modules I've updated them to use them. If there's any reason why we shouldn't be using npm modules let me know!
Also the tests weren't running due to linter errors so I've fixed those.

So I was using a custom version of react-simpletabs because of this issue https://github.com/pedronauck/react-simpletabs/issues/26
the specific deepmerge branch allows for additional merge strategies
https://github.com/KyleAMathews/deepmerge/compare/master...anthonator:feature/array-options
If you really need to avoid the custom repo as a package issue, the solution would be to fork the respective repos and publish under an alt name and update package.json with those names

Ok that's good to know. I'll close this and investigate a way to proceed.

Again, a fix would be to clone the repos and publish the packages under an alt name and use that if you want to go that route


rename index files to fix on hugo 32

Blocked on https://github.com/ipfs/ci-websites/pull/4

I believe this is no longer needed.

I've updated hugo in the package.json. I assume that'll override any hugo version on the CI machines.

Still not working and I don't want to wast time fixing this.


Error for other filetype

I'm using marksman in neovim with mason, it works good on markdown filetype, but If I set it to other filetype like
	filetypes = { "markdown","quarto", "qmd" },

I get
[ERROR][2023-05-02 01:10:44] .../vim/lsp/rpc.lua:734	"rpc"	"marksman"	"stderr"	"[01:10:44 INF] <LSP Entry> Starting Marksman LSP server: {}\n"

I'm using vim-pandoc, so my .md files have pandoc as filetype. I don't get errors, but other filetypes than "markdown" aren't recognized.
  marksman = {
    filetypes = { "markdown", "pandoc" },
  },

When I open a .md file, LspInfo tells me that the filetype is pandoc, but no configured client is attached to this buffer. Of course, if I manually sets the filetype of the buffer to markdown, the marksman client is correctly attached to it.
Below a sceenshot of the :LspInfo output.


ion-footer on back should disappear on willLeave not didLeave

Ionic version:  (check one with "x")
[ X] 2.x
I'm submitting a ...  (check one with "x")
[X ] bug report
Current behavior:
The ion-footer of sub-pages (accessed thru navController.push) seems to disappear, when going back to the previous page, only once the view did effectively leave.
If you apply a background-color to the ion-footer, that lead to a weird effect, where, after the click on the back button, the previous page is displayed and one second later the footer blink while disappearing.
Expected behavior:
The ion-footer should disappear on vill leave or follow the same effect as the page ("slowly disappearing to the right")
Steps to reproduce:
See video: https://dl.dropboxusercontent.com/u/77620770/back_ion-footer.mov
Related code:
<ion-footer style="background-color: red">
     <button ion-button round (click)="stuff()">Test</button>
</ion-footer>

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 2.1.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: 1.9.0
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.2.1
Xcode version: Xcode 8.2.1 Build version 8C1002

Ok I found a solution, if I add a ion-toolbar and apply the background-color to that one (not to the all footer), then the transition on back looks ok and solve that issue
<ion-footer>
    <ion-toolbar  style="background-color: red">
         <button ion-button round (click)="stuff()">Test</button>
    </ion-toolbar>
</ion-footer>

+1

@dani-inside maybe a workaround or maybe it's designed like this don't know.
If the solution I found didn't work for you, double check that you don't have a ngIf or other angular execution in that footer part which could trigger the glitch too. If yes, move it to the above or under element and it should work (it was my case).
if still doesn't work, maybe you could a open a new issue, I'm fine with this solution for the moment at least.

Thanks for the feedback @peterpeterparker, appreciate it. It's actually not solving the issue for me, and there are no angular directives on the elements. I'll open a new ticket then.

@dani-inside Have the same issue here...any solutions now?


Document Tweens v2 to v3 API update

Is your feature request related to a problem? Please describe.
I'm upgrading from Tweens v2 to v3 and there is almost no documentation about the changes.
I checked the Release page change log and despite the important API compatibility breaking, I don't see any information about how to update code.
I would really like a changelog like SceneReference (https://github.com/starikcetin/Eflatun.SceneReference/releases) which was very easy to follow.
In addition, the latest document doesn't mention what "using namespace" is needed, which was one of the things that changed.
Describe the solution you'd like
Describe all the changes in the doc. This is what I found so far:

install openupm add nl.jeffreylanters.tweens instead of openupm add nl.elraccoone.tweens
replace using ElRaccoone.Tweens; with using Tweens;
static method helpers have been removed. You now need to AddTween of a given type (eg new PositionTween instead of .TweenPosition()). This is longer though, I wonder if static helpers have been removed for a strong architectural reason or if they will come back, would make it much easier for me to update my project.
call gameObject.CancelTweens instead of TweenCancelAll
generally speaking, extensions apply to GameObject only, not components, so you may need to add .gameObject add different places

Describe alternatives you've considered
Explanations could be in a separate doc, but changelog looks like a good place
Additional context
I may end up not upgrading to v3 if it's too complicated.

Also, I noticed that the openupm page for nl.elraccoone.tweens has disappeared, yet the command-line openupm add nl.elraccoone.tweens works to provide 2.1.0. But since the README on tag 2.1.0 still show the old command-line, people will be able to find out how to use it. Maybe there should still be an openupm page for the old version pointing to the new one so devs are not lost though?


Echarts 3.4.4 markLine plotting wrong with for values less than 0.01

I have a ECharts line chart where I am setting a target using markline. The problem is that, echarts is not plotting markLine correct with values less than 0.01.
{
    name: 'target',
    markLine: {
     data: [{ yAxis: 0.0064}]
    }
}

Here is the full code,
{
 name: 'target',
 type: 'line',
 animation: false,
 symbol: 'none',
 silent: true,
 itemStyle: {
   normal: {
     lineStyle: {
      type: 'dashed',
      width: '1',
      color: 'blue'
     }
   }
 },
 markLine: {
  symbol: 'none',
  data: [{ yAxis: 0.0064}],
  label: {
    normal: {
     show: false
    }
  },
  itemStyle: {
    normal: {
      lineStyle: {
        type: 'dashed',
        width: '1',
        color: 'blue'
      }
    }
  }
 }

Other series are plotted correctly with values less than 0.01.
I have attached screenshot. You can see blue dotted markLine is not plotted at 0.0064 but other series' point is plotted correctly at 0.0054

Echarts version : 3.4.4

Can you provide a full option?

Please provide the full option rather than series. And please try with the latest version.

Aha! I thought I was the only one!!! #11517


Locked View, React Animations & App Cleanup

Enable user to experience the wallet without Metamask
Show "LOCKED" on submit button, and do not engage blockchain
Cleanup application
Initial readme updates

Integrated under and prior to: commit 514a3b272d43ce59b19a009c07d5cfcb49456a3a .


GH-3871: Add revealing test case and fix one-off error

GitHub issue resolved: #3871
Briefly describe the changes proposed in this PR:

adds a test case in core/sail/shacl/src/test/resources/test-cases/complex/mms/ that reveals the bug
fixes the one-off error in ValidationQuery, the test still fails with another error - hence draft PR.
Help is welcome!

PR Author Checklist (see the contributor guidelines for more details):

[x] my pull request is self-contained
[x] I've added tests for the changes I made
[x] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary
[x] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

After solving the ArrayIndexOutOfBoundsException issue, the code currently fails in ValidationQuery.union(), where the two ValidationQueries are checked in a number of assert statements. To see which queries are joined, we print them to stdout, here's the output:
union of a:
?target_0000000000 a <https://mms.researchstudio.at/mms#EnumerationType> .
?target_0000000000 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .

FILTER(NOT EXISTS{?value <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .})
union of b:
?target_0000000000 a <https://mms.researchstudio.at/mms#EnumerationType> .
?target_0000000000 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
?value_0 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
?value_1 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
FILTER(?value_0 != ?value_1)

union of a:
{
?target_0000000000 a <https://mms.researchstudio.at/mms#EnumerationType> .
?target_0000000000 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .

FILTER(NOT EXISTS{?value <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .})
} UNION {
?target_0000000000 a <https://mms.researchstudio.at/mms#EnumerationType> .
?target_0000000000 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
?value_0 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
?value_1 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
FILTER(?value_0 != ?value_1)

}
union of b:
?target_0000000000 a <https://mms.researchstudio.at/mms#EnumerationType> .
?target_0000000000 <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
?value <http://www.linkedmodel.org/schema/dtype#hasMember> ?target_0000000001 .
 FILTER(!(EXISTS{?value a <https://mms.researchstudio.at/mms#EnumerationType>}))
2022-05-10 17:24:47,556 [ForkJoinPool-1-worker-5] DEBUG org.eclipse.rdf4j.sail.shacl.ShaclSailConnection - Cleanup

java.lang.AssertionError
	at org.eclipse.rdf4j.sail.shacl.ast.ValidationQuery.union(ValidationQuery.java:84)
	at java.base/java.util.stream.ReduceOps$2ReducingSink.accept(ReduceOps.java:123)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
  [...]

The problem seems caused by one of the value variables being called value whereas the other is value_1
@hmottestad I think we need your help here

Can't find the cause by our own and will wait now for @hmottestad or someone else who knows, why this happens here.

I've found the issue and I've tested a fix. Thanks for creating a test case.
I would like to use your test case in my code, so if you could take a look at the contributor guide and make sure you have signed the Eclipse Contributor Agreement. That way I can merge your branch in with my fix.
https://github.com/eclipse/rdf4j/blob/main/.github/CONTRIBUTING.md#legal-stuff
In short the issue is that some property shape constraints produce values and others don't. Min/max count don't, but class does. So it's correct that the index for the value is out of bounds. The problem here is that the use of sh:node stops the ShaclSail from splitting the shape into multiple shapes and then runs into the bug where the union code doesn't correctly check if the constraint produces a value or not.

And as a temporary fix you can disable SPARQL based validation, and revert to using the regular bulk or transactional validation for everything. This will make some validations slower.
You can set the property org.eclipse.rdf4j.sail.shacl.sparqlValidation to the false. Both as strings. See https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/System.html#setProperty(java.lang.String,java.lang.String)

I've posted a PR here: https://github.com/eclipse/rdf4j/pull/3877

Okay, thank you! I've signed the Eclipse Contributor Agreement and you can merge the test case as well.

Merged into GH-3871-shacl-index-out-of-bounds


Channel disconnections

Not sure if you want separate issues for the nokio branch! Just organising my thoughts around this, but I notice quite frequently that I see Disconnected(..) at https://github.com/bytemunch/bevy-supabase/blob/main/crates/bevy-realtime/src/postgres_changes.rs#L61. Obviously it'll panic in its current state due to the unwrap, but it's less clear to me why the channel is disconnecting.
One theory I had is that we can't store a channel as a component? Possibly it gets cloned or duplicated in some way that's not terribly friendly to the rx from crossbeam? I wondered if perhaps we might need to look at storing it as a Resource instead, though that may feel less ergonomic. I'll have a wee play locally and see if anything helps.

I wonder if this might be of use... https://github.com/johanhelsing/bevy_crossbeam_event :thinking:

Given that they use a resource, it might be an interesting option to explore.
To the original problem, I noticed that there were timing issues and when I created RealtimePlugin much earlier in the startup my Disconnects went away (or at least they seem to have for now!)  I might see if I can get the branch working with bevy_crossbeam_event so that we can evaluate it.

Ooh that crate might be exactly what we need! Crossbeam rxs are thread
friendly I think so passing them around shouldn't be an issue. I'll look
into it all when I have time, if we can restructure in a more bevy way then
future development will get exponentially easier
On Fri, 17 May 2024, 07:26 Rich Churcher, @.***> wrote:

Given that they use a resource, it might be an interesting option to
explore.
To the original problem, I noticed that there were timing issues and when
I created RealtimePlugin much earlier in the startup my Disconnects went
away (or at least they seem to have for now!) I might see if I can get the
branch working with bevy_crossbeam_event so that we can evaluate it.
—
Reply to this email directly, view it on GitHub
https://github.com/bytemunch/bevy-supabase/issues/4#issuecomment-2116841179,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKMCYI66UVHAKCD7KMM2OPLZCWPHTAVCNFSM6AAAAABH3P77ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJWHA2DCMJXHE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hrm. Sad to say, it wasn't an instant fix. It's quite an ergonomic approach, e.g.
impl AppExtend for App {
    fn add_postgres_event<E: Event + PostgresPayloadEvent + Clone, F: Component>(
        &mut self,
    ) -> &mut Self {
        self.add_crossbeam_event::<E>()
            .add_systems(Update, postgres_forward::<E, F>)
        // self.add_event::<E>().add_systems(
        //     Update,
        //     (postgres_forward::<E, F>, forwarder_recv::<E>).chain(),
        // )
    }
}

and therefore:
pub fn postgres_forward<E: Event + PostgresPayloadEvent + Clone, T: Component>(
    mut commands: Commands,
    mut q: Query<
        (Entity, &mut BevyChannelBuilder, &PostgresForwarder<E>),
        (Added<PostgresForwarder<E>>, With<T>),
    >,
    sender: Res<CrossbeamEventSender<E>>,
) {
    for (e, mut cb, event) in q.iter_mut() {
        let s = sender.clone();
        cb.0.on_postgres_change(event.event.clone(), event.filter.clone(), move |payload| {
            let ev = E::new(payload.clone());
            s.send(ev);
        });

        commands.entity(e).remove::<PostgresForwarder<E>>();
    }
}

However, I still got disconnection events on the channel at runtime. They consistently appear on some runs, but not others! So clearly some kind of timing issue, but what I as yet have no idea! Will try to come up with a small-ish reproduction for further study.

It does seem to be only in my project that I can replicate these disconnects! Annoying. I'll keep trying to find the secret ingredient...

Ah. It seems to become more prevalent the more tables you listen to. I can reliably make it happen most often with about five, using the following sample code:
use bevy::prelude::*;
use bevy_http_client::HttpClientPlugin;
use bevy_supabase::prelude::*;

#[allow(dead_code)]
#[derive(Clone, Event, Debug)]
pub struct ChatMessageEvent {
    payload: PostgresChangesPayload,
}

impl PostgresPayloadEvent for ChatMessageEvent {
    fn new(payload: PostgresChangesPayload) -> Self {
        Self { payload }
    }
}

#[allow(dead_code)]
#[derive(Clone, Event, Debug)]
pub struct FollowEvent {
    payload: PostgresChangesPayload,
}

impl PostgresPayloadEvent for FollowEvent {
    fn new(payload: PostgresChangesPayload) -> Self {
        Self { payload }
    }
}

#[allow(dead_code)]
#[derive(Clone, Event, Debug)]
pub struct AdsEvent {
    payload: PostgresChangesPayload,
}

impl PostgresPayloadEvent for AdsEvent {
    fn new(payload: PostgresChangesPayload) -> Self {
        Self { payload }
    }
}

#[allow(dead_code)]
#[derive(Clone, Event, Debug)]
pub struct SubscriptionEvent {
    payload: PostgresChangesPayload,
}

impl PostgresPayloadEvent for SubscriptionEvent {
    fn new(payload: PostgresChangesPayload) -> Self {
        Self { payload }
    }
}

#[allow(dead_code)]
#[derive(Clone, Event, Debug)]
pub struct FirstMessageEvent {
    payload: PostgresChangesPayload,
}

impl PostgresPayloadEvent for FirstMessageEvent {
    fn new(payload: PostgresChangesPayload) -> Self {
        Self { payload }
    }
}

fn main() {
    let Ok(apikey) = std::env::var("SUPABASE_LOCAL_ANON_KEY") else {
        panic!("SUPABASE_LOCAL_ANON_KEY must be set.");
    };

    let mut app = App::new();

    app.add_plugins((
        DefaultPlugins,
        HttpClientPlugin,
        SupabasePlugin {
            apikey,
            endpoint: "http://<IP_ADDRESS>:54321".into(),
            ..default()
        },
    ))
    .add_systems(Startup, init)
    .add_systems(
        Update,
        (
            read_chat_messages,
            read_follows,
            read_ads,
            read_subscriptions,
            read_first_messages,
        )
            .chain(),
    )
    .add_postgres_event::<AdsEvent, BevyChannelBuilder>()
    .add_postgres_event::<ChatMessageEvent, BevyChannelBuilder>()
    .add_postgres_event::<FirstMessageEvent, BevyChannelBuilder>()
    .add_postgres_event::<SubscriptionEvent, BevyChannelBuilder>()
    .add_postgres_event::<FollowEvent, BevyChannelBuilder>();

    app.run()
}

pub fn init(client: ResMut<Client>, mut commands: Commands) {
    let channel = client.channel("table_changes".into());

    let mut c = commands.spawn(BevyChannelBuilder(channel));

    c.insert(PostgresForwarder::<ChatMessageEvent>::new(
        PostgresChangesEvent::Insert,
        PostgresChangeFilter {
            schema: "public".into(),
            table: Some("messages".into()),
            filter: None,
        },
    ));
    c.insert(PostgresForwarder::<FollowEvent>::new(
        PostgresChangesEvent::Insert,
        PostgresChangeFilter {
            schema: "public".into(),
            table: Some("follows".into()),
            filter: None,
        },
    ));
    c.insert(PostgresForwarder::<AdsEvent>::new(
        PostgresChangesEvent::Insert,
        PostgresChangeFilter {
            schema: "public".into(),
            table: Some("ads".into()),
            filter: None,
        },
    ));
    c.insert(PostgresForwarder::<SubscriptionEvent>::new(
        PostgresChangesEvent::Insert,
        PostgresChangeFilter {
            schema: "public".into(),
            table: Some("subscriptions".into()),
            filter: None,
        },
    ));
    c.insert(PostgresForwarder::<FirstMessageEvent>::new(
        PostgresChangesEvent::Insert,
        PostgresChangeFilter {
            schema: "public".into(),
            table: Some("first_messages".into()),
            filter: None,
        },
    ));
    c.insert(BuildChannel);
}

fn read_chat_messages(mut evr: EventReader<ChatMessageEvent>) {
    for _ev in evr.read() {
        println!("::: chat message received :::");
    }
}
fn read_first_messages(mut evr: EventReader<FirstMessageEvent>) {
    for _ev in evr.read() {
        println!("::: first message received :::");
    }
}

fn read_ads(mut evr: EventReader<AdsEvent>) {
    for _ev in evr.read() {
        println!("::: ads starting :::");
    }
}

fn read_subscriptions(mut evr: EventReader<SubscriptionEvent>) {
    for _ev in evr.read() {
        println!("::: subscription received :::");
    }
}

fn read_follows(mut evr: EventReader<FollowEvent>) {
    for _ev in evr.read() {
        println!("::: channel followed :::");
    }
}

I think this is a race condition, the plugin is trying to make a channel before the client is connected, leading to the channels being disconnected when they try to instantiate but fail.
I'm working on a client_ready runcondition to allow for bevy systems to run at the correct time, but runconditions on Update functions are run every frame and I'm struggling to work in an async way where I don't overflow the channel, but also don't hang the program when connecting. Got a few ideas I'm gonna try implement, surely one of them will work

Yeah the speed of systems run on update is a bit of a confounding factor for sure, when dealing with anything outside the game engine.

surely one of them will work

Surely!

Data point: tried with the new client_ready but sadly, no improvement. (bevy_crossbeam_events swallows Disconnected(), but it's still clear the events are not being received by the Receiver.)


feat #76: Feature delete all chats

Title of the Pull Request

[x] Have you renamed the PR Title in a meaningful way?

Related Issue

Closes: #76
Description

A new button to clear all chats
How Has This Been Tested? ⚙

By clicking red delete button on chatbot page
Screenshots 📷

Type of change
What sort of changes have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[x] My code follows the code style of this project.
[x] I have followed the contribution guidelines
[x] I have performed a self-review of my own code.
[x] I have ensured my changes don't generate any new warnings or errors.
[x] I have updated the documentation (if necessary).
[x] I have resolved all merge conflicts.

Resolve the conflicts


Added Python i18n package

Added the Python Internationalization package.

Hello @michelpereira Thank you for your effort here, awesome!! 🔥 Best wishes,


Can R be called from Rust?

Say I wanted to use qnorm() in Rust. Is it possible to expose the functions from stats::* in Rust cargo package?

This is probably more appropriate for the discord channel. I am closing.


mycli: 1.19.0 -> 1.20.1

Motivation for this change
The package did not build anymore:
Requirement already satisfied: configobj>=5.0.5 in /nix/store/j85bgcwp8kgbn7pjz9h5iycvslq42djj-python3.7-configobj-5.0.6/lib/python3.7/site-packages (from mycli==1.19.0) (5.0.6)
Requirement already satisfied: PyMySQL>=0.9.2 in /nix/store/vrgqwdq8w17n7d6l3acmni67zryygnlk-python3.7-PyMySQL-0.9.3/lib/python3.7/site-packages (from mycli==1.19.0) (0.9.3)
Requirement already satisfied: Pygments>=1.6 in /nix/store/v7n8sbpknx2s8yxl3a2dxjzpw15px03q-python3.7-Pygments-2.4.2/lib/python3.7/site-packages (from mycli==1.19.0) (2.4.2)
Requirement already satisfied: cli-helpers[styles]>=1.0.1 in /nix/store/31gqi05ljs0k9f2dkq6y7vdrwh7gvr1g-python3.7-cli_helpers-1.2.1/lib/python3.7/site-packages (from mycli==1.19.0) (1.2.1)
Collecting sqlparse<0.3.0,>=0.2.2 (from mycli==1.19.0)
  ERROR: Could not find a version that satisfies the requirement sqlparse<0.3.0,>=0.2.2 (from mycli==1.19.0) (from versions: none)
ERROR: No matching distribution found for sqlparse<0.3.0,>=0.2.2 (from mycli==1.19.0)
builder for '/nix/store/636a8bjb1kfyshrdvrd36d5r17nn0w7b-mycli-1.19.0.drv' failed with exit code 1
error: build of '/nix/store/636a8bjb1kfyshrdvrd36d5r17nn0w7b-mycli-1.19.0.drv' failed

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build mycli


How to pass batch variables to expect script?

have username and password stored in bach variables and want to pass it to EXPECT script:
 expect("login as:")
    send("%login%\r")
    expect("%login%@%hostname%'s password:")
    send("%passwd%\r")

is something like this possible at all?

@lazna :
Does this code satisfy your needs ?
local login = os.getenv("login")
local passwd = os.getenv("passwd")

expect( "login as:")
send( login .. "\r")
expect( login<EMAIL_ADDRESS>password:")
send( passwd .. "\r")

Thanks, it work.
I edit my question with %hostname% variable, could you please edit your answer accordingly? Also extending documentation with more examples will be good. And possiobly explain syntax (vars, doubledots, doublequotes) could be great!

The syntax which replaces the variable name to its value in the string-literal does not exist.
Expect.Lua's syntax is exactly same as the programming language Lua 5.1 except for some functions described in readme.md.
I can not agree explaining the Lua's syntax as my small tool's document because it is too big and Lua-VM is not my product.
However, I should add the link to the Lua's offcial page in readme.md to tell users syntax. I am goint to do it.

OK, as I never see LUA language and there are doubledot in your example, reading the ""concat": the .. (concatenation) operation." section of manual you linked, but did not make sense to me.
So trying blind shoot  expect("[" login .. "@" hostname .. "]" >") for expect("%login%@%hostname%'s password:") but it produce error. Could you correct this specific case please?

The doubledots operator is introduced in 2.5.4 – Concatenation.
It works like . of Perl , & of VisualBasic, and + of C++'s std::string.
expect("[" login .. "@" hostname .. "] >") should be
expect("[" .. login .. "@" .. hostname .. "] >") .
I added two ..s.

BTW: If there are single quote or other special character in the prompt text, does it need to be escaped by backslash?

The Special characters are \ and quotations.

Literal strings can be delimited by matching single or double quotes, and can contain the following C-like escape sequences: '\a' (bell), '\b' (backspace), '\f' (form feed), '\n' (newline), '\r' (carriage return), '\t' (horizontal tab), '\v' (vertical tab), '\' (backslash), '"'

(from 2.1 – Lexical Conventions )

Thanks, it works!

It works like . of Perl , & of VisualBasic, and + of C++'s std::string.

...and like & in batch files. Hopefully now understand the EXPECT(var1 .. "abc" .. var2) work like echo %var1%&echo abc&echo %var2% in batch files, with only difference it did not append CRLFs to strings.
Thanks for explanation...


coroot-node-agent: init at 1.22.2

Adding package for coroot-node-agent. It's the data-collector service for coroot server that is added in PR #346844.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4652

Changed repo name to hardcoded string as it was suggested to be more idiomatic in coroot PR review.

removed with lib from the meta block

added meta.mainProgram

updated to latest release

Thanks for the review @FliegendeWurst ! I've removed the empty block from the package definition and bumped version to latest release while at it. There's also a response to the location related discussion explaining some of the reasoning for that.


useSantizeValueStrategy('escapeParameter') breaks object prototypes

Subject of the issue
When escapeParameters is turned on, translate parameters are replaced by clones without the prototypes before they are passed to any filters. This issue has specifically happened to us with moment.js dates, but can occur to any object that relies on a prototype to provide functions etc.
Your environment
Tested in our app on ng-translate 2.7.2/ angular 1.4.8, but can reproduce on Angular 1.5.0 and Angular Translate 2.9.0
Tested in Firefox 44 but the issue is likely cross browser
Steps to reproduce

Call $translateProvider.useSanitizeValueStrategy('escapeParameters')
Interpolate a complex object with a prototype in a string, that gets passed to a filter:
e.g. "The date is {{someMomentObject | dateFilter }}"
The filter gets passed a broken clone.

See this plnkr below:
https://plnkr.co/edit/ndVs09yGk19hGPbfL5Lw?p=preview
Expected behaviour

The filter should be passed the original object (with prototype) that was passed as a translate parameter.

Actual behaviour

The filter is passed a clone that does not have the object prototype

No, it works actually. ;)
Well, that does not make sense. Either we escape or sanitize the specific arguments or inputs.. well, or we don't. We cannot say strings are bad, but "objects not looking like a string" not.
I'm not sure how we can solve this without generating a security issue (beware of toString). Perhaps, we can introduce a whitelist, but this will be a neverending story. In your case it is not a date object, but a Moment-Wrapper.

@tspaeth wdyt?

I agree with you, Knalli. This is a bit of encapsulating logic inside a text content - so more of the interpolation of the interpolation or "cascading filters".
@tonyfinn Isn't it an option for you to use the directive and pass in the formatted date value? That would usually be the way to go.

@tonyfinn You can change the complete sanitization process adding a custom one ($translateSanitization.addStrategy()). Doing that you are able to change this, but you are also responsible for security on your own.


Release/1.0.1

Coverage remained the same at 32.886% when pulling 0db0a92223813733ced798cc70ea23e4f74bd703 on release/1.0.1 into 8111289e13193e3121ac29347e160b2c2aa716af on develop.


problem about Hnet test?

thanks for your kind, I did not find the use of hnet in line fit in test_lanenet.py? how to use this wonderful idea for ployline fitting as your paper said, thanks.

@cuicuizhang1989 It is not my paper I just implement this model. About Hnet problem you can check #36


feat(console): add e2e tests for metadata

[x] add user metadata
[ ] remove user metadata
[x] add org metadata
[ ] remove org metadata

@peintnermax i believe we should plan this in for a next / future sprint?

@peintnermax i believe we should plan this in for a next / future sprint?

fine by me.. @eliobischof had some improvements for the e2e in general so we should consider merging them even before 👍

@peintnermax Can we close this one?

yes.. we should redesign the metadata component for better UX and then look at it 👍


Graceful shutdown explanation

Hi there,
The README states:

Enables graceful shutdown

I am trying to find some more information about how this works. I managed to find:

Example for expressjs

Hints that we might receive a SIGTERM

Lambda extensions docs talks about a shutdown phase

If I am understanding this correctly...

We receive a SIGTERM
Have between 1500-1700ms to shut down depending on whether we use an internal extension or not

2s - 300ms = 1700ms, with no other extensions
2s - 500ms = 1500ms, if Lambda has additional internal extensions

Receive SIGKILL after 2s if we have not exited

Could you please confirm this is correct when using Lambda Web Adapter?
(If so maybe we can update the README with some more info to explain it.)
Thanks!

Yes, Lambda Web Adapter is an external extension, so it enables graceful shutdown for Lambda functions.
You found the correct example in this repo. I have another repo with more details: https://github.com/aws-samples/graceful-shutdown-with-aws-lambda
When Lambda service shut down the execution environment, it will send a SIGTERM to the runtime process group. So the web application process will receive a SIGTERM signal.
The duration allowed for the whole shutdown phase is 2 seconds. But for the runtime process, the duration is shorter.

300ms without internal extensions.
500ms with internal extensions.

The rest of the time is for external extensions to shut down.
This diagram is a good overview of these steps.


How to change the default virtual hub attribute

I am trying to change the default value for hub_routing_preference, by default it is ExpressRoute - https://registry.terraform.io/providers/hashicorp/Azurerm/3.92.0/docs/resources/virtual_hub#hub_routing_preference
Tf Plan
+ resource "azurerm_virtual_hub" "virtual_wan" {
      + address_prefix                         = "*****"
      + default_route_table_id                 = (known after apply)
      + hub_routing_preference                 = "ExpressRoute"
      + id                                     = (known after apply)
      + location                               = "eastus2"
      + name                                   = "******"
      + resource_group_name                    = "*****"
      + sku                                    = "Standard"
      + tags                                   = {
          + "demo_type"  = "poc"
          + "deployedBy" = "****"
        }
      + virtual_router_asn                     = (known after apply)
      + virtual_router_auto_scale_min_capacity = 2
      + virtual_router_ips                     = (known after apply)
      + virtual_wan_id                         = "***********"
    }

There is no code to change in the advance settings.  https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/1288f401ad8cf85b3e527729a4dddded58aef2ef/modules/connectivity/locals.tf#L803

@matt-FFFFFF can you please assist with this question?

This is now available in the v6 release

@matt-FFFFFF  It's working perfect! Thank You.


Convert more GET requests to ReadablePromise

This enables using searchResources and searchOne using React 18 <Suspense> and "render while you fetch"

Coverage decreased (-0.0004%) to 95.216% when pulling b3b9e1425a04298652bd2953f5bf9f1abaaf0369 on cody-more-readable-promises into 7b11a67e521b256a0489de9fca9e70750d2dc4f1 on main.


Wikify Seasonalbot's README

Seasonalbot's README is a bit dense, and will only get moreso as we add guidance on getting the database up and running for local dev along with any other editor-specific guidance we work on adding.
This will be a great addition to our upcoming Django-wiki, but this can live in this project's GH wiki for now since both will accept markdown.
The README has been copy/pasted into the GH wiki: https://github.com/python-discord/seasonalbot/wiki
A couple TODOs that I can think of right now:

[x] Rework the PyCharm specific guide to utilize the separate pages for generic tasks
[ ] Add guides for other editors (e.g. VSCode)
[x] Add a generic "getting started" page that outlines the general flow for getting set up to run the bot & contribute code to the project
[x] Rework formatting & add some more to the pages where appropriate
[ ] Add sidebar/footer
[x] Rework the repo's README.md & point the specifics to the wiki
[ ] Add steps for getting the bot running w/Docker

I'm working creating a general "getting started" page. I've ran into this section which bugs me:

Each pull request you work on should have its own branch. This keeps your master branch clean so you can pull changes from the original repository without pulling the same commits you’ve already added to your fork.

This is a confusing explanation. It legitimately took me a few minutes to make sense of it. And once I understood, I knew I could just do git pull upstream master and it wouldn't even matter what origin/master has anyway.
Can someone think of a better explanation for this?

Should we link to GitHub's guide instead for creating a PR? It actually nicely done. However, we may need to emphasise that Allow edits from maintainers must remain checked.

@MarkKoz you asked a lot of questions, here's a lot of answers.
Git

git diff and git log are probably worth mentioning. Perhaps we could just link to an article about "other useful git commands" and put it there?
I like to use the argument that we create other branches on the fork so that we can work on multiple issues at the same time. If we don't, we would need to wait for one pull request to be merged in order to "free up" master so we could tackle the next one.
there's some git best practice stuff in the contributing guidelines, and I guess I feel like that's enough, though it probably wouldn't hurt to reiterate some of those points.
IMO the editor articles don't need to explain git concepts at all, they can just link articles that do.

PyCharm

Oh yes, using -m bugs me too. Please change it.
focus on purely describing how to do something sounds like exactly the right idea.

New pages

In the long run, we are going to expose the linting problems to the GitHub, so that it will not be necessary for users to navigate to Azure DevOps at all. Still, a guide explaining about builds and what to do if they fail is probably a good idea. We could show off what a failing build looks like both on GH and in #seasonalbot-log, and then show some screenshots of how to find more information so you can get it to pass, maybe mention precommit again.
A page about adding a dependency sounds useful. :+1:
A Python installation guide, in my opinion, falls outside the scope of this wiki. :-1:

Other

That GitHub guide for creating a PR looks great. I wouldn't mind if we just used that, so long as we underline the importance of allowing edits from maintainers.
I don't really understand how the Docker question is related to this wiki issue. Perhaps it'd be a discussion better suited for a different issue.

IMO the editor articles don't need to explain git concepts at all, they can just link articles that do.

I guess I contradicted myself by saying "focus purely on how to do something". The workflow covers the steps to take, but doesn't explain what anything is by itself (what is a branch? what is a commit? what is a push?). Considering that we are suggesting PyCharm as the beginner-friendly route, I think it is worthwhile to provide some explanation at least for PyCharm.
I like how I briefly explained things in the Git CLI guide. I'd like to follow a similar pattern for PyCharm but I was wondering if I could structure the wiki in a way that would allow me to avoid repeating the same content. Now I am leaning even more towards just letting it be repeated, as it's not too long anyway and the explanations are more effective when paired with the how-to's.

I don't really understand how the Docker question is related to this wiki issue.

It was addressing ELA's suggestion: "Add steps for getting the bot running w/Docker"

Might be worth adding how to create the .env file e.g. with touch .env or type nul > .env on Windows.

Sounds good, go for it

I added the two I mentioned but it could also use a PowerShell one if someone wants to figure that out.

Closing this as its been superseded by https://pythondiscord.com/pages/contributing/seasonalbot/


feat: publish participant events to client

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Retry job after timeout error

@thousandsofthem could you please review?

@thousandsofthem can we merge?

lgtm


sample code has error

error C2664: 'void ErrorExit(LPSTR)': cannot convert argument 1 from 'const char [13]' to 'LPSTR'

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

ID: 9c07562d-f17f-a601-1518-32221c4255ba
Version Independent ID: 1c26f9ac-3226-6e22-ee34-7a781c96d3ab
Content: Reading Input Buffer Events - Windows Console
Content Source: docs/reading-input-buffer-events.md
Product: console
GitHub Login: @miniksa
Microsoft Alias: miniksa

I just built this sample with Visual Studio 2019 in x64 configuration and it's fine.
I'm not sure what's going on with your configuration, but a plain old string literal "Foo" is definitely generally convertible to char* which is what LPSTR is a typedef for in windows.h and friends.


Support CORS for @http-resource

Support CORS for RESTful API routing
Seperate WsgiApp.route into two functions (WsgiApp.dispatch_method, WsgiApp.route)

@dahlia I changed the code you were reviewed. please review changes one more time :)


Registered postcss-single-line plugin.

Dear Dave,
Sorry, my mistake. I just made the requested change. Is that all right now?
Thanks!


Redesign / Improve env var page

Currently there is a problem where environment variables which are super long
are ruining the layout.
With this fix the env vars are shown in a disabled text field, with a cursor
indicating that it is just read only. When you click the field, it will select
the content within for easy copying.
Fixes: #155
Screenshot

@jvanbaarsen Makes sense! Only problem with this UI is that I can see that people think they are able to edit an env var, which is not the case, right?

@michiels No that is not the case. Which is why the cursor is reflecting that when you hover over the input. To counter this, I'll create a Pencil button next to the field, which will open a modal to alter the value.

@jvanbaarsen :+1:

Issue for editing: #167


WIP review isLast prop

🤔 해결하려는 문제가 무엇인가요?

close #184

🎉 변경 사항
🙏 여기는 꼭 봐주세요!
사용 방법
🌄 스크린샷
📚 참고

Codecov Report
Patch and project coverage have no change.

Comparison is base (d97cd2a) 92.52% compared to head (0fc5942) 92.52%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #190   +/-   ##
=======================================
  Coverage   92.52%   92.52%
=======================================
  Files          38       38
  Lines         281      281
  Branches       52       52
=======================================
  Hits          260      260
  Misses         21       21

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Ensure react/native fork gets updated with latest upstream

Update our react/native fork to include this upstream commit which was duplicated into our fork here: https://github.com/Expensify/react-native/pull/53 by @hellohublot
cc @trjExpensify, original issue was https://github.com/Expensify/App/issues/18121

why does /App use a fork? 🤔

Closing as per https://expensify.slack.com/archives/C01GTK53T8Q/p1686159512184629


Support image resizing

Is your feature request related to a problem? Please describe.
Obsidian established the following syntax to rescale images:
![[og-image.png|200]]
This currently breaks the image links in Perlite.
Describe the solution you'd like
It would be great if Perlite could support scaled images the way Obsidian does.
Describe alternatives you've considered
Scaling the images outside of obsidian is valid, but kind of a hassle.

This would be great. As an example, currently ![[image.png|100]] is parsed as a plaintext ! followed by the renamed wikilink to image.png:

We can convert all images beforehand, but it'd be awesome to have them rescale in Perlite. And if not, it'd be nice if the image itself still appeared.
I'm taking guesses because of my unfamiliarity with the codebase, but is this issue occurring in Parsedown.php at the inlineImage call?
https://github.com/secure-77/Perlite/blob/ac8c431e132ce379134348fdc91010c9b7cf6bc1/perlite/Parsedown.php#L1224-L1238
And thus does it stem from the regex calls in the  inlineLink function in PerliteParsedown.php?
https://github.com/secure-77/Perlite/blob/ac8c431e132ce379134348fdc91010c9b7cf6bc1/perlite/PerliteParsedown.php#L498-L560
Trying to wrap my head around it...

This is fixed in version 1.5.3


Default text of showShareSheet

Is it possible to change the default text "Share link" in the showShareSheet?

upon cursory inspection it looks like the fourth argument to showShareSheet will be set as the share text https://github.com/BranchMetrics/Cordova-Ionic-PhoneGap-Deferred-Deep-Linking-SDK/blob/master/src/ios/BranchSDK.m#L474

looks like showShareSheet only take 2 args showShareSheet(options, controlParameters) so I'm not sure what the third and fourth arguments are. I tried this
showShareSheet(options, controlParams, 'my example text');

Ah true, it looks like www/branch.js is lacking support atm

Related: Android seems to be ignoring any call to showShareSheet with 4 arguments.
https://github.com/BranchMetrics/Cordova-Ionic-PhoneGap-Deferred-Deep-Linking-SDK/blob/eb38b43138d1382c8cdfce1abd184d4e89d3dbce/src/android/io/branch/BranchSDK.java#L189

Hey everyone,
Just have created a PR #99  to support customizing the share text.

@rklus16 Please check if the latest version fixes the issue. Then we can close this thread. Thanks.

Works! Thanks for doing that! 😃


possibility to start video via JS func?

Hi, thx for plugin. Is there a way to tigger the play button via JS instead of clicking on it?

I am not absolutely sure if this works with all browsers. I tested it in Chrome and Firefox and it seems to work:
document.querySelector('embetty-video').shadowRoot.querySelector('#playbutton').click();

great, works, thx!


construct datasets for topic modelling

https://docs.google.com/spreadsheets/d/1-Z5UlqchCO6MUmlSmxqG9XmdZFSL_SBr_8rVcFRO0f0/edit?usp=sharing will contain one of the data sets

Irrelevant, we don't construct data sets now, we don't use topic modelling either.


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
<EMAIL_ADDRESS>Minor Changes

5cf8289: test
52c68ff: sdfsdf
68dedcb: Test 2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

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

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
3

Relevant Lines:
3

💛  - Coveralls


Karpenter nodes terminates immediately due to controller.interruption initiating delete from interruption message

Description
Observed Behavior:
Karpenter nodes get launched and deleted immediately, and pods get stuck at pending
Expected Behavior:
Expected behaviour to allocate pods and nodes to be not killed
Reproduction Steps (Please include YAML):
apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  name: default
spec:
  labels:
    intent: apps
limits:
  resources:
    cpu: 1k
  providerRef:
    name: default
  requirements:
  - key: karpenter.k8s.aws/instance-category
    operator: In
    values:
    - m
  - key: karpenter.k8s.aws/instance-cpu
    operator: In
    values:
    - "2"
   - key: karpenter.k8s.aws/instance-generation
    operator: In
    values:
    - "5"
    - "6"
  - key: karpenter.sh/capacity-type
    operator: In
    values:
    - spot
 - key: kubernetes.io/arch
    operator: In
    values:
    - amd64
  - key: kubernetes.io/os
       operator: In
       values:
       - linux
  ttlSecondsAfterEmpty: 30

Versions:

Chart Version: v0.31.0
Kubernetes Version (kubectl version):  v1.27

2023-10-26T09:41:06.888Z    INFO    controller.machine.lifecycle    launched machine    {"commit": "322822a", "machine": "default-n2tl5", "provisioner": "default", "provider-id": "aws:///ap-southeast-1a/i-06381788068af94ad", "instance-type": "m5a.large", "zone": "ap-southeast-1a", "capacity-type": "on-demand", "allocatable": {"cpu":"1930m","ephemeral-storage":"44Gi","memory":"6903Mi","pods":"29","vpc.amazonaws.com/pod-eni":"9"}}
2023-10-26T09:41:07.098Z    INFO    controller.machine.lifecycle    launched machine    {"commit": "322822a", "machine": "default-hd9ld", "provisioner": "default", "provider-id": "aws:///ap-southeast-1a/i-0587faa3ca1b921b2", "instance-type": "m5a.large", "zone": "ap-southeast-1a", "capacity-type": "on-demand", "allocatable": {"cpu":"1930m","ephemeral-storage":"44Gi","memory":"6903Mi","pods":"29","vpc.amazonaws.com/pod-eni":"9"}}
2023-10-26T09:41:07.992Z    INFO    controller.interruption initiating delete from interruption message {"commit": "322822a", "queue": "Karpenter-eks-bh-drupal-cms-dev", "messageKind": "StateChangeKind", "machine": "default-c2vwb", "action": "CordonAndDrain"}
2023-10-26T09:41:08.077Z    INFO    controller.interruption initiating delete from interruption message {"commit": "322822a", "queue": "Karpenter-eks-bh-drupal-cms-dev", "messageKind": "StateChangeKind", "machine": "default-n2tl5", "action": "CordonAndDrain"}
2023-10-26T09:41:08.189Z    INFO    controller.interruption initiating delete from interruption message {"commit": "322822a", "queue": "Karpenter-eks-bh-drupal-cms-dev", "messageKind": "StateChangeKind", "machine": "default-hd9ld", "action": "CordonAndDrain"}
2023-10-26T09:41:08.506Z    INFO    controller.machine.termination  deleted machine {"commit": "322822a", "machine": "default-n2tl5", "provisioner": "default", "node": "", "provider-id": "aws:///ap-southeast-1a/i-06381788068af94ad"}
2023-10-26T09:41:08.513Z    INFO    controller.machine.termination  deleted machine {"commit": "322822a", "machine": "default-c2vwb", "provisioner": "default", "node": "", "provider-id": "aws:///ap-southeast-1a/i-02fbccda0dc610720"}
2023-10-26T09:41:08.537Z    INFO    controller.machine.termination  deleted machine {"commit": "322822a", "machine": "default-hd9ld", "provisioner": "default", "node": "", "provider-id": "aws:///ap-southeast-1a/i-0587faa3ca1b921b2"}

Why is Karpenter doing cordoning and draining? There are no other errors shown on the logs. We turned off consolidation and use ttlSecondsAfterEmpty

To save up some time - there is a thread, that basically states how consolidation option is not production ready for most use cases #3059

@Imunhatep We tried setting consolidation to false but still facing this issue. Do we have to remove ttlSecondsAfterEmpty as well?

From logs it seen that instance is removed a second after creation..
Haven't seen such behaviour in case of disabled consolidation option.
Yet I see an inconsistance in definition and logged info:
logs contain "capacity-type": "on-demand",
yet provider states:
key: karpenter.sh/capacity-type
    operator: In
    values:
    - spot

Not sure here, as we don't use spot instances, but might indicate some bug or miss/not in sync conifguration.
p.s.
I'm not a mainteiner, so please take my words as assumptions rather than statements.

@thepoppingone The instance type requirements you've put down restrict the instances to m5*.large and m6*.large instances. Can you try a larger set of instance types with lower rates of interruption?
I'm also curious how there's on-demand instances being launched when you have a spot requirement. Can you ensure the provisioner you're using is the one that you used when encountering this? I wasn't able to see this happen with my cluster.
Additionally, the logs are indicating there was a state change with the instance associated to your node. Are you doing anything to the instances? https://github.com/aws/karpenter/blob/v0.31.0/pkg/controllers/interruption/controller.go#L230-L236
To @Imunhatep's point, I'm not sure why Consolidation is mentioned here, as there's no mention of it in the logs and it's not enabled in the provisioner. The issue should only be related to the interruption code.
Additionally, Consolidation is definitely ready for production workloads, and we've heard feedback that indicates that, yet there's always room to improve the Consolidation experience, especially for users with more specific requirements on utilization-based disruption, which is why we're highly prioritizing the consolidation TTL issue that you've linked.

Consolidation was mentioned in the initial description, yet it wasn't mentioned when consolidation was turned off - before or after encountered issue.
p.s.
As someone responsible for maintaining a solution that depends on Karpenter within our company, I'm interested in enabling consolidation option. However, my preference lies in ensuring a peaceful night's rest rather than dealing with the consequences of production-ready features..

@thepoppingone theorizing here, can you check if the interruption queue is the one that was created for your cluster? Do you have multiple clusters using the same interruption queue?

@thepoppingone Are you still seeing this issue? I checked and both instances failed to launch correctly.

We undeployed Karpenter for this cluster. Maybe would try the 0.32.x series to see if it will work

I'm having the same issue, any updates on this?

Do you know if the instance is trying to encrypt any of the volumes? Typically when we are seeing instances fail to stay up as soon as they are launched, this typically means there is some type of default encryption key that is being used in the account and the NodeRole that is being used to launch instances doesn't have something like kms:GenerateDataKeyWithoutPlaintext permissions against the encryption key.

@jonathan-innis you absolute legend. That was the issue! Looks like i had added the node role instead of the IRSA role to the KMS Principal. This explains why the instances were immediately terminating. Thank you so much!

Glad that helped @nakulrao!
@thepoppingone Was this your issue as well?

I have the same issue

I have the same issue

@lishuaisky Do you have any more detail on if the root cause of your issue is different or was it the same root cause and the mitigation worked as expected?

@jonathan-innis - which role requires the kms:GenerateDataKeyWithoutPlaintext permissions, the Karpenter role or the actual Node role?
Running into this issue with some EBS volumes

Would this explain this error in the logs?
karpenter-7bf4d8d4c5-z7r4j controller 2023-11-29T18:32:00.263Z	ERROR	controller	Reconciler error	{"commit": "709030d", "controller": "machine.lifecycle", "controllerGroup": "karpenter.sh", "controllerKind": "Machine", "Machine": {"name":"karpenter-on-demand-pfnxb"}, "namespace": "", "name": "karpenter-on-demand-pfnxb", "reconcileID": "45e2f3ff-b07f-4627-a5fb-8179707bafb6", "error": "launching machine, creating instance, with fleet error(s), InvalidBlockDeviceMapping: Cannot create unencrypted device /dev/xvda from encrypted snapshot"}

Still unsure where the policy needed added (gave it to the worker IAM role and karpenter), however adding this policy to a KMS key I did not know about ended up resolving it (so still unsure if both were the fix)

Hi @snorlaX-sleeps, I was seeing the same error as you today and I did the following to identify the root cause:

Went to CloudTrail and search/filtered using event name set to "GenerateDataKeyWithoutPlaintext".
All my GenerateDataKeyWithoutPlaintext events had the following error message:

"errorMessage": "User: arn:aws:sts::xxxxxxxx:assumed-role/karpenter-20231204131600471600000002/1701700196698666540 is not authorized to perform: kms:GenerateDataKeyWithoutPlaintext on resource: arn:aws:kms:eu-west-2:xxxxxxxxxxx:key/7dac2551-1e4d-4c5d-b02e-296ef7126f4e because no identity-based policy allows the kms:GenerateDataKeyWithoutPlaintext action",

I discovered that the EBS encryption KMS key we are using is not the default KMS key but a different, customer managed, KMS key. Karpenter IRSA does not have access to this KMS key
As a test, I assigned AdminAccess policy to Karpenter's IRSA. The nodes are now being successfully provisioned, without any issues.
I will now add permissions to Karpenter's IRSA to enable access to the identified KMS key (in the error message), and remove the  AdminAccess policy, and test

the Karpenter role or the actual Node role

You need to attach the permission to the IRSA role so that the Karpenter controller that is launching the instances has permission to create the grant that is needed by the EC2 instance to un-encrypt the volume.

Thanks @vjkancherla @jonathan-innis - I will update our docs / deployment to include this permission

Closing this one out since it looks like this issue was resolved.

Thank you @jonathan-innis and @vjkancherla.
The issue seemed to lie with a lack of permission for the encryption service (KMS) in my case as well.
For the chronicles, here's a quick summary of how I got there:

To set up Karpenter, I've been following the example deployment reported here. Note that:
a: my karpenter was deployed on fargate nodes
b: all karpenter pods were healthy
c: I used the deployment reported here in order to test autoscaling

When trying to scale up a service, the logs from karpenter's pods displayed the following sequence of messages: found provisionable pod(s), computed new nodeclaim(s) to fit pod(s), created nodeclaim, launched nodeclaim, initiating delete from interruption message, controller.nodeclaim.termination

I found that encryption was enabled by default in EC2

Went into CloudTrail and could see a bunch of events with name GenerateDataKeyWithoutPlaintext matching the time at which the attempted scaling happened

In order to check the policy attached to the Karpenter's role, I went into IAM, Roles and looked for a Role named KarpenterController (the name obviously depends on how your deployment works).

My role had only one policy attached. The policy was also named KarpenterController. I edited it to add the following block, as suggested by @vjkancherla. Note you can probably be more specific on the permission's scope, but the one I reported here worked for me.

{
    "Sid": "KarpenterEncryption",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:CreateGrant"
    ],
    "Resource": "*"
}

Deployed a single pod and could observe the nodes being created in the cluster a few instants after. Note that, in my setup, I had no nodes for custom workloads provisioned, so deploying even a single pod triggered the creation of a node)
Destroyed the deployment and the node was removed


KAFKA-14577: Move the scala ConsoleProducer from core to tools module

Code move for the consoleProducer as part of KAFKA-14525 - Move CLI tools from core to tools module. The copy is as identical as possible as the original class and provides iso-functionality. Unit tests are moved as well for ConsoleProducer and LineMessageReader. One minor  additional unit test for the console producer.
Tests:

Refactored unit tests ConsoleProducerTest and LineMessageReaderTest.
Manual exercise of the CLI tool.

Option                                   Description
------                                   -----------
--batch-size <Integer: size>             Number of messages to send in a single
                                           batch if they are not being sent
                                           synchronously. please note that this
                                           option will be replaced if max-
                                           partition-memory-bytes is also set
                                           (default: 16384)
--bootstrap-server <String: server to    REQUIRED unless --broker-list
  connect to>                              (deprecated) is specified. The server
                                           (s) to connect to. The broker list
                                           string in the form HOST1:PORT1,HOST2:
                                           PORT2.
--broker-list <String: broker-list>      DEPRECATED, use --bootstrap-server
                                           instead; ignored if --bootstrap-
                                           server is specified.  The broker
                                           list string in the form HOST1:PORT1,
                                           HOST2:PORT2.
--compression-codec [String:             The compression codec: either 'none',
  compression-codec]                       'gzip', 'snappy', 'lz4', or 'zstd'.
                                           If specified without value, then it
                                           defaults to 'gzip'
--help                                   Print usage information.
--line-reader <String: reader_class>     The class name of the class to use for
                                           reading lines from standard in. By
                                           default each line is read as a
                                           separate message. (default: org.
                                           apache.kafka.tools.
                                           ConsoleProducer$LineMessageReader)
--max-block-ms <Long: max block on       The max time that the producer will
  send>                                    block for during a send request.
                                           (default: 60000)
--max-memory-bytes <Long: total memory   The total memory used by the producer
  in bytes>                                to buffer records waiting to be sent
                                           to the server. This is the option to
                                           control `buffer.memory` in producer
                                           configs. (default: 33554432)
--max-partition-memory-bytes <Integer:   The buffer size allocated for a
  memory in bytes per partition>           partition. When records are received
                                           which are smaller than this size the
                                           producer will attempt to
                                           optimistically group them together
                                           until this size is reached. This is
                                           the option to control `batch.size`
                                           in producer configs. (default: 16384)
--message-send-max-retries <Integer>     Brokers can fail receiving the message
                                           for multiple reasons, and being
                                           unavailable transiently is just one
                                           of them. This property specifies the
                                           number of retries before the
                                           producer give up and drop this
                                           message. This is the option to
                                           control `retries` in producer
                                           configs. (default: 3)
--metadata-expiry-ms <Long: metadata     The period of time in milliseconds
  expiration interval>                     after which we force a refresh of
                                           metadata even if we haven't seen any
                                           leadership changes. This is the
                                           option to control `metadata.max.age.
                                           ms` in producer configs. (default:
                                           300000)
--producer-property <String:             A mechanism to pass user-defined
  producer_prop>                           properties in the form key=value to
                                           the producer.
--producer.config <String: config file>  Producer config properties file. Note
                                           that [producer-property] takes
                                           precedence over this config.
--property <String: prop>                A mechanism to pass user-defined
                                           properties in the form key=value to
                                           the message reader. This allows
                                           custom configuration for a user-
                                           defined message reader.Default
                                           properties include:
                                          parse.key=false
                                          parse.headers=false
                                          ignore.error=false
                                          key.separator=\t
                                          headers.delimiter=\t
                                          headers.separator=,
                                          headers.key.separator=:
                                          null.marker=   When set, any fields
                                           (key, value and headers) equal to
                                           this will be replaced by null
                                         Default parsing pattern when:
                                          parse.headers=true and parse.key=true:
                                           "h1:v1,h2:v2...\tkey\tvalue"
                                          parse.key=true:
                                           "key\tvalue"
                                          parse.headers=true:
                                           "h1:v1,h2:v2...\tvalue"
--reader-config <String: config file>    Config properties file for the message
                                           reader. Note that [property] takes
                                           precedence over this config.
--request-required-acks <String:         The required `acks` of the producer
  request required acks>                   requests (default: -1)
--request-timeout-ms <Integer: request   The ack timeout of the producer
  timeout ms>                              requests. Value must be non-negative
                                           and non-zero. (default: 1500)
--retry-backoff-ms <Long>                Before each retry, the producer
                                           refreshes the metadata of relevant
                                           topics. Since leader election takes
                                           a bit of time, this property
                                           specifies the amount of time that
                                           the producer waits before refreshing
                                           the metadata. This is the option to
                                           control `retry.backoff.ms` in
                                           producer configs. (default: 100)
--socket-buffer-size <Integer: size>     The size of the tcp RECV size. This is
                                           the option to control `send.buffer.
                                           bytes` in producer configs.
                                           (default: 102400)
--sync                                   If set message send requests to the
                                           brokers are synchronously, one at a
                                           time as they arrive.
--timeout <Long: timeout_ms>             If set and the producer is running in
                                           asynchronous mode, this gives the
                                           maximum amount of time a message
                                           will queue awaiting sufficient batch
                                           size. The value is given in ms. This
                                           is the option to control `linger.ms`
                                           in producer configs. (default: 1000)
--topic <String: topic>                  REQUIRED: The topic id to produce
                                           messages to.
--version                                Display Kafka version.

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@fvaleri

@showuon if you have some time, this looks almost ready.

Thank you for your review Frederico (@fvaleri). I pushed the changes to address all your comments.

Please ignore the request for review Frederico - was learning about the refresh icon on Github...

Hello @Hangleton . Do you need help with review of this PR?
Are you still workin on it?

Done in https://github.com/apache/kafka/pull/17157, closing


怎么组织的其他人对组织里面的仓库有读写权限？

如题，本人在gogs上建立了组织，然后把其他同事也拉进了组织。但是其他同事只有读权限，没有写权限。这样不方便协调工作。请问如何设置呢？

When you create a team to place colleagues in, you tell it that that team should have "Write Access" (寫入權限). Or you can place your colleagues in the Owner-group.

谢谢(thanks)！ @bkcsoft

Please close this issue if the problem is solved.

Closed as resolved


gatsby build fails with exception about _typography.fontSizeToMs exception

Followed instructions from gatsby's homepage:

npm i -g gatsby
gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog
cd blog
gatsby build

Which fails with output:

Generating CSS
Generating Static HTML
Failed at generating HTML
.../node_modules/gatsby/dist/bin/cli.js:52
throw err;
^
Error: TypeError: (0 , _typography.fontSizeToMS) is not a function
at ReadNext.render (render-page.js:49487:57)
at ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (render-page.js:14569:33)
at ReactCompositeComponentMixin._renderValidatedComponent (render-page.js:14592:35)
at ReactCompositeComponentMixin.performInitialMount (render-page.js:14134:31)
at ReactCompositeComponentMixin.mountComponent (render-page.js:14030:22)
at Object.ReactReconciler.mountComponent (render-page.js:6838:36)
at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (render-page.js:12984:45)
at ReactDOMComponent.Mixin._createContentMarkup (render-page.js:9964:33)
at ReactDOMComponent.Mixin.mountComponent (render-page.js:9831:30)
at Object.ReactReconciler.mountComponent (render-page.js:6838:36),TypeError: (0 , _typography.fontSizeToMS) is not a function
at ReadNext.render (render-page.js:49487:57)
at ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (render-page.js:14569:33)
at ReactCompositeComponentMixin._renderValidatedComponent (render-page.js:14592:35)
at ReactCompositeComponentMixin.performInitialMount (render-page.js:14134:31)
at ReactCompositeComponentMixin.mountComponent (render-page.js:14030:22)
at Object.ReactReconciler.mountComponent (render-page.js:6838:36)
at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (render-page.js:12984:45)
at ReactDOMComponent.Mixin._createContentMarkup (render-page.js:9964:33)
at ReactDOMComponent.Mixin.mountComponent (render-page.js:9831:30)
at Object.ReactReconciler.mountComponent (render-page.js:6838:36)

Using Node v5.10.1 on Linux.

Note: `gatsby develop` exhibits same crash only for "Second Post" and "Hello World" pages: home and "New Beginnings" load just fine.

Gah, I updated the starter to the latest Typography.js release but missed updating that bit of code. Just pushed an update. If you create a new site it should be good now. Thanks for reporting!!

Yay, works, thanks for the quick fix! (and all the cool work, gatsby looks great!)


[feat] Typescript definition

I realize Typescript definitions belong in the DefinitelyTyped library.  I am new to both Typescript and PouchDB.  I would like to use this upsert library and I wouldn't mind adding the Typings to DefinitelyTyped library for it but I am not really sure how to do it.

I belive you just open a PR on DefinitelyTyped, yes? https://github.com/definitelytyped/definitelytyped
Looks like they have one directory per npm package, so you'd just create a directory called pouchdb-upsert and put the typings in there.

I understand the process.  I am not sure how to define the Typings for the plugin.  I dont see any good examples for what I am trying to do there.

Sorry, I'd help, but I don't know much about TypeScript...

Thanks nolan, no worries. I am going to take a stab at it.  By the way, thanks for writing pouchdb!

PR submitted in DefinitelyTyped https://github.com/DefinitelyTyped/DefinitelyTyped/issues/10596

PR approved.  You can now access the typings via  $ typings search pouchdb-upsert


fix: MD037/no-space-in-emphasis

Spaces inside emphasis markers

OPS Build status updates of commit 9abce80:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/windows-runtime/error-codes-for-windows-runtime-apps-using-javascript.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 7f11923:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/windows-runtime/error-codes-for-windows-runtime-apps-using-javascript.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

#sign-off and merge.


how to increase bestpose topic rate from 1 hz to 5hz

The bestpose topic rate is 1 hz

while heading topic rate is 5hz
How can I increase bestpose topic rate to 5hz?

This parameter is set in the Novatel receiver

Or you can uncomment this line and put parameter 0.2 instead of 1

Or you can uncomment this line and put parameter 0.2 instead of 1

Or you can uncomment this line and put parameter 0.2 instead of 1

thanks, I will try it later.


Import values as a .json list / logo image and background watermark

Describe the feature
Additional Ease of Use Admin Functions
1) Please add an Import button for some admin values, this allows an admin to select a .json file with an uncountable amount of values. Eg. A list for 10-Codes. A list of vehicle models etc. As some of our servers have over 1000 vehicles for instance. Entering one at a time is not feasible. However, I do think we also need a custom text field option instead of vehicles as a drop down list for the front end. So people can just name their car as they see fit for the model as we do in many other CADs rather than having a list of vehicles. Perhaps a toggle option for this method.
GUI Design Options

Please add a small .png image option for the logo of server as well at the top.

Add an image as a background perhaps that fills the screen. That can have a transparency level. (I picture a server logo or screenshot from in game, thats barely visible but adds some visual flavour.

Additional Context
No response

Importing from a .json file is now supported! Check the documentation how to get started

Awesome! Thank you for the quick turnaround on this!


doc: API lifecycle: Require creating a issue to track removal

As discussed in the TSC meeting of 2019/03/27:
To ensure that we do not forget to remove an API 2 releases later
and to provide a bit better visibility about when the removal
is planned, require that a GH issue be created, and that this
issue be added to the roadmap for the apropriate release.
As a free bonus:
Removed a redundant line in the list and added one missing article.
Signed-off-by: Alberto Escolar Piedras<EMAIL_ADDRESS>

Codecov Report

Merging #15057 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #15057      +/-   ##
==========================================
- Coverage   52.93%   52.92%   -0.02%
==========================================
  Files         309      309
  Lines       45268    45268
  Branches    10451    10451
==========================================
- Hits        23961    23956       -5
- Misses      16542    16544       +2
- Partials     4765     4768       +3

Impacted Files
Coverage Δ

subsys/testsuite/ztest/src/ztest.c
68.59% <0%> (-4.14%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c6249ac...1646e55. Read the comment docs.


Updated DocBlocks to return $this for fluent interface

Follow--up to #306

This is required to fix some phpstan errors. More later.


Making auth endpoint relative to given registry's domain

Realm points to a path relative to a given registry's domain.
This is a part of a change that's also dependent on changes to docker registry

Closing this for now. This needs to be decided on distribution end before agreeing on a change here. As is this change will not be accepted since it will break existing workflows.


Delete functions that are no longer used

Fixes: https://github.com/kubernetes-sigs/hierarchical-namespaces/issues/26
/kind cleanup

Thanks!

/lgtm
/approved
/ok-to-test

maybe /approve?

/approve
Ugh, thanks!


Support CPE scanning.

Support scanning by CPEs (e.g. in SBOMs) to get best effort vulnerability matches.

@oliverchang can you update the description of this with what your thoughts were here?

@oliverchang can you update the description of this with what your thoughts were here?

done!

Is your thinking to translate CPEs to Purls or ESIs here, in terms of what the OSV.dev API winds up being called with?

Yes, that was my original thinking, but the exact implementation details are TBD if we do decide to do this. This translation could also be done at the OSV.dev API level.


Add missing dependency on result

ppx_deriving_yojson depends on the result compatibility package but wasn't declaring this dependency explicitly.
This used to work because ppx_deriving also depended on result but since it will not be the case anymore starting from ppx_deriving.6.0.0, this needs to be updated.
It's likely that we will drop this dependency for the same reasons ppx_deriving did but in the meantime it does not cost much to update our opam file.

Ok nevermind, this has already been fixed and the result dependency stripped. Closing.


help wanted

I'm no longer working on this project, so I'm looking for a maintainer.

Hi, you could redirect people to https://github.com/laracasts/matryoshka It lacks cacheif method but it's the same principle I think

great!


Redis Firewall rules: Cannot bind argument to parameter 'Start' because it is an empty string

Azure.Redis.FirewallRuleCount and Azure.Redis.FirewallIPRange failed with the message:
failed Azure.Redis.FirewallRuleCount with the error 'Cannot bind argument to parameter 'Start' because it is an empty string
failed Azure.Redis.FirewallIPRange with the error 'Cannot bind argument to parameter 'Start' because it is an empty string
the properties for the Redis firewall is called startIp and endIp, the code is looking for startIpAddress and endIpAddress which is incorrect for the redis firewall schema: https://learn.microsoft.com/en-us/azure/templates/microsoft.cache/2020-12-01/redis/firewallrules?pivots=deployment-language-bicep#resource-format
https://github.com/Azure/PSRule.Rules.Azure/blob/b50550a5ddc31462a07fc997b4a9270be1a20d59/src/PSRule.Rules.Azure/rules/Azure.Common.Rule.ps1#L433C28-L433C46

@omar-oropeza Thanks for reporting the issue. You are correct.


Add Skills section

To enhance its visual appeal of  Minifolio
example ::

@divyanshudhruv please assign this issue to me under hacktoberfest

Hi, actually I am doing this issue so unfortunately can't assign to you. Good luck. See #14

No problem ,, can i make issue of My projects/ Contact Me

@AMANMUHAL ok good luck

I closed this issue 43 , will you assign me the related issue

Sure


Map drag locks up

I have an issue which I can't work out a fix for an don't believe it is something within my own code.
Displaying a MapView with KML paths displayed using Overlays, if I attempt to drag the map to re-centre it, it will on occasions freeze the map.
Issue Type
[ ] Question
[ ] Bug
[ ] Improvement
[ ] Build system related
[ *] Performance
[ ] Documentation
A picture/video is worth a thousand words so please watch the video of the issue here:
https://1drv.ms/v/s!AqMLT_6xLnbwgqtWsOap1L-jWpuR-w
Environment
I am using a MapView with overlays to draw the KML paths.
Version of osmdroid the issue relates to:
6.0.2

Possible reasons for this presumably performance issue:

too many points in your paths
=> how many points do you have in your paths?
drawing Polygon (displayed as Path - which is slow) whereas Polylines are faster (displayed as Canvas.drawLines)
=> do you display as Polygon or as Polyline?

I have spent the day investigating the problem I was having.  It appears the issue was nothing to do with OsmDroid at all but down to the fact that the Fragment containing the map was in an activity that used a ViewPager.  The drag left/right was being intercepted by the ViewPager.  Thanks anyway!


Cannot get proper policy hash from policy

I'm loading my policy skey from the json that is created when you generate the keys from cardano-cli.  I can read those fine.  When I create a vkey from it, the result is identical to loading the vkey from json.  So I know the skey and vkey are jiving.  When I use the InvalidHereafter, I produce the same hash as the policy script.  So the policy skey, vkey, and script are all jiving.  But when I go to spit out the hash from the policy, I cannot get it to match my policy id.  I can see from the tx submission that that is exactly what its complaining about.  Its saying I dont have enough assets from policy a, and trying to mint assets from policy b.  Below is the code to create the key, the tx submission error, and the signed tx data:
submit_transaction(data)
'transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (ValueNotConservedUTxO (Value<PHONE_NUMBER> (fromList [(PolicyID {policyID = ScriptHash "a3680e96ca0587893b878040be0adb3a08646c721a46b74fd25433c0"},fromList [(43617264616e6f4275647a464230303233,1)])])) (Value<PHONE_NUMBER> (fromList [(PolicyID {policyID = ScriptHash "810cdc9a4e4106e5fec73d25c417948af4fb18b9ec9c6b791074ef9f"},fromList [(43617264616e6f4275647a464230303233,1)])])))))])'
def compile_policy(mint_skey, mint_script):
policy = None
if mint_skey != None:
sk = PaymentSigningKey.from_json(json.dumps(mint_skey))  ### THE mint_skey VARIABLE HAS THE POLICY SKEY JSON
vk = PaymentVerificationKey.from_signing_key(sk)
pub_key_policy = ScriptPubkey(vk.hash())
if 'scripts' in mint_script:
must_before_slot = InvalidHereAfter(mint_script['scripts'][0]['slot'])  #### THE mint_script VARIABLE HAS THE POLICY SCRIPT JSON
policy = ScriptAll([pub_key_policy, must_before_slot])
else:
policy = ScriptAll([pub_key_policy])
return policy
signed_tx
{'auxiliary_data': AuxiliaryData(data=AlonzoMetadata(metadata={721: {'840e45a88f8ef46222878306752d04df46fb01e38f4392304426ad70': {'CardanoBudzFB0023': {'image': 'ipfs://QmQNQKP6jYpW83jNTtnGoiqtLBWyN3w12dLakvMGUpAcvG',
'name': 'Cardano '
'Budz '
'Fully '
'Baked '
'#0023'}}}},
native_scripts=None,
plutus_scripts=None)),
'transaction_body': {'auxiliary_data_hash': AuxiliaryDataHash(hex='2387f7e567e24e5e4bf6e1e3728af43743144ab7e342ad858ad4028dcc0ee183'),
'certificates': None,
'collateral': None,
'fee': 193582,
'inputs': [{'index': 0,
'transaction_id': TransactionId(hex='57254cdf2de7e38527080e5caa28898877571150a20acc5c231b09bdda934bb5')}],
'mint': {ScriptHash(hex='a3680e96ca0587893b878040be0adb3a08646c721a46b74fd25433c0'): {AssetName(b'CardanoBudzFB0023'): 1}},
'network_id': None,
'outputs': [{'address': addr_test1vpyzhkrtv4xprtj9z5e3p3e2jrp56wzlaxpaxk7p3gxrdmcph2gph,
'amount': {'coin':<PHONE_NUMBER>, 'multi_asset': {}},
'datum_hash': None},
{'address': addr_test1vpyzhkrtv4xprtj9z5e3p3e2jrp56wzlaxpaxk7p3gxrdmcph2gph,
'amount': {'coin': 2000000,
'multi_asset': {ScriptHash(hex='810cdc9a4e4106e5fec73d25c417948af4fb18b9ec9c6b791074ef9f'): {AssetName(b'CardanoBudzFB0023'): 1}}},
'datum_hash': None}],
'required_signers': None,
'script_data_hash': None,
'ttl': 76898386,
'update': None,
'validity_start': None,
'withdraws': None},
'transaction_witness_set': {'bootstrap_witness': None,
'native_scripts': [ScriptAll(_TYPE=1,
native_scripts=[ScriptPubkey(_TYPE=0,
key_hash=VerificationKeyHash(hex='83eac3c8076a56efe62854089cd36fdb6b1157adc6a0a085c0992c37')),
InvalidHereAfter(_TYPE=5,
after=81927623)])],
'plutus_data': None,
'plutus_script': None,
'redeemer': None,
'vkey_witnesses': [{'signature': b'\xb3\xb85#\xa8\xb0\x89\xceJ\x8e<\x1b\xac\x8e\xa2XU\xca\xe7\xc9'
b'\xb0i\xbepc\xb1\x07\xc0\xc8\xe3\xda\x93J\xd3\x85\xf0'
b'\x002\x03\xd7\x99\x9c\x83\xdb)`\x80\xc0D\xf1\r\xd1\xa6\xd4\x01/'
b'\t\xda!\x9a9h\xe8\x06',
'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "58202027d9ab58c8b6ef08c158078bf753426cf0e4cdb4cb5d64159cd6f4aa299a7b"}},
{'signature': b'\t\n{w\xcbs\xa5\xf5zZ\xec\xfd\xb6O%\xd6\x1d\x04\xcc\xd2'
b'\xcb\x8f\x99#\xfe\xca\x9eDx@\x17Xn\xb8\xa3\xe1\xc0\x9e\xca\x1b'
b"u\xa4.\xeb\xe9\x0f3\x8d\x8a\x8aH'\xd4\xb3\xa7\xb3\xea\xe9\x00}"
b'c\xafL\t',
'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "5820d36baff3fc391af90089b347e4db9c785c6716843d366b222028413baf6897d4"}}]},
'valid': True}

In fact to add to this, I just did another test. I went back and set my output with the assets (the ones being minted in the tx) to the same policy id hash that gets generated, and this time the tx went through.  The big challenge here, is that even if I use the same keys, every time I restart my python interpreter, the policy hash changes.

I was able to work around it by skipping all the steps that generate the policy info, and instead use this single command to read in the json contents of the policy script.
policy = InvalidHereAfter.from_dict(raw_tx['mint_script'])

Hi @huths0lo , in most cases, minting policy should be generated only once, after which the policy id should be loaded from somewhere deterministic, e.g. file, environment variable. It is better to separate the code into two parts, where the first part generate the policy, and the second uses that policy to mint and burn tokens. You can use to_dict function of a native script policy to convert it to a dictionary that could be saved as a json file, and use from_dict to restore the policy from a json.

Closing this issue since the question has been answered.


Can not delete directory from zip archive bug

ICSharpCode.SharpZipLib version - <IP_ADDRESS>8.
Code to demonstrate the bug:
namespace SharpZipLibDeleteFolderBug
{
    using ICSharpCode.SharpZipLib.Zip;

    using NUnit.Framework;

    [TestFixture]
    public class SharpZipLibDeleteFolderBugDemo
    {
        [Test]
        public void Bug()
        {
            var zipFile = ZipFile.Create("SomeFile.zip");
            CreateDirectory(zipFile, "SomeDirectory");

            DeleteDirectory(zipFile, "SomeDirectory");
        }

        private void DeleteDirectory(ZipFile zipFile, string directoryName)
        {
            zipFile.BeginUpdate();

            var zipEntry = zipFile.GetEntry(directoryName + "/");
            Assert.That(zipEntry, Is.Not.Null); // passed - directory was successfully create

            zipFile.Delete(zipEntry); // !!! throws ICSharpCode.SharpZipLib.Zip.ZipException : Cannot find entry to delete

            zipFile.CommitUpdate();
        }

        private static void CreateDirectory(ZipFile zipFile, string directoryName)
        {
            zipFile.BeginUpdate();
            zipFile.AddDirectory(directoryName);
            zipFile.CommitUpdate();
        }
    }
}

The buggy method is ZipFile.FindExistingUpdate:
        int FindExistingUpdate(ZipEntry entry)
        {
            int result = -1;
            string convertedName = GetTransformedFileName(entry.Name); // !!! BUG is here

            if (updateIndex_.ContainsKey(convertedName)) {
                result = (int)updateIndex_[convertedName];
            }

                        ...
            return result;
        }

Method FindExistingUpdate ignores the fact that entry can be not only file entry but also a directory entry. Right implementation should be:
        int FindExistingUpdate(ZipEntry entry)
        {
            int result = -1;
            string convertedName;
            if (entry.IsDirectory)
                convertedName = GetTransformedDirectoryName(entry.Name);
            else
                convertedName = GetTransformedFileName(entry.Name);

            if (updateIndex_.ContainsKey(convertedName)) {
                result = (int)updateIndex_[convertedName];
            }

                        ...
            return result;
        }

Method ZipFile.Delete(string fileName) also has the same bug.

Fixed by #295 ? (and maybe the same as #48)

are this and/or #48 fixed now, or is #402 still part of the same issue?

I'm not sure. This is basically the main thing left before 1.4, solving the name-mapping (with a defined behaviour) och updating the currently failing tests.


Adding functionality for authenticating a service key file

Would be great if you could add the possibility to choose how you get the JSON when authenticating the service key file https://oauth2client.readthedocs.io/en/latest/source/oauth2client.service_account.html there are a couple of options to choose from more than json_from_keyfile_name(). I would like to choose from_json() or from_json_keyfile_dict().
Thanks!

Many thanks for the suggestion. Sure, I can look at adding this at some point in the future.
Best regards,
Matt


Change mysql schema for test case source, sink, histories: TEXT to MEDIUMTEXT

I found TEXT on MySQL only allow 64k. Note that it's not 64k characters and it will depend on database encoding.
MEDIUMTEXT will be OK for most of cases. PostgreSQL (and ANSI-SQL) only uses TEXT.

#872 will cover this issue.


Have bus CSV displayed as a collapsible comma separated list before the results table

List should be collapsed by default

Not required since it's raw data


initContainers are overwritten in deployment

A deployment manifest looks like this
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      annotations:
        secrets.k8s.aws/sidecarInjectorWebhook: enabled
        secrets.k8s.aws/secret-arn: arn:aws:secretsmanager:xxx:000000:secret:sxjxkx-UOBckr
      labels:
        app: nginx
    spec:
      serviceAccountName: aws-eks-secrets-sa
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        - containerPort: 443
        volumeMounts:
        - name: tmpconfig
          mountPath: /tmp/config
      initContainers:
      - name: db-init
        image: busybox
        command: ['/bin/sh', '-c']
        args:
         - echo "HELLO WORLD";

But when this manifest is applied and pod is running,
doing Kubectl describe pod nginx-deployment-xxxx has no db-init in initContainers list.
There's only secrets-init-container in initContainers list!
Does the admission-controller webhook overwrites all other initContainers !!!

@amit0701 when we inject the init container, does it overwrite or append to the list of init containers?

The above PR should have fixed the issue.


[node-v6] Upgrade camshaft

Use a camshaft version that supports Node v6
Is this compatible with Node v0.10?
Yes.

Bumped to version 0.49.0 in node-v6


webhooks: not trigger

Environment

VerneMQ Version: erlio/docker-vernemq:1.0.0

I register all hooks, but the auth_on_subscribe and auth_on_publish is not triggered, the others is ok

I test the lua version, same as webhooks, auth_on_subscribe and auth_on_publish is not triggered

After I change the plugins.vmq_acl = on to off, everything is ok, is that right?

Yes, exactly. The default vmq_acl is enabled and must be set to off in
order to use other authorization plugins.
Am 02.04.2017 5:05 vorm. schrieb "Lewis Deng"<EMAIL_ADDRESS>
After I change the plugins.vmq_acl = on to off, everything is ok, is that
right?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/erlio/vernemq/issues/340#issuecomment-290961551, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAJfBL1WNvA4gdVm_GCaWh9aGToCAEHUks5rrxCTgaJpZM4Mwq3u
.