Support loading smee payloads as test fixtures

Suggested by @johnkpaul & @Gautam, it'd be really awesome if the payloads copied from smee.io could be easily loaded as test fixtures.
Describe the solution you'd like
Currently the payload is a JSON object with all the request headers, and then a body property that includes the actual payload.

Teachability, Documentation, Adoption, Migration Strategy
const {Application} = require('probot')
const app = new Application()
app.load(require('path/to/my/app'))

// where push.json is a copy of the payload from smee.io
app.receive(require('test/fixtures/push.json'))

I feel like this is better solved by changing the copy feature of Smee's UI to better reflect the payload that apps actually receive (via app.receive()).

it would be even nicer if smee.io would also record requests going to GitHub.com and we would get the full fixtures package: sending webhook requests to the app and checking if the requests sent to github match the ones that have been recorded 🎉

@gr2m 💯 that would be amazing. I think this deserves a separate issue in probot/smee. One question I have to start with is related to security and tokens - for Smee to basically pass those requests along, it'd need to have access to the authentication headers. As long as the people using it know whats going on I'm not too worried, but we need to make that explicit.

thanks for taking care of this @JasonEtco!! copy pasting smee payloads as fixtures works smoothly now!!
for future reference, fix was made here

Awesome, glad its helped @gautamarora! I'll go ahead and close this, since https://github.com/probot/smee/pull/66 has been merged an deployed.


Create GraphController test

Create test which will check whether right format is created.

Added normal 山 kanji test case for Graph Controller.
Will add other bug based tests continuously in this branch as this is faster because other tests branch is long far from current state.


Adding transpose properties to Vector2, Vector3, Vector2i, and Vector3i

Overview
This adds transpose properties to the Vector2 and Vector3 classes, as well as Vector2i and Vector3i.
These act as shortcuts to access the vector components in any given order or subset. This is a useful functionality commonly found in graphics languages as well.
It save the trouble of having to create your own vectors, such as:
var transposedZYX = Vector3(myVec.z, myVec.y, myVec.x)
You can instead get the transpose by simply using:
var transposedZYX = myVec.zyx
Additionally, you can get 'slices' of the vectors by using:
var slicedZY = myVec.zy
The transposes for Vector2 are similar.
TODO
I need help with the following:

Unit Tests

Where are they? I can't find any Vector2/3 related tests
If they don't exist, how can they best be added to the project?
Tests for C/C++ and C# should be implemented

Documentation

Which files need to be edited?
Which files will be auto-generated?

Are there other VectorX files that need this to be implemented?
Exposing as a property to GDScript

I have implemented the get_XYZ() etc... functions in the header/CPP files but I don't know how to expose them as properties to GDScript like they are in the GDMono files.

I've added a GodotSharp.UnitTests project for unit tests.
However, they aren't current set up to run in the builds (I think) so I'll need a maintainer to help set that up. Until then, the tests can simply be ran manually.

Related to godotengine/godot-proposals#727

Methods should use snake_case naming in C++, so get_XYZ should become get_xyz (for instance).

Done

I need help with wiring these functions up to GDScript, including property getters.
For example, I would like to expose:
Vector2.get_yx()
Vector2.yx
If someone can point me in the right direction that would help me out a lot. Thanks!


Not an issue but important

It's an issue that the example isn't named FLEXample.

Lol when I finally get around to #314 I'll be sure to name it that!


Updated Contributor List

Description
This just adds some new names to the contributors list
Outstanding Work
Good chance that I missed a few names, just let me know if there's anyone I missed

Hooray Jenkins reported success with all tests good!

dannykelemen
msteiger
oniatus
arpitkamboj
manas96

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!


sophus: compile on x86-64 arch (resolves #497)

This commit implements Christian Ege's suggestion in the meta-ros issue tracker to make gcc only warn on ignored template attributes.

I have successfully built core-image-ros-world on these two build configurations:
Build Configuration:
BB_VERSION        = "1.33.4"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "i586-oe-linux"
MACHINE           = "qemux86"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              = "master:de7914954571ea8e717f56b6d6df13157b0973bc"
meta-oe
meta-multimedia
meta-python       = "master:bd259171ec0c2163a2c1025e1b83ae379cee96a7"
meta-ros          = "resolve-issue-#497:9d6db38f0d38822b2e89af931038f5f4cce9a470"

Build Configuration:
BB_VERSION        = "1.33.4"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "x86_64-oe-linux"
MACHINE           = "qemux86-64"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m64 core2"
TARGET_FPU        = ""
meta              = "master:de7914954571ea8e717f56b6d6df13157b0973bc"
meta-oe
meta-multimedia
meta-python       = "master:bd259171ec0c2163a2c1025e1b83ae379cee96a7"
meta-ros          = "resolve-issue-#497:9d6db38f0d38822b2e89af931038f5f4cce9a470"

@rojkov Please review, test and merge. Thanks.

core-image-ros-world builds successfully for me too with
Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "fedora-25"
TARGET_SYS        = "i586-oe-linux"
MACHINE           = "qemux86"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              = "master:de7914954571ea8e717f56b6d6df13157b0973bc"
meta-oe
meta-python
meta-multimedia   = "master:66b88f7729d24ef2e3469fcaca172f420c4d54be"
meta-ros          = "bulwahn-resolve-issue-497-v1:9d6db38f0d38822b2e89af931038f5f4cce9a470"

and
Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "fedora-25"
TARGET_SYS        = "x86_64-oe-linux"
MACHINE           = "qemux86-64"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m64 core2"
TARGET_FPU        = ""
meta              = "master:de7914954571ea8e717f56b6d6df13157b0973bc"
meta-oe
meta-python
meta-multimedia   = "master:66b88f7729d24ef2e3469fcaca172f420c4d54be"
meta-ros          = "bulwahn-resolve-issue-497-v1:9d6db38f0d38822b2e89af931038f5f4cce9a470"


User.ascx and Login.ascx produce empty html for pages set as "404 error page"

Description
If a page is set as the "404 error page" in Settings>Site settings>Site Behavior>Default Pages, then using the Login.ascx and/or User.ascx controls do not work on the page, even when there is no 404 error. This was working in DNN 7.x, but upgrade to DNN 9.2.0 made the links from these controls disappear, with no change to Skin or Site Settings.
Steps to reproduce

Navigate to Settings>Site settings>Site Behavior>Default Pages
Set 'Home Page' and '404 Error Page' to the same page which has a skin using the controls "/Admin/Skins/User.ascx" and/or "/Admin/Skins/Login.ascx"
Navigate Home. The login/user links will not display. Inspecting the page shows that the included controls produced no HTML.
Update the '404 Error Page' setting from above to a different page other than 'Home Page' setting
Navigate Home and the login/user controls show links as expected

Current result
Links do not display from these controls
Expected result
Links should display
Affected version
9.2
I have not tried other versions other than 7.x where it was working and 9.2 where broken
Affected browser
Chrome
Edge
I did not test others, but does not seem to be browser-related issue

I'm also seeing this issue, with 09.02.00 and later. I've tested incremental upgrades to every release from 09.00.02 upwards and discovered the bug is introduced with 09.02.00.
As @Edric0 mentions, changing the 404 error page from 'Home' causes the links to reappear.

It looks like this could have been introduced with #2012, which hides these links on error pages.
The file 'DNN Platform/Library/Entities/Portals/PortalSettingsExtensions.cs' simply checks if the current page is equal to the 404 error page or the 500 error page. This is fine for sites which have a dedicated error page, but will cause this bug when an existing page is used.
The simple solution would be for users not to set the error pages to be existing pages that are used elsewhere, but ideally a better check for errors should be used.

Did you try the ShowInErrorPage as discussed in #2012 , I think it is a wanted behaviour to not show them on error pages but that property was added in case skin developers what to overwrite that behaviour ???

Hi @valadas - that works as a workaround, allowing the Login and Register items to show.

And just out of curiosity, do they work too. I am trying to find why it was a wanted behavior to not show them on error pages by default.

I assume the original author of that PR removed them to avoid the situation where you are redirected back to a non-existent page after logging in or registering. For our site we have simply added a new page to use as a 404 error page, where previously we used the homepage as a 404 error page, bypassing the issue entirely.

Since this appears to be by design and the is a way to not use the default behaviour documented, I am closing this issue.


Revert "fix bug for merging sharding value"

Pull Request Test Coverage Report for Build 10989

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0007%) to 57.496%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
0
2
0.0%

Totals

Change from base Build 10987:
0.0007%

Covered Lines:
11808

Relevant Lines:
20537

💛  - Coveralls


Ignore any None data rows

I'm running the normal fping plugin to a bunch of targets.
One of these targets would every now and then become unreachable causing Vaping to crash.
Sadly I don't have the output from fping causing the issue, but this patch fixes the problem for me.
This also seems to be related to https://github.com/20c/vaping/issues/134

Thanks for the contribution @simonlindberg - i will also make a ticket to look at why fping is emitting None messages in the first place, but this is a good interim fix for the time series db plugins.


Expired SSL certificate?

Hello, MiniCart website uses an expired SSL certificate since last week. Probably just an oversight, but it throws a security warning on entering the site for some users, which may stop some people ordering... May I expect this will be fixed soon? Thank you in advance.
Kind regards,
Kristijonas

This is a known PayPal issue and I've contacted them to resolve it. Older versions of minicart.js load images from one of their servers and it looks like the SSL configuration for it has expired.
In the meantime, this can be fixed quite easily by upgrading to the current version of minicart.js found at https://raw.github.com/jeffharrell/MiniCart/master/minicart.js . In addition to quite a few fixes, the URL the assets are loaded from is different and works.
Let me know if you run into any issues, but it should be a direct swap, but if you do run into problems another resolution is to use the existing version and set the assetUrl to http://www.minicartjs.com/build/ instead of https://minicart.paypal-labs.com/build/ .
I'll leave this open until the SSL issue is resolved so others can see it.

Looks like the SSL cert was renewed, so I'm closing this out.


How to inject custom events into application?

Hello,
I have an app that needs to process MIDI events. They come from midir crate via a callback. The thing is, I don't quite understand, how to inject them into an application logic. Ideally I'd like them to be treated something like Message::MidiEvent(event) along with usual button presses and mouse events.
What's the best way to achieve that? If I'm not mistaken, it should be done by creating custom Recipe and subscribing to it. But maybe there is an easier way? In contrast to the download progress example, in my case it's just a plain event with no associated state. I just set up an input port and then receive callbacks on every MIDI event that I'd like to wrap into an application specific message.
Thank you.

Yes, implementing a Recipe is the recommended way to run a task in the background and receive events. This will also allow you to cancel the subscription if you ever need to.

@hecrj the Trait subscription::Recipe is not exported in the crate iced and iced_native. Has some way to implement a Recipe?

finally I've managed with Tick message. A bit dirty, but... works for me:
extern crate chrono;
extern crate iced;
extern crate midir;

use std::cell::RefCell;
use std::error::Error;
use std::io::{stdin, stdout, Write};
use std::option::Option::Some;
use std::sync::mpsc::{channel, Receiver, Sender};

use iced::{
    button, executor, pick_list, scrollable, time, Align, Application, Button, Column, Command,
    Container, Element, Length, PickList, Scrollable, Settings, Space, Subscription, Text,
};
use midir::{Ignore, MidiInput, MidiInputConnection, MidiInputPort, MidiInputPorts};

pub fn main() -> iced::Result {
    BigNote::run(Settings::default())
}

#[derive(Debug, Default, Clone, PartialEq, Eq)]
struct Port {
    pub index: usize,
    pub name: Box<String>,
}
impl std::fmt::Display for Port {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        // let midi_in = MidiInput::new("MyBigNote").unwrap();
        write!(
            f,
            "{}",
            // midi_in
            //     .port_name(midi_in.ports().get(self.index).unwrap())
            //     .unwrap()
            &self.name
        )
    }
}

#[derive(Debug, Clone)]
enum Message {
    PortSelected(Port),
    Tick(chrono::DateTime<chrono::Local>),
}

struct BigNote {
    note: i32,
    need_init: bool,
    client_name: String,
    scroll: scrollable::State,
    ports_list: pick_list::State<Port>,
    selected_port: Option<Port>,
    midi_in: MidiInput,

    connection: Option<MidiInputConnection<Sender<Vec<u8>>>>,
    reciever: Option<Receiver<Vec<u8>>>,
}

impl BigNote {
    fn ports_names(&self) -> Vec<Port> {
        let mut names: Vec<Port> = Vec::new();
        let midi_in = &self.midi_in;
        let ports_amount = midi_in.port_count();
        for port in 0..ports_amount {
            names.push(Port {
                index: port,
                name: Box::new(
                    midi_in
                        .port_name(midi_in.ports().get(port).unwrap())
                        .unwrap(),
                ),
            });
        }
        names.into()
    }
    fn connect(&mut self) {
        println!("init:");
        let ports = &self.midi_in.ports();
        let selected_port = self.selected_port.as_ref().unwrap();
        let port = ports.get(selected_port.index).unwrap();
        println!("in port name: {}", &self.midi_in.port_name(&port).unwrap());
        let (sender, reciever) = channel();
        self.reciever = Some(reciever);
        let midi_in = MidiInput::new(&self.client_name).unwrap();
        self.connection = Some(
            midi_in
                .connect(
                    &port,
                    "name",
                    |stamp, message, sender| {
                        // println!("{}: {:?} len = {}", stamp, message, message.len());
                        let mut packet = Vec::new();
                        packet.extend_from_slice(message);
                        sender.send(packet).unwrap();
                    },
                    sender,
                )
                .unwrap(),
        );
    }
}

impl Application for BigNote {
    type Executor = executor::Default;
    type Message = Message;
    type Flags = ();

    fn new(_flags: ()) -> (BigNote, Command<self::Message>) {
        (
            BigNote {
                note: -1,
                need_init: true,
                client_name: String::from("MyBigNote"),
                connection: Option::None,
                ports_list: pick_list::State::<Port>::default(),
                scroll: scrollable::State::default(),
                selected_port: None,
                midi_in: MidiInput::new("MyBigNote").unwrap(),
                reciever: None,
            },
            Command::none(),
        )
    }

    fn title(&self) -> String {
        String::from("MyBigNote by Levitanus")
    }

    fn view(&mut self) -> Element<Message> {
        let port_names = self.ports_names();
        let pick_list = PickList::new(
            &mut self.ports_list,
            port_names,
            self.selected_port.clone(),
            Message::PortSelected,
        );

        // let mut content = Scrollable::new(&mut self.scroll)
        //     .width(Length::Fill)
        //     .align_items(Align::Center)
        //     .spacing(10)
        //     .push(Space::with_height(Length::Units(600)))
        //     .push(Text::new("Which is your favorite String?"))
        //     .push(pick_list);

        // content = content.push(Space::with_height(Length::Units(600)));

        Container::new(pick_list)
            .width(Length::Fill)
            .height(Length::Fill)
            .center_x()
            .center_y()
            .into()
    }

    fn update(&mut self, message: Message) -> Command<Message> {
        match message {
            Message::PortSelected(port) => {
                println!("PortSelected");
                self.selected_port = Some(port);
                self.connect();
            }
            Message::Tick(_loc_time) => {
                if self.reciever.is_some() {
                    let reciever = &self.reciever.as_ref().unwrap();
                    loop {
                        let recv_result = reciever.try_recv();
                        if !recv_result.is_err() {
                            println!("{:?}", recv_result.as_ref().unwrap());
                        } else {
                            break;
                        }
                    }
                }
            }
        }
        Command::none()
    }

    fn subscription(&self) -> Subscription<Message> {
        let fps = 30;
        time::every(std::time::Duration::from_millis(1000 / fps))
            .map(|_| Message::Tick(chrono::Local::now()))
    }
}

I have exactly the same problem, I need to transfer data from a static callback to the application via a subscription.
The callback looks like this:
fn on_receive(_timestamp: u64, message: &[u8], _args: &mut ()) {     println!("MIDI in {:?}", message); }
I had a look at the progress bar example, but I don't understand really how subscriptions work and how to implement a receipe for this. Is there a basic example that shows this use case without too much noise distracting from the real problem?

@sourcebox, code I've place above does exactly what You want. Maybe with not clean way with Recipe building, but generally It would work, handling all income midi messages in each visual frame.
By the advice of @Boddinagg I've used std::sync::mpsc::channel for transfer data from callback to the app.

@Levitanus I saw your code, but I really like to do it in a clean way.

Here's some progress on this: I managed to get it partially work, but not in a proper way.

fn subscription(&self) -> Subscription<Self::Message> {
    let tick_subscription =
        time::every(std::time::Duration::from_millis(1000)).map(|_| Message::Tick);

    let (sender, receiver) = mpsc::channel();
    self.midi.set_midi_in_sender(&sender);
    let midi_subscription =
        Subscription::from_recipe(MidiReceiveSubscription { receiver: receiver }).map(|data| {
            if data[0] == 0xB0 {
                Message::MidiCCReceived(data[0] & 0x0F, data[1], data[2])
            } else {
                Message::MidiUnknownReceived
            }
        });

    let subscriptions = vec![tick_subscription, midi_subscription];

    Subscription::batch(subscriptions.into_iter())
}

impl<H, I> iced_native::subscription::Recipe<H, I> for MidiReceiveSubscription
where
    H: Hasher,
{
    type Output = Vec<u8>;

    fn hash(&self, state: &mut H) {
        struct Marker;
        std::any::TypeId::of::<Marker>().hash(state);
    }

    fn stream(
        self: Box<Self>,
        _input: futures::stream::BoxStream<'static, I>,
    ) -> futures::stream::BoxStream<'static, Self::Output> {
        Box::pin(futures::stream::unfold(
            self.receiver,
            move |state| async move {
                let receiver = &state;
                let result = receiver.recv();
                if result.is_ok() {
                    Some((result.unwrap(), state))
                } else {
                    None
                }
            },
        ))
    }
}

The problem is that the mpsc channel is instanced inside the subscription function every time a new message is received. To my understanding, this is not the way to do it. But my attempts to change that all failed.
First subscription() takes &self as immutable, so there is no way to pass something in and out or set variables inside the application object. Second, the receipe does not take a reference to the mpsc receiver because it requires a static lifetime.
When the MIDI subscription is active, I'm not able to quit the application via Cmd-Q anymore, this is also something I need to solve.
@hecrj I would really appreciate any help on this topic. I think this whole thing is an easy task if you understand how it works, but I have to say, I still don't have a clue what's going on internally.


In 0.31.0 won't update entity

I am not sure what is wrong, but I am using the gcd-rpc.sh emulator and the following code wont update the entity. It retrieves the entity and the old value is always present.
var cachedTransaction;
datastore.runInTransaction(function(transaction, done) {

cachedTransaction = transaction;

transaction.get(datastore.key(['users', 'bob']), function(err, entity) {

    if (err) {
        console.log('error : ' + err);

    } else {
        if (entity) {

            console.log('entitiy is found');
            if (entity.data.somefield === 'some_value') {

                console.log('We are now going to try to update ...');
                transaction.save([{
                    key: datastore.key(['users', 'bob']),
                    method: 'update',
                    data: [{
                        name: 'somefield',
                        value: 'some_other_value',
                        excludeFromIndexes: true
                    }, {
                        name: 'another_field',
                        value: entity.data.another_field,
                        excludeFromIndexes: true
                    }]
                }]);
            } else {

                console.log('not = to some_value');

            } else {
                console.log('no entity found');
            }

        }
    }
});

done();
}, function(err) {
if (err) {
    console.log('error occured in transaction');
    cachedTransaction.rollback();
    return;
} else {
    console.log('success!');
}
});

});

The code gets up to the place where it says   console.log('We are now going to try to update ...'); and then it finishes with the message success which is generated from  console.log('success!'); It looks like this update was successful, but when I then write a simple get entity the 'somefield' field still has the previous value, not the new value.
I am not sure if it is my code causing the issue or gcloud's, but I can't see anything wrong with my code/syntax? I am essentially trying to get an entity inside of a transaction, update it, commit the transaction.

I think I was able to get this to work. I refactored the code a bit, let me know if this works for you:
'use strict'

var gcloud = require('gcloud')
var datastore = gcloud.datastore()

var cachedTransaction;
var transactionErr;
var key = datastore.key(['users', 'bob']);

// First, put the data in Datastore with the default value
// datastore.save({
//   key: key,
//   data: {
//     some_field: 'some_value'
//   }
// }, console.log)

datastore.runInTransaction(function(transaction, done) {
  cachedTransaction = transaction;

  transaction.get(key, function(err, entity) {
    if (err) {
      transactionErr = err;
      done();
      return;
    }

    if (!entity) {
      transactionErr = new Error('no entity found');
      done();
      return;
    }

    if (entity.data.some_field !== 'some_value') {
      transactionErr = new Error('not = to some_value');
      done();
      return;
    }

    console.log('We are now going to try to update ...');

    transaction.update({
      key: key,
      data: [
        {
          name: 'some_field',
          value: 'some_other_value',
          excludeFromIndexes: true
        },
        {
          name: 'some_other_field',
          value: 'some_other_value',
          excludeFromIndexes: true
        }
      ]
    });

    done();
  });
}, function(err) {
  if (err || transactionErr) {
    console.error(err || transactionErr);
    cachedTransaction.rollback();
    return;
  }

  console.log('success!');
});

@stephenplusplus Thank you very much this works! But I am wondering why my code didn't work? Looks very similar I think, but you code seems to negate the if statements really only?

I'm not sure exactly. One of the first things I did was re-align the code because my editor was complaining about syntax errors. I tried to get all of the error cases up to the top of the function body, instead of the if/else conditions. There was also an if/else/else:
            if (entity.data.somefield === 'some_value') {

                console.log('We are now going to try to update ...');
                transaction.save([{
                    key: datastore.key(['users', 'bob']),
                    method: 'update',
                    data: [{
                        name: 'somefield',
                        value: 'some_other_value',
                        excludeFromIndexes: true
                    }, {
                        name: 'another_field',
                        value: entity.data.another_field,
                        excludeFromIndexes: true
                    }]
                }]);
            } else {

                console.log('not = to some_value');

            } else {
                console.log('no entity found');
            }

Huh, I was getting now errors in my ide, but all works now, thank you very much!

No problem, glad it works now!


Make GPU loading faster by removing all extra CPU copies.

Loading roughly 2x as fast (depends on hardware) models on GPU.
IT works by not allocating on CPU, and directly allocating + memsetting the memory on the GPU.
Afaik, there's no way to do that in Pytorch. All the storage methods have intermediary CPU alloc.
@davidhewitt  Sorry to ping you out of the blue, but you have been a huge help on tokenizers.
The present library aims to prevent arbitrary code execution when loading weights (in particular Pytorch). https://www.youtube.com/watch?v=2ethDz9KnLk
At HF, we haven't yet fully committed to actually switch format, but multiple other nice features could come out of it, namely this handy 2x speedup when loading tensors on GPU (because we can remove entirely the CPU allocations).
However the present solution uses a good dose of unsafe.

Do you have ideas on removing this unsafe ?
Or validating it ?

Currently there's is no way (afaik) to access an equivalent of cudaMemcpy directly from torch. That indirection would help put the safety back in pytorch and not in this crate. However after a healthy dose of looking I couldn't find anything. Still since pytorch is in Python world, I'm guessing it's always going to require passing a PyBufferArray which we have to reallocate (because of trailing '\0' at least).
The current PR does the following:

It figures out the libcudart being used by pytorch itself
Loads it
When creating tensors on GPU, it will allocate an empty buffer (managed by Pytorch) through torch.empty(shape, dtype, device).
Then lookup cudaMemcpyHostToDevice.
Call it directly to set the GPU RAM with the actual tensors on disk.

the way you search for the cuda runtime lib is a bit spooky

100% agree, I tinkered with "cleaner approaches", but I found it quite hard to code.
torch._C is their c library.
It is linked to libtorch_python.so, which is linked to libtorch_cuda_cpp.so which is linked to libcudart-xxxx.so.xxx.
Afaik, the "link" is resolved at runtime in the actual process and unknown to the program here. So there is still some manual resolution to be done. Meaning reading environement LD_LIBRARY_PATH and so on. Which I don't feel very confident about.
This current resolution is not great because if someone manages to highjack this location and send a bogus library named libcudart then it will indeed enable escape.
But I feel like if an attacker managed to do this, well security is gone already.

But I feel like if an attacker managed to do this, well security is gone already.

I mostly agree with this point; I guess that what this might enable is something like a privilege escalation if attacker used user X to write the malicious lib and then your process with user Y loads it.
Is it perhaps asking upstream in torch if they have or are willing to expose a way to get the currently loaded lib?

Is it perhaps asking upstream in torch if they have or are willing to expose a way to get the currently loaded lib?

I'll try to do that. Old torch libs still won't work though.
Good point about privilege escalation, didn't think about that.

@davidhewitt
I am finding super weird issues (and slightly worrying).
  let data_ptr_fn = tensor.getattr("data_ptr")?;
    let data_ptr: usize = data_ptr_fn.call0()?.extract()?;

    let out = unsafe {
        cuda_memcpy(
            data_ptr.try_into()?,

This works, but this doesn't:
  let data_ptr_fn = tensor.getattr("data_ptr")?;
    let data_ptr: u64 = data_ptr_fn.call0()?.extract()?;

    let out = unsafe {
        cuda_memcpy(
            data_ptr,

It fails with some weird cuda error. Either invalid argument, or memcpy invalid direction (??).
This doesn't make a lot of sense to me.
The values look exactly when I compare them everything really seems to be equivalent.
Is there anything you might be aware of ?
Also referencing the Symbol<_> seems to be unsafe (just moving the calls from cuda_memcpy to ´&cuda_memcpy in the loop).

Where did you get the definition of the cudaMemcpy symbol?
Looking at the docs on Nvidia (which might be wrong, I'm not an expert here), it seems like the definition you want is:
#[repr(C)]
enum cudaMemcpyKind {
    cudaMemcpyHostToHost = 0,
    cudaMemcpyHostToDevice = 1,
    cudaMemcpyDeviceToHost = 2,
    cudaMemcpyDefault = 3
}

type MemcpyFn =
     unsafe extern "C" fn(dest: *mut c_void, src_ptr: *const c_void, src_len: libc::size_t, kind: cudaMemcpyKind) -> u32;

In particular you should be using pointer for the first argument in case you are running on a 32-bit system, and additionally you are missing the kind argument. Without this you've got UB as the FFI function call will be setting up an incorrect stack frame for the C function arguments. The kind parameter is unset and will likely generate exactly the kind of errors you are reporting.
Looks like with usize input you're just getting luck that the stack is set up correctly, with u64 not so lucky.

You might want to consider creating a #[repr(C)] enum for the return value too, as I'm unsure if the size is guaranteed to be u32 on all platforms. https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html#group__CUDART__TYPES_1g3f51e3575c2178246db0a94a430e0038

Thanks ! Super helpful.
For some reason I was using https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__MEM.html#group__CUDA__MEM_1g4d32266788c440b0220b1a9ba5795169 and using its signature instead of cudaMemcpy.
That does explain the corrupted stack ! And the issues when I tried to leak the reference. The corruption was not because of the symbol but because the stack changed and the signature was wrong.


1st week on a new year considered as 1st week of the same year

Hi!
So when playing around to prepare next year notes, I realized that when I am on the week 52 and click on next week (from the calendar-nav or directly on W1 in the calendar) Journal creates a new weekly note in a 01 folder in the same year (2024) instead of creating a 2025 folder and 01 folder for January. I'm not an expert but I think it comes from ISO calendar issue/the fact that there are always some remaining days of the same year when week 1 starts making Obsedian think we are still January 2024...Do my explanations make sense? Of course this issue will arise in all other years with the same paterns.
The following weeks of next year’s work perfectly fine otherwise.
And strangely enough, even when I manually create a note 2025-W01 in a 2025 folder and 01 folder to "force it", and then try to navigate from week 2 to week 1 with nav or the calendar week button it jumps the note 2025 to go directly on a new 2024-W01 note.
I have to precise that my weekly note format is the following: YYYY/MM/YYYY-[W]ww so that it created new folders on demand.
Thank you again!

that's a good catch
by default when building name for new note plugin uses {{date}} that corresponds to first day of period (week in this case)
so that is why it can grab previous year day for first week of a year
and changing it to {{end_date}} while working this year - will not work other year where last week contains days from next one
I'll probably will add additional variable for weeks that knows how to select start or end of week to pin it to correct year - most likely this will be part of v2 release

And strangely enough, even when I manually create a note 2025-W01 in a 2025 folder and 01 folder to "force it", and then try to navigate from week 2 to week 1 with nav or the calendar week button it jumps the note 2025 to go directly on a new 2024-W01 note.

Plugin is not using path to note as connection to journal, for this plugin adds couple properties to note frontmatter
You can use Connect note command to insert correct properties into note and tie it to journal

I have to precise that my weekly note format is the following: YYYY/MM/YYYY-[W]ww so that it created new folders on demand.

I generally recommend instead of changing date format to include slashes - use folder setting that supports variables
for your setting it would be
folder  -{{date:YYYY}}/{{date:MM}}
date format - YYYY-[W]ww

Thank you much for your reply @srg-kostyrko!
So overall I understood that I'll have to wait for the V2 for that to be fixed (+ the smaller Nav display).
Thank you for your awesome work meanwhile!
I've installed the BRAT plugin to stay informed whenever there will be a beta but there isn't one yet, right? Any insight when the V2 will be ready btw?

I generally recommend instead of changing date format to include slashes - use folder setting that supports variables
for your setting it would be
folder -{{date:YYYY}}/{{date:MM}}
date format - YYYY-[W]ww

For that part I'm not sure I understood it right...? The YYYY/MM/YYYY-[W]ww format I'm using seems to be quite popular on youtube and works very well for me so far enabling me to have new nested folder created for better search after.

So overall I understood that I'll have to wait for the V2 for that to be fixed
For now you can create note through plugin in wrong folder and after that manually move it to correct one. To be on safe side  - reload obsidian after this (there is an issue that plugin internal cache is not updated on file move and it keeps using old path)

I've installed the BRAT plugin to stay informed whenever there will be a beta but there isn't one yet, right? Any insight when the V2 will be ready btw?
yes, I'm currently about midway through the list of all changes planned for v2, it will depend on how much time I'll have but I hope to release v2 till the end of year

The YYYY/MM/YYYY-[W]ww format I'm using seems to be quite popular on youtube and works very well for me so far enabling me to have new nested folder created for better search after.
this format is popular because in daily notes or periodic notes plugin this is the only way to get folder per year
as you see it also works in Journals plugin
why I usually advise not to use it - this format will be used to format dates related to journal (in variables like {start_date} or {end_date} for example) and for more streamlined use of variables it is better to define that format to be just meaningfull part
and move construction of folder path to Folder field
if you are not using variables much - you can leave it as is


Test Execution Order

This is more of a question than an issue, but is there a way to customize the order in which the tests are generated, say if i wanted to do a PUT, POST, GET, DELETE? Or would that be dependent on how the are ordered in the swagger file?

No there isn't a way to customize the order of the operations as they are generated. But yes your suggestion about op order in your spec is correct. The tests are generated sequentially/as they appear in the spec.
Please close this if the answer is sufficient! :)

ok great thanks closing.


Incomplete copy if app is terminated too early

The local sync copies the files directly to the destination directory. If the application is terminated before the sync is complete, it will not resume the next time the application starts - e.g. the application has no way to figure out that the copy was incomplete.
suggest:

copy to temporary sibling directory
after completion do a rename, rename, delete action:
old.renameTo(trash); new.renameTo(old); trash.delete();

@tripodsan which platforms do you see the behaviour on?


Create custom snap installer

For a course, we would like to create a custom installer of the platform (with additional packages). For windows, creating a installer exe is well-documented. It is currently not clear to me how I would create a custom snap installer for linux/macos.
Is this a scenario that is/could/should be supported?

For snap the process of building snap is integrated into CI - it uses the github action "snapcore/action-build". So there don't exist offline scripts which do this, although it might not be complicated to create them. The script for creating the snap control yaml file is available in the paltform - just not the script to run snap itself. I am not a snap expert and have no idea if this is complicated once one has the snap control yaml file.
Anyway I guess the easiest ways to do this are:

configure your fork of Coq Platform so that it runs github CI actions and enable CI runs for you modified branch (say add  "lecture-*" under on: push: branches: in .github/workflows/snap.yml - possibly reduce the build matrix to what you really need. I am not sure how this is with Mac and Windows runners these days - I guess there are meanwhile free shared runners.
Do a draft PR here for your modified platform (stating that this is just for building).

The advantage of these methods is that you get all installers (Mac, Windows, Snap) with a single git push. Note, though, that the Mac installers don't work at all without signing. If you need the signing scripts for Mac, please let me know.
If you need help, with method 1, I can prototype it on my fork and document it.

Thanks @MSoegtropIMC, I'll try this out and report back.

Ah never mind, I see that I can just select the correct package pick. Apparently this has changed since I last created images last year :-)

Yes, @gares just reworked it. 8.14.1 is currently default for snap, btw.:
https://github.com/coq/platform/blob/3beca37fbceb67c3a032c463c7b3e7cad56316f6/.github/workflows/ubuntu.yml#L31

@MSoegtropIMC I'm working on it now, and it seems to be going reasonably well (I've not yet managed to produce any artifacts, but probably soon. You say that you have a way to sign MacOS binaries? If so, I'm definitely interested.

@LasseBlaauwbroek : I can supply scripts which work locally on a Mac, but you would have to have your own signing key as Apple developer (and a Mac).

Ah, okay, I don't have a Mac, and I'm not in the developer program, so I guess we'll do without MacOS binaries for now. Thanks anyway.

I'm actually meeting quite a few problems in getting binaries for any of the platforms (most of them seem to be related to installation errors of packages, not coq-platform itself). I remember this being much easier a year ago, apparently the OCaml ecosystem has seen some regressions.
I've managed to hack together some binaries that are good enough for the purposes of our course, so my immediate need is satisfied. However, in the longer term, it would be nice if I could test my Tactician package with Coq platform. For this purpose, I've set up a fork here: https://github.com/coq-tactician/platform. Most of the tests are currently failing for one reason or another. Specifically for the Snap package, dose3 is inexplicably failing to compile even though it succeeds in the Ubuntu target (see here https://github.com/coq-tactician/platform/runs/5134182512?check_suite_focus=true). Currently I don't know how to debug this because the only method of creating a snap package that is provided is through Github actions. Just for the purposes of debugging alone, it would be nice if I could create a Snap package on my local machine.

Note, though, that the Mac installers don't work at all without signing.

Is this really true? It used to be the case that you could still run an unsigned macOS application (by right-clicking and clicking Open, something that is anyway needed today on recent macOS versions because the application is not notarized).

Thanks @gares, I'll try this out. It may be useful to document this process in the platform readme.

Note, though, that the Mac installers don't work at all without signing.

Is this really true? It used to be the case that you could still run an unsigned macOS application (by right-clicking and clicking Open, something that is anyway needed today on recent macOS versions because the application is not notarized).

Yes, it is really true, at least for macOS BigSur+. You can still run non-notarized apps using the right click open thing, but you can't run unsigned apps.

@LasseBlaauwbroek : I just wanted to ask what the outcome of this was. Can you please summarize what from your point of view is missing?

The outcome of this was mostly negative, but as far as I can see not particularly because of the platform. I tried Enrico's suggestions (and followed some other snap tutorials) but I'm unable to create a local snap build as of now. My laptop actually crashes during the generation of the Coq package, but as far as I can tell this is because of some virtualization issue that has little to do with the platform. (Note that I'm also experiencing issues for the MacOS and Windows CI target, currently the only thing that works is the Ubuntu target; but again this seems to be mostly because of issues with upstream Opam packages and a baffling bug on Windows, nothing immediately related to the platform.) For now I've given up on creating a full platform build, but I'll no doubt get back to that someday.
Specifically the question of creating a custom snap package, I think it would be enough if @gares comments/suggestions in this thread on how to locally generate a snap package would be put in a README somewhere. Perhaps together with some useful links to the snapcraft documentation/tutorials.
Apart from the documentation issue, I think this can be closed.

If you are interested in the CI failures, see below. Any suggestions on how to resolve any of it would be appreciated: https://github.com/coq-tactician/platform/actions

So "https://github.com/coq-tactician/platform" is a clone of Coq Platform 2022.01 and you just changed the pick files and the picks to build in the github action files? Are there other changes? This should be fairly easy to do provided the pick files themselves work.

I Indeed added some custom picks and enabled them in the CI.
But I also upgraded OCaml to 4.12 to make MacOS happy due to https://github.com/AltGr/ocaml-mccs/issues/33. Additionally I removed the use of the mingw repo for Windows (not sure exactly why anymore).
For Windows and Snap, upstream packages are still failing, which does not seem to have anything to do with Coq Platform.
For MacOS I'm getting lots of errors like
##### Copy system shared libraries #####
Copying shared libraries for _dmg/Coq_Platform_2022.01.0.app/Contents/Resources/bin/coqtacticworker.opt ...
Some of the paths in the dependency tree could not be resolved
Maybe you already bundled coqtacticworker.opt?
Could not resolve /usr/lib/libSystem.B.dylib
Could not resolve /usr/lib/libSystem.B.dylib

My best guess is that this is due to my Coq packages overwriting the standard library. But I've not investigated this further yet.

The Windows build will definitely fail if you remove the MinGW repo.
Let me take one of your pick files and build them locally and see what happens. If the picks build locally, they should also build in CI.
The Mac library issues shouldn't have anything to do with overwriting standard library files.
I will have a look after the 2022.03 release, since this has nothing to do with the release.

Yeah, the removal of the MinGW repo may have been a mistake (but it was also not working before the removal).
Note that my pick files do not build locally for me either. There are just a bunch of upstream problems that I've been unable to resolve on any platform apart from Linux (it used to work last year which is very annoying; there have been several regressions in the OCaml ecosystem).
Note that I don't expect you to resolve any of that, most of these issues seem to be outside of the platform. (But if you want to take a look that would of course still be appreciated.) The only bug that might be directly related to the platform are the MacOS errors.

I can definitely have a look.
The MacOS issue might be related to this change in macOS:
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes
Search for "dynamic linker cache".
But the Platform shared library copier should be able to detect that this is a system library and need not be copied to the installer (it tries to copy libraries from MacPorts or HomeBrew). I will see.


Removes the old ARVIR, and makes v2 the default

Removes the old implementation of ARVIR in favor of v2.

          1 Warning

:warning:
Needs testing on a Phone if change is non-trivial

  Generated by :no_entry_sign: Danger

merge on green


Backmerge release 3.35.1

Release: https://github.com/safe-global/safe-client-gateway/releases/tag/v3.35.1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 8 (87.5%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.007%) to 31.742%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/cache/cache_operations.rs
1
2
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.007%

Covered Lines:
12973

Relevant Lines:
14678

💛  - Coveralls


Task: Allow Null ScriptLines

Description
I am finding it inconvenient to implement something because I can't initialize a null ScriptLine and iteratively add to it.
Tasks

[x] Change validation to allow creation of null ScriptLine objects

Freeform Notes
No response

Hi @ibevers, I'm sorry to hear about the issues with ScriptLine initialization. Could you share more details about the scenario you're working on? I'm trying to understand when you might encounter a script with no text or speaker

@fabiocat93 I wanted to create a null ScriptLine for forced alignment and then populate it with chunks iteratively. I used dicts and then converted the top level dict to ScriptLine at the end instead

@fabiocat93 I wanted to create a null ScriptLine for forced alignment and then populate it with chunks iteratively. I used dicts and then converted the top level dict to ScriptLine at the end instead

should we close this issue then?

@fabiocat93 That depends. Is there a strong reason to prevent creation of null ScriptLines?
Disallowing them doesn't align with standard Python object creation behavior, where creating null objects is generally allowed. Using dicts like I did is less clean than starting with a ScriptLine and populating it


WIP - Config File and StorageProxy Abstractions

What changes were proposed in this pull request?
Changes to sparkler-default.yaml configuration:

Abstracted out crawldb.uri into crawldb.backend, solr.uri, and elasticsearch.uri

Added StorageProxy and StorageProxyFactory:

WIP Abstracting out Solr implementation into the SolrProxy wrapper
StorageProxyFactory for returning the correct StorageProxy (SolrProxy or ElasticsearchProxy) based on the yaml config file

Is this related to an already existing issue on sparkler?
Related to #211
Related to #218
Will it close an existing issue?
Does not close an issue yet.
How was this patch tested?
This patch was tested by running "mvn clean package" within the "sparkler-core" directory. The tests currently pass, and it builds successfully.

This is looking better @kyan2601 thanks.

Confirmed that I can run a crawl job and view the data on the Banana dashboard. Did not notice any regressions in functionality that may have arose from the implemented Solr abstractions.
Commands run (as per the repo README):

# Start in the sparkler-core directory
cd sparkler-core

# Run script to start docker container and forward ports to host
bash ./bin/dockler.sh

# Inject seed urls
/data/sparkler/bin/sparkler.sh inject -id 1 -su 'http://www.bbc.com/news'

# Start the crawl job
/data/sparkler/bin/sparkler.sh crawl -id 1 -tn 100 -i 2

Access the Banana dashboard at http://localhost:8983/banana/ to see the data.

HJi @Kefaun2601 this PR and branch has a conflict which must be resolved. Once that's done, please tag me and I will test it out. Thank you

@lewismc Resolved the merge conflicts. Could you please review it? Thanks!

Added documentation for specifying the storage engine to use in the config file (sparkler-default.yaml):
https://github.com/USCDataScience/sparkler/wiki/Specifying-CrawlDB-in-Config
Documentation on the StorageProxyFactory abstraction will be coming.

Added documentation for the StorageProxyFactory abstraction. Will build on this documentation as we expand the factory.
https://github.com/USCDataScience/sparkler/wiki/StorageProxyFactory-Abstraction

Also confirmed that this DOES NOT introduce a regression. Thank you @felixloesing and @kyan2601


Add session id and idx to Subject (closes #282)

Add domain_session_id and domain_session_index to the Subject class in order to include data from the Snowplow cookie.
In addition there is a minor tweak to an unrelated integration test (as if I understand correctly this makes it's intent clearer).

Coverage increased (+0.02%) to 97.027% when pulling a8adaac7bc5cc5e761cd778a690d0d630a6a6a8b on cpnat:issue/282 into 4e3a4b88dfc46d1b611dd16cd06826700b8c9866 on snowplow:master.


'mup.js' file not found. Run 'mup init' first. and --config=config/environments/master/mup.js

Hi,
I'm trying to run mup setup with custom config files located in subdirectory.
Command:
mup setup --config=config/environments/master/mup.js --settings=config/environments/master/settings.json

Result:
'mup.js' file not found. Run 'mup init' first.
I'm pretty sure path is correct.

currently the command line options are not working in the release version. Try the cli-options branch on the repo.

@madushan1000 I can't find that branch.
Could you push or better yet merge, push and publish to npm :)

It's now merged with master branch. I have to fix a few more things. I'll do a release after them.

Install<EMAIL_ADDRESS>from npm.


Linker error while installing opencv: Undefined symbols for architecture arm64

Undefined symbols for architecture arm64:
  "Imf_3_2::Chromaticities::Chromaticities(Imath_2_5::Vec2<float> const&, Imath_2_5::Vec2<float> const&, Imath_2_5::Vec2<float> const&, Imath_2_5::Vec2<float> const&)", referenced from:
      cv::ExrDecoder::ExrDecoder() in grfmt_exr.cpp.o
  "Imf_3_2::Header::Header(int, int, float, Imath_2_5::Vec2<float> const&, float, Imf_3_2::LineOrder, Imf_3_2::Compression)", referenced from:
      cv::ExrEncoder::write(cv::Mat const&, std::__1::vector<int, std::__1::allocator<int>> const&) in grfmt_exr.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libopencv_imgcodecs.4.8.0.dylib] Error 1
make[1]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all] Error 2
make: *** [all] Error 2

I get the above error when trying to install opencv on M1 iMac.

This sounds similar to #1538, possibly discrepencies in how different compilers handle symbol export directives. Can you describe more about what compiler version you're using?

Oh, no, I see you're building OpenEXR 3.2 against Imath 2.5, which should not be entirely impossible but may well cause problems. Can you describe more about exactly how you're building opencv?

I was able to resolve this. I realised that some Imath 2.5 needed to be upgraded. The data for my M1 Mac was imported from 2013 MacBook pro, so many of the libraries were outdated. I  updated the libraries 1 by 1 and was eventually able to install this. Don't remember the exact sequence of events I followed.


[dns-header] fix 'ParseName()' when header offset is non-zero

This commit fixes an issue with Dns::Name::ParseName(). This method
intentionally does not get the header offset (which is used for
parsing compressed DNS names) since its implementation does not need
to read the entire name and can stop as soon as we reach the end of
the current segment of the name. This commit changes GetNextLabel()
method adding a new input parameter aStopOnEndOffsetSet to stop as
soon as mNameEndOffset is found and set on the Iterator. This new
parameter is then used by ParseName() ensuring that we stop
immediately when we find the end offset and do not continue reading a
next label (jumping to an incorrect offset and potentially reading a
bad label length value and reporting it as a parse error).
The unit test test_dns is also updated to catch and cover this
situation by populating the guard region in the start of the message
with 0x80 + index values which are invalid label length values
(length value's first two bits must be 00 or 11).

Closing this in favor of https://github.com/openthread/openthread/pull/6101.


Driver doesnot support OpenGL

librealsense
2.45.0 RELEASE

OS
Windows

Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
GLFW Driver Error: WGL: The driver does not appear to support OpenGL
Could not initialize offscreen context!

Hi @BhagyarajDharmana   Would it be possible to update the graphics drivers of your computer please to see whether this corrects the OpenGL graphics display issue that you are experiencing?

Hi @BhagyarajDharmana  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


[UI] Initial use of Sistent components

Notes for Reviewers
This PR add the use sistent components from layer5/sistent

[!NOTE]

Only available components are added in such way nothing breaks
Currently some components are not available in sistent so if a unavailable and its wrapped under a available component then some of its feature is not working including styles so excluding them initially
As new components will be added and released soon here will be updated

Signed commits

[ ] Yes, I signed my commits.

@sudhanshutech @nebula-aac --> https://github.com/meshery/meshery/actions/runs/6526099532/job/17719484339?pr=9122

@sudhanshutech @nebula-aac --> https://github.com/meshery/meshery/actions/runs/6526099532/job/17719484339?pr=9122

@nebula-aac i think it is from sistent. Since building is failing there also right?

@nebula-aac still failing

Merge conflict, @sudhanshutech

Merge conflict, @sudhanshutech


[Bug]: 3-dot Menu Not Working in Mobile View

Issue: 3-dot Menu Not Working in Mobile View
Description
The 3-dot menu in the mobile view of the READMEasy application is not functioning as expected. When attempting to click the menu, it does not expand or show the intended options.
Steps to Reproduce

Open READMEasy on a mobile device or using the browser's mobile view.
Click on the 3-dot menu in the top-right corner.
Observe that the menu does not open or display any options.

Expected Behavior
The 3-dot menu should open and display options when clicked in mobile view.
Actual Behavior
Clicking the 3-dot menu in mobile view does not show any options or dropdown.

Suggested Fix

Verify the JavaScript responsible for toggling the menu visibility.
Check if the CSS media queries might be hiding the menu unintentionally.
Ensure that the click or touch events are properly handled for mobile devices.

Environment

Device: [e.g., iPhone 12, Samsung Galaxy S21]
Browser: [e.g., Safari, Chrome]
Version: [e.g., iOS 16.0, Android 13]

Request for Assignment
@BamaCharanChhandogi  , I would like to work on this issue. Please assign it to me.
Additional Information
Any guidance on this issue would be greatly appreciated.

/assign to me with gssoc-ext, hactoberfest, hactoberfest-accepted labels


Feature: Lazy Loading Support for Larger Files.

On low-end devices, trying to render a ~60 page pdf with lots of annotations provides a very useless experience.
When I looked at the official repo for pdfjs web, I saw that they use lazy loading to render only a certain range of pages and use a loader placeholder for the rest.
If we can implement this, it will be great and it will increase the usability on low-end devices.

[ ] Lazy Loading

Some links that may be helpful:
https://github.com/mozilla/pdf.js/blob/8ad0f08099065dc19a4f17c07a130ac64ce124e9/web/pdf_page_view.js#L1036
https://github.com/search?q=repo%3Amozilla%2Fpdf.js+path%3A%2F^web\%2F%2F++RenderingStates.RUNNING&type=code

Thank you for the suggestion, but i think this feature can't be implemented since this library was designed for displaying individual pages with generic features related to the pages themselves.


pmag.dokent args were changed and some programs will break

The pmag.dokent function was changed to take only a single parameter which will break eqarea_magic, eqarea_magic3.0, eqarea_ell, and plotdi_e (which all use do_kent with providing 2 parameters).

I would suggest in a situation like this using grep to find all places were the changed function was called.  This will be easy to fix but did temporarily break stuff.

My bad on the change and not propagating it through to everywhere it is called. Nice suggesting on grep. I have now gone through and replaced everywhere it is called within the programs.

Oops - I just remembered what the NN was for - it is used for normalizing the MEANS instead of regular data - Gored gored recipes have to roll that one back to the way it was - Nick can you do that?
Lisa
Sent from my iPad

On Jan 28, 2017, at 9:26 AM, Nick Swanson-Hysell<EMAIL_ADDRESS>wrote:
My bad on the change and not propagating it through to everywhere it is  otherwise the size of the uncertainty ellipses is completely wrong. We have to called. Nice suggesting on grep. I have now gone through and replaced everywhere it is called within the programs.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok. That makes sense. I will revert those changes.

Code has been reverted to previous syntax.


New PR to test SignCLA at 2020-05-14 11:09:06.593993619 -0700 PDT m=+3.660447765

Body of PR

corp-pass-staging: test succeeded


Module not found

I am receiving the message when building: Cannot find module: 'ra-language-pt-br'. Make sure this package is installed.
but it is installed...

my package.json
{
"name": "admin",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"axios": "^0.21.1",
"ra-data-json-server": "^3.14.1",
"ra-language-pt-br": "1.3",
"react": "^17.0.2",
"react-admin": "^3.14.1",
"react-dom": "^17.0.2",
"react-router-redux": "^4.0.8",
"react-scripts": "4.0.3",
"web-vitals": "^1.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

same thing here.
"dependencies": {
"@material-ui/core": "^4.11.3",
"@material-ui/icons": "^4.11.2",
"@material-ui/pickers": "^3.3.10",
"@testing-library/jest-dom": "^5.11.10",
"@testing-library/react": "^11.2.5",
"@testing-library/user-event": "^12.8.3",
"moment": "^2.29.1",
"prop-types": "^15.7.2",
"ra-language-pt-br": "^1.3.5",
"react": "^17.0.2",
"react-admin": "^3.14.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"web-vitals": "^1.1.1"
}

Sorry guys, there was a problem on the release of version 1.3.5. Updating to 1.3.6 should work.


Conway query constructors are now ill-typed in pre-Conway eras

Closes Issue #864.
The new queries for Conway governance now require an instance of the ledger's ConwayGovEra class, so uses of them in eras before Conway will cause type errors.
Ideally the per-Conway eras would have an Unsatisfiable instance of ConwayGovEra, but that's only available as of GHC 9.8.1 release notes.
If I understand correctly, it's no longer necessary for GetConstitution to return a Maybe, for example.

🤞 the golden tests fail in CI. If they don't, I'll take an Issue to improve them so they would have.

🤞 the golden tests fail in CI. If they don't, I'll take an Issue to improve them so they would have.

They didn't fail as we don't have "examples" for Conway-only queries. We have #167 for improving on this front.

They didn't fail as we don't have "examples" for Conway-only queries. We have Issue 167 for improving on this front.

I edited the description of 167 to include regression tests for this PR 👍.


Imdb search related changes

The following improves imdb search results for me.

Please run pytests for imdb to make sure they are correct and pass. May have to delete cassettes depending on what tests call imdb search.

pytest fails for the following names:
MovieParser | selected entry from imdb search page | resulting imdb id
name=Subs,year=None,quality=unknown | Subs (2007) (TV Movie) | tt0969760
name=ASDFASDFASDF,year=None,quality=unknown | Lookup failed
name=Spirited Away,year=None,quality=unknown | Spirited Away (2001) | tt0245429
name=Existence,year=2012,quality=unknown | Existence (2012) | tt2402107
name=The Matrix,year=None,quality=unknown | The Matrix (1999) | tt0133093
The only case which this commit actually changes the result is the "Subs" case, but it is intended.

Changes Unknown when pulling 759bd4dcc49d873cab2e0c2dd045015f70acc066 on drwyrm:imdb into ** on Flexget:develop**.

Adding (Video) to the results found the following movies that wasn't being found before:
30 Days of Night: Dark Days (2010) (Video)
A Dangerous Man (2009) (Video)
Kung Fu Panda: Secrets of the Furious Five (2008) (Video)
Wrong Turn 3: Left for Dead (2009) (Video)
Wrong Turn 5: Bloodlines (2012) (Video)
Babylon 5: The Lost Tales (2007) (Video)
Wrong Turn 2: Dead End (2007) (Video)
Death Race 2 (2010) (Video)
Futurama: Into the Wild Green Yonder (2009) (Video)
Tinker Bell and the Great Fairy Rescue (2010) (Video)
Jackass 2.5 (2007) (Video)
Vacancy 2: The First Cut (2008) (Video)
Born to Race: Fast Track (2014) (Video)
Dragonheart 3: The Sorcerer's Curse (2015) (Video)
Futurama: Bender's Game (2008) (Video)
Abandoned (2010) (Video)
Behind Enemy Lines II: Axis of Evil (2006) (Video)
Stargate: Continuum (2008) (Video) aka "Stargate Continuum: The Movie"
Birdman (2014) (Video) --- This result is actually wrong, imdb title for the correct movie is "Birdman or (The Unexpected Virtue of Ignorance) (2014)"
Get Smart's Bruce and Lloyd Out of Control (2008) (Video)
Death Race: Inferno (2013) (Video) aka "Death Race 3"
Justice League: The New Frontier (2008) (Video)
Dr. Dolittle: Tail to the Chief (2008) (Video)
Beta House (2007) (Video) aka "American Pie Presents Beta House"
Open Season 2 (2008) (Video)
Batman: The Dark Knight Returns, Part 1 (2012) (Video)

List goes on and on... Stopped copy n pasting to reply other comment. :)

Changes Unknown when pulling 47abb0f128b45bd497fbcadbd767afe57774b4f4 on drwyrm:imdb into ** on Flexget:develop**.

Changes Unknown when pulling 4d067bf2806663e4cd430cfd56261fa3bdacb5d6 on drwyrm:imdb into ** on Flexget:develop**.

is this ready?

The current code doesn't support enforcing a language, and it's not trivial to add a config option in this case. There are tons of assumptions all around that assume titles from imdb searches(and titles in general) are in english, and properly supporting multiple languages here would need a lot more code than this bugfix is supposed to have.

This should close #1105 and #1106 right?


Project Warnings: Use 'compactMap' Instead Of 'flatMap'

Here are some screenshots of the warnings.

Version 8.0.0 is created addressing fixes for Xcode 10 and Swift 4.2 so closing this https://github.com/ankurp/Dollar/releases


Cargo.lock auto update

Use GitHub Actions to update Cargo.lock file once in a month and open pull request if there are any changes.

Sample PR created using that workflow
https://github.com/piotr-maks/aoc-2019-rs/pull/5


Even if Katia has set Writing rights for Niort territory, she cannot delete statements in it

This is a bug I think?
I have now set her as admin - this means we will not have any good feedback on the functioning of rights, though.

delete action haven't been allowed for non-admins till now. added in #1599


String refs are considered legacy

String refs are used at least in the example in README - https://github.com/igorprado/react-notification-system#using.
Taken from official React documentation - https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs
Legacy API: String Refs
If you worked with React before, you might be familiar with an older API where the ref attribute is a string, like "textInput", and the DOM node is accessed as this.refs.textInput. We advise against it because string refs have some issues, are considered legacy, and are likely to be removed in one of the future releases. If you’re currently using this.refs.textInput to access refs, we recommend the callback pattern instead.
The recommended way
https://reactjs.org/docs/refs-and-the-dom.html#adding-a-ref-to-a-dom-element
class CustomTextInput extends React.Component {
  constructor(props) {
    super(props);
    this.focusTextInput = this.focusTextInput.bind(this);
  }

  focusTextInput() {
    // Explicitly focus the text input using the raw DOM API
    this.textInput.focus();
  }

  render() {
    // Use the `ref` callback to store a reference to the text input DOM
    // element in an instance field (for example, this.textInput).
    return (
      <div>
        <input
          type="text"
          ref={(input) => { this.textInput = input; }} />
        <input
          type="button"
          value="Focus the text input"
          onClick={this.focusTextInput}
        />
      </div>
    );
  }
}

#144 should address this


Adds a rw_latch implementation that wraps TBB's

We'll use this in the transaction manager.
References:
https://software.intel.com/en-us/node/506280

Coverage remained the same at 95.513% when pulling dcbe18f60d90caf1c19f68dcd42c5f4ebfa8507d on mbutrovich:rw_latch into bb8591182744531137f8519f41ed6a9278d0551c on cmu-db:master.


inform the user about the error related to lack of overlap, and suggest to use MeanSquares instead.

branch: jca_registerMultimodal
data: sct_example_data
syntax:
sct_register_to_template -i t2.nii.gz -s t2_seg.nii.gz -l labels.nii.gz -p step=1,iter=1,shrink=2:step=3,algo=slicereg,type=im:step=2,iter=0

error:
Warning: bad time point - too little intensity variation0 0
Warning: bad time point - too little intensity variation-0 -0
Warning: bad time point - too little intensity variation0 0
Warning: bad time point - too little intensity variation0 0
Warning: bad time point - too little intensity variation-0 -0
Warning: bad time point - too little intensity variation0 0
Warning: bad time point - too little intensity variation-0 -0
Warning: bad time point - too little intensity variation0 0
libc++abi.dylib: terminating with uncaught exception of type itk::ExceptionObject: /Users/julien/antsbin/ITKv4-install/include/ITK-4.7/itkImageBase.hxx:191:
itk::ERROR: Image(0x7fdfd4345bb0): A spacing of 0 is not allowed: Spacing is [0, 4.19819e-40]

solution:

need to crop image before running slicereg

error not specific to SCT


Added effect and @effect/schema

Added Effect docs
Added Effect Schema docs

Made sure that the preset name is URL safe
Getting the LLMs to work with the latest @effect/schema docs has been.. very painful to say the least 😂 Hopefully this can do the trick.

@didier 🙏

@Aleksion Had a busy couple of days. Thanks for your contribution! Should be live any sec.

https://llmctx.com/effect
https://llmctx.com/effect_schema


Rustc integration setup

The current rustc integration setup is strictly speaking not conforming with the cargo rule, that features are additive. LSP implementations like rust-analyzer assume that crates strictly adhere to that rule and compile/check with --all-features by default, which breaks because of the rustc-dep-of-std feature. This causes issues like https://github.com/rust-analyzer/rust-analyzer/issues/4702.
I can't think of an elegant solution for this problem, but maybe something along the lines of explicitly failing with compile_error! and a helpful message would make this more discoverable.

@alexcrichton Do you have any ideas about what to do for this?

#233 is the best I could come up with.

Yeah unfortunately I don't know of a great way to solve this. The root of the issue is the weirdness of getting built as part of libstd. I'd love to fix that but I don't really know of another way myself.


merge_sort

Does device wide merge_sort support in-place sorting (keys_input == keys_output and values_input == values_output)?
What about radix sort? I guess it does not support in-place sorting, but I could not find anything in the docs about it.

Unless, it's explicitly stated otherwise, input and output iterators must point to separate memory (separate ranges).

Thank you for your answer. Is radix_sort and/or merge_sort stable? I cannot find anything in the docs about it, however, in the tests, you are comparing to std::stable_sort.

Radix sort is stable. Merge sort is not.

Thank you very much! I have one more question:
Using zip_iterator to sort multiple values with the same key is straight forward. What about using zip_iterator with double buffers?

What about using zip_iterator with double buffers?

I don't think that's possible. double_buffer class template takes value type (T) not iterator type. I guess you may try modifying it to operate on iterators instead. You can always try to specialize it for zip_iterator.

I am not sure if that is possible, with integers zip_iterator has value_type tuple<int*,int*> but radix_sort_impl() requires value_type tuple<int, int>* for buffers. The integer arrays packed with zip_iterator are not necessarily continuous in memory.

Yes, right now it's not possible. It would require some changes to radix sort implementation (it's doable). Right now there are not plans to do them.


Clarify Java options configuration

This setting is discussed in #232 / #234 but isn't very well documented.
This clarifies the expected format used to configure Java options.

Oh hey, this is done much better by #260


StudyVersion, StudyDesign and rationale, check

Both StudyDesign and StudyVersion contain a rationale attribute. Are both reqired? Just a sanity check.
See JIRA 520

After discussion on scrum call 6th March 2024, keep both

After discussion on scrum call 6th March 2024, keep both. Close issue with no changes


reactive examples compatible with 6.2 ORM

These session-example commands will execute and mostly work except for a couple of Criteria related blocks in each of Main & MutinyMain versions.  I've commented out the failing parts in the code

./gradlew :session-example:runExampleOnPostgreSQLMain

./gradlew :session-example:runExampleOnPostgreSQLMutinyMain

./gradlew :session-example:runAllExamplesOnPostgreSQL

./gradlew :session-example:runExampleOnMySQLMain

./gradlew :session-example:runExampleOnMySQLMutinyMain

./gradlew :session-example:runAllExamplesOnMySQL

./gradlew :session-example:runAllExamples

The native-sql-example commands will execute also, but both Main and MutinyMain versions have issues with performing the initial insert(...) of the entities where the insert hangs.  I've commented out the code for now.

./gradlew :native-sql-example:runExampleOnPostgreSQLMain - FAILS
./gradlew :native-sql-example:runExampleOnPostgreSQLMutinyMain  - FAILS
./gradlew :native-sql-example:runAllExamplesOnPostgreSQL  - FAILS
./gradlew :native-sql-example:runAllExamples  - FAILS

@DavideD The reactive load plan is being created and used, but the books.fetch( Book.class, Books_.published) call return a Book entity with published == NULL... and there is a ClassCastException if you run session-example's.


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 40a72dc, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 18382 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in b023f8c.


Add assignment table marshalling

We need assignment table marshalling support in order to get rid of custom serialization methods in zkLLVM.

Done in NilFoundation/crypto3-zk-marshalling#42


Generate library for workloadmanager.googleapis.com

The product is GA:
https://cloud.google.com/workload-manager/docs/overview
and the protos are available:
https://github.com/googleapis/googleapis/tree/master/google/cloud/contentwarehouse/v1

Those protos are for Content Warehouse, not Workload Manager. I don't think the Workload Manager protos have been published.

Those protos are for Content Warehouse, not Workload Manager. I don't think the Workload Manager protos have been published.

Thanks, fixed the bug

Now dupe of #11814?

I was about to say that.


Async errors break source maps (whether or not long-stack-trace is used)

I saw the existing issue related to long-stack-trace, but this happens whether or not long-stack-trace is being used. I'm using Angular 4.0.0 and Zone 0.8.5.
Inline TypeScript-generated source maps work fine in most situations, but if Zone catches an error during async processing (such as an RxJs subscribe handler), I get an error that isn't leveraging the source maps. E.g.:
zone.js:569 Unhandled Promise rejection: Cannot read property 'not' of undefined ; Zone: ProxyZone ; Task: Promise.then ; Value: TypeError: Cannot read property 'not' of undefined
    at eval (http://localhost:9876/base/dist/dev/app/charts/components/plotly/base-plotly-chart.component.js:92:62)
    at Array.forEach (native)
    at eval (http://localhost:9876/base/dist/dev/app/charts/components/plotly/base-plotly-chart.component.js:86:54)
    at Array.forEach (native)
    at eval (http://localhost:9876/base/dist/dev/app/charts/components/plotly/base-plotly-chart.component.js:82:47)
    at Array.forEach (native)
    ...etc...

Is this a bug with Zone? Or is this expected, and Zone currently just can't map the source of the error back to the TS file?

Actually, trying out a number of things and it seems that this is actually a limitation of the way console logging of errors is done in Chrome.

If anyone also runs into this, one option I uncovered that seems to work pretty well (at least in Chrome) is the NPM package source-map-support.


fix(tools) fix docs publishing script

Fix a mistake in operators precedence causing the docs publishing script to fail parsing the repo URL.

Coverage remained the same at 100.0% when pulling f71d5f03ace0a2cdcb717bf3da5f341bee259715 on hmil:patch-1 into a8e449df89c891e8b2a830f3c44211b9c9b602c5 on alexjoverm:master.

Good catch @hmil! You nailed it there! Thanks for your contribution


Memory Management - hugetlbfs filesystem partially implemented

The hugetlbfs filesystem implementation is incomplete. In general programs will use the path /sys/kernel/mm/hugepages to detect supported huge page sizes, and query the memory statistics of these allocations. More information on this can be found at the following links...
Additional Documentation over the topic:

Debian Wiki page: https://wiki.debian.org/Hugepages#Huge_pages_sizes
LWN.Net  Article over Huge Pages: https://lwn.net/Articles/376606/
libhugetlbfs library ( https://github.com/libhugetlbfs/libhugetlbfs ) - This library is the golden standard for testing Huge page support on linux and it's subsystems.
Current Documentation over HugePages: https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/mm/hugetlbpage.rst
*Current documentation in regards to Hugetlbfs Reservation: https://github.com/torvalds/linux/blob/master/Documentation/vm/hugetlbfs_reserv.rst
Older Documentation over Huge pages: https://github.com/torvalds/linux/blob/e6590740ceb83fd014fae7d571fe5a5d5886b7c8/Documentation/vm/hugetlbpage.txt

Please fill out the below information:

Your Windows build number:  Microsoft Windows 10 Pro [Version 10.0.17763.253]

What you're doing and what's happening:  The memory interfaces for /sys/kernel/mm/hugepages are missing. To test this, run the commmand...
grep "" -r /sys/kernel/mm/hugepages
The result of this command is...
grep: /sys/kernel/mm/hugepages: No such file or directory

What's wrong / what should be happening instead: This should show the available hugepage sizes. For example, If the system only supports 2MB Hugepages, The output of this command may look like this...

/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages_mempolicy:0
/sys/kernel/mm/hugepages/hugepages-2048kB/nr_overcommit_hugepages:0
/sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages:0
/sys/kernel/mm/hugepages/hugepages-2048kB/resv_hugepages:0
/sys/kernel/mm/hugepages/hugepages-2048kB/surplus_hugepages:0

Strace of the failing command, if applicable: Not Applicable.

WSL launch issue: Not Applicable.

@kphillisjr Is that the reason why hugetlbfs can't be mounted? (running on 1803)
$ cat /proc/filesystems | grep huge
nodev   hugetlbfs
$ sudo mount -t hugetlbfs nodev /mnt/hugepages
mount: /mnt/hugepages: unknown filesystem type 'hugetlbfs'.
$ uname -a
Linux MTL-BH279 4.4.0-17134-Microsoft #523-Microsoft Mon Dec 31 17:49:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux

@kphillisjr Is that the reason why hugetlbfs can't be mounted? (running on 1803)

Yes, but the real reason for that is that the Windows Subsystem for Linux advertises support for this filesystem type without actually implementing the filesystem. Either way, The end result of this bug is that developers ( and server administrators ) suffer performance losses due the nature of handling an increased number of page translations.
Step 1: Query to see the how many Huge pages are currently available.
sysctl vm.nr_hugepages

Ubuntu Linux Result: ( Default settings)
vm.nr_hugepages = 0

Result for Windows Subsystem for Linux: ( This shows the feature is not supported ).
sysctl: cannot stat /proc/sys/vm/nr_hugepages: No such file or directory

Step 2: Query to see the Default Huge page support using /proc/meminfo

Ubuntu Linux Result (Default Settings):
AnonHugePages:      108544 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Windows Subsystem for Linux: ( This would be a good result if the feature was fully functional. )
AnonHugePages:      2048 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Step 3: Actually allocate some Huge pages for use. For my example I will create 128 pages of the default size. Using the above example, This will set aside 256Mb of memory for use for hugepages. Also, the effects of this command will only last until the system is rebooted.
sudo sysctl -w vm.nr_hugepages=128

Ubuntu Result:
vm.nr_hugepages = 128

Windows Subsystem for Linux response: ( this is an error due to missing features )...
sysctl: cannot stat /proc/sys/vm/nr_hugepages: No such file or directory

Step 4: verify the effects of this command took place in /proc/meminfo.
 grep Huge /proc/meminfo

Ubuntu Linux Result:
AnonHugePages:      108544 kB
HugePages_Total:       128
HugePages_Free:        128
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Windows Subsystem for Linux Result: The output of this command is incorrect since the chain of commands should have result in 128 HugePages being allocated.
AnonHugePages:      2048 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Step 5: The results of checking the contents of /sys/kernel/mm/hugepages/hugepages-2048kB.
grep "" /sys/kernel/mm/hugepages/hugepages-2048kB/*

Ubuntu Linux Result:
/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages_mempolicy:128
/sys/kernel/mm/hugepages/hugepages-2048kB/nr_overcommit_hugepages:128
/sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages:128
/sys/kernel/mm/hugepages/hugepages-2048kB/resv_hugepages:0
/sys/kernel/mm/hugepages/hugepages-2048kB/surplus_hugepages:0

Windows Subsystem for Linux Result: This should mirror Ubuntu's result seeing as how the default huge page size on both platforms is 2048 kB. However, the result is an error.
grep: /sys/kernel/mm/hugepages/hugepages-2048kB/*: No such file or directory

Any news in this field ? Would be nice to have it working at some point.

any news if wsl resolved ?

Any updates on this? I wanted to run/develop SPDK application and I am not able to do so without huge pages. I am stuck with slower virtualbox VM

This should probably be closed--I had no problem allocating hugepages on WSL 2. I assume WSL 1 is in maintenance mode.

any update?

any update?


spring-cloud-starter-stream-kafka maven dependency version problem

Current version of spring boot 2.2.1 doesn't work with spring-cloud-starter-stream-kafka version 2.0.1.RELEASE. To solve this problem, version 2.2.1.RELEASE should be used
         <dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-stream-kafka</artifactId>
		<version>2.2.1.RELEASE</version>
	</dependency>

[Enter feedback here]

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

ID: 7bb8bc1e-65b0-f895-942c-cb3aec127f85
Version Independent ID: 9c16e082-ac66-6681-6b4c-aa52f63efbb9
Content: How to use the Spring Boot Starter for Apache Kafka with Azure Event Hubs
Content Source: java/spring-framework/configure-spring-cloud-stream-binder-java-app-kafka-azure-event-hub.md
Service: event-hubs
GitHub Login: @bmitchell287
Microsoft Alias: brendm

I see that version 2.2.1 is still has some problems, but with 3.0.0 looks stable.

org.springframework.cloud
spring-cloud-starter-stream-kafka
3.0.0.RELEASE

@asteroy thanks for the feedback! We'll investigate.

Topic has been updated.


Example markdown slide render issue around ~~~

Describe the bug
When testing with the example markdown slide provided in readme, there is a render issue with the box art slide.
To Reproduce
run slides file.md where file.md contains the example markdown slide.
Expected behavior
Should render correctly
Screenshots

Desktop (please complete the following information):

OS: [Linux]
Version [Latest github on commit 982bc2725a50307d0adc2b215b986154368e028a]

Side note
The readme still have j moving to previous and k moving to next.

Hey! Do you have graph-easy and GraphViz installed btw? Does all pre-processing fail or just this specific example

Sorry if I conveyed the wrong idea. But the issue I'm reporting is not related to the code block section that follows.
If you look carefully at where it breaks, it's actually unrelated to whether graph-easy is in place. Actually, just by removing the ~~~ as shown in vim on line 34, it works completely fine. : )

0xa36fD8fF0524f287422337d99bABdf05923f581B

I removed the ~~~ in the slide on line 34 as you shown in vim. Not a permanent fix but should be okay for now.


feat(GenericEditor): enable editing last revision history item in ser…

…ver mode

Only the field legacy_version and summary of the last element should ignore the disable.ifServerMode setting if set to true.

Only the field legacy_version and summary of the last element should ignore the disable.ifServerMode setting if set to true.

True! I updated it and took the opportunity to also rename the variable enabled to enable_last_rev_hist_item which should be a little more clear.


Add an option to show translate button for all posts

Is your feature request related to a problem? Please describe.
Sometimes I see posts that are not in my language, but there is no translate button, because the post is tagged in a wrong language.
Describe the solution you'd like
I want an option to have a translate button on every single post, even if the metadata says that it is already in the language I want to translate into.
Describe alternatives you've considered
Copy&pasting the text into another translation service, but this is inconvenient.

Took me a while to find it. When opening the post itself, there are two '...' buttons, one to the upper right of the post, and another to the lower right. Of course, I was looking at the wrong one. Very confusing. I think that there should be only one '...' button, and it should always be in the same place.
Still, it would be nice if the translation button also appeared when opening the '...' menu in the feed.


Two sitemaps within different hostname?

I'm generating two language versions from one source.
Is it possible define sitemap option twice or set hostname dynamically for two collections?
Thanks

Hi @illycz ,
You can omit the hostname from the options and then set the hostnames dynamically in the collections.
I've created an example here: https://github.com/quasibit/eleventy-plugin-sitemap/tree/master/examples/multilingual
The gist of it is this:
module.exports = (eleventyConfig) => {
  const hostnames = {
    en: "https://example.com",
    pt: "https://example.pt",
  };

  eleventyConfig.addPlugin(sitemap);

  eleventyConfig.addCollection("sitemap", (collectionApi) =>
    collectionApi.getAll().map((item, index, all) => ({
      url: hostnames[item.data.lang] + item.url,
      date: item.date,

      data: {
        ...item.data,

        sitemap: {
          ...item.data.sitemap,

          links: all

            // Find all the translations of the current item.
            // This assumes that all translated items that belong together
            // have the same `translationKey` value in the front matter.
            .filter(
              (other) => other.data.translationKey === item.data.translationKey
            )

            // Map each translation into an alternate link. See https://github.com/ekalinin/sitemap.js/blob/master/api.md#ILinkItem
            // Here we assume each item has a `lang` value in the front
            // matter. See https://support.google.com/webmasters/answer/189077#language-codes
            .map((translation) => ({
              url: hostnames[translation.data.lang] + translation.url,
              lang: translation.data.lang,
            })),
        },
      },
    }))
  );
};

In this case I'm only using one collection, but you can adapt to your needs.
---
permalink: /sitemap.xml
layout: null
eleventyExcludeFromCollections: true
---
{% sitemap collections.sitemap %}

Let me know if this helps.

Yes, my scenario is little different, but your example show me, how to solve it. Thanks!


MATLAB lexer does not find 'Number' tokens

(Original issue 807 created by None on 2012-09-30T20:14:54.072435+00:00)
Here is a way of showing the bug.
Everything works as expected with the Python lexer:

from pygments.lexers import get_lexer_by_name
l = get_lexer_by_name('python')
for t, v in l.get_tokens('2'):
...     print t, v
...
Token.Literal.Number.Integer 2
Token.Text

But with the MATLAB lexer, here is the output:

from pygments.lexers import get_lexer_by_name
l = get_lexer_by_name('matlab')
for t, v in l.get_tokens('2'):
...     print t, v
...
Token.Text 2
Token.Text

(Original issue 807 last updated on 2012-12-25T10:24:16.667014+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2012-12-25T10:24:16.662395+00:00)
Closes #807: add number tokens to matlab/scilab/octave.
→ <>


Newbie question

i am testing the Table, and have a few questions:

can i use white-space:nonwrap or somethin similar? i am going to need a lot of columns and each column cant have the same width
How can i know what is row selected, im new with react and that could be a stupid question but cant find a way.

This is part of the code that im using right know:
var menuItems = [
{ payload: '1', text: 'Never' },
{ payload: '2', text: 'Every Night' },
{ payload: '3', text: 'Weeknights' },
{ payload: '4', text: 'Weekends' },
{ payload: '5', text: 'Weekly' },
];
let Main = React.createClass({
childContextTypes: {
muiTheme: React.PropTypes.object
},
getChildContext() {
return {
muiTheme: ThemeManager.getCurrentTheme()
};
},
componentWillMount() {
ThemeManager.setPalette({
accent1Color: Colors.deepOrange500
});
},
changeHandler: function(e) {
console.log(e.target.value);
},
render() {
let containerStyle = {
  textAlign: 'center',
  paddingTop: '0px'
};

let tableStyle = {
  width: '100%',
  overflow: 'auto'
};

let standardActions = [
  { text: 'Okay' }
];

// Row data
let rowData = [
{id: {content: '1'}, name: {content: 'John Smith but larger'}, status: {content: 'Employed'}, mas: {content: 'what if i use a long long long long'}},
{id: {content: '2'}, name: {content: 'Randal White'}, status: {content: 'Unemployed'}},
{id: {content: '3'}, name: {content: 'Stephanie Sanders'}, status: {content: 'Employed'}},
{id: {content: '4'}, name: {content: 'Steve Brown'}, status: {content: 'Employed'}},
{id: {content: '5'}, name: {content: 'Joyce Whitten'}, status: {content: 'Employed'}},
{id: {content: '6'}, name: {content: 'Samuel Roberts'}, status: {content: 'Unemployed'}},
{id: {content: '7'}, name: {content: 'Adam Moore'}, status: {content: 'Employed'}},
{id: {content: '8'}, name: {content: 'Robert Brown'}, status: {content: 'Employed'}},
{id: {content: '9'}, name: {content: 'Elizabeth Stevenson'}, status: {content: 'Employed'}},
{id: {content: '10'}, name: {content: 'Zachary Dobb'}, status: {content: 'Employed'}},
{id: {content: '11'}, name: {content: 'Zachary Dobb'}, status: {content: 'Employed'}}
];
// State
this.state = {
selectedItem:1,
fixedHeader: true,
fixedFooter: false,
stripedRows: false,
showRowHover: false,
selectable: true,
multiSelectable: false,
canSelectAll: false,
height: '300px',
rowData: rowData
};
// Column configuration
let headerCols = {
id: {
content: 'ID',
tooltip: 'The ID'
},
name: {
content: 'Name',
tooltip: 'The name'
},
status: {
content: 'Status',
tooltip: 'The status'
},
Other: {
content: 'Two',
tooltip: 'The other'
},
newa: {
content: 'newa',
tooltip: 'The newa'
},
four: {
content: 'four',
tooltip: 'The fourth'
}
};
let colOrder = ['id', 'name', 'status','otro','mas','tres'];
// Footer column content can also be specified as [ 'ID', 'Name', 'Status'].
let footerCols = {};
return (

material-ui

example project

      <Table
        selectedItem = {this.state.selectedItem}
        headerColumns={headerCols}
        footerColumns={footerCols}
        columnOrder={colOrder}
        rowData={this.state.rowData}
        height={this.state.height}
        fixedHeader={this.state.fixedHeader}
        fixedFooter={this.state.fixedFooter}
        stripedRows={this.state.stripedRows}
        showRowHover={this.state.showRowHover}
        selectable={this.state.selectable}
        multiSelectable={this.state.multiSelectable}
        canSelectAll={this.state.canSelectAll} />

@valinol You have a couple options. If you prefer LESS/CSS you can use the classname mui-table-row-column to style all cells. If you want to style a particular cell(s) you can provide a style attribute in your cell definition. Example:
let rowData = [
  {
    id: {content: '1'},
    name: {content: 'John Smith but larger'},
    status: {content: 'Employed'},
    mas: {
      content: 'what if i use a long long long long'},
      style: {
        width: 400
      }
  },
  ...
];

In regards to row selection there is a callback onRowSelection(selectedRowsArray) which returns an array of the selected row numbers.

thank you very much that's all I needed to know


jax.numpy.mean ops convert to tflite is slowly

Description
Convert the same model into tflite file, but the Mean layer was converted to two different node.
import tensorflow as tf
import jax
import jax.numpy as jnp
from jax.experimental import jax2tf

tf_model = tf.keras.models.Sequential([
    tf.keras.layers.InputLayer(input_shape=(28, 28, 64)),
    tf.keras.layers.Lambda(lambda x: tf.reduce_mean(
        x, axis=(1, 2), keepdims=True)),
])

converter = tf.lite.TFLiteConverter.from_keras_model(tf_model)
tflite_model = converter.convert()
open("tf_mean.tflite", "wb").write(tflite_model)

x_input = jnp.zeros((1, 28, 28, 64))

fn = tf.function(
    jax2tf.convert(
        lambda x: jnp.mean(x, axis=(1, 2), keepdims=True),
        enable_xla=False),
    input_signature=[
        tf.TensorSpec(
            shape=list(x_input.shape),
            name='inputs')],
    autograph=False)

converter = tf.lite.TFLiteConverter.from_concrete_functions(
    [fn.get_concrete_function(x_input)], fn
)

tflite_model = converter.convert()
open("jax_mean.tflite", "wb").write(tflite_model)

Certainly, this will affect the inference speed of the TFLite model.
System info (python version, jaxlib version, accelerator, etc.)
jax:    0.4.26
jaxlib: 0.4.23
numpy:  1.26.4
python: 3.11.7 (main, Dec  4 2023, 18:10:11) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
jax.devices (1 total, 1 local): [METAL(id=0)]

Thanks for raising this!
Indeed JAX has no primitive Mean operation. That happens quite often; instead of having lots of distinct kernels, JAX relies on a compiler to fuse primitives into performant kernels. That means that if instead of a compiler we have an interpreter downstream of a JAX function, we might get inefficiencies like this. (It's an open question whether we can have our cake and eat it too, by e.g. staging out a program representation that provides both the Mean function and its implementation in terms of primitives, so that downstream interpreters can use their own direct Mean implementations rather than having to interpret its implementation.)
I think this is working-as-intended, but I'm going to tag @gnecula and @superbobry to check. Any thoughts to add?


Enable CONFIG_IP_NF_TARGET_LOG in the kernel

ResinOS is missing a kernel module for LOG targets in iptables. Attempting to modprobe it results in:
modprobe: FATAL: Module xt_LOG not found in directory /lib/modules/4.12.12-yocto-standard

cc @petrosagg

Merged to development branch.