[WIP] [Linux] Functional test refactoring trial on Mac & Windows

WORK IN PROGRESS:
This is a test run to see if any of the refactoring we've done to get the functional test suite running on Linux has broken anything on the Windows or Mac platforms.  Please ignore!

/azp run GitHub VFSForGit Mac Functional Tests

/azp run GitHub VFSForGit Mac Functional Tests

/azp run GitHub VFSForGit Mac Functional Tests

Closing this PR as it is stale.


Use wildcard syntax to match subdomains

It's not clear when creating a DNS resource that it matches subdomains as well. We should add a note in the portal clarifying, or simply use the standard *.google.com syntax to match subdomains.
In the docs, we should add:

How DNS routing works (summary)
How to match subdomains

Portal already supports this syntax, along with ?.domain.com. But connlib doesn't.

There's two syntaxes we may want to support:

*.google.com -- all subdomains recursively
?.google.com -- just one level of subdomains

@jamilbk should *.google.com include google.com(and same for ?)?

@conectado Yeah, that's how I've seen most DNS apps behave


Project Setup For Contributing

Hi, I'm trying to setup the project to walk through its codebase in order to better understand how it works and to potentially contribute with changes. Specifically I'm trying to figure out why passing import arguments in my config file doesn't work https://github.com/krzysztofzablocki/Sourcery/issues/1024
I am experiencing issues setting up Sourcery project for development.
I looked at .circleci/config.yml https://github.com/krzysztofzablocki/Sourcery/blob/master/.circleci/config.yml file to get a high level overview of what is need to setup the project locally.  It has the following commands:
      - checkout
      - run: sudo defaults write com.apple.dt.Xcode IDEPackageSupportUseBuiltinSCM YES
      - run: rm ~/.ssh/id_rsa || true
      - run: for ip in $(dig @<IP_ADDRESS> bitbucket.org +short); do ssh-keyscan bitbucket.org,$ip; ssh-keyscan $ip; done 2>/dev/null >> ~/.ssh/known_hosts || true
      - run: for ip in $(dig @<IP_ADDRESS> github.com +short); do ssh-keyscan github.com,$ip; ssh-keyscan $ip; done 2>/dev/null >> ~/.ssh/known_hosts || true
      - run: brew update 1> /dev/null 2> /dev/null
      - run: brew install sourcekitten
      - run: brew install coreutils
      - run: echo "ruby-3.0.0" > ~/.ruby-version
      - run: bundle install
      - run: bundle exec rake validate_docs
      - run: bundle exec danger || true
      - run: set -o pipefail
      - run: bundle exec rake build
      - run: bundle exec rake tests

So, brew install sourcekitten, brew install coreutils, echo "ruby-3.0.0" > ~/.ruby-version, bundle install all worked fine for me.
But bundle exec rake tests fails with different errors:

I also tried to generate the xcode project with swift package generate-xcodeproj. It worked fine but I get compile errors:

What am I missing? Probably something simple.
Thank you for your help in advance!

don't use swift package generate-xcodeproj like I said above, just open Package.swift, Apple have not updated project generation for a while and it's broken

ah, I missed it, sorry about that! it works now, thank you! now I can play around with it.

no problem, and thanks for wanting to contribute 🙇


what's the diffrence between if prompt maker and if image to prompt?

promp maker need an image input?
i campared the two nodes,they are same,
and when i add the node if chat prompt,it makes the all canvas can't drag
hope fix these

Same problem. It should be a bug.


All my projects working on Nuxt currently not deploing

Builds failed with error:
Error: No output directory named "dist" found.
11:02:29 PM | More details: https://zeit.co/docs/v2/platform/frequently-asked-questions#missing-public-directory
11:02:29 PM | at validateDistDir (/zeit/69d347bcc38c1970/.build-utils/.builder/node_modules/@now/static-build/dist/index.js:132:15)
11:02:29 PM | at Object.build (/zeit/69d347bcc38c1970/.build-utils/.builder/node_modules/@now/static-build/dist/index.js:371:13)
11:02:29 PM | at
11:02:29 PM | at process._tickDomainCallback (internal/process/next_tick.js:228:7)
And two days ago, all build was succesfull, I didn't change anything in nuxt.config.js and now.json.
Nuxt generate configured correctly:

@vanhock It seems like their latest now release is detecting vue projects automatically, and assuming that the output directory should be dist instead of public. I used to have to set this is the nuxt.config.js file:
 generate: {
    dir: 'public'
  }

But you can remove that since it seems that the default now static builder is looking for nuxt's default dist directory.

It works. Thank you for help, @wallslide!
I hope they will fix package.json build scripts support soon.


New BETA for Xiaomi Aqara Vibration sensor

I have uploaded the code for an initial beta release of a SmartThings device handler for the new Xiaomi Aqara Vibration Sensor (Model DJT11LM).
The new code can be viewed here.
I do not yet own an Aqara Vibration Sensor, so it is completely untested and needs beta testing by users who do own one. Please know that it will very likely generate errors in your log, and also not all planned features are implemented.
The initial features are as follows:
• Vibration / Movement detections will generate a Motion - Active event
• When the sensor is tilted, an Acceleration - Active event is generated
• When the sensor is dropped, a Button 1 - pushed event is generated
• The above three event types will be displayed as "Vibration Detected", "Tilt Detected", and "Drop Detected" in the main tile for the sensor in the SmartThings mobile app. If no other events occur within 61 seconds, the display will clear out with a grey background, meaning the sensor is motionless.
• When the sensor is tilted, if the value of tilt angle change is reported, this will be displayed in the mobile app, and also in the events list and in live logging. It is not yet associated with any SmartThings capability so it cannot be used by any SmartApps other than WebCoRE.
• After the sensor has moved, if a 3-axis value is reported, it will generate a Three-Axis event. The X, Y, Z values are the raw values given by the sensor in the range of -2048 to +2047. This feature needs more development to make it useful.
• After vibration events, if the sensor reports the "level" of vibration, it will be displayed in small text at the bottom of the main tile for the sensor in the mobile app, as well as in the events list and in live logging. It is given as the raw reported value on a scale of 0-512.
• The time/date of the most recent vibration, tilt, and drop events are displayed in smaller GUI tiles for the sensor in the mobile app
• As with other bspranger/Xiaomi device handlers, the battery voltage and % level are reported and its replacement date is stored and displayed in a GUI tile for the sensor in the mobile app.
• Preference Settings are similar to those in other bspranger/Xiaomi device handlers, but also include toggles for informational ("info") and debug log messages to be displayed in the Live Logging page of the IDE.
Any and all comments, suggestions, and bug reports are highly encouraged in order to improve this device handler and its functionality.
I'm tagging @oltman on this as he has also been working on device handler code. Hope you can take a look and see what may be improved, especially with regards to the 3-Axis Accelerometer data. Keep in mind I don't own one of these yet, so everything has been coded without any testing at all. Please go easy on me! :)

Thanks, Keith!
I loaded the code and tried it--  One issue is that 'zigbee.getEvent(description)' does not return an event for the returns from this device.  So you never get into parseReadAttr() where all the action is for this device.  The bold line below (which I added in the code) returns the following two lines.  I assume this '[:]' means the result is empty...  Should the parseReadAttr() function be outside of the if (result) statement?  I'm a complete hacker and could make this work, by moving the parseReadAttr() outside of the if(result) function, but that may not make "good code".    I'll force the issue on my side and keep moving with testing.
1be67764-59b9-4e66-9942-dc61b0fb1a1a  9:37:48 PM: debug Motion Sensor 2 parsing: read attr - raw: E9190101010E0505230000E400, dni: E919, endpoint: 01, cluster: 0101, size: 0E, attrId: 0505, encoding: 23, value: 00e40000 result = [:]  1be67764-59b9-4e66-9942-dc61b0fb1a1a  9:36:48 PM: debug Motion Sensor 2 parsing: read attr - raw: E9190101010E05052300009700, dni: E919, endpoint: 01, cluster: 0101, size: 0E, attrId: 0505, encoding: 23, value: 00970000 result = [:]
def parse(String description) {
    displayDebugLog(": Parsing description: ${description}")
    def result = zigbee.getEvent(description)
    log.debug "${device.displayName} parsing: $description result = ${result)" //added by @oltman

    // Determine current time and date in the user-selected date format and clock style
    def now = formatDate()
    def nowDate = new Date(now).getTime()
    // Any report - contact sensor & Battery - results in a lastCheckin event and update to Last Checkin tile
    // However, only a non-parseable report results in lastCheckin being displayed in events log
    sendEvent(name: "lastCheckin", value: now, displayed: false)
    sendEvent(name: "lastCheckinCoRE", value: nowDate, displayed: false)
Map map = [:]
// Send message data to appropriate parsing function based on the type of report
    if (result) {
        displayDebugLog(": Event = ${result}")
        if (description?.startsWith('catchall:')) {
            map = parseCatchAllMessage(description)
        }
        else if (description?.startsWith('read attr - raw:')) {
            map = parseReadAttr(description)
        }
        displayDebugLog(": Parse returned ${map}")
        def results = map ? createEvent(map) : null
        return results
    }
}
Best Regards,
Randy
Randy L. Oltman
m:<PHONE_NUMBER>
On Thursday, September 13, 2018, 8:47:45 PM EDT, Keith G<EMAIL_ADDRESS>wrote:

I have uploaded the code for an initial beta release of a SmartThings device handler for the new Xiaomi Aqara Vibration Sensor (Model DJT11LM).
I do not yet own one an Aqara Vibration Sensor, so it is completely untested and needs beta testing by users who do own one. Please know that it will very likely generate errors in your log, and also not all planned features are implemented.
The initial features are as follows:
• Vibration / Movement detections will generate a Motion - Active event
• When the sensor is tilted, an Acceleration - Active event is generated
• When the sensor is dropped, a Button 1 - pushed event is generated
• The above three event types will be displayed as "Vibration Detected", "Tilt Detected", and "Drop Detected" in the main tile for the sensor in the SmartThings mobile app. If no other events occur within 61 seconds, the display will clear out with a grey background, meaning the sensor is motionless.
• When the sensor is tilted, if the value of tilt angle change is reported, this will be displayed in the mobile app, and also in the events list and in live logging. It is not yet associated with any SmartThings capability so it cannot be used by any SmartApps other than WebCoRE.
• After the sensor has moved, if a 3-axis value is reported, it will generate a Three-Axis event. The X, Y, Z values are the raw values given by the sensor in the range of -2048 to +2047. This feature needs more development to make it useful.
• After vibration events, if the sensor reports the "level" of vibration, it will be displayed in small text at the bottom of the main tile for the sensor in the mobile app, as well as in the events list and in live logging. It is given as the raw reported value on a scale of 0-512.
• The time/date of the most recent vibration, tilt, and drop events are displayed in smaller GUI tiles for the sensor in the mobile app
• As with other bspranger/Xiaomi device handlers, the battery voltage and % level are reported and its replacement date is stored and displayed in a GUI tile for the sensor in the mobile app.
• Preference Settings are similar to those in other bspranger/Xiaomi device handlers, but also include toggles for informational ("info") and debug log messages to be displayed in the Live Logging page of the IDE.
Any and all comments, suggestions, and bug reports are highly encouraged in order to improve this device handler and its functionality.
I'm tagging @oltman on this as he has also been working on device handler code. Hope you can take a look and see what may be improved, especially with regards to the 3-Axis Accelerometer data. Keep in mind I don't own one of these yet, so everything has been coded without any testing at all. Please go easy on me! :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi Randy! Thanks for taking a look.
I was wondering about whether using zigbee.getEvent would work or not. I've removed it and the conditional based on it completely, following the format from the Aqara Button DTH I helped improved. That should get the attribute report messages recognized.

I just made if if(1) and moved on.  fix that later and work on the rest of the parsing...
Best Regards,
Randy
On Thursday, September 13, 2018, 10:04:12 PM EDT, Keith G<EMAIL_ADDRESS>wrote:

Hi Randy! Thanks for taking a look.
I was wondering about whether using zigbee.getEvent would work or not. I've removed it and the conditional based on it completely, following the format from the Aqara Button DTH I helped improved. That should get the attribute report messages recognized.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

This code will parse the accelerometer values correctly.   (around line 226).

But those are 16-bit two's complements, and there's strong indications the X,Y,Z values are 12-bit 2's C. I haven't dug into what SmartThings' three-axis capability is expecting for a range on each axis, though. As an aside, there's the problem of three-axis not being on the list of supported capabilities for the new SmartThings App. It's not clear if using it to post events is that useful, especially if the capability is going to be depreciated.

By the way, I am happy to send you my hacked code which actually creates angles out of the g sensor.  You can also store 'open' and 'close' positions and the DH will report whether the device is in the open or closed positions.

If the DTH takes care of all that using preference settings, for example, then it could be linked to the open/close contact capability. This is the main challenge - making the data useful in terms of events that the majority of SmartApps recognize, rather than custom attributes that can only be used in WebCoRE.

See the attached, I'd rather not formally upload this because it doesn't respect proper copyright, authorship, etc. so please forgive the fact that this is a blatant adaptation of other bspraner/Xiaomi code.

I didn't see any attachment. As for copyright, see the Apache License, which is pretty loose in its terms. Nobody receives ant other gain than to have better access to use of these devices by collaboration on the code. There's nothing groundbreaking being done here. My only goal is that the DTH aesthetically and functionally similar to the other device handlers in the bspranger/Xiaomi collection.

For string opps, .substring(a,b) is inclusive of 'a' but exclusive of 'b', so you get the indexes in the range [a..b).  So it is three hex characters being passed to the parseInt function.  took me a while to figure that out.
A couple other thoughts... I stopped using the three axis data type.  Once I put the three values into three axis, I couldn't find a way to access them individually for calculations without throwing java errors (even after heavy googling of java code, etc.  fully admit this should be possible).
We might want to discuss use cases-- is it valuable to return the actual g values and/or tilt or is it more valuable to remember a position and tell the user what position the sensor is in.  Then the device handler would have 2-3 types of reports:   * motion sensor (active / inactive)   * motion type (drop, vibe, tilt)
   * contact (open/close which could be based off of stored tilt values-- I'm using mine on my garage door)   * Door Control?
I'm currently using the Door Control data type because it allows for open, closed, and unknown.  However, I am finding that the smartlighting doesn't seem to be integrated with door control.  Any suggestions?
On Friday, September 14, 2018, 1:37:41 AM EDT, Keith G<EMAIL_ADDRESS>wrote:

This code will parse the accelerometer values correctly. (around line 226).
But those are 16-bit two's complements, and there's strong indications the X,Y,Z values are 12-bit 2's C. I haven't dug into what SmartThings' three-axis capability is expecting for a range on each axis, though. As an aside, there's the problem of three-axis not being on the list of supported capabilities for the new SmartThings App. It's not clear if using it to post events is that useful, especially if the capability is going to be depreciated.
By the way, I am happy to send you my hacked code which actually creates angles out of the g sensor. You can also store 'open' and 'close' positions and the DH will report whether the device is in the open or closed positions.
If the DTH takes care of all that using preference settings, for example, then it could be linked to the open/close contact capability. This is the main challenge - making the data useful in terms of events that the majority of SmartApps recognize, rather than custom attributes that can only be used in WebCoRE.
See the attached, I'd rather not formally upload this because it doesn't respect proper copyright, authorship, etc. so please forgive the fact that this is a blatant adaptation of other bspraner/Xiaomi code.
I didn't see any attachment. As for copyright, see the Apache License, which is pretty loose in its terms. Nobody receives ant other gain than to have better access to use of these devices by collaboration on the code. There's nothing groundbreaking being done here. My only goal is that the DTH aesthetically and functionally similar to the other device handlers in the bspranger/Xiaomi collection.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Keith,
Attached is my latest code.
Best Regards,
Randy
On Friday, September 14, 2018, 1:37:41 AM EDT, Keith G<EMAIL_ADDRESS>wrote:

This code will parse the accelerometer values correctly. (around line 226).
But those are 16-bit two's complements, and there's strong indications the X,Y,Z values are 12-bit 2's C. I haven't dug into what SmartThings' three-axis capability is expecting for a range on each axis, though. As an aside, there's the problem of three-axis not being on the list of supported capabilities for the new SmartThings App. It's not clear if using it to post events is that useful, especially if the capability is going to be depreciated.
By the way, I am happy to send you my hacked code which actually creates angles out of the g sensor. You can also store 'open' and 'close' positions and the DH will report whether the device is in the open or closed positions.
If the DTH takes care of all that using preference settings, for example, then it could be linked to the open/close contact capability. This is the main challenge - making the data useful in terms of events that the majority of SmartApps recognize, rather than custom attributes that can only be used in WebCoRE.
See the attached, I'd rather not formally upload this because it doesn't respect proper copyright, authorship, etc. so please forgive the fact that this is a blatant adaptation of other bspraner/Xiaomi code.
I didn't see any attachment. As for copyright, see the Apache License, which is pretty loose in its terms. Nobody receives ant other gain than to have better access to use of these devices by collaboration on the code. There's nothing groundbreaking being done here. My only goal is that the DTH aesthetically and functionally similar to the other device handlers in the bspranger/Xiaomi collection.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I have updated the code with some changes, now at v0.6b
Changes

Added preference setting to set the sensor's accelerometer sensitivity level (untested) which will also display an event, live logging entry, and update a new mobile app tile displaying the current sensitivity level. Note that the sensitivity level will be unknown and displayed as blank until it is set in the preference settings for the first time. I plan to see if there's a way to read in the sensitivity level when pairing the device so that it is known and displays from the start.
Fixed the handling of tilt event messages, which should be correctly recognized now
Fixed the handling of tilt angle change value reports, and there is a new function parseTiltAngle() which could be expanded to link to a SmartThings capability (such as button 02 - pushed) to notify the user or take actions when the change in tilt is greater than a user-set threshold.
Changed the way "Vibration level" values are converted to an integer, with a max possible value of 65535, though I expect only values up to 512 will be seen. Any reports of observed values, when they occur, and how often would be greatly appreciated.
Other minor code refinements, organization, and clean up

I haven't yet changed the code that converts the Accelerometer XYZ axis value reports, while it's determined how to best make use of the data.

For string opps, .substring(a,b) is inclusive of 'a' but exclusive of 'b', so you get indexes in the range [a..b).  So it is three hex characters being passed to the parseInt function.  took me a while to figure that out.

Hmm, that's a bit non-intuitive, but very helpful to know, thanks! Since I still haven't actually received any attachment with your code-in-progress, I'm curious if it takes into account the different g ranges represented by the accelerometer XYZ axis values when the sensitivity level is changed?

A couple other thoughts... I stopped using the three axis data type.  Once I put the three values into three axis, I couldn't find a way to access them individually for calculations without throwing java errors (even after heavy googling of java code, etc.  fully admit this should be possible).

To be honest, I haven't looked for any examples of SmartApps which make use of events from the three axis capability. And it's apparently being depreciated anyhow.

We might want to discuss use cases-- is it valuable to return the actual g values and/or tilt or is it more valuable to remember a position and tell the user what position the sensor is in.

I'm sure some nerdy people will love to see the g values in live logging, but it's much more useful if the DTH could be coded to store user-set "open" and "close" positions. I'm envisioning something as basic as pressing one of the GUI Tiles to set each of those, and then open / close events using the contact sensor capability would be sent when either position is reached (or within a certain range of that position because it won't be the exact same values every time.)

motion sensor (active / inactive)

motion type (drop, vibe, tilt)

The only choices I see of capabilities / data types that will continue to exist in the new mobile app are motion, acceleration, and button. Of there three functions, vibration/motion is the only one that can be continuous (or at least it generates repeated attribute reports) and drop / tilt are one-at-a-time events. The acceleration capability has active/inactive states, so as I've assigned it to tilt in my DTH code, I have to use runIn() to reset the state to inactive after about a minute. (The same is true for vibration events, but if they happen repeatedly, the motion active state will persist. For Drop, I used button because it just has the pressed state, and there's no "released" state. So it can be used as a trigger (as opposed to a condition) for HA logic in SmartApps.

Door Control?

I shy away from this capability because it allows both output (to control the door) and input (on the reported state of the door). So SmartApps will see this DTH as giving control over the sensor's position, and will present those options in the setup of said SmartApps which could confuse users.

@veeceeoh what is the simplest way to upload code?  Apologies, but I was responding through email rather than the web interface of GitHub.  (you really are dealing with a newbie).  Anyway, attached is the working device handler code I am now using for my garage door vibration sensor.
I'm happy to keep testing yours and refining or switching to mine with your refinements.  I am fully on board with making these all look like the ones from bspranger as those are already super-helpful and intuitive as a repository.
The file attached is a severe modification of other bspranger work.  My name is on as author, but, again, have no need for ownership and want to respect all the work of people before this for which the following would not be possible.
Hoping this works as an attachment:
Vibration_Sensor_rlo2.txt

@oltman - Sorry, was out of town for a couple days. Uploading code is only possible to repositories you have access to, which at a minimum includes your own, of course. I've been using the GitHub Desktop app for managing a local mirror of repositories in conjunction with Atom as an editor (and it plays well with local GitHub repositories.) I imagine with the relative complexity of this particular Xiaomi device, there will be a number of different DTH offerings which work in different ways. So I'd say if interested in sharing the DTH you settle on for your personal, try creating a GitHub repository! Normally, though the way collaborations on code works is to create a Pull Request with suggested edits. This avoids the current code from being overwritten until everyone agrees on the changes, and Pull Requests have their own discussion threads for the purpose of talking about them.
That said, if I have your blessings, it would be wonderful to incorporate your Accelerometer output -> position code into whatever the final form of the bspranger/Xiaomi DTH for this sensor comes out to be.
This time around, I'm able to download the attachment, but I see that it's visible to anyone reading this discussion. I'm not sure if that's what you intended. I will have a look, but I think at this point I need to wait until my two sensors I ordered are actually in my hands so I can test it out.
The UI for these DTHs is something I enjoy working on, but this device presents so much data that it's going to be a challenge to find a balance between simplicity and present all information that people would like to have handy access to.

@veeceeoh feel free to use any of that code at will in the updated driver.  My intention was to upload here.  I will eventually delete that attachment from the comment and point to the final code on the bspranger/Xiaomi github location.

@oltman - Great, thank you! I have just released a new beta DTH version which properly handles vibration/shock, tilt, and drop events, with built-in timers using runOnce() to reset motion to inactive (for vibration/tilt) and acceleration to inactive (for tilt) as well as clearing the main UI tile back to displaying "Stationary." It's all working quite well, and stable enough that my next step will be to incorporate your code to implement the open/close functionality in the DTH, though I still plan to link it to the contact sensor capability.
My SmartThings Community Forums post with more details about newest beta version of the DTH can be viewed here.

Ok - I’m gonna give in and get the new sensor - ‘cause, you know, Xiaomi
and @veeceoh and I might finally get the vibration solution I need for my
dryer
On Wed, Oct 24, 2018 at 5:23 PM Keith G<EMAIL_ADDRESS>wrote:

Just in case anyone is actually reading this comment thread, I posted an
updated version of the beta DTH a few days ago. Now at v0.9b, the code to
convert the sensors raw 3-axis data to angles and store user-set
open/closed positions by @oltman https://github.com/oltman has been
integrated and fully implemented. Also, I have reorganized and cleaned up
the UI, and made other improvements and fixes. I feel it's all working
quite well, and pretty close to being out of beta.
Detailed notes with screenshots can be viewed in this post on the
SmartThings Community Forums
https://community.smartthings.com/t/original-aqara-xiaomi-zigbee-sensors-contact-temp-motion-button-outlet-leak-etc/113253/1032?u=veeceeoh
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bspranger/Xiaomi/issues/124#issuecomment-432833145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC5P1691W29x4pzwX1I8rRdA7zzfn5Q4ks5uoNo7gaJpZM4Wobxj
.

--
Alec McLure, MPH, RHIA, CCS-P
Cell: +1<PHONE_NUMBER>
Email<EMAIL_ADDRESS>

I might finally get the vibration solution I need for my dryer

To be honest, I'm not sure it's a good solution for clothes washer / dryer load cycle detection. I have tried placing both of my sensors on my washer while in operation, and the only reports I saw were activity level values - and those are infrequent and inconsistent in their timing. No vibration detected reports were sent at all.
This might have to do with the sensitivity setting, but I still haven't been able to confirm that sending the command to change it from the device handler is actually working.
By the way, @alecm - it looks like you sent your reply via e-mail, and so your signature with cell number and e-mail are showing up in this publicly accessible comment thread. Just thought you might want to be aware of that.

@veeceeoh  - thanks for the heads up both on using it for dryer and about my cell phone, etc..

@veeceeoh - I appreciate the info and your contributions – does setting the sensitivity work yet? or perhaps can it be changed manually? I would be willing to send $ your way to buy one from gearbest if that helps and you don't have one yet. (https://www.gearbest.com/smart-access-lock/pp_009824810051.html?wid=1433363)


Why are small batches of size 4 used?

That seems like a small batch size. Why are size 4 batches used during training?

It was due to speed and memory limit. Using a larger batch size could be helpful if speed and memory are not your concern.


no outputs on Mediapipe :(

HI I'm running windows 11 and using version 2023.11880. and after downloading the release.zip and opening the MediaPipe included I was presented with a non working setup with no outputs or lines  from the mediapipe node.
I asked chatgpt and it said I needed to pip install the python extension into touchdesigner. But i don't know how to do that or if that is even what to do
here is the photo

if you need anything else please ask

This usually happens when you try to open the files from the .zip without
extracting the files first. Make sure you extract the .zip and try opening
it again
On Mon, Jul 29, 2024 at 3:32 AM chasseiffert @.***>
wrote:

HI I'm running windows 11 and using version 2023.11880. and after
downloading the release.zip and opening the MediaPipe included I was
presented with a non working setup with no outputs or lines from the
mediapipe node.
I asked chatgpt and it said I needed to pip install the python extension
into touchdesigner. But i don't know how to do that or if that is even what
to do
here is the photo
image.png (view on web)
https://github.com/user-attachments/assets/fb157431-0c22-4765-992c-5feae23346eb
Screenshot.2024-07-28.213001.png (view on web)
https://github.com/user-attachments/assets/08f09c18-ba88-4581-b397-030a31080f7b
if you need anything else please ask
—
Reply to this email directly, view it on GitHub
https://github.com/torinmb/mediapipe-touchdesigner/issues/94, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABN4IO4HIS4FGUPTZ3KCWRLZOWLURAVCNFSM6AAAAABLTJXNMGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQZTIMRWGMYTSMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Closing this as it's been a couple of weeks, but please re-open if you're still having issues.


Need better version 2 branch names

At the moment our development branch for version 2 is called REFACTORING_backend. This is not at all clear to developers not working on developing the new backend. I would propose to continue the development of version to on a branch called version2_development until we have at least the version 2 alpha release or possibly the beta release.
At some point development on version 1.x should probably stop and we could continue development of version 2 on the development branch.

I agree, but I think REFACTORING_backend should be kept until the backend is finalized, meaning this milestone is reached and this project is closed.
The related issues should also have higher priority.

Created branches:
version2_development
version2_master

What should we do with REFACTORING_backend?
To avoid confusion we could just delete it now and from now on merge remaining branches into version2_development ? Would that work out-of-the-box or are there any caveats?
We should also make sure that these new branches are protected.

@mattiarighi You are right there is some additional work needed.
Could you finalise this by:

protecting those branches on github
adding them for building on readthedocs
adding them for analysis on codacy
I think it would also be good if you could send an email to everyone who is working on version 2 that from now on the version 2 development branch is called version2_development instead of REFACTORING_backend, so people should create their pull requests to that one and start new development off it.

Once the 4 issues above have been addressed and all open pull requests have been merged, I think it would be good to remove the REFACTORING_backend branch to avoid confusion about which branch is actively developed.

What about those branches which have been branced off REFACTORING_backend? Can they be merged later into version2_development, or is this breaking the history or something?
@axel-lauer and I will take care of these 4 issues

Yes, merging them later into version2_development should work fine, because version2_development is also branched off REFACTORING_backend, so differences, if any, should be minimal.

Branches are protected
Done, please check
Done, please check
E-Mail sent and discussion post opened, the information should have reached everyone

I only see version2_development on readthedocs, not version2_master, but maybe that's just fine.
I don't see the version2_development branch listed as one of the analysed branches here yet, only master and REFACTORING_backend: https://app.codacy.com/project/ESMValGroup/ESMValTool/dashboard (in the drop down menu). Can you check?

Added version2_master as well.

Had the same problem, solved by logging out and in again.

The confusion about Codacy appears to be caused this issue #127. The branches version2_master and version2_development should be enabled in this Codacy project:
https://app.codacy.com/project/ESMValGroup/ESMValTool/dashboard

@bjoernbroetz I've assigned you as @mattiarighi thinks you might be the/an administrator of the ESMValGroup Codacy organization.

@bjoernbroetz is not the admin, and I'm not either apparently.
@nielsdrost, do you have admin rights on codacy?

@axel-lauer and myself are admin. I'll leave it to @axel-lauer to decide if/who needs to be added to te admin list. I've turned on the two additional branches.


oc-new-app Action

User should be able to create deployment of the application using already built image.
oc new-app command can be used to solve this.

WIP Action: https://github.com/redhat-actions/oc-new-app

Released: https://github.com/marketplace/actions/oc-new-app


Helper functions like prepareData should be importable from browser context

Right now there are dependencies on Node.js libs, which makes it impossible to do imports:
// this doesn't work from a browser
import { prepareData } from "@zetachain/toolkit/helpers";

One simple temporary solution would be to add the following to package.json:
  "exports": {
    "./helpers/evm": "./dist/helpers/evm.js"
  },

Ideally, nothing in helpers/ should depend on Node.js. We can move all these things under lib/.

hey @fadeev, i tried installing and adding a temp-fix as proposed in this issue.
this is the error that pops, while i try starting it.
➤ YN0000: [site]:  ERROR #98124  WEBPACK
➤ YN0000: [site]:
➤ YN0000: [site]: Generating development JavaScript bundle failed
➤ YN0000: [site]:
➤ YN0000: [site]: undefined
➤ YN0000: [site]:
➤ YN0000: [site]: If you're trying to use a package make sure that 'undefined' is installed. If
➤ YN0000: [site]: you're trying to use a local file make sure that the path is correct.
➤ YN0000: [site]:
➤ YN0000: [site]: File: src/utils/snap.ts:8:0
➤ YN0000: [site]:
failed Re-building development bundle - 0.308s
ERROR in ./src/utils/snap.ts 8:0-62
➤ YN0000: [site]: Module not found: Error: Package path ./dist/helpers is not exported from
➤ YN0000: [site]: package
➤ YN0000: [site]: /Users/ishaan/Desktop/den/zeta-grant/zeTrax/node_modules/@zetachain/toolkit (see
➤ YN0000: [site]:  exports field in /Users/ishaan/Desktop/den/zeta-grant/zeTrax/node_modules/@zeta
➤ YN0000: [site]: chain/toolkit/package.json)
➤ YN0000: [site]:  @ ./src/utils/index.ts 4:0-23 4:0-23
➤ YN0000: [site]:  @ ./src/Root.tsx 10:0-62 23:15-33 25:4-19
➤ YN0000: [site]:  @ ./gatsby-browser.tsx 6:0-34 13:35-39
➤ YN0000: [site]:  @ ./.cache/api-runner-browser-plugins.js 33:10-42
➤ YN0000: [site]:  @ ./.cache/api-runner-browser.js 3:16-55
➤ YN0000: [site]:  @ ./.cache/app.js 12:0-65 31:87-35:1 39:20-29 83:0-14 106:19-28 138:6-15
➤ YN0000: [site]: 31:0-35:2
➤ YN0000: [site]:


Is there any way to change the title or message text size?

I would like to be able to change the core MaterialDialog's text size. It looks too small in tablets and barely visible. Is there a way to change it either overriding a theme resource or changing it programmatically with findViewById?

Oh, I just found out that overriding md_title_textsize and md_message_textsize in dimens.xml does the job

Oh, I just found out that overriding md_title_textsize and md_message_textsize in dimens.xml does the job

It's works smoothly 👍
<resources>
    <dimen name="md_title_textsize">18sp</dimen>
    <dimen name="md_message_textsize">14sp</dimen>
</resources>


No such table: tt Error

Traceback (most recent call last):
File "D:\microsoft teams autojoin\Teams-Bot\msbot.py", line 251, in
add_timetable()
File "D:\microsoft teams autojoin\Teams-Bot\msbot.py", line 99, in add_timetable
c.execute("INSERT INTO tt VALUES ('%s','%s','%s','%s')"%(name,start_time,end_time,day))
sqlite3.OperationalError: no such table: tt

Reach me @LDzik in instagram...@mohammed_althaf_h

tt.db file was not created..try again and make sure it's in the same path as the msbot.py


retry on ConnectionError

fixes #2049
(we retry ConnectionError, not ClientConnection, btw)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c22f563) 91.32% compared to head (77f8d7f) 92.47%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2409      +/-   ##
==========================================
+ Coverage   91.32%   92.47%   +1.14%
==========================================
  Files         256      132     -124
  Lines       15579     7706    -7873
==========================================
- Hits        14228     7126    -7102
+ Misses       1351      580     -771

Flag
Coverage Δ

jobs_cache_maintenance
94.40% <ø> (ø)

jobs_mongodb_migration
?

libs_libcommon
?

services_admin
87.60% <ø> (ø)

services_api
?

services_rows
?

services_search
?

services_sse-api
94.19% <ø> (ø)

services_worker
92.79% <ø> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat(data-table): use iterate differ to optimize rendering

Just noticed still needs readonly per Erin's comment

Thanks for catching that, got the readonly in, thought I had changed that already.


windows amd64 cairo error (maybe)

Hello my arch is linux-amd64.
  Open an issue on the gotk3 organization's repo instead.

Oops. Thank you anyway)


Exclude patterns not being applied

Output of restic version
restic 0.6.1 (v0.6.1-126-gb0fb95df)
compiled with go1.8.3 on darwin/amd64
How did you start restic exactly? (Include the complete command line)
restic backup --exclude-file ~/exclude.txt ~

What backend/server/service did you use?
sftp to LAN
Expected behavior
Skip the files matching the pattern in exclude.txt
Actual behavior
Files were included unless I drastically loosened the pattern to the point where the pattern is too ambiguous.
Steps to reproduce the behavior
Using an exclude file like this:
.[^.]*
/matt/Applications
/matt/Dropbox
/matt/Downloads
/matt/VirtualBox VMs
*.vmdk

My goal is to skip dotfiles and a few specific folders in my $HOME directory (named matt) (but not every folder named "Applications" for example). Oh, and any .vmdk files (they can be huge!)
When I relaxed the patterns to this:
.[^.]*
Applications
Dropbox
Downloads
VirtualBox VMs
*.vmdk

it worked (meaning it skipped the folders) but this is too ambiguous, as I don't want to skip all folders named Downloads, for example.
Do you have any idea what may have caused this?
Probably me still not understanding exclude patterns correctly.  :smile: I did read #1005 and I guess I'm confused if absolute paths are required for --exclude or if repo-absolute paths are required like with --include.

Update: Okay, replacing /matt/ with $HOME/ seemed to work, although I find the inconsistency between --exclude and --include absolute paths a little odd/surprising.

Usually $HOME/blabla is /home/matt/blabla or did you change something on your system?

Sigh, yes, you are absolutely right. The exclude patterns are absolute in regards to what you backup:
The pattern /home/matt/*.go matches all Go files in your home when you run restic backup /home/matt. Due to the way the archiver works (see #549, bad design decision we need to correct), the /home/ prefix is dropped and the top-level path component in the snapshot is /matt. So for restore, you'd need to use an include pattern of /matt/*.go to match the same files. I know it's bad, I'll correct it :)

@ibib On my Mac, my home directory is /Users/matt, but since --include uses a repository-absolute path (like restic ls shows), I figured the proper absolute path would be /matt/....
@fd0 Ah! That makes more sense, thanks for explaining. So --exclude when used with restic backup is absolute to the file system, and --include (used with restic restore) is absolute to the repository. In other words, the patterns are absolute to where the files are coming from.
Thanks so much for the explanation. Now I understand better why 549 is an issue you want to fix. :smile:


Caught up changes from typescript-github-action-template

#617  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @CatChen and the rest of your teammates on  Graphite


Check if LocalCache be included in storage volume failover detector

Should volume failover detector include local cache path? Right now, Local cache is included as part of latency failover. Need to do 2 things:

First, check whether local cache can cause downtime and should be considered as volume Failover
If yes, maybe its a good idea to separate local cache calls in a separate metric instead of putting it in latency failover metric

confirmed with kranthi local cache does not cause down time. added them to metrics but not in abnormal time periods


Futures - Fees Logic

Fees work like they do on the normal Dex, except the currency in which fees are paid is always the settlement currency. This implies that the minimum amount of collateral needed to trade one contract is the requirement for that contract plus a fractional fee.
Trading contracts collateralized by OMNI is free.
The fee logic splits based on which settlement logic applies to the given contract.
For Oracle-based contracts, the maker fee in free, the taker fee is two basis points (0.0002); half of the fee goes to OMNI holders and half goes to the address publishing the data feed that the contract settles on.
For Merkle-based contracts, the maker fee is -1 basis point (0.0001, i.e. liquidity providers receive a small rebate) and the taker fee is 2 basis points, with half going to OMNI holders as above.
Since contracts are indivisible units, and if the minimum amount of collateral required for a contract be 1 unit of some smart property, then the smallest amounts transferred between market takers and makers would be .0001 of some currency.
The same logic used for Dex fees in spot trading applies here, where they are tallied to an eventual threshold of distribution to OMNI holders.

I think it's better to keep track of the specification or feature proposals in the spec repository:
https://github.com/OmniLayer/spec
Please feel free to open a new issue over there.


Feature/dryad addon

Adding Dryad Addon. This time around, I've cleaned up the commits. I've got one squashed commit for my main changes and one for reverting all the small changes I used to get osf to work on my machine. Finally, I have a merge commit for automatically merging this with develop. This is now tested and passes flake8. Hopefully, this should work.

Hi @kwierman I've got a request. It's challenging to review your work without a clear picture of your goals + expectations for this add-on and the OSF. Can you draft some documentation explaining such? But even more helpful, can you take screenshots from your local environment of what and how you have the add-on interacting and working for the user? This will be good to have for review, but also very helpful as we move into QA. Thanks!

Hey @lbanner @samchrisinger, I'm out of town at the moment, but I'm still resolving issues one at a time. I'll get right on to a guide as soon as I can.

TY @kwierman

Dryad Addon Guide
Intro to Dryad
Dryad is a data repository with a focus on biological and life sciences that provides professional curatorial services to researchers in order to meet the expectations of scientific journals. In many respects, Dryad can be treated identically to Dataverse and Figshare. Therefore, these two addons were used as the inspiration for the Dryad addon.
The primary difference between Dryad and the aforementioned other repositories is at the data curation stage. Data is submitted to Dryad via the web interface to a staging or review data repository and arranged into a package. A package consists of a set of files and whatever metadata is available to the submitter. Once the submitter is satisfied with their package, the data is put under review and is available to Dryad curators. Curators may push the package back to the submitter for editing. The review-and-edit process may be repeated several times. Once the package passes curation, the package is moved to Dryad's archive.
The archive database and review space in Dryad are treated separately. As an external application, tracking a package from submission to archive is difficult due to no external identifier that can be used to identify the package in both submission and archive. Once in archive, a package must have a DOI issued by Datacite, and a package may have this same DOI at the time of initial submission, but this is not guaranteed as multiple workflows allow for posteriori DOI creation.
The other challenge in implementing a Dryad addon is that only current API providing access to the submission process is the web API. You can find documentation on the full API here. This project was taken on knowing that Dryad's SWORD API needed completion. The SWORD API will be completed in January at the earliest and therefore some revisions have been made to the original proposal. Dataverse implements a similar API, however, some additional metadata will be provided through the API to account for the curatorial stages.
Goals
The initial goal of this project was to provide access to Dryad's submission system through the OSF dashboard and to provide access to Dryad's archive. Access to the submission system should allow users to prepare packages in other waterbutler-enabled providers and submit to Dryad's review space. Dryad's leadership has expressed a desire for this functionality because OSF provides the framework for users to organize their submissions a priori. Similarly, access to the archive provides a good investment for submitters.
Changes to the goals
As the SWORD API work is currently in progress, the project was divided into two sections:

v1 will provide access only to the archive (a read-only repository).
v2 will incorporate the SWORD API changes.

This current PR is for the v1 addon. Some code additions from the changes for v2 have been left in the v1 PR either accidentally, or knowing (and occasionally suspecting) that life will be easier later with the code already in place. These changes will be noted in the documentation for the next  version development.
Development Environment
The following tools were used in this development. Additionally, I have a recipe system in place for deploying all of this using a single-button interface.

OSF

Python 2.7.9

waterbutler

Python 3.4.3

mfr

Python 3.4.3

pycas

Python 2.7.9

platform:
Linux 3.19.0-42-generic #48-Ubuntu SMP Thu Dec 17 22:54:45 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Note that as of a couple weeks ago, I put the additional couple hours into fixing pycas so that it should totally replicate fakecas
General Workflow
As with the rest of the addons, Dryad can be enabled in the settings menu

Once enabled, the usual terms windows appears. As Dryad is (at the moment) read only, the terms should pretty much reflect this (at the moment). I just realized there's a typo in here. That'll be fixed.

Clicking Confirm and the Apply causes applies the addon to the current node and the Dryad Node settings panel appears in the settings page.

The Dryad addon uses the DOI field to access the archive. Initially this was chosen because one of the workflows users experience enables journals to send the DOI to users in this format. The other Dryad workflow requires Dryad to email users the DOI in this format. They can enter this information into the field here manually. This DOI is then verified against Dryad and if success, is saved to the node settings. The user is notified of this via fadeout message in the settings pane.
For users that haven't been emailed this information, a Dryad page has been crafted that allows browsing and searching the Dryad archive and setting the Node package to via simple button interface.

The above shows Dryad page loading. Please excuse the brutal overuse of the spinning loader icon, but it seems to flow nicely with the OSF aesthetic. This page was generated using webpack and is tied to a knockout ViewModel and hopefully applies to the coding style of the rest of OSF. Some minor changes will be made in the future, but for now Raven isn't reporting any problems. Dryad's API server goes down for about 5-10 minutes whenever a change is made to the base code, so I'm currently stress testing this to report back to the user when archive metadata cannot be obtained.

The above is the Dryad page loaded. The left hand panel is the available metadata of the current package. The archive is listed to the right. Additionally, users may search the archive using the search bar. While Dryad itself has a search function via the webportal, is does not have a browser function or the ability to one-button import the DOI to OSF.

Clicking on a package expands the panel to view the package metadata.

At the bottom of the metadata is a link to the Dryad details page and a button to set the Node data to this. The ViewModel automatically updates the Current Package Pane to reflect changes made here.

Once the DOI has been set, the package and it's contents may be viewed in the file pane. Changes to the addon are noted in the log.

Files in Dryad can be viewed in mfr. The Fangorn settings are not finalized (for whatever odd reason that Delete button cannot be removed. Additionally, some changes are being made to the watebutler provider so that the drag-and-drop interface works for copying files out of Dryad but not in to Dryad.
Current Status

v1

Some stress testing has not been completed. In the Python side, the code is very tolerant of 503 errors from Dryad. An additional field is being added to the JSON interface to allow the view models to inform the user when they need to wait for Dryad.
The typos mentioned above are being fixed.
Places in the code that are in place for the v2 upgrade are being documented with DO NOT REMOVE tags.

v2

The SWORD API in the Dryad code base is being worked on as we speak... err... type.

The last point I'd like to address is the choice of using the full DOI in the format:
doi:10.5061/dryad.XXXX
This is the format that I received in the early discussions on Dryad. I'm not totally glued to it, but in the event that Dryad deploys an external tracking system that utilizes a similar format, I'd like to be as open as possible. For internal code's sake, we can sanitize this down in the knockout layer easily, but that decision should be made before releasing v1 in order to avoid unnecessary migrations.
Edit: Sorry, one last point. Would you be interesting in using Dryad to automatically site the data? We can use this addon also as a citation addon as the whole point of Dryad is curated data citation.

I'm going to go ahead and apoligize for the book length. The good news is that I think all of the requested changes were made. The bad news is that due to the nature of these changes, we're going to be looking at a bunch of totally new code. Git commits to come in couple of hours...

@kwierman++!  I haven't read through this yet, but it'll be very helpful on the WaterButler side, too. Thank you!
Cheers,
Fitz

@kwierman I've been reviewing the UI and have a few comments.

We'd like to keep the terms bootbox consistent for all add-ons. Can you please fill in the missing categories:

Add/update files suggestion: Dryad files are current read only and files cannot be added or updated.
Delete files suggestion: Dryad files cannot be deleted via OSF.
**Forking suggestion: **Forking a project or component does not copy Dryad authorization unless the user forking the project is the same user who authorized the Dryad add-on in the source project being forked.
**Registering suggestion: **Dryad content will be registered, but version history will not be copied to the registration.

In the Configure Add-ons section, please move content to the left to match other add-on formats. For example see:

And finally (and this might require discussion), we typically do not show add-ons in the primary navigation bar. Can the Dryad organization be understood this way:

Packages are similar to folders
Packages have metadata associated with them
Objects live within packages
Objects have metadata associated with them

Rather than having a separate Dryad page would something similar to the following work:

Could users successfully search for packages from within the files browser?

Could package metadata be viewable from the files browser (hover over, or another solution)?

When a user opens a package and selects an object, could the files pane be enhanced to accommodate the metadata?

Again, I realize this last point could involve more discussion.

@erinmayhood Sure thing. The folks over at Dryad were giving me some flak about including a page, so moving the page content to the file browser would probably be preferable.
However, I'm not entirely certain I can make searching Dryad from within the file browser possible, but I'm going to try and hack some Fangorn features together  to see what I can do without breaking the aesthetic. I'll get back to you on this in a bit.
One last thing I wanted to include was a citation widget for Dryad packages. This just forwards the citation from Dryad that users should include when publishing with Dryad content.

Hey @erinmayhood, So, I'm having trouble with a couple of things.

Viewing the package metadata by using hover over in the file browser is proving difficult.

Simple searches in the Dryad DB return something like a few thousand results. Putting this in the file browser slows the UI down considerably. I've tried to paginate the results, but from an addon perspective, the file browser wasn't really made for this.

In the meantime, I disabled the 'page' feature of the addon. What I propose is that we move a bunch of that functionality to a more compact widget, and keep the page behind a link in the settings

So, we could have something like the above. I'll mock up a widget shortly so we can see if that works.

@kwierman I think a widget or a metadata pane would be great. I know @felliott is planning to follow up with you on this project and can help review the widget approach. Thanks!

@kwierman, a heads-up: if you're planning on writing a dryad citation addon, @mfraezz has refactored the citation addon code. It hasn't been merged yet, but will probably go into an upcoming release.

@felliott Thanks!

Hey @erinmayhood ,
So, I moved all the UI elements over to a widget. The widget looks like:

I split the widget into three panels. The first is the metadata panel.

The second is the browser panel:

The last is the citation panel:

The citations here are scraped from Dryad. I'm told these are input to the archive as whole strings, so I'm passing this UI element straight from the Dryad servers. I'm not currently implementing the Dryad addon as a citation addon, but if you want, I can change that.
As usual, feedback is appreciated.

As discussed elsewhere, please try to get the node-settings UI working with folderPicker

Somewhat light first pass complete. Going into much more depth at this stage would have diminishing returns. I'll do a more thorough pass after most of the suggested changes are in. ❄
Feel free to reach out to me, either here or on Slack, for questions or clarification. Good work so far; I can tell the frontend/UI took a lot of effort, and after reading reading up on the Dryad API... I'm sorry. Back to you, @kwierman 🔙

Assuming the next batch of commits pass the tests :pray: , I think  I'm ready to pass this back to you guys. The major improvements here is implementing the citation base class in the python layer and the folderpicker base class in the js layer. Let me know what you think. Now that my dissertation and defense are both out of the way, the turnaround on subsequent commits should be MUCH shorter.
Anyway, let me know what you think. I think I hit up all of your comments, but if I missed something, I'll get right on it. :back:

Closing in favor of #7417 , consider this merged. Thanks for all your hard work, @kwierman :octocat:


Fix TCP port range and string interpolation typos

Description
Fixed TCP port range and string interpolation typos in language.rst file

TCP port range changed from 0-65565 to 0-65535
Changed "include" to "included" under string interpolation section

Also, perhaps YYYYMMDD-description makes more sense than<PHONE_NUMBER>1-description when there's no related issue. We haven't discussed this before. @wouterdb what do you think?

Also, perhaps YYYYMMDD-description makes more sense than<PHONE_NUMBER>1-description when there's no related issue. We haven't discussed this before. @wouterdb what do you think?

Good question. I don't know. We can do just 'description' or '0-description'
I would like something that produces a somewhat uniform sorting, be the current format doesn't say how long the number should be either.
Perhaps a question for slack?

Processing this pull request

Merged into branches master in cbfe09d0feacd1f7f617d7723bcd04240aaf9ae5

Processing #2764.

Processing #2763.


Added my website - please merge :)

You can see how I use Lanyard here

Will merge it, but should note that your spotify listening only shows if you had the page open when starting playback, if it loaded while you were already playing it doesn't work.
You should change your event that you listen to from the socket to INIT_STATE and PRESENCE_UPDATE so you get the initial presence data, they're both the same format when subscribing to one id.


Enabled parallel test execution

Enable test execution by fixing two classes of file locking problems:

Improper use of IDisposable in the library
Locked file streams by the tests themselves

Solving these problems generally had one of two solutions:

Using the NonDisposingStream in additional places so types that were "borrowing" a stream could still follow the Dispose pattern without upsetting code analysis
Changing tests to not take exclusive locks on original files

Lastly, the IsLocked check in TestBase had to be removed because it isn't parallel-test-execution-aware. Some of that gap is closed by the expanded test coverage in ReaderTests, though more is certainly welcome. I chose to stop here to avoid making the PR unmanageable.

Fixes #58

Fixes #237

Thank you for your quick response!


Fix backwards compatibility for recent zap changes

Throwing a warning in the notifications page of the zap UI instead of throwing an error in template-engine such that we backwards compatibility can be maintained
Changes to helper.js files have been made to fall back to old way of implementation in the case of global.resource([key]) not finding the data required
Github: ZAP#941, ZAP#942

Codecov Report

Merging #944 (26237b5) into master (334ce8b) will decrease coverage by 0.09%.
The diff coverage is 16.66%.

@@            Coverage Diff             @@
##           master     #944      +/-   ##
==========================================
- Coverage   62.07%   61.99%   -0.09%
==========================================
  Files         155      155
  Lines       16489    16526      +37
  Branches     3615     3631      +16
==========================================
+ Hits        10236    10245       +9
- Misses       5565     5586      +21
- Partials      688      695       +7

Impacted Files
Coverage Δ

...r/matter/app/zap-templates/templates/app/helper.js
9.58% <15.78%> (+0.97%)
:arrow_up:

src-electron/generator/template-engine.js
88.19% <33.33%> (-0.54%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper

Hi,
I am trying to use the JAVA SDK for Chino and when I try to create a simple ChinoAPI object, I am getting an error, which says that ObjectMapper class is not found:
java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper
at io.chino.client.ChinoBaseAPI.initializeMapper(ChinoBaseAPI.java:93)
at io.chino.client.ChinoBaseAPI.(ChinoBaseAPI.java:27)
at io.chino.client.Applications.(Applications.java:17)
at io.chino.client.ChinoAPI.initializeObjects(ChinoAPI.java:54)
at io.chino.client.ChinoAPI.(ChinoAPI.java:29)
I generate the jar for Chino derived with maven pom.xml. The dependencies seem to be fine.
I cannot find where the problem is! Maybe because my knowledge in maven is limitted!
I am using jHipster built with maven.
Can you help me? Thank you!

Hi Moujan,
did you use the "release" jar or did you try to generate the jar from the code?

in case you used our released jar, please try to use the code since it wasn't updated.
if you were using the code there was a small issue in the project configuration that I fixed today.

Let me know if it works.
I tried to create a simle Java project adding chino maven dependency
<dependency> 	  	<groupId>io.chino.library</groupId> 	  	<artifactId>chino-java-library</artifactId> 		<version>0.0.1-SNAPSHOT</version> 	</dependency>
and it worked without errors.
cheers
jovan

Hi Zidia,
Thank you for the response!
I fixed it. But I am not sure whether it is the solution. I had to add the dependencies for artifacts jackson-core-asl and jackson-mapper-asl.
In the maven repository site it says that these repositories have been moved into com.fasterxml.jackson.core which is already used in the JDK.
Anyways, thank you very much for the help! I'll try your changes then!
regards,
Loukas

Ok perfect.  Let me know if it works.
bests
jovan

Unfortunately, it did work. I'll go with my workaround for now! Maybe it's something with my project set up. Thanks!
I close the ticket.


Move over MySQL related code into a separate library.

We can re-use a lot of common mysql code between different forks/flavors of mysql by refactoring this out to a separate library.

I've found a bunch of libraries we can use to enhance connection handling with the mysql server. We should look into integrating these into lomax.

gorp: https://github.com/go-gorp/gorp
dbr: https://github.com/gocraft/dbr
sqlx: https://github.com/jmoiron/sqlx

This is low pri for now and is also a low hanging fruit in case someone wants to get involved with the lomax project.


Button fixes

Fix up some of the issues present with buttons. Also add in the basis of theming options, including an initial "Retro" theme based off win95/98 with implementation set for buttons.
Other changes include some JSDoc updates to the button class, and the addition of methods accessible to users to customise their buttons more.
Finally, a text-wrapping implementation has been added in which could be merged in to the text class in the future. And a colour regex for valid CSS colours has been added to the Colour class.

Pulled in @andrewparoz changes that were already on main, plus reverted back the index.html file to what was already present on main ;).

Looks good to me now.


Ban com.google.code.findbugs:jsr305 unconditionally

com.google.code.findbugs:jsr305 a pure dev UX dependency that might be useful when compiling code containing those annotations, but is completely useless when it is only a transitive dependency.
We exclude it where we can in Camel Quarkus, but we still need to fix some holes.
I guess it would be useful to ban it on the platform level so that no participant can smuggle it in.
Related: https://issues.redhat.com/browse/QUARKUS-1461

While this is doable for Camel Quarkus https://github.com/apache/camel-quarkus/pull/3337 , it is not that straightforward for Quarkus: findbugs is required not only to compile quarkus-grpc, but also it is required by user apps when the grpc codegen does its work.

So findbugs definitely needs to stay managed by Quarkus.
I just found out that it is managed in quarkus-build-parent rather then quarkus-bom. I think quarkus-bom would be a better place to manage it so that the alignment is effective also for the platform and thus for all user apps.

I have sent https://github.com/quarkusio/quarkus/pull/21716 closing this one.


Add category and tag index capabilities

Fixes #1076.
Contents of this PR

This removes the early 404 exit for /tag or /category, i.e. the filter prefix without a trailing slash.

[ ] @dignajar  Are there other filters where this is desirable? If so, undo the change and add a condition that checks for CATEGORY_URI_FILTER and TAG_URI_FILTER only.

When the remaining aka "filtered" URL slug is empty and the filterName is CATEGORY_URI_FILTER and TAG_URI_FILTER, Bludit now falls back to page display. This way, users can add static /tag and /category pages to their sites with an index.

Previously, users were allowed to create pages with URL slugs that equal CATEGORY_URI_FILTER or TAG_URI_FILTER, but these pages were never reachable because Bludit exited early. With this change, Bludit at least tries to access a corresponding page.
Example: automatic index
To generate an index of all tags automatically, the page corresponding to /tag can specify a special theme template, e.g. all_tags. The theme template all_tags.php can then fetch a list of tags and display them as a list:
my_custom_theme/php/all_tags.php:

<?= $page->title(); ?>

  <?= $page->content(); ?>

  <?php foreach ($tags->keys() as $tag): ?>

<a class="tag_link" href="<?= DOMAIN_TAGS.$tag ?>"><?= $tag ?>
  <?php endforeach ?>

If the theme does not support this, users can still add a  manual list of links to the page content.

Hello, with the new version of Bludit v4.0 rc1, I would like to close the old Github issues. If you feel that your issue is not resolved in the latest version, create a new ticket.

Help and Support use the Forum https://forum.bludit.org
Bugs and new requests here in Github https://github.com/bludit/bludit/issues


Worry about adding package to a project that exists in another project

Package names cannot be used across projects. (at the moment).
If you try to add a package name that already exists, Rowan should handle that.

since you get an error for this condition I think that we're good for alpha ... noone assigned at the moment

let's talk package visibility ... it seems that a package can be added to a project that is shared with another that has the same name as a package that is visible only to the other user ... hmmm, all projects are visible and a list of all packages used by all packages can be created and used to filter out duplicate package names ... so what about projects for which the current user does not have read permission --- I guess they get an error? probably need to create projects with a "readable by everyone" permission ...


[WebApp] disabling Referrals Page based on Support Tool settings - added

https://www.notion.so/saladtech/WebApp-When-user-referral-system-off-in-the-web-app-disable-the-Referrals-section-5d8b019e4493457285832f419d8cb28e?pvs=4

I think you should exclude path /account/referrals if userReferralsEnabled is false

I think you should exclude path /account/referrals if userReferralsEnabled is false


fix: always use options.fetch in getWellKnownSolid

This PR fixes the bug SDK-2780 partially, as in some situations fetcher.ts was failing to load cross-fetch, so the easy work-around is to always use the provided fetch implementation, that way we know that the method will behave correctly in @inrupt/solid-client-notifications.

[x] I've added a unit test to test for potential regressions of this bug.
[x] The changelog has been updated, if applicable.
[x] Commits in this PR are minimal and have descriptive commit messages.

The functional changes are fine - but lots of unnecessary formatting changes (changing indents, adding lines etc.).

Yeah, in the tests it's mostly just trying to simplify them and make them consistent in implementation of fetch mocking.


x/mobile/cmd/gomobile: add iOS build support

This is the tracking bug for the gomobile’s iOS build support.
There are two obvious strategies we can follow to build an *.app file from a Go package.
The first alternative is what misc/ios/go_darwin_arm_exec.go has been doing.

Require user to set GOIOS_DEV_ID, GOIOS_APP_ID, and GOIOS_TEAM_ID manually.
Target darwin/arm (and darwin/arm64 in the future) and build a binary.
Generate Info.plist, Entitlements.plist and ResourceRules.plist.
Compile the asset catalog and generate asset catalog plist file. (TBD)
codesign the the application directory.
Output the app file and optionally generate an IPA for ad-hoc distribution.

Or a simpler alternative is to create a minimal Xcode project.

Create the minimal Xcode project. (TBD, CLI tools like xcodeproj is able to create projects, it must be doable.)
Target darwin/arm and build a binary.
Shell out to xcodebuild to build and app. (It will fail if there are no default signing authorities.)
Optionally we can output the generated xcode project to allow users to open it in Xcode.

Any feedback or opinions about which way to follow?
cc/ @crawshaw @hyangah @minux

I may move the discussion to golang-dev@ if any extensive discussion is required.

If the latter approach works, creating an Xcode project and building it with xcodebuild, I would prefer that as it offers users more flexibility. However I'm not sure how it will be compatible with our linking process. For gomobile bind this strategy will definitely work, because we provide .a files and expect the entry point to be a main function in a .m/.c file, which xcode understands how to link.
Perhaps it is possible to replace the binary compile command with an xcode project setting?
One alternative would be to forgo real binary building and build with -buildmode=c-archive and let xcode do the linking (with a tiny .c file containing a main function). It would be odd, building libraries and passing them to xcode because there's no other way to get at its app building machinery, but if there's no other way it would probably work.
Minor notes:

darwin/arm64 binaries are required by the app store, so we should build both. The tool to build universal binaries is called lipo.
the build should copy assets to xcode resources.
a slash page image is required to get the iPhone 5S/6 to use its full resolution. according to the UI guideline this splash page is not a "company icon"-style splash page but an image of the first page. For game-like apps, I suspect that's a simple black page.

However I'm not sure how it will be compatible with our linking process.

I was able to skip the compile/link step just by removing the main.c, adding a static binary to the project and setting the CFBundleExecutable. I will investigate if it is achievable with lipo files.

I suspect that's a simple black page.

We may look for a, let's say, splash.png in the assets directory and fall back to a default image (which is likely to be a black image).

The idea worked with fat binaries! I pushed a minimal Xcode project to https://github.com/rakyll/go-xcode and suggesting to follow this path. Being able to work with Xcode is great for the developer experience. I am seamlessly pushing the debug builds to the test device, can export the app as an ad-hoc distribution or publish the app to the App Store.

Blocked by https://github.com/golang/go/issues/11075.

Blocked by https://github.com/golang/go/issues/11311.

Blocked by https://github.com/golang/go/issues/11339.

Blocked by https://github.com/golang/go/issues/11342.

Blocked by https://github.com/golang/go/issues/11337.


setConnectionTimeout seems to be ignored

Subject. After setting timeout in the factory the socket is being never disconnected. I have tested it via disconnecting the machine from the internet. After connecting it again, sometimes the socket is still alive and continues to receive messages and sometimes not. Neither onError nor onDisconnect are being called.

setConnectionTimeout sets the timeout for Socket#connect operation. It doesn't related to monitoring your connection.
WebSocket and nv-websocket library allows you to use WebSocket ping/pong frames as heartbeat messages to monitor your connection. You could activate this by calling WebSocket#setPingInterval. In you code you should add listeners when ping frame is sent and pong from is received to detect that server is not responding for pings and close connection explicitly.

@ifif14  see #76 - sadly to say it did not get merged.


Login form doesn't comply with forms standard

Doesn't trigger password managers such as 1Password etc.

Something to do with it being a hidden div.


Safely convert to string

safely convert to string as it throws an error if the action.payload is undefined
possibly fixes #1231

- Test plan
nope

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Deploy preview for netlify-cms-www ready!
Built with commit b9eb8192f0e482bcf0e746c36173438785e5bc43
https://deploy-preview-1240--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit b9eb8192f0e482bcf0e746c36173438785e5bc43
https://deploy-preview-1240--cms-demo.netlify.com


Additional SAR fields #961

Related Issue(s): #961, #922
Proposed Changes:
Adding four fields mostly for products:

sar:measurement_type
sar:measurement_convention
~sar:product_pixel_spacing~ use gsd instead
~sar:product_line_spacing~ use gsd instead

This has been brought up by @fangfy in https://github.com/radiantearth/stac-spec/pull/922#issuecomment-770502545 (and the follow-up comment) and seems like a good idea.
With my limited SAR knowledge, I tried to come up with a list of allowed values and descriptions, but please correct me if there are more values to add or if anything is wrong (which I assume).
PR Checklist:

[x] This PR is made against the dev branch (all proposed changes except releases should be against dev, not master).
[x] This PR has no breaking changes.
[x] I have added my changes to the CHANGELOG or a CHANGELOG entry is not required.
[ ] This PR affects the STAC API spec, and I have opened issue/PR #XXX to track the change.

Don't think "angle" is a measurement convention? And not sure if any product is provided in log scale (dB). Maybe limit to amplitude (linear amplitude) and power (linear power) for now? The card4l:conversion_eq defines how to turn the data into db.

I'm not sure I agree that sar:pixel_spacing_range and sar:pixel_spacing_azimuth is in radar geometry....or maybe I just don't understand the difference and should catch up on the discussion in #922.
At the very least I would argue that using the term "pixel" with units of meters to refer to something other than actual distance on the ground is a poor selection of terms.
Perhaps a clear explanation of the difference between the 4 fields is warranted.

I'm not sure myself, but I'm just doing what a SAR expert told me in #922 🤷♂ So maybe better discuss with her there?

Angle I got from the POL Card4l. It's listed there... Maybe I misunderstood...? 🤔 card4l:conversion_eq is not part of the SAR extension...

um... I didn't find reference to Angle (or mention of backscatter convention) in the POL excel file.
Since this is is a SAR specific CARD4L, many parameters are SAR specific. I'm not sure what should be the design principle here (as how much should be incorporated into the SAR extension).

I'm not sure I agree that sar:pixel_spacing_range and sar:pixel_spacing_azimuth is in radar geometry....or maybe I just don't understand the difference and should catch up on the discussion in #922.
At the very least I would argue that using the term "pixel" with units of meters to refer to something other than actual distance on the ground is a poor selection of terms.
Perhaps a clear explanation of the difference between the 4 fields is warranted.

_range and _azimuth are defined relative to sensor, not a ground coordinate system. The 'meter' sampling unit is still valid, just in a different coordinate. A product should either have sar:pixel_spacing_range and sar:pixel_spacing_azimuth defined (usually a lower level product, such as GRD) or sar:product_pixel_spacing and sar:product_line_spacing defined (a higher level one such as a CARD4L). Not both.

Thank you, @fangfy.

um... I didn't find reference to Angle (or mention of backscatter convention) in the POL excel file.

Found it here in the spec:

Since this is is a SAR specific CARD4L, many parameters are SAR specific. I'm not sure what should be the design principle here (as how much should be incorporated into the SAR extension).

Me neither. I try to limit the "core" STAC extensions like SAR to fields that people would search on (STAC has a focus on search and discovery) and in addition, are not only free-texts, so fields, where you have a choice like for beta0, gamma0, etc. or can come up with a numerical representation with a single value, seem good candidates. It's difficult with SAR as it's so diverse...

Or maybe it should always only have pixel_spacing and line_spacing and a different field for what's the coordinate system used for the pixel grid....

Honestly, I can't follow with regards to the SAR azimuth/range/pixel/.. discussion as I'm more a software developer than a remote sensing expert, so this is really difficult for me to understand. But it's not your job to teach me that ;-)
I'm happy to change to whatever makes sense to the experts.

Hi ! Thanks for all the effort on this @m-mohr and @fangfy , I'll have to brush up on CARD4L SAR, but @matthewhanson pinged me to add some comments here. Regarding coordinates and units, here is a nice doc from ASF https://asf.alaska.edu/wp-content/uploads/2019/03/rtc_atbd_v1.2_final.pdf related to amplitude products. In particular, we have 3 common coordinate systems with SAR, all related by incidence angle and therefore all with units of meters:

SSC/SLC data is in Beta0 because it does not depend on a terrain model, it is simply what the sensor measures.  these natural radar coordinates are traditionally referred to as 'slant range' and 'azimuth'. GRD data is more amenable to STAC because it is referenced to the earth (ellipsoid, not local terrain, so Sigma0) and pixel coordinates are still commonly referred to as 'range' and 'azimuth'
Back to the spec, it seems the confusion is that sar:pixel_spacing_range alone is ambiguous, and the meaning depends on sar:product_type.
A source of confusion I have is in which extension fields should belong. For example most users of STAC are probably interested in on ground coordinates, but for that there is the common metadata has 'Ground Sample Distance' gsd filed 'These fields will often be combined with domain-specific extensions that describe the actual data, such as the eo or sar extensions.'
I'll leave a few more comments directly in the code, hope this helps clarify some things!

Sorry to come up a bit late but I think there is a missing information here in the definition of the new sar:measurement fields. data can are considered as beta0, gamma0 and then sigma0 once calibrated or terrain corrected. Most of the SAR datasets are delivered as uncalibrated and are either amplitude, intensity or magnitude as measured by the instrument and defined by the sar:product_type. It is necessary to link this measurements fields are with a concept like processing:level which is not very commonly defined in SAR products.

I see the point of having the information of the calibration of the backscatter for ARD product and thus in CARD4L. I am less sure that this information belongs to the sar extension.

The CARD4L extension is meant to be a mapping of CARD4L to STAC. In the best case it would define (mostly) no fields at all. Thus, either they should belong to SAR or to a new extension (e.g. sar-backscatter or so). It seemed that these two fields are at least somewhat common to higher-level products as they are not just in the NRB, but also in the POL CARD4L and also seem to have some specific values. But it seems that there's not even consensus across SAR folks so I may just move them back into card4l until we can get a range of people with a broad SAR background so that eventually we can for example define extensions for specific higher-level SAR products. At least from the comments above I'm completely confused and (without much SAR background myself) don't know how to call things, which values to allow etc.

we can get a range of people with a broad SAR background so that eventually we can for example define extensions for specific higher-level SAR products that cover more of the proprietary CARD4L fields. While I appreciate all the contributions here, I'm completely confused now and (without much SAR background myself) don't know how to call things, which values to allow etc.

Apologies for the confusion @m-mohr, again, really appreciate your efforts to accommodate. In the spirit of an implementation-driven nature of STAC development, it does seem like a way forward is to not touch the existing SAR extension, put anything new into the CARD4L extension, and then based on some concrete examples follow up with suggestions on moving/creating new fields in existing extensions?
Are there any prototype CARD4L STAC catalogs publicly available? Obviously part of the discussion here is to define what needs to be in such a catalog, but it looks like examples for the extension are still marked as 'todo' (#922) and based on this recent webinar seems like a work in progress? https://docs.google.com/forms/d/e/1FAIpQLScCMvd6g_2FTsjw0csRymnTHl_pSSdZ_ZnPZKLnINGwm638yw/viewform
I'm wondering if @asjohnston-asf or @talogan could point to some examples from ASF (or others involved int the CEOS efforts)?
For what it's worth there is also this SAR Gamma0 dataset, https://registry.opendata.aws/sentinel-1-rtc-indigo, seems like another great opportunity for a CARD4L-compliant STAC example! In case it helps I started an effort to generate STAC1.0 compliant metadata for this dataset here https://github.com/stac-utils/stac-sentinel/pull/1 a while back, but have been drawn into other things for the time being. happy for anyone to take over that effort :)

Thanks for sounding in, @scottyhq - I appreciate it.

In the spirit of an implementation-driven nature of STAC development, it does seem like a way forward is to not touch the existing SAR extension, put anything new into the CARD4L extension, and then based on some concrete examples follow up with suggestions on moving/creating new fields in existing extensions?

It's a bit more complicated in this case, as we aim to submit the CARD4L extension and examples to CEOS for approval. As that's a lengthy process, I won't do that for every change we want to do in STAC (e.g. moving fields from card4l to sar). So once we have them in card4l, they'll stick there for a bit. Thus my aim was to get at least some fields that seemed to be good candidates for the SAR extensions in there. As far as I've understood you all (@fangfy @scottyhq @emmanuelmathot), there's no consensus yet and I had hoped that you'd discuss here and come to a conclusion how we could do things in the SAR extension.

Are there any prototype CARD4L STAC catalogs publicly available?

No, not with pure STAC. All waiting for this to be solved and the CARD4L STAC spec to be finished.

Obviously part of the discussion here is to define what needs to be in such a catalog

That's defined in the CEOS specification and I try to do the mapping to STAC now.

but it looks like examples for the extension are still marked as 'todo' (#922)

The STAC examples are still in todo, which we'll generate once the CARD4L STAC mapping has been agreed on. There are examples in the CEOS CARD4L metadata specification, thus I doubt a STAC example would help us a lot here. What would you expect to see in such an example that's not yet clear from the CEOS documents?

and based on this recent webinar seems like a work in progress? https://docs.google.com/forms/d/e/1FAIpQLScCMvd6g_2FTsjw0csRymnTHl_pSSdZ_ZnPZKLnINGwm638yw/viewform

CEOS specifications for NRB and POL should hopefully be stable. At least they have a 5.0 version number, which sounds stable.

Closing, no consensus found.


Create male_last.txt

Please merge PRs #200 - #203 with this one. Also remember to provide an inject.js (You can use another nat as a template).


Generating Climate Patterns from CMIP6 Models

Description

Closes #2701
Link to documentation:

Before you get started

[x] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Code is written according to the code quality guidelines
[x] 🛠 Documentation is available
[x] 🛠 Tests run successfully
[x] 🛠 The list of authors is up to date
[x] 🛠 Any changed dependencies have been added or removed correctly
[ ] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[x] 🧪 Recipe runs successfully
[x] 🧪 Recipe is well documented
[x] 🧪 Figure(s) and data look as expected from literature
[x] 🛠 Provenance information has been added

New or updated data reformatting script

[x] 🛠 Documentation is available
[x] 🛠 The dataset has been added to the CMOR check recipe
[x] 🧪 Numbers and units of the data look physically meaningful

To help with the number of pull requests:

🙏 We kindly ask you to review two other open pull requests in this repository

This seems to have come a long way, but the current status is a bit unclear. @mo-gregmunday, if you think this is ready to be integrated, please resolve the conflicts and ping your reviewer. It it still needs some work, consider converting it back to draft state (there is a link Still in progress? Convert to draft in the column on the right just below the Reviewers section), if you need some help, feel free to holler.

Thanks @zklaus , I think perhaps it would be easiest to explain what's been happening with this over the phone - would you be free for a Zoom call at some point this week?

Sorry, @mo-gregmunday, saw this too late. We can try next week? Shoot me an email if you have time.


Xamarin.iOS string tweaks

These string tweaks were made in response to clarification questions from the localizers.

Thanks, Madhuri!


My spotify dont restart

🔍 Is there already an issue for your problem?

[X] I have checked older issues, open and closed

ℹ Environment / Computer Info
- Spotify version: I just downloaded from spotifys website so i dont know
- Spicetify version: v2.38.3

📝 Description
When i have typed in all the thing i am supposed to my spotify doesnt restart, can someone please help me with this...
📸 Screenshots
No response

i fixed it


Verify Windows compatibility

As I develop on Linux, I make a lot of assumptions regarding things such as filesystem paths and system calls.  As soon as I have a Windows environment with Go 1.3 available, I need to verify that wavepipe works as intended on Windows.

I am no longer maintaining this repo.


Question About Smart Batching and Containers

Hi, just a quick question about smart batching. Say I'm displaying many sprites, each with the same texture, but with different position, rotation, and tint properties. If I add all of these sprites to their own container will that help with the smart batching, since they're all drawn consecutively? Or is there a more optimal best practice for this scenario?
BTW, is it okay netiquette to ask these non-bug-related questions here?

That depends on how many do you have. If they are like 100-1000 , then you can put them in different containers, batching does not care about container tree, it just works for elements that are drawn consecutively. Things that break batching: different blendMode, different textures (more than 8), masks and filters.
If you have more than 1000 sprites, its better to put them in single "PIXI.particles.ParticleContainer".
If your stage is difficult, and you have some kind of Z-index, please use this thing: http://pixijs.github.io/examples/#/layers/lighting.js

@ivanpopelyshev
But the Container.renderWebGL function renders the container's children consecutively, so putting all sprites that use the same texture in in their own container should force them to be drawn consecutively, right? It seems like it would work as well as z-index sorting, in terms of making sure the sprites are drawn consecutively, unless I'm misunderstanding?
In my case, I'll only have several hundred sprites per texture. And I'll need to be able to adjust the tint on a per-sprite basis, too, so it looks like the ParticleContainer is a no go this time.
8 textures without breaking the batch: that's interesting, so if my app only uses 8 textures or less in total, then I don't have to worry about the draw order at all, in terms of batch-breaking?

Layers are working fine, they are branch of "pixi-display", but no one used it to help batching yet, I dont know if it makes sence for your game. Use-cases for it are "render all text above stage" or "render some lights inside filtered container".
"And limiting each container's children to use 8 or less textures int total would help too, since the container's elements are rendered consecutively"
"Consecutively" render all elements if they are rendered in the tree-walking order. If two elements are in different containers, they can be batched anyway.

Hi, can I just clarify as I'm always looking for tips to improve performance?
When you say 8 textures you mean a single 'sprite' from the sprite sheet?
So if my sprite sheet has images a,b,c,d,e,f,g,h,i,j,k - a container might benifit if it only had images a-h?
But I can have 10 image a's etc without reducing performance?

I mean base textures aka spritesheets. Actually up to 16 on most of PC's.

When referring to textures and batching, we're always referring to the equivalent of a PIXI.BaseTexture. You could create 999999 PIXI.Textures from that PIXI.BaseTexture, but they'd all get batched nicely. It's when the renderer has to swap from rendering from one BaseTexture to another that there will be the tiny performance penalty. Well, in PIXIs case, from one of 16 BaseTextures to another BaseTexture that isn't one of those 16 (that number changes based on hardware for what is possible - it's higher on desktops than on mobiles. Legacy mode reduces this number to 1, for example)

Ok, thanks for the info interesting stuff.

Thanks for clarifying, I was immensely confused and over-complicating things I guess.
So the order that sprites are added to the stage for instance doesn't affect batching at all then?


Update docs

Helps with https://github.com/nanobox-io/nanobox/issues/503

@glinton should be good to go now


TextInput component, seem not support khmer language

Software Versions

Python:3.10.11
OS: window
Kivy: v2.3.0
Kivy installation method:

Describe the bug
A clear and concise description of what the bug is.
The issue tracker is a tool to address bugs only (search known bugs: https://git.io/vM1iE).
Please use the #support Discord channel at https://chat.kivy.org/ or Stack Overflow for
support questions, more information at https://git.io/vM1yQ.
Expected behavior
A clear and concise description of what you expected to happen.
To Reproduce
A short, runnable example that reproduces the issue with latest kivy master.
Code and Logs and screenshots
class MyApp(App):
    def build(self):
        layout = BoxLayout()
        self.text_input = TextInput(
            multiline=True,
            font_name='KhmerOS.ttf',
            font_size=24
        )
        layout.add_widget(self.text_input)
        return layout

if __name__ == '__main__':
    import kivy
    MyApp().run()

Additional context
Add any other context about the problem here.

អ្នកចាំទីរបស់ក្រុមអ្នកមានបុណ្យBarcelaonaគឺកីឡាករMarc-AndreterStegenបានធ្វើការវះកាត់របួសជង្គង់ដោយជោគជ័យនិងត្រូវបន្តសម្រាកព្យាបាលចំនួន៧ខែ។

Since most of us are located within the EU. Can you explain what's wrong?

Dear Team,
I try to implement kivy with Khmer language, but after load file then
display on textinput component then the character was displayed not
properly.
Thank you for your understanding and supporting
On Wed, 25 Sep 2024 at 17:24 Mathias Lindström @.***>
wrote:

Since most of us are located within the EU. Can you explain what's wrong?
—
Reply to this email directly, view it on GitHub
https://github.com/kivy/kivy/issues/8834#issuecomment-2373685395, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A6M6RJ4GKZRA4UNBRZHBM3TZYKFOTAVCNFSM6AAAAABOWLJ7DWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZTGY4DKMZZGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Dear Team, I try to implement kivy with Khmer language, but after load file then display on textinput component then the character was displayed not properly. Thank you for your understanding and supporting
…
On Wed, 25 Sep 2024 at 17:24 Mathias Lindström @.> wrote: Since most of us are located within the EU. Can you explain what's wrong? — Reply to this email directly, view it on GitHub <#8834 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6M6RJ4GKZRA4UNBRZHBM3TZYKFOTAVCNFSM6AAAAABOWLJ7DWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZTGY4DKMZZGU . You are receiving this because you authored the thread.Message ID: @.>

does this look correct?

I'm not familiar with Khmer, but there are a number of resources that can help with your issues.
Here is an article about kivy with arabic.  The element that is relevant here is about using a reshaper.  https://medium.com/@ahmedfgad/supporting-arabic-alphabet-in-kivy-for-building-cross-platform-applications-7a1e7c14a068
This repository contains a number of resources for working with Khmer: https://github.com/seanghay/awesome-khmer-language
The resources that seems most relevant for this issue is; https://github.com/sillsdev/khmer-normalizer
I hope this helps.

yes, that's correct, how to modify it ?
On Fri, Sep 27, 2024 at 1:18 PM Rohit Vishwakarma @.***>
wrote:

Dear Team, I try to implement kivy with Khmer language, but after load
file then display on textinput component then the character was displayed
not properly. Thank you for your understanding and supporting
… <#m_8310796836033546848_>
On Wed, 25 Sep 2024 at 17:24 Mathias Lindström @.> wrote: Since most
of us are located within the EU. Can you explain what's wrong? — Reply to
this email directly, view it on GitHub <#8834 (comment)
https://github.com/kivy/kivy/issues/8834#issuecomment-2373685395>, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A6M6RJ4GKZRA4UNBRZHBM3TZYKFOTAVCNFSM6AAAAABOWLJ7DWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZTGY4DKMZZGU
https://github.com/notifications/unsubscribe-auth/A6M6RJ4GKZRA4UNBRZHBM3TZYKFOTAVCNFSM6AAAAABOWLJ7DWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZTGY4DKMZZGU
. You are receiving this because you authored the thread.Message ID: @.>
image.png (view on web)
https://github.com/user-attachments/assets/e01f2537-43e2-44b8-a242-8224c92ff5f8
does this look correct?
—
Reply to this email directly, view it on GitHub
https://github.com/kivy/kivy/issues/8834#issuecomment-2378483795, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A6M6RJ4MPDV5FRTAETHKQXTZYT2DFAVCNFSM6AAAAABOWLJ7DWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYGQ4DGNZZGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

source code -
demo.zip
i have added font_script_name property to textinput widget line number 2697, for detail read this https://kivy.org/doc/stable/api-kivy.uix.label.html#kivy.uix.label.Label.font_script_name


Why does OnFieldsWithBoost automatically converts capitalized fields into lowercased?

OnFieldsWithBoost converts all capitalized fields into lowercased, which causes search hits to be zero all the time.

Hey @foresightyj this is by design, and the default behavior of NEST.  Check out this SO question: http://stackoverflow.com/questions/27282865/how-to-disable-camel-casing-elasticsearch-field-names-in-nest/27296871#27296871.

 Thanks