Coway IoCare now Rate Limiting

Recently, I have been getting an error message "Your request has been blocked due to exceeding the API rate limit. (Excessive requests)"
I think the code needs to update the polling rate or implement backoff.

How many devices do you have on your account? I have 3 and have noticed that this seems to be short-lived and correlated to when they have temporary server stability issues (app is also acting up at the same time).
If you want to manually change the polling frequency, change the DEFAULT_SCAN_INTERVAL variable in const.py.

I've just noticed this error today as well.  I also have 3 devices with no changes to my setup in the last several months.

I only have 2 devices. @RobertD502 have you seen this recently? I've been rate limited the last 18 hours and multiple times over the last week.  I'm giving a go at configurable intervals but won't have much time to dedicate to it till tomorrow or monday.

@gh69 report back on if that helps. I was going to give 120s a go since I don't really need that granular of metrics.

@matthewpucc I'm not sure how long I'll have to wait to fall off of their rate-limit block-list but hopefully by tomorrow I should know whether or not such a small change made any difference.  If not, I'll just keep bumping it up until it does.  I'll let you know what I find.  @RobertD502 Do you have a recommended alternative timeout value?

My plan was to leave it off overnight entirely in hopes of falling off the rate limiting radar. I'll post back if that worked.

I have two devices and have been seeing this issue as well. When I go to use the app, I'm forced to log in again and I get a pop-up saying "This service is restricted due to unauthorized use. Please contact customer service. (Error code:F0101)"
I'm changing the scan interval to 60s and see if that helps.

After a HA restart I saw that the integration startup was failing with the same Error code F0101, and mentions exceeding the API rate limit (unlike the iphone app). The integration setup retry interval is pretty short, maybe < 30s, thus probably perpetuating the API rate limit exception. Possibly indefinitely. Is there some sort of increasing back off interval algorithm into the integration startup? I would hope that HA might have that baked in and not rely on every integration to re-implement it. I temporarily disabled the plugin and will re-enable this afternoon and hope I've cleared the API rate limiting.
Has anyone tried contacting support at Coway? I know, I know, what are the chances you'll end up communicating with someone who knows what you're talking about, but worth a try?

I had success with leaving it off overnight and re-enabling. I'm going to set the polling to a 300s interval and see how the day goes.

I didn't turn mine off last night...just updated the scan interval from 30 to 45 and left it running and today I'm back to normal with no errors.

noice. if you see any issues today, let me know. i may drop the polling rate to 90s or something

The crazy thing is, when I log into the iPhone app it still asks me first if I want to change my password before it kicks me out with the F0101 error. What is wrong with these people?

@randomstring , have you tried disabling the integration for a bit?

@randomstring , have you tried disabling the integration for a bit?

I did. 2 hours later, still blocked. Maybe I can infer how long the API rate limiting is (there could be a couple ways they track API rate). It might be queries per day and clear at midnight (UTC? server's timezone?)

Back online. It took between 2-6 hrs to escape the API rate limit jail.

It finally hit me as well....except I can't even log into the app. Best thing to do, for now, is to disable the integration and give it a few hours. In the meantime, change the scan interval found in const.py to a higher value, save it, and restart Home Assistant. This way, when you re-enable the integration at a later time, the integration will use the new polling interval.
All of this is pretty odd, given that I recall their app has a setting where you can have the app refresh (poll) every 5 seconds.

What's the consensus on polling time here? Would 60s be sufficient or does it need to be higher? Curious what other folks have had success with?

I've been running with the timeout set to 60s without issue for 24 days.  I have two Coway air purifiers.

I'd been running with a timeout of 45s (using 3 devices) for about a week before I ran into the issue again so I bumped it up to 300 and have been good ever since.  It's been about 2 weeks now with no issues at 300.

Wish I could help, but I've been locked out of my account and have been waiting for their support to resolve it for a month now...

From their support:
There has been an iocare error that was from HQ error which many customers have experienced. They have contacted us telling that they're trying to fix at their very best. In the meantime they also instructed that deleting the app and redownloading might help some users. We sincerely apologize for this matter.

In my case, I can't even log into the app (the login form fields reset when trying to log in with no error message popping up).
I'm betting that, aside from some users not being able to log in at all, the rate limiting is also erroneous and part of bugs they introduced in their backend.

I have the same problem. Seems like they are in no rush to fix it since it's been an issue for over a month now.

Just ran into the same issue. Set the scan interval to 300 and disabled the plugin for now. Hopefully I haven’t been permanently locked out. Is the permanent lockout something you can get around by making another account or are the devices permanently bound to the first account they are registered to?

I believe you can create another account, but it will require support to unlink devices from the original account - I may actually have to do this because it is coming up on 2 months since I've been able to log in. They state it is a bug on their end that they are trying to fix, but a bug this big should not be taking 2 months to fix.

I believe you can create another account, but it will require support to unlink devices from the original account - I may actually have to do this because it is coming up on 2 months since I've been able to log in. They state it is a bug on their end that they are trying to fix, but a bug this big should not be taking 2 months to fix.

I think I caught it quick enough to not get locked out permanently. I changed the threshold to 600 seconds since I don't have a huge use for the polling data, I just need the buttons in home assistant for workflows.
I'm a new Coway Airmega user and really appreciate your integration work here which is why I immediately downloaded it. Would you consider changing the default polling threshold in your project so new users don't get caught off guard and locked out. It immediately impacted me a few hours after installation.

I was about to create a new account, as that's what their support said to do, but no sure what made me notice, but there was an update for the app. After I updated the app, I was able to log back in again. Not sure if that'll work for everybody, but worth a shot?

I was about to create a new account, as that's what their support said to do, but not sure what made me notice, but there was an update for the app. After I updated the app, I was able to log back in again. Not sure if that'll work for everybody, but worth a shot?

No luck on my end on the latest iOS app. What were your symptoms before that? For me, after filling out my credentials, the username and password fields would just clear themselves after I pressed on the Login button. No error message. Nothing.

Actually now that I updated HA... the problem is back. Seems kind of dumb to have to create another account.

Adding another data point as I just hit this API rate limit - seeing the "The service is restricted due to unauthorized use. Please contact customer service. (error code F0101)".
I've been running with one 205S device, but bought another one yesterday and got the error today. I've disabled the integration for now, bumped up the DEFAULT_SCAN_INTERVAL (to 60) and will re-enable tomorrow and see how things are.

Things are back working today with the the 60 value, but I agree with @papsg and have now set it to 600 as I only interact with the devices via home assistant and not the native app.

I was about to create a new account, as that's what their support said to do, but not sure what made me notice, but there was an update for the app. After I updated the app, I was able to log back in again. Not sure if that'll work for everybody, but worth a shot?

No luck on my end on the latest iOS app. What were your symptoms before that? For me, after filling out my credentials, the username and password fields would just clear themselves after I pressed on the Login button. No error message. Nothing.

Edit: Disregard. Grabbed an android device and used the latest app - same issue. So, my account issue is part of a broader bug related to their backend and not something to do with the app. Hopefully one of these days support will get back to me.

I've been unable to login for awhile now too and finally getting around to checking on this (busy summer). I can reset my password but I encounter the same symptoms when using the iOS app: the username/password "clear" and the HA app says 'unable to retrieve code'.
What POS devices! I have 2 of these 400s. I'm giving serious thought to crushing them with my tractor, then throw on some gasoline and light them on fire--- other ideas? Maybe if I do something crazy enough and gain some traction on social media they'll have to take notice and then you guys will get fixed 🤣

They finally responded to me with the suggestion of RMAing my units....which doesn't solve not being able to log in. Hopefully I can get them to finally unlink my purifiers so that I can add them to a new account. Feels like pulling teeth asking for a simple solution to be carried out.

@cw-cdz
Support unlinked my purifiers and I was able to create a new account + add the purifiers to it.
I know it wasn't the case before, but it looks like it may be possible to unlink the purifiers from your old account without contacting support.
When adding each purifier to the new account, I was greeted with this option which seems to indicate that you can unlink the purifiers without needing to play telephone with support:

Hey guys, I just want to add my experience here with this issue and how I fixed it. A month or two ago my Coway account was also locked. I assume this was because of the integration/rate limit issue. I haven't been able to get into that account for a couple of months now.
I finally got fed up with not being able to control the devices, and considering my previous support experiences with Coway have been less than stellar, I decided to just create a new account and try registering my products to that account. Luckily, I was able to register a new account by using a different email address (just a different variation - added a dot - to my already registered gmail address). I was then able to scan the barcode of each product and the app asked me if I wanted to delete the previous user from the device. I was able to successfully add all of my Coway devices to this new account and then re-authenticate the HA integration.
Long story short, I was able to fix this myself by registering a new account under a different email address and re-adding devices without any intervention by Coway Support. Honestly, it's probably the easiest and fastest way to fix this given some previous horrible and drawn out experiences with Coway's support team.

Hey guys, I just want to add my experience here with this issue and how I fixed it. A month or two ago my Coway account was also locked. I assume this was because of the integration/rate limit issue. I haven't been able to get into that account for a couple of months now.
I finally got fed up with not being able to control the devices, and considering my previous support experiences with Coway have been less than stellar, I decided to just create a new account and try registering my products to that account. Luckily, I was able to register a new account by using a different email address (just a different variation - added a dot - to my already registered gmail address). I was then able to scan the barcode of each product and the app asked me if I wanted to delete the previous user from the device. I was able to successfully add all of my Coway devices to this new account and then re-authenticate the HA integration.
Long story short, I was able to fix this myself by registering a new account under a different email address and re-adding devices without any intervention by Coway Support. Honestly, it's probably the easiest and fastest way to fix this given some previous horrible and drawn out experiences with Coway's support team.

That is exactly what I did as well. Just to add, the account not working isn't related to the integration or rate limiting. The coway devs messed up something on their end that caused the issue for some and were actively trying to fix the issue - I got fed up with waiting and used a new account. This isn't the first time a backend bug was introduced by their dev team. Last time they did some major work, one of the purifiers on my account was missing for weeks until they tracked down the bug in their code.
I've been testing a 90 second interval for a bit now with no issues. I'll be releasing that as the default soon and also adding an option for it in the integration UI for those who wish to change it to something else.

Got it, thanks for the clarification. At one point the app was giving me a message that gave the impression the account was locked due to suspicious or otherwise irregular activity. I don't remember what the exact wording was, but I had the perception it was something I did. Good to know it wasn't! Thanks again for all your work on this integration Robert, it's been great!

@RobertD502 Are you sure they aren't mistaking the integration for some type of unauthorized use? My new account just got locked tonight only 3 hours after reauthorizing the integration. Here is the error I'm seeing in the IOCare app:

@RobertD502 Are you sure they aren't mistaking the integration for some type of unauthorized use? My new account just got locked tonight only 3 hours after reauthorizing the integration. Here is the error I'm seeing in the IOCare app:

Did you change the polling interval to a higher value as discussed earlier in this issue? I'd disable the integration in the meantime and then, after 24 hours, try to log into your account using the app (not the integration). If it purely rate limiting then the rate limiting will fall off and you'll be able to log into again.
The account not working at all had different symptoms - no error message being disabled, just the app resetting the email and password fields when pressing the login button.

Above is the same message I saw months ago when this issue first started. But, I have also experienced the login fields resetting you describe when trying to login on that old account. I wonder if the two symptoms are linked but don't always reproduce together.
I did not change the polling rate tonight (I must've missed that functionality was already released). All I did was reauthorize with the new account.
I disabled the integration and will wait 24 hours to see if it clears. If not, then I'll create a third account and slow down the polling to retest if that one gets locked.
Thanks for the advice!

For now, you'll need to change the polling frequency in the cost.py file. I will release a higher default polling interval and being able to change the polling interval via the UI in the future.

I was able to access the new account again this morning, so it seems the default polling rate must be causing an issue. I am not sure if it matters, but I have 3 devices on the account (400S Air Purifiers)... so I'm not sure if having more devices plus the higher polling rate is compounding the problem. I'll go in today to change the polling rate to 90 seconds, re-enable the integration, and report back.

So far so good at the 90 second scan interval today, may increase it to 120 to allow for some headroom since others have had some issues at 90/95.


Copy to 0.4 network

@krl we need to put the data onto the 0.4 network, any pointers on how to easiest do this
cc @whyrusleeping @lgierth for ideas

get it all on one v0.3.11 node, then run a migration on it and now its an 0.4.0 node

Isn't the geoip dag currently used by the webui broken? We'll need scripts to reproduce it from the source geoip data.

Nope @krl fixed it :) all the data is on the 0.3 network atm

@dignifiedquire woot! :D

well looks like I was too excited trying to pull down all the refs fails on the 0.3 network :(

Okay nothing is working :( no idea why though I did the following
Run
$ node geoip-gen.js ../GeoLiteCity_20150407/GeoLiteCity-Blocks.csv ../GeoLiteCity_20150407/GeoLiteCity-Location.csv

Update the main hash with the return value QmQQ3BUpPjgYiTdhp4H9YWSCtoFXs8t91njhpvXNNLd3yB in lib/lookup.js
After that the look ups fail with
❯ node example/lookup.js <IP_ADDRESS>
/Users/dignifiedquire/opensource/ipfs/ipfs-geoip/lib/lookup.js:30
      return memoized_lookup(ipfs, res.Links[child - 1].Hash, lookfor, cb)
                                                       ^

TypeError: Cannot read property 'Hash' of undefined
    at /Users/dignifiedquire/opensource/ipfs/ipfs-geoip/lib/lookup.js:30:56
    at finish (/Users/dignifiedquire/opensource/ipfs/ipfs-geoip/node_modules/wreck/lib/index.js:319:16)
    at wrapped (/Users/dignifiedquire/opensource/ipfs/ipfs-geoip/node_modules/hoek/lib/index.js:867:20)
    at onReaderFinish (/Users/dignifiedquire/opensource/ipfs/ipfs-geoip/node_modules/wreck/lib/index.js:365:16)
    at g (events.js:273:16)
    at emitNone (events.js:85:20)
    at emit (events.js:179:7)
    at finishMaybe (_stream_writable.js:468:14)
    at afterWrite (_stream_writable.js:347:3)
    at nextTickCallbackWithManyArgs (node.js:497:18)

and
$ ipfs refs -r QmQQ3BUpPjgYiTdhp4H9YWSCtoFXs8t91njhpvXNNLd3yB
Qmdc6WT9mjNbEqgXQZ4vrXKpua3gh1oY3uCDasxmX5DvF6
QmWNYkjWPJ4w3ejg5RHHaefS5bGt3e1DcoFf1BhSiU6P8B
QmTU5PW7ZX86K39FM84rWLSoReA84TDsQ9JDP3sQ29Jywj

just hangs :(

Upon the update of js-ipfs-api to 2.13, I managed to successfully the lookup:
» node lookup.js <IP_ADDRESS>
Result: {
  "country_name": "United States",
  "country_code": "US",
  "region_code": "NY",
  "city": "New York",
  "postal_code": "10118",
  "latitude": 40.7143,
  "longitude": -74.006,
  "metro_code": "501",
  "area_code": "212",
  "planet": "Earth"
}
Pretty result: New York, NY, United States, Earth

Also, with the js-ipfs-api update, the geoip-gen.js script worked and completed successfully, resulting in the following hash Qme3KxW193W3YVGZB8knWTeY3v5NzUdKeU8gfphgD2VyS8
After updating the GEOIP root hash to the new one, it thrown this error:
» node lookup.js <IP_ADDRESS>
/Users/ground-control/code/protocol-labs/ipfs-geoip/lib/lookup.js:30
      return memoized_lookup(ipfs, res.Links[child - 1].Hash, lookfor, cb)
                                                       ^

TypeError: Cannot read property 'Hash' of undefined
    at /Users/ground-control/code/protocol-labs/ipfs-geoip/lib/lookup.js:30:56
    at finish (/Users/ground-control/code/protocol-labs/ipfs-geoip/node_modules/wreck/lib/index.js:319:16)
    at wrapped (/Users/ground-control/code/protocol-labs/ipfs-geoip/node_modules/hoek/lib/index.js:867:20)
    at onReaderFinish (/Users/ground-control/code/protocol-labs/ipfs-geoip/node_modules/wreck/lib/index.js:365:16)
    at g (events.js:273:16)
    at emitNone (events.js:85:20)
    at emit (events.js:179:7)
    at finishMaybe (_stream_writable.js:468:14)
    at endWritable (_stream_writable.js:478:3)
    at Writable.end (_stream_writable.js:443:5)

@diasdavid was this on 0.4 (which commit) or on 0.3.11?

» git log | head -n1
commit 3deb40eb06004245dde12784fc8583532e09c36c
» ipfs version
ipfs version 0.4.0-dev


Results on MSNWEB30K

Hello developers,
I was willing to reproduce your results using a self-attentive model on msn30k. In particular, I was interested in reproducing the 0.5431 of ndcg@10 that you obtain with Ordinal Loss (Table 3 of your paper).
This is my config.json, based on the hyperparameters specified in the article.
    "model": {
        "fc_model": {
            "sizes": [144],
            "input_norm": "True",
            "activation": null,
            "dropout": 0.0
        },
        "transformer": {
            "N": 4,
            "d_ff": 512,
            "h": 2,
            "positional_encoding": null,
            "dropout": 0.4
        },
        "post_model": {
            "output_activation": "Sigmoid",
            "d_output": 4
        }
    },
    "data": {
        "path": "./Fold1/",
        "validation_ds_role": "vali",
        "num_workers": 16,
        "batch_size": 64,
        "slate_length": 240
    },
    "optimizer": {
        "name": "Adam",
        "args": {
            "lr": 0.001
        }
    },
    "lr_scheduler": {
        "name": "StepLR",
        "args": {
            "step_size": 50
        }
    },
    "training": {
        "epochs": 100,
        "gradient_clipping_norm": [],
        "early_stopping_patience": 10
    },
    "metrics": ["ndcg_10"],
    "loss": {
        "name": "ordinal",
        "args": {
            "n": 4
        }
    },
    "val_metric": "ndcg_10",
    "detect_anomaly": "True"
}

The best result I can get is 0.4307 of ndcg@10 on the validation set. What am I missing?

Hello,
Have you tried standardising the input features first?

Hi, thank you for the answer and sorry for the late reply. By standardizing the features I got closer to your results, with an ndcg@10 of 0.5388 on the test set. The results of the paper are still slightly higher. Maybe my architecture is different from yours. Did you use layer normalization in the input layer?

You should be able to replicate the result if you turn off the normalization at the input layer and turn off early stopping (e.g. by setting it to 100). If there are any further problems, we will investigate it.

Hi, I finally got 0.5208 of ndcg@10 on the Fold1 of MSN30k by removing the early stopping criterion. I think that this result matches the one in your paper.

There was one more issue with reproducibility. In our experiments we used an internal allRank fork and missed one detail in the GitHub version - "filler" NDCG value to use when there are no relevant items in the list. LightGBM and XGBoost (AFAIK) use 1.0 so we used this value in our experiments. However, the released code contained 0.0 filler NDCG.
The filler NDCG is 1.0, as of version 1.4.1. We are also working on a WEB30K reproducibility guide for both papers.

Thank you for your answer. Anyway, I did change the filler NDCG to 1.0 during my experiments, hence my results shall be compared with the ones in your paper. Can you share with me your NDCG@10 score on the Fold1 of WEB30K?

Thank you for your answer. Anyway, I did change the filler NDCG to 1.0 during my experiments, hence my results shall be compared with the ones in your paper. Can you share with me your NDCG@10 score on the Fold1 of WEB30K?

excuse me , does standardizing the features need to be implemented by myself?

Thank you for your answer. Anyway, I did change the filler NDCG to 1.0 during my experiments, hence my results shall be compared with the ones in your paper. Can you share with me your NDCG@10 score on the Fold1 of WEB30K?

excuse me , does standardizing the features need to be implemented by myself?
I think yes, or at least this is what I did. I standardized the features offline before launching the training script.

Thank you for your answer. Anyway, I did change the filler NDCG to 1.0 during my experiments, hence my results shall be compared with the ones in your paper. Can you share with me your NDCG@10 score on the Fold1 of WEB30K?

excuse me , does standardizing the features need to be implemented by myself?

I think yes, or at least this is what I did. I standardized the features offline before launching the training script.

Thank you for your answer.I did so and have the same config. But I only get 0.501 of ndcg@5 the with Ordinal Loss after many attempts. Do you preserve the data which has been standardized? Can you send the fold 1  to my e-mail<EMAIL_ADDRESS>? Thank a lot!


Not able to receive remote notification on first launch on iOS

I'm using version 1.0.4 of the plugin. I'm testing it with silent notification.
iOS platform: ios 4.4.0
Cordova version: 7.1.0
This reminds me of a previous problem where previously when I was usingcordova-plugin-local-notifications. Sometimes the Firebase plugin seem to wrest control from it, so local notification action button does not work.
The problem being that more than one plugin is trying to be delegate for UNUserNotificationCenter. That author has since fixed issue from his end. He saves a previous delegate, if any, so if the notification is not a local one, he will send one over to the previous delegate.
But it doesn't look like UNUserNotificationCenterDelegate is the issue here. userNotificationCenter:willPresentNotification:withCompletionHandler: is not involved, whether the notification was received or not.

Closing due to inactivity.  Please reopen if this is still an issue with v2 of the plugin.


Fix clippy because of MSV change

This fixes the clippy warnings from the MSV changes in #526. Should have added this to #526.

Eeuuhm, not sure why CI is failing here (only in nightly) :open_mouth: @Dirbaio any idea here?

It has something to do with the features not set correctly for ethernet_address I think, but it's strange that the stable compiler version is not throwing an error about this.

bors r+

goddamnit
bors r+

bors enforces master is always green: it merges on a staging branch, runs tests on the merge result, and only then merges the PR. That'll avoid what happened with the MSRV bump, which somehow??? made master red even though the PR was green...

CI was probably using the old configuration... Once merged into master, CI is fired again, because of a new commit, and there the updated config was used, resulting in red probably. Honestly, this should not happen...

bors try

bors r+

bors r+

bors r+


buildTree() with Laravel relations - using dimsav translation

Hi,
I am using baum on Page model (pages table) and dimsav Laravel Translations and have a problem, because I have a child table (page_translations) which has a foreign key in (pages.id). If I try to buildTree() with data including translations I get error "type":"ErrorException","message":"preg_replace(): Parameter mismatch, pattern is a string while replacement is an array","file":"C:\wamp\www\aurelius_angular\vendor\laravel\framework\src\Illuminate\Support\helpers.php","line":885
If I try to buildTree without translations, it works.
Thanks!

Hi, am trying to do exactly the same.
Baum has an issue with this, which you can read about here; https://github.com/dimsav/laravel-translatable/issues/25. Looks like Baum saves the data before the translations can be handed over.
You probably saw that yoursef - did you ever find a solution to this?

Sorry for the late reply.
There's no bug/issue in Baum. This package just happens to hook on save events and perform several actions. Maybe we can find a way to make the packages compatible... What should be done differently for translatable to work?

thanks for getting back on this. I was rephrasing freekmurze calling it a "problem", no offense intended.
Freekmurzes fix (implement a service that calls up the translator before the saving event) from the same thread workes fine for me. It is, of course, a hack, My lack of skills regarding PHP preclude me from making any suggestions on how to find a better solution, though.
Again, thanks for your replies and work!

No worries. No offense taken ;).
It is indeed a problem, but it's just not a bug on neither package side. We just handle "saves" differently and Baum happens to freshen the model instance after saving so it keeps the Nested Set indices current (because the update operation when moving, operates on SQL level) and, because of that, there's nothing for translatable to save.
I've commented on this issue on the translatable project as well: dimsav/laravel-translatable#25. Maybe I can think of something to make the packages compatible.


Compilation Error in Indigo 1.11.20

When I run catkin_make, I got following:
ExpressionFilter.cpp:56:88: error: no matching function for call to ‘grid_map::SlidingWindowMathExpressionFilter<grid_map::GridMap>::getParam(std::string, bool&)’
if (!FilterBase<T>::getParam(std::string("compute_empty_cells"), isComputeEmptyCells_)) {
                                                                                ^
/home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_filters/src/SlidingWindowMathExpressionFilter.cpp:56:88: note: candidates are:
In file included from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_filters/include/grid_map_filters/SlidingWindowMathExpressionFilter.hpp:15:0,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_filters/src/SlidingWindowMathExpressionFilter.cpp:9:
opt/ros/indigo/include/filters/filter_base.h:121:8: note: bool filters::FilterBase<T>::getParam(const string&, std::string&) [with T = grid_map::GridMap; std::string = std::basic_string<char>]
   bool getParam(const std::string& name, std::string& value)
...

My ros version is Indigo 1.11.20.
It seems like the filter_base.h file in Indigo 1.11.20 have no override function for getParam(string&, bool ).
Also I found filter_base.h has getParam(string&, bool ) in Indigo 1.11.21 on my friend's computer, so should I build this pakage in higher Indigo version like 1.11.21?

Yes, you should update to the newest version of Indigo. Alternatively, you can clone an older release (e.g. https://github.com/ethz-asl/grid_map/releases/tag/1.5.2) which does not include the latest changes for grid map filters. Let me know if this resolve your issue.

I clone the older release 1.5.2，and it works on Indigo 1.11.20!
Thank you for your answer, later I'll try the newest grid_map version on Indigo 1.11.21.
By the way, do you know how to update Indigo version? I found something on How do I update ROS?, but I haven't tried it yet.Is this tutorial right?

Ok great, looks good.

Ok great, looks good.

wait for a moment, I got a new problem.
I clone the older release 1.5.2，and it works on Indigo 1.11.20 and Indigo 1.11.21!
Then I tried the newest grid_map version on Indigo 1.11.21, and I got new error:
In file included from /opt/ros/indigo/include/filters/filter_chain.h:35:0,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/include/grid_map_demos/FiltersDemo.hpp:14,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/src/filters_demo_node.cpp:9:
/opt/ros/indigo/include/pluginlib/class_loader.h:51:21: error: expected type-specifier
   using UniquePtr = class_loader::ClassLoader::UniquePtr<T>;
                     ^
In file included from /opt/ros/indigo/include/filters/filter_chain.h:35:0,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/include/grid_map_demos/FiltersDemo.hpp:14,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/src/filters_demo_node.cpp:9:
/opt/ros/indigo/include/pluginlib/class_loader.h:112:9: error: ‘UniquePtr’ does not name a type
         UniquePtr<T> createUniqueInstance(const std::string& lookup_name);
         ^
In file included from /opt/ros/indigo/include/pluginlib/class_loader.h:323:0,
                 from /opt/ros/indigo/include/filters/filter_chain.h:35,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/include/grid_map_demos/FiltersDemo.hpp:14,
                 from /home/cutcat/catkin_ws_hujun/src/grid_map/grid_map_demos/src/filters_demo_node.cpp:9:
/opt/ros/indigo/include/pluginlib/class_loader_imp.h:157:3: error: ‘UniquePtr’ does not name a type
   UniquePtr<T> ClassLoader<T>::createUniqueInstance(const std::string& lookup_name)
   ^

It seems like ros source code class_loader.h have some problem.


rename mutations;add remove_project mutation

resolves #1512

natural mutation names (avoid yodaspeak)
add remove_project mutation
lock and unlock are replaced by set_locked,true|false for consistency (you win @mietcls)

before this is put in production:

update gitbook docs
update biblio manual

When I test with a faulty operation on line 1, the error says it could not process the last line instead of the first one:

Error handling for locking does not return the "locked value must be 'true' or 'false'" error

Now and then I get this error after trying to process, not sure why:

@mietcls replaced by #1539 (also contains all the changes of this pr)


fetchxml Documentation Location

Great to see that the fetchxml tag is documented, but wouldn't it make more sense to put it on the Common Data Service entity tags page (https://docs.microsoft.com/en-us/powerapps/maker/portals/liquid/portals-entity-tags)?

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

ID: 0220f6a2-1624-e4fa-3ae9-783bc33125c8
Version Independent ID: 062d3f8e-b586-9840-ca4f-91697b7da89b
Content: Use template tags for a portal - Power Apps
Content Source: powerapps-docs/maker/portals/liquid/template-tags.md
Service: powerapps
GitHub Login: @tapanm-MSFT
Microsoft Alias: tapanm

Thank you for reaching out. This article documents template tags and Common Data Service entity tags are also linked in the See also section.


[EMB-186] Add tags-widget component

Purpose
Add a tags-widget component to encapsulate functionality and styles for tags UI.
Summary of Changes
Added

Components:

tags-widget - you know, for tags

Transforms:

fixstringarray - similar to fixstring transform (unencodes special characters), but for string arrays

Tests:

tags-widget component integration test

Changed

Models:

node - use fixstringarray transform for tags attribute
file - use fixstringarray transform for tags attribute

Components:

node-card

use tags-widget component instead of ember-tag-input directly
encodeURIComponent(tag) when constructing tags search url

Routes:

guid-file - use tags-widget component instead of ember-tag-input directly

Side Effects
Should be none.
Feature Flags
n/a
QA Notes
Please test tags UI on quick files file detail and registrations tab.
Ticket
https://openscience.atlassian.net/browse/EMB-186
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

tags-widget - you know, for tags

⭕

Pull Request Test Coverage Report for Build 1580

31 of 34 (91.18%)  changed or added relevant lines in 4 files are covered.
17 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.2%) to 66.582%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/models/node.ts
0
1
0.0%

lib/osf-components/addon/components/tags-widget/component.ts
28
30
93.33%

Files with Coverage Reduction
New Missed Lines
%

app/guid-file/controller.ts
17
41.73%

Totals

Change from base Build 1579:
0.2%

Covered Lines:
3208

Relevant Lines:
4449

💛  - Coveralls


Add recipe for Raspberry Pi 4

This adds a basic recipe for the RPi4.
(For unknown reasons the serial console output gets garbled once the kernel starts up, but the system starts and runs successfully.)

Hi andhe:
I just tried your recipe for Raspberry Pi 4 on real hardware.  The firmware booted but U-boot started looking for a network to boot from (pxeboot/bootp).  I'm guessing it didn't find it's root file system.  It DID get an IP from my DHCP server at least.  I verified that the UUID matched between the root partition you have on your "cmdline" with what is on the actual partition.  Also once U-boot timed out to a "U-Boot>" prompt, my USB keyboard was not detected so I could not issue commands without possibly connecting up a serial device to the proper I/O pins.
Looking forward for this to work as it looks like a simplified implementation to boot Debian.

I have a working recipe based on Apertis (which is derivative from Debian).
Please let me to return from vacations next week to proceed with this MR.
At the first sight the proposed recipe in MR have some issues -- I'll check it later with real HW test.
For example: U-Boot must have rpi64 target -- this allows to boot RPi3 and RPi4 with the single image. I have all needed patches and will  push those changes to Debian's U-boot package.

Thanks for your work and reply.
I proceeded with starting over using debootstrap then adding the Ubuntu firmware/bootloader to it to get a booting debian on my RPI-4. I discovered your image runs Sid (unstable), and my application would prefer Buster (Stable) anyway. In fact I just booted and still using your 5.7.x kernel + modules and I get no sound devices (either analog or HDMI) for some reason so shortly I will also try Ubuntu's kernel (or possibly even Manjaro's) and see if that works any better.
Also your image booted into an image that was not as configured as I'm accustomed to debootstrap leaving for me (are you using a simpler "variant" mode?), so it left me struggling through getting networking and further configuration without even a text editor, or "net-tools" installed! It also did the combined /bin /sbin /lib with /usr/bin /usr/sbin /usr/lib mode that I don't think is too appropriate for the "full sized" installation I'm planning. Just letting you know in case all this is not what you are planning either.
Thanks for the experience anyway as this was my first introduction to Debian "recipes", which I thought was interesting how it then ran it in a qemu instance, which I did not know if I could log into and monitor it's actions/progress or not. (I've never used qemu either). In fact it has been years since I ever played around with u-boot as well, so I'm pretty "over my head" with most of this, but did get my Debian Arm64 "Buster" running on my RPI-4 at least, just need to get sound. I also don't think it is finding the Wifi/BT either (I don't care for this application), so might look into why not as well.
 On Wednesday, July 15, 2020, 03:27:53 AM MDT, Denis Pynkin<EMAIL_ADDRESS>wrote:

I have a working recipe based on Apertis (which is derivative from Debian).
Please let me to return from vacations next week to proceed with this MR.
At the first sight the proposed recipe in MR have some issues -- I'll check it later with real HW test.
For example: U-Boot must have rpi64 target -- this allows to boot RPi3 and RPi4 with the single image. I have all needed patches and will push those changes to Debian's U-boot package.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Just drop the link to bug&MR with unified U-Boot for RPi 3 and 4: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966078

Hi @d4s and thanks for looking into this MR.

At the first sight the proposed recipe in MR have some issues -- I'll check it later with real HW test.

Works for me (on real hardware). If you spot any issues, then please just mention what/where.

For example: U-Boot must have rpi64 target -- this allows to boot RPi3 and RPi4 with the single image. I have all needed patches and will push those changes to Debian's U-boot package.

There has previously not been any interest in unifying the rpi3b and rpi3b+ recipes in the debos-recipes repo, so I find it quite peculiar that unifying rpi3 and rpi4 is suddently a blocker....

@andhe sorry for a long silence. Please check https://github.com/go-debos/debos-recipes/pull/19
I want to know your opinion about it. Tested on RPi 3 and 4.

This is obsolete by #19 so closing....


lnd segfaults when I run restorechanbackup

Background
I've been having an issue with a bad channel since February. See my comments in #2582. For a while I was unable to run lnd any more - it would crash every time I started it, but I worked around that by blocking the IP of the peer on the other end of the bad channel at the firewall level.
Then yesterday I noticed I was unable to make a particular payment using my node. I tried 10 different routes and they all failed. I hadn't updated lnd from git for a while, so tried that. After updating I was unable to run lnd. It was failing with the same error as in #2582, even though the IP address was still blocked on the firewall. Luckily I had kept a backup of the full .lnd folder from just before updating lnd, so was able to rebuild the old code (commit 3a19afe4) and get lnd running again.
I was advised on the slack that I should shut down all my existing channels and start fresh, to avoid anyone having to mess about with the db to fix this bug, so that's what I did. I've closed all the channels except the broken one.
I tried exporting backup data from the broken channel, making a new node with the same wallet seed phrase and importing it there, but that causes the new lnd node to crash. I tried again, this time waiting a few hours for the new node to scan the whole blockchain to get all the onchain transactions into its db, but it made no difference; the restorechanbackup still crashes lnd.
On the old node I ran:
$ lncli exportchanbackup --chan_point=067119f4d38dec2d15fb1e1fc88176fc0504801245f11d5bd74371e137c2502c:0
{
	"chan_point": "067119f4d38dec2d15fb1e1fc88176fc0504801245f11d5bd74371e137c2502c:0",
	"chan_backup": "b99b0726943f926a8a2aa431cf4b873005bd440f34d49a17bba4aae451aa1fe11ca7ca84c2a51cf440158dbfe16fcaa77cabbc4242afdfe14a4567819123bdb560055d5af97e879d1fccc4ffea2d953746475c88c004f8d759c24e61c7ae667b4619a7707c56cebf10ecdfa4d766a25cda73571c7c66da694fb114e0c1f77c48d9e92dd19b22eb9544d7e3e2bd2bb7afc8128dbd0ad135319a2448cd43345fc15b4b69fac430243f1616f3ba0a4a8911e9c51a603fbbd7405f3b01eb02e20d1b13dfbe8f99bab9604a0832bbc7c990905351267503518b6707f8c95e1e7655f4d5340530cdd6999c8ab21f33084afcb7fe9d7854783fb0a028146acfc2ec3658601daf802fb7fef2ae1a1aa0ef7041d547299e3e2c1655c9948dcecfb468cccbdfd05a11c9906b6542a6dfde9ac0613994513fedc4c67a71e7864659cc6148bbeb00f83552296706aa6d543c95c61a45912fe0ba787b59bdf19c4f8253ade11e58050ac5a7241a6d56982142658fad41992948e8619731b235fd206fa669938daeeda2c4ca5bdab6301170970714e80cc3b4aae85e96394830b57c2006b9eef078df2e676308a4923bb6a419341269abf93bac2c6a"
}

then on the new node:
$ lncli verifychanbackup --single_backup=b99b0726943f926a8a2aa431cf4b873005bd440f34d49a17bba4aae451aa1fe11ca7ca84c2a51cf440158dbfe16fcaa77cabbc4242afdfe14a4567819123bdb560055d5af97e879d1fccc4ffea2d953746475c88c004f8d759c24e61c7ae667b4619a7707c56cebf10ecdfa4d766a25cda73571c7c66da694fb114e0c1f77c48d9e92dd19b22eb9544d7e3e2bd2bb7afc8128dbd0ad135319a2448cd43345fc15b4b69fac430243f1616f3ba0a4a8911e9c51a603fbbd7405f3b01eb02e20d1b13dfbe8f99bab9604a0832bbc7c990905351267503518b6707f8c95e1e7655f4d5340530cdd6999c8ab21f33084afcb7fe9d7854783fb0a028146acfc2ec3658601daf802fb7fef2ae1a1aa0ef7041d547299e3e2c1655c9948dcecfb468cccbdfd05a11c9906b6542a6dfde9ac0613994513fedc4c67a71e7864659cc6148bbeb00f83552296706aa6d543c95c61a45912fe0ba787b59bdf19c4f8253ade11e58050ac5a7241a6d56982142658fad41992948e8619731b235fd206fa669938daeeda2c4ca5bdab6301170970714e80cc3b4aae85e96394830b57c2006b9eef078df2e676308a4923bb6a419341269abf93bac2c6a
{

}
$ lncli restorechanbackup --single_backup=b99b0726943f926a8a2aa431cf4b873005bd440f34d49a17bba4aae451aa1fe11ca7ca84c2a51cf440158dbfe16fcaa77cabbc4242afdfe14a4567819123bdb560055d5af97e879d1fccc4ffea2d953746475c88c004f8d759c24e61c7ae667b4619a7707c56cebf10ecdfa4d766a25cda73571c7c66da694fb114e0c1f77c48d9e92dd19b22eb9544d7e3e2bd2bb7afc8128dbd0ad135319a2448cd43345fc15b4b69fac430243f1616f3ba0a4a8911e9c51a603fbbd7405f3b01eb02e20d1b13dfbe8f99bab9604a0832bbc7c990905351267503518b6707f8c95e1e7655f4d5340530cdd6999c8ab21f33084afcb7fe9d7854783fb0a028146acfc2ec3658601daf802fb7fef2ae1a1aa0ef7041d547299e3e2c1655c9948dcecfb468cccbdfd05a11c9906b6542a6dfde9ac0613994513fedc4c67a71e7864659cc6148bbeb00f83552296706aa6d543c95c61a45912fe0ba787b59bdf19c4f8253ade11e58050ac5a7241a6d56982142658fad41992948e8619731b235fd206fa669938daeeda2c4ca5bdab6301170970714e80cc3b4aae85e96394830b57c2006b9eef078df2e676308a4923bb6a419341269abf93bac2c6a
[lncli] unable to restore chan backups: rpc error: code = Unavailable desc = transport is closing
$

and at that point lnd is dead:
2019-06-09 23:26:23.864 [INF] CRTR: New channel discovered! Link connects<PHONE_NUMBER>022044d9bdb73ca51af267c5f67cf76095b4c6275f1162eb422fed68 and 039ceed5a1c064a36f71dcfc300fa622ef11a879a7a4e7c8b8fd328250b74c6855 with ChannelPoint(f1786980684b21374969a193d0b49412b8ff279127d88b6f5b136dd2af2bb8cc:1): chan_id=613948601342689281, capacity=0.0177402 BTC
2019-06-09 23:26:24.014 [INF] CRTR: Updated vertex data for node=039ceed5a1c064a36f71dcfc300fa622ef11a879a7a4e7c8b8fd328250b74c6855
2019-06-09 23:26:24.254 [INF] CRTR: New channel discovered! Link connects 027cf99e95e346897a6f88212d5240fa790e3b4c97581bcffa354de10128998ce7 and 02c287d1be9c9fa13d4ded0b0432b7e2367b1b20d822ab76546c4bb67cac1bc6e1 with ChannelPoint(940f1297a29c45f309d3a46e1d83b9eaf91b2324e47fa1d08fab434b58ab7e2d:1): chan_id=613948601396887553, capacity=0.00629808 BTC
2019-06-09 23:26:24.740 [INF] LTND: Inserting 1 SCB channel shells into DB
2019-06-09 23:26:24.894 [INF] CRTR: New channel discovered! Link connects 032679fec1213e5b0a23e066c019d7b991b95c6e4d28806b9ebd1362f9e32775cf and 03c44a3fef1637aae26c96bbe932baf5094b6f48a060d8944bd32d4f67032cc027 with ChannelPoint(e838784d32d818763a383ad8726788f969ad1169fbe0079e66de424afb788d45:1): chan_id=613949700886167553, capacity=0.005 BTC
2019-06-09 23:26:24.994 [INF] CRTR: New channel discovered! Link connects 0377c9f9105f3decdd06962f164001982de9f26a28b1f21a1a9ebcc160d13e6574 and 03b0318fecc7e8165c49053a944e5ceb9d4feb0d08a5db78794d9230c8c8193513 with ChannelPoint(ef24e5cee7a0711e05737d4d174b01619e8abf4cdbea67bef28837b8a190865b:0): chan_id=613950800305520640, capacity=0.005 BTC
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x9c17bb]

goroutine 3342 [running]:
github.com/lightningnetwork/lnd/channeldb.(*DB).RestoreChannelShells.func1(0xc010b0e0e0, 0x127d4e0, 0xc010b0e0e0)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/channeldb/db.go:923 +0xcb
github.com/coreos/bbolt.(*DB).Update(0xc00001a000, 0xc001f89040, 0x0, 0x0)
	/home/light/gocode/pkg/mod/github.com/coreos/bbolt@v1.3.2/db.go:688 +0x90
github.com/lightningnetwork/lnd/channeldb.(*DB).RestoreChannelShells(0xc00000c260, 0xc0017c4110, 0x1, 0x1, 0x0, 0x0)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/channeldb/db.go:921 +0x130
github.com/lightningnetwork/lnd.(*chanDBRestorer).RestoreChansFromSingles(0xc011030d60, 0xc000aca600, 0x1, 0x1, 0x1, 0x1)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/chanrestore.go:129 +0x2a4
github.com/lightningnetwork/lnd/chanbackup.Recover(0xc000aca180, 0x1, 0x1, 0x1388620, 0xc011030d60, 0x1388680, 0xc00001a600, 0x1, 0x0)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/chanbackup/recover.go:49 +0x1ff
github.com/lightningnetwork/lnd/chanbackup.UnpackAndRecoverSingles(0xc011030d80, 0x1, 0x1, 0x7fc1d1adcbc0, 0xc0004ac960, 0x1388620, 0xc011030d60, 0x1388680, 0xc00001a600, 0xc012546240, ...)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/chanbackup/recover.go:95 +0xd9
github.com/lightningnetwork/lnd.(*rpcServer).RestoreChannelBackups(0xc0002460a0, 0x1395300, 0xc012cdca80, 0xc012cdcab0, 0xc0002460a0, 0xc011030aa0, 0xc000276d20)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/rpcserver.go:4825 +0x2fd
github.com/lightningnetwork/lnd/lnrpc._Lightning_RestoreChannelBackups_Handler.func1(0x1395300, 0xc012cdca80, 0x1086720, 0xc012cdcab0, 0x1, 0x1, 0x0, 0x0)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/lnrpc/rpc.pb.go:11385 +0x89
github.com/lightningnetwork/lnd/macaroons.(*Service).UnaryServerInterceptor.func1(0x1395300, 0xc012cdca80, 0x1086720, 0xc012cdcab0, 0xc011030a80, 0xc011030aa0, 0xf7e8c0, 0x1c67b28, 0x10d29c0, 0xc01296c100)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/macaroons/service.go:125 +0x153
github.com/lightningnetwork/lnd/lnrpc._Lightning_RestoreChannelBackups_Handler(0x10f5860, 0xc0002460a0, 0x1395300, 0xc012cdca80, 0xc0002f7180, 0xc010a780e0, 0x0, 0x0, 0xc0126da1c0, 0x1be)
	/home/light/gocode/src/github.com/lightningnetwork/lnd/lnrpc/rpc.pb.go:11387 +0x158
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004bb080, 0x139cd00, 0xc000aca000, 0xc01296c100, 0xc010a7c210, 0x1c22520, 0x0, 0x0, 0x0)
	/home/light/gocode/pkg/mod/google.golang.org/grpc@v1.18.0/server.go:966 +0x4a2
google.golang.org/grpc.(*Server).handleStream(0xc0004bb080, 0x139cd00, 0xc000aca000, 0xc01296c100, 0x0)
	/home/light/gocode/pkg/mod/google.golang.org/grpc@v1.18.0/server.go:1245 +0xd58
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc012d6c450, 0xc0004bb080, 0x139cd00, 0xc000aca000, 0xc01296c100)
	/home/light/gocode/pkg/mod/google.golang.org/grpc@v1.18.0/server.go:685 +0x9f
created by google.golang.org/grpc.(*Server).serveStreams.func1
	/home/light/gocode/pkg/mod/google.golang.org/grpc@v1.18.0/server.go:683 +0xa1

Your environment

version of lnd: old node: commit 3a19afe4, new node: commit e45d4d70
which operating system: Linux 4.9.0-7-amd64
version of btcd, bitcoind, or other backend: Bitcoin Core 0.17.0
any other relevant environment details

Is this reproducible? If you make a new clean lnd version, and then input the seed, later on using the restorechanbackup command, do you get the same result?

It's because when deriving the private key for the shachain root, no error is returned
https://github.com/lightningnetwork/lnd/blob/6a4179e2248236a8f2cb96c6a7fed095069915bb/chanrestore.go#L42-L45

Fixed by #3257

@Roasbeef > Is this reproducible? If you make a new clean lnd version, and then input the seed, later on using the restorechanbackup command, do you get the same result?
Yes. I just tried that with the v0.7.1-beta lnd and it no longer crashes.
Now it says this instead:
[lncli] unable to restore chan backups: rpc error: code = Unknown desc = unable to unpack single backups: unable to derive shachain root key: unable to derive private key

@dooglus in your case, how manny channels had been created for that node before it created a backup? More than 100k?

I really doubt it. I think I have only ever had 1 channel with that node.

When was this SCB created? Was it perhaps during one of the release candidates or from a node built on some intermediate master branch?


ptvo (create your own zigbee devices)

With PVTO (http://ptvo.info/zigbee-switch-configurable-firmware-router-199/) one can create firmware for CC2530 a.o. to make your own Zigbee devices.
MQTT messages from device
{"state_bottom_left":"OFF","linkquality":41,"state_bottom_right":"OFF","state_center":"OFF","device":{"ieeeAddr":"0x00124b001d44d12b","friendlyName":"ptvo","type":"Router","nwkAddr":18923,"manufId":4447,"manufName":"ptvo.info","powerSource":"Mains (single phase)","modelId":"ptvo.switch","hwVersion":1,"swBuildId":"unknown","dateCode":"2019-06-21","status":"online"}}
A new adapter/device would be nice to use this in domoticz

Just submitted pull request #193 with support for ptvo.switch.

Should be available in latest plugin version


SNPE approach for independent but non identical data

with the current update for i.i.d for SNPE, I have one question.
In the traditional SNPE, it only allows one dimension input
let say for each trial, I have a 2-d vector [x1, x2]
x1 and x2 are independent, but x1 ~ f(theta) and x2 ~ g(theta)
in this case, what should I do?
do I just make them to 1d and use previous approach ,
Or I use the new i.i.d. approach?

Hi,
In that case, just concatenate them into 1D and use SNPE as always.

thanks Michael


src: using ubi7/nodejs-10 as default image

Pull Request Test Coverage Report for Build 982

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.622%

Totals

Change from base Build 472:
0.0%

Covered Lines:
629

Relevant Lines:
654

💛  - Coveralls


Regression in structuring citations in Hebrew for APA 6th and 7th

Describe the bug:
Citations of APA related styles are displayed in Hebrew with extra spaces between authors' names/ within the version 3.0.0-alpha.2.
Which version of citeproc-java are you using?
1.0.1
Expected behavior
No extra spaces are expected between authors' names in APA style citations:
בת מרים, קרטון-בלום,  רות, & וייסבלאי,  גיל (2019). אהבה רחוקה הקיבוץ המאוחד
Actual behavior:
Once running citation in Hebrew, authors' names are separated by extra ampersands + last author's initial is missing, such as  :
, &., קרטון-בלום, &., & וייסבלאי, &. (2019). אהבה רחוקה הקיבוץ המאוחד.
CSL input
If applicable, add the input to citeproc-java (i.e. the CSL citation data in JSON)
CSL api object fields: {"id":"-GEN-qgsrkra87","type":"book","language":"heb","author":[{"family":"בת מרים","given":"יוכבד"},{"family":"קרטון-בלום","given":"רות"},{"family":"וייסבלאי","given":"גיל"}],"issued":{"date-parts":[[2019]]},"container-title":"","DOI":"","edition":"","ISBN":"","ISSN":"","issue":"","keyword":"ביוגרפיות ואוטוביוגרפיות ; ספרות, שירה ואומנויות ; שירה עברית","note":"","number-of-pages":"","page":"","page-first":"","PMID":"","publisher":"הקיבוץ המאוחד","publisher-place":"","section":"","title":"אהבה רחוקה","URL":"","volume":""}
Used style and locale
Apa7, Hebrew

Hi
We'd like to know when this issue is planned to be fixed and if additional information is required.
This iissue is a blocker us for upgrading to the version 3.0.x
Best Regards
Nili Natan


fix: revert deprecation of hops-config import

As discussed, we revert the deprecation for now until we have a better
alternative.
In the meantime we'll try to improve the performance of loading the
config via import/require.

Bors merge bot cheat sheet
We are using bors-ng to automate merging of our pull requests. The following table provides a summary of commands that are available to reviewers (members of this repository with push access) and delegates (in case of bors delegate+ or bors delegate=[list]).

Syntax
Description

bors merge
Run the test suite and push to master if it passes. Short for "reviewed: looks good."

bors merge-
Cancel an r+, r=, merge, or merge=

bors try
Run the test suite without pushing to master.

bors try-
Cancel a try

bors delegate+
Allow the pull request author to merge their changes.

bors delegate=[list]
Allow the listed users to r+ this pull request's changes.

bors retry
Run the previous command a second time.

This is a short collection of opinionated commands. For a full list of the commands read the bors reference.

bors merge


Add more debug logging to help debug issues in the future

This introduces two new debug logs that would be helpful for debugging https://github.com/gruntwork-io/terragrunt/issues/906:

Log the terragrunt version if TG_LOG=debug
Log the start of output retrieval for a dependency block

Going to merge this in given that this is pretty straightforward and will help with the current thread in #906.


add notifierHeader field in vmrule spec

after this request https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4088, add NotifierHeaders field in vmrules

Thanks for contribution!


Casablanca backend:  UnboundLocalError: local variable 'grid_data' referenced before assignment

Information

Qiskit Terra version: 'qiskit-terra': '0.16.0'
Python version: 3.7.8
Operating system: IBM Q experience

What is the current behavior?
When one assigns the ibmq_Casablanca backend and calls the instruction backend to take a look at the properties, in the error map tab one gets
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
/opt/conda/lib/python3.7/site-packages/qiskit/tools/jupyter/backend_monitor.py in detailed_map(backend)
    435                                                         align_items='center'))
    436     with error_widget:
--> 437         display(plot_error_map(backend, figsize=(11, 9), show_title=False))
    438     return error_widget
    439

/opt/conda/lib/python3.7/site-packages/qiskit/visualization/gate_map.py in plot_error_map(backend, figsize, show_title)
    516                   line_width=5,
    517                   plot_directed=directed,
--> 518                   ax=main_ax)
    519     main_ax.axis('off')
    520     main_ax.set_aspect(1)

/opt/conda/lib/python3.7/site-packages/qiskit/visualization/gate_map.py in plot_gate_map(backend, figsize, plot_directed, label_qubits, qubit_size, line_width, font_size, qubit_color, qubit_labels, line_color, font_color, ax)
    213             return fig
    214
--> 215     x_max = max([d[1] for d in grid_data])
    216     y_max = max([d[0] for d in grid_data])
    217     max_dim = max(x_max, y_max)

UnboundLocalError: local variable 'grid_data' referenced before assignment

Steps to reproduce the problem
In an IBM Q jupyter notebook execute first
%matplotlib inline
# Importing standard Qiskit libraries and configuring account
from qiskit import QuantumCircuit, execute, Aer, IBMQ
from qiskit.compiler import transpile, assemble
from qiskit.tools.jupyter import *
from qiskit.visualization import *
# Loading your IBM Q account(s)
provider = IBMQ.get_provider(hub='ibm-q-research', group='Your_name', project='main')

Then, set up the backend, and call it
backend = provider.backends(name = 'ibmq_casablanca')[0]
backend

What is the expected behavior?
A graph of the error map.
Suggested solutions
It is unclear to me correct it. It might be the case that the background information is incomplete

Actually, I'm quite sure this might be related to this other issue, marked as an enhancement.

Can confirm this is also an issue for me.


Update to latest release candidate docker container

I will test this PR with some full run and report back

Should have said that I have already test it by running pvacseq run stand-alone but also want to check in the pipeline context and look at more results.


Remove Tuple & Variant

It has been long time on my mind but now that Yojson 2.x is finally out, we can start looking at the next step, Yojson 3.0 (which I assume should be a fairly minor issue issue, given most consumers probably don't ever deal with  `Tuple or  `Variant).
The code itself is pretty self-explanatory, it mostly eliminates the TUPLE and VARIANT CPPO variables and then deletes some support code.
There might be more code to be deleted, like start_any_variant/start_any_tuple. I assume these might be used by atd (need to look into it) so I just removed the part that parses non-standard syntax but maybe it can be removed altogether, along with the unit test that covers it.
Closes #104

Is this going to kill ppx_deriving_yojson  for good? :)

@c-cube  I don't think it will break ppx_deriving_yojson too bad, as it encodes tuples as lists and variants as lists with the name of the constructor as first argument, if I remember correctly. Here's the code: https://github.com/ocaml-ppx/ppx_deriving_yojson/blob/61f2d63138ec1efea0a3fb4afa682f40497ec380/src/ppx_deriving_yojson.ml#L115-L148
The biggest (only?) issue will probably be Atd which uses Tuple and Variant, but I believe it would make sense in that case to adopt the same encoding strategy that ppx_deriving_yojson uses. Which has the advantage that the JSON it generates is standard-compliant and thus more interoperable with non-OCaml tools.

The biggest (only?) issue will probably be Atd which uses Tuple and Variant

I don't think it's a big issue, and it's a good move forward.
Atdgen will make its -j-std option the default, and the old default behavior that was supporting the experimental syntax for tuples and variants will be removed.

See https://github.com/ahrefs/atd/issues/412

@mjambon That's a great list, will be very handy!
I've been looking at the std variants and with the removal of tuple and variant the only non-standard thing seems to be the printing of floats (NaN, +Infinity, -Infinity). I see that atdgen is currently emitting both write_float(_prec) and write_std_float(_prec). Looking at atdgen it seems to be configurable (p.std) which variant it will use.
I'm thinking that as we're breaking compatibility anyway to become more JSON-compliant, might be sensible to bite the bullet and make the std variants the only option, thus failing to encode unrepresentable floats in JSON. WDYT?


docs: Fix markdown syntax in HTTP template doc

Signed-off-by: Yuan Tang<EMAIL_ADDRESS>Don't bother creating a PR until you've done this:

[x] Run make pre-commit -B to fix codegen, lint, and commit message problems.

Create your PR as a draft.

Your PR needs to pass the required checks before it can be approved. If the check is not required (e.g. E2E tests) it
does not need to pass.
Once required tests have passed, you can make it "Ready for review".
Say how how you tested your changes. If you changed the UI, attach screenshots.

Tips:

If changes were requested, and you've made them, then dismiss the review to get it looked at again.
Add you organization to USERS.md if you like.
You can ask for help!

This doc is almost completley re-written in #7303. To avoid unnecessary conflicts, could we close this?

Sure, I was not aware of it. Thanks.


Move the bench configuration to a file

This PR tries to move the bench configuration from hello.py to a file.

Load the same configuration for crictl driver in k8s environment.

Also, generate images for testing.
The generated images contain different IO patterns:

Lots of small files.
Small number of large files.
Lots of random size files.

This is a large PR that is hard to review...

This is a large PR that is hard to review...

I am sorry. I will divide this PR into several smaller PRs. 😆


Where to 𝐒𝐭𝐫𝐞𝐚𝐦𝐢𝐧𝐠]— Francis Ngannou vs Renan Ferreira Live 𝐒𝐭𝐫𝐞𝐚𝐦𝐬 in Canada, U.S., U.K. and Australia

They say what happens in Vegas stays in Vegas, but the results of the F1 Las Vegas Grand Prix will definitely follow these drivers for the rest of the 2024 season.
For just the second year, Formula 1 drivers will hit the Las Vegas Strip Circut for the Las Vegas GP. Winding through the streets of the Las Vegas strip, drivers will fly past icons of the city, including the Sphere, Caesars Palace, the Bellagio, and Paris Las Vegas.
The inaugural run of the Las Vegas Grand Prix was won by Max Verstappen, who is among the entries in today’s race and currently sits in first place in the overall F1 driver standings.
A weekend of practice, qualifying, and sprints has all led to this — the running of the 2024 Las Vegas Grand Prix (at a slightly unusual time on the east coast). Below, check out everything you need to know to tune in.
F1 Las Vegas Grand Prix date and time:
The 2024 Las Vegas Grand Prix begins at 1:00 a.m. ET tomorrow, November 24 (10:00 p.m. ET on November 23 in local Vegas time).
What channel is the Las Vegas Grand Prix on?
The United States Grand Prix is airing live on ESPN, so if you have cable or an antenna, all you have to do is flip over to ABC at 3:00 p.m. ET.
How to watch and stream the Las Vegas Grand Prix:
If you want to watch the US Grand Prix without cable, you’ll need a live TV streaming service that carries ESPN (these include Hulu + Live TV, DIRECTV Stream, and Sling Orange). You can also tune into it using ESPN+ for just $10.99/month.
How to watch the Las Vegas Grand Prix for free:
If you want to watch the Las Vegas Grand Prix for free, there are a few streaming options available with free trials for new users; we like DIRECTV Stream, which comes with five days free, before $86.98/month payments begin.
ESPN+ and Disney bundle:
If you want to save a few bucks every month by bundling some streaming services to watch the United States Grand Prix, consider the Disney Bundle. For just $16.99/month, you’ll get access to ESPN+, Disney+, and Hulu with ads, and for an additional $10/month, you can remove ads.

Closing this issue as spam.


add/update comments for word2vec_basic.py

refine comments and provide further references for curious reader

@Albert-Z-Guo  please sign CLA

OK. I have signed the CLA.

@aselle, @drpngx  Could you PTAL and approve.

Nagging Reviewers @aselle, @ebrevdo: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 15 days with no activity and the awaiting review label has been applied.


fix(rbac): simplify db logic

What does this pull request do:
Drop policy source.
What does this pull request fix:
https://issues.redhat.com/browse/RHIDP-1528

The only thing that does not happen is if I add a role to the CSV file that matches a legacy role in the database. In this scenario, the source stays as legacy.
Also, yarn tsc is failing because CSV_PERMISSION_FILE_AUTHOR is declared in the csv-file-watcher.test.ts but never used.

Fixed.


Update to dotnet core

If we want to migrate to dotnet core, to be able to support, for example, other plateform like requested in #758, we should do at least:

[x] replace the mock framework RhinoMocks by one compatible netstandard (why not http://nsubstitute.github.io/ )
[x] update StructureMap to a version compatible netstandard
[ ] Wait updates on some Microsoft.TeamFoundationServer.Client dependencies that seems not compatible netstandard/netcoreapp (should be verified)
[x] remove dependency to Registry that are only here to locate visualstudio for git tfs checkin ( #define NETFRAMEWORK )
[x] remove dependency to WinForm used in git tfs checkin ( #define !?! )
[x] change the way to log : Trace.Listeners no more exists

and perhaps more things...

Work was done in https://github.com/pmiossec/git-tfs/tree/dotnetcore_multiplateform
The work is stalled for the moment because Microsoft.TeamFoundationServer.Client 16 is in preview at the moment and is not compatible with dotnet core. So we will wait the release of the stable version to check it is compatible.
And also break all the TFS Api, so, as it look like, we will have to rewrite everything.

Based on preliminary testing, the release version 16.143.1 supports .NET Standard 2.0 and therefore .NET Core 2.0 or later. However, as called out by @pmiossec, there are breaking changes.

Based on preliminary testing, the release version 16.143.1 supports .NET Standard 2.0 and therefore .NET Core 2.0 or later. However, as called out by @pmiossec, there are breaking changes.

Someone from Microsoft stated this explicitly: https://github.com/MicrosoftDocs/vsts-docs/issues/4323#issuecomment-495695855


Add more one line for TDS/EY to items of list view

Closes #46. This PR adds extra line for TDS/EY to items of list view. The format of data was borrowed from the shot detail view. I considered that I should refactor something like shared helpers for calculating TDS/EY, but other values (e.g. ratio) are simply written, so I did nothing at this time.

Yeah, I know I have some duplication, but I think it's manageable atm. Better that than a wrong abstracion.
Thanks for your work, it's perfect!


Ctrl-C during install does not work on windows

On linux, ctrl-c works during install, albeit with a fatal error:
KeyboardInterrupt
Exception in thread Thread-1:
Fatal Python error: could not acquire lock for <_io.BufferedWriter name='<stderr>'> at interpreter shutdown, possibly due to daemon threads
Python runtime state: finalizing (tstate=0xcbb520)

Thread 0x00007fa8ad7f5700 (most recent call first):
  File "/usr/lib/python3.8/threading.py", line 1202 in invoke_excepthook
  File "/usr/lib/python3.8/threading.py", line 934 in _bootstrap_inner
  File "/usr/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007fa8b21eb740 (most recent call first):
<no Python frame>
Aborted

Due to the way that aqt uses multiprocessing to start multiple processes on windows (i.e. no fork, just starting multiple instances) means that ctrl-c does not terminate all the processes on windows, and results in aqt hanging after a certain point in the downloads. The processes respawn after you end them, so you will have to kill all of them at the same time in order to terminate them.
I recommend implementing something like this solution here to fix this:
https://stackoverflow.com/questions/11312525/catch-ctrlc-sigint-and-exit-multiprocesses-gracefully-in-python

@nikitalita does #337 works for you?

#337 is merged.


RAM initialization code violates pointer provenance

https://github.com/rust-embedded/cortex-m-rt/blob/96525a64197049d11cfc8cb5cc2c4dc9b5240e42/src/lib.rs#L939-L959
This code uses a pointer to a single u32, but writes an arbitrary amount of data beyond the u32. This is UB, as it violates the contract of ptr::offset, which is called by r0. Namely:

Both the starting and resulting pointer must be either in bounds or one byte past the end of the same allocated object. Note that in Rust, every (stack-allocated) variable is considered a separate allocated object.

Linking relevant issues so others can follow breadcrumbs:

https://github.com/betrusted-io/betrusted-rt/issues/1
https://github.com/iqlusioninc/usbarmory.rs/issues/74
https://github.com/rust-embedded/riscv-rt/issues/69
https://github.com/rust-embedded/msp430-rt/issues/13

We also need to reach out to tock-os, I'll open an issue there shortly.

Note relevant discussion: https://rust-lang.zulipchat.com/#narrow/stream/136281-t-lang.2Fwg-unsafe-code-guidelines/topic/The.20least.20incorrect.20init.20code.20.3A)

Copying @RalfJung's comment from that Zulip thread:

This question is indeed well outside the usual abstract machine model, so I find it hard to say much. It quite clearly violates the aliasing rules, but also in some sense it happens before the abstract machine is even initialized and the aliasing rules start making sense. A compiler barrier is strongly advised, is unfortunately all I can say -- sorry.

I'd say the most practical way to continue is thus:

Add compiler_fences to r0 (done in https://github.com/rust-embedded/r0/pull/25), publish that as 1.0.1. We might want to yank 1.0.0, but we won't yank/deprecate the whole r0 crate.
Land #301 anyways, because it results in better assembly than what LLVM generates.
Leave it to the maintainers of downstream -rt crates whether they think they need to do the initialization in assembly.

Note that I was talking about the "writing to statics without actually doing through the static" part in what you quote above.
The issue about out-of-bounds accesses is a separate one, for which I created a new UCG issue as this has come up before: https://github.com/rust-lang/unsafe-code-guidelines/issues/259.


Add classification type to more entity types

classificationType is only available on entity types than can clamp to ground (polygons, rectangles, etc), but it would great to see this for all types (boxes, polyline volumes, and others). It's possible from the Primitive API layer (Classification demo) and would be convenient to add to the entity API.
@bagnell do you know if there are any technical roadblocks to supporting this? It might be a good issue for @loshjawrence to check out during down time while getting asset pipeline development set up.

@lilleyse Are you sure this isn't already supported? It looks like in that Sandcastle example you linked to, ClassificationType is used for an EllipsoidGeometry:
var treeHighlight1 = scene.primitives.add(new Cesium.ClassificationPrimitive({
    geometryInstances : new Cesium.GeometryInstance({
        geometry : new Cesium.EllipsoidGeometry({
            radii : new Cesium.Cartesian3(3.25, 5.0, 4.0)
        }),
        modelMatrix : modelMatrix,
        attributes : {
            color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString('#F26419').withAlpha(0.5)),
            show : new Cesium.ShowGeometryInstanceAttribute(true)
        },
        id : 'volume 1'
    }),
    classificationType : Cesium.ClassificationType.CESIUM_3D_TILE
}));

@lilleyse we don't have the concept of a "Classification" at the entity level at all as far as I know.  We use GroundPrimitive for corridor, ellipse, polygon and rectangle and use Primitive for all other types.

@hpinkos all of the Entity XXXGraphics that can be clamped to ground have a classificationType property.  What @lilleyse is saying is that BoxGraphics and other volumes that don't clamp to ground should still have classificationType as well because they can classify 3D tilesets (as in the linked demo).

@mramato yeah, I get that, but we would want a way to determine when to use ClassificationPrimitive and when to use Primitive.  I guess it would just be when classificationType is defined?

I see where you're coming from now.  Yes we would probably have to use it depending on if it's defined or not.  Can ClassificationPrimitive batched?
This is probably a more complicated issue than @lilleyse had in mind for onramping.

This is probably a more complicated issue than @lilleyse had in mind for onramping.

Sounds like it. Thanks for the extra details @hpinkos @mramato.


UI bug

When the title text is wide, it has a Collision with editGithubButton

Your issue has been moved here.


:muscle: Do not use the deprecated denops#callback#remove() function

This function is deprecated now.
Use denops#callback#unregister() instead.

Thanks a lot


Public API?

Hey, Im working on a site to allow people across the world to trade elephpants and we would love to use the data you have if possible. Would you consider a public api? I have no problem building it if you are cool with it.

I hadn't thought about it before but I'm not opposed. Since the site is hosted statically there's a limit to what can be done easily. Is a full data set (like Colin added in #71) enough or will you need something more fine-grained?

What Colin mentioned in #71 would be perfect. In fact, since the elephpant data isn't changing often, I wouldnt need to hit the API endpoint more then once every 6 months to a year at the most.

@matthewtrask, if @philipsharp was up to it, do you think you could build an API on your end and then a commit hook could be added on this repo to "push" changes as they occur?

@cookieguru that sounds like a fantastic idea.

@matthewtrask You underestimate how much the data changes. It seems like there's a new elephpant every month!
I think we should build this into the site. I'm going to take a closer look at Colin's code and see if that will work for all of us.

I'm up for pitching in on this, we're also using the field guide as the definitive resource for https://elewant.com

This data is now available at: http://afieldguidetoelephpants.net/data/all.json


Fixed Broken Links in Documentation

While conducting research for the LFX Mentorship program, I discovered several links that were not functioning.
I have replaced them with what I believe are the correct ones, though I am not entirely sure. Further verification may be needed.

/assign @kevin-wangzefeng


General related question: One Database Config file per Module?

Would it be possible to assign a database connection to each module without writing them all into the array in the core config database file?

This is just laravel. Since you have access to the config class in a service provider (in your module) you can set config from there.


TapGesture not working when ItemsSource is set

I noticed some people are having troubles with adding TapGestureRecognizer to the carousel. I debuged my own problem to the fact that the TapGestureRecognizer works if the ItemsSource is null / not set.
My XAML:

            <cv:CarouselViewControl x:Name="carousel"

                ShowArrows="false"
                ShowIndicators="true"
                PositionSelected="Handle_PositionSelected"
                Scrolled="Handle_Scrolled"
                Orientation="Horizontal">

                <cv:CarouselViewControl.Behaviors>
                    <!--Autoscroll every 5 seconds-->
                    <behaviors:AutoscrollCarouselBehavior Delay="4000"/>
                </cv:CarouselViewControl.Behaviors>

                <cv:CarouselViewControl.GestureRecognizers>
                 <TapGestureRecognizer
                 Tapped="OnButtonTapped"
                 NumberOfTapsRequired="1">
                 </TapGestureRecognizer>
                </cv:CarouselViewControl.GestureRecognizers>

            </cv:CarouselViewControl>
        </StackLayout>

The CS behind the XAML:
        InitializeComponent();
        carousel.IsVisible = true;
        carousel.HeightRequest = 150;
        carousel.WidthRequest = 300;
        BindingContext = _vm = new SlideShowViewModel();
        carousel.ItemsSource = _vm.MyItemsSource;

The BindingContext is unchanged from Demo.
Since I am using the Carousel to display banners I need them to be clickable but cant see a way to do so. Read the related threads but nothing worked.

I am back! Releasing new version in the next 2 weeks. Running some tests.

I am adding support for TapGestureRecognizer in next release but tapped won't work. You will have to use a Command instead.


Define action displayed names in DataView

We changed to define action displayed names in DataView instead of each
individual views. This avoids the redifinition and inconsistencies of
action displayed names in different views.
Bug: http://b/205676296

Hey Vicky, thanks a lot for the change. I added one comment which should be fixed. Otherwise it looks good to me.
But I wanted to clarify myself. When I said I preferred string_view I meant only the definition of the constants. Now you have also changed all the interfaces to string_view and that could be a problem in the future because it doesn't all dynamic menu entries. If you keep string_view there, all menu entry strings need to come from some static storage (like constants). That's not a problem right now, but could be in the future when we want to introduce dynamic entries.

Hi Henning, sorry I misunderstand you suggestion. I found I need to convert std::string_view back to std::string each time when I use the action name in GetContextMenuWithGrouping.
I reverted the previous fixup and changed to:

only use string_view for the definition of constants
explicit construct to std::string in GetContextMenuWithGrouping.

Hey Vicky, thanks a lot for the change. I added one comment which should be fixed. Otherwise it looks good to me.
But I wanted to clarify myself. When I said I preferred string_view I meant only the definition of the constants. Now you have also changed all the interfaces to string_view and that could be a problem in the future because it doesn't all dynamic menu entries. If you keep string_view there, all menu entry strings need to come from some static storage (like constants). That's not a problem right now, but could be in the future when we want to introduce dynamic entries.

Hi Henning, sorry I misunderstand you suggestion. I found I need to convert std::string_view back to std::string each time when I use the action name in GetContextMenuWithGrouping.
I reverted the previous fixup and changed to:

only use string_view for the definition of constants
explicit construct to std::string in GetContextMenuWithGrouping.


Tab scrollbars are narrow and hard to use

I frequently find I have more tabs open for a given DB connection than will fit horizontally across the screen.  There is a horizontal scrollbar below the tabs for moving right and left but it is only about 2 pixels tall and very difficult to grab with the pointer.  I consistently end up grabbing a tab itself by mistake and dragging that tab to the right or left, and it's difficult to drop one back in the same order as before.
If the scrollbar were a few pixels taller, or popped up a "thumb" when rolled over, this would make grabbing the scrollbar easier.
The ctrl-PageUp and ctrl-PageDown shortcuts are helpful, but sometimes I would like to be able to see what's on the current tab while looking for another related tab.  I create tab "labels" by putting a SQL comment in the first line of each query editor, so I can quickly scan for variations of a query etc.
Related, the numbers displayed on the tabs (<>...#1, <>...#3, etc.) are not related to the shortcuts for jumping to a tab; that is, given the two tabs #1 and #3 typing ctrl+2 jumps to the tab labeled #3.  I understand the reason for this and am not asking for it to be changed, but it makes it difficult to use those shortcuts when the number of tabs scrolled off to the left is not known.  This is another reason I'd prefer to be able to grab the scrollbar.
Thanks for considering a solution to this.

Hi @bart-schaefer,
i don't know if you've noticed but you can scroll through the tabs either with gestures on the trackpad (usually two fingers to the right or left) or with the mouse wheel (scrolling up or down is equivalent to left or right).
Let me know if for some reason in your case you are unable or uncomfortable to use this solution.

Hi @Fabio286, thanks for the tip RE mouse wheel, my only issue with it is that I first have to click on a tab to move focus, which means losing my insert position in the editor.

What operating system are you using Antares on?
Because normally you don't have to click on the tabs to give them the focus.

Also, the scroll wheel doesn't always work.  Seems to fail if I have multiple different connections open?  But I'm not sure exactly when it goes wrong.

I will investigare 🕵


Caret position for input field is not set correctly in FF/IE11/Egde

Hi,
I saw the following issues (151) and (249).
Just in Chrome the position of the caret is correct - at the end of the text in the input.
In all other browsers (FF 50.0, IE11 and Egde), the caret is located at the beginning of the word.
You can check the problem here
Please, advise.
Thanks

Did you try editableOptions.activate= 'select';

Yes, but it make all text selected. I want that default behavior will stay as it and will same across all browsers.
In other words, I want to place the caret at the end of the string in the input.
Any other suggestions?
P.S.: Thanks for a quick response!!!

I think I found a fix, I just need to find some time to get it done.

this looks like it introduced a regression in chrome - didnt check other browsers. this.$editables[0].elem[0].text will always be undefined and therefore end = start = 0 even if there is an actual text value.

@rmannibucau what version of chrome are you using?  If I go to the demo site  in Chrome 56 (on a Mac), the caret is positioned to the end of the input.

Google Chrome	55.0.2883.87 (Build officiel) (64 bits)
Révision	ad0be09aa3ca814168d079b52825f6f80e22f0e8-refs/branch-heads/2883@{#723}
Système d'exploitation	Linux
JavaScript	V8 5.5.372.32
Flash	<IP_ADDRESS>
Agent utilisateur	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Ligne de commande	/usr/bin/google-chrome-stable --flag-switches-begin --flag-switches-end
It is in a "big" application so can be a side effect of other components or http usage which imply some latency or angular $timeout but point is text is undefined when evaluated by xeditable which leds to a caret at position 0 even if value is bound after. Wonder if xeditable should use $watch or something else

Can you provide a plunker or jsfiddle that shows your issue?
Or, if you find a fix that works for your application, please create a pull request.

Hi @ckosloski , here is a jsfiddle reproducing it on the mentionned environment: https://jsfiddle.net/u998qke7/

This looks like it's related to the use of e-single

happens for me without as well (which comfort me in the idea it is a timing issue related to binding)

The issue is due to the container being a  instead of an .  I will work on a fix for it this week.


Add support for dip length

dip is device independent pixels - logical units. 1dip = 1/96 of inch therefore on 96DPI display this will be one pixel. On high-dpi screens it will be resolved to larger number of physical pixels. For example: 2dip will take 3px on 120DPI screen. On printer 'dip' and 'px' units are equivalent.
Inspired by Sciter, see: https://github.com/c-smile/sciter-js-sdk/tree/main/docs/md/css

is this dip unit from some SVG spec?

Not from SVG spec,the dip is currently unique to Sciter, and I think it is better and more intuitive than pt.

Ok, so, my understanding is that Sciter has dip units, but does it generated SVG files with dip units in use? Are there any soft which generates or consumes SVG files with dip units?

Ha, as far as I know, no other software supports this unit, I just think this unit is very convenient to use, so it is recommended to support it :-)

PR was upated,please review again.

looks like the author is not interested in getting this PR merged, discarding.


An unknown error occurred.

I've been using this extension since I installed this software about a year ago. It was a core necessity to the software for me. Never had an issue with it, until I launched the app today to test out some simple code for the first time in a while. When I click the button that should have opened the preview, I get an error code popup in the bottom right reading "An unknown error has occurred. Please consult the log for details."
But I'm not sure what log it's talking about. If I open the terminal, none of the tabs have anything to say about this error. If I click the error itself, it doesn't result in any such log opening up.
The extension FAQ has a bit about manually navigating to the port links or something, but I also can't find that. I can open the terminal, but there is nothing anywhere within it that mentions ports.

In the extension FAQ, elsewhere is included a screenshot of a Ports menu. That simply does not exist on my end. I'm unsure if there's something I'm supposed to enable or some other extension I need to install to make that appear. In the "View" menu of the app, nothing seems to be labeled "Port" related that I could potentially unhide.
I've tried both using the current as well as the pre-release version of the extension. I did not voluntarily upgrade any software/extension versions, but it seems like something updated itself and potentially caused an issue that never existed before. I'm not sure what to do when the buttons I'm told to click simply don't exist, and the error popup is as unhelpful as they come.

I have a more savvy friend helping me (or attempting to), and they recommended I share this detail. There is no ports icon on the bottom toolbar (which is where it lives on THEIR version of the app), and right-clicking next to the terminal tab does not bring up anything fruitful either.

I have a unique curse where whenever I encounter a problem and need to troubleshoot it, the button I must click simply does not exist for no understandable reason :)

Welp, nevermind I guess. I used to be able to start a new file and get the live preview to work even if I never actually saved it; now, it turns out I need to save the file into the designated workspace that VSCode is focused on; once I do that, the live preview will function as normal for any files within that folder.
The port buttons still don't exist, and seemingly never have on my end 🤡 But at least the extension works now, which is all I care about.

Welp, nevermind I guess. I used to be able to start a new file and get the live preview to work even if I never actually saved it; now, it turns out I need to save the file into the designated workspace that VSCode is focused on; once I do that, the live preview will function as normal for any files within that folder.
The port buttons still don't exist, and seemingly never have on my end 🤡 But at least the extension works now, which is all I care about.

I'm having this exact problem, except that I can see the PORTS menu next to the TERMINAL tab. Live Preview was working fine a few days ago, and then all of a sudden, it just keeps giving me the same error that Daarka had. I tried restarting my computer, uninstalling and reinstalling the extension, switching to other versions of the extension, and I even installed VS Code Insiders version and tried Live Preview in that, but it always just gives me the same error:
An unknown error occurred. Please consult the log for more details.


Added Search Ability to the Guild Part

I used StyleCI this time, I think I did good? :D

Only users can use this endpoint, I just figured out, so it's still useful if you use a UserToken and put 'bot' => false into the discord options
I completely forgot to check if bots can use this endpoint before making this request lol

Should rename this PR