iOS 16.2 - New thermostat update

Hi,
plugin has been working flawlessly.
Just upgraded to iOS 16.2 and updated Infinity touch thermostat firmware at the same moment.
Homekit, Homebridge and Carrier api are syncing without any issue.
Infinity touch thermostat is having intermittent connection problem with Carrier api.
(Changes on api not reflected on the thermostat)
Getting Server connetion status code 107 and 108 on the main thermostat.
Awaiting further Carrier technical support in that matter.
Anyone else experiencing the same situation ?
Any ideal on code 107 and 108 signification ?
Carrier open api documentation not mentionning those codes.
Tnx !

I am having strange status issues after the Bryant update. I was using iOS 16.2 just fine until the carrier/Bryant update went out. It seems as though the thermostat won’t sync status with the api until someone opens the “new” Bryant home app, and even then it takes two attempts to get the correct status.
It’s almost as if they changed it so that the api must request an update from the wall control before it sends anything updated.

Could you both share what series of thermostat control you have? Take a look at this link to help identify: https://github.com/grivkees/homebridge-carrier-infinity/wiki/Supported-Systems#example-thermostats
I have the older A series, and I'm guessing you both may have B, since it seems like B just received an update.
The release notes for the new Series B update (https://legacy.myinfinitytouch.carrier.com/Content/docs/v0431-20221128.pdf) says it includes "Data rate limiting until app usage is active."

I have the series b, Bryant.
Software version 04.31.
Based on those release notes, that confirms the behavior I’ve been seeing: no updates until I open the “Bryant Home” app and start using it.

Do you have to open the app each time you change something in homekit for the thermostat to update? Or was it just a one time thing?

Also running a B serie !
I had a feeling some kind of rate limiting process was in place.
Still didn't get any reply from Carrier customer service.
I can use the Carrier iOS app without any problems, but my web online account doesn't show any information anymore ... I will call Carrier tomorrow.
Thank you for the information.
The issue is clearly not related with the plugin.

Do you have to open the app each time you change something in homekit for the thermostat to update? Or was it just a one time thing?

Just did some testing AFTER openning Carrier iOS app.

Homekit changes are almost synced instantaneously on the wall thermostat (much faster than before)
Changes made on the thermostat take a bit longer ton sync with api.
After playing a bit and doing many changes, sync are not occuring anymore between api and wall thermostat (rate limiting ?)
Funny enough, the Zone current temperature is in sync, but not the set target temperature ...

Will check in next hours if iOS need to be launch for api to sync properly

Do you have to open the app each time you change something in homekit for the thermostat to update? Or was it just a one time thing?

No, if I change things (temperature set point or zone comfort profiles) in HomeKit, it makes it to the thermostat just fine. HomeKit just fails to recieve any updates on the current temperature and heating/cooling status for each zone until I start using the app.
For example, when I leave home, I have an automation set all zones to away. I checked HomeKit 2-3 hours after leaving my home and was surprised to see the temperature of each zone was still 70, which is what it was set to while home (typically drops into the mid 60s after being gone for a few hours on a cold day). I opened the Bryant home app and saw the same status at first, and then it proceeded to update the current status after a few seconds. Checking back to HomeKit then reflected the correct status.

It also appears as though changes to the thermostat directly don’t make it back to the api until the Bryant home app is opened also. Still testing to confirm, but that’s what it looks like to me at the moment

I also still have the discontinued “MyEvolution” app on my phone and the behavior mirrors what I see in HomeKit. (I’m sure they deprecated it for a reason, but just interesting to see how the api is working)

from the old MyEvolution app, showing that the last time the thermostat updated the api was 3:15pm (current time is 3:56pm)

Sounds like there may be some new magic going on here.
Next time you see things get stuck, instead of opening the new app, can you try logging into the carrier or bryant website using the links here (https://github.com/grivkees/homebridge-carrier-infinity/wiki/Supported-Systems)?
I am curious to see if their website also has this new magic, or if it is just the new app that seems to be able to get things synced again.
For what its worth, this change actually hints at something exciting. There has never been a way to 'push' an update to the thermostat from the api, the thermostat polls the api every few min, and you have to wait for that to happen for it to sync. It sounds like the new update supports some kind of push, and the issues here are because as part of that change they got rid of (or changed) polling.

Yes the website also supports it. It actually is even faster than the app (the app requires clicking around before the status actually updates)

Sounds like there may be some new magic going on here.
Next time you see things get stuck, instead of opening the new app, can you try logging into the carrier or bryant website using the links here (https://github.com/grivkees/homebridge-carrier-infinity/wiki/Supported-Systems)?
I am curious to see if their website also has this new magic, or if it is just the new app that seems to be able to get things synced again.
For what its worth, this change actually hints at something exciting. There has never been a way to 'push' an update to the thermostat from the api, the thermostat polls the api every few min, and you have to wait for that to happen for it to sync. It sounds like the new update supports some kind of push, and the issues here are because as part of that change they got rid of (or changed) polling.

I see the following request on the online portal taking place before every location refresh:
Request URL: https://www.app-api.ing.carrier.com/users/[username]/activateSystems
Request Method: POST
I don't see any reference to that request in the Carrier open api documentation.
Is it of any interest ?

I saw that also, and I don’t remember seeing that before. That’s my best guess too.

So I hacked an extra call to the activateSystems endpoint in the code on my local system, so far it appears to be working. I don't think its in the right place in the code though since it seems to take two tries to get the latest status in HomeKit.

So I hacked an extra call to the activateSystems endpoint in the code on my local system, so far it appears to be working. I don't think its in the right place in the code though since it seems to take two tries to get the latest status in HomeKit.

The web site also calls it twice everytime
Request URL: https://www.app-api.ing.carrier.com/users/***/activateSystems
Request Method: POST
Status Code: 200
Request URL: https://www.app-api.ing.carrier.com/users/***/activateSystems
Request Method: OPTIONS
Status Code: 204

Yeah I noticed that too. I just added the POST call since that’s the one actually doing the work.

I guess everyone has tried pulling the t-stat off the wall to fully power-cycle it? Over the past few days, I've noticed that the outdoor temp (& presumably everything else) wasn't tracking the thermostat values, in the Carrier app nor the plugin. After putzing around with it awhile on the homebridge side, I finally just power-cycled the t-stat, and once it got its pants back on straight, everything seems to have synced up.

Well, no, I take that back. The cloud isn't staying synced to the thermostat. When I open the Carrier app, the outside temp doesn't match what's on the t-stat, but it seems to update fairly quickly. I wonder if they changed something in the API that causes the sync to only occur if the app is active?

Yep, that’s exactly what we’ve been discussing. There’s some sort of activation that must occur for the thermostat to update back to the cloud now with the latest firmware update. Which version of the thermostat do you have? I’m assuming it’s a B or C

Thermostat:
model: SYSTXCCITCO1-B
software version: 131626-04.31
Carrier Home App v1.4.0

I don't know how long this feature has been there, but if you go into the Carrier Home app, in the hamburger menu, "My Infinity Portal," and then "My Apps," apparently there's a way to authorize third-party apps to access the API. Is this a new thing?

I don't know how long this feature has been there, but if you go into the Carrier Home app, in the hamburger menu, "My Infinity Portal," and then "My Apps," apparently there's a way to authorize third-party apps to access the API. If this is a new thing, it could have something to do with this issue. My recollection is that the Carrier TOS used to prohibit outside access.

No that’s been there for a while. It’s for the Alexa skill integration. I attempted to contact them and get a key and they said they aren’t authorizing random home automation projects

@tedinorbit do you have a pr for the updates need to get this working again? Thinking about this more I think your right, it’s the api not getting the real current status of the thermostat reliably…so my automation’s conditions aren’t being satisfied. It would be great to expose the last timestamp the thermostat updated the api so it would be easier to see how stale the data is.

Unfortunately I haven’t really solved anything, except that I’m able to get the current status of my thermostat on the second try… I have to open the home app and then make it update a second time before I get the current status. I’m happy to share the lines of code I added if you’d like, but I doubt it’s going to help you in this case?

Just put up a change and pushed to @next that I think fixes the issue. It also seems more responsive to me than it used to, both with changes from the thermostat syncing to homekit and changes in homekit syncing to the thermostat faster.
I have an 'A' system though, so would appreciate feedback from people with a 'B' system. (That said, I think theres a decent chance the A vs B thing may not actually matter. I may just have not noticed the issue before it was reported.)
Going to leave this open for a bit to get feedback.

@grivkees thanks for the change! I will give it a try, Quick noob question, in the PR should it be forceActivate instead of forceRefreshToken?

Whoops... Good catch.
Though it does still seem to be working for me.... Let me see what happens when I actually do the thing I meant to do.

I will test it out today with my B thermostat!
I think A vs B quite possibly does make a difference as A has no longer been receiving firmware updates, correct? I used to have an A before I had to replace my AC unit (I guess the A wasn’t smart enough for the latest communicating AC units?) and I can’t remember a firmware update for a couple of years

I have 1.6.6 installed now (and a SYSTXCCWIC01-B thermostat).
So far, changes made in HomeKit (Eve app) propagate to the thermostat in under 10 seconds. Changes made on the thermostat propagate back to HomeKit (Eve app) in about 20 seconds. I measure that by manually refreshing the thermostat in the Eve app until I see the change show up. I will keep an eye on it over the next day to see if EVE and my thermostat get out-of-sync. Please let me know if there are any specific scenarios you'd like me to try.

So far today from my testing I’ve noticed that if you are actively using it, making changes and such, both the changes and status propagate correctly and quickly, just like @sebmerry reports. However, if you haven’t opened HomeKit in a while, there does appear to be a race condition. I believe the intended flow is activate systems is called, this then triggers an update from the thermostat to the api, but before that process is complete, the plug-in checks the state from the api and reports a previous value. If you go back and immediately refresh it again, it appears correctly.

Thanks for testing! Putting up a new version that may help somewhat by calling activateSystems periodically, even if you are not actively using homekit. I thought homekit would poll the plugin periodically on its own even if no one is checking the home app (which would cause this to run), but it doesnt look like it does.
This wont actually push any observed changes to homekit though, it will just make it more likely that when homekit polls for changes it will be up to date. I want to make the plugin poll for updates and push to homekit on its own.

Thanks for testing! Putting up a new version that may help somewhat by calling activateSystems periodically, even if you are not actively using homekit. I thought homekit would poll the plugin periodically on its own even if no one is checking the home app (which would cause this to run), but it doesnt look like it does.

What if you set up an Automation that is triggered by a temperature event? I would think that would cause the Home Hub to poll the plugin on some kind of regular basis.

However, if you haven’t opened HomeKit in a while, there does appear to be a race condition. I believe the intended flow is activate systems is called, this then triggers an update from the thermostat to the api, but before that process is complete, the plug-in checks the state from the api and reports a previous value. If you go back and immediately refresh it again, it appears correctly.

After using these updates for a couple days it's much better. I agree with @tedinorbit. The plugin appears to be grabbing values before the API has updated with the latest data from the thermostat. If I refresh the Home/Eve 2-3 times, I will eventually get the expected current thermostat status in HomeKit.

I want to make the plugin poll for updates and push to homekit on its own.
That sounds like a great idea @grivkees!

So I made a small hack and it seems to be working alright so far...since you added logic to only call activate once every 60s (and use the cached response subsequent calls), I attempted to give the api/thermostat a few seconds to do the activating and update back from the thermostat by adding an arbitrary 5 second wait... It obviously delays the update, but it does seem to give it enough time to report the correct status. I'm sure theres a more elegant solution though.
   async forceActivate() {
       this.log.info("calling activate systems")
       await this.axios.post(`/users/${this.username}/activateSystems`, null, {
           headers: {
               Accept: 'application/json',
           },
       });
       await new Promise(r => setTimeout(r, 5000));
       this.log.info("done activating")
   }

I'm going to lower it to 2.5 seconds to see how that goes.

I'm new to TS but, looking at their code, it appears they call activate once every minute.
https://www.myinfinitytouch.carrier.com/static/js/lib/InfinityClient.ts
export const activateUserDevices = async (username: string) => {   try {     await commonAxiosInstance.post(/users/${username}/activateSystems`);
} catch (e) {
await handleInfinityError(e);
}
}
export const activateDevice = async (serialNumber: string) => {
try {
await commonAxiosInstance.post(/systems/${serialNumber}/activate);
} catch (e) {
await handleInfinityError(e);
}
}
`
https://www.myinfinitytouch.carrier.com/static/js/hooks/useActive.ts
    const activateUserDevicesInterval = setInterval(() => {       activateUserDevices(username);     }, ONE_MINUTE);
It's not clear to me that a response tells us if the API has been updated...But I wonder if we can just leverage the status' timestamp to wait x seconds before reading the API values? It looks like once the timestamp/localTime are linked to thermostat -> API updates.

@grivkees
I'm running 1.6.7
Got following error from API while update status page: Rate exceeded
Profile and Config pages are refreshing fine
Is that related with the new ActivateSystem call ?
Also, the API error crashed Homebridge:
[1/31/2023, 10:15:32 PM] [CarrierInfinity] [****] [API] Failed to fetch updates:  Request failed with status code 500 [1/31/2023, 10:15:32 PM] TypeError: Cannot read properties of null (reading 'status')     at InfinityEvolutionSystemStatus.getOutdoorTemp (/usr/local/lib/node_modules/homebridge-carrier-infinity/src/infinityApi.ts:385:36)     at runMicrotasks (<anonymous>)     at processTicksAndRejections (node:internal/process/task_queues:96:5)     at OATSensorTemp.get (/usr/local/lib/node_modules/homebridge-carrier-infinity/src/accessory_oat.ts:10:7)     at Immediate.<anonymous> (/usr/local/lib/node_modules/homebridge-carrier-infinity/src/characteristics_base.ts:60:40)

What if you set up an Automation that is triggered by a temperature event? I would think that would cause the Home Hub to poll the plugin on some kind of regular basis.

@jlg89 Haven't checked, its possible. Feel free to give it a shot. But in any case, it's been on my todo list for a while to have the plugin poll carrier natively and push updates to homekit. Theres a few other usability reasons this is helpful as well.

After using these updates for a couple days it's much better. I agree with @tedinorbit. The plugin appears to be grabbing values before the API has updated with the latest data from the thermostat. If I refresh the Home/Eve 2-3 times, I will eventually get the expected current thermostat status in HomeKit.

@sebmerry As far as I can tell, the 'activate' call doesn't actually initiate a direct update from the thermostat to the carrier api. It seems to instead keep it in some sort of list of systems they are actively keeping the api updated for. And the api seems to only have new values (as judged by the timestamp in the response) every 10 seconds or so, regardless of how frequently I call activate.

So I made a small hack and it seems to be working alright so far...since you added logic to only call activate once every 60s (and use the cached response subsequent calls), I attempted to give the api/thermostat a few seconds to do the activating and update back from the thermostat by adding an arbitrary 5 second wait... It obviously delays the initial update, but it does seem to give it enough time to report the correct status. I'm sure theres a more elegant solution though.

@tedinorbit Activate doesn't actually return any response. Does this seem to help just on the first refresh you've done in a while, or on all of them? It's possible the first activate in a while could jump start the system, but then I fetch the response too quickly (before the update has happened), and the rate limiting logic means we end up waiting longer than we strictly need to to get the update.

It's not clear to me that a response tells us if the API has been updated...But I wonder if we can just leverage the status' timestamp to wait x seconds before reading the API values? It looks like once the timestamp/localTime are linked to thermostat -> API updates.

@sebmerry Yes, activate does not give any response. And as far as I can tell no matter how fast I call activate, the status/config apis still only has a new value ever 10 seconds or so. If you can get this lower, let me know. In any case, the idea of using the timestamps to try to sync fetches with how fast the api has new data is a good idea.

@grivkees I'm running 1.6.7 Got following error from API while updating status page: <error version="1.48"><message>Rate exceeded</message></error> Profile and Config pages are refreshing fine Is that related with the new ActivateSystem call ?

@EHylands Did this happen just after updating, or right after restarting homebridge? In other words, did this error happen on the very first status fetch since the plugin / homebridge rebooted?

@grivkees
API status went back to normal after a few hours of not playing with home app.
Openning and closing Home App many times in a short amount of time triggered the rate limitation process again.
Hope it can help!

Thanks @EHylands. I'm going to add some backoff logic when we hit errors, and make sure it doesn't crash homebridge as a whole.


Remove ResolutionRequest CRD from Tekton Resolution

This CRD should only be defined in one place. Per feedback from Pipelines WG it makes most sense to live in Tekton Pipelines.
This commit removes the CRD from Tekton Resolution.

Makes sense. Though this means pipelines will have to be installed for resolution to work.
/approve


Query time adaptive parallelization for retrieval and ranking with multiple threads per search

Today we use whatever number of threads is configured in ranking profile/services.xml without doing any estimate if using more threads will help speed up the query.  Even the built in unranked ranking profile will use the upper bound number from services.xml setting.
In Predictive Parallelization: Taming Tail Latencies in Web
Search authors proposes a method to predict when to use more threads executing the query and not.
Given that query setup and blue print setup is single threaded before executing the potential multithreaded matching and ranking phase(s) we could potentially guess the benefit from multi threaded by using the query plan with hit count estimates.
Enabling how? We could expose a range in the ranking profile with min and max threads to use and where the actual number is adaptive determined by the predictor.
rank-profile foo {
  num-threads-per-search:1-4
}

We're missing documentation of min-hits-per-thread.

min-hits-per-thread is documented at https://docs.vespa.ai/en/reference/schema-reference.html#min-hits-per-thread
Using different thread count between first and second phase is not possible.
That would be considered a major rewrite. And until a real-world use case emerges which proves that this would be beneficial this is moot.


Twitch emotes don't work in whispers

Describe the bug
Upon sending an emote in a twitch whisper it doesn't appear in chatterino.
To reproduce
Recive a whisper with a Twitch emote in it (doesn't matter if it's global emote or sub emote)
Screenshots
Chatterino

Webchat

Chatterino version
49e30e64 and a893cdaeb
Operating system
Arch GNU/Linux (btw)
Additional information
It's on twitch's end, broken even in DankChat. Opening an issue to prevent further duplicates.


SQL Server Connector Trigger not working: The 'ListCallbackUrl' API is not supported by triggers of type 'ServiceProvider'

Describe the Bug with repro steps
In the Azure portal:

create a standard logic app with vnet injection and integration
create a workflow with a sql insert trigger
connect to a microsoft sql server hosted on an azure vm in the same vnet - issue also happens when the logic app and sql server are in two different vnets in two different tenants with vnet peering.
select a table to monitor
run trigger

On the activity log for the logic app, you will see errors for the following operations: Run and Get Web Apps Hostruntime Workflow Trigger Uri.
The message for the "Get Web Apps Hostruntime Workflow Trigger Uri" operation is: The 'ListCallbackUrl' API is not supported by triggers of type 'ServiceProvider'.

What type of Logic App Is this happening in?
Standard (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
{
  "definition": {
    "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
    "actions": {
      "Compose": {
        "type": "Compose",
        "inputs": "@triggerBody()",
        "runAfter": {}
      }
    },
    "contentVersion": "<IP_ADDRESS>",
    "outputs": {},
    "triggers": {
      "When_a_row_is_inserted": {
        "type": "ServiceProvider",
        "inputs": {
          "parameters": {
            "tableName": "[dbo].[Contact]"
          },
          "serviceProviderConfiguration": {
            "connectionName": "sql-2",
            "operationId": "whenARowIsInserted",
            "serviceProviderId": "/serviceProviders/sql"
          }
        }
      }
    }
  },
  "connectionReferences": {
    "sql-2": {
      "connection": {
        "id": "/serviceProviders/sql/connections/sql-2"
      },
      "connectionName": "dbconnection",
      "api": {
        "id": "/serviceProviders/sql"
      }
    }
  },
  "parameters": {}
}

Screenshots or Videos

Browser
Firefox and Chrome
Additional context
I do not believe this is an issue with networking because I can see the tables available for the sql server when I make the connection in the logic app.
AB#25010559
AB#25010796
AB#25025480

Why and how would I do that?
Made this question on Microsoft questions and the issue was reproduced. The person said they are having the product team look into it:
https://learn.microsoft.com/en-us/answers/questions/1355577/getting-error-for-standard-logic-app-sql-trigger-t?comment=question#comment-1362425

Oh sorry @zerophilmister, that was a comment for us - I had previously transferred it to our backend team thinking it was a bug on their end. However, was recently added to a discussion which I was informed that the ask on the UX team is to suppress the listCallbackUrl for non-request triggers. I had just moved it back with that comment so that it wouldn't get lost again

@Eric-B-Wu sounds good. Thank you

Thank you.


Apply child stencils correctly to the clipping node

Fix incorrect reference count for original program states stored in collection
Describe your changes
When using different child stencils in a ClippingNode, the ProgramState applied to each child was exactly the same, resulting in incorrect output.
With this change, it now allows the developer to set whether the ClippingNode uses the same unique ProgramState per child stencil.
An existing issue is also fixed, due to the _originalStencilProgramState collection not retaining the ProgramState instances saved in it.  These instances were being released by the parent node after being added to the _originalStencilProgramState, which meant that they may have been freed if their reference count became 0.  The change in this PR ensures that they are correctly retained prior to being added to the collection.
This change will not affect existing usage, as the new functionality is optional.
Issue ticket number and link
#1956
Checklist before requesting a review
For each PR

[ ] Add Copyright if it missed:
- "Copyright (c) 2019-present Axmol Engine contributors (see AUTHORS.md)."

[ ] I have performed a self-review of my code.
Optional:

[ ] I have checked readme and add important infos to this PR.
[ ] I have added/adapted some tests too.

For core/new feature PR

[ ] I have checked readme and add important infos to this PR.
[ ] I have added thorough tests.

Please add a new test to cpp_test too.

Please add a new test to cpp_test too.

Will do


Translate all the extensions

for i in $(find . -type f | grep "\.js$" | grep -v "docs-examples"); do if [[ ! "$(cat -- "$i")" =~ "Scratch.translate" ]]; then echo " - [ ] $(echo "$i" | sed 's/.\///' | sed 's/\.js//')"; fi ; done

[ ] godslayerakp/ws
[ ] godslayerakp/http
[ ] codeGIO/ExtraUtilities
[ ] 0832/rxFS
[ ] Medericoder/textcase
[ ] cloudlink
[ ] Xeltalliv/clippingblending
[ ] Xeltalliv/simple3D
[ ] ar
[ ] NOname-awa/regular-expression
[ ] NOname-awa/sort-unique-words
[ ] NOname-awa/cn-number
[ ] NOname-awa/global-coordinate
[ ] NOname-awa/math-and-string
[ ] penplus
[ ] obviousAlexC/newgroundsIO
[ ] ZXMushroom63/searchApi
[ ] rixxyx
[ ] XeroName/Deltatime
[ ] WP-Studio01/text2speech
[ ] true-fantom/math
[ ] true-fantom/network-m
[ ] true-fantom/network
[ ] Lily/AllMenus
[ ] Lily/HackedBlocks
[ ] Lily/CommentBlocks
[ ] Lily/McUtils
[ ] TheShovel/ShovelUtils
[ ] TheShovel/LZ-String
[ ] TheShovel/profanity
[ ] TheShovel/CustomStyles
[ ] TheShovel/ColorPicker
[ ] TheShovel/profanityAPI
[ ] turboloader/audiostream
[ ] veggiecan/browserfullscreen
[ ] veggiecan/LongmanDictionary
[ ] vercte/dictionaries

Oh, my, god.

We're not going to bother translating the old pen+, so the only thing left is Simple 3D

@Xeltalliv do you think it is viable for Simple 3D to have translations, noting that the people who will be writing those translations will not have a background in 3D graphics?


Test Coverage scripts for pages/client

Fixes #232
Tests for client page: Browsepage, CollectionBrowsePage, PhotoDetailPage

Developer Certificate of Origin Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

The test which is failing is due to PhotoDetailPage which uses the featureflags file to get status of watermark and socialsharing flags from the env, which will have to be setup in the build

This PR is ready for review.

While we're waiting for Breno's review, please try to find a way to mock the status of watermark and socialsharing flags. We can't commit tests that always fail.

I have fixed the tests with a passing build as mentioned in the other pr. #635


Climbing system implementation v1

Entities with a ClimbMode component can now click drag themselves onto anything with a Climbable component. Players can also drag other players onto tables, if the other player is incapacitated or dead.

It passed all the checks, but i haven't been able to run tests locally, and i'd like to write a few integration tests so please don't merge yet please

Alright, i made those changes, plus i added DoAfter functionality to the climbing. Assuming all changes made are 👍 then this should be ready for a merge.
I will be writing integration tests but first i want to tidy up the integration tests project a bit

oof integration testing this is harder than i thought, a lot of the climb functionality is dependent on user input. my integration test is really barebones, probably not even worth adding. 😭


update upload processing image for cellxgene refactor

Reviewers
Functional:
Readability:

Changes

modify Dockerfile for processing image to use correct cellxgene make comands

Definition of Done (from ticket)
QA steps (optional)
Known Issues

Thank you!


Every thing is settled but when IO am trying to upload it over Heroku It gives follwoing error

Desktop/demoos$ git push heroku master
Counting objects: 2, done.
Writing objects: 100% (2/2), 205 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote:
remote:  !     Push rejected, no Cedar-supported app detected
remote: HINT: This occurs when Heroku cannot detect the buildpack
remote:       to use for this application automatically.
remote: See https://devcenter.heroku.com/articles/buildpacks
remote:
remote: Verifying deploy....
remote:
remote: !	Push rejected to demoos1.
remote:
To https://git.heroku.com/demoos1.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/demoos1.git'

Did you clone the repo and push it to heroku as is?

I got this error when I was trying to push the github.io project, but then I realised it's actually the DemocracyOS/app I wanted!


Black bars on latest Nvidia drivers 535.54.03-1

Issue
Updating to the latest version (535.54.03-1) of the nvidia-dkms package on Arch produces moving horizontal black bars on the screen.
Downgrading to 530.41.03-1 fixes it.
Demonstration
https://github.com/hyprwm/Hyprland/assets/36854977/5cefaa39-6f9a-420b-8d28-d58dedb85b22

I am also on Arch, nvidia-dkms 535.54.03-1 (running for a few days now), linux-zen 6.3.9.zen1-1, hyprland https://github.com/hyprwm/Hyprland/commit/fc59cef1ee573a950c5d5f3bacf1b51142fd56db - and don't see anything like that.
Does it just happen right after launch?
Relevant config

Spoiler
In kernel cmdline:
nvidia_drm.modeset=1

Hyprland launched via wrapped_hyprland.sh
#!/bin/sh

cd ~

export _JAVA_AWT_WM_NONREPARENTING=1
export XCURSOR_SIZE=24

# fix nvidia
export LIBVA_DRIVER_NAME=nvidia
export XDG_SESSION_TYPE=wayland
export GBM_BACKEND=nvidia-drm
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export WLR_NO_HARDWARE_CURSORS=1
export QT_QPA_PLATFORM="wayland;xcb"

export SDL_VIDEODRIVER=wayland
export MOZ_ENABLE_WAYLAND=1

# silences seat socket errors in the log
# https://wiki.archlinux.org/title/Sway#Starting
# https://unix.stackexchange.com/a/657578
export LIBSEAT_BACKEND=logind

exec Hyprland

hyprland.conf with bindings / rules omitted

monitor = ,preferred,auto,1

general {
    gaps_in = 30
    gaps_out = 20

    border_size = 5
    # col.active_border = rgb(ee1111)
    col.active_border = rgb(b30000)
    col.inactive_border = rgba(00000000)

    no_cursor_warps = yes
    cursor_inactive_timeout = 5
}

input {
    follow_mouse = 2
    float_switch_override_focus = 0

    repeat_delay = 300
    repeat_rate = 50

    numlock_by_default = yes
}

device:logitech-usb-keyboard {
    kb_layout = us,ru
    kb_options = caps:escape,grp:toggle
}

decoration {
    rounding = 10
    blur = yes
    blur_size = 3 # minimum 1, how can it even work with even numbers??
    blur_passes = 3 # minimum 1
    blur_new_optimizations = yes
    # blur_xray = yes

    drop_shadow = yes
    shadow_range = 8
    shadow_render_power = 1
    shadow_offset = 0 4
    col.shadow = rgba(00000066)

    # screen_shader = ~/.config/hypr/blank.glsl
}

# blurls = waybar
blurls = launcher
blurls = notifications
# blurls = swaync-control-center

animations {
    enabled = yes
    animation = windows, 1, 4, default
    animation = windowsMove, 1, 2, default
    animation = windowsOut, 1, 3, default, popin 80%
    animation = border, 1, 5, default
    animation = workspaces, 1, 2, default

    # faster fade
    animation = fade, 1, 2, default
}

dwindle {
    pseudotile = no
    no_gaps_when_only = yes # single monocle, basically
    use_active_for_splits = yes
    preserve_split = yes
}

binds {
    # workspace_back_and_forth = yes
    allow_workspace_cycles = yes
}

misc {
    mouse_move_enables_dpms = yes
    disable_autoreload = yes

    no_direct_scanout = yes # make shader work in fullscreen

    animate_mouse_windowdragging = no
    animate_manual_resizes = no
}

nvidia issue?

I had the exact same problem. Fixed it by setting vrr = 0 in hyprland.conf and adding the following environment variable to my startup script for Hyprland:
export __GL_GSYNC_ALLOWED=1
Weird that it worked fine without these changes in 530.41.03-1 but that's nvidia for you.


Add verify-commit

Repurposing this PR to introduce verify-commit functionality. I have some draft code for verify-tag but it's a little more nuanced because a tag is both an object and a ref (so has RSL implications). For now, I think verify-commit is a go?

Original message:
WIP, needs more tests and clones some code also introduced in #82 and #100. Must only be merged after those.
TODO:

should we have a gittuf policy add-key or so that only adds a key somewhere without defining more granular policies? That'll allow for using gittuf only for simple signature checks.
should there be an optional --branch parameter for verify-commit so that it uses a specific policy state instead of all of them? Right now we have to use keys from all states, including revoked keys as we don't know when a commit was introduced wrt the RSL.
I think we may have a more broad verify-merge use case, on that note, for a commit <-> branch. In that case, we'd look ahead, find the RSL entry that introduced the commit to the branch, and verify that entry specifically.

Fixes #15

Thanks for the review!


Split errors in errors and warnings

It should be a bit more coherent after all the new additions from previous PRs (and the next one about A/V sync test).
I split messages in 2x2 groups:

"Error: undecodable [...]" --> Issue with input having too many problems, impossible to decode/encode due to input,
"Error: unsupported [...]" --> input looks fine but RAWcooked does not yet support such input while guarantying the reversibility, RAWcooked issue,
"Warning: incoherent [...]" --> There is chances that output will not be the expected one because we don't see a coherent content e.g. DPX sequence with "holes" in the numbering sequence, audio content not having the same duration as video content; RAWcooked can encode while guarantying the reversibility so we ask (can be overridden with " -y") the user if we should encode despite such coherency issues, it is set by default but test can be disabled with  --no-coherency (I didn't find a better name...),
"Warning: non-conforming [...]" --> Content can be decoded / transcoded but is not conforming to specification, we ask  (can be overridden with " -y") the user if we should encode despite such conforming issues, it is not set by default (content has no big issues about playback) but can test can be enabled with  --conch  (or  --all)

@JeromeMartinez Caveat: I did not check the code. Is --coherency included in --all and --no-coherency in none as well? If so, we should also update --help and man page.

They should, I forgot them (in both code and help parts). Doing a patch right now including them.

Help part is updated in next PR.

I’ll continue to keep the man in sync with help.


Select drop down causing modal closed

As shown in the following figure, when I select the drop-down value will trigger the click event and the pop-up window(modal) will closed。

Hello,
I got this similar behaviour - is there any ways to avoid closing of the modal window?

Okay, found it: ':backdrop="false"' will stop closing the modal window if click happened out of the window

thank you very much，':backdrop="false" can solve this problem
2017-04-13 21:02 GMT+08:00 Jenő Fórizs<EMAIL_ADDRESS>
Okay, found it: ':backdrop="false"' will stop closing the modal window if
click happened out of the window
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yuche/vue-strap/issues/446#issuecomment-293888906,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADeeaMB83xz9mx-Dk8heG8nhSIpmb__1ks5rvhztgaJpZM4LlMGc
.

If you still want the backdrop and fix the dropdown/select issue you can modify the dropdown/select so that the @click is @click.prevent


fix(nodejs): add better error handling when missing embedding functions

note:
running the default lint command npm run lint -- --fix seems to have made a lot of unrelated changes.

@wjones127 @westonpace, I'm unable to reproduce the CI failures locally. Could one of you take a look and see if you are able to reproduce.

@wjones127 @westonpace, I'm unable to reproduce the CI failures locally. Could one of you take a look and see if you are able to reproduce.

@universalmind303 It does reproduce locally for me.  It appears that it's this line:

    if (data[0][field.name] === undefined) {

I suspect data[0] is undefined.

I might be reading this wrong but does this prevent a user from providing a fixed-size-list column directly without using the embeddings function? In other words, if a user is calculating their own embeddings (not using lancedb to do it) will it still work?

Users can still provide their own embeddings manually without using the embed functionality. It will only error out if there is a vector field in the schema with no matching implementation (manual or embed function)
Example:
     const schema = new Schema([
        new Field("id", new Int32()),
        new Field("text", new Utf8()),
        new Field(
          "vector",
          new FixedSizeList(2, new Field("item", new Float32(), true))
        ),
      ]);

user provides schema and manual embeddings (OK)
      const data = [
        { id: 1, text: "foo", vector: [0.1, 0.2] },
        { id: 2, text: "bar", vector: [0.3, 0.4] },
      ];
      let table = await con.createTable({
        name: "test",
        data,
        schema,
      });

user provides schema and embedding function (OK)
      const embeddingFunction = {...}
      const data = [
        { id: 1, text: "foo"},
        { id: 2, text: "bar"},
      ];
      let table = await con.createTable({
        name: "test",
        data,
        schema,
        embeddingFunction
      });

User provides schema, but no embeddings or function (Not OK)
      const data = [
        { id: 1, text: "foo"},
        { id: 2, text: "bar"},
      ];
      let table = await con.createTable({
        name: "test",
        data,
        schema
      });


Install through brew cask fails (404)

brew cask install aerial
==> Downloading https://github.com/JohnCoates/Aerial/releases/download/v1.2beta5
curl: (22) The requested URL returned error: 404 Not Found
Error: Download failed on Cask 'aerial' with message: Download failed: https://github.com/JohnCoates/Aerial/releases/download/v1.2beta5/Aerial.zip
The incomplete download is cached at /Users/klustor/Library/Caches/Homebrew/Cask/aerial--1.2beta5.zip.incomplete
can you re-upload please ?

Done. thanks for the heads up!


Investigate adopting maven build process -- suggestions welcome

I am investigating adopting the maven build process (using pom.xml files) for Tinfour.
However, one of my highest priorities in the effort is to preserve the ability of people who do not have maven installations to still build and run Tinfour software for their own use.
This is unfamiliar territory to me and there are a few aspects of the Tinfour software collection that don't seem to fit well into the model established by the maven community.  I'm encountering a steep learning curve for this effort.  So I cannot promise speedy results.
On the other hand, moving to maven has a lot of positive aspects, most notably that it will take care of a problem with dependencies that has bothered me from the beginning.  Tinfour depends on two external jar files (Apaches Commons Math and laszip4j).  I include these jars in the distribution.  But, of course, that means that potential users and developers have no way of being sure about the origin of of these files or whether they are the official releases from their respective projects. Moving to maven provides a way of handling these dependencies in a "industry best practices" sort of way.

Have you not heard the stories? Captain Barbossa and his crew of miscreants sail from the dreaded Isla de Muerta. It's an island that cannot be found except by those who already know where it is." Jack Sparrow -- Pirates of the Caribbean.

Here's an update on the status of my effort to move Tinfour to Maven.  I am continuing to try to figure out the correct way of switching the project Maven.  As you might expect, there will be some re-organization of the code source and resource tree.  I am also not sure how the current set of "test" applications will be refactored for Maven.  In any case, I am learning that on the road to Maven there are a lot of steps and a lot of learning curves to climb.  I am hoping that Tinfour will be ready to transition to Maven by the year's end.

I am getting close to releasing a new version of Tinfour based on the Maven build.  I will also include a revised build.xml for ant users...
There will be one major change.  Previously, all Tinfour packages began with the name "tinfour", such as "tinfour.common".  However, to conform to the conventions used by the Maven community, I needed to create a web-domain and refactor my package definitions.  So everything will be moving to "org.tinfour".  So any application code that is to be moved to newer releases of Tinfour will need to have some straightforward (though still annoying) search-and-replace operations on their import statements.
I will also be reorganizing the Jar files.  The former "test" hierarchy is going to be moved to the more accurate name "demo" (because they are demonstration applications rather than true test applications).  I am also breaking out the modules related to Geographic Information System (GIS) operations to their own Jar file (Tinfour is not a GIS system, so it seems appropriate to isolate the GIS operations from the core operations).
Expect to see the new code sometime in mid January

I also hope to be able to refactor some of my test programs to operate under the JUnit umbrella. I have a number of test programs I run when working on my code, but I have not included them in releases since some of them involve logistics problems (either they depend on large input files, or take several hours to run).  I am, however, looking at including a scaled-down subset of these as JUnit tests in the upcoming Maven-based distribution.
One last comment on this issue.  I am not enamored of build environments like  Maven, or gradle. While they provide convenient build tools for developers who happen to have them installed on their system, they are not at all convenient for those who don't.   And they all come with a fair amount of baggage.  So I continue to approach this effort with caution. I will do my best not to burden developers with moer steps or procedures than is absolutely necessary.

Jar files containing compiled object code are now being distributed on Maven Central.  Tinfour is now at Version 2.0.
No further code or build script changes are expected for this particlar issue.
I am now working on updating the project documentation to reflect the new organization of the code.
The updated documentation will include more information on using Tinfour.  But, until that information becomes available, please note that Tinfour is organized into 4 jars:

Core   The core classes, no external dependencies
GIS:   Utilities for loading data from Geographic Information System (GIS) sources, including Shapefiles and Lidar products. Depends on external laszip4j jar (available on Maven Central).
Analysis:  Advanced mathematical processing. Depends on external Apache Commons Math jar (available on Maven Central).
Demo: The Tinfour Viewer implementation, example code, performance tests (uses Core, GIS, and Analysis)

I have just uploaded the last of the changes to the help-information and web content related to the transition to Maven.   This marks the end of the migration to a Maven build process.
Thank you all for your patience during this time of transition.
This issue is now closed.


Emoji description on hovering

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
When hovering on the emoji list there is no description or name of the emoji selected. It makes it difficult to know what we are using and so to reuse it easily.

Describe the solution you'd like
Either have a small tooltip when hovering (ex: with the title property) or the name shown all the time like in Tchap.

Describe alternatives you've considered
Currently I'm only trying to guess what could be the correct name.
Do you want to work on it through a Pull Request?
No.

@YousefED your opinion on this ?


[Feature Request] Alias timing functions with 'ease' and allow percentage based easing

It might be good to have easeIn(), easeOut() and easeInOut() functions that would work pretty much the same as a timingFunctions(), but would allow us to write something like: easeOut('expo') instead of transitionFunctions('easeOutExpo'), since no other timing functions are available or make sense. It is quite a bit shorter, and we can leave current timing functions implementation along with it for backward compatibility.
On another point, the same function(s) could accept number as an argument, that would interpolate that number to a cubic bezier function. Therefore if we had easeOut(0.5) it would yield cubic-bezier(0, 0, 0.5, 1).
What are your thoughts on this?
I am happy to do a PR if you guys think it's a good idea.

This has been addressed in v4 which is now in beta and will be released in the coming weeks:
npm install polished@next
yarn add polished@next


enabling etcd AUTH without expect

I'm trying to automate a containerized (and maybe even the stand alone server version) of etcd. Our product uses etcd 2.3.7 for the time being and I've put it into the same container as our product to allow for an internal server if the customer doesn't want to provide their own.
But I can't seem to setup an AUTH password except by typing
etcdctl user add root
on a terminal session.  This can't be automated without using expect.  How can users be added without a terminal session?
https://coreos.com/etcd/docs/latest/authentication.html

You can interact with etcd using client https://godoc.org/github.com/coreos/etcd/client.
This is what etcdctl is using.

So, I could use curl calls to create a root user as described here
https://coreos.com/etcd/docs/latest/auth_api.html

Yeah curl should work as well. Thanks.


[SP-5809]Catch key error

https://losant.atlassian.net/browse/SP-5809

I figured no one would ever want to actually use that function on a model like experienceUser.transformDuplicateKeyError() so why make it a method?

well, for the same reasons that before/after save, before/after remove are methods on the model - no one calls those directly either.


feat(#291): Automatically Update version in README

Automatically update <version> section in README.
Closes: #291.

History:

feat(#291): update readme
feat(#291): add pipeline to update versions

PR-Codex overview
This PR focuses on updating the workflow file and adding a new plugin to the pom.xml file.
Detailed summary

Added a new workflow file .github/workflows/up.yaml
Updated the pom.xml file to include the jtcop-maven-plugin with version 0.1.16

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 4min)


docs: Add example of submitting a form using POST method

As per title, adds a super simple example of handling a POST request within Fresh:

access req.formData()
access a specific input value submitted in the form (email)

i re-orged the Form docs as per @lucacasonato suggestion in this PR: https://github.com/denoland/fresh/pull/1104

Closing with #1104. thank you @matthewmorek !


Update bouncycastle to solve CVEs:

CVE-2024-30172
CVE-2024-30171
CVE-2024-29857

This has already been updated on main


[CI] Make integration build a bit leaner

Rationale for this change
Some CI builds on GitHub Actions occasionally fail for disk space issues. The conda-integration build is one of them:
https://github.com/apache/arrow/actions/runs/5966046880/attempts/2?pr=37341
What changes are included in this PR?

Disable more C++ components in the integration build.
Remove intermediate build artifacts at the end of a C++ CI build (object files).
Remove intermediate build directories at the end of a Rust CI build.

Are these changes tested?
Self-tested by definition.
Are there any user-facing changes?
No.

@zeroshade For the record, there were some sporadic flightsql failures on Go Arm64:
https://github.com/apache/arrow/actions/runs/5967166908/job/16188289797?pr=37366
https://github.com/apache/arrow/actions/runs/5967166908/job/16188290132?pr=37366

@pitrou We've been chasing those for a while now. As of yet we haven't found a reliable way of reproducing the failures and they've shown up on all the platforms sporatically. Usually re-running the CI makes the error go away.
@srebhan Could you spare any time looking further into the failures? It's the same one as before.

@github-actions crossbow submit -g cpp

@kou Would you oppose me merging this?

No, I don't oppose. :-)

@zeroshade sorry I was on holiday... Does the issue still persist?


can not use demo file

When I tried to use the demo file. It stops the program with a "keyboard interrupt" error even though I don't press a key

Sorry, I've never encountered a similar problem before. Can you provide more detailed information, please?

I just fixed it, I set up the window size to 5. Thanks


Update all anime meta data using watch -U

Please add "anime watch -U" command to update all of the meta data for anime.
Current typing command : "anime watch -u" only updates repo/meta information for newly updated anime.
I have encountered this meta data problem while clearing my pre-fetch and temp folder information. Now anime episodes from my list does not load since they don't have any meta data.

watch is deprecated.


Connection refused

When I access the service through the gateway, the following exception occurs when a service instance is suddenly dropped
AbstractErrorWebExceptionHandler|[4330b376-355027]  500 Server Error for HTTP POST "/cmdb-service-message-center/test"
io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: /xx.xxx.xx.xxx:8080
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
.......

So what do you want the Spring Cloud Gateway to do when a service instance is suddenly dropped？

Can automatically retry, although it seems like it has this feature

Can automatically retry, although it seems like it has this feature

Retry is not automatic and must be configured.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

server:
port: 80
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lowerCaseServiceId: true
'predicates[0]':
name: Path
args:
patterns: '''/'' + serviceId + ''/**'''
'filters[0]':
name: RewritePath
args:
regexp: '''/'' + serviceId + ''/(?.*)'''
replacement: '''/${remaining}'''
'filters[1]':
name: Retry
args:
retries: 3
exceptions:
'[0]': '''java.net.ConnectException'''
'[1]': '''java.io.IOException'''
statuses:
'[0]': '''BAD_GATEWAY'''
'[1]': '''SERVICE_UNAVAILABLE'''
series:
'[0]': '''CLIENT_ERROR'''
methods:
'[0]': '''GET'''
'[1]': '''POST'''
'[2]': '''PUT'''
'[3]': '''DELETE'''
backoff:
firstBackoff: '''100ms'''
maxBackoff: '''500ms'''
factor: 2
basedOnPreviousValue: false
httpclient:
connect-timeout: 500
loadbalancer:
cache:
enabled: true
retry:
enabled: true
retry-on-all-operations: true
max-retries-on-same-service-instance: 0
max-retries-on-next-service-instance: 3
ribbon:
OkToRetryOnAllOperations: true
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 3

all right,this is the configuration

Retry is not automatic and must be configured.

I have already configured, the configuration is as follows

Please use text and not an image or a gist

server:
port: 80
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lowerCaseServiceId: true
'predicates[0]':
name: Path
args:
patterns: '''/'' + serviceId + ''/**'''
'filters[0]':
name: RewritePath
args:
regexp: '''/'' + serviceId + ''/(?.*)'''
replacement: '''/${remaining}'''
'filters[1]':
name: Retry
args:
retries: 3
exceptions:
'[0]': '''java.net.ConnectException'''
'[1]': '''java.io.IOException'''
statuses:
'[0]': '''BAD_GATEWAY'''
'[1]': '''SERVICE_UNAVAILABLE'''
series:
'[0]': '''CLIENT_ERROR'''
methods:
'[0]': '''GET'''
'[1]': '''POST'''
'[2]': '''PUT'''
'[3]': '''DELETE'''
backoff:
firstBackoff: '''100ms'''
maxBackoff: '''500ms'''
factor: 2
basedOnPreviousValue: false
httpclient:
connect-timeout: 500
loadbalancer:
cache:
enabled: true
retry:
enabled: true
retry-on-all-operations: true
max-retries-on-same-service-instance: 0
max-retries-on-next-service-instance: 3
ribbon:
OkToRetryOnAllOperations: true
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 3

Please use text or a gist and not an image

server:    port: 80 spring:    application:      name: gateway   cloud:      gateway:        discovery:          locator:            enabled: true           lowerCaseServiceId: true           'predicates[0]':              name: Path             args:                patterns: '''/'' + serviceId + ''/**'''           'filters[0]':              name: RewritePath             args:                regexp: '''/'' + serviceId + ''/(?<remaining>.*)'''               replacement: '''/$\{remaining}'''           'filters[1]':              name: Retry             args:                retries: 3               exceptions:                  '[0]': '''java.net.ConnectException'''                 '[1]': '''java.io.IOException'''               statuses:                  '[0]': '''BAD_GATEWAY'''                 '[1]': '''SERVICE_UNAVAILABLE'''               series:                  '[0]': '''CLIENT_ERROR'''               methods:                  '[0]': '''GET'''                 '[1]': '''POST'''                 '[2]': '''PUT'''                 '[3]': '''DELETE'''               backoff:                  firstBackoff: '''100ms'''                 maxBackoff: '''500ms'''                 factor: 2                 basedOnPreviousValue: false       httpclient:          connect-timeout: 500     loadbalancer:        cache:          enabled: true       retry:          enabled: true         retry-on-all-operations: true         max-retries-on-same-service-instance: 0         max-retries-on-next-service-instance: 3 ribbon:    OkToRetryOnAllOperations: true   MaxAutoRetries: 0   MaxAutoRetriesNextServer: 3

Please use text or a gist and not an image

server:
port: 80
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lowerCaseServiceId: true
'predicates[0]':
name: Path
args:
patterns: '''/'' + serviceId + ''/**'''
'filters[0]':
name: RewritePath
args:
regexp: '''/'' + serviceId + ''/(?.*)'''
replacement: '''/${remaining}'''
'filters[1]':
name: Retry
args:
retries: 3
exceptions:
'[0]': '''java.net.ConnectException'''
'[1]': '''java.io.IOException'''
statuses:
'[0]': '''BAD_GATEWAY'''
'[1]': '''SERVICE_UNAVAILABLE'''
series:
'[0]': '''CLIENT_ERROR'''
methods:
'[0]': '''GET'''
'[1]': '''POST'''
'[2]': '''PUT'''
'[3]': '''DELETE'''
backoff:
firstBackoff: '''100ms'''
maxBackoff: '''500ms'''
factor: 2
basedOnPreviousValue: false
httpclient:
connect-timeout: 500
loadbalancer:
cache:
enabled: true
retry:
enabled: true
retry-on-all-operations: true
max-retries-on-same-service-instance: 0
max-retries-on-next-service-instance: 3
ribbon:
OkToRetryOnAllOperations: true
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 3

What version are you using? I see ribbon properties and it is no longer supported.

the scg's version is 2.2.5

What version are you using? I see ribbon properties and it is no longer supported.

the scg's version is 2.2.5

What version are you using? I see ribbon properties and it is no longer supported.

There are indeed some useless configurations here

That version is no longer supported. You'll need to upgrade to 3.1.x (via 2021.0.5) or 4.0.x (via 2022.0.1) and associated boot versions and try again

3.1.x seems to have this problem too

When accessing the background service through the gateway, there is a certain probability of a connection refused error when the background service rolls out the release

any feedback? 3.1.x seems to have the same problem

If you'd like us to spend some time investigating, please take the time to provide a complete, minimal, verifiable sample (something that we can unzip attached to this issue or git clone, build, and deploy) that reproduces the problem.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

Hello, currently my gateway also throws 500 if underlaying service is down. How Can I return 502 instead?

@spencergibb can you please suggest solution for above question?

Possible solution is to override ErrorAttributes as suggested in SO.


Inconsistent upm version and github releases

Hi @dbrizov ,
Thanks for creating the upm branch to support the upm officially! However I found below problems

the inconsistent version string between GitHub release and upm branch

https://github.com/dbrizov/NaughtyAttributes/releases version is 1.0.3
the upm version is 1.0.0 https://github.com/dbrizov/NaughtyAttributes/blob/upm/package.json

Could you please make new GitHub release 1.0.4 based on the upm branch (and for all future releases). The benefits would be adding the version control for upm system. So that service like OpenUPM (a platform to pack GitHub releases into UPM packages) or https://github.com/mob-sakai/UpmGitExtension (a tool to manage upm with git), can resolve the GitHub releases as versions.

P.S. I'm the creator of OpenUPM.

A question, how you maintain the upm branch? It seems quite different from the master Assets/NaughtyAttributes, with folder moved manually. How you merge future changes from the master to the upm branch?

Hi @favoyang .
 Just like you said, the branch is completely different from the master. All the files were moved manually. I'll have a look at OpenUPM, looks very handy, and will save me the manual labor to maintain the upm branch.

Hi again @favoyang ,
I deleted all tags and releases and created a 1.0.0 release based on the upm branch. I tried adding the package to OpenUPM but @JimmyCushnie has already added a fork of it.
https://openupm.com/packages/com.dbrizov.naughtyattributes/
He states "I won't be deleting this repo because people are using it in their projects and I don't want to break those. However, this fork will not be updated anymore. You should switch to the official repo."
Is it possible to reupload it, or just switch the URL?

@dbrizov  As you're open to suggestion, I will proposal a way to help you sync the master to the upm branch (take some time to prepare the PR). And I will switch to this official repository once everything setup.

@dbrizov see https://github.com/dbrizov/NaughtyAttributes/pull/101. The PR using CI (github action) to split an upm branch every time you push to master. It also restructure the folder to meet the upm standard. Please read the PR description to make sure you understand it. Feel free to ask me anything.
I also bump the package.json version to 1.0.4.
If you merge it, and everything goes right then please create GitHub release 1.0.4 later on.

@favoyang Thanks, I will do that now

@favoyang
Hey mate. It works like a charm. You did the heavy lifting. I actually learned a lot from you today. I didn't even know there was something like git subtree up until now. The .github/workflows with the .yml inside it is also new to me and it's amazing. Thank you very much

@dbrizov
Glad to know it works! I have switched to this official repository on the OpenUPM. And the 1.0.4 version has been processed successfully.  https://openupm.com/packages/com.dbrizov.naughtyattributes/
I also prepared PR #102 to update the docs.

@dbrizov I write a blog about creating upm branch with CI - https://medium.com/openupm/how-to-maintain-upm-package-part-1-7b4daf88d4c4

@favoyang
That's great. Thank you very much


PTX-2577 add test if sharedv4 mount transit to another node after reboot

Signed-off-by: Thiago Gonzaga<EMAIL_ADDRESS>

tested here https://jenkins.portworx.co/job/Torpedo/job/tp-dev-test/716/consoleFull
you can see in the logs
23:35:59 INFO[2020-07-16 02:35:59] volume pvc-66889b0b-c70c-11ea-8f12-000c299cba6c is attached on node torpedo-tp-dev-test-716-1 []
23:36:00 INFO[2020-07-16 02:36:00] Stopping volume driver on torpedo-tp-dev-test-716-1.
23:36:23 INFO[2020-07-16 02:36:22] Sleeping for 10s for volume driver to gracefully go down.
23:36:32 INFO[2020-07-16 02:36:32] waiting for 20 seconds to volume driver to stop on node torpedo-tp-dev-test-716-1
23:46:53 INFO[2020-07-16 02:46:53] waiting for 20 seconds to node torpedo-tp-dev-test-716-1 to reboot
23:47:13 STEP: validate nginx-sharedv4 app's volumes
23:47:13 STEP: inspect nginx-sharedv4 app's volumes
<omitted>
23:47:18 STEP: validate if nginx-sharedv4 app's volume: px-nginx-pvc-enc is setup
<omitted>
23:47:19 INFO[2020-07-16 02:47:19] volume pvc-66889b0b-c70c-11ea-8f12-000c299cba6c is now attached on node torpedo-tp-dev-test-716-3 []

also tested https://jenkins.portworx.co/job/Torpedo/job/tp-dev-test/717/ using tests ReallocateSharedMount,RebootOneNode,VolumeUpdate,VolumeDriverDown,SetupTeardown

test passing here https://jenkins.portworx.co/job/Torpedo/job/tp-dev-test/722/

LGTM besides the changes that @mborodin-px mentioned. Please address those and re-run tp-dev-test


rename: up-to-date to frontier.

I'd like to hold merging this until we chat a little about the difference between a differential dataflow frontier and what our up-to-date message does. While very similar, it doesn't do everything that the d2 version needs. If we are going to use d2 for stream processing we should just check that we don't wand an additional message that meets the semantics required.
key difference is we send out up-to-data at the end of the LSN/"timestamp", with D2 they are at the beginning of them.

I’m not particularly convinced that this PR is improvement. I think the idea that the up-to-date message indicates the data was up to date when the server generated it is valid/understandable and the term “up-to-date” is more readable and easier to generally talk about, when not in distributed systems edge case mode.
So perhaps we close this?


'errorToString' is not a member of 'HTTPClient'

Hi guys,
i downloaded the library, installed in my version of arduino ide (1.6.11) and when i try to compile Firebasedemo_ESP8266 i get this error:
`
C:\Users\garci_000\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual std::string FirebaseHttpClientEsp8266::errorToString(int)':
C:\Users\garci_000\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:63:11: error: 'errorToString' is not a member of 'HTTPClient'
return HTTPClient::errorToString(error_code).c_str();`

what i am doing wrong??

Which version of the ESP core are you using?

Perfect @proppy, i was using version 2.0.0.
I updated to last version, and now it´s ok.
Sorry for that!

I have the same issue, esp8266 i use 2.0.0 and arduino 1.8.5 . Do you have update your arduino to latest?

@bryan0805 can you try to update https://github.com/esp8266/Arduino to 2.4 ?

Hi
I use Arduino 1.8.5 and esp8266 2.4 in first but esp8266 only can scan WiFi list can not connect.
So I change esp8266 version to 2.0.0(some one say must 2.0.0 ).
Then I can connect WiFi but see error below
Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp: In member function 'virtual std::string FirebaseHttpClientEsp8266::errorToString(int)':
/Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp:83:11: error: 'errorToString' is not a member of 'HTTPClient'
return HTTPClient::errorToString(error_code).c_str();

Johan Euphrosine<EMAIL_ADDRESS>於 2018年2月2日 上午11:05 寫道：
@bryan0805 https://github.com/bryan0805 can you try to update https://github.com/esp8266/Arduino https://github.com/esp8266/Arduino to 2.4 ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/firebase/firebase-arduino/issues/211#issuecomment-362472457, or mute the thread https://github.com/notifications/unsubscribe-auth/AHVoZ4mK9BMNEA5tNpE3zIGNoILQCBdgks5tQnuUgaJpZM4KWNQv.

I have try you say
First  I use Arduino 1.8.5 and esp8266 2.4 but only can scan WiFi list can not connect.
So i change esp8266 to 2.0.0 ( some one told must 2.0.0  ),then I can connect success,
but when i add firebase-arduino see error below
Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp: In member function 'virtual std::string FirebaseHttpClientEsp8266::errorToString(int)':
/Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp:83:11: error: 'errorToString' is not a member of 'HTTPClient'
return HTTPClient::errorToString(error_code).c_str();

Johan Euphrosine<EMAIL_ADDRESS><EMAIL_ADDRESS>於 2018年2月2日 上午11:05 寫道：
@bryan0805 https://github.com/bryan0805 can you try to update https://github.com/esp8266/Arduino https://github.com/esp8266/Arduino to 2.4 ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/firebase/firebase-arduino/issues/211#issuecomment-362472457, or mute the thread https://github.com/notifications/unsubscribe-auth/AHVoZ4mK9BMNEA5tNpE3zIGNoILQCBdgks5tQnuUgaJpZM4KWNQv.


Investigate caching for 'SAMO'

abouts:addons uses services.addons.mozilla.org, which is a olympia worker restricted to only serve a few routes including  ~ /api, /services, /discovery, /z/.*/api/.
Based on my findings requests to SAMO are generating a lot of flush lists in redis. Some of these sets only contain one member, so it seems like they are created once, not used, and then fill up the cache. At one point we filled up about 64GB of cache and had over 100M sets. Right now we moved SAMO on to it's own redis instance. Based on the metrics of this redis instance the cache hit rate (The number of successful key lookups) is 0.
amo-redis-1> SCAN 0
1) "109051904"
2)  1) "olympia.prod:flush:9e9c7863b674230369cc75a09a58e884"
    2) "olympia.prod:flush:bf346379e8de7da60e4b8870aededbee"
    3) "olympia.prod:flush:ff177c7d667fa0dc1e12ae530c108d6b"
    4) "olympia.prod:flush:bad09f25dc105ebe90bbac19b574eb72"
    5) "olympia.prod:flush:0d859814e275e4488f32debd395dd150"
    6) "olympia.prod:flush:436412e9425b90a1c87ac84e9cf3d943"
    7) "olympia.prod:flush:8bba46e759a770483255b6ec1ddc21eb"
    8) "olympia.prod:flush:0e4ef6ab63bc878ee55c3ecb5df7e041"
    9) "olympia.prod:flush:406a3a2e6f20f2bd727458a6e784d10b"
   10) "olympia.prod:flush:7eacdb626b9d286a7b82c94aa5050aad"
   11) "olympia.prod:flush:6352953c9c1efbba8ce5097b4d038279"
amo-redis-1> SCARD "olympia.prod:flush:bf346379e8de7da60e4b8870aededbee"
(integer) 1
amo-redis-1> SCARD "olympia.prod:flush:6352953c9c1efbba8ce5097b4d038279"
(integer) 1

I think we might just need to add clean_redis back in cron, I don't remember exactly why I removed it from https://github.com/mozilla/olympia/commit/b0cb18fc275c636c38bca23e58e7578f36f049c5

Now that clean_redis is in place flush_lists are cleaned up every 4 hours. Looks like we never go above 10M items. I will continue monitor but I think we are okay to close this for now.


Load model from checkpoint when model is not instantiated in init

🚀 Feature
Be able to load a model from a checkpoint path when the model is not instantiated in init
Motivation
Imagine I can only instantiate the model after looking at the train dataset. Ex: for the creation of emb layers you need the number of categories in categorical features.
Pitch
I would like an option where when loading a model from a checkpoint I could tell it I need to run prepare data first so I can instantiate the model for instance.
Alternatives
There are probably better alternatives to this to the option presented in pitch.

Why not initiate based on some params that you derive from the data and then pass to the module ?

Could do that. But would need to do the preprocessing of the datasets outside of lightning. Was wondering if it could be done inside.

@jpvcaetano @arroqc have you come to a solution? :rabbit:

@jpvcaetano any thoughts?


Fix right alignment TWB longestLine

Description
Currently, there is a bug with TextWidthBasis.longestLine and TextAlign.right when aligned by a parent:

This PR fixes a bug in my implementation of TextWidthBasis (originally from https://github.com/flutter/flutter/pull/30988) where the wrong width is used for comparison.  This makes the broken case align based on its parent like the other cases:

Related Issues
Closes https://github.com/flutter/flutter/issues/49412
Tests
I added the following tests:

Render all combinations of textWidthBasis and textAlign, and ensure that their behavior is all the same and all obeys the alignment of their parent.

fly-by comment: The analyzer is unhappy.

@goderbauer Thanks!


OSD-10058: EC2 client and list Instance functionality

wow +30k loc.
Most of it is part of the ec2 interface mock.
Maybe we really have to redefine the ec2 interface only with the functions we need and create our mocks on that.
WDYT?

/lgtm


Error: FormatException: SyntaxError: Unexpected token < in JSON at position 0

Error: FormatException: SyntaxError: Unexpected token < in JSON at position 0
at Object.throw_ [as throw] (http://localhost:53135/dart_sdk.js:5041:11)
at Object._parseJson (http://localhost:53135/dart_sdk.js:47460:19)
at JsonDecoder.convert (http://localhost:53135/dart_sdk.js:45385:22)
at JsonCodec.decode (http://localhost:53135/dart_sdk.js:45098:48)
at getweather (http://localhost:53135/packages/weather_climate/climate ui/climate.dart.lib.js:404:50)
at getweather.next ()
at http://localhost:53135/dart_sdk.js:37403:33
at _RootZone.runUnary (http://localhost:53135/dart_sdk.js:37274:59)
at _FutureListener.thenAwait.handleValue (http://localhost:53135/dart_sdk.js:32530:29)
at handleValueCallback (http://localhost:53135/dart_sdk.js:33057:49)
at Function._propagateToListeners (http://localhost:53135/dart_sdk.js:33095:17)
at _Future.new.[_completeWithValue] (http://localhost:53135/dart_sdk.js:32943:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:53135/dart_sdk.js:32964:35)
at Object._microtaskLoop (http://localhost:53135/dart_sdk.js:37526:13)
at _startMicrotaskLoop (http://localhost:53135/dart_sdk.js:37532:13)
at http://localhost:53135/dart_sdk.js:33303:9
i am facing  the above error , i am trying to fetch data from weather api simply want to display it on my app screen while after clicking on icons button but whenever i pressed icon button it give me an above error please help me to resolve my issue

Please use Stack Overflow or Discord (see https://dart.dev/community for more options) for questions like this, this is not a support forum for arbitrary development issues you encounter.
I suggest using Dev Tools in your browser to inspect outgoing requests and check response bodies. You response body is most likely HTML rather than JSON (given that it starts with < --- I'd make a guess that the next letters are html> and so on).

please clarify more? what do you mean by not for arbitrary development issues? so this support is working for what type of issues I am new here?

@hasniii this issue tracker is for reporting bugs in the Dart SDK itself (e.g. if something works incorrectly, slow, etc.) and for filing feature requests. If you want to ask for help with bugs in your own code then you should use other channels outlined in dart.dev/community


fix: add default env vars

/test all

/test all

/test all

/retest

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

:star: PR built and available in a preview jstrachan-nodey534-pr-3 here

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint
6656ae9e46c12d3eade2c8dd8298b60c23c7d6e4
link
/relint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

:star: PR built and available in a preview jstrachan-nodey534-pr-3 here


Build and deploy

According to the sanestack docs a deploy should be posbile by running the following:
From the /client folder:
ember build --environment=production --output-path=../server/assets/

And then from the /server folder
node app.js

The issue is that the index.html file does not get served, you just get the unauthorised error message from the API.
With your example, should the client and the server be deployed decoupled?

@kedano Can you try to add here:  https://github.com/mgenev/how-to-sane/blob/master/server/config/policies.js#L37
AppController: {
  '*': true
}

and see if that fixes it?

@kedano  I'm the pushing a fix, the problem was since I had only run this in dev mode, I had secured even the controller which serves the static, exactly like @Globegitter said :D try again with the latest and you'll be


Add pre-evaluation for features unidentified in cyto

Signed-off-by: ashish<EMAIL_ADDRESS>Description
Currently few features in pattern engine like referencing and imports are not supported by meshery-extension's cytoscape designer. This causes some patterns to break and not work when imported. This PR adds a pre evaluation while converting pattern->cyto. When the client from the cyto side starts to support these features, this step can be removed
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@Revolyssup is this support of designs like the “consul-connect.yaml” shared in #meshery yesterday?


Astronomer's Pack packages unavailable

Thanks for packaging Astronomer's Pack but it appears that none of the packages are available to be installed through CKAN. From a quick look it seems to be because they depend on AstronomersPack-Clouds, AstrnomersPack-PlanetShine, or AstronomersPack-DistantObjectEnhancement which no longer appear in the repository.
Looks like they were removed in f7371848 by @SpaceTeph, which was part of #252, it's hard to tell from the PR diff because some of the new files are so similar to the deleted files that they appear as a file move rather than a deletion and add.

sigh looks I should have done more checking in that PR. :disappointed:
I'll revert that one commit, it should do the trick.

PR #280 should fix it.


Hook up the editable parts on the admin landing page

Reassigning to @Coenego for review

Coverage remained the same at 100.0% when pulling 4ec81902fa3dcc37416089212eb6954064b15333 on bp323:editableParts into 9f5a365d4f26cdef5fc4af6cd5b1f578d030d53b on CUL-DigitalServices:master.


[Feature] Option to Set Player Owned Characters to Player Color

I'd like to pitch an option for player-owned actors to have their background and/or ring color match the player color, overriding other configurations.

Since an actor can have multiple owners but a user can only have one assigned player character. I guess there's a risk of multiple users having the same PC but that's gonna be a rare case.

@JacksonBockus request

I was actually thinking I'd like this also.

also @Jack request


Search suggestions for @'username' mentions

Fixes the Issue #6902 .
a quick video of this feature in working is given here: updated_search.mp4
There are some extra suggestions provided when you start searching with '@' which are suggested out of currently narrowed messages. The suggestions then take you to that particular suggested message. The problem of message having @ styling has also been taken care of and @** My_UserName ** is simply displayed as "@My_UserName " in suggestion description as can be seen in above video.
As displayed above the rendered mentioned message suggestions include :

Date when conversation took place
a small description of message string (26 characters long as of now)
and the mentioned user name and email id.

The current_msg_list is filtered using the ids only to check if user is present.The ids here include sender_id, message_id and the to_be_checked_user_id and if message's data-user-id[] includes the to_be_checked_user_id and sender_id is equal to user_id , the message is suggested.
There a couple of adjustments required.:

As of now this method is unable to search when you are narrowed to a private-message with a particular user.
Also this search fails as of now when mentioned user is searched in a particular topic messages of a stream.

I'm not sure I'm happy with the technical direction of this PR.  The frontend logic looks reasonable structurally, but I want the backend done properly.  Since the feature isn't a high priority, I think we should focus on other things for now, but I'm leaving this open.

Because the source repository for this pull request was deleted, this pull request has been automatically closed by GitHub as an unintended side effect of renaming our default Git branch. If this change is still desired, please open a new pull request, referencing this one in the description.


fix: dev-pipeline failing due to newer selenide version

in addition to this change; I've also introduced a release/10 branch
I think we can no longer keep v10-web-tester and selenide7 in harmony: https://github.com/axonivy-market/doc-factory/tree/release/10.0

doc-factory will soon be back to stable @ivy-edp

Totally fine. But why was this a problem? The web-tester was on the master still on version 10.0.x so there shouldn't be a new selenide version here... Or was there a mixmax of versions?

yes it resolved a mix of versions; as we have a dependency to selenide proxy (for file downloads) in this pom-xml files.
so we couldn't separate them easily anymore


Invalid example in ReusingStepDefinitions.md

Please take look at ReusingStepDefinitions.md and notice that in the suggested example (second large code block) there is a variable myAccount.  However this variable does not exist at this point in time.  It seems this shared-steps was created as a result of hasty refactoring, and I see no way to link myAccount in the  .steps file to the shared-steps.
My suggestion would be create a class in shared-steps which can return steps when new'd.
import { factory } from 'shared-steps'
const { givenIHaveXDollarsInMyBankAccount} = new factory(myAccount);

I also have a problem with the example ReusingStepDefinitions.md.
I follow the example but i have some error.
// shared-steps.js

export const givenIHaveXDollarsInMyBankAccount = given => {
    given(/I have \$(\d+) in my bank account/, balance => {
        myAccount.deposit(balance);
    });
};

export const thenMyBalanceShouldBe = then => {
    then(/my balance should be \$(\d+)/, balance => {
        expect(myAccount.balance).toBe(balance);
    });
};

// example.steps.js

import { loadFeature, defineFeature } from 'jest-cucumber';
import { thenMyBalanceShouldBe, givenIHaveXDollarsInMyBankAccount } from './shared-steps';

const feature = loadFeature('example.feature');

defineFeature(feature, test => {
  let myAccount;

  beforeEach(() => {
    myAccount = new BankAccount();
  });

  test('Making a deposit', ({ given, when, then }) => {
    givenIHaveXDollarsInMyBankAccount(given);

    when(/I deposit \$(\d+)/, deposit => {
      myAccount.deposit(deposit);
    });

    thenMyBalanceShouldBe(then);
  });

  test('Making a withdrawal', ({ given, when, then }) => {
    givenIHaveXDollarsInMyBankAccount(given);

    when(/I withdraw \$(\d+)/, withdrawal => {
      myAccount.withdraw(withdrawal);
    });

    thenMyBalanceShouldBe(then);
  });
});
export class BankAccount {
  public balance: number = 0;

  public deposit(amount: number) {
      this.balance += amount;
  }

  public withdraw(amount: number) {
      this.balance -= amount;
  }
}

I have this error :

Same as @boboz2 !

Yes, that example is quite flawed. What we need is an easy way to share state between files, as suggested in #61.

anything wrong with just passing the context? (other than it is kind of hack)
const givenExample = (given, context) => given("given example", async () => {
    const payload = 'hello';
    context = {payload};
});

const whenExample = (when, context) => when("when example", async () => {
    console.log(context.payload, 'world')
});

the only thing I can't figure out is if I have async call inside my method, I want the given to execute everything inside it before going to when.  Is that possible?

Fixed in #76


Create elenadudukina.com.json

Hi!
Thanks for the initiative. I hope I got this right the second time around. Thank you for your time and for putting an effort into making women in science/tech more visible @Athanasiamo

Thank you for adding your blog to the list and for making free and open R content 😊 🥳 🎉
It needs small adjustments, but I can easily do that!

sorry, clicked the wrong button :D


can't determined while same package in different library

I am trying transform zookeeper library to module. In which same package org.apache.zookeeper.server.persistence found in zookeeper-jute-{version}.jar and zookeeper-{version}.jar.
plugins {
    id 'de.jjohannes.extra-java-module-info'
}

dependencies {
    implementation('org.apache.zookeeper:zookeeper:3.7.0') {
        exclude group: 'log4j'
        exclude group: 'org.slf4j'
    }
}

extraJavaModuleInfo {
    module("zookeeper-3.7.0.jar", "org.apache.zookeeper.zookeeper", "3.7.0") {
        requires("org.apache.jute")
        requires("org.apache.yetus.audience")
        exports("org.apache.zookeeper")
    }
    module("zookeeper-jute-3.7.0.jar", "org.apache.jute", "3.7.0") {
        requires("org.apache.yetus.audience")
        exports("org.apache.jute")
    }
    module("audience-annotations-0.12.0.jar", "org.apache.yetus.audience", "0.12.0") {
        exports("org.apache.yetus.audience")
    }
}

It wil throws
Error occurred during initialization of boot layer
java.lang.LayerInstantiationException: Package org.apache.zookeeper.server.persistence in both module org.apache.jute and module org.apache.zookeeper.zookeeper

while trying to run
ZooKeeper zooKeeper = new ZooKeeper("localhost:2181", 1000, null);

Unfortunately, ☹  this is an issue with the Java Module System, which I also regularly forget about: It is not allowed to have the same package in two Jars even if the package is not exported.
At some point, I was thinking that exactly what you are doing could be a solution to mitigate the split package situation of some non-module libraries. Unfortunately, it is not the case.
I don't see a solution how you could use both Jars together in a "full" module setup. This is frustrating...
There is an attempt I haven't followed up with to allow this plugin to merge two Jars into one as a band aid for such situations:  https://github.com/jjohannes/extra-java-module-info/issues/1#issuecomment-734366652
I might consider giving that another try. Would that "workaround" help you? (Of course contributions are always welcome!)

The plugin (with version 0.12) now supports merging of Jars which have the 'split package' issue. See:
https://github.com/jjohannes/extra-java-module-info#what-do-i-do-in-a-split-package-situation
Maybe this is helpful for you @arjenzhou.

@jjohannes Thanks, I will try it later.


Textures

Textures: Is it possible to allow for texture changes? What I mean is to change it to "flat" as most of my addons are set up. Sorry I am not a native english speaker so that may be asked in a confusing way. (Probably it is protected by Blizzard or something).

I second this motion, I would love to have a choice of textures on the frames as well

I was looking for this too.

I will try to accommodate this, but I can only do so much on the stock frames. If it's within the realm of possibility without getting extremely hacky then I'll try to make it happen. No promises though.

Did you ever look into replacing the default texture?

Seems simple enough,
line 159 erf.lua:
frame.healthBar:SetStatusBarTexture(texture)


Fix segfault on changing filter size for non-existent topic

Fixes an issue pointed out in https://github.com/ros2/rviz/pull/593#issuecomment-675663793.

Linux
Linux-aarch64
macOS
Windows


[Enhancement] Improve partition prune.

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
In the current code, partition prune has some issues.

Disjunctive predicates can't be handled.
Let's say we have a table t with partition column dt

CREATE TABLE `t` (
  `dt` int(11) NULL COMMENT "",
  `k1` int(11) NULL COMMENT "",
  `k2` int(11) NULL COMMENT "",
  `k3` int(11) NULL COMMENT "",
  `k4` int(11) NULL COMMENT ""
) DUPLICATE KEY(`dt`, `k1`, `k2`, `k3`, `k4`)
PARTITION BY RANGE(`dt`)
(PARTITION p20211121 VALUES LESS THAN ("20211121"),
PARTITION p20211122 VALUES [("20211121"), ("20211122")),
PARTITION p20211123 VALUES [("20211122"), ("20211123")),
PARTITION p20211124 VALUES [("20211123"), ("20211124")),
PARTITION p20211125 VALUES [("20211124"), ("20211125")),
PARTITION p20211126 VALUES [("20211125"), ("20211126")),
PARTITION p20211127 VALUES [("20211126"), ("20211127")),
PARTITION p20211128 VALUES [("20211127"), ("20211128")))
DISTRIBUTED BY HASH(`k1`) BUCKETS 60
PROPERTIES('replication_num' = '1');

All the partitions would be scanned if we run SQL with disjunctive predicates, e.g., SELECT * FROM  t WHERE dt=20211123 OR dt=20211124.

Can't handle well for multiple columns partition.
https://github.com/apache/incubator-doris/blob/e74e55d2a4b9aa233f61ab4c35fe5e29d3a33d89/fe/fe-core/src/test/java/org/apache/doris/analysis/ListPartitionPrunerTest.java#L140-L141
This test case should return 1 partition instead of 2.

Solution
I'd like to implement a V2 version of partition prune algorithm.

Support prune partitions for disjunctive predicates.
Optimize for multiple columns partition prune.

Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

支持对 where 条件中带多个 range 的 分区列进行裁剪。比如 where  a=1 or a=2 则也可以进行分区裁剪。
支持 list 分区的多分区列的更精细化的分区裁剪。比如 list partition (k1, k2) 则支持对 where k1=1 and k2=1


Identifiers validation failed for dataset Estudio herpetofaunístico de la Sierra Mazateca, Oaxaca, México

Identifier validation failed for the dataset Estudio herpetofaunístico de la Sierra Mazateca, Oaxaca, México:

Crawler attempt: 286
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 742
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 98%, total records count 742, absent records count 726
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3072814/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Estudio herpetofaunístico de la Sierra Mazateca, Oaxaca, México : https://doi.org/10.15468/w4ey1h.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Estudio herpetofaunístico de la Sierra Mazateca, Oaxaca, México:

Crawler attempt: 289
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 742
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 100%, total records count 742, absent records count 742
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3093669/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Estudio herpetofaunístico de la Sierra Mazateca, Oaxaca, México : https://doi.org/10.15468/w4ey1h.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.