text:
Lightmap Texture Support

Hey @willeastcott  I am trying to add lightmap support to gltf.
Is there some SPECIAL format lightmap png needs to be in ... I am trying to use a lightmap generated from Unity.
Here is Lightmap Texture:

I am trying to load in gltf like so:
        if (data.hasOwnProperty('commonConstant') && data.commonConstant.hasOwnProperty('lightmapTexture')) {
            var lightmapTexture = data.commonConstant.lightmapTexture;
            material.lightMap = resources.textures[lightmapTexture.index];
            //material.lightMapChannel = 'rgb';
            if (lightmapTexture.hasOwnProperty('texCoord')) {
                material.lightMapUv = lightmapTexture.texCoord;
            } else {
                material.lightMapUv = 1;
            }
            if (lightmapTexture.hasOwnProperty('extensions') && lightmapTexture.extensions.hasOwnProperty('KHR_texture_transform')) {
                var lightmapTransformData = lightmapTexture.extensions.KHR_texture_transform;
                if (lightmapTransformData.hasOwnProperty('scale')) {
                    material.lightMapTiling = new pc.Vec2(lightmapTransformData.scale[0], lightmapTransformData.scale[1]);
                }
                if (lightmapTransformData.hasOwnProperty('offset')) {
                    material.lightMapOffset = new pc.Vec2(lightmapTransformData.offset[0], lightmapTransformData.offset[1]);
                }
            }
        }

And the GLTF Material Snippet:
    {
      "pbrMetallicRoughness": {
        "metallicFactor": 0.0,
        "roughnessFactor": 0.5
      },
      "commonConstant": {
        "lightmapTexture": {
          "index": 1,
          "texCoord": 1,
          "extensions": {
            "KHR_texture_transform": {
              "offset": [
                0.239268735,
                0.7841906
              ],
              "scale": [
                0.238089427,
                0.238089427
              ],
              "texCoord": 1
            }
          }
        },
        "extras": {
          "metadata": {
            "hdrpacking": "none"
          }
        }
      },
      "name": "Default-Material.Instance.00d31c29005a4668a044cb688552a494",
      "extras": {
        "metadata": {
          "glossyreflections": true,
          "specularhighlights": true
        }
      }
    }

But it does not look right... It should look like this:

But instead it looks like this:

I dont see any of the shadows baked into the lightmap texture... What am i doing wrong with lightmaps in PlayCanvas ???

Unity and WebGL may have different conventions regarding the orientation of the texture. Can you try flipping the texture vertically?

I tried Flipping Texture and ALSO GLTF flips the by -OFFSET Y... So that would take care of FLIPPING or NOT FLIPPING the texture but flip offset Y instead...
But both ways DIDNT HELP... The ground should be showing the shadow map...
I noticed in BabylonJS for my to use the lightmap.. we have to set a property on the material.useLightmapAsShadowMap = true...
Do you know of any type of equivalent property for PlayCanvas to use lightmap ???
And to clearify... IS there anything special about the LightmapTexture that is used inPlayCanvas or should the texture shown above work in PlayCanvas ???

Yo @willeastcott
It seems that SOME coloring from lightmap is there, but for some reason NONE of the BAKED shadows from the Lightmap Show up in PlayCanvas...
Shouldn't those BAKED shadows from lightmap show up ???

Or if PlayCanvas can use Lightmaps like that... For Global Illumination as well as BAKED SHADOWS ???

If you can share this scene somewhere, I'll debug. Hard to say what's wrong based on these pics.

Yo @guycalledfrank
Here is what the scene should look like:

Here is what it looks like in my playcanvas project:

Here is a zip file with the Test Project you can pick apart and debug... The textures are under the scene/assets folder
TestScene.zip
But just to clarify... WE SHOULD BE SEEING THE BAKED SHADOWS RIGHT???
I mean thats what the Lightmap Is Supposed to show... All the STUFF baked into lightmap texture.
If so... you can see the TWO BOX Shape shadows on the actual lightmap texture, they just dont showup on the GROUND PLANE
Thanks sooooo much for taking a look at :)

OK, so:

You have complete direct lighting in your lightmap. But you also create a dynamic directional light that shines brightly on top of it. Cubes have castShadows disabled, so you get realtime shadowless directional lighting.
pc.app.root.findByName("Directional Light").enabled = false

Your meshes don't have secondary UV channel. By default PlayCanvas assumes lightmaps using UV1, not UV0. Therefore lightmap is simply disabled. You can set lightMapUv = 0 to use UV0.

pc.app.root.findByName("Plane").model.meshInstances[0].material.lightMapUv = 0;
pc.app.root.findByName("Plane").model.meshInstances[0].material.update();

Lightmap shadows should now appear on the plane, but their coordinates are wrong. It appears that your offset/tiling values are not correct.
pc.app.root.findByName("Plane").model.meshInstances[0].material.lightMapOffset = new pc.Vec2(0,1-0.78125)
This value seems to work.

Yo @guycalledfrank ... Thanks SOOOOOO much for the info. I will check into each of these issues.
But first... I guess PlayCanvas uses lightmaps a bit different than BabylonJS. First off... Uing the same DIRECT/INDIRECT lighting options from Unity and the same lightmap... BabylonJS you still use runtime / realtime lights... Especially for cast realtim shadows that might be in the scene ALONG WITH THE BAKED SHADOWS from the lightmap... I thnk the material.useLightmapAsShadowMap might have something to do with this feature...
But you are saying in PlayCanvas if you are using Lightmaps (Direct) you SHOULD NOT use realtime lights as well... Well if that is so how would have BOTH realtime shadows on a few items that move but use BAKED lightmaps on all other object that dont move.

Yo @guycalledfrank ...
you said this:
Lightmap shadows should now appear on the plane, but their coordinates are wrong. It appears that your offset/tiling values are not correct.
pc.app.root.findByName("Plane").model.meshInstances[0].material.lightMapOffset = new pc.Vec2(0,1-0.78125);
pc.app.root.findByName("Plane").model.meshInstances[0].material.update();
So what are you just using 1 minus whatever i had for offset (0.78125) ???

Yo @guycalledfrank ... Thanks Again...
Hey man do you think you could OUTLINE that shader code you were talking about to try and get some kind of mixed baked and real time light solution...
Or Better Yet... You wanna work with on my WebGL Canvas Tools Project ???
I can send you the Unity Project and make a Video for you exlplain everything... then we could work together and get this thing finish and made available for the PlayCanvas Community :)

Or Better Yet... You wanna work with on my WebGL Canvas Tools Project ???
No, sorry, I'm busy doing other cool stuff :)

As for outlining, how about baking lightmaps in the shadowmask mode? You should get 2 textures, indirect + static shadows. It's a good starting point for fast high quality mixing. Set the indirect lightmap as usual, then pass the mask as a custom parameter (e.g. material.setParameter).
In PlayCanvas you can also override different chunks of the standard shader with your custom code. I saw you were using VSM16 shadow mode. Here is some of its code: https://github.com/playcanvas/engine/blob/master/src/graphics/program-lib/chunks/shadowEVSM.frag
You can copy it and let it read the shadowmask in the VSM function, multiply it by existing calculateEVSM() call and return. This way you'll get static shadowmask mixed with dynamic VSM shadows.
The overriding syntax is simple:
material.chunks.shadowEVSMPS = yourVersionOfThisCode;

Yo @guycalledfrank ... Dude.. You ARE DA SHIT :)
That makes perfect sense... I was wondering what you do with shadowMask texture... I will look into that as a solution... Thanks again Bro :)

Hey @guycalledfrank ... How did you even come up with the 1 - 0.78125 for the offset Y.
Unity and Babylon js export use the exact offsetX and offsetY from the Baked Light Map Settings.
In unity the offset for X and Y for the "Plane" lightmap texture is ZERO. Why would PlayCanvas use different values lightmap texture offset.
And the 0.78125 is the actual scaling of the lightmap in the texture... The offset should be ZERO... Why would that number have anything to do with offset.
And @willeastcott maybe you can chime in here as well...
I just dont uderstand the rtyme or reason of the OFFSET X and Y for PlayCanvas Lightmaps... Can you help me understand whats going on there.
i got the lightmaps and shadowmask exporting out of Unity i just need a bit more help getting PlayCanvas to use them right... I really appreciate all your help :)

Just looking at your lightmap, it looks like the plane should have an offset:

Perhaps the texture actually needs to be flipped AND UVs need to be flipped vertically to avoid modifying the offset.

I actually generate uvs2 by coping uvs1...
So your saying I could just flip those copied uvs2 and Flip vertically the lightmap textures and then the offset values would then match... so 0,0 would really be 0,0 and not have modify...
Also I noticed the Sketchfab exporter acutually use -offset.y for light maps.
It’s weird... some Unity GLTF exporter Do not flip uvs but flip the textures ... the original Khronos flips the uv coordinated and does not flip the texture... so I think I am coping flipped uvs1 over to uvs2... I will try reverse that for lightmap uvs2

Got Damm @guycalledfrank ... Again... YOU ARE DA SHIT :)
That was it exactly... I was Flipping the UV1 and NOT Flipping Texture (thats how Khronos UnityGLTF Export Process works)...
So i DONT FLIP UV2... But instead Flip Texture (For Lightmaps Only)... And its freaking sweet...
Global Illumination Baked and Shadows Baked... No Directional Light in scene at ALL...

Thanks again... Soooooo Much...
P.S.
I am going to setup all the Shader Chuck stuff in my playcanvas-gltf.js and i now ALSO export the ShadowMask texture. Can you please (When you get a chance) show me how or what i need to do in the shader chunk to handle Mixed Lights ... Ideally i would to handle BOTH subtractive and shadowmask mixed lights... But at least try get shader mask for mixed lights first....
Thanks Again Man... I mean it... You are DA SHIT :)

Seems solved so I'm gonna close. 😄

Hey @willeastcoot you want me to PR lightmap support. It is based off KHR_common_materials ... PBR create constant lightmap texture

I don't see that extension here.

Maybe it has not gone public yet... But WE DO use in in UnityGLTF to export lightmaps
Per: stevenvergenz commented on Jun 2, 2017
I've added a tentative lightmap implementation to the commonConstant material in UnityGLTF, since we use pre-computed lighting more routinely than PBR. What it looks like:
{
"alphaMode" : "MASK",
"doubleSided" : true,
"emissiveFactor" : [         0.0,         1.0,         0.0     ],
"emissiveTexture" : {         "index" : 1     },
"name" : "Material",
"commonConstant" : {
"lightmapTexture": {
"index": 0,
"texCoord": 1
}
} }

That sounds great... where do we start

Hey @willeastcott or @guycalledfrank ... Can you please help me FIX the lightmap vs real time light precedence issue.
It seems the REALTIME lights OVERWRITE or SHINE ON TOP of the the lightmap colors. For both global illumination and baked shadows. It would seem that the lightmap should take precedence over realtime lights... Or BLEND in those pixels AFTER the realtime light... or something so the that the realtime lights does NOT negate the global illumination and baked lights by shining OVER TOP.
There has got to be some kind of shader chunk (like i did for specular glossiness) to ALTER the rendering so the the lightmaps take precedence... If one of you can PLEASE help me figure that part out i can release my first beta of the WebGL Canvas Tools (Unity Based GLTF Scene Exporter with Extra Metadata) for the community.
I know you guys are busy,  but any help would greatly appreciated :)

light.mask seems like that might work. Question:
if i set mesh instance.mask = 2 for those that have static lightmaps... What value would i set on the camera to to see both mask 1 and 2 (so the camera sees both lightmap and non-lightmap)
???

These are bits, so 1|2

Yo @guycalledfrank ... Hey man thanks for the light.mask suggestion. But its not going to work.
What if i have static scenery with lightmaps... then i had a realtime character run by the static scenery... it would not catch the realtime shadow on the static scenery.
I am going to need to do a proper lightblend.
Can you please OUTLINE which shader chunks i need to mess with to get realtime and lightmap light blending.

@MackeyK24 Can't you just release the current WebGL Canvas Tools Project already? I used Unity "as programer" (e.g. writing custom animated model format loaders) for years so I might be able to figure some stuff out regarding the lightmap mixing/blending aswell. I would really like to have a 2nd exporter next to Blender, because Unity/C# is way easier than Blender/Python.

Yo @kungfooman ... I am not really ready to go public like that. Still in early feature development.
But if you wanna help me work on the project, i will send you ca copy of my whole project (including my PlayCanvas-Tools typescript project)
Let me know :)

Yo @MackeyK24, I'm actually interested ^^ I hope your code works with Unity 2018
Might wanna join https://discordapp.com/invite/N67tQuU for chat/discussion?

Wow... that shader chunk debugging system is the shizzz-nit
I ripped that mam fam out the viewer and tweaked a bit to work with host project that my WebGL Canvas Tools uses
It’s freaking awesome...
Yo @kungfooman ... I make a project with lights maps and real-time lights .... please see if you can handle blending the lights like was suggested above using my implementation of the new shader chunk system
Kuddos to WHOEVER added that feature to the viewer 👍

And yes @kungfooman ... my WebGL Canvas Tools works with 2018 ... I even tested it against the new 2019 Alpha

Can you contact me at MackeyK24@gmail.com so we can hook up
Sent from my iPhone

On Nov 1, 2018, at 4:32 PM, Hermann Rolfes notifications@github.com wrote:
Yo @MackeyK24, I'm actually interested ^^ I hope your code works with Unity 2018
Might wanna join https://discordapp.com/invite/N67tQuU for chat/discussion?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

YO @kungfooman ...
Here is a test mixed lights project
https://github.com/MackeyK24/MackeyK24.github.io/tree/master/mixedlights
can also just run it with:
https://mackeyk24.github.io/mixedlights
The Sphere and the Cube on the LEFT are using Real-Time shadows...
The Sphere and the Cube on the RIGHT are using Baked shadows via a lightmap...
But PlayCnvas does not Blend mixed lights well as you know... Hopefully you can mess around with the shader chunks and figure the the Shader Blending @willeastcott  was talking about.
FYI this is what is SHOULD look like:

But this is what i get (Look like the realtime light is canceling out they shadows completely)

Can you PLEASE try and fix ... Anyone else can also download the project and or just load from the github.io pages and play with Shader Chunks: https://mackeyk24.github.io/mixedlights

ALSO... This is if i remove the lightmap, the realtime shadows show up:

This is if i LOWER or REMOVE the realtime lighting, then the baked shadows show up:

So you can have either FULL REAL-TIME LIGHTING or FULL BAKED LIGHTING...
But just can have mixed... And i really dont understand the POINT of BAKED lighting if you CANT ALSO have mixed lights.... OTHERWISE EVERYTHING in the scene would have to STATIC and NOTHING could ever move... Is that correct ??? (Pinging @willeastcott)

Lightmaps are added on top of real-time lighting, so everything will get brighter. Same thing would happen in Unity. If you can share your Unity project, I'll tell you exactly what's the difference.

To use the shader chunk live editor for shadow mapping debugging the directional light shader needs to be updated, maybe you wanna update the code:

light = pc.app.root.children[1];
light_pivot = light.children[0];

ShaderChunks.prototype.regenerateShaders = function() {
    console.log("regenerate shaders...");
    pc.app.graphicsDevice.programLib._cache = {};
    light_pivot.light.refreshProperties();
    if (window.meshes == undefined || window.meshes == null) {
        console.warn("No winow mesh instances found");
        return;
    }
    var n = window.meshes.length;
    for (var i=0; i<n; i++) {
        var meshInstance = window.meshes[i];
        meshInstance.material.clearVariants();
    }
}

(or just execute that in devtools)
Nice to test with the directional light intensity:
light_pivot.light.intensity = 0 // only baked lights visible
light_pivot.light.intensity = 0.6 // baked lights start to fade out
light_pivot.light.intensity = 200 // only vsm visible

That is enough to start live editing the GLSL stuff, I am just experimenting around myself currently

Lightmaps are added on top of real-time lighting, so everything will get brighter. Same thing would happen in Unity. If you can share your Unity project, I'll tell you exactly what's the difference.

Unity mixed light works perfect and NOT DOUBLE lighting... Here is a shot from unity using mixed lighting:

I also dont think the LIGHT-MAP is on top of the real-time... Otherwise i should see the BAKED shadows from the lightmap texture

Yo @kungfooman ... I added support for ALL debug lights to refresh properties:
ShaderChunks.prototype.regenerateShaders = function() {
    console.log("Regenerating shaders...");
    pc.app.graphicsDevice.programLib._cache = {};
    if (window.hasOwnProperty("lights") && window.lights != null) {
        var n = window.lights.length;
        for (var i=0; i<n; i++) {
            var lightPivot = window.lights[i];
            lightPivot.light.refreshProperties();
        }
    }
    if (window.hasOwnProperty("meshes") && window.meshes != null) {
        var nn = window.meshes.length;
        for (var ii=0; ii<nn; ii++) {
            var meshInstance = window.meshes[ii];
            meshInstance.material.clearVariants();
        }
    }
}

I also dont think the LIGHT-MAP is on top of the real-time... Otherwise i should see the BAKED shadows from the lightmap texture

How do you think it mixes it then? Unity knows has just 3 modes to date:

Indirect is baked, direct is fully realtime.
Indirect AND static shadows are baked (2 separate maps), dynamic light and shadows from dynamic (only) objects are realtime.
Main shadow color is user-specified, and dynamic shadows are blended with a single lightmap by first subtracting this color to get an approximate baked shadows mask.

Do you have an indirect only lightmap? Do you have a shadow mask? Do you have main shadow color? You need one of them in order to blend. Share your scene and I'll tell you what mode is used there.

Quite funny, I tried to solve it all the way via some GLSL coding, but that helped me to realize what actually happens. So the lightmap is already pretty whitish and when your red directional light adds to it, it clamped at [1,1,1], so nothing changes anymore... and that of course can be fixed via tone mapping:
pc.app.scene.toneMapping = 1

Or some other for testing:
pc.app.scene.exposure =  0.2
pc.app.scene.toneMapping = 4

Yo @guycalledfrank ... I am using single Intensity map with mixed light set to subtractive:

So in your opinion... Do you think this is something we can do in PlayCanvas (Like Unity does mixed lights). If so... And you are willing to help work on this with me and @kungfooman , i will send you a copy of my project. Its in very early dev stages right now and i didnt want to public share and have a bunch of copies out there yet. But if you are going to help make this happen, and you send me your email address... I will email you and @kungfooman a link to download the raw unity project.

Man this is getting weird... I put together a CLEAN Unity Project... Starting Project in Unity 2018.2.15f1
Using NO IBL and Grey Ambient Color.

Also the Scene Controller uses this Init Code:
/**
 * Backing Script Class
 * @class SkyboxController
 */
@createScript()
class SkyboxController extends CanvasScript implements ScriptType {

    public initialize():void {
        console.log("Intializing scene controller...");
        this.app.scene.exposure = 1;
        this.app.scene.toneMapping = pc.TONEMAP_LINEAR;
        this.app.scene.gammaCorrection = pc.GAMMA_SRGB;
    }
}

But is seems to be working BETTER, But i have not changed much (Just Ambient Color).
But i am at least hopeful that MIXED lights can be PlayCanvas... Just don quite understand the RYHME or REASON as to why sometimes it shows up and sometimes it does not... Sometimes it has DOUBLE lighting color (MUCH DARKER) and sometimes it does not...
It must have to do with the Light Color, Ambient Color, Tone Mapping, Color Correction and Exposure... But i need to be sure what has what effect.
I hope you guys @guycalledfrank  and @kungfooman can help work on this...
@kungfooman ... I got your email, will be sending you project soon.
@guycalledfrank ... Please send me your email and i will send you project as well.
And please DONT put out a bunch of copies of project as again, i am in early stages of
my WebGL Canvas Tools and dont quite know how i am going to release EVERYTHING... Or even IF i am going to release ANYTHING...
IF i cant make a reliable toolkit to export unity content to GLTF and use PlayCanvas to create games using that exported Unity Content... I probably going to abandon this whole Unity GLTF Scene Exporting and just go with Unreal Engine or something like that.
So please let me know if you will help be a WebGL Canvas Tools developer 👍

Yo @kungfooman ... Without any Shader mods....
just these settings:
    this.app.scene.exposure = 1;
    this.app.scene.toneMapping = pc.TONEMAP_LINEAR;
    this.app.scene.gammaCorrection = pc.GAMMA_SRGB;

So tonemapping to Linear i get this (Which looks pretty good)

The TWO left shadows are REALTIME and the the two Right shadows are BAKED...
And NO DOUBLE Lighting... Now im really confused as to what makes MIXED lights work...
This run is has no Shader mods and Exposure = 1, toneMapping = Linear and gammaCorrection SRGB
BUt again that look pretty freaking good... I just dont know for SURE as to WHY (Exactly) they are working (For the most part)
What do you think @guycalledfrank

OK, actually your Lighting settings from Unity are enough to figure it out. The "realtime shadow color" is the key here. It's a rather cheap mixing mode with an assumption that this single color will always resemble the actual baked shadow color, so it can be subtracted from the lightmap.
What they do is:
min(lightmap, max(shadowColorConstant, lightmap - saturate(dot(normal, lightDir)) * (1-realtimeShadow) * realtimeLightColor))

How about this:
lighting = lightmap - saturate(dot(normal, realtimeLightDir)) * realtimeLightColor * (1-realtimeShadow)

How about this:
lighting = lightmap - saturate(dot(normal, realtimeLightDir)) * realtimeLightColor * (1-realtimeShadow)

So is this code for a shader chunk or just some pseudo code o say what should be happening.
IIf i can use this code directly in a shader chunk... Which one ???

So 'realtimeShadow' is the Realtime Shadow Color from the the Unity
Subtractive Settings... So i can just pass that color to a shader chunk
just like any other color on the material then update the some shader
chunk.... Which shader chunk ???
On Sat, Nov 10, 2018 at 10:08 PM Mr F notifications@github.com wrote:

How about this:
lighting = lightmap - saturate(dot(normal, realtimeLightDir)) *
realtimeLightColor * (1-realtimeShadow)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/playcanvas/playcanvas-gltf/issues/39#issuecomment-437651274,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEx_p6i--YvNXHS69hrTzxb2TWpSwgN0ks5ut9sagaJpZM4XSNi_
.

It's a pseudocode. Realtime shadow is what the VSM function returns.

So do you wanna help implement this stuff in the Shaders ?
On Sun, Nov 11, 2018 at 12:17 AM Mr F notifications@github.com wrote:

It's a pseudocode. Realtime shadow is what the VSM function returns.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/playcanvas/playcanvas-gltf/issues/39#issuecomment-437657974,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEx_p6Xx2IUQcQKa9uncFk980NfarOcaks5ut_kxgaJpZM4XSNi_
.

What if i use the Realtime Shadow Color from Unity... I serialize that
color along with lightmap texture to use in the gltf parser.
If i do that, What Shader would i have to modify ???
On Sun, Nov 11, 2018 at 12:17 AM Mr F notifications@github.com wrote:

It's a pseudocode. Realtime shadow is what the VSM function returns.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/playcanvas/playcanvas-gltf/issues/39#issuecomment-437657974,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEx_p6Xx2IUQcQKa9uncFk980NfarOcaks5ut_kxgaJpZM4XSNi_
.

How about this:
lighting = lightmap - saturate(dot(normal, realtimeLightDir)) * realtimeLightColor * (1-realtimeShadow)

Yo @kungfooman ... Do you think you could use this pseudo code to update the necessary shader chunks... I dont know all the Shader Chunk stuff i need to be able to implement

Yo @kungfooman ... I update the project at https://mackeyk24.github.io/mixedlights
Source: https://github.com/MackeyK24/MackeyK24.github.io/tree/master/mixedlights
I am spinning BOTH cubes to show Realtime Shadow On Left Cube and even though im spinning the right cube as well... it shows the BAKED static shadow not moving...
The shadow colors look a little off, but if you could implement pseudocode @guycalledfrank outlined in your Shader Chunk System.... That would be freaking awesome 👍

Paging @kungfooman and @guycalledfrank ... Do you guys still think you can help with the mixed lights problem.
@guycalledfrank gave us the pseudo code:
lighting = lightmap - saturate(dot(normal, realtimeLightDir)) * realtimeLightColor * (1-realtimeShadow)
but i dont know enough about the shader chunk system to implement by myself. I dont know how to read other shader chunk return values... Like how to get the realtim shadow color in the getAlbedo section of the shader chunk.
Can you please help ???

Since you don't release the exporter nobody can play/test around with it freely, the tool could probably already have a smallish community of contributors for problems like this one

Im not quite ready for PUBLIC release. But if you send me your real email address. I will give you a copy , in its current state for you to play around with and HELP ME with the mixed lights shader.
I already packaged it up for you. I just need to know where to send it :)

Again... Its not ready for PUBLIC release yet. I really need help with mixed lighting before i finalize on the architecture of the toolkit itself. Getting all the basics i want in there (HOW i do things in Unity and HOW i implement them in Playcanvas... WILL CHANGE ALOT at this stage of development)
But if it gets me your help... Here it is...
(PLEASE CONTACT ME FOR A GOTOMEETING and i will show you how to use it)
Mackey Kinard
MackeyK24@gmail.com
CanvasTools_Beta_1.unitypackage.zip

authors: MackeyK24 guycalledfrank kungfooman willeastcott

repo: playcanvas/playcanvas-gltf


text:
[WIP] LSP API Improvements

Cleaning up the ergonomics around the LSP API, specifically around CLI config usage.
Change Type (required)

[x] patch
[ ] minor
[ ] major

Release Notes

Allow LSPAssetsPlugin to take multiple XLR bundles.
Allow LSPPluginPlugin to take multiple LSP plugins.

/canary

/canary

source: gharchive/pull-request

repo: player-ui/tools

license: MIT

license_type: permissive

license_source: github-api


text:
[mesa] Add missing source file

this was accidently deleted with the update to Mesa 24.1.2.

I noticed the issue here:
https://github.com/playtron-os/rpm-specs-gaming/actions/runs/9847510912/job/27187653077
When I built the RPM locally, I had a copy of that source file cached in my ~/rpmbuild/SOURCES/ directory. I re-tested with that directory now being emptied. The build for CI should now work.

repo: playtron-os/rpm-specs-gaming


text:
[D1][xfce] D1上烧录xfce镜像并试用记录问题

测试对象：镜像放在p8:/home/plct/openEuler-D1-xfce.img.bz2
测试目的：本镜像集成了xfce软件包，实现了可视化桌面；通过在D1上烧录镜像，安装和使用该系统，站在使用者的角度去发现系统问题，记录问题用于后续镜像功能改进

个人烧录操作记录：https://github.com/xijing21/rvOe_study/blob/main/D1/D1oe_xfce.md
系统启动过程中的问题：
1.串口提示login后2-3分钟后，HDMI还是未如期显示操作系统的界面

解决办法：重新拔插hdmi
而且曾经在启动过程中插拔hdmi，等到窗口显示login后，还是没有显示，重插拔后好了.后续可以多观察串口log信息

2.我使用的usbhub+鼠标+键盘 ，鼠标键盘都无法动（操作时是在系统启动后接入的鼠标键盘），等待2-3分钟依然如此。

重新插拔usbhub的u口——》未解决问题
重新插拔鼠标键盘——》未解决问题
先查好鼠标键盘，重启D1——》ok
估计是因为卡住了，导致鼠标键盘不可用

按照wangxiang 要求，替换内核：将p8:/home/plct/k1.tar.gz 替换k.tar.gz
操作参考：xfce_java_安装测试(1).txt
执行第三步：
第三步: 获取新内核和驱动 p8下/home/plct/k.tar.gz 解压后有boot.img和rootfs/lib
        在D1上
            挂载boot分区: mount /dev/mmcblk0p3 /mnt
            更新boot.img: cp boot.img /mnt
            卸载： unmount /mnt
            更新驱动: cp -rf  lib/   /usr/lib/

本人具体操作如下：

将k1包拷贝到u盘

将u盘插入D1

fdisk -l
查到u盘为：/dev/sda1

挂载u盘，将带更新的k1.tar.gz拷贝到D1上（/mypkgs）
mkdir upan   #pwd:/upan
mkdir mypkgs   #pwd:/mypkgs

mount /dev/sda1 /upan    #将u盘挂载到/upan下

cd /upan  #就能访问U盘中的文件了

cp k1.tar.gz /mypkgs
umount /upan   #卸载

更新前准备：
cd /mypkgs

mkdir k1
tar -xzvf k1.tar.gz -C k1

cd k1
ls -l

更新boot.img:
# 挂载boot分区:
mount /dev/mmcblk0p3 /mnt

# 更新boot.img
cp /mypkgs/k1/boot.img /mnt

# 卸载
umount /mnt

更新驱动:
cp -rf /mypkgs/k1/rootfs/lib/ /usr/lib/

断电重启D1

发现分辨率有明显提升。

系统使用测试
测试项目：

基本显示：
更新为k1后分辨率更高；但是任然存在日历、资源管理器显示有阴影，看不清的问题；

wifi：没有图形化配置，需要命令行去设置
nmtui设置网络：ssid名称包含中文的无法设置；

时间/日期对不对?
网络设置后时间自动同步为正确时间

终端：

Terminal中：不显示当前用户和host，不显示当前所在的路径；（ubuntu等都会有，建议有更方便用户）
不支持ll命令——》ls -l

中文显示：乱码；

浏览器：
搜狗搜索ok；
百度搜索不行；网易、cn.bing.com；——》Oops 。。。 something went wrong with。。。。
更新mesa-dri-drivers防止浏览器oops
yum install mesa-dri-drivers

更新后访问baidu等网站依然不行，还是Oops；

yum安装
可用；

中文输入法
在https://repo.openeuler.org/openEuler-preview/RISC-V/everything/rpms/ 查了一下ibus和fcitx，有ibus的安装包。试试是否能够安装并使用
[root@openEuler-RISCV-rare ~]# yum install ibus-libpinyin
Last metadata expiration check: 1:05:22 ago on Tue Sep  7 15:46:48 2021.
Error:
 Problem: cannot install the best candidate for the job
  - nothing provides libibus-1.0.so.5()(64bit) needed by ibus-libpinyin-1.10.0-6.riscv64
  - nothing provides liblua-5.4.so()(64bit) needed by ibus-libpinyin-1.10.0-6.riscv64
  - nothing provides ibus >= 1.5.11 needed by ibus-libpinyin-1.10.0-6.riscv64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@openEuler-RISCV-rare ~]#

开关机
通过右上角的root进入界面交互shutdown:没反应——》直接断电

安装java环境并运行下棋游戏demo

检查或安装jdk环境
[root@openEuler-RISCV-rare ~]# java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment Bisheng (build 11.0.11+9)
OpenJDK 64-Bit Server VM Bisheng (build 11.0.11+9, mixed mode, sharing)
[root@openEuler-RISCV-rare ~]#

镜像已经包含了bishengJDK

运行jar包
git clone https://gitee.com/blesschess/LuckyLudii.git
cd LuckyLudii/libs
java -jar LuckyLudii3.3.jar

第一次运行：
提示没有配置文件错误：

菜单栏、下拉框、弹出框都是黑乎乎的：
https://user-images.githubusercontent.com/84754181/132336369-271cceee-8e97-419a-9cec-07e85284489a.mp4
第二次运行：
不再报错，且游戏界面保留了上一次的设置和结果：

测试了从java -jar到程序界面显示时间为：3分钟21秒  还是挺久的

https://user-images.githubusercontent.com/84754181/132527923-e936d930-f8f3-4f41-9d22-cc2d691f4cfe.mp4

支持中文：https://github.com/plctlab/openEuler-riscv/issues/81
支持ping：https://github.com/plctlab/openEuler-riscv/issues/88

source: gharchive/issue

repo: plctlab/openEuler-riscv


text:
Npm publish new version

Can you please publish a new NPM version for the below issue.
#101 #102 #107

ping @pleerock - he is very busy in TypeORM right now 😉

@pleerock please :)

@pleerock can you please publish a new version

Please publish a new version on npm, the IsOptional behaviour should be really updated :-)

I made a new publish, sorry for the delay.

authors: 11000100111000 19majkel94 Dirrk patrickhousley pleerock vilius-rugaitis

repo: pleerock/class-validator


text:
making this guy a better citizen

these methods need to become private and not extenal:
unmaskMoney
mask
setCursorPosition
getInputSelection
they will become this
.maskMoney('unmask')
.maskMoney('mask')
the other 2 methods will be vanished.
following this guidelines:
http://docs.jquery.com/Plugins/Authoring#Namespacing

note: remember to update the docs and examples.

repo: plentz/jquery-maskmoney

license: mit

license_source: bigquery


text:
Noobie question about spotify connect

Hey,
I searched both the docs and the questions here on the project but I couldn't find a clear answer. I
Is it possible to use this library as an interface to control a spotify connect device (Pc) from a python script on another device(Rpi2)? (e.g play specific playlists etc)
Thank you for you time folks,
Cheers!

It is possible! It might be a bit tricky to call the rust code from python though.
I'm working on a HTTP API around this library so that it can easily be used from any language, although I have very little time to work on it.  I pushed an initial commit tonight, at the very least it should give you an idea of how it is done: https://github.com/Spotifyd/spotifyd-http.

Like @SimonPersson said, this library can be used both to play music and control devices, although the latter hasn't been the main focus so far.
You may want to look at spotcontrol which is a re-implementation of librespot in Go, focused on the control part.
In any case, calling from python may be tricky, and the easiest solution is to wrap librespot or spotcontrol in an HTTP service (like @SimonPersson has done) and call it from your python script.

spotifyd-http seems pretty cool, if only I could contribute :P

authors: OdysLam SimonPersson plietar

repo: plietar/librespot


text:
EncodedPasswordOf.kt:4-5: Implement encoding password and...

The puzzle 5-dcd2653b from #5 has to be resolved:
https://github.com/plplmax/unicorn-team-chat/blob/c061a9652c96aec6e1eba806638810cb44255e0a/backend/src/main/kotlin/com/github/plplmax/chat/auth/EncodedPasswordOf.kt#L4-L5
The puzzle was created by @plplmax on 20-Apr-23.
Estimate: 15 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 5-dcd2653b has disappeared from the source code, that's why I closed this issue.

repo: plplmax/unicorn-team-chat


text:
🛑 KCG is down

In 544b884, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 80a1a58 after 18 minutes.


text:
🛑 Pierced Arrows is down

In b16fa02, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in 9cbc128 after 9 minutes.


text:
ENG-713 ENG-712 add new endpoints for configuration and context configuration

Summary
New endpoint to get general configuration:
GET http://localhost:8080/v1/configuration
{
  "workspace": {
     "network": {
        "plural_dns": true,
        "subdomain": "lukasz.onplural.sh"
    },
   "bucket_prefix": "lukasz",
   "cluster": "lukasz"
  },
  "git": {
     "url": "git@github.com:zreigz/kind-test.git",
     "root": "/home/lukasz/plural/kind-test",
     "name": "kind-test",
     "branch": "main"
   }
}

New endpoint to patch context configuration
POST http://localhost:8080/v1/context/configuration

{
  "configuration": {
    "bootstrap": {},
    "console": {
      "admin_email": "lukasz@plural.sh",
      "admin_name": "lukasz",
      "console_dns": "console.lukasz.onplural.sh",
      "git_email": "zreigz@gmail.com",
      "git_user": "zreigz",
      "passphrase": "",
      "repo_url": "git@github.com:zreigz/kind-test.git"
    },
    "etcd": {},
    "ingress-nginx": {},
    "minio": {
      "consoleHostname": "minioui.lukasz.onplural.sh",
      "hostname": "minio.lukasz.onplural.sh"
    },
    "monitoring": {},
    "postgres": {
      "wal_bucket": "lukasz-lukasz-postgres-wal"
    }
  }
}

Labels

Test Plan

Checklist

[ ] If required, I have updated the Plural documentation accordingly.
[X] I have added tests to cover my changes.
[ ] I have added a meaningful title and summary to convey the impact of this PR to a user.
[X] I have added relevant labels to this PR to help with categorization for release notes.

@michaeljguarino PTAL

repo: pluralsh/plural-cli


text:
chore: updates lwc and rewrites connectStore wire adapter

using the wire-reform format
It also updates other dependencies of the project.

fyi @pmdartus

repo: pmdartus/rcast


text:
Add support for OSB parameter schemas

Per https://github.com/openservicebrokerapi/servicebroker/pull/165

Coverage increased (+0.2%) to 82.136% when pulling bc70cfca4bbd8248f332a7e65bcef83598f22df5 on parameter-schema into 37baef13c105d76473520d859e745fe60ffb8513 on master.

authors: coveralls pmorie

repo: pmorie/go-open-service-broker-client


text:
New command: planner bucket list

Usage
planner bucket list
Description
Lists the Microsoft Planner buckets in a plan
Options

Option
Description

--planId [planId]
ID of the plan to list the buckets of. Specify either planId or planName but not both.

--planName [planName]
Name of the plan to list the buckets of. Specify either planId or planName but not both

--ownerGroupId [ownerGroupId]
ID of the group to which the plan belongs. Specify ownerGroupId or ownerGroupName when using planName

--ownerGroupName [ownerGroupName]
Name of the group to which the plan belongs. Specify ownerGroupId or ownerGroupName when using planName

Additional Information
List Buckets
Examples
Lists the Microsoft Planner buckets in the Plan xqQg5FS2LkCp935s-FIFm2QAFkHM
m365 planner bucket list --planId "xqQg5FS2LkCp935s-FIFm2QAFkHM"
Lists the Microsoft Planner buckets in the Plan My Plan owned by group My Group
m365 planner bucket list --planName "My Plan" --ownerGroupName "My Group"

I've updated the spec to list planId as optional ([planId] instead of <planId>). Other than that, we're good to go! Would you like to pick it up?

I've updated the spec to list planId as optional ([planId] instead of <planId>). Other than that, we're good to go! Would you like to pick it up?

Great! I would love to work on this 😊

Awesome! Appreciate your help!


text:
Bug-fix: Unable to rename list content type

Closes #4885
Noticed that for the post call to the csom endpoint, there was never a list:{listId} being passed, so it makes sense 😄
Resolved this so that the command now also will work on list content types.

Thank you @MathijsVerbeeck!

Manually merged

authors: MathijsVerbeeck milanholemans plamber


text:
Bug-fix: spo tenant recyclebinitem restore

Closes #6021

Merged manually, thank you for this fix! 👏

authors: MathijsVerbeeck milanholemans


text:
feat(datepicker-range): adiciona a propriedade locale

Adiciona propriedade locale para definir o idioma a ser exibido pelo componente po-datepicker-range.
Fixes #1041
Datepicker
1041

PR Checklist [Revisor]

[ ] Padrão de Commit (Coeso, de acordo com o que está sendo realizado)
[ ] Código (Boas práticas, nome de variavéis/métodos, etc.)
[ ] Testes unitários (Cobre a situação implementada e coverage está mantido)
[ ] Documentação (Clara, objetiva e com exemplos caso necessário)
[ ] Samples (A implementação possui exemplo no Labs/Caso de uso)
[ ] Rodado em navegadores suportados (Chrome, FireFox, Edge)

Qual o comportamento atual?
O componente não recebe a propriedade locale, referente ao idioma exibido.
Qual o novo comportamento?
É possível definir o idioma do componente através da propriedade locale
Simulação
Simular através do portal ou pelo App.

Olá,
As alteração são uma copia da PR #1054 que está em aberto desde outubro/2021, eu apenas inclui os teste unitários.

Olá @wsteixeira! Eu agradeço demais sua contribuição e por seguir com as implementações do meu PR aberto desde Outubro do ano passado (não me orgulho disso 😫)! Não tenho tido muito tempo para as contribuições ultimamente e esse PR acabou ficando para trás. Peço desculpas ao time do @po-ui-dev também!
Como esse PR irá resolver essa pendência, vou cancelar o meu PR.

No sample Labs do portal não está alterando o locale.

Olá @alinelariguet, o ajuste já foi feito.

@wsteixeira você pode atualizar a branch com a master? assim o erro no Teste já vai ter sido corrigido.
Att.

Olá @alinelariguet e @jribeiroo,
Branch com a master.
Att.

authors: alinelariguet mauromattos00 wsteixeira

repo: po-ui/po-angular


text:
SVGs being served as blank files

I have a production server on fly.io running 0.16.10
If I upload a png through the admin console (the /_/ page), it uploads fine
If I upload a svg the same way, it seems to almost corrupt it. Downloading it from the same page shows its a blank file
If I download it from Cloudflare R2 (my S3 storage), it shows the svg perfectly fine
If I try to upload or view the svg from my flutter app, it doesn't through any error at any part of the process. Just doesn't load the svg. But it does upload it. However it is still essentially a blank file when downloaded through the web ui
Before uploading my pocketbase instance to fly.io, I ran it locally with no issues. However the difference is the local copy doesn't use R2/S3
I also used a 0.15.3 build on pockethose.io any that has no issues either, but again no R2/S3 here
If the svg is successfully uploaded to the R2/S3 bucket, and I can view it perfectly when downloading directly from it. How come pocketbase on fly.io can't?
I previously had 0.16.5 on fly.io until now, thinking the update would fix it. But the issue persists with 0.16.10

To clarify the "blank file"
file before and when downloaded from R2/S3 bucket directly from Cloudflare console

When downloaded from pocketbase web ui

repo: pocketbase/pocketbase


text:
Feature request: allow changing the name of the authorization header

I'd like to deploy pocketbase inside a cluster that is managed by my company. However, due to the way the default authentication works there the "Authorization" header is already used for the Microsoft SSO. I was wondering if the "Meta" settings could allow you to specify the name of this header? Then I could set it to X-PocketBase-Authorization or something and I can use this wonderful piece of software without a header-rewriting proxy.
I would be willing to give making a PR a go myself but I'm a Python/C developer not a Go developer, so I'd like to check in if you would prefer doing it yourself or are willing to guide me through the process.

I'm not sure if the use case is common enough to add a setting for it. Users will also have to manually specify the header name on SDKs level because currently the settings are accessible only by admins. It will require further documentation and may cause confusion as a lot of users may not be sure whether they need to change it or not.
For now I'll leave it out of the scope, but if there is users demand for it I may reconsider it.
As an alternative to a header rewrite proxy, you could also define a middleware that will load the auth context from your custom header. Here is an example using the JS pb_hooks (I haven't tested it):
// pb_hooks/main.pb.js

// Middleware to load the auth context from a custom header.
routerPre((next) => {
    return (c) => {
        const token = c.request().header.get("X-Authorization");
        if (!token) {
            return next(c)
        }

        // strip the "Bearer " prefix if available
        // (the schema is not required and it is only for compatibility with the defaults of some HTTP clients)
        if (token.startsWith("Bearer ")) {
            token = token.substring(7);
        }

        try {
            const claims = $security.parseUnverifiedJWT(token)

            if (claims.type == "admin") {
                const admin = $app.dao().findAdminByToken(token, $app.settings().adminAuthToken.secret);
                c.set(claims.type, admin);
            } else if (claims.type == "authRecord") {
                const record = $app.dao().findAuthRecordByToken(token, $app.settings().recordAuthToken.secret);
                c.set(claims.type, record);
            } else {
                throw new Error("unsupported or missing token type:", claims.type);
            }
        } catch (err) {
            $app.logger.debug("invalid or expired token", "token", token, "error", err)
        }

        return next(c)
    }
})

On the client-side if you use the JS SDK you'll also have to attach to the beforeSend hook to overwrite the sent request header:
import PocketBase from "pocketbase";

const pb = new PocketBase("http://127.0.0.1:8090");

pb.beforeSend = function (url, options) {
    options.headers['X-Authorization'] = options.headers['Authorization']
    delete options.headers['Authorization'];
    return { url, options };
};

...

await pb.collection("example").getList(1, 40)

Thank you for the quick response! I'll just leave my code snippets here if anyone runs across it in the future. First, I rebuilt the admin UI:
git clone https://github.com/pocketbase/pocketbase
cd pocketbase/ui
npm install

I edited file ui/src/utils/ApiClient.js to include the snippet from @ganigeorgiev above.
const pb = new PocketBase(
    import.meta.env.PB_BACKEND_URL,
    new AppAuthStore("pb_admin_auth")
);

pb.beforeSend = function (url, options) {
    options.headers["X-Authorization"] = options.headers["Authorization"]
    delete options.headers["Authorization"];
    return { url, options };
};

I edited ui/.env to always use the root path as pocketbase:
PB_BACKEND_URL         = "/"

Now rebuild
npm run build

Then I added the dist folder next to my pocketbase executable as pb_admin and added the following to pb_hooks/main.pb.js (you only missed one set of parenthesis 😄):
routerPre((next) => {
    return (c) => {
        let token = c.request().header.get("X-Authorization");

        // strip the "Bearer " prefix if available
        // (the schema is not required and it is only for compatibility with the defaults of some HTTP clients)
        if (token.startsWith("Bearer ")) {
            token = token.substring(7);
        }

        if (!token) {
            return next(c)
        }

        try {
            const claims = $security.parseUnverifiedJWT(token)

            if (claims.type == "admin") {
                const admin = $app.dao().findAdminByToken(token, $app.settings().adminAuthToken.secret);
                c.set(claims.type, admin);
            } else if (claims.type == "authRecord") {
                const record = $app.dao().findAuthRecordByToken(token, $app.settings().recordAuthToken.secret);
                c.set(claims.type, record);
            } else {
                throw new Error("unsupported or missing token type:", claims.type);
            }
        } catch (err) {
            $app.logger().debug("invalid or expired token", "token", token, "error", err)
        }
        return next(c)
    }
})
routerAdd("GET", "/_/*", $apis.staticDirectoryHandler("./pb_admin", true))

Hm, I forgot about the Admin UI part.
Although I'm not sure that I understand your setup and how the Microsoft SSO works, I think configuring a header rewrite proxy may be the better option here as it will be easier to maintain in case there is an update of the Admin UI.

The rewrite proxy still would not fix the admin frontend setting the authorization header and my cluster ingress just throwing that header away and overwriting it with the SSO token sadly. I have almost finished the setup to automatically download releases and apply a git patch file and then build a docker image, which will keep working as long as the specific files don't change very much. I think that level of maintenance is acceptable for me for now.

authors: ganigeorgiev thijsmie


text:
Fix label checking logic in #3

Description
Label conditions should be compared with Logical AND(&&) operators... 😂

I think it's time to add some test cases haha

I think it's time to add some test cases haha

yeah we definitely do haha

authors: devxoul junhoyeo

repo: pocketlesson/check-mergeable

license: ISC


text:
Add TileCache trait, incl. disk & noop implementations

Adds a trait for caching along the lines of TileSource, as well as two default implementations, a simple DiskTileCache, as well as a NoopCache that does nothing. The demo has been updated to use DiskTileCache in native, and ǸoopCache for wasm.
Because I needed some way to differentiate between different tile providers, this introduces the requirement that tile providers implement Hash.
This is a lot more code and probably less elegant than @dwuertz's idea with http-cache-reqwest in #64, but it might be more flexible. For instance, an Android application could implement a cache provider that uses some sort of Android API via the JNI.
I'm definitely open to suggestions on how to do this nicer, though. I don't like how it has to be passed to the Tiles constructor, but since the background thread is spawned immediately some sort of builder pattern would require some more refactoring.

I think the same flexibility is possible with the http-cache-reqwest, via its CacheManager trait. In fact, the whole hassle with maintaining an async runtime was to be able to use a mature ecosystem like reqwest. On top of that, caching seems like a problem with some degree of complexity in it. :)

Closing due to https://github.com/podusowski/walkers/pull/103 for now, though off-line mode is definitely something worth of pursuing.
Perhaps this is something worth looking at:
https://github.com/podusowski/walkers/issues/94#issuecomment-1864908094

#103 looks good. I had a half-finished version of something similar sitting around on my drive that I didn't get around to finishing, apologies.

authors: KoffeinFlummi podusowski

repo: podusowski/walkers


text:
TypeError: Cannot read properties of undefined (reading 'STX')

fixed: PR review will confirm this soon @r0zar

repo: pointblankdev/charisma-web


text:
Snapshots don't produce consistent results (.image)

Description
I'm trying to implement .image snapshots for view controllers.
Problem
For more complex view controllers that make a few network requests and have several states (loading, loaded, error), I'm experiencing an issue where (even when using the .wait() function) the view controller is not fully loaded when the snapshot is taken.
When I test on multiple devices with something like this:
func verifyViewController(viewController: UIViewController, named name: String, status: ViewState, with entilement: UserState) {
    // Set size of snapshots
    let size: CGSize = .init(width: 390, height: 2000)
    let delay: TimeInterval = status == .loaded ? 5 : 0

    // Choose devices to test
    let devices: [String: ViewImageConfig] = ["iPhoneX": .iPhoneX, "iPhone8": .iPhone8, "iPhoneSe": .iPhoneSe]

    // isRecording = true

    // For each device, verify the snapshot
    let results = devices.map { device in
        verifySnapshot(matching: viewController,
                       as: .wait(for: delay, on: .image(on: device.value, size: size)),
                       named: "\(device.key)",
                       testName: "\(name)-\(status.rawValue)-\(entilement.rawValue)")
    }

    // Check that no errors were thrown
    results.forEach { XCTAssertNil($0) }
}

class ExampleUITests: XCTestCase {

    override class func setUp() {
        super.setUp()
    }

    override class func tearDown() {
        super.tearDown()
        HTTPStubs.removeAllStubs()
    }

    func testExampleViewController() {
        // Setup stubs
        stubResponse(path: "/example", filename: "file.json")
        stubResponse(path: "/anotherExample", filename: "file2.json")

        // Create view controller
        guard let exampleViewController = UIStoryboard(name: "Example", bundle: nil).instantiateInitialViewController() else {
            XCTFail("ExampleViewController not found")
            return
        }

        // Take the snapshot
        verifyViewController(viewController: exampleViewController, named: "ExampleViewController", status: .loaded, with: .premium)
    }

}

I get 3 snapshots in 3 completely different states (one loading, one almost loaded, one fully loaded). Ideally, all of these snapshots should be of the same view controller in the same state (fully loaded).
The snapshots do not always occur in the same order, but the first snapshot is always in a loading state, the second one is almost loaded (sometimes fully loaded), and the last one is always perfect / fully loaded.
Does anyone know why I'm getting different results? Or how I am supposed to make sure that the snapshots are consistent?
Example of this issue:

Loading
https://user-images.githubusercontent.com/23180788/115765833-1932a400-a35c-11eb-868c-2f010f79c3fc.png

Almost loaded / mid render (missing a few UI elements)
https://user-images.githubusercontent.com/23180788/115765826-1768e080-a35c-11eb-9ca7-9e7fa07ffd80.png

Loaded
https://user-images.githubusercontent.com/23180788/115765837-19cb3a80-a35c-11eb-9e1f-3dbb46bfc208.png

It's worth mentioning that running the test on a single device produces one snapshot in the loading state (the 1st picture above). So it seems like the more tests I run, the further along the view controller is in its initialization process, but the view controller should obviously be setup the first time it's tested. (extending the duration of the .wait() does not work)
I've tried to hack around this with triggering lifecycle events for the view controllers before passing it in to verifySnapshot() or assertSnapshot(), but nothing has worked, and I feel that this should be handled by the lib anyway. Any tips / advice would be much appreciated.
Tools

OS: Big Sur 11.2.3
Xcode 12.4
SnapshotTesting 1.8.2
ViewImageConfigs used: .iPhoneX, .iPhone8,  .iPhoneSe

@tonyhunt hey, i'm experiencing the same issue. How did you solve this?

authors: alekseevpg tonyhunt

repo: pointfreeco/swift-snapshot-testing


text:
Getting an error while trying to use halite extension in berkshelf

I've installed the halite gem and added extension 'halite' to the top of the Berksfile file, but running berks update give the following error:
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-4.0.1/lib/berkshelf/berksfile.rb:89:inrescue in extension': Could not load an extension by the name halite'. Please make sure it is installed. (LoadError)

As I mentioned on the other ticket, you need to follow all of the instructions. Either install halite with chef gem install (which I don't test or support) or learn to use Bundler. There is a really low chance that using a pre release of one of my cookbooks is a good idea.
On May 15, 2016 at 1:57:14 PM PDT, Doron Gutman notifications@github.com wrote:I've installed the halite  gem and added extension 'halite'  to the top of the Berksfile file, but running berks update  give the following error: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-4.0.1/lib/berkshelf/berksfile.rb:89:inrescue in extension': Could not load an extension by the name halite'. Please make sure it is installed. (LoadError)   —You are receiving this because you are subscribed to this thread.Reply to this email directly or view it on GitHub

I've tried both gem install halite and adding the gem to the Gemfile and running bundle install.
None of these worked.
And the reason I need to use a branch of one of your cookbooks is that there's a pull request pending without any resolution on it for the past month - https://github.com/poise/application_ruby/pull/83

@dorongutman Make a subclass in your own cookbook rather than trying to run from a fork.

Can you explain that please ? How do I do that ?
On Tuesday, 17 May 2016, Noah Kantrowitz notifications@github.com wrote:

@dorongutman https://github.com/dorongutman Make a subclass in your own
cookbook rather than trying to run from a fork.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/poise/halite/issues/4#issuecomment-219562532

--
Sent from a mobile thingy
Please excuse typos

authors: coderanger dorongutman

repo: poise/halite


text:
🛑 Pokko - au-syd1 is down

In bcffb65, Pokko - au-syd1 (https://au-syd1.pokko.io) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pokko - au-syd1 is back up in 62bcb9e after 5 minutes.

repo: pokkocms/pokko-status


text:
Create backlog for /docs

Time to get some guides and content together. Just need to create a quick plan for the sequencing and priorities of the pages/content.

Will do this directly in the epic instead vs. spread it out

repo: polarsource/polar


text:
fieldmap

Hello, I have received following error while running fmriprep-docker:
as :   "fmriprep-docker --fs-license-file $FREESURFER_HOM  /Users/.../Desktop/BIDS/Test_data/sub-001 /Users/.../Desktop/BIDS/Test_data002/" and my  subject's data folder consists of : anat/fmap/func data collected using CMRR and multi-band factor: 4
Running fMRIPREP version 1.0.15:
* BIDS dataset path: /data.
* Participant list: ['sub-002'].
* Run identifier: 20180527-184833_a0043697-6e85-443e-939d-7794bbf24eab.
180527-18:48:34,638 workflow IMPORTANT:
Creating bold processing workflow for "/data/sub-001/ses-01/func/sub-001_ses-01_task-reward_......._run-01_bold.nii.gz" (0.26 GB / 368 TRs). Memory resampled/largemem=1.06/2.03 GB.
180527-18:48:35,776 workflow IMPORTANT:
Slice-timing correction will be included.
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 510, in build_workflow
ignore_aroma_err=opts.ignore_aroma_denoising_errors,
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py", line 202, in init_fmriprep_wf
ignore_aroma_err=ignore_aroma_err)
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py", line 458, in init_single_subject_wf
ignore_aroma_err=ignore_aroma_err)
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/bold/base.py", line 401, in init_func_preproc_wf
debug=debug, fmap_demean=fmap_demean, fmap_bspline=fmap_bspline)
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/base.py", line 178, in init_sdc_wf
name='pepolar_unwarp_wf')
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/pepolar.py", line 97, in init_pepolar_unwarp_wf
raise Exception("None of the discovered fieldmaps has the right "
Exception: None of the discovered fieldmaps has the right phase encoding direction. Possibly a problem with metadata. If not, rerun with '--ignore fieldmaps' to skip distortion correction step.

Could you share the metadata (content of the JSON files) from func and fmap
folders? Does this dataset pass the validator (
https://github.com/INCF/bids-validator) without warnings?
BTW - this is unrelated, but you should increase the amount of memory (RAM)
accessible to Docker. 2gb is not enough. You can change this in Docker
settings.
On Sun, May 27, 2018 at 12:32 PM bidhanlamichhane notifications@github.com
wrote:

Hello, I have received following error while running fmriprep-docker:
as : "fmriprep-docker --fs-license-file $FREESURFER_HOM
/Users/.../Desktop/BIDS/Test_data/sub-001
/Users/.../Desktop/BIDS/Test_data002/" and my subject's data folder
consists of : anat/fmap/func data collected using CMRR and multi-band
factor: 4
Running fMRIPREP version 1.0.15:

BIDS dataset path: /data.
Participant list: ['sub-002'].
Run identifier: 20180527-184833_a0043697-6e85-443e-939d-7794bbf24eab.

180527-18:48:34,638 workflow IMPORTANT:
Creating bold processing workflow for
"/data/sub-001/ses-01/func/sub-001_ses-01_task-reward_......._run-01_bold.nii.gz"
(0.26 GB / 368 TRs). Memory resampled/largemem=1.06/2.03 GB.
180527-18:48:35,776 workflow IMPORTANT:
Slice-timing correction will be included.
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line
258, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line
93, in run
self._target(*self._args, **self._kwargs)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py",
line 510, in build_workflow
ignore_aroma_err=opts.ignore_aroma_denoising_errors,
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py",
line 202, in init_fmriprep_wf
ignore_aroma_err=ignore_aroma_err)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py",
line 458, in init_single_subject_wf
ignore_aroma_err=ignore_aroma_err)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/bold/base.py",
line 401, in init_func_preproc_wf
debug=debug, fmap_demean=fmap_demean, fmap_bspline=fmap_bspline)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/base.py",
line 178, in init_sdc_wf
name='pepolar_unwarp_wf')
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/pepolar.py",
line 97, in init_pepolar_unwarp_wf
raise Exception("None of the discovered fieldmaps has the right "
Exception: None of the discovered fieldmaps has the right phase encoding
direction. Possibly a problem with metadata. If not, rerun with '--ignore
fieldmaps' to skip distortion correction step.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/1148, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkpwwbJTF23X76yNNMU_S44BSHS3gJks5t2v9ngaJpZM4UPZyQ
.

Hello,
Thanks you so much for your quick response:
Please find JSON files ( bold and fmap) for one of my task run attached.
Thanks
Bidhan Lamichhane
On May 27, 2018, at 2:51 PM, Chris Filo Gorgolewski <notifications@github.commailto:notifications@github.com> wrote:
Could you share the metadata (content of the JSON files) from func and fmap
folders? Does this dataset pass the validator (
https://github.com/INCF/bids-validator) without warnings?
BTW - this is unrelated, but you should increase the amount of memory (RAM)
accessible to Docker. 2gb is not enough. You can change this in Docker
settings.
On Sun, May 27, 2018 at 12:32 PM bidhanlamichhane <notifications@github.commailto:notifications@github.com>
wrote:

Hello, I have received following error while running fmriprep-docker:
as : "fmriprep-docker --fs-license-file $FREESURFER_HOM
/Users/.../Desktop/BIDS/Test_data/sub-001
/Users/.../Desktop/BIDS/Test_data002/" and my subject's data folder
consists of : anat/fmap/func data collected using CMRR and multi-band
factor: 4
Running fMRIPREP version 1.0.15:

BIDS dataset path: /data.
Participant list: ['sub-002'].
Run identifier: 20180527-184833_a0043697-6e85-443e-939d-7794bbf24eab.

180527-18:48:34,638 workflow IMPORTANT:
Creating bold processing workflow for
"/data/sub-001/ses-01/func/sub-001_ses-01_task-reward_......._run-01_bold.nii.gz"
(0.26 GB / 368 TRs). Memory resampled/largemem=1.06/2.03 GB.
180527-18:48:35,776 workflow IMPORTANT:
Slice-timing correction will be included.
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line
258, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.6/multiprocessing/process.py", line
93, in run
self._target(*self._args, **self._kwargs)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py",
line 510, in build_workflow
ignore_aroma_err=opts.ignore_aroma_denoising_errors,
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py",
line 202, in init_fmriprep_wf
ignore_aroma_err=ignore_aroma_err)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py",
line 458, in init_single_subject_wf
ignore_aroma_err=ignore_aroma_err)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/bold/base.py",
line 401, in init_func_preproc_wf
debug=debug, fmap_demean=fmap_demean, fmap_bspline=fmap_bspline)
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/base.py",
line 178, in init_sdc_wf
name='pepolar_unwarp_wf')
File
"/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/fieldmap/pepolar.py",
line 97, in init_pepolar_unwarp_wf
raise Exception("None of the discovered fieldmaps has the right "
Exception: None of the discovered fieldmaps has the right phase encoding
direction. Possibly a problem with metadata. If not, rerun with '--ignore
fieldmaps' to skip distortion correction step.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/1148, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkpwwbJTF23X76yNNMU_S44BSHS3gJks5t2v9ngaJpZM4UPZyQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/poldracklab/fmriprep/issues/1148#issuecomment-392361534, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ARuCRcRYCzTl8mRPyMiRg7Gggu5KgQVSks5t2wPHgaJpZM4UPZyQ.

Attachments don't work over email when sent to ggithub. Please include the content of your JSON files in the body of the message.

No problem, below is the copy-paste of json files .  YES  this data passed validator.
Thanks
Bidhan
BOLD JSON: (*002_ses-01_task-reward_acq-multiband2p4flatAP_run-01_bold.json)
Modality        "MR"
MagneticFieldStrength   3
Manufacturer    "Siemens"
ManufacturersModelName  "Prisma_fit"
InstitutionName "Center_for_Clinical_Imaging_Research"
InstitutionalDepartmentName     "WP-MR30A"
InstitutionAddress      "South_Kingshighway_510_Saint_Louis_MO_US_63110"
DeviceSerialNumber      "167047"
StationName     "CCIRWP-MR30A"
BodyPartExamined        "BRAIN"
PatientPosition "HFS"
ProcedureStepDescription        "CCIR-00900_CCIR-0987_Braver"
SoftwareVersions        "syngo_MR_E11"
MRAcquisitionType       "2D"
SeriesDescription       "CMRR_fMRI_TASK_AP_2.4mm_368meas"
ProtocolName    "CMRR_fMRI_TASK_AP_2.4mm_368meas"
ScanningSequence        "EP"
SequenceVariant "SK_SS"
ScanOptions     "FS_EXT"
SequenceName    "epfid2d1_96"
ImageType
0       "ORIGINAL"
1       "PRIMARY"
2       "M"
3       "MB"
4       "ND"
5       "NORM"
6       "MOSAIC"
SeriesNumber    18
AcquisitionTime "15:29:35.875000"
AcquisitionNumber       1
ImageComments   "Unaliased_MB4_PE3_LB"
SliceThickness  2.4
SpacingBetweenSlices    2.4
SAR     0.044071
EchoTime        0.03
RepetitionTime  1.2
FlipAngle       52
PartialFourier  1
BaseResolution  96
ShimSetting
0       4608
1       7714
2       1602
3       416
4       7
5       95
6       -35
7       -18
TxRefAmp        239.132
PhaseResolution 1
ReceiveCoilName "Head_32"
ReceiveCoilActiveElements       "HEA;HEP"
PulseSequenceDetails    "%CustomerSeq%_cmrr_mbep2d_bold"
ConsistencyInfo "N4_VE11C_LATEST_20160120"
MultibandAccelerationFactor     4
PercentPhaseFOV 100
EchoTrainLength 96
PhaseEncodingSteps      96
AcquisitionMatrixPE     96
ReconMatrixPE   96
BandwidthPerPixelPhaseEncode    21.259
EffectiveEchoSpacing    0.000489989
DerivedVendorReportedEchoSpacing        0.000489989
TotalReadoutTime        0.0465489
PixelBandwidth  2605
DwellTime       0.000002
PhaseEncodingDirection  "j-"
SliceTiming
0       0
1       0.6275
2       0.0775
3       0.7075
4       0.155
5       0.785
6       0.235
7       0.865
8       0.3125
9       0.9425
10      0.3925
11      1.0225
12      0.47
13      1.1
14      0.55
15      0
16      0.6275
17      0.0775
18      0.7075
19      0.155
20      0.785
21      0.235
22      0.865
23      0.3125
24      0.9425
25      0.3925
26      1.0225
27      0.47
28      1.1
29      0.55
30      0
31      0.6275
32      0.0775
33      0.7075
34      0.155
35      0.785
36      0.235
37      0.865
38      0.3125
39      0.9425
40      0.3925
41      1.0225
42      0.47
43      1.1
44      0.55
45      0
46      0.6275
47      0.0775
48      0.7075
49      0.155
50      0.785
51      0.235
52      0.865
53      0.3125
54      0.9425
55      0.3925
56      1.0225
57      0.47
58      1.1
59      0.55
ImageOrientationPatientDICOM
0       0.999268
1       -0.00126896
2       -0.0382435
3       -0.00331375
4       0.992825
5       -0.119529
InPlanePhaseEncodingDirectionDICOM      "COL"
ConversionSoftware      "dcm2niix"
TaskName        "reward"
ConversionSoftwareVersion       "v1.0.20180328 (OpenJPEG build) Clang8.1.0"
FMAP JASON: (*002/ses-01/fmap/sub-MOCCAG002_ses-01_acq-multiband2p4flatAP_run-01_epi.json)
Modality        "MR"
MagneticFieldStrength   3
Manufacturer    "Siemens"
ManufacturersModelName  "Prisma_fit"
InstitutionName "Center_for_Clinical_Imaging_Research"
InstitutionalDepartmentName     "WP-MR30A"
InstitutionAddress      "South_Kingshighway_510_Saint_Louis_MO_US_63110"
DeviceSerialNumber      "167047"
StationName     "CCIRWP-MR30A"
BodyPartExamined        "BRAIN"
PatientPosition "HFS"
ProcedureStepDescription        "CCIR-00900_CCIR-0987_Braver"
SoftwareVersions        "syngo_MR_E11"
MRAcquisitionType       "2D"
SeriesDescription       "SpinEchoFieldMap_AP_2.4mm"
ProtocolName    "SpinEchoFieldMap_AP_2.4mm"
ScanningSequence        "EP"
SequenceVariant "SK"
ScanOptions     "FS"
SequenceName    "epse2d1_96"
ImageType
0       "ORIGINAL"
1       "PRIMARY"
2       "M"
3       "ND"
4       "MOSAIC"
SeriesNumber    9
AcquisitionTime "15:07:1.167500"
AcquisitionNumber       1
SliceThickness  2.4
SpacingBetweenSlices    2.4
SAR     0.126468
EchoTime        0.066
RepetitionTime  8
FlipAngle       90
PartialFourier  1
BaseResolution  96
ShimSetting
0       4608
1       7714
2       1602
3       416
4       7
5       95
6       -35
7       -18
TxRefAmp        239.132
PhaseResolution 1
ReceiveCoilName "Head_32"
ReceiveCoilActiveElements       "HEA;HEP"
PulseSequenceDetails    "%CustomerSeq%_cmrr_mbep2d_se"
ConsistencyInfo "N4_VE11C_LATEST_20160120"
PercentPhaseFOV 100
EchoTrainLength 96
PhaseEncodingSteps      96
AcquisitionMatrixPE     96
ReconMatrixPE   96
BandwidthPerPixelPhaseEncode    21.259
EffectiveEchoSpacing    0.000489989
DerivedVendorReportedEchoSpacing        0.000489989
TotalReadoutTime        0.0465489
PixelBandwidth  2605
DwellTime       0.000002
PhaseEncodingDirection  "j-"
SliceTiming
0       3.99
1       0
2       4.1225
3       0.1325
4       4.255
5       0.265
6       4.3875
7       0.3975
8       4.52
9       0.5325
10      4.655
11      0.665
12      4.7875
13      0.7975
14      4.92
15      0.93
16      5.0525
17      1.0625
18      5.185
19      1.1975
20      5.32
21      1.33
22      5.4525
23      1.4625
24      5.585
25      1.595
26      5.7175
27      1.7275
28      5.85
29      1.86
30      5.985
31      1.995
32      6.1175
33      2.1275
34      6.25
35      2.26
36      6.3825
37      2.3925
38      6.515
39      2.525
40      6.65
41      2.66
42      6.7825
43      2.7925
44      6.915
45      2.925
46      7.0475
47      3.0575
48      7.18
49      3.19
50      7.315
51      3.325
52      7.4475
53      3.4575
54      7.58
55      3.59
56      7.7125
57      3.7225
58      7.845
59      3.855
ImageOrientationPatientDICOM
0       0.999268
1       -0.00144229
2       -0.0382226
3       -0.0031393
4       0.992825
5       -0.119535
InPlanePhaseEncodingDirectionDICOM      "COL"
ConversionSoftware      "dcm2niix"
IntendedFor     "ses-01/func/sub-MOCCAG002_ses-01_task-reward_acq-multiband2p4flatAP_run-01_bold.nii.gz"
ConversionSoftwareVersion       "v1.0.20180328 (OpenJPEG build) Clang8.1.0”
On May 27, 2018, at 3:01 PM, Chris Filo Gorgolewski <notifications@github.commailto:notifications@github.com> wrote:
Attachments don't work over email when sent to ggithub. Please include the content of your JSON files in the body of the message.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/poldracklab/fmriprep/issues/1148#issuecomment-392362116, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ARuCRUiaA2v_TDlz-2c-ehMVGmim2aL9ks5t2wYZgaJpZM4UPZyQ.

Thank you Chris,
Again, got following error  almost at the end of preprocessing...
Thanks
Bidhan
**Terminal output ( error portion only).
[Node] Running "apply_mask" ("niworkflows.nipype.interfaces.fsl.maths.ApplyMask"), a CommandLine Interface with command:
fslmaths /root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/func_preproc_ses_01_task_reward_acq_multiband3p0tiltPA_run_08_wf/bold_bold_trans_wf/bold_reference_wf/enhance_and_skullstrip_bold_wf/fixhdr_unifize/uni_xform.nii.gz -mas /root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/func_preproc_ses_01_task_reward_acq_multiband3p0tiltPA_run_08_wf/bold_bold_trans_wf/bold_reference_wf/enhance_and_skullstrip_bold_wf/combine_masks/ref_image_corrected_brain_mask_maths.nii.gz /root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/func_preproc_ses_01_task_reward_acq_multiband3p0tiltPA_run_08_wf/bold_bold_trans_wf/bold_reference_wf/enhance_and_skullstrip_bold_wf/apply_mask/uni_xform_masked.nii.gz
180529-03:27:57,192 workflow INFO:
[Node] Finished "fmriprep_wf.single_subject_002_wf.func_preproc_ses_01_task_reward_acq_multiband3p0tiltPA_run_08_wf.bold_bold_trans_wf.bold_reference_wf.enhance_and_skullstrip_bold_wf.apply_mask".
180529-03:28:16,994 workflow INFO:
[Node] Finished "fmriprep_wf.single_subject_002_wf.func_preproc_ses_01_task_reward_acq_multiband3p0tiltPA_run_08_wf.bold_confounds_wf.dvars".
180529-03:28:19,139 workflow INFO:
[Node] Setting-up "fmriprep_wf.single_subject_002_wf.anat_preproc_wf.surface_recon_wf.autorecon1" in "/root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/anat_preproc_wf/surface_recon_wf/autorecon1".
180529-03:28:19,144 workflow INFO:
[Node] Running "autorecon1" ("niworkflows.nipype.interfaces.freesurfer.preprocess.ReconAll"), a CommandLine Interface with command:
recon-all -autorecon1 -i /data/sub-002/ses-01/anat/sub-002_ses-01_T1w.nii.gz -T2 /data/sub-002/ses-01/anat/sub-002_ses-01_T2w.nii.gz -noskullstrip -hires -openmp 1 -subjid sub-002 -sd /out/freesurfer -expert /root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/anat_preproc_wf/surface_recon_wf/autorecon1/expert.opts
180529-03:28:23,323 workflow WARNING:
[Node] Error on "fmriprep_wf.single_subject_002_wf.anat_preproc_wf.surface_recon_wf.autorecon1" (/root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/anat_preproc_wf/surface_recon_wf/autorecon1)
Traceback (most recent call last):
File "/usr/local/miniconda/bin/fmriprep", line 11, in
load_entry_point('fmriprep==1.0.15', 'console_scripts', 'fmriprep')()
File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 314, in main
fmriprep_wf.run(**plugin_settings)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/workflows.py", line 595, in run
runner.run(execgraph, updatehash=updatehash, config=self.config)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/base.py", line 168, in run
self._clean_queue(jobid, graph, result=result))
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/base.py", line 227, in _clean_queue
raise RuntimeError("".join(result['traceback']))
RuntimeError: Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/multiproc.py", line 68, in run_node
result['result'] = node.run(updatehash=updatehash)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 480, in run
result = self._run_interface(execute=True)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 564, in _run_interface
return self._run_command(execute)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 644, in _run_command
result = self._interface.run(cwd=outdir)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base/core.py", line 520, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base/core.py", line 1020, in _run_interface
self.raise_exception(runtime)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base/core.py", line 957, in raise_exception
).format(**runtime.dictcopy()))
RuntimeError: Command:
recon-all -autorecon1 -i /data/sub-002/ses-01/anat/sub-002_ses-01_T1w.nii.gz -T2 /data/sub-002/ses-01/anat/sub-002_ses-01_T2w.nii.gz -noskullstrip -hires -openmp 1 -subjid sub-002 -sd /out/freesurfer -expert /root/src/fmriprep/work/fmriprep_wf/single_subject_002_wf/anat_preproc_wf/surface_recon_wf/autorecon1/expert.opts
Standard output:
INFO: hi-res volumes are conformed to the min voxel size
Subject Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
Current Stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1-f53a55a
INFO: SUBJECTS_DIR is /out/freesurfer
Actual FREESURFER_HOME /opt/freesurfer
Linux 1b2416ff7830 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
'/opt/freesurfer/bin/recon-all' -> '/out/freesurfer/sub-002/scripts/recon-all.local-copy'
/out/freesurfer/sub-002
mri_convert /data/sub-002/ses-01/anat/sub-002_ses-01_T1w.nii.gz /out/freesurfer/sub-002/mri/orig/001.mgz
mri_convert.bin /data/sub-002/ses-01/anat/sub-002_ses-01_T1w.nii.gz /out/freesurfer/sub-002/mri/orig/001.mgz
$Id: mri_convert.c,v 1.226 2016/02/26 16:15:24 mreuter Exp $
reading from /data/sub-002/ses-01/anat/sub-002_ses-01_T1w.nii.gz...
GNU libc version: 2.23
ERROR: Systems running GNU glibc version greater than 2.15
require a newly formatted license file (it's free). Please
download a new one from the following page:
http://surfer.nmr.mgh.harvard.edu/registration.html
Linux 1b2416ff7830 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
recon-all -s sub-002 exited with ERRORS at Tue May 29 03:28:22 UTC 2018
For more details, see the log file /out/freesurfer/sub-002/scripts/recon-all.log
To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting
Standard error:
Return code: 1
Sentry is attempting to send 1 pending error messages
Waiting up to 10 seconds
Press Ctrl-C to quit
fMRIPrep: Please report errors to https://github.com/poldracklab/fmriprep/issues

Your original post indicated that you used the following command line invocation:
fmriprep-docker --fs-license-file $FREESURFER_HOM /Users/.../Desktop/BIDS/Test_data/sub-001 /Users/.../Desktop/BIDS/Test_data002/

Is the FREESURFER_HOM variable set?
Does it point to a file (not folder!) with a valid FreeSurfer license?

You are running fmriprep-docker --fs-license-file $FREESURFER_HOM/license.txt, however $FREESURFER_HOM is not set (please note the typo).
Please make sure you do:
fmriprep-docker --fs-license-file /Applications/freesurfer/license.txt

Thank you so much,
Yes, I did make that change before running again as:
fmriprep-docker --fs-license-file /Applications/freesurfer/license.txt  ………
but still similar error ( below);
Thanks
Bidhan Lamichhane
Terminal output:
Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME   /Applications/freesurfer
FSFAST_HOME       /Applications/freesurfer/fsfast
FSF_OUTPUT_FORMAT nii.gz
SUBJECTS_DIR      /Applications/freesurfer/subjects
MNI_DIR           /Applications/freesurfer/mni
FSL_DIR           /usr/local/fsl
Bidhans-MacBook-Pro:~ bidhan$ fmriprep-docker --fs-license-file /Applications/freesurfer/license.txt  /Users/bidhan/Desktop/BIDS/Test_oppJ_manually_data002/sub-002 /Users/bidhan/Desktop/BIDS/Test_oppJ_manually_data00
Warning: <8GB of RAM is available within your Docker environment.
Some parts of fMRIPrep may fail to complete.
Continue anyway? [y/N]y
RUNNING: docker run --rm -it -v /Applications/freesurfer/license.txt:/opt/freesurfer/license.txt:ro -v /Users/bidhan/Desktop/BIDS/Test_oppJ_manually_data002/sub-002:/data:ro -v /Users/bidhan/Desktop/BIDS/Test_oppJ_manually_data00:/out poldracklab/fmriprep:1.0.15 /data /out participant
docker: Error response from daemon: Mounts denied:
The path /Applications/freesurfer/license.txt
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
.
ERRO[0000] error waiting for container: context canceled
fMRIPrep: Please report errors to https://github.com/poldracklab/fmriprep/issuesBidhans-

The error is similar at the looks of its symptoms, but has nothing to do with the former error.
You first tried to point fmriprep-docker to a path (/license.txt) because of the mistake using an environment variable misspelled.
Now, you are pointing fmriprep-docker to a path that exists indeed in the host (/Applications/freesurfer/license.txt), but docker is complaining:
docker: Error response from daemon: Mounts denied:
The path /Applications/freesurfer/license.txt
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

Luckily this is a pretty explicit message about what is going on. Basically, you'll need to tweak some configurations on you docker installation to allow that path to be used.
Otherwise (and I would advise to take this road, also for security reasons), copy/move the license file to your home directory and point Docker to that license file:
cp /Applications/freesurfer/license.txt $HOME/.freesurfer-license.txt
fmriprep-docker --fs-license-file $HOME/.freesurfer-license.txt

Next time you will encounter that fmriprep breaks because of memory issues. I'm looking at this warning:
Warning: <8GB of RAM is available within your Docker environment.
Some parts of fMRIPrep may fail to complete.
Continue anyway? [y/N]

In order to learn how to increase the RAM available to docker, please read the documentation: https://docs.docker.com/docker-for-mac/#advanced

authors: bidhanlamichhane chrisfilo oesteban

repo: poldracklab/fmriprep


text:
Part4

https://www.e-olymp.com/ru/submissions/5893441
https://www.e-olymp.com/ru/submissions/5917356
https://www.e-olymp.com/ru/submissions/5949679
https://www.e-olymp.com/ru/submissions/5917467
https://www.e-olymp.com/ru/submissions/5949818
https://www.e-olymp.com/ru/submissions/5893546
https://www.e-olymp.com/ru/submissions/5942032

Принято полностью.

authors: dormidon gogun


text:
feat(codegen): change codegen to generate and load metadata types

This PR needs #549 merged.
Once #549  is merged, I'll point this to a separate branch that will have the remaining features of this epic until it's ready to be merged into main, because this PR can't be merged into main until the work on the client hasn't be done (which I'll be doing next), but this is a unit of work, so I rather if it gets reviewed and discussed separately.

Closing, will merge #561 directly instead

repo: polkadot-api/polkadot-api


text:
template-snap-main

template-snap-main.zip

I'm not sure what this PR does exactly - it seems to change all the build outputs. I would suggest only adding the URLs to all.json and committing.

Closing, currently non-mergeable - please feel free to-open with the intended entries.

repo: polkadot-js/phishing


text:
Sphinx is not found while installing

Build Process
Standard compile process from readme - building from 3.4.0 tarball
Environment:

Debian testing

Additional context
Once I use sudo make install it cannot find my Sphinx instalation which is installed via pip. When I run the command without sudo (just for testing purposes) Sphinx is found and does it's job - the instalation obviously fails because of no provileges to /usr.

Very dirty solution is to install Sphinx via apt but you don't want to have duplicated sphinx on your machine.

I don't really know how the python environment work but sphinx is only a build dependency for us so you can uninstall it after doing the make install.

I guess the thing is it's runnig sphinx under root (because of sudo) instead of the user you are spawning the command from. In such case it can't find sphinx and fails. The solution is to tell the part which handles docs to run sphinx under a user and then switch to root to be able to copy stuff into /usr.
Installing python-sphinx package is a workaround - dirty one.

Maybe running make doc before doing the sudo make install can solve your problem.

Just tried but didn't help

If that didn't help, the problem is likely not with you using sudo because make install doesn't run sphinx if you already ran make doc. Could you re-extract the tarball and compile polybar agains as follows:

configure with cmake (generally cmake .. in the build folder)
run make -j
run sudo make install

and please post the output of this entire process here so that we can see where things go wrong.

I will try to do that asap.
Anyway the solution for now is to install python3-sphinx, run sudo make install and then run apt purge python3-sphinx and apt autoremove because of all the dependencies. I really hope some mess is not left on my drive.

If that didn't help, the problem is likely not with you using sudo because make install doesn't run sphinx if you already ran make doc. Could you re-extract the tarball and compile polybar agains as follows:

I don't think that is true because it's a custom target. If I am not wrong CMake calls the custom target at every call.
See https://stackoverflow.com/questions/39895638/cmake-dont-build-project-again-when-executing-make-install.
The only solution I can think of is to generate the documentation at configure time (when cmake .. is called, like the google-test clone).

@Lomadriel you are correct. I'm not a fan of having build components run in the configure phase but it's also not optimal that sphinx is run as root when installing. I'll try to look around and see how other projects do it.
@im-n1 Can you make pip install sphinx globally to  /usr/lib/python3.7/site-packages instead of locally to your home directory?

You could also try setting PYTHONPATH to your user site-packages folder which could help with finding the packages when running as root.
I have dug around a bit in the cmake source code and they seem to also be running sphinx during make install, I'll try to reproduce this issue there as well and see what their solution is.

The cmake project has the same issue if you have sphinx only locally, they don't appear to have any solution for this (or aren't even aware of the problem).
I have found several ways to solve this:

Run make preinstall; sudo make -o preinstall install. This does not build the preinstall target (which runs sphinx) as root
Run sudo PYTHONPATH="/home/n1/.local/lib/python3.7/site-packages" make install. This way the sphinx python library can be found by root.
Install locally with mkdir pkg; DESTDIR=pkg make install. And then copy the files there into your file system: cd pkg; sudo cp -r usr /.

The first one relies on cmake doing all the work in preinstall and using install only for copying files, don't know how futureproof that is.
The second one is a bit dirty because you still run sphinx as root but it should work as long as the paths don't change.
The third one is probably the most futureproof and is basically what cmake does internally as well.
Instead of solving the problem of how to get this to work with a local sphinx installation, I would recommend you install sphinx globally using pip, this would solve all your issues.

I am closing this.
We will not change polybar's build workflow for this and I have outlined multiple possible solutions to the problem above.

repo: polybar/polybar


text:
Split & merge prints

Closes #159.
Closes #160.

It looks like the splitPrint plugin isnt currently used by any langs, is that intended?

Ah, yes it is intended. The splitPrint plugin is intended for C, I don't think any of the current langs have long concatenations to warrant using this plugin.

Ah gotcha, I believe it could have value in gs since concat is 1 byte and print is 0 bytes

Ah, right, added it to gs.

authors: MeWhenI MichalMarsalek

repo: polygolf-lang/polygolf


text:
"Code is incorrect. Please try again." After Google Auth Import

Deleted and regenerated a new Google Auth QR several times. Getting a "Code is incorrect. Please try again." error every time.
UI Looks cool! Def better than my bank's.

Can you show an example? I need something to look at to figure out why

authors: polymorpher sewou

repo: polymorpher/one-wallet


text:
Display /db_xrefs from features

These /dbxrefs are in Chado but need to be passed to the web site.
From Val:

They support the "coordinates' of a feature so it would be nice longer term to make them a pop
up somehow on genomic location
I, | 3086472-3086930 (459nt)

Example from chromosome1.contig:
FT   ncRNA           complement(40916..41770)
FT                   /systematic_id="SPNCRNA.601"
FT                   /product="intergenic RNA (predicted)"
FT                   /db_xref="PMID:21511999"

It's now improved so that the publications from the feature /db_xrefs appear in the literature section.

They support the "coordinates' of a feature so it would be nice longer term to make them a pop
up somehow on genomic location
I, | 3086472-3086930 (459nt)

We can do that now that the feature db_xrefs are available to the web code.
Could we have a link beside or underneath the location with text like "Source ..." that's a link to the reference?  And/or we could have a popup when you hover over "Source ..."

I like "Source ..."

I like "Source ..."

OK, I'll try that and we can see how it looks.

I've added the "Source ..." link:
https://www.pombase.org/gene/SPNCRNA.57
but I wasn't sure how it should be formatted if there are two db_xrefs.  So currently it looks different.  There aren't that many with more than one ref so maybe it doesn't matter.  Here's an example:
https://www.pombase.org/gene/SPNCRNA.1187
Let me know what you think.

I think its fine. we can always rethink when we rearrange top matter later. Is it possible to do a single pop up with 2 independent links?

Is it possible to do a single pop up with 2 independent links?

Yep, but that would have taken longer.  :-)

I'm going to close this.  We can open new issues for changes.

authors: ValWood kimrutherford

repo: pombase/website


text:
Update Windows build to be able to use the latest Visual C++ Build Tools

This change updates the Windows build script to add the compiler version number (15.4) of the C++ compiler in the latest Visual C++ Build Tools.
Also updates waf to the latest version.

AppVeyor passed. No need to wait on Travis, merging.

@kulibali should this trigger a release?

I don't think so; it doesn't affect how ponyc works, just how it is built from source.

authors: Praetonus SeanTAllen kulibali

repo: ponylang/ponyc


text:
Rename mod and related operators to rem

as our mod is actually calculating the remainder (results have the sign of the dividend, e.g. -5 % 2 = -1),
not the modulo (result have the sign of the divident, e.g. -5 % 2 = 1).
A proper modulo operator will be added in a later PR.

This looks good, but I'd like to have a corresponding tutorial PR ready to merge that fixes the terminology there as well.

This PR: https://github.com/ponylang/pony-tutorial/pull/323 incorporates the mod->rem changes. I merged both together as the partial arithmetic PR contains lots of mentions of the modulo operator and thus changed it there.

@mfelsche can you add release notes to this PR please?

Release Notes Draft
This change renames the % operation from mod, standing for Modulo, to rem, standing for Remainder. The reason is that % in Pony was actually computing the remainder, not the modulo. The difference is obvious when handling signed integers:
The result of the Modulo operation always has the sign of the divisor, e.g.: -5 mod 2 = 1.
The result of the Remainder operation always has the sign of the dividend, e.g.: -5 rem 2 = -1.
Pony does the latter. We are working on adding a proper Modulo operator later on.
This is a breaking change, if you used one the mod function on Integers or implemented your own mod operator on your data types.

authors: SeanTAllen jemc mfelsche


text:
Need advice to clean up content's upload files when the content is deleted

When I delete a content, its uploaded files don't get deleted. I've added AfterDelete hook in the content .go file but couldn't a method to get a full path of the files to delete with standard lib. I am not sure if this is the way to do it or there are other simple ways. I don't want to go to upload section and manually delete files everytime I delete a content. Please advise.

Hi @ekkapob -
What is the output of fmt.Printf("%#v", t) - where 't' is the content type receiver on the AfterDelete method?
Also, what are the contents of the 'uploads' directory in your Ponzu project?

the Printf is
&content.Promotion{Item:item.Item{UUID:uuid.UUID{0x39, 0x85, 0x9f, 0xf4, 0x5b, 0x42, 0x40, 0x6f, 0x93, 0x7a, 0x7, 0x86, 0xc8, 0xe7, 0x16, 0x8}, ID:4, Slug:"promotion-39859ff4-5b42-406f-937a-0786c8e71608", Timestamp:1508519565000, Updated:1508476365710}, Body:"wer", Photos:[]string{"/api/uploads/2017/10/1508476365-scan-1.jpeg"}}

I see the full-path now so I think I just use upload/.... path to delete the file.
@nilslice

Sounds good! 👍🏼

authors: ekkapob nilslice

repo: ponzu-cms/ponzu


text:
Integration of wishlist across all the products

Description:
We propose integrating wishlist functionality across all products, enabling users to conveniently save and revisit desired items. This enhancement aims to elevate user experience by providing seamless item tracking and fostering engagement. Below are the tasks required to implement this feature:
Tasks:

Create Wishlist UI Components: Develop UI components to allow users to add items to their wishlist and view/manage their wishlist.

Steps to Implement:

Design the UI elements for adding items to the wishlist and viewing/managing the wishlist.
Implement frontend components for adding items to the wishlist and displaying wishlist items.

Expected Behavior: Users should be able to add products to their wishlist and view/manage their wishlist seamlessly.

Backend Logic for Wishlist Management: Develop backend logic to handle wishlist functionality, including adding/removing items from the wishlist and retrieving wishlist data.

Steps to Implement:

Define API endpoints or backend routes for managing wishlist operations.
Implement logic to add/remove items to/from the wishlist and retrieve wishlist data for users.

Expected Behavior: Backend should support CRUD operations for wishlist items and provide necessary data to frontend for wishlist management.

Integrate Wishlist Functionality Across Product Pages: Modify product pages to include options for adding products to the wishlist.

Steps to Implement:

Update product page UI to include a button or option for adding products to the wishlist.
Integrate frontend functionality to add/remove products to/from the wishlist directly from product pages.

Expected Behavior: Users should be able to add/remove products to/from their wishlist directly from product pages.

@pooranjoyb  I would like to work on this.I will add heart icon on each product.And then store it for every user.

#71 says the same, we we'll get back after discussion with the mentors :) @Niharika0104

repo: pooranjoyb/popShop


text:
[Feature]  we can add reviews section in product and store in supabase

Description
@pooranjoyb
we can add review section and store it in supabase with product it
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Congratulations, @dhruv8433! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work!We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our contributing guidelines

@pooranjoyb
we can add beautiful review form where user can add their review about particular product
based on product id

Existing issue #356