Responsive UI Problem

I created a new site collection to try Responsive UI out. The problem I’m having is it works fine on the desktop with all browsers but when I try it on a mobile device (IOS) it is not responsive. Any help would be greatly appreciated.

Hi @OCPSMike, the device in question is an iPhone 7 or greater ?

Yes. iPhone 7 Plus.
Sent from my iPhone
On Oct 6, 2017, at 5:48 PM, Laul0 <notifications<EMAIL_ADDRESS>wrote:
Hi @OCPSMikehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ocpsmike&d=DwMCaQ&c=bViWEpkreoQhMxUsQMNGaA&r=3TRsVRYU3NaPAB9tNzPD6hwdElxdk2M0FUkeWtVG_EY&m=rcK7H97d0t4zvdjVxwom0zFey5pHeDntDDfgDrOawXg&s=OEjixQZ1SHIaXh2J8cPAVsXEAHbiNZgQxQVPjuwwmBA&e=, the device in question is an iPhone 7 or greater ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_SharePoint_PnP-2DTools_issues_151-23issuecomment-2D334878484&d=DwMCaQ&c=bViWEpkreoQhMxUsQMNGaA&r=3TRsVRYU3NaPAB9tNzPD6hwdElxdk2M0FUkeWtVG_EY&m=rcK7H97d0t4zvdjVxwom0zFey5pHeDntDDfgDrOawXg&s=7SSDB0cN2PX749Yw11t4r4QcbxxaaErhx-8hWvsj9xI&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AfEbmS9lm01VqSbMlAwIrXM7DtvXERq1ks5spqA7gaJpZM4Pwz9M&d=DwMCaQ&c=bViWEpkreoQhMxUsQMNGaA&r=3TRsVRYU3NaPAB9tNzPD6hwdElxdk2M0FUkeWtVG_EY&m=rcK7H97d0t4zvdjVxwom0zFey5pHeDntDDfgDrOawXg&s=_gIeshQLZRce8jOsoS69c7KcuVu3QOqiuCJ39bwewOY&e=.

The information contained in this e-mail message is intended solely for
the recipient(s) and may contain privileged information. Tampering with
or altering the contents of this message is prohibited. This information
is the same as any written document and may be subject to all rules
governing public information according to Florida Statutes. Any message
that falls under Chapter 119 shall not be altered in a manner that
misrepresents the activities of Orange County Public Schools.
[References: Florida State Constitution I.24, Florida State Statutes
Chapter 119, and OCPS Management Directive A-9.] If you have received
this message in error, or are not the named recipient notify the sender
and delete this message from your computer.

We had to add the following lines to our web.config for the iPhone to be redirected to the desktop view (it was always redirected to the mobile view regardless whether the Mobile Browser View site feature was active):
<browserCaps>     <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />     <filter>isMobileDevice=false</filter> </browserCaps>
This fix does however not work for iPad.

@mzoomers I dont have an issue going to the mobile browser view. When I go to the site with my iPhone 7 Plus it goes to the desktop view but not the responsive one. Its the standard view like on a desktop.

@Laul0 your question gave me an idea to look at the css. I made some changes to the max-width. I was able to get it to work but only the first time you go to the site. If you refresh the screen or go to a library and then go back to the main page it is no longer responsive.

I still do not get the responsive view on any size iPhone..

Hi @OCPSMike, could you provide us some complementary information ?

What is your target environment (On-premise 2013/2016, Online) ?
What is the Master Page that you're using ?
What is the Site Template that you're using ?
Did you perform some custom dev that can have a side effect on your SharePoint Site ?
On which browser do you work ?
Do you have one or more errors in your browser console linked to the Responsive Framework ?

We have similar issue happened, the mobile view only visible on desktop when browser shrink. But when i view at iPhone8+ it will show the desktop view (3 column instead). I even try to increase media pixel to 3000px but iPhone still display as 3 column.

Hi,
The metadata viewport is added via JavaScript.
From which solution (PnP-Tools or PnP-Sites-Core) have you deploy the responsive solution ?

The solution from PnP-Tools is the latest version currently.

Thanks, i'm not quite sure which one deployed (from our IT team), however, it seems it just didn't load the script and i need to add those coding at the page itself.
However, the navigation button is disappear when i view at mobile but for desktop it works (should loading from SP-Responsive-UI.css

Hi,
A new version of PnP Responsive UI was released.
If you are still facing to this issue, could you try the latest version ?

Yes, I still have this issue. The problem is with all iPhones with a devicePixelRatio of 2. The latest devices, like the X, with a device pixel ratio of 3 are fine. The issue is with this code in the addViewport function in SP-Responsive-UI.js:
if (window.devicePixelRatio == 2) {
    viewport.content = 'width=device-width, user-scalable=yes, initial-scale=.5';
} else {
    viewport.content = 'width=device-width, user-scalable=yes, initial-scale=1.0';
}

The question is, why is that code there at all and what will happen if the initial scale is set to 1.0 for all devices?
It appears to have been added on March 24, 2017 in a commit titled Upgrade PnP-Tool Responsive solution from Sites-Core
The change was made to Sites-Core on Jan 7, 1017 in a commit titled PnP Responsive UI improvements and suite bar feature
Unfortunately, there were a lot of changes and I can't see any obvious reasons for the change. I am going to remove the .5 scale on the project I am currently working on and we'll see if any unexpected side effects show up.

Hi @IvanTheBearable
I added the ratio management because of retina screens of iPhone.
When I implement this improvement, I used an iPhone with retina screen and I had to Zoom out systematically on each page after load because of the resolution. Change the ratio allow to have directly the good size.
Maybe it is not necessary anymore, I will check.
Just be careful if you use Chrome for your tests because the result is wrong. You have to check on a device or from the Simulator.

Yes, I tested this several real devices and several more simulators. In fact, I actually implemented the fix for this on the version of the code I use on customer systems over a year ago - then forgot about it.
I suspect there may have been a bug in the early implementation retina support in iOS that has since been fixed. I have a vague memory of early confusion about how the scaling working on retina devices probably caused by this. The virtual dpi on an iPhone is never supposed to change so there should be no need to change the scale based on the devicePixelRatio.
Cheers
Ivan


Feature: auth'd dropdown

I### Type of feature
🍕 Feature
Current behavior
Thanks to #27, when a user authenticates they are presented with a dropdown page. We should provide some context here.

Suggested solution
Create a page for auth'd users that allows the following.

Create highlight button for that contribution.
See more summary of details about currently viewed profile.

@doaortu you had a great version of this in your submission. Any interest in contributing?
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

Removed listing recent PRs. That will need to be scoped separately.

Thank you for reaching me out.
Of course, I'll make a PR and I'll update you when it's ready.


.Net: GPT tokenizer doesn't work in notebooks

This code works in a typical C# project, but fails in a notebook, because GPT resources are in a different path.
Console app:
using Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers;

Console.WriteLine(GPT3Tokenizer.Encode("hello world").Count + " tokens");

Output:

2 tokens

C# notebook:
#r "nuget: Microsoft.SemanticKernel.Connectors.AI.OpenAI, 0.19.230804.2-preview"

using Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers;

Console.WriteLine(GPT3Tokenizer.Encode("hello world").Count + " tokens");

Output:

Error: System.IO.FileNotFoundException: vocab.bpe not found, path: '~/.nuget/packages/microsoft.semantickernel.connectors.ai.openai/0.19.230804.2-preview/lib/netstandard2.0/Tokenizers/Settings/vocab.bpe'
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.Settings.EmbeddedResource.ReadFile(String fileName)
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.Settings.EmbeddedResource.ReadBytePairEncodingTable()
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.Settings.GPT3Settings.<>c.<.cctor>b__6_1()
at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy1.CreateValue() at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.Settings.GPT3Settings.get_BpeRanks() at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.GPT3Tokenizer.BytePairEncoding(String token) at Microsoft.SemanticKernel.Connectors.AI.OpenAI.Tokenizers.GPT3Tokenizer.Encode(String text) at Submission#2.<<Initialize>>d__0.MoveNext() --- End of stack trace from previous location --- at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[TResult](ImmutableArray1 precedingExecutors, Func2 currentExecutor, StrongBox1 exceptionHolderOpt, Func`2 catchExceptionOpt, CancellationToken cancellationToken)

See how the code is looking here:
~/.nuget/packages/microsoft.semantickernel.connectors.ai.openai/0.19.230804.2-preview/
   lib/netstandard2.0/Tokenizers/Settings/vocab.bpe

but the file is actually here:
~/.nuget/packages/microsoft.semantickernel.connectors.ai.openai/0.19.230804.2-preview/
   contentFiles/any/netstandard2.0/Tokenizers/Settings/vocab.bpe

or here:
~/.nuget/packages/microsoft.semantickernel.connectors.ai.openai/0.19.230804.2-preview/
   content/Tokenizers/Settings/vocab.bpe

Would be implicitly addressed if https://github.com/microsoft/semantic-kernel/pull/1800 were merged... just sayin' :)

@stephentoub how will that affect the kernel in general? e.g. we tell people that creating an instance of the kernel is a cheap operation, however the DLL will get considerably bigger by embedding the files. E.g. I'm thinking about Azure Functions bootstrap time and edge devices

I was just wondering if there was any guidance in the short term for consumers to address this issue. It's unclear if what needs to change is how we reference the Microsoft.SemanticKernel nuget package (extra parameters to the <PackageReference /> tag in our csproj) or if we need to be explicitly referencing the Microsoft.SemanticKernel.Connectors.AI.OpenAI from every project that references another project referencing Microsoft.SemanticKernel?


Problem using a Monx store with HyperMoon created component

var testComp = m('h1', { attrs: {} }, { shouldRender: false }, [m("#text", { shouldRender: true }, store.state.selectedTool)]); // <--- Does not get updated

Moon.component("foo-component", {
        render: function(m) {
            return testComp;
        }
    });

Other components work well with the store. I have tried setting both "shouldRender" values to true, that did not work either.
Any idea what I am doing wrong?

So the m function returns a virtual DOM, with all of the information.
In this case, the text node has content with store.state.selectedTool. The virtual DOM loaded in the testComp variable has a virtual DOM with the value of the state at that point. To use a store with a component, you need to inject it into the instance by adding it in the options.
Also, it's generally a bad practice to use custom render functions for simple cases like this. If you use a template, Moon basically creates the same function after compiling it (the compiler makes up about 50% of Moon's source code).
I'd recommend you do something like this:
Moon.component("foo-component", {
  template: "<h1>{{store.state.selectedTool}}</h1>",
  store: store
});

But if you really want a custom render function, you can use what you have above, just inject the store and make sure you return a new virtual DOM in the render function each time.
Once again, I'd recommend you use templates, as Moon's compiler is fairly smart and includes an optimizer. That's the main reason I have the shouldRender property, as the compiler can easily detect static nodes and mark shouldRender as false.
If you try going on the compiler page, you'll see in the example at the bottom what Moon can generate from your HTML. Try using {{mustache}} templates and notice how shouldRender changes accordingly.

Actually, I have a few complicated components I would like code, the reason why I needed a more comfortable way to construct, that being HyperMooon.
I would be wrapping some widgets from a CSS framework also, and some of them are several lines long, they would just be to clumsy to write as string literals.
Thanks once again for your help.

Yup, I understand. You can use something like:
Moon.component("foo-component", {
  render: function(m) {
    var store = this.get("store");
    return m('h1', { attrs: {} }, { shouldRender: false }, [m("#text", { shouldRender: true }, store.state.selectedTool)]);
  },
  store: store
});

In this version, every time the Monx state is updated, the render function will return a new instance of the virtual DOM (with the updated version of store.state.selectedTool.
Let me know if this works.

@kbrsh , no luck. I even tried renaming the store just in case the render function was having problems with scope.
 Moon.component("foo-component", {
        render: function(m) {
            var internalStore = this.get("store");
            M.util.log('store in foo : ', internalStore.state.projects);
            return m('h1', { attrs: {} }, { shouldRender: false }, [m("#text", { shouldRender: true }, internalStore.state.selectedProject)]);
        },
        store: store
    });

Using a template not created with HyperMoon works though.

This seems like a bug in Monx. I'll look into it.

Actually, I don't think this is a bug. I tried reproducing it in a jsFiddle and was successful. Can you provide a reproduction of the issue?
Are you making sure store is in the scope and is the result of initializing Monx with new Monx? (The new keyword is important here).

Yes I am, like this:
$(function() {
    // HyperMonn
    const m = Moon.util.m;

    // Init Moon plugins
    Moon.use(Monx);

    const store = new Monx({.....

Everything works except this component with the HyperMoon created template. The only thing that might have an influence is that I have at least 8 components in the same scope, all registered to the same store. I will try to create a fiddle as soon as possible.

Here is a simplified example of what I'm trying to do. Its not in a fiddle or Plunkr though
$(function() {
    // HyperMoon
    const m = Moon.util.m;

    // Init Moon plugins
    Moon.use(Monx);

    const store = new Monx({
        state: {
            tools: [],
            selectedTool: ['Spanner', 'Screwdriver']
        },
        actions: {
            updatetools: function(state, payload) {
                state.tools = payload;
            },
            selectTool: function(state, payload) {
                console.log(payload);

                state.selectedTool = payload;
            }
        }
    });

    // Project selector
    Moon.component("project-selector", {
        template: `<select m-on:change="switchTool">
            <option m-for="item in store.state.tools">{{item}}</option>
        </select>`,
        data: function() {
            return {
                tools: []
            }
        },
        methods: {
            switchTool: function(val) {
                var selectWidget = val.target;
                var t = selectWidget.options[selectWidget.selectedIndex].value;
                store.dispatch("selectTool", t);
            }
        },
        store: store
    });

    Moon.component("foo-component", {
        render: function(m) {
            var store = this.get("store");
            console.log(store.state.tools);
            console.log(store.state.selectedTool);
            return m('h1', { attrs: {} }, { shouldRender: false }, [m("#text", { shouldRender: true }, store.state.selectedTool)]);
        },
        store: store
    });

    const app = new Moon({
        el: "#app-moon"
    });

    // This happens after an AJAX call
    store.dispatch("updatetools", ['hammer', 'wrench']);
});

I will create a fiddle if the problem is still not clear. Thanks

Have you tried it with a render function with:
return m('h1', { attrs: {} }, { shouldRender: true }, [m("#text", { shouldRender: true }, store.state.selectedTool)]);

I changed the h1's shouldRender to true so that Moon doesn't skip it.

That was it, it works now. :)  I will test it with several other components again,


Custom CSS classes

We have a design with a lot of different carousels. Every slide can also have different styles.
This force us to:

wrap every carousel to define the general style
add an extra layer inside every slider to define a variation

Solution
Would be great to be possibile to customize (append ?) hooper's classes. Something like this:
<hooper cssClass="hooper-main">
<slider cssClass="hooper-slide-yellow">

You don't need to do that with Vue (unless you're dealing with functional components). You can just do this:
<hooper class="hooper-main">


Segmentation result quality is subpar

Hi, first thanks for the project and trying to bring background removal to linux, but for me the result is really bad and I don't know why.
For me it often looks like that:

Here is the debug output of the deepseg binary:
./deepseg -d -d -c /dev/video0 -v /dev/video4
deepseg v0.2.0
(c) 2021 by<EMAIL_ADDRESS>https://github.com/floe/deepbacksub
debug:  2
ccam:   /dev/video0
vcam:   /dev/video4
width:  640
height: 480
back:   images/background.png
threads:2
model:  models/segm_full_v679.tflite

vid_format->type                = 2
vid_format->fmt.pix.width       = 640
vid_format->fmt.pix.height      = 480
vid_format->fmt.pix.pixelformat =<PHONE_NUMBER>
vid_format->fmt.pix.sizeimage   = 614400
vid_format->fmt.pix.field       = 1
vid_format->fmt.pix.bytesperline= 1280
vid_format->fmt.pix.colorspace  = 8

tensor #0: 1
tensor #0: 144
tensor #0: 256
tensor #0: 3
tensor #244: 1
tensor #244: 144
tensor #244: 256
tensor #244: 2

And this is from v4l2-ctl --all -d /dev/video0
Driver name      : uvcvideo
Video input : 0 (Camera 1: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : Rec. 709
        YCbCr/HSV Encoding: ITU-R 601
        Quantization      : Default (maps to Limited Range)
        Flags             :

opencv_version
4.5.1

So looks ok for me
Any ideas where I should start debugging this?

Two things to try:

improve overall lighting for the scene (I've had similar issues with the Google Meet network)
try another network from models/ (e.g. -m models/deeplabv3_257_mv_gpu.tflite - will be slower, though)

Two things to try:

improve overall lighting for the scene (I've had similar issues with the Google Meet network)
try another network from models/ (e.g. -m models/deeplabv3_257_mv_gpu.tflite - will be slower, though)

I have a similar problem.  I seem to get the best results when using ./models/deeplabv3_257_mv_gpu.tflite, running at 640x480. I've tried throwing more threads at the problem and the process runs at 7-9 fps.  I've tried 2, 4, 8, 16, 32, 64, 128, and 256 threads. 16 threads seem to be where the performance taps out.
I have plenty of CPU available on this box. (48 cores plus hyperthreading).

I have a similar problem.  I seem to get the best results when using ./models/deeplabv3_257_mv_gpu.tflite, running at 640x480. I've tried throwing more threads at the problem and the process runs at 7-9 fps.  I've tried 2, 4, 8, 16, 32, 64, 128, and 256 threads. 16 threads seem to be where the performance taps out.
I have plenty of CPU available on this box. (48 cores plus hyperthreading).

Out of curiosity, did you try the body-pix model?

Out of curiosity, did you try the body-pix model?

I did.  https://1drv.ms/u/s!AgvTlkbvPHhyk5g-6XJxEaJJKUlmnA
The result loses several "blocks" of my face.

I did.  https://1drv.ms/u/s!AgvTlkbvPHhyk5g-6XJxEaJJKUlmnA
The result loses several "blocks" of my face.

AFAICT the Google Meet network was trained with "selfies", i.e. pictures from phone front cameras. Those have a very wide FOV and are portrait format. I've tried to approximate this by selecting a portrait-format ROI from the landscape-format webcam image, but that may not be enough. In your example image, your portrait is filling most of the picture width. Does the segm_xxx default model work better if you move away a bit?

AFAICT the Google Meet network was trained with "selfies", i.e. pictures from phone front cameras. Those have a very wide FOV and are portrait format. I've tried to approximate this by selecting a portrait-format ROI from the landscape-format webcam image, but that may not be enough. In your example image, your portrait is filling most of the picture width. Does the segm_xxx default model work better if you move away a bit?

I had my webcam set to zoom in a little for conference calls. I  zoomed out and stood back from the camera a bit.  The segmentation seems worse on both of the segm_xxx models.  I'm continuing to play with the different models and different settings to get a clearer result.

I had my webcam set to zoom in a little for conference calls. I  zoomed out and stood back from the camera a bit.  The segmentation seems worse on both of the segm_xxx models.  I'm continuing to play with the different models and different settings to get a clearer result.

On a different note: I noticed that depending on the hue/saturation and overall lighting of the image the detection even for the same net can range from "near perfect" to "not at all" …If you have the chance, try to calibrate the hue/saturation settings of your cam while running deepbacksub to check the result. In my case, configuring the webcame device in OBS Studio, while watchung deepbacksub process its image gave a quite good feel for which settings worked best.

On a different note: I noticed that depending on the hue/saturation and overall lighting of the image the detection even for the same net can range from "near perfect" to "not at all" …If you have the chance, try to calibrate the hue/saturation settings of your cam while running deepbacksub to check the result. In my case, configuring the webcame device in OBS Studio, while watchung deepbacksub process its image gave a quite good feel for which settings worked best.

I was able to get a passable result by playing with the settings as you've suggested!  I'll keep playing with the settings to see how much further I can improve!

I was able to get a passable result by playing with the settings as you've suggested!  I'll keep playing with the settings to see how much further I can improve!

The results have been pretty poor for me so far, but the best settings I've found to date have been:
$ v4l2-ctl -D
Driver Info:
	Driver name      : uvcvideo
	Card type        : Microsoft® LifeCam HD-3000: Mi
	Bus info         : usb-0000:00:14.0-5
	Driver version   : 5.8.18
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format

$ v4l2-ctl --list-ctrls
                     brightness 0x00980900 (int)    : min=30 max=255 step=1 default=133 value=150
                       contrast 0x00980901 (int)    : min=0 max=10 step=1 default=5 value=10
                     saturation 0x00980902 (int)    : min=0 max=200 step=1 default=83 value=100
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=0
      white_balance_temperature 0x0098091a (int)    : min=2800 max=10000 step=1 default=4500 value=4500 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=50 step=1 default=25 value=25
         backlight_compensation 0x0098091c (int)    : min=0 max=10 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=1 value=3
              exposure_absolute 0x009a0902 (int)    : min=5 max=20000 step=1 default=156 value=156 flags=inactive
                   pan_absolute 0x009a0908 (int)    : min=-201600 max=201600 step=3600 default=0 value=0
                  tilt_absolute 0x009a0909 (int)    : min=-201600 max=201600 step=3600 default=0 value=0
                  zoom_absolute 0x009a090d (int)    : min=0 max=10 step=1 default=0 value=0

The results have been pretty poor for me so far, but the best settings I've found to date have been:
$ v4l2-ctl -D
Driver Info:
	Driver name      : uvcvideo
	Card type        : Microsoft® LifeCam HD-3000: Mi
	Bus info         : usb-0000:00:14.0-5
	Driver version   : 5.8.18
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format

$ v4l2-ctl --list-ctrls
                     brightness 0x00980900 (int)    : min=30 max=255 step=1 default=133 value=150
                       contrast 0x00980901 (int)    : min=0 max=10 step=1 default=5 value=10
                     saturation 0x00980902 (int)    : min=0 max=200 step=1 default=83 value=100
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=0
      white_balance_temperature 0x0098091a (int)    : min=2800 max=10000 step=1 default=4500 value=4500 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=50 step=1 default=25 value=25
         backlight_compensation 0x0098091c (int)    : min=0 max=10 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=1 value=3
              exposure_absolute 0x009a0902 (int)    : min=5 max=20000 step=1 default=156 value=156 flags=inactive
                   pan_absolute 0x009a0908 (int)    : min=-201600 max=201600 step=3600 default=0 value=0
                  tilt_absolute 0x009a0909 (int)    : min=-201600 max=201600 step=3600 default=0 value=0
                  zoom_absolute 0x009a090d (int)    : min=0 max=10 step=1 default=0 value=0

The results seem to be extremely, extremely dependent on the specific color spaces, gradients, camera sensors, lighting, etc.

The results seem to be extremely, extremely dependent on the specific color spaces, gradients, camera sensors, lighting, etc.

Anyone who's got a bit of experience with reverse-engineering Javascript code might try to have a look at what the Google Meet web app does with the camera picture before passing it on to the TFlite model. Unfortunately, this is not at all my area...

Anyone who's got a bit of experience with reverse-engineering Javascript code might try to have a look at what the Google Meet web app does with the camera picture before passing it on to the TFlite model. Unfortunately, this is not at all my area...

Also, 5b4eacfaf93eedffe04634e616e6c1f24bc0a659 might help to improve this a bit, at least in cases where the segmentation works okay-ish but flickers.

Also, 5b4eacfaf93eedffe04634e616e6c1f24bc0a659 might help to improve this a bit, at least in cases where the segmentation works okay-ish but flickers.

How about building a test harness where we could submit video clips that are failing for us, so that you can actually reproduce the issues locally?

How about building a test harness where we could submit video clips that are failing for us, so that you can actually reproduce the issues locally?

Not a bad idea. You can actually attach files to Github issues by now, not sure if there is a size limit - maybe just give it a try?

Not a bad idea. You can actually attach files to Github issues by now, not sure if there is a size limit - maybe just give it a try?

Also, 5b4eacf might help to improve this a bit, at least in cases where the segmentation works okay-ish but flickers.

 With slow movements this is barely noticeable, but with fast movements this is quite visible.
Also with the WMA applied some minor "hole" stay within the masked image. the easiest way to reproduce this for me was to angel one arm upward, so the cam picks up both my face, upper body and the full arm+hand.

deepbacksub currently seems to start dropping the arm at some point.
(Image not of me, just to demonstrate …)

Also, 5b4eacf might help to improve this a bit, at least in cases where the segmentation works okay-ish but flickers.

 With slow movements this is barely noticeable, but with fast movements this is quite visible.
Also with the WMA applied some minor "hole" stay within the masked image. the easiest way to reproduce this for me was to angel one arm upward, so the cam picks up both my face, upper body and the full arm+hand.

deepbacksub currently seems to start dropping the arm at some point.
(Image not of me, just to demonstrate …)

I guess at some point we're hitting the limitations of the segmentation models. If you look at the description of the GoogleMeet model (https://ai.googleblog.com/2020/10/background-features-in-google-meet.html), they use various image-space tricks (soft edges etc.) to make it look less obvious if the segmentation falls short (e.g. I'm pretty sure that the animations for the blur don't capture the raised hands either, it's just not quite as noticeable).
It would be very much worth retraining these models with more diverse open data, but that's a pretty big project on its own...

I guess at some point we're hitting the limitations of the segmentation models. If you look at the description of the GoogleMeet model (https://ai.googleblog.com/2020/10/background-features-in-google-meet.html), they use various image-space tricks (soft edges etc.) to make it look less obvious if the segmentation falls short (e.g. I'm pretty sure that the animations for the blur don't capture the raised hands either, it's just not quite as noticeable).
It would be very much worth retraining these models with more diverse open data, but that's a pretty big project on its own...

@nylocx, @shannonlowder, @mikaelhg (and anyone else experiencing iffy segmentation): have you tried the latest selfiesegmentation_mlkit-256x256-2021_01_19-v1215.f16.tflite model? I find this works much better for my quite poor camera (Lenovo ThinkPad T430 built-in). We are also experimenting with pre and post processing the video/mask streams in the experimental branch.

Sorry it took a while, @phlash, but I finally had time to test it, and you're right, it's much MUCH better with the new model. There's slight headrest flicker, but otherwise this is now usable.

Maybe the model could be finetuned with an additional dataset containing images with chair headrests and other office equipment.

@mikaelhg in principle, yes - although you certainly need a beefy NVidia GPU to even begin with retraining, and you also need to label the data manually up front, so this is a pretty serious effort...

Anyway, IMO with the new model, the symptoms which led to the opening of this issue have been alleviated. I'll create a new issue for the model finetuning.

Thanks - closing for now. We'll probably set the selfiesegmentation model as new default.


Lightweight BIDS Layouts for all

Title
Lightweight BIDS Layouts for all
Leaders

Name
GitHub

Chris Markiewicz
@effigies

Alejandro de la Vega
@adelavega

Collaborators

Name
GitHub

Your name here...

Brainhack Global 2022 Event
Bay Area Brainhack
Project Description
PyBIDS' BIDSLayout currently uses a generic database (sqlite) to represent a BIDS dataset. For large datasets of >100 subjects, this can be time-prohibitive to construct.
ancpBIDS has written a custom domain-specific model based at least partially on the BIDS schema, which enables a BIDSLayout that is orders of magnitude faster than PyBIDS'.
During BrainHack Global, we will be working on porting PyBIDS to use ancpBIDS instead of sqlite to represent datasets in memory, and we would be glad to have your help.
Link to project repository/sources

PyBIDS: https://github.com/bids-standard/pybids
ancpBIDS: https://github.com/ANCPLabOldenburg/ancp-bids

Goals for Brainhack Global

ancpBIDS-backed BIDSLayout in PyBIDS with 100% backwards compatibility

We'll settle for not breaking any apps we test. So let's test some apps.
Good first issues

https://github.com/bids-standard/pybids/issues/831

We're aiming to do some additional prep and break this down into smaller issues

Communication channels
https://mattermost.brainhack.org/brainhack/channels/pybids
Skills
If you want to work on the refactor:

Python: moderate

Pandas: some experience
Pytest: fixtures should be a known concept

Testing:

git/GitHub: basic, able to commit changes and make pull requests against projects
Python:

Onboarding documentation
PyBIDS doesn't have contribution guidelines currently. The DIPY developer guidelines are a pretty useful for general best practices: https://dipy.org/documentation/1.5.0/devel/
To get up to speed on the problem, we have a couple PRs that are worth perusing:

https://github.com/bids-standard/pybids/pull/851
https://github.com/bids-standard/pybids/pull/863

What will participants learn?
This is going to be an exercise in refactoring and testing. You will learn:

To install multiple dependent projects in editable mode
To run unit tests and use the Python debug shell (pdb)
To delete hundreds of lines of code, even entire files, with no regrets

We will also need bug reports! Testing our proposal out on other projects will involve:

Installing the project that uses PyBIDS and patching in an unreleased version of PyBIDS

For projects that distribute with Docker, patching packages into the Docker container may be easier than setting up a development environment

Writing detailed, actionable bug reports that can help others quickly reproduce the issue and identify its cause

Data to use
Ideally we'll be working with a variety of BIDS datasets to ensure that we test as many components of BIDSLayout as possible, so feel free to bring your own data.
Another good source of datasets is https://openneuro.org
Number of collaborators
3
Credit to collaborators
PyBIDS contributors are credited in a Zenodo file and listed as authors on Zenodo releases.
Image
Leave this text if you don't have an image yet.
Type
coding_methods
Development status
2_releases_existing
Topic
reproducible_scientific_methods
Tools
BIDS
Programming language
containerization, documentation, Python
Modalities
not_applicable
Git skills
1_commit_push, 2_branches_PRs, 3_continuous_integration
Anything else?
No response
Things to do after the project is submitted and ready to review.

[ ] Add a comment below the main post of your issue saying: Hi @brainhackorg/project-monitors my project is ready!
[ ] Twitter-sized summary of your project pitch.

this looks good to me @effigies
if you give me a 👍🏾 I will, let CI take over from here.


update hackney dependency to 1.7

Possible fix for borken google OAuth2.
check #90 for more detail

Coverage remained the same at 94.472% when pulling 54536e9a4e65ce8c704c3830cd03e84c98bcbda4 on slashmili:update-hackney into f670b850e8d40a9e16fcb14c6e8ee031c972fd58 on scrogson:master.

Coverage remained the same at 94.472% when pulling 54536e9a4e65ce8c704c3830cd03e84c98bcbda4 on slashmili:update-hackney into f670b850e8d40a9e16fcb14c6e8ee031c972fd58 on scrogson:master.

Coverage remained the same at 94.472% when pulling 54536e9a4e65ce8c704c3830cd03e84c98bcbda4 on slashmili:update-hackney into f670b850e8d40a9e16fcb14c6e8ee031c972fd58 on scrogson:master.

Coverage remained the same at 94.472% when pulling 54536e9a4e65ce8c704c3830cd03e84c98bcbda4 on slashmili:update-hackney into f670b850e8d40a9e16fcb14c6e8ee031c972fd58 on scrogson:master.

Coverage remained the same at 94.472% when pulling 54536e9a4e65ce8c704c3830cd03e84c98bcbda4 on slashmili:update-hackney into f670b850e8d40a9e16fcb14c6e8ee031c972fd58 on scrogson:master.

Hey @slashmili thanks. I've been looking into this since you created #90. I see there was an issue reported for hackney which prompted reverting 1.6.6 and releasing 1.7.0 and then 1.7.1.
I was in the middle of bumping the dependency and getting ready for a new release and noticed the tests were failing because of the duplicate authorization, accept, and content-type headers.
I'm going to continue to look into this later today as I want to make sure that oauth2 is not ultimately responsible for this. It seems odd that it was working fine with 1.6.5 and not now.

Ok, so it looks to me that oauth2 has potentially been sending duplicate headers through hackney this whole time but it wasn't until recently that it was noticed due to hackney deduping them until recently.
👍

@scrogson Could you also publish the changes to hex?

@slashmili I published 0.9.1 on Friday.


Hidden text (progressive disclosure) example no longer has blue triangle in Firefox Nightly / Developer Edition

Hi,
If you use Firefox Developer Edition or Firefox Nightly the blue triangle no longer renders for progressive disclosure exampes using the <summary> and <details> tags:

I imagine this is due to native support for <summary> and <details> recently landing in Firefox dev builds. I believe it'll arrive in release Firefox in version 49 (mid September).
I don't know if this is a CSS, JS polyfil or Firefox issue, but there is a ticket on bugzilla tracking <summary> and <details> support if more info is required.
Thanks!

It’s a Firefox issue: by default they’re styling the new summary element with display: list-item to get a marker. We apply a style of display: inline-block to get the focus outline to wrap the text. I filed a bug a few days ago with Mozilla (https://bugzilla.mozilla.org/show_bug.cgi?id=1270163) but the temporary fix for us will be to remove the display: inline-block styling; focus state wrapping is less of an issue than the missing arrow.

Awesome, thanks.

I think a nice solution to this would be move the fix to revert Firefox's display back to list-item to a shame.scss file.
It makes it clear that it's code that we're not happy about and it can then be included by anyone who would like to fix this in Firefox Developer Edition or Firefox Nightly.

Done 😊


TypeError: Object is not defined

Description
I upgraded my react native version to 0.75.4 and so react navigations versions also to latest one, but got stuck in the loop saying object is not a function in react. Main page shown for some seconds and then got the below error.
Currently i am using these versions
| @react-navigation/native               | 7.0.14
| @react-navigation/bottom-tabs          | 7.2.0
| @react-navigation/drawer               | 7.1.1
| @react-navigation/stack                | 7.1.1
| @react-navigation/native-stack         | 7.2.0
| react-native-tab-view                  | 4.0.5
| react-native-screens                   | 4.0.0
| react-native-safe-area-context         | 3.3.2
| react-native-gesture-handler           | 2.21.2
| react-native-reanimated                | 3.0.2
| react-native-pager-view                | 6.4.1
| node                                   | 20.0.0
| react                                   | 18.3.1
| react-native                                   | 0.75.4
Steps to reproduce
yarn install and then run react-native run-android
React Native Version
0.75.4
Affected Platforms
Runtime - Android, Runtime - iOS
Output of npx react-native info
info Fetching system and libraries information...
System:
  OS: macOS 15.1
  CPU: (12) arm64 Apple M2 Pro
  Memory: 127.02 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.11.1
    path: /usr/local/bin/node
  Yarn:
    version: 3.6.4
    path: ~/Documents/QCInternalApps/qatarcharity_redesign/node_modules/.bin/yarn
  npm:
    version: 9.6.6
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.0
      - iOS 18.0
      - macOS 15.0
      - tvOS 18.0
      - visionOS 2.0
      - watchOS 11.0
  Android SDK:
    API Levels:
      - "23"
      - "27"
      - "28"
      - "29"
      - "30"
      - "31"
      - "32"
      - "33"
      - "34"
      - "35"
    Build Tools:
      - 28.0.3
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 32.0.0
      - 33.0.0
      - 33.0.1
      - 33.0.2
      - 34.0.0
      - 35.0.0
    System Images:
      - android-30 | Android TV Intel x86 Atom
      - android-33 | Google TV ARM 64 v8a
      - android-33 | Google APIs ARM 64 v8a
      - android-34 | Google TV ARM 64 v8a
      - android-35 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2022.2 AI-222.4459.24.2221.9971841
  Xcode:
    version: 16.0/16A242d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.7
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.75.4
    wanted: 0.75.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: false
  newArchEnabled: false

info React Native v0.76.5 is now available (your project is running on v0.75.4).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.76.5
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.75.4&to=0.76.5
info For more info, check out "https://reactnative.dev/docs/upgrading?os=macos".

Stacktrace or Logs
E  TypeError: Object is not a function

                                                                                This error is located at:
                                                                                in Main
                                                                                in RCTView
                                                                                in Unknown
                                                                                in SharedElementSceneView
                                                                                in StaticContainer
                                                                                in EnsureSingleNavigator
                                                                                in SceneView
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in CardSheet
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in PanGestureHandler
                                                                                in PanGestureHandler
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Card
                                                                                in CardContainer
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in InnerScreen
                                                                                in Unknown
                                                                                in MaybeScreen
                                                                                in RCTView
                                                                                in Unknown
                                                                                in ScreenContainer
                                                                                in MaybeScreenContainer
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Background
                                                                                in CardStack
                                                                                in RCTView
                                                                                in Unknown
                                                                                in SafeAreaProviderCompat
                                                                                in RNGestureHandlerRootView
                                                                                in GestureHandlerRootView
                                                                                in StackView
                                                                                in PreventRemoveProvider
                                                                                in NavigationContent
                                                                                in Unknown
                                                                                in SharedElementStackNavigator
                                                                                in WrapNavigator
                                                                                in StackCampaign
                                                                                in StaticContainer
                                                                                in EnsureSingleNavigator
                                                                                in SceneView
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Background
                                                                                in Screen
                                                                                in RNSScreen
                                                                                in Unknown
                                                                                in Suspender
                                                                                in Suspense
                                                                                in Freeze
                                                                                in DelayedFreeze
                                                                                in InnerScreen
                                                                                in Unknown
                                                                                in MaybeScreen
                                                                                in RNSScreenContainer
                                                                                in ScreenContainer
                                                                                in MaybeScreenContainer
                                                                                in RCTView
                                                                                in Unknown
                                                                                in SafeAreaProviderCompat
                                                                                in BottomTabView
                                                                                in PreventRemoveProvider
                                                                                in NavigationContent
                                                                                in Unknown
                                                                                in BottomTabNavigator
                                                                                in MyTabs
                                                                                in RCTView
                                                                                in Unknown
                                                                                in SharedElementSceneView
                                                                                in StaticContainer
                                                                                in EnsureSingleNavigator
                                                                                in SceneView
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in CardSheet
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in PanGestureHandler
                                                                                in PanGestureHandler
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Card
                                                                                in CardContainer
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Unknown
                                                                                in InnerScreen
                                                                                in Unknown
                                                                                in MaybeScreen
                                                                                in RCTView
                                                                                in Unknown
                                                                                in ScreenContainer
                                                                                in MaybeScreenContainer
                                                                                in RCTView
                                                                                in Unknown
                                                                                in Background
                                                                                in CardStack
                                                                                in RCTView
                                                                                in Unknown
                                                                                in SafeAreaProviderCompat
                                                                                in RNGestureHandlerRootView
                                                                                in GestureHandlerRootView
                                                                                in StackView
                                                                                in PreventRemoveProvider
                                                                                in NavigationContent
                                                                                in Unknown
                                                                                in SharedElementStackNavigator
                                                                                in WrapNavigator
                                                                                in Drawer
                                                                                in EnsureSingleNavigator
                                                                                in BaseNavigationContainer
                                                                                in ThemeProvider
                                                                                in NavigationContainerInner
                                                                                in RNCSafeAreaProvider
                                                                                in SafeAreaProvider
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in MenuProvider
                                                                                in Unknown
                                                                                in Unknown
                                                                                in ThemeProvider
                                                                                in ToastProvider
                                                                                in DesignProvider
                                                                                in ForceUiUpdateProvider
                                                                                in PersistGate
                                                                                in Provider
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RCTView
                                                                                in Unknown
                                                                                in ActionSheet
                                                                                in ActionSheetProvider
                                                                                in App
                                                                                in RNGestureHandlerRootView
                                                                                in GestureHandlerRootView
                                                                                in gestureHandlerRootHOC(App)
                                                                                in RCTView
                                                                                in Unknown
                                                                                in RootSiblingsWrapper
                                                                                in RCTView
                                                                                in Unknown
                                                                                in AppContainer, js engine: hermes, stack:
                                                                                safelyCallDestroy@1:432375
                                                                                commitHookEffectListUnmount@1:432922
                                                                                commitPassiveUnmountEffectsInsideOfDeletedTree_begin@1:442971
                                                                                recursivelyTraversePassiveUnmountEffects@1:442283
                                                                                commitPassiveUnmountOnFiber@1:442429
                                                                                flushPassiveEffects@1:449161
                                                                                flushSyncWorkAcrossRoots_impl@1:399218
                                                                                scheduleUpdateOnFiber@1:443634
                                                                                enqueueForceUpdate@1:458983
                                                                                anonymous@1:322037
                                                                                anonymous@1:3256778
                                                                                anonymous@1:517734
                                                                                __debouncedOnEnd@1:499965
                                                                                anonymous@1:500387
                                                                                __invokeCallback@1:113513
                                                                                anonymous@1:111660
                                                                                __guard@1:112536
                                                                                invokeCallbackAndReturnFlushedQueue@1:111622

Reproducer
https://react.dev/
Screenshots and Videos

Please provide a valid reproducer for this so that we can help around this.
You can use this template to provide a repro. Also it would be great if you narrow down a scope by including only those packages which are involved.


whcih jq

Could you provide more information?

it seems they are trying to use a plugin that requires jq and are stuck?


add molokai colorscheme

Maybe you need to  remove my config file "my_configs.vim"

Too many changes :D Please keep the PRs small and focused.


I get this error when I run cypress after installing this preprocessor

I have used this in the past and it worked fine.
But now I get this error from the library. I tried installing an older version but the same thing.
/node_modules/@cypress/browserify-preprocessor/node_modules/fs-extra/lib/remove/rimraf.js:305
      } catch {}
              ^

SyntaxError: Unexpected token {
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:606:28)
    at Object.Module._extensions..js (module.js:653:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/httpd/localhost/partners_cypress_tests/httpd/cypress-testing-11-cypress-scenario-testing-with-react-frontend-server/cypress-tests/node_modules/@cypress/browserify-preprocessor/node_modules/fs-extra/lib/remove/index.js:4:16)
    at Object.<anonymous> (/home/httpd/localhost/partners_cypress_tests/httpd/cypress-testing-11-cypress-scenario-testing-with-react-frontend-server/cypress-tests/node_modules/@cypress/browserify-preprocessor/node_modules/fs-extra/lib/remove/index.js:11:3)
    at Module._compile (module.js:642:30)
    at Object.Module._extensions..js (module.js:653:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/httpd/localhost/partners_cypress_tests/httpd/cypress-testing-11-cypress-scenario-testing-with-react-frontend-server/cypress-tests/node_modules/@cypress/browserify-preprocessor/node_modules/fs-extra/lib/empty/index.js:7:16)
    at Object.<anonymous> (/home/httpd/localhost/partners_cypress_tests/httpd/cypress-testing-11-cypress-scenario-testing-with-react-frontend-server/cypress-tests/node_modules/@cypress/browserify-preprocessor/node_modules/fs-extra/lib/empty/index.js:50:3)
    at Module._compile (module.js:642:30)
    at Object.Module._extensions..js (module.js:653:10)

it's an error coming from fs-extra as you can see, since they ar eusing the syntax for catch without specyfing a list of zero arguments. I'm guessing you are using an old (and possibly unsopported) nodejs version, could you doublecheck?

it's an error coming from fs-extra as you can see, since they ar eusing the syntax for catch without specyfing a list of zero arguments. I'm guessing you are using an old (and possibly unsopported) nodejs version, could you doublecheck?

I just checked and installed the latest node js release (14.12.0)  But I still get the same error

are you sure that's the one you use for running cypress though?
as googling  suggests, the problem should indeed go away with nodejs >=10
https://github.com/jprichardson/node-fs-extra/issues/771
https://github.com/jprichardson/node-fs-extra/pull/794

I've installed NVM. I uninstalled all other npm versions. I ran
nvm use 14.12.0

And I still get the same error

Solved. The problem was that I had an older version of cypress


Webcam example

Fixes #14
This feature :truck:

[x] adding webcam.js
[x] modify webcam.sh to use webcam.js
[x] updates README.md with modifications made

...and add yourself as contributor in package.json. :smile:

@IonicaBizau  check it out now.

:+1:

:ship: 2.0.0 :tada:


[SPARK-32435][PYTHON] Remove heapq3 port from Python 3

What changes were proposed in this pull request?
This PR removes the manual port of heapq3.py introduced from SPARK-3073. The main reason of this was to support Python 2.6 and 2.7 because Python 2's heapq.merge() doesn't not support key and reverse.
See

https://docs.python.org/2/library/heapq.html#heapq.merge in Python 2
https://docs.python.org/3.8/library/heapq.html#heapq.merge in Python 3

Since we dropped the Python 2 at SPARK-32138, we can remove this away.
Why are the changes needed?
To remove unnecessary codes. Also, we can leverage bug fixes made in Python 3.x at heapq.
Does this PR introduce any user-facing change?
No, dev-only.
How was this patch tested?
Existing tests should cover. I locally ran and verified:
./python/run-tests --python-executable=python3 --testname="pyspark.tests.test_shuffle"
./python/run-tests --python-executable=python3 --testname="pyspark.shuffle ExternalSorter"
./python/run-tests --python-executable=python3 --testname="pyspark.tests.test_rdd RDDTests.test_external_group_by_key"

@srowen, @JoshRosen @viirya can you take a look when you're available please?

Test build #126529 has started for PR 29229 at commit d15a556.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31148/
Test PASSed.

Test build #126529 has finished for PR 29229 at commit d15a556.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126529/
Test FAILed.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31156/
Test PASSed.

Test build #126537 has started for PR 29229 at commit d15a556.

Test build #126537 has finished for PR 29229 at commit d15a556.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126537/
Test FAILed.

Thank you guys. Let me take a look for the test failure tomorrow. Should be trivial to handle I believe.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31233/
Test PASSed.

Test build #126612 has started for PR 29229 at commit d6ac35d.

Test build #126612 has finished for PR 29229 at commit d6ac35d.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126612/
Test FAILed.

retest this please

Test build #126625 has started for PR 29229 at commit d6ac35d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31246/
Test PASSed.

Simply rebased to resolve conflicts.

Test build #126631 has started for PR 29229 at commit 007c2a7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31253/
Test PASSed.

Test build #126625 has finished for PR 29229 at commit d6ac35d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126625/
Test PASSed.

Merged to master.
Thanks @dongjoon-hyun and @viirya

Test build #126631 has finished for PR 29229 at commit 007c2a7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126631/
Test PASSed.


Automatically infer PodSets for well-known kinds

We can make the specification of a PodSet for Component optional for common cases when we can recognize the GVK of the component.  This would lower the barrier to entry for using AppWrappers.
Some low hanging fruit with PodSpecTemplates: Jobs, Deployments, StatefulSets, PyTorchJob, RayJobs/Clusters, JobSets.
We probably should do this in conjunction with an extension to the validating web hook that rejects an AppWrapper that contains any unknown GVKs that don't have explicit PodSets and appear to contain PodSpecTemplates within them.   A stricter alternative would be to also recognize common GVKs that don't create pods (Secrets, ConfigMaps, ServiceAccount, etc) and reject any unknown GVK that doesn't have an explicit PodSet (which may say 0 replicas for resources that don't create Pods).

The initial implementation was merged in #108. Keeping this issue open for now until we decide whether to support a mode where unknowns GVKs are rejected.

Going to close this and open a new issue for the strict mode.


Renamed method to delete cloud object store for consistency reasons

Renamed method introduced in https://github.com/ManageIQ/manageiq/commit/81072dbb020#diff-ddea025797d4c84804a87a85c2db89a8R4 for consistency reasons.
The change allows me to generalize the case statement introduced in https://github.com/ManageIQ/manageiq-ui-classic/pull/498/files/524fe8c31aecc5becabedc4db880987214aeb240#r106942728
Links

ManageIQ/manageiq#17143

cc @miha-plesko

I'm missing a link to the commit on UI here (where you use the new function name instead the old one). Other than that I think it should work out of the box, without modifying anything but this unit test on the Amazon repo: https://github.com/ManageIQ/manageiq-providers-amazon/blob/94cfa257daafab041074eb30f27794159736d3d8/spec/models/manageiq/providers/amazon/storage_manager/s3/stubbed_refresher_spec.rb#L217

@miha-plesko Thanks, corrected the links, all the PRs should be ready. :+1:

Getting errors while testing:
I, [2018-03-13T13:43:42.237421 #7613]  INFO -- :   Parameters: {"miq_grid_checks"=>"10000000000031", "pressed"=>"cloud_object_store_object_delete"}
F, [2018-03-13T13:43:42.261153 #7613] FATAL -- : Error caught: [SupportsFeatureMixin::UnknownFeatureError] Feature ':cloud_object_store_object_delete' is unknown to SupportsFeatureMixin.
/home/rblanco/devel/manageiq/app/models/mixins/supports_feature_mixin.rb:159:in `guard_queryable_feature'
/home/rblanco/devel/manageiq/app/models/mixins/supports_feature_mixin.rb:177:in `supports?'
/home/rblanco/devel/manageiq-ui-classic/app/controllers/application_controller/ci_processing.rb:325:in `block in check_supports_task'

Marking this as [WIP] for now.
@miq-bot add_label wip

@miq-bot remove_label wip


Active buttons (btn-sm) shine through popover

Using spectre.css 0.4.0: Active buttons shine through opened popovers.
Popover closed:

Popover opened:

Code of the button which shines through:
<button data-id="serviceDisableButton" class="btn btn-sm active">Off</button>

@lyind Is it possible to share your code with me? I can't make it happen here.

@picturepan2 While preparing a test-case for you I noticed the problem was a z-index set on the popover element in my own code. That defeated the "z-index: 400" assigned to popover-container in spectre.
I learned about the concept of "Stacking Contexts" which is related to the z-index property:
What No One Told You About Z-Index
Thank you for your time.


user_card: Fix user_card background for dark theme on device width < $md_min.

CZ) Discussion: https://chat.zulip.org/#narrow/stream/9-issues/topic/message-info-popover.20has.20opaque.20background
Previously, in the dark theme, the background-color: #18222f of the .popover class took precedence over the
background-color: hsla(0,0%,0%,.7) of the .message-info-popover and .user-info-popover classes. This commit fixes this issue by adding !important to the background-color property of .message-info-popover, .user-info-popover classes.

Fixes:

Screenshots and screen captures:

Before:

After:

Message Info popover:

User Info popover:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Thanks! Works for me in manual testing.

Merged, thanks @Ddharmani3!


cluster-sync, Remove prefetch images

At the past kubevirt prefetched images (cdi and the rest)
before few reasons:

Kubevirtci didn't prefetch them yet.
CDI had flaky tests / and flaky cluster-sync and it was in order
to reduce changes of races.

Prefetch images is not needed anymore, since
kubevirtci does it when provisioning (beside the CDI).
The images that are built during cluster-build,
will simply pulled by their pod according needs.
CDI version was upgraded since then, so the problems that existed,
don't appear anymore.
This PR makes cluster-sync faster by around 3 minutes.
Signed-off-by: Or Shoval<EMAIL_ADDRESS>None

/retest

Let me clarify one thing, prefetch was the fix for randomly timeouting storage tests not for the cluster-sync problems.

So far was ok
/test pull-kubevirt-e2e-k8s-1.20-sig-storage
/test pull-kubevirt-e2e-k8s-1.19-sig-storage
/test pull-kubevirt-e2e-k8s-1.21-sig-storage

What I find interesting is that we have pretty long sync phases, even if the images are already present. It looks a little bit to me like crictl is blindly overriding existing blobs which makes the sync process in general pretty slow.

What I find interesting is that we have pretty long sync phases, even if the images are already present. It looks a little bit to me like crictl is blindly overriding existing blobs which makes the sync process in general pretty slow.

I saw what you mean for the "static" images (quay, not the ones we build),
I am not sure if its really copy them from scratch, or it just looks much slower but it actually takes time mostly just for the dynamic images.
If i manually run docker pull quay.io/kubevirt/cdi-controller:v1.36.0 on the node, then its fine in the 2nd time..
Anyhow, wdyt about this change?
so far it seems safe.
Discussed with Bartosz and Igor offline, and we are running it several times to make sure.
Btw we can consider prefetch CDI images on kubevirtci if its legit to check what manifests kubevirt uses,
its nice to have and orthogonal to this PR, and if needed can be done on other PR.

The flake that appears
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/6228/pull-kubevirt-e2e-k8s-1.20-sig-storage/1425425180569636864
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/6228/pull-kubevirt-e2e-k8s-1.19-sig-storage/1425425180716437504
I saw in the past as well (hopefully this PR doesnt make it worse, but anyhow its not the solution to fetch all those images everytime for it)

/test pull-kubevirt-e2e-k8s-1.20-sig-storage
/test pull-kubevirt-e2e-k8s-1.19-sig-storage
/test pull-kubevirt-e2e-k8s-1.21-sig-storage

All those errors seen in the past as well
/test pull-kubevirt-e2e-k8s-1.20-sig-storage
/test pull-kubevirt-e2e-k8s-1.19-sig-storage
/test pull-kubevirt-e2e-k8s-1.21-sig-storage

https://search.ci.kubevirt.io/?search=pod+not+owned+by+qemu&maxAge=336h&context=1&type=bug%2Bjunit&name=&excludeName=&maxMatches=5&maxBytes=20971520&groupBy=job
This test was flaky before, but this PR might cause it to be little more flaky
what do you suggest @brybacki  ?
maybe the test can be improved ?

so kubevirtci can prefetch current cdi, that is good news, that should be enough, no need to repeat the process and waste time/bandwith for it in kubevirt

I'll try to look into the failing test later,

I'll try to look into the failing test later,

Thanks, but once we prefetch its pretty ortogonal to this PR imo right ?

/lgtm

Thanks
lets hold it until the PRs that prefetch the images on kubevirtci are merged and bumped
/hold

Note:
This PR depends on, which fetches the CDI images as part of the provisions:
kubevirt/kubevirtci#659
kubevirt/kubevirtci#660

PRs are merged, once kubevirtci will be bumped on kubevirt will release the hold

/hold cancel
the PRs were bumped on kubevirt
@enp0s3
can you take a look please?

/retest

/retest

/test pull-kubevirt-e2e-k8s-1.20-sig-storage

:+1 very helpful.


⚠ Digital Ocean - https://status.digitalocean.com/ has degraded performance

In beeabde, Digital Ocean - https://status.digitalocean.com/ (https://status.digitalocean.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 167 ms

Resolved: Digital Ocean - https://status.digitalocean.com/ performance has improved in 02f468c.


Add /identify endpoint to the .NET weblog and activate these tests

@robertpi it's failing on build step

@robertpi do we miss something for this PR ?


<EMAIL_ADDRESS>

Should be the rule
"soef": "^0.4.6",
be
"soef": ">=0.4.6",
?

Should be: "^0.4.6" so that all versions lower than 0.5.0 will be taken (0.4.x)


At certain widths character head breaks out of the gradient, mainstat gets chopped off and misaligned to background

urgh this layout will never work for the full range of widths

Will be addressed with work on #327


GC remove current running image related task data

Bug report:
GC remove current running image associated task data
Expected behavior:
When triggering GC, retain tasks data associated with running images.
How to reproduce it:
Set up a local cluster using kind and configured the /var/lib/dragonfly data directory in dfget.yaml to be 50M in size. I started a custom BusyBox pod, and observed task data in the directory. Then, I pulled multiple images, causing the directory size to exceed 50M, which triggered GC. After the GC, I found that the /var/lib/dragonfly directory was emptied. Looking at the TryGC code block, the task.Done is cleaned up. The data for the BusyBox was marked as done after the pull was completed. I hope that tasks for images that are still running are not cleaned up.
Environment:

Dragonfly version: v2.1.0
OS: 22.04.1-Ubuntu
Kernel (e.g. uname -a):  Linux kind-worker 6.8.0-47-generic 47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct  2 16:16:55 UTC 2 x86_64 GNU/Linux
Others:

@ppancake Please use English, thanks.

thanks, i will try it later.


taxon rule for GO:0022601 menstrual cycle phase

GO:0022601 menstrual cycle phase
Definition: The progression of physiological phases, occurring in the endometrium during the menstrual cycle that recur at regular intervals during the reproductive years. The menstrual cycle is an ovulation cycle where the endometrium is shed if pregnancy does not occur.
Wikipedia indicates that menstrual cycles are limited to primates, elephant shrew and some bats.
I would like to add the following taxon constraints for this term:
GO:0022601 menstrual cycle phase	only_in_taxon	9443	primates
GO:0022601 menstrual cycle phase	only_in_taxon	28734	elephants shrews
GO:0022601 menstrual cycle phase	only_in_taxon	9397	Chiroptera
Thanks.
Reported by: fmccarthy
Original Ticket: geneontology/ontology-requests/10873

Looking at the ontology, it looks like the estrous cycle and menstrual cycle already have taxon restrictions. To make an only_in relation, we need to propagate up to the common parent. Only in means that is it in nothing else. So only in bats means that it is not in humans. From annotations, it looks like fish, flies and amphibians have all used the term. For now I will leave the taxon restrictions as is. If we need 'never in' tags for specific children of the current terms, please open a new ticket.


Contributor guide for naming and conventions

Want to derive consistency around scalers, but also help new contributors follow the right patterns so we don't have to break / change in the future.  We should document the naming conventions and patterns followed.

@dimberman Care to pick this up?

Hi @tomkerkhove apologies didn't see this! Would be glad to pick this up starting next week :)

Great, thanks!


Death of the library

Hello dear developpers,
I'm still quite new in the world of git, so many of the questions I ask might be stupid.
As you state in the readme, the library doesn't work anymore due to the deprecation of some API on google side.
I'm sorry to take your time like that, but I would like to take this occasion to understand a bit better what happened here :  I couldn't find any reference to the Google API going down this last month.
I guess my question is two-fold :

what happened exactly : which API is not usable anymore?  (searching for Free Google API on google does yield me a lot of unrelevant results)
Is there hope of developping a new version of this API that uses another path to get Google search results ?  Seeing your tone in the forum it does not seem so and I would like to understand better why : Doesn't Google still provide a way to access his search results via API ? Is Google Custom Search not able to provide the same service ? Is this a licencing issue?

3rd bonus question  - Is there another way that would have been more appropriate for me to ask this question on github ?  I didn't see any PM possibilities, or anything that would look like a forum besides this page.
i'm not sure I have a point here, I just would like to understand why you abandonned this project, and if I could hope to code one by myself if I wanted to keep using it.  Thanks for your attention and for the time you could
By the way, I used your library to search any term restricted to stackoverflow.com, and return me the lines between   tags, in order to be able to quickly get their answers directly in my python console.
Thanks for your time

Hi magemax,
googlesearch was using this api, which used to allow requests to https://www.googleapis.com/customsearch/v1 without an API key (think of the key as an account login). It returned search results for a given query. googlesearch was using this. They were limiting the rate of queries (to something like 30 queries per twenty minutes or so) coming from the same IP.
They have recently stopped this behavior, and now all queries need to qo through the regular Custom Search API with an API key. It's pretty much the same API, they just need a login. And custom search is still free, but instead of limiting the use rate based on the IP that sends the requests, they need your API key.
For one API key, the rate of free use is 100 search queries per day. Any additional requests cost $5 per 1000 queries, up to 10K per day. As you can see, googlesearchcannot use one API key to send each user's requests to the API, the limit would be reached quickly every day. It could of course be modified for the new format and ask each user to get an API key from google and use that. I do not have the time to implement that right now; I would be happy to merge a pull request if someone else would want to code and test it.
In any case, it will not be as user friendly as before, since it requires a user to sign up for Google's Custom Search Engine and obtain an API key (it's not that hard, but a big energy barrier for the uninitiated), and the free limit is very low for most applications.
I hope this answers your questions.


[Templates] can we chose between appsettings and parameters?

Describe the Bug with repro steps
Instead of getting all env-specific values as params, is it possible to support appsettings as well?
one reason (there are many) for this is, how do we refer ex KeyVault here without avoiding
params.json:
"queueName_secret": {
    "type": "securestring",
    "value": "@appsetting('secretQueuename')"
},

maybe this is possible or solvable in other ways - if so please let me know
What type of Logic App Is this happening in?
Standard (Portal)
Which operating system are you using?
Windows
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
No response
Browser
chrome
Additional context
No response

You can reference app settings directly in logic app using @appsetting('appsettingName')
See here: https://learn.microsoft.com/en-us/azure/logic-apps/create-parameters-workflows?tabs=consumption#parameters-for-consumption-versus-standard-logic-app-workflows

@divyaswarnkar - It seems the customer here want capability to choose the appsetting in the parameters tab while authoring.
@zzznz27 - Can you confirm that is what you want or you want a toggle in each parameter that when you put the value it goes in appsetting instead of parameters.json?
FOr now you can always put the expression and go ahead with creation given you already have the appsetting saved.

@preetriti1  no, i want to use @appsettings instead of params ideally (not defaulting to params)


Adding version to Manifest for https://github.com/garbled1/homeassist…

Added version to the Manifest to address https://github.com/garbled1/homeassistant_ecowitt/issues/43 and avoid this integration getting broken.

Closed as I realized this was a dupe.


git remote update --progress gives error: unknown option `progress'

On using ghbackup i get the following error, which i can reproduce on switching to the directory and issuing the command manually:
github/Strubbl/guayadeque.git[BARE:master]$ LANG=en git remote update --progress
error: unknown option `progress'
usage: git remote update [<options>] [<group> | <remote>]...

    -p, --prune           prune remotes after fetching
github/Strubbl/guayadeque.git[BARE:master]$ git version
git version 2.14.2

Is there any requirement i am missing? Wrong git version?

Seems like I added the --progress flag wrongly also to remote update. It is only required for clone since there we otherwise don't get the right output.
Could you try out https://github.com/qvl/ghbackup/releases/tag/v1.11.2 @Strubbl?

That was very fast. Thanks a lot. I cannot reproduce the issue with that version anymore.


feat: added progress indicators to Block component

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Partially addresses #17869 by adding progress indicators to the Curriculum.
Manually tested page:
https://www.dropbox.com/s/1bo424pwqwnlb5e/Screenshot 2018-10-21 15.44.30.png?dl=0

will do!
sidenote - oh whoops. fwiw, my work account must lock down the screenshots because an account isn't normally required. will drag and drop in the future anyway, especially is there auto-rendering

oh man. looks like i don't understand git, yet. i'll try to figure this out

hmm, looks like I had two branches for this, and this PR has an incomplete set of changes. Closing this pr, and made a new here (that also doesn't have hundreds of other commits XD)


C++ filter API cleanup

Includes #8795.
Specific changes:

Add ChannelData::Init() method.
Pass grpc_channel_element_args and grpc_call_element_args to the respective Init() functions.
Pass exec_ctx into Init() functions.
Drop custom peer handling.  Individual filters can do this as needed.
Pass ChannelData as to CallData as non-const, since it may need to modify channel data.
Pass ChannelData to CallData::Init() instead of to CallData ctor.  In general, filters should not need to override the ctors.

Your comments are actually on the part of the code that was already merged with #8795, so I'll open a new PR with any additional changes.

The check_copyright failures were caused by another PR and have since been fixed in master.
The TSAN C++ failure looks like a Jenkins issue.


Block face account

Sometime I was blocked face account because it detect I logged in other location. I use openshift server. Can you fix it? Or do we have any solution for that problem?

Just do the verification process and it should be fine.

I know. But my user don't like that. Sometimes they can't verify because they have alot of friends and they don't remember all of their friends.

We can't do anything about that, all we can do is automate some things. So if FB asks you to confirm it was you who logged in from that location, we can automate that (with the forceLogin option coming in v1.0). But recognizing your friends for you... nope.

Sometimes they can't verify because they have alot of friends and they don't remember all of their friends.

This is kind of the design of facebook we're talking about here, I don't think it makes sense to try and solve this problem here.  Sorry :)
Like @bsansouci said, you should definitely try out the forceLogin option.


Render markdown in timeline

At the moment links and stuff don't work due to limitations on the markdown renderer, but it can still make text look pretty.
Partially solves #83 (among others)

Could you rebase from main? the CI Test build should then pass and I can merge.

This is already present in 0.7.0.


Follow symlinks when importing photos

Hi @xemle,
I was wondering if it would be possible to make home-gallery follow symlinks when importing photos from sources. I saw this setting here where it's disabled:
https://github.com/xemle/home-gallery/blob/b78fce7152e99498b7137411b079d0a8757d8ac4/packages/cli/src/tasks/import-sources.js#L197
TL;DR: My photo archive is setup in a way that each photo file is a symlink to a central storage (because I use https://git-annex.branchable.com/ for redundant backups which uses symlinks).
Or if you don't want to make it a default behavior, maybe control by a yaml setting?
Thanks again @xemle for this great piece of software. I has been working flawlessly for me!

Hi @jimenezrick
thank you for your input. In #20 this topic was mentioned earlier. Your mentioned code reference is just for the file watcher to trigger the import with a file index update. The real change needs to be done in https://github.com/xemle/home-gallery/blob/master/packages/index/src/walker.js#L25 as stated in #20. Up to now I did not find the time to implement that.
If possible raise a PR. I would suggest to add a boolean source option followSymlink which than influence the file walker behavior and the file watcher.
According to your GitHub profile it seems that you might be able to implement that by your own. What do you think as little weekend challenge? Would that be fun or a burden?

TL;DR: My photo archive is setup in a way that each photo file is a symlink to a central storage (because I use https://git-annex.branchable.com/ for redundant backups which uses symlinks).

OK. Thank your for your context. That helps to understand your need.
BTW: Do you know borgbackup? I am using it and like it by its awesome feature list.

Thanks again @xemle for this great piece of software. I has been working flawlessly for me!

Thank you for your flowers. Happy that HomeGallery helps you.

Yeah, no worries, I had a quick look at the code.
From your comments in https://github.com/xemle/home-gallery/issues/20 I agree is a simple as switching from lstat() to stat(). Personally I wouldn't add a config setting for this, on Posix platforms (e.g. Linux), you typically want to follow symlinks no matter what, unless there is a reason not to. I saw in other parts of the codebase stat() is always use instead. The most important check here https://github.com/xemle/home-gallery/blob/master/packages/database/src/build.js#L24 will works just fine with stat() (after following the symlink we can filter regular files instead of directories).
Raising a tiny PR for this if you are ok with this.

BTW: Do you know borgbackup? I am using it and like it by its awesome feature list.
yeah, had a look at borg in the past. I just chose git-annex because it's based on git (and i use git for pretty much everything). But the nice thing is that it uses git for the metadata and it puts large files on the side (hence it uses symlinks heavily to keep your folder intact even if the files are stored in a different place). It also supports pretty flexible replication mechanism across disks/S3.

Raising a tiny PR for this if you are ok with this.

Thank you for the PR. I hope you are right with:

you typically want to follow symlinks no matter what

I am a bit uncertain. But let's try out. I do not use symlinks so it does not affect me and it helps you. Good job!

BTW: Do you know borgbackup? I am using it and like it by its awesome feature list.

Yeah, had a look at borg in the past. I just chose git-annex because it's based on git (and i use git for pretty much everything). But the nice thing is that it uses git for the metadata and it puts large files on the side (hence it uses symlinks heavily to keep your folders structure intact even if the files are stored in a different place). It also supports pretty flexible replication mechanism across disks/S3.

Thank you for your details and clarification. If you like git, you might also like some internals of HomeGallery. The file indexer is inspired by git and also the offline database api /api/database/tree/root.json.

@jimenezrick Do you need a release straight away or can you wait some days until I add some fixes regarding #106 ?

BTW what is about the change of

https://github.com/xemle/home-gallery/blob/b78fce7152e99498b7137411b079d0a8757d8ac4/packages/cli/src/tasks/import-sources.js#L197

I guess we need to change the value here too.

@jimenezrick Do you need a release straight away or can you wait some days until I add some fixes regarding https://github.com/xemle/home-gallery/issues/106 ?

I can wait, thanks @xemle !

BTW what is about the change of

https://github.com/xemle/home-gallery/blob/b78fce7152e99498b7137411b079d0a8757d8ac4/packages/cli/src/tasks/import-sources.js#L197

I guess we need to change the value here too.

Yeah, thanks! I don't use (yet) watched sources, hence I didn't notice it. I'm using mostly static galleries at the moment, but I've been playing with many other features.
https://github.com/xemle/home-gallery/pull/108

I've merged #108 please report if this solves your problem

Working as expected! (did a build from sources). I will wait for a future release including all the latest fixes. Many thanks and Merry Christmas!

@jimenezrick Thank you very much for your contribution.
v1.14.5 is released with our fixes.


link updates for verifier contract

This PR addresses two issues with link pointers on the dev docs page for the verifier contract:

The link on line 43 was pointing to the verifier on main in risc0-ethereum, but the verbiage there seems to be discussing the deployed verifier contract. To address this, this PR replaces the pointer to github with a pointer to etherscan.
The entry in the table indicates that the the verifier on main in risc0-ethereum is the one deployed at 0x83C2e9CD64B2A16D3908E94C7654f3864212E2F8. This means that if main changes, our docs will become misleading. To address this, this PR updates the link to point to a specific commit rather than main.

Thanks for the changes, @pdg744!


Settings API tests are failing in 24.1 nightly

Mostly are due to 24.1 API change - https://github.com/ansys/pyfluent/actions/runs/5583173044/jobs/10203207558#step:22:1546
FAILED tests/test_meshingmode/test_meshing_launch.py::test_launch_pure_meshing - grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.UNKNOWN
	details = "Error Occurred!"
	debug_error_string = "UNKNOWN:Error received from peer  {created_time:"2023-07-18T06:41:35.310594294+00:00", grpc_status:2, grpc_message:"Error Occurred!"}"
>
FAILED tests/test_solvermode/test_boundaries.py::test_boundaries_elbow - AssertionError: assert {'frame_of_re...30288e0>, ...} == {'frame_of_re...d-inlet', ...}
  Omitting 7 identical items, use -vv to show
  Differing items:
  {'turb_hydraulic_diam': {'constant': 1, 'expression': '4 [in]'}} != {'turb_hydraulic_diam': '4 [in]'}
  Right contains 1 more item:
  {'name': 'cold-inlet'}
  Full diff:
    {
     'frame_of_reference': 'Absolute',
  +  'initial_gauge_pressure': <util.solver.SettingsValDict object at 0x7f190302b640>,
  -  'initial_gauge_pressure': {'option': 'value',
  -                             'value': 0},
     'ke_spec': 'Intensity and Hydraulic Diameter',
  +  't': <util.solver.SettingsValDict object at 0x7f19030288e0>,
  -  'name': 'cold-inlet',
  -  't': {'option': 'value',
  -        'value': 293.15},
  -  'turb_hydraulic_diam': '4 [in]',
  ?                          ^^^^ ^
  +  'turb_hydraulic_diam': {'constant': 1,
  ?                         + ^^ ^^^^^ +++
  +                          'expression': '4 [in]'},
     'turb_intensity': 0.05,
     'velocity_spec': 'Magnitude, Normal to Boundary',
  +  'vmag': <util.solver.SettingsValDict object at 0x7f190302b6a0>,
  -  'vmag': {'option': 'value',
  -           'value': 0.4},
    }
FAILED tests/test_solvermode/test_controls.py::test_controls - AttributeError: gravity is not an allowed Settings objects name.
FAILED tests/test_solvermode/test_initialization.py::test_initialize - AttributeError: gravity is not an allowed Settings objects name.
FAILED tests/test_solvermode/test_initialization.py::test_fmg_initialize - AttributeError: 'fmg_initialize' object has no attribute 'allowed_values'
FAILED tests/test_solvermode/test_methods.py::test_methods - AttributeError: gravity is not an allowed Settings objects name.
FAILED tests/test_solvermode/test_models.py::test_solver_models - AttributeError: wall_function is not an allowed Settings objects name.
The most similar names are: wall_treatment.
FAILED tests/test_solvermode/test_models.py::test_disk_2d_models - AttributeError: wall_function is not an allowed Settings objects name.

Hi @cj-hodgson there are some test updates needed due to settings API changes between 23R2 and 24R1.

Reusing this defect to track new failure due to settings API change: https://github.com/ansys/pyfluent/actions/runs/5758267341/job/15610548299#step:22:1164
@millerj97 @cj-hodgson