Improve SpikeGLX electrode metadata

First attempt at making the metadata for electrodes columns really explicit
How does this work for you @garrettmflynn? Or were you thinking that the column definitions in the metadata schema would also be dynamically generated for use in validation?

My thought was for these property definitions to make their way into schema.properties.Ecephys.properties.definitions.Electrodes.properties and replace the name + description properties that are currently there. This would actually describe the shape of the data (an array of objects with keys that represent columns) and allow for descriptions to be applied for all the columns that are expected for the interface
Currently, this draft updates the schema.properties.Ecephys.properties.Electrodes.default property, which seems misleading to me—but could be used instead if we have an appropriate justification for this JSON Schema structure that I'm not aware of. From my understanding, default isn't of the expected format for a general Schema.

Are you expecting a different JSON definition for each entry in the schema for the Electrodes array?

Using an instance of the first 5 rows from the table generated on SpikeGLX info, can you report to me what you expect a reverse-engineered schema to look like, together with a valid instance of that schema?

Since we were mainly trying to fix the column headers in the table, we just would need to update the Electrodes property definition. At present, custom columns are handled fine even without an appropriate schema definition—they just wouldn't have a description. No need to consider rows independently, they should just conform to the Electrodes object definition, which is linked with a $ref in the Electrodes array schema.
Here's the full schema I'd expect on the frontend, including removal of the default array. It's a .txt file because it seems that GitHub doesn't let you upload JSON files.
In summary, here are the main updates I'd expect:
"definitions": {
    "Electrodes": {
                        "type": "object",
                        "additionalProperties": true,
                        "required": ["channel_name", "group_name"],
                        "properties": {
                            "channel_name":{
                                "type": "string",
                                "description":  "The name of this channel."
                            },
                            "group_name": {
                                "type": "string",
                                "description":  "The name of the ElectrodeGroup this channel's electrode is a part of."
                            },
                            "contact_shapes": {
                                "type": "string",
                                "description":  "The name of the ElectrodeGroup this channel's electrode is a part of."
                            },
                            "gain_to_uV": {
                                "type": "number",
                                "description":  "The scaling factor from the data type to microVolts, applied before the offset."
                            },
                            "shank_electrode_number": {
                                "type": "integer",
                                "description": "0-based index of the electrode on the shank.",
                            },
                            "offset_to_uV": {
                                "type": "number",
                                "description":  "The offset from the data type to microVolts, applied after the gain."
                            },
                            "inter_sample_shift":{
                                "type": "number",
                                "description":  "Time-delay of each channel sampling in proportion to the per-frame sampling period."
                            }
                        }
                    }
                }

Let me know if anything remains unclear.

Thanks that helps clarify a lot.
A couple questions though...

How is it validated that an addditionalProperty in an instance of this schema follows the name+description+type form?

Given this is an object now, not an array, how do we specify the order of the columns (which is something we actually would want to control at the API level)?

The actual data type of each property can matter a lot (uint8 vs. int64, I guess less so for float32 vs. float64 but still...) but the encoding mapping that schematically maps the column type to JSON types is many-to-one, so they cannot be decoded without someone recording the information about what data type is was before JSON encoding. That's why I included a data_type: str field in my current definition; how would that fit into your proposal?

In reference to your .txt file of the complete schema, would that actually work? I'm confused how an array can have minItems of zero, each item following a definition, and that definition being an object with multiple requirements

Basically, what would an instance of the object look like with custom columns added to it?

How is it validated that an additionalProperty in an instance of this schema follows the name+description+type form?

As far as my experience with JSON Schema goes, this is just what the standard allows (where the name is actually the property key). Was there something else you meant by this?
When adding new properties, I assumed we wouldn't specify anything about them per-se—though this could mean we wouldn't have the right input option. Would we want to start passing a modified schema back to neuroconv so it would have access to this?

The actual data type of each property can matter a lot (uint8 vs. int64, I guess less so for float32 vs. float64 but still...) but the encoding mapping that schematically maps the column type to JSON types is many-to-one, so they cannot be decoded without someone recording the information about what data type is was before JSON encoding. That's why I included a data_type: str field in my current definition; how would that fit into your proposal?

Oh sure. My proposal was simply trying to fit everything into JSON Schema. Since everything would end up passing through a JSON parser to get from JavaScript back to Python anyways (thus obscuring the original data type of any input), couldn't we just parse the passed data based on the expected / actual type?
AFAIK this consideration would make it unnecessary to have those original types on the frontend. Does this make sense? Or are there consideration we'd have to make for new properties?

In reference to your .txt file of the complete schema, would that actually work? I'm confused how an array can have minItems of zero, each item following a definition, and that definition being an object with multiple requirements. Basically, what would an instance of the object look like with custom columns added to it?

const emptyElectrodesTable = [] // Empty electrode table (would be minItems: 0)

 // This would be the result to return. It conforms with the object definition with multiple requirements
const singleElectrodeTable = [
   {
      channel_name: 'test',
      group_name: 'group',
      custom_property: True
   }
]

const invalid_electrode = {
    custom_property: True
} // Missing required properties. Would fail if added to the table

Does this make sense?

As far as my experience with JSON Schema goes, this is just what the standard allows (where the name is actually the property key). Was there something else you meant by this?

When adding new properties, I assumed we wouldn't specify anything about them per-se—though this could mean we wouldn't have the right input option. Would we want to start passing a modified schema back to neuroconv so it would have access to this?

The way it works now is the definition of Ecephys/Electrodes is just an array (possibly an empty one) where every element is a name+description defining the name and description of a column on the electrodes table
So I can pass in name/description pairs for predefined columns or custom ones and they both follow the same definition
Where do the 'test' and 'group' values in your example end up on the table at the end of the day? Are those actual values for an actual electrode? Are those the descriptions of the column whose name is the key?

AFAIK this consideration would make it unnecessary to have those original types on the frontend. Does this make sense? Or are there consideration we'd have to make for new properties?

When adding a custom column  with custom data that would restrict the user to either int or float from integer or numeric; might be best to let the user define what kind of data type they'd like to use instead of assuming
What might be the thing that is confusing here is how we have two uses for the term description; this is an actual value in an instance of the JSON object that ends up as an actual value set on the column in the NWB file, not just a default to use to annotate that part of the JSON schema
This results in the metadata structure we currently have, which results in JSON object instances like
{
    Ecephys: {
        Electrodes: [
            {
                name: "channel_name",
                description: "The name of this channel."
            },
            {
                name: "custom_channel",
                description: "My custom description for my custom channel, which will end up the NWB file itself."
            }
        ]
    }
}

Really, this field of the schema should be called ElectrodeColumn instead of Electrodes since it doesn't actually specify information about the electrodes themselves, just what properties they can have
The schema definition of an ElectrodeColumn is that is has a name that can be set, a description that can be set, and I suppose a data type that can also be set (not currently in the schema but that's what this PR includes too)
But if I expand upon your example, the JSON schema defined in your shared .txt file would actually produce the following as a possibility
{
    Ecephys: {
        Electrodes: [
            {
                 channel_name: 'test',
                 group_name: 'group',
            },
            {
                custom_property: ""
            }  # < - minItems = 0 means I should be able to add more objects to this
               # but I guess the definition means they'd each have to have a 'channel_name' and 'group_name' key?
               # But there can only be one electrode table in the file and those columns are already defined
        ]
    }
}

Summary of conclusions from discussion:

the GUIDE table is actually two tables in one entity

the header is the NeuroConv metadata which is validated by NeuroConv metadata schema

This needs the true original data_type of the SI property to be recorded for roundtrip decoding; added in this PR but needs some adjustment in lower level asserts

the body of the table (the rows of electrodes) are validated by a separate schema that does not really exist yet; this is easily added however by harnessing pandas which can read the JSON form of the previous helper function and already has utils for automatically building a JSON schema using the JSON table specification; added in this PR, but need to add some tests for it

I'll resolve the testing stuff on this PR next week, otherwise the new methods should be good to test on the GUIDE @garrettmflynn

... though the next step that is required is to add some helper functions that accept a modified JSON object and add/update the property values in the recording extractor
But I think we were still waiting on the 'add column' table functionality for that anyway as I recall

This approach has been abandoned in favor of GUIDE specific functionalities


debugPrint, noteTweenX, and noteTweenY crashes the game when put into function onUpdate

Describe your bug here.
This bug report is pretty self-explanatory. The title explains it all.
Here's a script that won't crash the game:
`
local hp_loss = 0.0125
local max_health = 1
local min_health = 0.99999
local rmin_health = 0.99999
local clamp_hp_rate = 0.002
local dir = 0
songPos = 99
_NoteIndX={[0]=0,0,0,0,0,0,0,0}
function onCreate()
    _NoteIndX = {[0]=defaultOpponentStrumX0,defaultOpponentStrumX1,defaultOpponentStrumX2,defaultOpponentStrumX3,defaultPlayerStrumX0,defaultPlayerStrumX1,defaultPlayerStrumX2,defaultPlayerStrumX3}
    debugPrint('test')
end

function opponentNoteHit()
    health = getProperty('health')
    setProperty('health', math.max(health - hp_loss, rmin_health+0.00001))
    hp_loss=hp_loss+0.00005
end

function onUpdate()
    songPos = getSongPosition() or 0
    health = getProperty('health')
    -- Events
    if curStep==256 then
        max_health=2
        min_health=0
    end
    if curStep==1022 then
        max_health=1.5
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0008
    end
    if curStep==1408 then
        max_health=1
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0004
    end
    if curStep==1792 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==1919 then
        max_health=2
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.001
    end
    if curStep==2048 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==2176 then
        max_health=2
        min_health=1.75
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.2
    end
    local rmin_l = rmin_health
    rmin_health = lerp(rmin_health, min_health, clamp_hp_rate)
    if health < rmin_health and rmin_l==rmin_health then
        setProperty('health', 0)
    end
    if health <= rmin_health and rmin_l~=rmin_health then
        setProperty('health', rmin_health)
    end
    if health > max_health then
        setProperty('health', lerp(health, max_health, clamp_hp_rate))
    end
    if health <= max_health and health >= min_health then
        clamp_hp_rate=999
    end
end

function onUpdatePost()
    if curStep>=256 then
        for i=0,7,1 do
            noteTweenX('ntx'..i, i, _NoteIndX[i] + (math.sin(songPos/360)*25)+90, 0.2)
            noteTweenDirection('ntd'..i, i, (math.cos(songPos/360)*25)+90, 0.2)
        end
    end
end

function lerp(val,tar,rate)
    local res = val+((tar-val)*rate)
    if val<tar then
    res=math.min(res,tar)
    else
    res=math.max(res,tar)
    end
    return res
end

function onBeatHit()

end

`
Here's a script that will crash the game, this bug also affects earlier versions of Psych Engine:
`
local hp_loss = 0.0125
local max_health = 1
local min_health = 0.99999
local rmin_health = 0.99999
local clamp_hp_rate = 0.002
local dir = 0
songPos = 99
_NoteIndX={[0]=0,0,0,0,0,0,0,0}
function onCreate()
    _NoteIndX = {[0]=defaultOpponentStrumX0,defaultOpponentStrumX1,defaultOpponentStrumX2,defaultOpponentStrumX3,defaultPlayerStrumX0,defaultPlayerStrumX1,defaultPlayerStrumX2,defaultPlayerStrumX3}
    debugPrint('test')
end

function opponentNoteHit()
    health = getProperty('health')
    setProperty('health', math.max(health - hp_loss, rmin_health+0.00001))
    hp_loss=hp_loss+0.00005
end

function onUpdate()
    songPos = getSongPosition() or 0
    health = getProperty('health')
    -- Events
    if curStep==256 then
        max_health=2
        min_health=0
    end
    if curStep==1022 then
        max_health=1.5
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0008
    end
    if curStep==1408 then
        max_health=1
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0004
    end
    if curStep==1792 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==1919 then
        max_health=2
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.001
    end
    if curStep==2048 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==2176 then
        max_health=2
        min_health=1.75
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.2
    end
    local rmin_l = rmin_health
    rmin_health = lerp(rmin_health, min_health, clamp_hp_rate)
    if health < rmin_health and rmin_l==rmin_health then
        setProperty('health', 0)
    end
    if health <= rmin_health and rmin_l~=rmin_health then
        setProperty('health', rmin_health)
    end
    if health > max_health then
        setProperty('health', lerp(health, max_health, clamp_hp_rate))
    end
    if health <= max_health and health >= min_health then
        clamp_hp_rate=999
    end
    if curStep>=256 then
        for i=0,7,1 do
            noteTweenX('ntx'..i, i, _NoteIndX[i] + (math.sin(songPos/360)*25)+90, 0.2)
            noteTweenDirection('ntd'..i, i, (math.cos(songPos/360)*25)+90, 0.2)
        end
    end
end

function onUpdatePost()

end

function lerp(val,tar,rate)
    local res = val+((tar-val)*rate)
    if val<tar then
    res=math.min(res,tar)
    else
    res=math.max(res,tar)
    end
    return res
end

function onBeatHit()

end

`
Command Prompt/Terminal logs (if existing)
(A blank error message)

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No, I have made no changes to the build

no crash here, either it's already fixed on source or it's a problem on your end

@frantastic24, try loading the script into the lore song in FNF VS Ourple Guy. Maybe you'll get a crash there?

If it does crash, that means this bug has already been fixed if you tested it on the latest version of Psych Engine

I hadn't tested this script in particular, but having used Psych Engine 0.5.1 I can confirm that sending several logs via debugPrint(), at least once a step, crashes the game after about 15 seconds. I don't have the details since this thing does not emit a stack trace on error, so I can only guess some buffer is probably running out of space somewhere. Hopefully in the current builds this problem won't be present.

It's true debugPrint crashes in some scenarios but it's not the case for tweens from my experience

That might be what's happening with the tweens @DragShot, it might be a memory issue.

I added function cancleTween to the script and it didn't crash; I think I know what the issue is.

The script below fixed the crashing:
`
local hp_loss = 0.0125
local max_health = 1
local min_health = 0.99999
local rmin_health = 0.99999
local clamp_hp_rate = 0.002
local dir = 0
local swing = false
songPos = 0
_NoteIndX={[0]=0,0,0,0,0,0,0,0}
tagsDone = {}
function onCreate()

end

function opponentNoteHit()
    health = getProperty('health')
    setProperty('health', math.max(health - hp_loss, rmin_health+0.00001))
    hp_loss=hp_loss+0.00005
end

function onUpdate()
    _NoteIndX = {[0]=defaultOpponentStrumX0,defaultOpponentStrumX1,defaultOpponentStrumX2,defaultOpponentStrumX3,defaultPlayerStrumX0,defaultPlayerStrumX1,defaultPlayerStrumX2,defaultPlayerStrumX3}
    songPos = getSongPosition() or 0
    health = getProperty('health')
    local rmin_l = rmin_health
    rmin_health = lerp(rmin_health, min_health, clamp_hp_rate)
    if health < rmin_health and rmin_l==rmin_health then
        setProperty('health', 0)
    end
    if health <= rmin_health and rmin_l~=rmin_health then
        setProperty('health', rmin_health)
    end
    if health > max_health then
        setProperty('health', lerp(health, max_health, clamp_hp_rate))
    end
    if health <= max_health and health >= min_health then
        clamp_hp_rate=999
    end
    cancleTween('ntx'..i)
    cancleTween('ntd'..i)
end

function onUpdatePost()
    -- Events
    if curStep==256 then
        max_health=2
        min_health=0
        swing=true
    end
    if curStep==1022 then
        max_health=1.5
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0008
        swing=false
    end
    if curStep==1408 then
        max_health=1
        min_health=0.5
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.0004
    end
    if curStep==1277 then
        swing=true
    end
    if curStep==1792 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==1919 then
        max_health=2
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.001
    end
    if curStep==2048 then
        max_health=0.25
        min_health=0
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.005
    end
    if curStep==2176 then
        max_health=2
        min_health=1.75
        setProperty('health', math.max(health, min_health))
        clamp_hp_rate=0.2
    end
    -- Swing Notes
    if swing then
        for i=0,7,1 do
            noteTweenX('ntx'..i, i, _NoteIndX[i] + (math.sin((songPos+(i*60))/360)*50), 0.2)
            noteTweenDirection('ntd'..i, i, (math.cos(songPos/360)*25)+90, 0.2)
        end
    end
    if curStep==1022 then
        ResetNotes()
    end
end

function ResetNotes()
    for i=0,7,1 do
        noteTweenX('ntx'..i, i, _NoteIndX[i], 0.2)
        noteTweenDirection('ntd'..i, i, 90, 0.2)
    end
end

function lerp(val,tar,rate)
    local res = val+((tar-val)*rate)
    if val<tar then
    res=math.min(res,tar)
    else
    res=math.max(res,tar)
    end
    return res
end

`
The reason why the game is crashing is that it isn't canceling the tweens lmao. The program creates too many tweens.


Projectiles reflect into walls when two collisions happen within the same frame

The issue seems to be the Collider.Cast not recognizing the second collision.


graph/graphs/gen: allow dst to determine first ID number

@vladimir-ch @mewmew Please take a look.

LGTM


FATAL EXCEPTION: TokenRefresher in firebase authentication(Google Login)

Steps to Reproduce

Login with google and facebook crashing app first time with firebase authentication which was working fine before package upgrade.
Logs

E/AndroidRuntime( 5654): FATAL EXCEPTION: TokenRefresher
E/AndroidRuntime( 5654): Process: com.adilstore.rakeshproject, PID: 5654
E/AndroidRuntime( 5654): java.lang.NoSuchFieldError: No static field PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/com.adilstore.rakeshproject-CsXsXRhlSbbnXzGSokre7Q==/base.apk!classes2.dex)
E/AndroidRuntime( 5654): 	at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown Source:7)
E/AndroidRuntime( 5654): 	at com.google.android.gms.flags.FlagRegistry.initialize(Unknown Source:4)
E/AndroidRuntime( 5654): 	at com.google.firebase.auth.internal.zzx.initialize(Unknown Source:3)
E/AndroidRuntime( 5654): 	at com.google.firebase.auth.internal.zzt.run(Unknown Source:14)
E/AndroidRuntime( 5654): 	at android.os.Handler.handleCallback(Handler.java:790)
E/AndroidRuntime( 5654): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 5654): 	at android.os.Looper.loop(Looper.java:171)
E/AndroidRuntime( 5654): 	at android.os.HandlerThread.run(HandlerThread.java:65)
I/Process ( 5654): Sending signal. PID: 5654 SIG: 9
Application finished.

flutter analyze
E:\flutterProjects\Rakesh_New\rakesh_project>flutter analyze
Analyzing rakesh_project...
No issues found! (ran in 3.8s)

E:\flutterProjects\Rakesh_New\rakesh_project>

flutter doctor -v

E:\flutterProjects\Rakesh_New\rakesh_project>flutter doctor -v
[√] Flutter (Channel beta, v0.8.2, on Microsoft Windows [Version 10.0.17134.320], locale en-US)
    • Flutter version 0.8.2 at E:\flutter
    • Framework revision 5ab9e70727 (4 weeks ago), 2018-09-07 12:33:05 -0700
    • Engine revision 58a1894a1c
    • Dart version 2.1.0-dev.3.1.flutter-760a9690c2

[√] Android toolchain - develop for Android devices (Android SDK 28.0.2)
    • Android SDK at E:\MyProgramFiles\android-sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.2
    • ANDROID_HOME = E:\MyProgramFiles\android-sdk
    • Java binary at: E:\MyProgramFiles\android\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[√] Android Studio (version 3.2)
    • Android Studio at E:\MyProgramFiles\android
    • Flutter plugin version 29.0.2
    • Dart plugin version 181.5616
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[√] Connected devices (2 available)
    • Redmi Note 5 Pro          • 60c198c9      • android-arm64 • Android 8.1.0 (API 27)
    • Android SDK built for x86 • emulator-5554 • android-x86   • Android 8.1.0 (API 27) (emulator)

• No issues found!

Also this fixes the issue
https://stackoverflow.com/questions/52730515/flutter-error-java-lang-nosuchfielderror-prefer-highest-or-remote-version-no-fo

This is because of firebase plugin which uses the outdated versions of google play services & firebase apis

@timsneath  The gradle hack solves this but this has to be adressed

Adding @bparrishMines to take a look.

Seems new versions of the Firebase plugins were published yesterday.
Is this still an issue?

Verifying .......

Verified 👍  🥇 💯 👍
Yo! This issue has been fixed after Update.

I can confimr it works now although I had to uninstall the App after doing the package upgrade because I got some internbal Firebase Error

I fear I was a bit fast, after my App ran for some time I got this error again
E/AndroidRuntime( 7670): FATAL EXCEPTION: TokenRefresher
E/AndroidRuntime( 7670): Process: com.joinorcreate.mobile, PID: 7670
E/AndroidRuntime( 7670): java.lang.NoSuchFieldError: No field PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/com.joinorcreate.mobile-2/base.apk:classes2.dex)
E/AndroidRuntime( 7670): 	at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.android.gms.flags.FlagRegistry.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.firebase.auth.internal.zzx.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.firebase.auth.internal.zzt.run(Unknown Source)
E/AndroidRuntime( 7670): 	at android.os.Handler.handleCallback(Handler.java:751)
E/AndroidRuntime( 7670): 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 7670): 	at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime( 7670): 	at android.os.HandlerThread.run(HandlerThread.java:61)

@bparrishMines

I fear I was a bit fast, after my App ran for some time I got this error again
E/AndroidRuntime( 7670): FATAL EXCEPTION: TokenRefresher
E/AndroidRuntime( 7670): Process: com.joinorcreate.mobile, PID: 7670
E/AndroidRuntime( 7670): java.lang.NoSuchFieldError: No field PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/com.joinorcreate.mobile-2/base.apk:classes2.dex)
E/AndroidRuntime( 7670): 	at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.android.gms.flags.FlagRegistry.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.firebase.auth.internal.zzx.initialize(Unknown Source)
E/AndroidRuntime( 7670): 	at com.google.firebase.auth.internal.zzt.run(Unknown Source)
E/AndroidRuntime( 7670): 	at android.os.Handler.handleCallback(Handler.java:751)
E/AndroidRuntime( 7670): 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 7670): 	at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime( 7670): 	at android.os.HandlerThread.run(HandlerThread.java:61)

hey! can you post your pubspec.yaml dependency section

#firebase Dependencies
cloud_firestore: any
google_sign_in: ^3.2.1
firebase_performance: any
firebase: any
firebase_remote_config: any
firebase_auth: any
flutter_facebook_login: any
try deleting pubspec.lock

Ok, seems to work, I was a victim ogf the version bump, now really on the latest version

Unfortunately, none of the solutions seem to work for me:

Explicitly listed implementation 'com.google.firebase:firebase-core:16.0.4'
Removed pubspec.lock and ran flutter packages get
Ran flutter clean

Any other ideas?

Reopening the issue

@rakeshlanjewarwork are you seeing this issue again as well?

Did you run also a Flutter package upgrade?

No , i don't seeing this issue,
But @mk-dev-1 has the problem thats why i am reopening the issue .

@rakeshlanjewarwork If it is now working for you it's unlikely a Flutter bug.
I'm going to close again.
Feel free to continue investigating and discussing here though.
@mk-dev-1 If it turns out to be another Flutter bug please create a new issue with
a properly filled out issue template with as much information as possible how to reproduce.

@escamoteur: Yes, I did. Sorry I did not mention it already. This got me to version 0.9.4 - not sure why it's not 0.10.0 though...
@zoechi: This is an existing project. I'll see if I can find out more...

@mk-dev-1 for 0.10.0 you'd need to switch to master channel
flutter channel master
flutter doctor

Dev channel also works

Just saw that flutter upgrade shoudl also update packages, so not sure if that is going to be of help. But I'll give it a shot anyway. Also will try flutter update-packages --force-upgrade
@zoechi: Thanks, that's what I thought

flutter update-packages --force-upgrade

is for updating dependencies in packages and examples included in Flutter and you should not use it except when you are trying to modify these packages yourself.
flutter packages upgrade

updates the dependencies in your project as far as the version constraints allow it.

Tried again flutter clean, flutter upgrade - no change.
Error message
    Process: app.apax.monitor, PID: 29127
    java.lang.NoSuchFieldError: No field PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/app.apax.monitor-1/base.apk)
        at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown Source)
        at com.google.android.gms.flags.FlagRegistry.initialize(Unknown Source)
        at com.google.firebase.auth.internal.zzx.initialize(Unknown Source)
        at com.google.firebase.auth.internal.zzt.run(Unknown Source)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.os.HandlerThread.run(HandlerThread.java:61)

flutter doctor -v
[✓] Flutter (Channel beta, v0.9.4, on Linux, locale en_US.UTF-8)
    • Flutter version 0.9.4 at /opt/flutter
    • Framework revision f37c235c32 (3 weeks ago), 2018-09-25 17:45:40 -0400
    • Engine revision 74625aed32
    • Dart version 2.1.0-dev.5.0.flutter-a2eb050044

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/apax/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 27.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.28.1)
    • VS Code at /usr/share/code
    • Flutter extension version 2.19.0

[✓] Connected devices (2 available)
    • SM A510F                  • 3300348d396223b5 • android-arm • Android 7.0 (API 24) (emulator)
    • Android SDK built for x86 • emulator-5554    • android-x86 • Android 8.1.0 (API 27) (emulator)

• No issues found!

Somehow I was stuck on firebase_auth: ^0.5.20 - not sure I understand why. I now added 0.6.2+1 manually, and would imagine that that fixes it....

@rakeshlanjewarwork
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/618. Any further collaboration will be done there.


onResourceReceived callbacks not being called (at times) on urls that redirect with status 302

I have been doing some resource counting inside of phantomjs, and I have recently come across a bug involving page.onResourceReceived callbacks not being called consistently when the response from the server is a 302.
I am seeing two failure cases:

For some URLs, the callback is never being called when request.stage === 'start', yet it is being called when stage === 'end'.  This behavior seems to be deterministic and a function of the URL being requested.

Here is a test script that exposes this behavior:
https://gist.github.com/sethbridges/5879484

For some URLs, the callback is called consistently except for 1 in 20 times where the callback is only called when request.stage === 'start', but not when request.stage === 'end'. This behavior is hard to pin down, and so I don't have a consistent repro currently.

thanks
I was facing the same problem yesterday
because this problem still exists is there a plan
to solve this glitch


Fix users project display [PEOPLE-7]

It seems that the Users tab displays everything correctly on staging/dev now; Production still has Backbone, so won't work properly until we finally deploy. Some booked projects appeared twice - in the Booked section and other sections, this is now fixed. + some old debugging artifact got removed.
JIRA: https://netguru.atlassian.net/browse/PEOPLE-7

:+1:


Support save a WorkspaceEdit

Currently there is an API workspace.applyEdit(edit: WorkspaceEdit), it will be helpful to add an API to control whether to save all changes of a WorkspaceEdit.
It could be workspace.applyEdit(edit: WorkspaceEdit, save?: boolean) or a standalone API workspace.saveEdit(edit: WorkspaceEdit).

There is workspace.saveAll


get countrycode from country

I'd like to be able to use this class to have an associated edittext in general, or at least a utility function so we can get String country=CountryPicker.getCountryName(countryCode) (so given "CA") i can autofill this to Canada
Would it be a good idea to move the get Counrylist to the constructor so it happens in newinstance (the read from file?)

You can do it yourself using Android locale methods.
Just the opposite from what I wrote here:
https://github.com/roomorama/AndroidCountryPicker/issues/11


Using SPIFFS on LoRaGO Dock

Using 5.3.2, cant's seem to get file system to work... any changes needed for the LoRaGO Dock ver 1.1 board?? Am I missing something??
When I try to format from the web page, it tries as you can see below...
load 0x4010f000, len 1384, room 16
Assert=Do Asserts
debug=1
readConfig:: Starting
ERROR:: readConfig, file=/gwayConfig.txt does not exist .. FormattingMAC: 18:fe:34:fa:99:3d, len=17
WlanConnect:: Init para 0
0:1. WiFi connect SSID=lafleur, pass=sonyxxxxx
WlanCStatus:: CONNECTED tolafleur
WARNING:: writeConfig, file not exists, formatting /gwayConfig.txt
ERROR:: writeConfig, open file=/gwayConfig.txt
Host esp8266-fa993d WiFi Connected to lafleur on IP=<IP_ADDRESS>
Local UDP port=1700
Connection successful
Gateway ID: 18FE34FFFFFB993D, Listening at SF8 on 903.90 Mhz.
setupOta:: Started
Ready
IP address: <IP_ADDRESS>
Time: Friday 09:36:59
WARNING:: writeConfig, file not exists, formatting /gwayConfig.txt
ERROR:: writeConfig, open file=/gwayConfig.txt
Gateway configuration saved
WWW Server started on port 80
WARNING:: writeConfig, file not exists, formatting /gwayConfig.txt
ERROR:: writeConfig, open file=/gwayConfig.txt
--------------------------------------
ERROR:: addLog:: file=/log-0 does not exist .. rec=1
file open failed=
/log-0
PKT_PULL_RESP:: received
sendPacket:: LoraDown filled
sendPacket:: fini OK
PKT_TX_ACK:: tmst=64947142
PKT_PULL_RESP:: size 197 From <IP_ADDRESS>, port 1700, data: txpk...
ERROR:: addLog:: file=/log-0 does not exist .. rec=2
file open failed=
/log-0
PKT_PULL_RESP:: received
sendPacket:: LoraDown filled
sendPacket:: fini OK
PKT_TX_ACK:: tmst=118709560
PKT_PULL_RESP:: size 198 From <IP_ADDRESS>, port 1700, data: txpk...
ERROR:: addLog:: file=/log-0 does not exist .. rec=3
file open failed=
/log-0
PKT_PULL_RESP:: received
sendPacket:: LoraDown filled
sendPacket:: fini OK
PKT_TX_ACK:: tmst=716422410
PKT_PULL_RESP:: size 198 From <IP_ADDRESS>, port 1700, data: txpk...
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
FORMAT ...DONE
WARNING:: writeConfig, file not exists, formatting /gwayConfig.txt
ERROR:: writeConfig, open file=/gwayConfig.txt

Hmm, occasionaly the filesystem gets corrupted. Especially when pulling the usb plug during file operationa. The solution is to reformat the filesystem again (sorry) by defining FORMAT in the .h file by 1. Do not forget to reset to 0 after succesful format.

Btw. I do not recognize that situation. Will have a look.

What board type did you use and what pin configuration in ESP-sc-gway.h
And does the "old" version of the software as used by SandboxElectronics work?
I do not have one myself so I cannot try.
Maarten

I got my LoraGo Board today, flashed the newest version and can confirm the errors.
Used: #define _PIN_OUT 1
Tomorrow I will try to format the filesystem and check if the error still exists.

I also noticed that the gateay always starts with SF8 but I set it in .h file to SF7.
#define _SPREADING SF7

Connection successful
Gateway ID: 2C3AE8FFFF45106E, Listening at SF8 on 868.10 Mhz.
setupOta:: Started
Ready
IP address: <IP_ADDRESS>
Time: Wednesday 16:41:16
WARNING:: writeConfig, file not exists, formatting /gwayConfig.txt
ERROR:: writeConfig, open file=/gwayConfig.txt
Gateway configuration saved
WWW Server started on port 80

Dont know if this relates to the same problem or if I should open a new issue.

Pin OUt 1 seems to be correct looking at the SandBoxElectronics version.
They seems to use the multiplexing function for pin DIO0, DIO1 and DIO2 just like the Hallard board does. Let me know whether this version works.
Maarten

W.r.t. spreading factor. A bug in _loraFIles.ino on line 47. I will set it to _SPREADING in the next version.
Maarten

I'm using ver 1.1 of the Sandbox board.... It did have ver 4.xx on it when
I receive it, but I was having issues recompiling the code, so I went
directly to your current version...  If I have some time I will try to get
the 4.xx version up again...
I also noted the SF8 issues...
~~ _/) ~~~~ _/) ~~~~ _/) ~~~~ _/) ~~
Tom Lafleur
On Tue, Jul 17, 2018 at 3:42 PM, Maarten Westenberg <
<EMAIL_ADDRESS>wrote:

What board type did you use and what pin configuration in ESP-sc-gway.h
And does the "old" version of the software as used by SandboxElectronics
work?
I do not have one myself so I cannot try.
Maarten
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/things4u/ESP-1ch-Gateway-v5.0/issues/43#issuecomment-405703836,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEXCK1SQUoYf9Jyl_opsfy5t7h_hwhr-ks5uHj4ngaJpZM4VPB0s
.

Tryed to fomat filesystem but didnt solve the issue.
Then I tryed to flash v4.x and the Sandbox version. In both versions I get a compile error also mentioned in this issue: https://github.com/things4u/ESP-1ch-Gateway-v4.0/issues/26

Looks like this is now fixed in 5.3.3


Create a HealthStatus helper class

Checking MicroProfile spec, in CDI section (https://github.com/eclipse/microprofile-health/blob/master/spec/src/main/asciidoc/java-api.adoc#integration-with-cdi) you'll see that they are using a class called HealthStatus. This class is not a spec class but a helper class created for the sake of simplifying the example.
But after using the spec a bit, I have arrived at the conclusion that a simple helper class for basic usage is more beneficial than having to deal with the builder all the time, for this reason, I implemented this simple class in Health extension to improve the developer experience.
PR is coming.

@lordofthejars there is already a similar proposal in the spec - https://github.com/eclipse/microprofile-health/issues/184. Would that cover what you request? Looking at examples in CDI section, keep in mind please that health checks must have names.

Yes it is something similar, but not identical because the HealthStatus approach takes care of the boolean decision too so developers skip the phase of:
if (ok) then .up else .down

@lordofthejars isn't that covered by this method - https://github.com/eclipse/microprofile-health/blob/master/api/src/main/java/org/eclipse/microprofile/health/HealthCheckResponseBuilder.java#L46 ?

Partially yes, my idea is to provide the method that you can set as parameter a BooleanSupplier, so you are not tight only to boolean type. Also will provide directly a HealthCheck object to be used directly by CDI instead of having to do the .build and then create the anonymous class.
So in CDI without this helper class could be:
@Produces
@ApplicationScoped
// ...
public HealthCheck check() {
  boolean state = checkForState();
  HealthCheckResponse healthCheck = HCRB.name("xxx").state(state).build();
  return () -> healthCheck;
}

Now with helper method:
return HealthStatus.state("xxx", check())
```

So all this anonymous class and dealing with builder is encapsulated.

Exactly, I am thinking about how much of this can be pushed up to the spec. Go ahead and create PR, please.

Yes, I think that everything could be pushed into the spec, but let's start with the PR, we can discuss there, maybe even merge and then let's move discussion forward to spec.


Knockout api support

Is there a possiblity that you will implement also bindings and support for knockout.js?

I've added a pull request for a updated and more complete binding for knockout 1.3rc


Disable Viewer moving

Hello! Is it possible to disable the pannellum viewer moving events ?

What do you mean by "moving events"?


⚠ Bofrost.de has degraded performance

In 9e3c684, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1116 ms

Resolved: Bofrost.de performance has improved in 9047d7a after 9 minutes.


feat: filter by untagged chats

The problem
Tagging is a nice way to organize the chats, but it is currently not possible to:

only show new/uncategorized chats;
tidy up the chat list while keeping all tagged chats, effectively treating them as "archived".

The solution I'd like
The possibility to only show chats without a tag.
Above the chat list, I see one tag button without a name (it only contains a whitespace character " "), which does not do anything (apparently). Exactly this item could take over the "untagged" functionality.
Alternatives I've considered
If a chat is not yet tagged, it could appear above a horizontal separator (indicating it as a "new" chat; tagging it will bring it below the separator).

Closing this in favour of #1106, let's continue our discussion there!

Even with the new archiving feature, couldn't this feature request still be useful?
I also would like to know the purpose of the tag button without a name (which only contains a whitespace character " "). It seems to not have any function. And I still believe exactly this item could take over the "untagged" functionality.


Script to unjumble jumbled words

Description
This script allows user to enter a jumbled word and get a list of possible unjumbled valid English words.
Fixes #1634

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
Category:

[x] Automation
[x] Cryptography
[x] Fun
[x] Others

Title: Script to unjumble jumbled words
Folder: Unjumbler
Requirements: None
Script: main.py
Arguments: word
Contributor: THEGAMECHANGER416
Description: Takes a jumbled word and prints list of possible valid words

@avinashkranjan Please merge this P.R. for issue #1634
Really sorry for being so late
Thanks for your patience and help

@avinashkranjan can this be merged?


Allow minimum stack size to be specified for pool threads

We're seeing an issue due to the limited stack size of pool threads.
I guess RLIMIT_STACK can be used to set the stack sizes on Mac and Linux, but what about Windows?

RLIMIT_STACK is a glibc-ism; musl libc for example ignores it. Libuv papers over that difference. It honors RLIMIT_STACK but if that's set to infinity, it makes a best guess.
(That's on Linux. On other platforms, it leaves it up to the pthreads implementation.)
I've opened #3787 to give threads a predictable stack size.


Custom resolvers + Nested stack support in the transform

Issue #, if available:
#185
#480
#263
#561
Description of changes:
This PR is not ready to be merged.
Remaining work

Add CLI integration tests for the full end-to-end CLI -> Transform -> CloudFormation flow with custom stacks included.
Update amplify docs

Changes in PR

The splitStack function that takes a single Template and transforms it into N many connected nested stacks based on a set of regex rules.

https://github.com/mikeparisstuff/amplify-cli/blob/5453c52bc7e1923917f8cc8192a2618fd5ca6ee9/packages/graphql-transformer-core/src/util/splitStack.ts#L40

The TemplateFormatter class that turns the TransformContext into a set of deployment assets.

https://github.com/mikeparisstuff/amplify-cli/blob/5453c52bc7e1923917f8cc8192a2618fd5ca6ee9/packages/graphql-transformer-core/src/TransformFormatter.ts#L35

Added the ctx.putStackMapping and ctx.addToStackMapping methods on the context.

Example usage: https://github.com/mikeparisstuff/amplify-cli/blob/969b80c0387ca4b675266a737e1033b44c1684f7/packages/graphql-dynamodb-transformer/src/DynamoDBModelTransformer.ts#L97

Switched to per-request billing in DynamoDB by default.
Enabling encryption at rest for DynamoDB tables by default.
Added amplify utility functions to help the CLI manage/upload/deploy api projects managed by the transform.
Updates all tests to use the new nested stack deployment routine.
Updated to cloudform 3.5.0
Updated the amplify-cli to use the new nested stacks support.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mikeparisstuff is there any update?

@rajababu3 Yes, I have this working e2e now in my fork if you are interested and want to try it out and offer feedback. The code is still subject to change and there is still a fair amount of testing, documentation, & review work remaining before this gets merged. I am also researching what we can do in order to automatically migrate existing projects to the new world with nested stacks. I can offer more guidance on how to test the fork if you are interested in doing so. LMK.

Hi guyz,
Just so you know, we are working with this version since one week, updating frequently the cli, and it works like a charm! It solved all my issues with big schema.
2 problems remain, I hope it will help:

I have an authorization Table on DynamoDB, I have to make connections on other tables. When I have more than 5 connections (so 5 tables with "authorizations: [Authorization] @connection" , the cli tell me that I have to many GSI.

Or we can have up to 20 GSI to my understanding.
_Secondary Indexes Per Table
You can define a maximum of 5 local secondary indexes.
There is an initial limit of 20 global secondary indexes per table. _
I've just created a new GSI from the DynamoDB on my Authorization table and it's OK.

More a suggestion than a problem.
I have decided to use and deploy with CloudFormation a stack that can handle image processing. It involve API Gateway, Lambda, CloudFront and S3. Very useful!
https://aws.amazon.com/fr/answers/web-applications/serverless-image-handler/

I'd love to reference in the aws-export.json this endpoint, event it did not have been created through the amplify-cli.
My suggestion -> Having the ability to select an existing endpoint with the amplify api add. This will allow us to regroup in one file all of our endpoints (in aws_cloud_logic_custom)
Thanks @mikeparisstuff  and all of you for this great work.

Testing the branch. I am getting Cannot read property 'AuthCognitoUserPoolId' of undefined error on amplify push
my version is 0.2.2-multienv.0

@sakhmedbayev We fixed the issue yesterday. Did you get a chance to pull the code and test it again?

@kaustavghosh06 thanks for asking. I have been trying to use the "nested-stacks" branch on my ongoing project for several days, but faced many issues and had to go back to the master branch. With the "nested-stacks" branch, I managed to deploy only "fresh" and "simple" schemas. Whenever I tried to add custom stacks "amplify push" failed. :-( I guess, I will wait for the official release. I am very looking forward to it.

heyo does this mean that this is available in the main cli now?

heyo does this mean that this is available in the main cli now? 😁

I wish! It looks like it was merged into the multienv branch. So now have to wait for that one. Really wish there was a roadmap or they used the Milestones feature so we could get a rough idea on timing... maybe even help move things along.

@kawallis @jernejcic Actually this appears to be in the main cli now. They bumped the version to 1.0 and current version is 1.0.5. I am running this now (confirmed with amplify -v) and running amplify env brings up the appropriate environment commands confirming this is multienv. Also, if you go to the amplify documentation they removed the beta label from Environments & Teams section.

@gabriel-wilkes Thanks! I literally just came back here to note and celebrate!  🎊

migrat

I am also researching what we can do in order to automatically migrate existing projects to the new world with nested stacks.

@mikeparisstuff any progress on the migration? I've been working around the nested stack issue by updating AppSync and DynamoDB outside of Amplify and I would hate to lose that work.

heyo when setting up multiple environments with this branch i am getting this error
CustomResourcesjson-VST5L9DCSCS2/fa586a50-2f23-11e9-9327-02f46dd00950 was not successfully created: The following resource(s) failed to create: [GetProductLambdaDataSourceRole]. I was following @mikeparisstuff example docs on creating this custom resource

so i was able to get it to go through by add this too my customResources template
					"Fn::Sub": [
						"CreateCustomScanLambdaDataSourceRole-${env}",
						{
							"env": {
								"Ref": "env"
							}
						}
					]
				},```

Is doc available anywhere?


MudDataGrid: Add extensions method on IQueryable for easy filtering and ordering

Description
This pull request introduces two new extensions methods on IQueryable: Where that takes a IEnumerable<IFilterDefinition<T>> and OrderBy that takes a IEnumerable<SortDefinition<T>>.
This enables a straightforward implementations of the ServerData function, for example with EF Core.
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;

namespace MudBlazor;

internal static class QueryGridExtensions
{
    public static async Task<GridData<T>> LoadServerDataAsync<T>(this IQueryable<T> source, GridState<T> state, CancellationToken cancellationToken = default)
    {
        var query = source.Where(state.FilterDefinitions).OrderBy(state.SortDefinitions);
        var items = await query.Skip(state.Page * state.PageSize).Take(state.PageSize).ToListAsync(cancellationToken);
        var totalItems = await query.CountAsync(cancellationToken);
        return new GridData<T> { Items = items, TotalItems = totalItems };
    }
}

(A good implementation would need to order the source with a default ordering in case the sort definitions are empty.)
It also fixes #6682.
How Has This Been Tested?
Two new unit tests have been added: QueryFilterExtensionTest and QuerySortExtensionTest.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Hey @0xced,
thanks for your pull request, I currently struggled to find a way to do those queries user friendly. For myself I would like that extension to be a bit more powerful.
Would you consider to implement an solution where its possible to query for included class structures, like for example extend the MemberExpression for each member of depth?

@Militancy

Would you consider to implement an solution where its possible to query for included class structures, like for example extend the MemberExpression for each member of depth?

I am not sure I understand...
Have you a example?
Will the resulting expressions be EF compatible?

@vernou
In a specific example we have two classes, where we want to query for a value of a nested class. As i tested your stuff i noticed that the the extension for filtering was already working for nested class properties. Only on the sorting part a adjustment was necessary.
I tested it with my own class structures with EF on SQLite successfully.
Example Column for MudDataGrid
<PropertyColumn Property="p => p.B.Name"/>
Class example
public class A {
    public int BId { get; set; }
    public B { get; set; }
}

public class B {
    public string Name { get; set; }
}

A "solution" would be sth like this. But I dont know if its the best way to go.
MemberExpression propertyExpression;
if(sortDefinition.SortBy.Contains('.'))
{
    var properties = sortDefinition.SortBy.Split('.');
    propertyExpression = Expression.Property(parameter, properties.First());
    foreach(var prop in properties.Skip(1))
        propertyExpression = Expression.Property(propertyExpression, prop);
}
else
    propertyExpression = Expression.Property(parameter, sortDefinition.SortBy);

@Militancy I think I figured out a way to support your scenario. Instead of adding one extension method, I added two extension methods (and force pushed my branch). The new one that I added takes an additional Func<ParameterExpression, SortDefinition<T>, Expression> that lets you define the expression as you see fit for the given sort definition. The default implementation for the standard case does Expression.Property(parameter, sortDefinition.SortBy) but now you can write your own if that's not enough.
@ScarletKuro I don't think that's a problem since the type T is user supplied and thus very unlikely to be trimmed.

Hey @tjscience, could you please have a look at this pull request when you get a chance?

@0xced Can this two https://github.com/MudBlazor/MudBlazor/pull/9181 https://github.com/MudBlazor/MudBlazor/pull/9183 be closed then?


Refresh OPA Gatekeeper comparison with CEL

Description
Refresh OPA Gatekeeper comparison with CEL.

Test

Additional Information
Tradeoff

Potential improvement

Thanks, applied!


Add book section

Would you be willing to add a book section to your PWA resource article?
Thanks for your consideration.

I agree with you suggested changes to the title header and to the book’s
description. So it would say: This book teaches you PWA design and the
skills you need to build fast, reliable websites by taking you step-by-step
through real world examples.
Cheers and thanks for agreeing to add it!
On Thu, 21 Dec 2017 at 10:40, Fredrik Söderqvist<EMAIL_ADDRESS>wrote:

@fsoder commented on this pull request.
It feels a bit thin with a whole section for a single entity, but I guess
it's alright - you have to start somewhere.
In src/articles/_posts/2016-11-11-pwa-resources.md
https://github.com/operasoftware/devopera/pull/563#discussion_r158231266
:

@@ -92,3 +92,10 @@ Take a look at what others are doing with Progressive Web Apps. Get inspiration

Google PWA Showcase: Google’s showcase of companies which have befitted from PWAs.
The Business Case for Progressive Web Apps: Jason Grigsby writes a compelling case for the business benefits of PWAs.
PWAs: An African Perspective: We interview two great developers from Nigeria and Kenya about PWAs. Read their thoughts on how PWAs can help solve problems in that region.

+## Books
+
+Books to help you learn about PWAs
End with full stop?
In src/articles/_posts/2016-11-11-pwa-resources.md
https://github.com/operasoftware/devopera/pull/563#discussion_r158232238
:

@@ -92,3 +92,10 @@ Take a look at what others are doing with Progressive Web Apps. Get inspiration

Google PWA Showcase: Google’s showcase of companies which have befitted from PWAs.
The Business Case for Progressive Web Apps: Jason Grigsby writes a compelling case for the business benefits of PWAs.
PWAs: An African Perspective: We interview two great developers from Nigeria and Kenya about PWAs. Read their thoughts on how PWAs can help solve problems in that region.

+## Books
+
+Books to help you learn about PWAs
+
+- Progressive Web Apps: Progressive Web Apps teaches you PWA design and the skills you need to build fast, reliable websites by taking you step-by-step through real world examples in this practical tutorial.
Maybe avoid repeating the title, so:
...: This book teaches you...
The "in this practical tutorial" at the end seems like a disconnected
appendix.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/operasoftware/devopera/pull/563#pullrequestreview-85007458,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVVCggZvh-sm_0T5sExOyhP3pOswhLElks5tCid4gaJpZM4RIg1y
.

Yes, that sounds good to me, will you push a fixup commit?

I made the edits, if I messed something up, please send a fixup. I'll merge this in a moment.

Thanks! I would have fixed it myself, but I was out of the house buying a
Christmas tree.
Happy holidays
On Fri, 22 Dec 2017 at 13:54, Fredrik Söderqvist<EMAIL_ADDRESS>wrote:

Merged #563 https://github.com/operasoftware/devopera/pull/563.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/operasoftware/devopera/pull/563#event-1399561216, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVVCggORS4r0ll5oudE8xlIr2sD0FrtXks5tC6aYgaJpZM4RIg1y
.


How I output a mod list?

After I use this Deep Rock Galactic mod loader and integration, I cannot use the A Better Modding Menu, so how I output a mod list as text?

I find it!
copy profile mod, thanks!


[HDDS-1994] Rename ScmBlockLocationTestIngClient.java to ScmBlockLocationTestingClient.java

And revert HDDS-1965

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
12
https://github.com/apache/hadoop/pull/1322 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/1322

JIRA Issue
HDDS-1994

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1322/1/console

versions
git=2.7.4

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
11
https://github.com/apache/hadoop/pull/1322 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/1322

JIRA Issue
HDDS-1994

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1322/2/console

versions
git=2.17.1

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
10
https://github.com/apache/hadoop/pull/1322 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/1322

JIRA Issue
HDDS-1994

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1322/3/console

versions
git=2.17.1

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Ozone is moved to https://github.com/apache/ozone. Closing.


Does not delete cleanly

When deleting the stack, the construct needs to delete its records
The specified hosted zone contains non-required resource record sets and so cannot be deleted. (Service: Route53, Status Code: 400, Request ID: bcd48189-1ac3-4ea3-8976-a264ff567e44, Extended Request ID: null)

Interesting. Which records are kept? I mean, Handler will remove Route53 Record also if needed.

Same issue here. I have to manually delete [name='_amazonses.MYDOMAUN.', type='TXT'].

@cyberwombat Thanks for the information. That's weird. The Route53 Record that you mentioned is used for SES Domain Verification. It should be deleted on resource removal. Can you share your logs of handler function? You can find the logs from CloudWatch Logs Console. Log Group name contains "DomainIdentityRequestorFunction".

Just manually removed stack, deployed it again and tried to destroy it.
Terminal log:
Are you sure you want to delete: SESStack (y/n)? y
SESStack: destroying...
9:32:18 PM | DELETE_FAILED        | AWS::CloudFormation::CustomResource | DomainIdentityIden...orResource3CDC595E
Received response status [FAILED] from custom resource. Message returned: Invalid request: Expected exactly one of [AliasTarget
9:32:18 PM | DELETE_FAILED        | AWS::CloudFormation::CustomResource | DomainIdentity/Ide...orResource/Default
Received response status [FAILED] from custom resource. Message returned: Invalid request: Expected exactly one of [AliasTarget
, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but found none in Change with [Action=DELETE, Name=dcxzz4iv7b
hysma6tlf4qm25fbkxpruy._domainkey.dev.example.com, Type=CNAME, SetIdentifier=null] (RequestId: af398e41-a632-4b24-8978-ab04
43d77e70)
9:32:24 PM | DELETE_FAILED        | AWS::CloudFormation::Stack          | SESStackThe following resource(s) failed to delete: [DomainIdentityIdentityRequestorResource3CDC595E].
 ❌  SESStack: destroy failed Error: The stack named SESStack is in a failed state. You may need to delete it from the AWS console : DELETE_FAILED (The following resource(s) failed to delete: [DomainIdentityIdentityRequestorResource3CDC595E]. )
    at Object.waitForStackDelete (/node_modules/aws-cdk/lib/api/util/cloudformation.ts:277:11)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at Object.destroyStack (/node_modules/aws-cdk/lib/api/deploy-stack.ts:395:28)
    at CdkToolkit.destroy (/node_modules/aws-cdk/lib/cdk-toolkit.ts:253:9)
    at initCommandLine (/node_modules/aws-cdk/bin/cdk.ts:208:9)
The stack named SESStack is in a failed state. You may need to delete it from the AWS console : DELETE_FAILED (The following resource(s) failed to delete: [DomainIdentityIdentityRequestorResource3CDC595E]. )

Lambda log:
2021-04-12T21:28:04.016-07:00	START RequestId: 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 Version: $LATEST

2021-04-12T21:28:04.190-07:00

Copy
2021-04-13T04:28:04.189Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Verifying Domain for dev.example.com
2021-04-13T04:28:04.189Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Verifying Domain for dev.example.com

2021-04-12T21:28:04.988-07:00

Copy
2021-04-13T04:28:04.988Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Creating a TXT record for verifying domain into zone Z0339125T9XHDLVBK5AJ
2021-04-13T04:28:04.988Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Creating a TXT record for verifying domain into zone Z0339125T9XHDLVBK5AJ

2021-04-12T21:28:05.347-07:00

Copy
2021-04-13T04:28:05.347Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Waiting for DNS records to commit...
2021-04-13T04:28:05.347Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Waiting for DNS records to commit...

2021-04-12T21:28:36.027-07:00

Copy
2021-04-13T04:28:36.014Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Waiting for domain verification...
2021-04-13T04:28:36.014Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Waiting for domain verification...

2021-04-12T21:29:06.227-07:00

Copy
2021-04-13T04:29:06.227Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Enabling DKIM for dev.example.com
2021-04-13T04:29:06.227Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Enabling DKIM for dev.example.com

2021-04-12T21:29:06.409-07:00

Copy
2021-04-13T04:29:06.409Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Creating 3 DNS records for verifying DKIM into zone Z0339125T9XHDLVBK5AJ
2021-04-13T04:29:06.409Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Creating 3 DNS records for verifying DKIM into zone Z0339125T9XHDLVBK5AJ

2021-04-12T21:29:06.610-07:00

Copy
2021-04-13T04:29:06.610Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Waiting for DNS records to commit...
2021-04-13T04:29:06.610Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Waiting for DNS records to commit...

2021-04-12T21:29:37.263-07:00

Copy
2021-04-13T04:29:37.263Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Waiting for DKIM verification...
2021-04-13T04:29:37.263Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Waiting for DKIM verification...

2021-04-12T21:29:37.548-07:00

Copy
2021-04-13T04:29:37.492Z	928901d0-f2ee-4a43-aec6-18aa01eb0ec6	INFO	Notifying success response...
2021-04-13T04:29:37.492Z 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 INFO Notifying success response...

2021-04-12T21:29:37.889-07:00

Copy
END RequestId: 928901d0-f2ee-4a43-aec6-18aa01eb0ec6
END RequestId: 928901d0-f2ee-4a43-aec6-18aa01eb0ec6

2021-04-12T21:29:37.889-07:00

Copy
REPORT RequestId: 928901d0-f2ee-4a43-aec6-18aa01eb0ec6	Duration: 93870.43 ms	Billed Duration: 93871 ms	Memory Size: 128 MB	Max Memory Used: 84 MB	Init Duration: 233.46 ms
REPORT RequestId: 928901d0-f2ee-4a43-aec6-18aa01eb0ec6 Duration: 93870.43 ms Billed Duration: 93871 ms Memory Size: 128 MB Max Memory Used: 84 MB Init Duration: 233.46 ms

2021-04-12T21:32:17.231-07:00

Copy
START RequestId: c6f93f62-5984-4180-b346-7053d6d72bce Version: $LATEST
START RequestId: c6f93f62-5984-4180-b346-7053d6d72bce Version: $LATEST

2021-04-12T21:32:17.269-07:00

Copy
2021-04-13T04:32:17.250Z	c6f93f62-5984-4180-b346-7053d6d72bce	INFO	Getting current DKIM state for domain dev.example.com
2021-04-13T04:32:17.250Z c6f93f62-5984-4180-b346-7053d6d72bce INFO Getting current DKIM state for domain dev.example.com

2021-04-12T21:32:17.545-07:00

Copy
2021-04-13T04:32:17.545Z	c6f93f62-5984-4180-b346-7053d6d72bce	INFO	Disabling DKIM for domain dev.example.com
2021-04-13T04:32:17.545Z c6f93f62-5984-4180-b346-7053d6d72bce INFO Disabling DKIM for domain dev.example.com

2021-04-12T21:32:17.683-07:00

Copy
2021-04-13T04:32:17.683Z	c6f93f62-5984-4180-b346-7053d6d72bce	INFO	Deleting DNS Records used for DKIM verification...
2021-04-13T04:32:17.683Z c6f93f62-5984-4180-b346-7053d6d72bce INFO Deleting DNS Records used for DKIM verification...

2021-04-12T21:32:17.772-07:00

Copy
2021-04-13T04:32:17.771Z	c6f93f62-5984-4180-b346-7053d6d72bce	ERROR	Failed to provision resource! InvalidInput: Invalid request: Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but found none in Change with [Action=DELETE, Name=dcxzz4iv7bhysma6tlf4qm25fbkxpruy._domainkey.dev.example.com, Type=CNAME, SetIdentifier=null]
    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/rest_xml.js:53:29)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:688:14)
    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:690:12)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
2021-04-13T04:32:17.771Z c6f93f62-5984-4180-b346-7053d6d72bce ERROR Failed to provision resource! InvalidInput: Invalid request: Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but found none in Change with [Action=DELETE, Name=dcxzz4iv7bhysma6tlf4qm25fbkxpruy._domainkey.dev.example.com, Type=CNAME, SetIdentifier=null] at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/rest_xml.js:53:29) at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20) at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10) at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:688:14) at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10) at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12) at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10 at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9) at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:690:12) at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)

2021-04-12T21:32:17.908-07:00

Copy
END RequestId: c6f93f62-5984-4180-b346-7053d6d72bce
END RequestId: c6f93f62-5984-4180-b346-7053d6d72bce

2021-04-12T21:32:17.908-07:00

Copy
REPORT RequestId: c6f93f62-5984-4180-b346-7053d6d72bce	Duration: 674.35 ms	Billed Duration: 675 ms	Memory Size: 128 MB	Max Memory Used: 85 MB
REPORT RequestId: c6f93f62-5984-4180-b346-7053d6d72bce Duration: 674.35 ms Billed Duration: 675 ms Memory Size: 128 MB Max Memory Used: 85 MB

Stack code:
 const hostedZone = HostedZone.fromLookup(this, 'HostedZone', {
      domainName,
      privateZone: false
    })

    const identity = new DnsValidatedDomainIdentity(this, 'DomainIdentity', {
      domainName,
      dkim: true,
      region: this.region,
      hostedZone
    })

I don't know if this is relevant but my setup is a sub account of main account which holds the naked domain. In the sub account Route53 has a test subdomain dev.example.com. I doubt it is an issue as it creates the stack fine and works fine.

I went to delete stack from console and this helpful message showed up:
This stack previously failed to delete because the following resources failed to delete. If you choose to retain resources, they will be skipped during this delete operation.

Resources to retain - optional
Selected resources will be skipped during the delete stack operation

DomainIdentityIdentityRequestorResource3CDC595E
dev.example.com

Thanks! Now I can tell that is definitely a bug. Route53 Record removal was failed due to invalid parameter.
I didn't know that removing route53 record also requires ResourceRecords property. I omitted this parameter so it results to stack removal failure. Will fix this issue within this week.

This issue was fixed in v1.0.5 - Specially thanks to @Garethp for providing the fix!


create new VM

[ ] Since the VM uses git installation, i would not call it v3.0.2 on OSF. Maybe: SCT_20170424.ova
[x] Fix https://github.com/neuropoly/spinalcordtoolbox/issues/1280
[x] sct_qc: there is no blinking in the qc report.

For the third point, the version of chrome in the VM is very old and needs updating.

how do you update?

I will update in the new VM. It might grow the size of the VM a bit, but should be reasonable.

Do we have any size constraints? Presently with the addition of libreoffice, the VM is now 4GB

Hum, going from 1.8 to 4G only because of libre office, not sure it's worth it.
If easy to install I'd rather give the instructions on SF

https://sourceforge.net/p/spinalcordtoolbox/wiki/virtual_machine/ is updated.


Add "Find Not In" feature to dashboard

An incredibly useful feature, that would address the most common first scenario when syncing data from FHIR to Dataverse, is the ability to list patients NOT IN dataverse but in FHIR (and visa versa).
Next to the count in each, give an option to view list of missing patients only. List data in one source but not the other, with clarity on which source they are in/not in.
I have customers struggling with this now. There are missing patients in Dataverse, with no easy way to identify which ones are missing in order to find out why, or easily pull the missing data into Dataverse through another means.

as a note - this will need to work when many millions of records are in both systems in order to be useful.


Fixes a problem with auction information views now showing auction end time

Best to look at a whitespace-agnostic diff: https://github.com/artsy/eigen/pull/2363/files?w=1

          1 Warning

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

  Generated by :no_entry_sign: Danger

👍


[UX] Household Profile view enhancement

Describe the enhancement
Screenshot 1

HHs missing routine household task
HH member component has way too much white space and don’t seem responsive. Padding top, bottom, left and right is off. And text margin too
Removed HH members should have reasons for removal, and they should be moved at the bottom of the list and greyed out after removal.
The screen background should be white, only the head title for HH member’s container will have a different color

Adjusted Design

Screenshot 2

HH name and town

HH name should be in medium font weight
the Town and HH ID, should have regular body font size and color should have opacity of 76%
HH No. should have format “HH 1234” and not HH No: 1234

HH members heading

Heading should have smaller font than the body, with medium weight.
the padding of the container should be 24px top, 8px bottom, 16px left and right
the margin for the heading should be same as that for the HH name and Community
the container for the heading should have a greyish blue color. the background of the whole screen should be white

HH Members list

the container for HH member’s list, if it has no HH members, we should indicate it to the user that there no HH members.
the container shouldn’t be squashed to that small size
should the household have a routine visit task even when there no HH members

Adjusted Design

Screenshot 3

The HH member component should be responsive, when certain elements aren’t available. e.g compare “Matthew Jabali, M, 57y” in the screenshot and original design
Conditions appearing more than once on a HH member. Use of 2 commas in list of conditions
The button properties used don’t match with the design properties.

the margin right from screen edge is 12px for the HH member component, so the button should be 12px away from the edge of screen.
button size should be at least 140px, font weight should be regular and not medium/bold, padding left right 8px

Additional task
-[ ] https://github.com/opensrp/fhircore/issues/2020

@HenryRae Can you review the latest apk to verify the applied UI enhancements/fixes? We can create new issues if there are more concerns and close this one.


CI now builds docs website and deploys it to /%version% path

Copy of #5760 reverted merge.
We need to preserve history of docs changes on the webserver.
The goal is to allow users to browse outdated versions of docs.
To make things simple all websites will be released to https://facebook.github.io/react-native/releases/version/XX folder when there is a branch cut.
I switched from Travis CI to Cirle CI because it works faster and I am more familiar with it.
How it works:

If code is pushed to master branch then CI will build a fresh version of docs and put it in https://github.com/facebook/react-native/tree/gh-pages/releases/next folder.
Github will serve this website from https://facebook.github.io/react-native/releases/version/next URL.
All relative URLs will work within that website

If code is pushed to 0.20-stable branch then CI will build a fresh version of docs and put it in https://github.com/facebook/react-native/tree/gh-pages/releases/0.20 folder.
Github will serve this website from https://facebook.github.io/react-native/releases/version/0.20 URL.
All relative URLs will work within that website

If code is pushed to any XX-stable or master branch and this commit has a tag latest then CI will build a fresh version of docs and put it in https://github.com/facebook/react-native/tree/gh-pages/ folder.
Github will serve this website from https://facebook.github.io/react-native/ URL.
All relative URLs will work within that website

I have tested this in a fork, this is the example:
http://bestander.github.io/react-native/
http://bestander.github.io/react-native/releases/next
http://bestander.github.io/react-native/releases/0.40
http://bestander.github.io/react-native/releases/0.41
Caveats: Searchdocs algolia works only with stable version of website, so it will redirect from a versioned to the stable one.
Next steps:

widget/page to switch between versions of websites (still to decide)
(?) simple UI indication mechanism that you are observing not latest/stable docs

@facebook-github-bot shipit

@facebook-github-bot shipit

@facebook-github-bot shipit YOLO

@facebook-github-bot shipit

@facebook-github-bot import

@facebook-github-bot DO SOMETHING!

@facebook-github-bot shipit

I'll try to create a PR from another branch


Tessellating block in world

I have run into a similar issue as others, however on version 1.19.2 for fabric.
Using:
Indium 1.0.9
Sodium 0.4.4
Fabric API 0.76.1
Fabric 0.14.24
The issue occurs when placing a blackboard from Supplementaries.
I've seen you suggest you using very specific versions for the mods, is there a similar fix for 1.19.2?
We're playing on a server, is there a way to fix those specific chunks?

Got a crash report and latest.log?

Here's a couple logs:
Crash Report 1
Crash Report 2
Crash Report 3
General log taken from the PrismLauncher

In your Instance's -> .minecraft/config/fabric folder, Open the indigo-renderer.properties file with a plain-text editor, and set 'always-tesselate-blocks=auto' to =false and see if that helps.

In your Instance's -> .minecraft/config/fabric folder, Open the indigo-renderer.properties file with a plain-text editor, and set 'always-tessellate-blocks=auto' to =false and see if that helps.

Hi, I tried doing this and it appears to have made it worse, now the entire chunk is invisible.

Try updating Moonlight Lib to 1.19.2-2.3.5

Closing: likely to be an issue with another mod?


Add Python Morsels screencasts

These are all short screencasts focused on teaching a single Python topic.
This is the first pull request I've made to add data to PyVideo, so please let me know if there are any issues with the format.

Thanks Trey! This all looks great, just one request: do you mind removing (or mind if I remove) "Python Morsels" from the tags fields? I suspect that this tag will be unique to your series, which is already discoverable as an event, so I'm attempting to avoid duplicating other top-level attributes as tags as well.

That makes sense. 👍 Feel free to remove it or I'll remove it when I get a chance this week.


Security vulnerabilities (Regular expression denial of service)

Two npm dependencies have security vulnerabilities after doing npm audit.
Issue: Regular expression denial of service
Package: glob-parent
Path: @cypress/browserify-preprocessor >   babel-plugin-add-module-exports > chokidar
Patched in: >=5.1.2
Versions

Cypress version: 8.3.1
Preprocessor version:
Node version:

Any issues with upgrading the deps/sub-deps?
I could raise a PR if you like

Have added a PR to fix this.

@ianjamieson  Can you also look at the following which appears when using this plugin:
npm WARN deprecated<EMAIL_ADDRESS>The npm package has moved to @cucumber/cucumber
It's probably a good idea to go around all these.

Further investigation into fixing the npm audit leads me to this article.
I will see if the PR gets merged, but in the mean time I am using npm audit --production for my audits.

@ianjamieson  Just to check the npm warn isn't an audit, it comes from the package maintainer to advise you to move move to the revised package name etc. I think cypress-cucumber should align itself with the package that is being maintained.

:tada: This issue has been resolved in version 4.3.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

in general I agree most of the audit infos are useless especially in the context of a dev-time only testing tool, but in this case it doesn't seem like it could hurt to bump it so I merged

@lgandecki Many thanks for uplifting that package. What do you want to do regarding the deprecated warning regarding cucumber itself? New ticket or also fix it here?

What do you mean by "fix here"? If you want to give the cucumber update a try go ahead, that would be highly appreciated!
Fair warning - It will be more tricky than this one though!


WIP: Added zod validation for all fields in Update Event Page

Zod validation to the event update form in the UpdateEvent component. The key changes and features included in this update are:
Zod Schema Definition:

A comprehensive Zod schema (eventSchema) has been defined to validate the event data. This ensures that all required fields are properly filled out and that they meet specific criteria (e.g., non-empty strings, valid URLs, numeric values for duration and price).
The schema also includes custom error messages for improved user feedback.

Form Data Validation:

Before the event is updated in the database, the event data is validated against the Zod schema. If the validation fails, error messages are displayed to the user, indicating what needs to be corrected.

sir add description

@TejasNasre : I will add it.. It is still work in progress

sir vc ?

@TejasNasre : Added screenshot and description.


Adding monitoring.googleapis.com CRD

Adding the monitoring.googleapis.com CRD to the repo
How have you tested this
kustomize build | kubeconform -schema-location default -schema-location 'https://raw.githubusercontent.com/userbradley/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' -verbose -output pretty

Commits are signed with my key and with git commit -S

Hi @userbradley, we initiated (yet another) fork of this repo here : https://github.com/elmy-team/CRDs-catalog. Feel free to use it. We will migrate open PRs to our fork when we have time.

@CyberHippo sounds good.
I'm happy to be a maintainer on your repo too as I've expressed interest on maintaining this repo
Let me know, happy to have a chat

@userbradley Sure, let know how you would like to maintain the repo (PR triage, etc.) per mail at hippolyte.vergnol[at]elmy.fr
We migrated a couple of open PRs to our repo

@CyberHippo  I have sent you an email from my work account.
I'd look to be triage and approver for the repo. Let me know what you need from my side and we can get this working

Closing this as it's picked up a bunch of guff


Fix pylint errors and add github actions workflow

Fix the pylint errors for both python2 and python3.
Add GitHub actions workflows to check the Python files to python2 and python3 compatibility and linting.

Closing this as main branch will be synced with dev


what does the image in 3dplot mean?

what is the scale number, unit and dicrection of x,y,z mapped to the plot? Thx

Visualization is just a projection of 3D vertices into pixels (check here). All values, scales are handpicked to fit the view screen.

Hope, it is clear now.


The description is very vague.

The window is presented even if the method is not called. So what is the real purpose of this method? It is often called in Initialize method of many samples of a single window apps here on docs.microsoft.com, however whenever I comment it out, it just presents itself anyway.

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

ID: 71c35740-c9f1-30f3-08ff-16d35cee9236
Version Independent ID: 1ead97ab-16a5-4f6b-d037-e107b2451565
Content: CoreWindow.Activate Method (Windows.UI.Core) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.UI.Core/CoreWindow.xml
Product: uwp
Technology: winrt-reference
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Hi, sorry for the delayed response to this issue. For apps that use XAML (which is the majority of UWP apps), the XAML Window object surfaces information from CoreWindow, and the CoreWindow object is rarely used directly. The docs for Window and Window.Activate have more information that might be useful.
This feedback channel is for feedback about the documentation in this topic, and responses to questions might be delayed. For questions or assistance that might need a quicker response, we recommend you visit Microsoft Q&A to post your question.


ecma_make_boolean_value(bool) function is added

ecma_make_boolean_value(bool) function is added in order to make ecma_value form a raw bool.
JerryScript-DCO-1.0-Signed-off-by: István Kádár<EMAIL_ADDRESS>

Just a few fixes for the new function.

Great. Still LGTM.

LGTM


mfrc522: make concurrent-safe

The device itself is not supporting concurrent access. Locking and waiting for a previous operation to finish could introduce a variety of possible dead-locks. While this is not the ideal solution it will prevent hardware-lock for the device if concurrent Read/Write was performed.
All low-level methods are made private, only 4 left public:

ReadCard
ReadAuth
WriteCard
WriteSectorTrail

I'm not sure whether this is a good approach, tbh, since we're hiding low-level methods which might come in handy sometimes. @jdevelop would be great to have your feedback.

gohci

Fixed typos in comments and added an example_test as suggested.

All low-level methods are made private, only 4 left public:

I would prefer to at least have an opportunity to use low-level API in the specific cases ( like setting up the antenna gain or using the internal CRC calculator ). I already have some of the dependencies on that, hiding the methods would make it less useful for me.
Can we maybe split the API in 2, the simplified one with locks and "general" methods, and the one with more fine-grained access?

Note: I pushed a gofmt fix so you'll have to rebase.

Codecov Report

Merging #299 into master will increase coverage by 0.91%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #299      +/-   ##
==========================================
+ Coverage    69.2%   70.11%   +0.91%
==========================================
  Files          98       98
  Lines        8468     8360     -108
==========================================
+ Hits         5860     5862       +2
+ Misses       2454     2344     -110
  Partials      154      154

Impacted Files
Coverage Δ

experimental/devices/mfrc522/mfrc522.go
5.64% <0%> (+1.49%)
:arrow_up:

devices/lepton/lepton.go
88.41% <0%> (+1.21%)
:arrow_up:

Continue to review full report at Codecov.

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

As discussed, moved a few most important low-level operations (CRC, auth, r/w) into commands.LowLevel and exposed it under Dev.LowLevel.
Fixed example_test

gohci


i have try to navigate screen then show me this error??

'package:flutter/src/widgets/navigator.dart': Failed assertion: line 5235 pos 12: '_history.isNotEmpty': is not true.

Hi @afaqnoor
When opening an issue, please try to provide all or some of the information indicated in the template so that we can address this issue properly.
More specifically, please provide the information indicated below:

A completed and minimal reproducible code sample
The output of flutter doctor -v
Reproduction steps

Also, from the line of error provided, this issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and ask questions like this, you may also get some help if you post it on Stack Overflow.
I am closing this issue since little or no information has been provided. If you disagree, kindly update issue with more information, also please write in the comments and I will re-open this for further discussion. Thanks!


Add post for sprint 91 about notifications

Deploy preview for openbuildservice ready!
Built with commit 60b0a64ba8ef11614c851e0a59a90bd445c65088
https://deploy-preview-282--openbuildservice.netlify.app

@hennevogel please have another look


ly does not run .xinitrc

I have a .xinitrc file in my home directory which I used previously with startx to start my window manager.
I started using ly and it looks like the file is not run anymore.
This is evident to as me as I run setxkbmap de & in it which does not take effect when starting my WM with ly.
I made the file executable as by the readme which does not solve the issue

Are you using the xinitrc option in ly?
No? Try to source your .xinitrc from .xsession file
. ~/.xinitrc

https://unix.stackexchange.com/a/47426


Boolean index with ellipsis

Boolean indexing the 'last' index of a 1D array using the ellipsis notation does currently no longer work in the version of JAX I'm using (jax==0.2.26, jaxlib==0.1.75). This is not the intended behavior as the ellipsis should generalize to 0 extra dimensions in front as well (check by for example swapping jnp with np in the example below).
Here's a minimal example:
arr = jnp.array([1, 2, 3])
mask = jnp.array([True, False, True])
arr[..., mask]

This is the full traceback:
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
/tmp/ipykernel_36135/3397629872.py in <module>
      1 arr = jnp.array([1, 2, 3])
      2 mask = jnp.array([True, False, True])
----> 3 arr[..., mask]

~/.anaconda/envs/sax/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py in _rewriting_take(arr, idx, indices_are_sorted, unique_indices, mode, fill_value)
   5701   # followed by an optional reverse and broadcast_in_dim.
   5702   arr = asarray(arr)
-> 5703   treedef, static_idx, dynamic_idx = _split_index_for_jit(idx, arr.shape)
   5704   return _gather(arr, treedef, static_idx, dynamic_idx, indices_are_sorted,
   5705                  unique_indices, mode, fill_value)

~/.anaconda/envs/sax/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py in _split_index_for_jit(idx, shape)
   5780   # Expand any (concrete) boolean indices. We can then use advanced integer
   5781   # indexing logic to handle them.
-> 5782   idx = _expand_bool_indices(idx, shape)
   5783
   5784   leaves, treedef = tree_flatten(idx)

~/.anaconda/envs/sax/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py in _expand_bool_indices(idx, shape)
   6092         expected_shape = shape[start: start + _ndim(i)]
   6093         if i_shape != expected_shape:
-> 6094           raise IndexError("boolean index did not match shape of indexed array in index "
   6095                            f"{dim_number}: got {i_shape}, expected {expected_shape}")
   6096         out.extend(np.where(i))

IndexError: boolean index did not match shape of indexed array in index 1: got (3,), expected ()

Thanks for the report - I'll take a look at the issue today.


Update URL

Updated Marion Louveaux's website URL and description.
We migrated the website to get a proper https URL.
It's so easy to migrate Hugo / Blogdown website !

Thanks for the update!


Dogecoin Version support RPC 1.0

Hello guys,
What version of Dogecoin does RPC Support 1.0?
Please give me this answer.
Best Regards

Newest


Broken positioning when using lazyLoad, centerMode, infinite and variableWidth

Test case:
http://jsfiddle.net/xg5s6g3c/3/
Positioning of slides is broken:

On load
When you use "previous" to navigate to a slide where the image is not yet loaded
On the very last slide, if you reach it by only using "next" to navigate

The positioning becomes correct when all the images are loaded.

Hi there, I just activated lazy load on a gallery to prevent all images in a gallery from loading (duh). But I have the same issue as described above. But I also have the issue where the images don't load in the correct order (which renders the lazyload useless..)
Example:

+1

+1

+1
Lazy Loading with Center Mode is not working correctly.
The last picture, which is the first in the row when center mode is active, isnt loaded due to lazy load (its just blank, like in the fiddle above).

Having the same issue as below.
I would like to use centerMode + lazyload together but having issue as on the example here:
https://codepen.io/beyazt-dere/pen/VwLNBmO
When I remove data-lazy it is working as expected.
https://codepen.io/beyazt-dere/pen/KKpOayV
I am using Slick 1.9.0 version.
And also having issue fancybox popup but I guess this is something to do with this plugin. Any advise is much appreciated.
Thank you in advance.

I would like to use centerMode + lazyload together but having issue as on the example here:
https://codepen.io/bder/pen/VwLNBmO
When I remove data-lazy it is working as expected as below
https://codepen.io/bder/pen/KKpOayV
I am using Slick 1.9.0 version.
And also having issue with fancybox popup. Any advise is much appreciated.
Thank you in advance.


Sample prints to console instead of to Love window

See title.

I'm using print and this outputs to console. It depends where you start löve. When you start from console, it's outputted to console. When you start don't start from console but with console activated inf conf, it's outputted to love windows.


输出警告后导致vue3页面空白

能正常打开pdf显示到页面，控制台输出
Warning: TT: undefined function: 3
随后跳转到新的页面会导致空白，只能F5全局刷新解决
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
vue3.3
vite5

使用wps生成的pdf
vite v5.1.4 building for production...
images/altText_add.svg referenced in<EMAIL_ADDRESS>didn't resolve at build time, it will remain unchanged to be resolved at runtime

images/altText_done.svg referenced in<EMAIL_ADDRESS>didn't resolve at build time, it will remain unchanged to be resolved at runtime

node_modules/pdfjs-dist/build/pdf.js (1982:23) Use of eval in "node_modules/pdfjs-dist/build/pdf.js" is strongly discouraged as it poses security risks and may cause issues with minification.

以上是打包后的提示信息
打包后dist目标部署nginx正常能显示pdf
控制台还是输出：Warning: TT: undefined function: 3
随后跳转到新页面也可以正常显示，就dev启动时才会有跳转新页面空白的情况
TestPDF.pdf

I got that you were able to make your application works in production environment, so I going to close this Issue since there are no errors to be fixed in the component.
If you still have problems feel free to open another Issue.


Variables from scripts not added to current shell with IPython console in Spyder 2.1.5 and later

From<EMAIL_ADDRESS>on 2012-01-13T12:39:26Z
What steps will reproduce the problem?

Create a script with a simple variable assignment, such as "dat=1"
Configure script to "Execute in current Python or IPython interpreter"
Run the script with F5 What is the expected output? What do you see instead? The "dat" variable along with the assigned value (1) should appear in the variable explorer and it should be added to the shell as if it were run directly in the shell.  However, only the default "e" and "pi" variables show in the variable explorer/get added to locals() after running the script.  If the same script is run using a regular (non-IPython) Python interpreter/console, the "dat" variable shows up in the variable explorer and locals() as expected.

After running the script, typing "dat" yields "1" in Spyder 2.1.4, but in Spyder 2.1.5 and later, yields "Traceback (most recent call last):
File "", line 1, in <module>
NameError: name 'dat' is not defined" What version of the product are you using? On what operating system? Reproduced on Windows 7 Pro, 64-bit using Spyder 2.1.5, 2.1.6, but is working fine on Spyder 2.1.2 and 2.1.4 (presumably 2.1.3 as well, but not tested), so a change in 2.1.5 seems to have broken something.  Python is from pythonxy <IP_ADDRESS> (Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]).  IPython version is 0.10.2 in all cases.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=907

From pierre.raybaut on 2012-01-14T06:05:37Z
This has already been fixed (see v2.1.7).
Status: Duplicate
Mergedinto: 893


API Disable deprecation notices by default

Re-branch of https://github.com/silverstripe/silverstripe-framework/pull/4264

Requested in 3.2 to assist with mitigation of new deprecated API.

Thanks @kinglozzer :D


Pull changes made at freeleadsdata/app

Pull request / Merge
Adapt documentation to work at project/app folder.
Add developers training to the footer?

Done.


remove  background with U-2-Net is not as expected,what should I do

Using U-2-Net for image background removal, the effect is not up to expectations, what should I do
the source

the post-processing

I want the end result

Thanks for your suggestions

Maybe U2Net is not good enough for such tiny lines. You can try to train the model on your own dataset.
However, looks like removing white pixels from your image should work fine. Have you tried this approach?